Pragmatic Guide to JavaScriptJavaScript is everywhere. It's a key component of today's Web a powerful, dynamic language with a rich ecosystem of professional-grade development tools, infrastructures, frameworks, and toolkits. This book will get you up to speed quickly and painlessly with the 35 key JavaScript tasks you need to know. ...
ArduinoArduino is an open-source platform that makes DIY electronics projects easier than ever. Readers with no electronics experience can create their first gadgets within a few minutes. This book is up-to-date for the new Arduino Uno board, with step-by-step instructions for building a universal remote, a motion-sensing game controller, and many other fun, useful projects. ...
Designed for UseWeaving together hands-on techniques and fundamental concepts, you'll learn how to make usability the cornerstone of your design process. Each technique chapter explains a specific approach you can use during the design process to make your product more user friendly, such as storyboarding, usability tests, and paper prototyping. Idea chapters are concept-based: how to write usable text, how realistic your designs should look, when to use animations.
Filled with illustrations and supported by psychological research, expert developer and user interface designer Lukas Mathis gives you a deep dive into research, design, and implementation – the essential stages in designing usable interfaces for applications and websites. Lukas inspires you to look at design in a whole new way, explaining exactly what to look for, and what to avoid, in creating products that people will be excited about. ...
Programming GroovyGroovy brings you the best of both worlds: a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java Platform. Groovy preserves the Java semantics and extends the JDK to give you true dynamic languagecapabilities programming in Groovyfeels like you are using an augmented Java. Programming Groovy will help you learn and take advantage of the latest version of this rich dynamic language, so you can be a more productive Java Platform developer. ...
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. ...
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. ...
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. ...
The dRuby BookdRuby has been part of the Ruby standard library for more than a decade, yet few know the true power of the gem. Completely written in Ruby, dRuby enables you to communicate between distributed Ruby processes as if there were no boundaries between processes. This is one of the few books that covers distributed and parallel programming for Ruby developers.
The dRuby Book has been completely updated and expanded from its Japanese version, with three new chapters written by Masatoshi-san. You'll find out about the design concepts of the dRuby library, and walk through step-by-step tutorial examples. By building various distributed applications, you'll master distributed programming as well as advanced Ruby techniques such as multithreading, object references, garbage collection, and security. Then you'll graduate to advanced techniques for using dRuby with Masatoshi-san's other libraries, such as eRuby and Rinda - the Ruby version of the Linda distributed tuplespace system. In the thre ...
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. ...
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. ...