February 2015 Issue of Linux Journal: Web Development
I think it was in the late 1990s, possibly into the 2000s, when it was common to put a cutesy graphic on the bottom of your Web page letting everyone know your site wasn't finished. Generally the graphic was an animated GIF file of a little construction guy shoveling a pile of gravel. Mind you, this was before animated GIF files were the most annoying thing on the Internet, and long before they started getting cool again. The thing that makes me smile isn't how clever we were to make such graphics, it's the naiveté of the concept that a Web site might ever be truly finished.
The Internet exists in a constant state of change. The most we can hope for is reaching milestones, but even those are far from static. Thankfully, with the wide range of development platforms available, the Web is evolving faster and better all the time. This issue focuses on Web development and how Linux plays such a vital role. Our resident developer Reuven M. Lerner starts things off with a fresh look at Django. Although it's been around for years, Django is a great Python framework. Reuven walks through setting up a basic project and writing a function.
Dave Taylor takes us back to the digital casino this month as we start a new command-line game. As with all Dave's projects, this one promises to be enjoyable, and if we're not careful, we might learn some Bash scripting along the way! Kyle Rankin moves into part two of his series on deploying servers in the cloud. Hosting your servers in someone else's data center can save time and money, but it's not without its security risks. Kyle describes mitigating those concerns as he continues his series.
For my column this month, I sort of take a left turn. Although I get a lot of e-mail concerning the topics I write about, I most often am asked about my work environment and lifestyle. No, there's not a mob of paparazzi in my front lawn trying to get a glimpse of me in bunny slippers, but I do get a steady stream of e-mail. So in this issue, I try to answer the questions I get asked most often.
Back to the Web development theme, Federico Kereki delves into the world of JavaScript—yes, that JavaScript, but it's far more than it used to be. With the advent of Node.js and the like, JavaScript has become an entire development platform. Federico explores the development process and shows how to create an application. If you've heard of Angular.js and Node, but are still stuck in the world of LAMP applications, be sure to check out his article.
Unfortunately, along with great advances in Web development there are great advances in the security concerns of those Web sites. Shea Nangle explains the SQL injection vulnerability Drupal folks have been dealing with, along with an explanation of how best to deal with compromises. Most important, he also discusses how to avoid such vulnerabilities in the future. There's no magic bullet to secure every Web site, but with planning ahead and adopting a multipronged approach, hopefully we can avoid having the frequency of vulnerabilities increase as fast as the number of Web sites do!
Finally, Tomas Radej introduces us to DevAssistant. Although it's a powerful tool full of features any developer will appreciate, at its core it automates the part of coding that developers dislike—namely, the parts that aren't coding! Regardless of your language or framework, DevAssistant is designed to save time and make time spent writing code more productive.
Although there's an underlying assumption that every Web site is "under construction", that doesn't mean we never get anything done. It just means that with every advance and improvement we make, there's always room for newer and better. Whether you spend your free time writing code, or if your free time is the only time you don't write code, this issue of Linux Journal is full of helpful information. As someone who recently started to delve into the world of programming, this issue was extremely interesting for me. I hope you enjoy it as much as we enjoyed putting it together!
Available to Subscribers: February 1