Forum Moderators: rogerd
Now I'm finishing up a simple PHP, MYSQL based facebook type application. It's very simple, allowing user's to create a profile, edit their profile, find friends, post comments on their friend's walls, upload a profile picture, and send private messages.
I've been looking at a lot of other site's source code lately, and have noticed that a lot of sites use code that is way beyond my comprehension. Gmail has a login form with about 20 hidden values and strange code I don't even begin to fathom.
In a few weeks, I'm beginning development on my first attempt at a commercially viable social networking type site. At first I felt that, while I was by no means a master web developer, I more than grasped the ability to create a simple version of a site like this like this. But with the complexity of code I'm seeing on so many other "real" sites out there, I'm wondering if I'm missing something. Is there some reason everybody is using this crazy complex code, or is it just another way to do it? I just want to know if there's still a bunch more I need to learn... or, is it enough if I can get the site to do what I need it to do, even with my elementary PHP skills.
Learn about common attack types like SQL injection, XSS, and so on. In my view a good grounding in security is the most essential skill in development. The worst thing is to call yourself a developer and then build (and sell) code that leaves websites vulnerable. But once you're confident in this area you can take the rest of it at your own pace, and learn things as you need them.
Don't worry about the complexity of the code you find on other people's sites. There's a lot of spaghetti javascript out there, for reasons best known to the site owners, but that doesn't make it the best solution.
I just wasn't sure if a lot of this stuff I'm seeing out there is super-optimized, and a site with 900,000 can only be supported by this sleak, crazy code. And if I tried to run my simple little php site with 900,000 people, it would crumble.
That is not even considering security... if you need to be secure then you have to basically double the complexity of your application since you now need to really build some rock solid code that checks every input and filters potential harmful strings, etc.
I've got a degree in Computer Engineering (12 years ago) and I am still learning things to this day... =)