Becoming a Web Developer

I read a post on how a developer went from being a noob web developer to a competant one. He works for a cool company. So I gave his opinions a little more authority. I would like to dabble in web development myself. Let's see where I am compared to this guy, and where I need to go.

He started by playing with URL parameters. Got it. Then he went tinto JavaScript. I am working on that. This is where my experience ends. The developer I read about went much further. He them learned an Object Relational Mapper. And he really pumps up learning jQuery, which is a JavaScript library for client scripting. I got a feeling I need to learn that next myself.

The guy said he got into FireBug, which is a tool to help debug all things web. He learned Memcached, which implements an in memory cache to speed up dynamic sites that depend on a database. He seems to be a Python developer now. He learned Python requests, which is an HTTP library written in the Python programming language.

The developer used Beautiful Soup, which is a python library for things like screen scraping. That seems a bit speciic. He also got deep into Cascading Style Sheets. I know a little bit about them. Then he mentioned that he turned his study to cookies. Isn't that a basic capability you need to know earlier?

Boss got into MongoDB, an open source NoSQL database. Today I learned that the Mongo comes from the work huMongous. He also uses DictShield, which claims to be a modeling system that is not tied to a specific database. Not exactly sure what that does. It seems to be relating to typing. Finally he got into the Python Natural Language Processing Toolkit. This also seems to be a niche.

The moral of the story is that there is a lot to becoming a web developer. Just when you think you learned a bit, you find out there is oh so much more to learn.

Free Courses at Udacity

I just heard that Udacity is soon to offer free courses online. These appear to be like college courses. However they are shorter. The bios of the instructors are impressive. A computer grades your homework. The cost is free. So why not try out a course or two?

The most interesting course to me is Web Application Engineering. The overview says that by the end of the course, you will be able to code up your own blog application. That sounds hot. It covers a lot of topics. The session I find most interesting is the one on how to scale your web app.

Another fun looking course is Programming Languages. It claims that by the end of the course, you will be able to develop your own web browser. That sounds like a tall hill to climb. The weeks are packed with complex topics such as grammars, lexical analysis, and parsing. Somehow I think you can learn those topics in just a few weeks. Maybe I am wrong.`

Form Alignment

I had some homework for my JavaScript class. This chapter deals with events. I was able to determine the names of the events and their handlers. Coded up some JavaScript functions to do the dirty deeds. The handlers just called my functions. Jobs done.

I was not satisfied with how my web page looked though. The second piece of the homework had me doing a form. The labels all lined up. But the input fields were all over the place. I knew these things could be lined up from previous experience. But my HTML skills are rusty.

Luckily dream in code came to the rescue. Just needed to put in some CSS that made the labels all be the same width. Then the fields that follwed them all ligned up as well. You would think somethink this common would be second nature for me by now.

Intro to JavaScript

Next semester, I am taking an Introduction to JavaScript class. The class looks pretty easy. I need some down time as I continue to process the topics learned in last semester's Java course.

Today I picked up the textbook for my JavaScript class. The topics really do look introductory. I read the first two chapters to get ahead for class. They covered some of the history of JavaScript. I learned how to embed JavaScript in HTML. Also reviewed how to put JavaScript in a CDATA block to allow the XHTML to validate.

The book went through some examples to make the JavaScript spit out HTML. We also learned how to include external JavaScript files. I would like to have some hands-on assignments where I write some JavaScript code. Let's hope the course instructor gives us some homework or something.

Floating Controls

I was trying to check out a new C++ tutorial online. The page looked pretty blank. I scrolled down thinking maybe they put the content on the bottom. Nope. All I saw was a picture of a dude that looked like Weird Al. Sheesh.

I read the author's bio. He worked for Microsoft. He has a PhD. And he even wrote a book on C++. So where is the beef? I almost ditched the site.

Then I saw it. There was some annoying plus sign that moved with me as I scrolled the screen. At first I thought that was some annoying web ad or something. Nope. That is the control you use to start the training videos.

Ooops. For me that was a fail. Perhaps the guy got set up. Weak site use tricks like this to get you to click on or notice ads. This was the first time I found the floating control to be used for a legitimate purpose.

Efficient XML Interchange

There is a new flavor of XML out on the market. It is the Efficient XML Interchange (EXI). This was developed by AgileDelta. The goal is to make XML smaller and faster. They do this by implementing a unique approach to file compression. The great thing about EXI is that it is compatible with XML. Specifically the tools you use for XML will work with EXI.

Extention Libraries

If you want to build an Internet app, you can use some type of plug in. But you can also use an extension library. This has the advantage that you don't have to install anything. The browser already knows how to process JavaScript.

The library I hear the most about is jQuery. However there are a whole lot more. Developers sometimes think that ExtJS does not get enough press.

If you are not integrating it into a commercial product, you can get ExtJS for free. You add some lines of code to your header section to bring in the ExtJS functionality. Then you use the extension library framework.

Some things you might gain from an extension library are drag and drop functionality, help with AJAX, widgets, and event handling. I plan on investigating at least one of these extension libs right after I finish learning JavaScript.