About the Book

It was unnecessarily difficult for me to learn how to build web applications. And for one simple reason: I didn't understand web development.

All the resources I found focus almost entirely on teaching a single language or technology, but fail to acknowledge the big picture. More importantly, they don't help the reader undestand the way in which all Web technologies work together in harmony.

Through the years, I've pieced together the answers to the questions I hadn't been equipped to ask, but it took much longer than it needed to. If you're interested in becoming a web developer, I don't want that same journey to be as hard for you as it was for me.

It really doesn't need to be.

What topics are covered?

This book contains a little bit of everything, but specific topics include: HTTP, HTML, CSS, JavaScript, jQuery, Ajax, Ruby, Ruby on Rails, the UNIX shell (Bash), Databases (SQL), and Version Control (Git).

If you're complete unfamiliar with any or all of the above, you're in the right place. Each topic is given it's own look individually, but is also brought up as you progress to be tied in with new topics as needed.

But you'll do more through the course of the book than simply look at a handful of technologies. By the time you're done following along, you'll have built a basic version of this very web application—the one you're using to view this page right now—complete with file upload, user login, payment processing, and some basic styling.

Why this book?

The languages and technolgies that comprise the modern Internet have been cobbled together quite haphazardly over the years; it only seems natural that the resources enabling a person to work in such an environment would themselves be equally scattered.

They are.

So while all this information and more is out there for the taking, it is not necessarily organized in a manner that is immediately helpful to those who are not already web developers. The knowledge you'll gain from this book is not something that hundreds of hours and thousands of Google queries couldn't afford you instead, but it will save you time and frustration.

Who is this book for?

Well, first of all, this book is not for you if you...

  • hate Ruby
  • hate Rails
  • hate learning
  • hate technology
  • hate the Internet
  • hate quality products

Otherwise, this book is for you! It does assume that you...

  • can use a computer
  • can use a web browser
  • are literate in English
  • want to learn about web development

That's it!