Wern Ancheta

Adventures in Web Development.

Learning List

| Comments

Here’s my current learning list:

More of Object-oriented PHP and Design Patterns

I know the basics of object-oriented PHP like Classes, Objects, Constructors, Magic methods, inheritance, autoloading of classes. I’ve also created projects implemented using OOP but I believe I need to learn more about it before I can move to things like unit testing, and making my own PHP library. I think the PHP Documentation is a pretty good place to start. There’s also PHP The Right Way and PHP Best Practices. After I’m contented with what I know about Object oriented PHP(though I don’t know if I’ll ever get contented), I’ll get my hands dirty on implementing design patterns on PHP. And once I’m done with that I’ll probably test drive some of the PHP Frameworks like Symfony, Yii, CakePHP, and Laravel.

Unit Testing and Automated Tests

After I gain enough(but what is enough really?) knowledge and experience about Object-oriented PHP I plan on getting my hands dirty on Unit Testing on PHP. And I think Nettuts has got my back on this with their Test-driven PHP session

More JavaScript

There’s been a lot of things happening with JavaScript lately. There are lots of things about it that I haven’t fully grokked yet. One of them is closures. I think John Resig has already written about it. I also want to learn about Unit Testing, Script Loaders, Asynchronous Module Definition, implementing design patterns on JavaScript. And also some other JavaScript libraries like Mootools, Dojo, ExtJS, Ember, Backbone, and YUI.


There are lots of developer tools that I haven’t implemented on my workflow yet. Here are some of the Frontend tools that I’m urging to use:

  • Yeoman
  • Compass/SASS/LESS
  • Grunt
  • Script Loaders (yepnope.js, head.js, require.js..)
  • AMD
  • Testing Libraries (Mocha, Jasmine, QUnit)
  • Automated Testing (Selenium)

And some backend one’s:

  • PHP Unit
  • Doxygen, PHPDocumentor

And version control:

  • Mercurial

More on Web API’s

I’ve only touched the surfaced with Google Maps API, Facebook Graph API, Twitter API, Tumblr API, and LinkedIn API. There’s still a bunch of them out there that I can get my hands dirty on but I guess I’ll just focus on learning more about what I already know.

More on the tools that I’m currently using

I only know Git and a little bit of Subversion. And I only know about the commands that I cannot live without. Like git add , git commit , git push , git branch , git checkout and git pull Commands on Subversion are pretty much the same so I won’t go ahead and enumerate them all.

Moving on to other Languages

I’ve started a course on Udacity: Introduction to Computer Science. They’re using Python for the course. I really want to learn Python as well. Then maybe I could move on to Django which is a framework for Python. And after that take on some ASP.Net which I learned a little bit from school but haven’t really taken it seriously. And then some Ruby.

By the time I finish half of this list there’s probably a lot more tools and new technologies that will come out so I will have to create a new learning list again. Education is really a life long process. Sometimes you wouldn’t even want to take a break.