Seven Languages in Seven WeeksYou should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly. ...
Programming Clojure, 2nd editionProgramming Clojure, 2nd Edition is a significant update to the classic book on the Clojure language. You'll get thorough coverage of all the new features of Clojure 1.3, and enjoy reorganized and rewritten chapters that reflect the significance of new Clojure concepts. Many code examples have been rewritten or replaced, and every page has been reevaluated in the light of Clojure 1.3.
As Aaron and Stu show you how to build an application from scratch, you'll get a rich view into a complete Clojure workflow. And you'll get an invaluable education in thinking in Clojure as you work out solutions to the various parts of a problem.
Clojure is becoming the language of choice for many who are moving to functional programming or dealing with the challenges of concurrency. ...
The Developer's CodeThere are no trite superlatives here. Packed with lessons learned from more than a decade of software development experience, author Ka Wai Cheung takes you through the programming profession from nearly every angle to uncover ways of sustaining a healthy connection with your work.
You'll see how to stay productive even on the longest projects. You'll create a workflow that works with you, not against you. And you'll learn how to deal with clients whose goals don’t align with your own. If you don't handle them just right, issues such as these can crush even the most seasoned, motivated developer. But with the right approach, you can transcend these common problems and become the professional developer you want to be. ...
Technical BloggingBecome more influential and earn extra money by blogging. Whether you want to create a popular technical blog from scratch or take your blog to the next level, this book shows you how.
You'll learn how to promote your blog, understand traffic statistics, and build a community. And once you've built it, you'll learn how to benefit from it: advance your career, make money from your blog, use it to promote your products or company, and take advantage of your blog to the fullest. And when your blog takes off, Antonio will show you how to avoid the pitfalls of success.
Technical Blogging is the only guide you'll need to create and maintain a successful technical blog. ...
Rails RecipesWritten for novice to intermediate Rails developers, Rails Recipes: Rails 3 Edition is packed with solutions to 70 of the most vexing problems you’re likely to face on the job. From building custom forms and powering pages with JQuery to integrating with legacy databases, it's all here. Each recipe has been updated to reflect the latest features of Rails 3 and each lays out a distinctive solution to a problem you may be facing today or could well encounter tomorrow. In addition, you'll find half the book is stocked with new eye-opening solutions to such common problems as how to extend Rails, test and deploy your sites, or add a web service to your actions. And each recipe not only lays out a succinct solution, but explains its rationale and the technologies that make it work. ...
The Rails ViewIn this book you'll learn how to build up solid, sustainable layouts and popular interface elements with semantic HTML5 and CSS3. You'll explore ways to make working with forms more manageable, and you'll discover when you can responsibly generate markup and use advanced presenters - all without leaving the designers on your team out in the cold. You'll even learn how to tame HTML emails so you can ensure your message reaches its intended audience.
Master the asset pipeline introduced in Rails 3.1 as you use Sass and Coffeescript to make your interface more enjoyable and your code shorter, and explore ways to present your application to that ever-growing mobile audience. You'll see how to ensure that your interface stays snappy by evaluating its performance.
This book gives you comprehensive, objective guidance in a realm full of subjective opinions. Use it, and you'll create elegant, well-structured views that are a joy to build upon. ...
SQL AntipatternsBill Karwin has helped thousands of people write better SQL and build stronger relational databases. Now he's sharing his collection of antipatterns the most common errors he's identified in those thousands of requests for help.
Most developers aren't SQL experts, and most of the SQL that gets used is inefficient, hard to maintain, and sometimes just plain wrong. This book shows you all the common mistakes, and then leads you through the best fixes. What's more, it shows you what's behind these fixes, so you'll learn a lot about relational databases along the way. ...
StripesTired of complicated Java web frameworks that just get in your way? Stripes is a lightweight, practical framework that lets you write lean and mean code without a bunch of XML configuration files. Stripes is designed to do a lot of the common work for you, while being flexible enough to adapt to your requirements. This book will show you how to use Stripes to its full potential, so that you can easily develop professional, full-featured web applications. As a bonus, you'll also get expert advice from the creator of Stripes, Tim Fennell. ...
Test Driven Development for Embedded CStill chasing bugs and watching your code deteriorate? Think TDD is only for desktop or web apps? It's not: TDD is for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers. ...
The Agile SamuraiHere are three simple truths about software development:
1. You can't gather all the requirements up front.
2. The requirements you do gather will change.
3. There is always more to do than time and money will allow.
Those are the facts of life. But you can deal with those facts (and more) by becoming a fierce software-delivery professional, capable of dispatching the most dire of software projects and the toughest delivery schedules with ease and grace. ...