I want to develop ninja coding skills. Advice?

Garrett

music LOUD
Feb 4, 2008
3,847
131
0
Okay, I have what might be considered a weird request.

Would anybody take the time out and give me the rundown on the specific things (books, technologies, etc..) that I need to study so I can build that "next level shit"?
p2a7q.gif


A little background: I know HTML/CSS pretty well and Im getting better everyday as I code/tweak landers. I am able to code from scratch, and code out basic PHP. I'm guessing that the next things I need to get a firm handle on are PHP & MySQL, then Javascript and maybe a little Flash (in that order). I basically want to be able to implement things quickly and start developing legitimate web properties.

For example, I want to learn how to add the functionality so my visitors can leave their reviews on products... and perhaps have a ticker that weighs positive vs. negatives votes and echos it to the user.

I dont want to run around trying to learn web dev like a chicken with its head cut off (which has been ugly, but Im way past the hard part of getting acquainted with code, ftp, filepaths, and all the noob stuff).

So more specifically my questions are...

What books do I need to read to become a well rounded web developer, and in what order should I read them?
What noob projects should I build so I learn via practical applications (ie actually doing it)?

Sorry if this all sounds vague, but when I look at top 5,000 sites that I would possibly want to copy...errrrrrr...emulate, it's obvious that they are much more than standard WP blogs. I'm basically looking for advice on the things that matter. What should I study? What specific books are must-reads? I want to start devoting 2 hours per day to practicing the new things I'm learning.

Thanks guys. The rabbit hole is deep and Id like to find my way out one day :)
 


ive done just fine knowing PHP/MySQL and HTML/CSS

I barely know any JS and 0 about flash and I build sites all the time.

Technology is getting so easy these days with all kinds of pre made scripts and libs that you should be fine picking up some more PHP maybe.
 
Getting to know mysql well pays off. Virtually any interesting site that is more than a lander is gonna use mysql in interesting ways. Hit up tizag.com for php+mysql tutorials.
Above all, practice is what makes you good.
 
Virtually any interesting site that is more than a lander is gonna use mysql in interesting ways.

would you mind describing some of these things so I can keep them in mind as I learn?

...and thanks for the tizag link, that site rules

1239788892jizzinmypants.gif
 
So more specifically my questions are...

What books do I need to read to become a well rounded web developer, and in what order should I read them?
What noob projects should I build so I learn via practical applications (ie actually doing it)?

Sorry if this all sounds vague, but when I look at top 5,000 sites that I would possibly want to copy...errrrrrr...emulate, it's obvious that they are much more than standard WP blogs. I'm basically looking for advice on the things that matter. What should I study? What specific books are must-reads? I want to start devoting 2 hours per day to practicing the new things I'm learning.

Thanks guys. The rabbit hole is deep and Id like to find my way out one day :)

I'm about where you are. I'm real comfortable with HTML / CSS. Picked up some basic Flash along the way to add the occasional spice to a page. This can be quickly added to the arsenal. You can learn to have pics fading into each other in an afternoon without using action script. To a small degree a little JS knowledge was acquired as AJAX really intrigues me. I'm weak on PHP/MySQL and will need to stay this way for awhile. At this time it would just distract me from getting LP's up and tuned.

On sourcing the info I usually go the warez route and download every pdf in sight on the topic. Then carefully sift thru them and make a short list of the ones that can teach me something at my current skill level. No one book gets me thru. I'll have a favorite but when I get stuck will quickly be able check it in another pdf. To see it presented in a slightly different way usually helps me get my head around the problem. I also like having the pdf up on one screen and the code that I'm learning on a separate monitor. This keeps me rolling without the back and forth switching. I have a zillion bookmarked "how to's" and will be glad to share. However a quick G search usually finds me what I want quicker.
 
SELECT * FROM articles WHERE publishdate>beginning of month AND title LIKE "%acai%" LIMIT 5;

SELECT * FROM cities,states,dealers WHERE dealers.city=cities.id AND cities.state=state.id AND dealers.rating > 2 ORDER BY rating DESC;
 
I'm about the level of you Garrett. I bought a few "No Starch" books, "Wicked Cool PHP", "Webbots, Spider and Screen Scrapers", and one on OOP PHP. I then also bought some Rails shit, some Ruby Scripting shit and more PHP shit.

I then decided that i knew enough; i'm a marketer, not a programmer, so really i should outsource it, because as much as i enjoyed most of it, it wasn't ever going to speed up reaching my goals. It was perhaps moving me away from them.

I remember about a year ago building an amaxing LP generator script in PHP and MySQL and although the thing is un-fucking-believable (in my opinion ;) ), getting someone to do it for me, would have lead to nicer code and more time doing what earns me money.

It's nice to understand it and be able to mod the arse out of shit, but it can be so time consuming, that paying someone a few hundred dollars is better for my sanity in my opinion.

Anyway enough about me...

I think you should get a book on Rails, probably a Head First book, because they're great for learning.

http://oreilly.com/catalog/9780596515775

Or maybe even a site point book.

With regards to where to go with the coding to get better, i recommend building some basic CMS systems in PHP MySQL (try some sitepoint books, they're bloody good). Building a CMS is properly satisfying and as you build you evolve them until they're just amazing. Although if you're like me you then wish you could write in OOP and make it better. :)

Must reads: For me a book i consider absolutely fundamental to my ability in PHP (which isn't massive to be honest) was a sitepoint book called, "Build Your Own Database Driven Web Site Using PHP & MySQL."

BuildGAYYourGAYOwn DatabaseGAYDrivenGAYWebGAYSite UsingGAYPHPGAY&GAYMySQL, 4th Edition - SitePoint Books

I also found a book called "Professional Search Engine Optimization with PHP" very good and helped me learn how to build seo friendly URLs along with cloaking and other stuff.

Web: Professional Search Engine Optimization with PHP: A Developer's Guide to SEO - Book Information and Code Download - Wrox

Then the aforementioned, "Webbots, Spider and Screenscrapers". Although i've not read this and gone from cover to cover, it provided me with lots of Ah Ha! moments!

No Starch Press: Webbots, Spiders, and Screen Scrapers
 
Your best bet is to just use books for reference purposes. Think of something you want to have, then just start trying to build it. Use books/sites when you get stuck. Tutorials are cool but they just teach you how to do what they are about, not how to problem solve on your own.

Also, mentors are helpful, being able to paste over some code and ask for advice can usually help save a shit ton of time when you're stuck on something.

I say try making a simple todo list webapp, then make it ajaxy. You'll learn a lot from just that. Then maybe make a simple blog webapp, with user logins and shit. Then jump into learning a framework, all of the helper functions really speed things up when learning.
 
Your best bet is to just use books for reference purposes. Think of something you want to have, then just start trying to build it. Use books/sites when you get stuck. Tutorials are cool but they just teach you how to do what they are about, not how to problem solve on your own.

Also, mentors are helpful, being able to paste over some code and ask for advice can usually help save a shit ton of time when you're stuck on something.

I say try making a simple todo list webapp, then make it ajaxy. You'll learn a lot from just that. Then maybe make a simple blog webapp, with user logins and shit. Then jump into learning a framework, all of the helper functions really speed things up when learning.

yea I agree that actually building something is the only way to learn. So first thing I want to do is, using array_unique build a simple site that allows you to paste in keywords into left textarea, click submit, and any dupes get scrubbed and new list pops into right textarea.

(i hate Excel and Apple Numbers doesnt have a get rid of dupes function lol)
 
I'm about the level of you Garrett. I bought a few "No Starch" books, "Wicked Cool PHP", "Webbots, Spider and Screen Scrapers", and one on OOP PHP. I then also bought some Rails shit, some Ruby Scripting shit and more PHP shit.

I then decided that i knew enough; i'm a marketer, not a programmer, so really i should outsource it, because as much as i enjoyed most of it, it wasn't ever going to speed up reaching my goals. It was perhaps moving me away from them.

I remember about a year ago building an amaxing LP generator script in PHP and MySQL and although the thing is un-fucking-believable (in my opinion ;) ), getting someone to do it for me, would have lead to nicer code and more time doing what earns me money.

It's nice to understand it and be able to mod the arse out of shit, but it can be so time consuming, that paying someone a few hundred dollars is better for my sanity in my opinion.

Anyway enough about me...

I think you should get a book on Rails, probably a Head First book, because they're great for learning.

Head First Rails - O'Reilly Media

Or maybe even a site point book.

With regards to where to go with the coding to get better, i recommend building some basic CMS systems in PHP MySQL (try some sitepoint books, they're bloody good). Building a CMS is properly satisfying and as you build you evolve them until they're just amazing. Although if you're like me you then wish you could write in OOP and make it better. :)

Must reads: For me a book i consider absolutely fundamental to my ability in PHP (which isn't massive to be honest) was a sitepoint book called, "Build Your Own Database Driven Web Site Using PHP & MySQL."

BuildGAYYourGAYOwn DatabaseGAYDrivenGAYWebGAYSite UsingGAYPHPGAY&GAYMySQL, 4th Edition - SitePoint Books

I also found a book called "Professional Search Engine Optimization with PHP" very good and helped me learn how to build seo friendly URLs along with cloaking and other stuff.

Web: Professional Search Engine Optimization with PHP: A Developer's Guide to SEO - Book Information and Code Download - Wrox

Then the aforementioned, "Webbots, Spider and Screenscrapers". Although i've not read this and gone from cover to cover, it provided me with lots of Ah Ha! moments!

No Starch Press: Webbots, Spiders, and Screen Scrapers

dude thanks for the references... Im ordering right now
 
yea I agree that actually building something is the only way to learn. So first thing I want to do is, using array_unique build a simple site that allows you to paste in keywords into left textarea, click submit, and any dupes get scrubbed and new list pops into right textarea.

(i hate Excel and Apple Numbers doesnt have a get rid of dupes function lol)

Sounds like a perfect script to start with to me
 
ive done just fine knowing PHP/MySQL and HTML/CSS

I barely know any JS and 0 about flash and I build sites all the time.

Technology is getting so easy these days with all kinds of pre made scripts and libs that you should be fine picking up some more PHP maybe.

definitely agree with you there. I figure if I can get acquainted with the language enough to do basic things, I'll be able to learn from just looking at other peoples' code. Then just finding the correct functions, libraries, scripts, etc... to do all the heavy lifting and I'm happy.
 
A way to starting learning javascript is to go through an ajax tutorial. Javascript is all about manipulating the DOM (document object model) and if you start an ajax tutorial you will be learning javascript while learning how to do event triggered "fetch" requests and using that data to make changes to the DOM.
 
Forget flash. Spend that time on javascript instead. There's not much useful you can do with flash except make pretty stuff and stream porn. And anyone with a flash blocker won't bother looking at it anyway.

Agree with conv3rsion. Ajax is a good way to learn JS. If you are doing any serious scraping work then understanding how ajax works is very handy. It's common now but it's getting easier and easier to add AJAX functionality to sites so it's going to become more common in the future. It's also a useful tools to roadblock amateur scrapers so being one of the people that can deal with ajax sites will give you a bit of an edge.
 
Best tutorial out there. Build Your Own Database Driven Web Site Using PHP & MySQL, Fourth Edition. It's in 4 parts and walks you through installation to pulling data from a database.

Don't bother reading a bunch of books, decide what you want to build and build it. You'll figure what you need to know when you need to know it, and a simple google search will give you the right answer almost every time.

Now a fair warning knowing this shit, to a degree helps you a great deal, but it often results in you becoming your biggest roadblock. Some dude in bumfuck can code up anything you want in a few hours for not a lot of money. If everything must wait on you to figure out how to do it, then getting time to do it, not much gets done. You're better off being a pretty mediocre programmer who knows how to manage a protect than a great programmer who does everything himself.
 
yea I agree that actually building something is the only way to learn. So first thing I want to do is, using array_unique build a simple site that allows you to paste in keywords into left textarea, click submit, and any dupes get scrubbed and new list pops into right textarea.

(i hate Excel and Apple Numbers doesnt have a get rid of dupes function lol)
For learning php I think you do not need a book. Start with the php docs and read top to bottom. Everything you need to learn is explained at php.net. You should however get a book on sql. After you learn the basic concepts of databases (primary keys, indexes, etc ..) all you should learn is "select from", "update" and "insert into" statements

Another recommendation I can give is to let more experienced programmers review your code. What i would do is think up a couple of simple jobs like the one you mentioned. Then do it and post your code here so more experienced programmers can comment on how to do it better/faster/simpler ... I would help ya so start coding!
 
actually, how do you deal with scraping ajax without invoking a browser somehow?

depends how dependent the ajax calls are on the runtime environment and how stateful the server side is. In a lot of cases you can see the sequence of http requests using tools like screen-scraper/tamper data/live HTTP headers, and just replicate them. Remember an AJAX call is just a HTTP request, the result comes back and gets manipulated somehow but it is still a text response usually in JSON, XML or HTML which makes it easy to parse.

Some sites require you to actually execute some javascript to calculate the right http request to make next. Doubt it's easy or even possible with PHP. Java has a few javascript runtimes available but again it depends how much the script uses the browser provided environment as to how problematic that is.