/wdg/ - Web Development General

>Discord
discord.gg/wdg

>IRC Channel
#Sup Forumswdg @ irc.rizon.net
Web client: rizon.net/chat

>Learning material
codecademy.com/
bento.io/
programming-motherfucker.com/
github.com/vhf/free-programming-books/blob/master/free-programming-books.md
theodinproject.com/
freecodecamp.com/
w3schools.com/
developer.mozilla.org/
codewars.com/

>Useful Youtube channels
derekbanas
thenewboston
learncodeacademy
funfunfunction
computerphile
codingrainbow

>Frontend development
github.com/dypsilon/frontend-dev-bookmarks

>Backend development
en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
[Gist] backendDevelopmentBookmarks.md

>Useful tools
pastebin.com/q5nB1Npt/ (embed)
libraries.io/ - Discover new open source libraries, modules and frameworks and keep track of ones you depend upon.
developer.mozilla.org/en-US/docs/Web - Guides for HTML, CSS, JS, Web APIs & more.
programmableweb.com/ - List of public APIs

>NEET guide to web dev employment
pastebin.com/4YeJAUbT/ (embed)

>How to get started
pastebin.com/pDT82mQS (embed)
pastebin.com/AL6j7GEE (embed)

>cheap vps hosting in most western locations
lowendbox.com
digitalocean.com/
linode.com/
heroku.com/
leaseweb.com

Other urls found in this thread:

stackoverflow.com/questions/5200821/grasping-the-node-js-alternative-to-multithreading
localhost/css/main.css
imdb.com/title/tt3460252/business
coolors.co/app
github.com/jaxry/panorama-to-cubemap
twitter.com/NSFWRedditVideo

bump

second for php

What language should I learn first if I want to become a webdev? Apart from php, js, html and css.

Or should i just board the framework boat?

What's your goal? Work for someone?

What kind of job do you want?
High pay, less stable, less predictable, more learning?
Medium pay, mildly consistent, somewhat predictable, some regular learning?
Lower pay, most consistent, most predictable, least learning?

Short answer:
Check your local job searches for developpers.
It doesn't really matter that much t.b.h., start somewhere.

Long answer:
>js, html and css
Mandatory.

Then it depends:

>Node + React + React
If you really like JS and have a funky hair cut.

>php
If you want to go full LAMP stack (which is not a bad option IMHO).

>Ruby or Python
If you don't like php.

>Go
If you want to ride the latest hype train and finally want to come out of your closet.

>Java
If you want particularly long working days but get slightly more money.

>he doesn't run his own blog
enjoy minwagecuck status lmao

J A V A

Not him, but what would you recommend for the three options you listed?

I need help with HTML. Nowadays there are thousands of different frameworks, multiple browsers that thinks their implementation of rendering HTML is correct, and the introduction of HTML5 meant so many new stuff that it's almost hard to follow.

And since mobile is getting more and more popular there is a need to deal with responsive design.

It used to be so simple, where standards are followed by all browsers, and things just work. What happened?

>It used to be so simple, where standards are followed by all browsers
like when

>It used to be so simple, where standards are followed by all browsers

What am I reading here?
It exactly the other way arround..

15 years ago you had to try out half a dozen differnt browsers, you had the whole "w3c vs. whatwg" competition going on..

Today most things work for most browsers, even that terrible microshill thingy is finally capable to not crash things into oblivion.
Responsive webdesign is a breeze, even if you are not using the de facto standard (Bootstrap) there's so many small and nice libraries for that.

If you care about the somplete HTML5 stuff you are doing it wrong. Nobdy cares about some obscure features nobody wants, but the core of HTML5 works pretty well in every reasonable browser.

I know i will get a lot of shit for this question but ill shoot anyway

So i have an idea for website. Its really simple - you upload a pic, it is stored in a DB and later you get feedback o. It.

What would be thr easiest/best way to achieve this?

Catch is i have 0 experience in webdev but i am willing to learn and build it myself from scratch.

What lang/framework should i use?

I am currently a unix admin, so maybe python/django would be the best way to go?

Appreciate all answers

how do we fix CSS?

>So i have an idea for website.
>Its really simple
>Catch is i have 0 experience

Stop trying to treat it as anything more than a stylesheet~~~

just learn basic web technologies like html css js, then pick a web framework for the backend based on whatever language you're allready proficient with so you don't have to learn everything from scratch
also learn how to manage databases and sql if you don't already know

Webdev is the art of knowing 100 pieces, that are simple in themselves, but difficult because there are many things to know.

Yes, Python, Ruby or PHP might be a good start, since there are frameworks that keep a lot of the difficult stuff away from you.

But it won't be easy as first project, maybe consider a simple site first to get a rough idea.

>node + react + react
fyi he prob meant react plus redux

no he actually meant react + react + react

>Top paying
Most volatile are going to be working for startups, free-lance, and other places with lower job security. This would be using trendier and newer prototyping tools as well as older ones listed in later categories. I'd put React, Angular, Vue, Azure/AWS, GoLang into this category. Additionally one would have the ability to be adaptable in any project, ready to learn to use and leverage the advantages of a technology within 2 weeks of a project's start. Confidence is also a large part of being in this category, confidence in one's abilities and confidence in one's own risk tolerance.

>Medium
Medium will work for places with slightly more job security: consulting firms, contracting firms, larger startups with VC funding. Tech includes the following plus those listed in the next category: AngularJS/Ember/or Backbone, Ruby, MEAN Stack™, LESS/SASS, task runners like Gulp and Grunt, knowledge of how to leverage a common IDE like VS to use things like TFS or Git, basic knowledge of a content management system like Wordpress.

>Low
Low will work for consulting firms or contracting agencies with long-term (possibly government) contracts or at a larger business with a large development team. Back-end languages are king here: C#, .NET, Java, Python. Front-end tools will be the most stable and well established: jQuery, vanilla javascript, functional programming libraries like lodash/underscore. Databases are also king so SQL, basic database viewing tools, and basic understanding of database normalization are absolute musts.

Bootstrap
Can't struggle with css if you don't write any

Kek.

why do people drool over node.js when it is in javascript and therefore single threaded? isn't that a major issue for big projects?

Interesting point of view. Thanks for writing it all down.

Those repeating digits are absolutely justified, if I dare say so.

Nonblocking, asynchronous I/O.

Also if the raw CPU power is your bottleneck, you are good.

stackoverflow.com/questions/5200821/grasping-the-node-js-alternative-to-multithreading

anyone know here something about heuristic evaluation ? need some help with it .

I probably don't know about it.

Use more floats.

just curious what are the most common things you need to know to do unix-like system administration. it's my dream job.

you're going to need to know html/css and either python/django or PHP for what you're trying to make. for the database if you use something that uses SQL you should know a little bit about that but also you might need to know how relational databases actually work. IMO there's a huge meme about PHP being a shit language but they work hard to make it extremely compatible with MySQL.

you don't need to be an expert on any of these topics and you can really just learn as you go, i learned enough html+css, PHP, and SQL to be able to make a dynamic website that can store and retrieve database info in about 3 months of casual learning.

I don't understand why everyone shits on React. Coming from a traditional language background, working with ES6 + React was what finally made Javascript bearable.
Most available JS code (including tutorials) is completely unstructured and unreadable. Especially anything corrupted by JQuery's touch of shit. A more traditional approach to modularity is a huge improvement imo.

>I don't understand
You should have stopped there, thx

Thanks for great reply! Any resources you could point me to just how do i start building a website from scratch?

For unix admin i actually didnt need much, but i am working as junior admin still. Well you need to know mostly basics how fo navigate in linux but what you need more knowledge in is network basics and storage technologies basics.

Depending on how much you know about writing markup and scripting, Codecademy has tutorials for HTML, CSS, PHP, and SQL. If you want YouTube videos thenewboston has tutorials on all of those topics too. W3Schools has good readings on all of these topics as well and I often use them to get quick references if I forget how to do something. One textbook I read for the server-side scripting, database management and querying was "PHP and MySQL for Dynamic Web Sites" fourth edition by Larry Ullman. You can probably find a free copy somewhere.

If you've done any work with programming or scripting before it should be a breeze.

Good Luck. If you wan't to be a bro and refer me to some resources for unix sysadmin that'd be cool. I've been using debian for about a year now and im comfortable navigating and using the terminal as well as writing simple bash scripts, editing grub and fstab, automating backups, etc. if that helps you gauge where I'm at.

is there a better way of chaining events/functions?

function wordObjArrMaker(sentence) {
console.log(sentence);
let text = sentence.text;
let split = sentenceSplitter(text);
let etyObjArr = addEtymology(split);
let wnObjArr = addWn(etyObjArr);

return wnObjArr;
}

I meant to reply to your comment with this

add your methods as prototype to the type you get and transform to and and then do it like
return sentence.text
.mySentenceSplitter()
.myAddEtymology()
.myAddWn();

All memes aside

Nodejs or PHP?

Whatever you're more comfortable with/what suits the project best.

Anyone here working with incompetent partners or team members? A guy I'm working with does everything in the most retarded way.

He loads two different versions of jQuery then gets confused when there are compatibility issues. He even fucks up basic Bootstrap syntax in favor of his own hacky bullshit. I secretly despise him.

so im getting unable to stat error for my css file
>page wont load, is white
>when i open source and click on css link it shows file

i added file with


wtf is this shit

Cache?

man, im getting error in apache logs
[Tue Apr 11 19:12:16.575715 2017] [php7:error] [pid 572] [client ::1:39072] script '/.../apache/index.php' not found or unable to stat, referer: localhost/css/main.css

you have to be at least 18 years old to use this site

you have to be white to post on this site, you stupid nigger

nice looks much better, thanks

>Nodejs or PHP?

It depends on your assumptions about the server.

If you do not have administrative control of the server (for example, if it's a shared hosting account), then a node.js app is usually not feasible to deploy. PHP is more universally deployable.

A node.js web app requires the user to run a daemon continuously 24/7 to listen to the web port (usually port 80). But PHP code only runs whenever a HTTP request is received, so it doesn't require a daemon of its own -- Apache or Nginx takes care of running the daemon.

You can see this if you research shared hosting accounts. Pretty much 100% of them will offer PHP, but offering node.js is much less common.

None of this is a problem if you happen to know for a fact that everyone who will deploy the app will have full administrative control of the server. In that case, you select node.js vs PHP based on the merits of the language and/or library.

post main.css

Anything would work.

I would probably go angular with a PHP API.

You should be at least 18 years old prior to posting.

why do people still use share hosting when you can get a small vps for under 5$/m and do whatever you want with it
is it just so they don't have to handle the server administration part ?

No, which means I'm probably that guy.

This place has methods for every possible thing so anything I write is sent back with "Use the x method".

I rarely get to code. Everything is copy and paste for the most part. Sad life. Still pays double what my old job did so oh well.

Can anyone explain to me how webdevs test their stuff? Like how does one test emailing or subscription systems for example

How do I use variables from another functions without declaring them as global from outside of the function?

Probably a dumb question but google isn't helping.

you don't.
what are you trying to do?

For emailing, you send emails to yourself. For subscriptions, you give yourself the subscription and if you need to test expiration, you set the expire date to a past date.

Ah I see you've inherited my ex-colleague.
Say hello for me.

I have a function that creates a random value and stores it in a variable. Which is all in .onclick function so every time I click the DOM element it will create a new value.


function game() {

var gameChoice = Math.floor(Math.random() * colors.length);
gameArr.push(gameChoice);

console.log(gameArr);
}

If I try create the random value outside of the function the value will be randomly generate and stored only once and then there will be no new values. So the array will just output [1, 1, 1, 1, 1....].

If you're using one variable across multiple functions, you should put all the functions into a single scope (if we're talking about javascript, of course).

post a jsfiddle, I don't understand what you're trying to do.

>He even fucks up basic Bootstrap syntax in favor of his own hacky bullshit.
Why do people do this? I just don't get it. Here's a tool that makes 99.9% of things so much easier. But no, let's fuck all of it up because someone can't read basic documentation. jfc the shit that is tolerated in this industry

Actually I might've just figured it out. I forgot I'm storing my random values into a global array and I can just go from there. Thanks!

just make your onclick call this function, have function return your value, do whatever with value

>is it just so they don't have to handle the server administration part ?

You got it.

Shared hosting is for people whose skills are limited to: (1) uploading the PHP code via FTP, (2) unzipping it, and (3) reading the "README" file to figure out how to configure it with the right MySQL password.

The problem with VPS is that it often requires a certain breadth and depth of understanding to know how to solve problems. For example, on my last VPS, I had to do my own installs of PHP and MySQL, to get the versions that were compatible with my app. Obviously, it was a simple "apt-get", but I also needed to know that since my repository didn't have the right version of PHP, I had to set up a 3rd-party ppa to get PHP7 instead. After that, I had to do a little tweaking on file permissions in /var/www. Each problem like that has a straightforward solution, but if you sum up all the problems you're likely to encounter on a VPS, it can actually require a lot of experience to navigate them all without thinking that you've gotten yourself in over your head.

>tfw i'm a software dev and there's no way getting out of it other than getting fired

ye i used to think it was mainly a price point issue
when i see people getting their data stolen because they couldn't be arsed to set mongodb up with a password not to mention having a firewall i'm glad shared hosting is an option

non compete clause ?

>Can anyone explain to me how webdevs test their stuff?
They don't.

I am always so scared about security on vps tbqh considering ufw it's pretty much the only thing I """know"""

>non compete clause ?
see this anal attention to detail is not something i really want to handle on a day to day basis

wut?

.post(function(req, res) {
let wordObjArr = wordObjArrMaker(req.body);
res.json(wordObjArr);
});


wordObjArrMaker is a function that involves using promises to fetch data from an api and update an array. by defining wordObjArr as a variable, does that mean that all the promises have to fulfill before res.json sends it off? Because currently res.json is sending an array with null values

no, res.json will execute immediately.
if wordObjArrMaker returns a promise then you have to await it.

Anyone ever work with d3js?
Are there any prebuilt graphs you can do with it? Like, if I supply a dataset, can it graph an XY bar/line graph? If not, is there some alternative library that would be able to do that for me?
Complete noob to javascript.

hot tip: document.all gains a new life with object destructuring

document.getElementById("itemName").value = item.name;
document.getElementById("itemEnabled").checked = item.enabled;

const {itemName, itemEnabled} = document.all;
itemName.value = item.name;
itemEnabled.checked = item.enabled;

it works with .elements and .elements too

ChartJS

used it once
since i was not familiar with the library i merely adapted some examples from their gallery on github
it can pretty much do whatever you want

I'm using jQuery and prettify within my current project.

Is it better to host it on my server or use a cdn for it? Also if I decide to host it locally and publish the code via git, should I include those libaries?

Yeah, I might just stick with d3.
Now this one is a long shot but what the hell. What's a good way of scraping data from this particular page?
imdb.com/title/tt3460252/business
I'm mainly interested in getting the Weekend Gross data for USA.

Include them in your `package.json`, and gitignore the node_modules folder.

but document.all is non-standard and deprecated.

>Is it better to host it on my server or use a cdn for it?
i would host it, just make sure you use minified versions
a cdn might make pages load faster for users on other continents but whatever

>should I include those libaries?
if you use a package manager just include the config file that tells defines what libraries to donwlod, otherwise include them so people don't have to dl the right version and rename the files themselves

i just tried it in {chrome, firefox, edge} and it worked

that's standard and non-deprecated enough for me

I will host them, it's less of a hassle. Minified versions already in use.

It's a PHP project that only uses jQuery for some front-end stuff. So I'll include it probably.

Somehow my color selection sucks ass (css). Are there any good websites other than material.io that show colors that work good together?

coolors.co/app

color.adobe.com

Where should I start if I wanna start learning and building the back end aspects of the MEAN stack?

Also can someone red pill me on mongoDB, I can't really remember but I thought I read in the past that it's not all that great.

just look at html file, find the nodes containing the information you are interested in
load html document using your language of choice, either use html / xml parsing library for said language or just write an xsl script to print desired output using xpath to select the nodes you identified earlier

other option would be to use any of the third party sites offering imdb data though apis

Can someone give me a quick rundown on typescript?

Sure, when it came out it had problems, but it's actually pretty decent now.

it's type safe javascript

You should only really use mongoDB if
a.) You have to deal with humongous amounts of data and
b.) You don't need relational model.

Does a couple of things. Introduces types to javascript so that you can have your intellisense correct your typing mistakes. It also can serve as a pollyfill for ES6 stuff. So you can program with ES6 but it will transpile to something that will run on Explorer 9.

mongodb is super easy, just use it with mongoose. anything you store in mongo will be an object so think of it as similar to JSON

So, despite putting

Order Allow,Deny
Allow from (my ip address)

in the /usr/share/phpmyadmin folder,

other IP addresses can still access my website's phpmyadmin page. How do I prevent this senpaitachi?

do you actually need a web based mysql administration tool?
otherwise I'd just remove it completely, it's a security hole.

Okay, so I added

"Deny from all" in the middle of the order and the allow statements, but now even I cannot access phpmyadmin

>do you actually need a web based mysql administration tool?

I know how to use myphpadmin and I'd rather not change my work flow. My site is up and running and I'm pretty sure I wouldn't be able to get back to where I am at the moment with the site without my current workflow.

If you're working with a 3D engine, then you'll probably use cubemaps at some point. A cubemap is simply a 360° panoramic image of a scene, but this panorama is stored with six cube face textures that form a skybox in 3d space.

The problem is that most panoramas you find online (on sites like Flickr) aren't formatted as a cubemap, but are formatted with the equirectangular projection. So I finished writing a little tool which converts these panoramas to proper cubemaps.

Dunno if anyone's interested, but the code is here: github.com/jaxry/panorama-to-cubemap

It's a web app (link in the readme) so it uses the Canvas API to pack and unpack image data for manipulation. Some parts were surprisingly challenging to program and I can share some experiences if you'd like.