Browse Results

Showing 25,201 through 25,225 of 53,680 results

Seven Mobile Apps in Seven Weeks: Native Apps, Multiple Platforms

by Tony Hillerson

Answer the question "Can we build this for ALL the devices?" with a resounding YES. Learn how to build apps using seven different platforms: Mobile Web, iOS, Android, Windows, RubyMotion, React Native, and Xamarin. Find out which cross-platform solution makes the most sense for your needs, whether you're new to mobile or an experienced developer expanding your options. Start covering all of the mobile world today.Understanding the idioms, patterns, and quirks of the modern mobile platforms gives you the power to choose how you develop. Over seven weeks you'll build seven different mobile apps using seven different tools. You'll start out with Mobile Web; develop native apps on iOS, Android, and Windows; and finish by building apps for multiple operating systems using the native cross-platform solutions RubyMotion, React Native, and Xamarin.For each platform, you'll build simple, but non-trivial, apps that consume JSON data, run on multiple screen sizes, or store local data. You'll see how to test, how to build views, and how to structure code. You'll find out how much code it's possible to share, how much of the underlying platform you still need to know, and ultimately, you'll get a firm understanding of how to build apps on whichever devices your users prefer.This book gives you enough first-hand experience to weigh the trade-offs when building mobile apps. You'll compare writing apps on one platform versus another and understand the benefits and hidden costs of cross-platform tools. You'll get pragmatic, hands-on experience writing apps in a multi-platform world.What You Need:You'll need a computer and some experience programming. When we cover iOS, you'll need a Mac, and when we cover Windows Phone you'll need a computer with Windows on it. It's helpful if you have access to an iPhone, Android phone, and Windows Phone to run the examples on the devices where mobile apps are ultimately deployed, but the simulators or emulator versions of those phones work great.

Seven More Languages in Seven Weeks: Languages That Are Shaping the Future

by Bruce Tate Ian Dees Frederic Daoud Jack Moffitt

Great programmers aren't born--they're made. The industry is moving from object-oriented languages to functional languages, and you need to commit to radical improvement. New programming languages arm you with the tools and idioms you need to refine your craft. While other language primers take you through basic installation and "Hello, World," we aim higher. Each language in Seven More Languages in Seven Weeks will take you on a step-by-step journey through the most important paradigms of our time. You'll learn seven exciting languages: Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris.Learn from the award-winning programming series that inspired the Elixir language. Hear how other programmers across broadly different communities solve problems important enough to compel language development. Expand your perspective, and learn to solve multicore and distribution problems.In each language, you'll solve a non-trivial problem, using the techniques that make that language special. Write a fully functional game in Elm, without a single callback, that compiles to JavaScript so you can deploy it in any browser. Write a logic program in Clojure using a programming model, MiniKanren, that is as powerful as Prolog but much better at interacting with the outside world. Build a distributed program in Elixir with Lisp-style macros, rich Ruby-like syntax, and the richness of the Erlang virtual machine. Build your own object layer in Lua, a statistical program in Julia, a proof in code with Idris, and a quiz game in Factor.When you're done, you'll have written programs in five different programming paradigms that were written on three different continents. You'll have explored four languages on the leading edge, invented in the past five years, and three more radically different languages, each with something significant to teach you.

Seven Web Frameworks in Seven Weeks: Adventures in Better Web Apps

by Jack Moffitt Frederic Daoud

Whether you need a new tool or just inspiration, Seven Web Frameworks in Seven Weeks explores modern options, giving you a taste of each with ideas that will help you create better apps. You'll see frameworks that leverage modern programming languages, employ unique architectures, live client-side instead of server-side, or embrace type systems. You'll see everything from familiar Ruby and JavaScript to the more exotic Erlang, Haskell, and Clojure.The rapid evolution of web apps demands innovative solutions: this survey of frameworks and their unique perspectives will inspire you and get you thinking in new ways to meet the challenges you face daily.This book covers seven web frameworks that are influencing modern web applications and changing web development: Sinatra, CanJS, AngularJS, Ring, Webmachine, Yesod, Immutant. Each of these web frameworks brings unique and powerful ideas to bear on building apps. Embrace the simplicity of Sinatra, which sheds the trappings of large frameworks and gets back to basics with Ruby. Live in the client with CanJS, and create apps with JavaScript in the browser. Be declarative with AngularJS; say what you want, not how to do it, with a mixture of declarative HTML and JavaScript. Turn the web into data with Ring, and use Clojure to make data your puppet. Become a master of advanced HTTP with Webmachine, and focus the power of Erlang. Prove web theorems with Yesod; see how Haskell's advanced type system isn't just for academics. Develop in luxury with Immutant, an enlightened take on the enterprise framework.Seven Web Frameworks will influence your work, no matter which framework you currently use.Welcome to a wider web.What You Need:You'll need Windows, MacOS X or Linux, along with your favorite web browser. Each chapter will cover what you need to download and which language versions are required.

Ship it!: A Practical Guide to Successful Software Projects (Pragmatic Programmers)

by Jared Richardson William A. Gwaltney

Ship It! is a collection of tips that show the tools andtechniques a successful project team has to use, and how to use themwell. You'll get quick, easy-to-follow advice on modernpractices: which to use, and when they should be applied. This bookavoids current fashion trends and marketing hype; instead, readersfind page after page of solid advice, all tried and tested in thereal world. Aimed at beginning to intermediate programmers, Ship It! will show you: Which tools help, and which don'tHow to keep a project movingApproaches to scheduling that workHow to build developers as well as productWhat's normal on a project, and what's notHow to manage managers, end-users and sponsorsDanger signs and how to fix them Few of the ideas presented here are controversial or extreme; most experiencedprogrammers will agree that this stuff works. Yet 50 to 70 percent of allproject teams in the U.S. aren't able to use even these simple, well-acceptedpractices effectively. This book will help you get started. Ship It! begins by introducing the common technicalinfrastructure that every project needs to get the job done. Readerscan choose from a variety of recommended technologies according totheir skills and budgets. The next sections outline the necessarysteps to get software out the door reliably, using well-accepted,easy-to-adopt, best-of-breed practices that really work. Finally, and most importantly, Ship It! presents commonproblems that teams face, then offers real-world advice on how tosolve them.

SQL Antipatterns: Avoiding the Pitfalls of Database Programming

by Bill Karwin

Bill 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.Each chapter in this book helps you identify, explain, and correct a unique and dangerous antipattern. The four parts of the book group the anti​patterns in terms of logical database design, physical database design, queries, and application development. The chances are good that your application's database layer already contains problems such as Index Shotgun, Keyless Entry, Fear of the Unknown, and Spaghetti Query. This book will help you and your team find them. Even better, it will also show you how to fix them, and how to avoid these and other problems in the future.SQL Antipatterns gives you a rare glimpse into an SQL expert's playbook. Now you can stamp out these common database errors once and for all.Whatever platform or programming language you use, whether you're a junior programmer or a Ph.D., SQL Antipatterns will show you how to design and build databases, how to write better database queries, and how to integrate SQL programming with your application like an expert. You'll also learn the best and most current technology for full-text search, how to design code that is resistant to SQL injection attacks, and other techniques for success.

Swift Style: An Opinionated Guide to an Opinionated Language

by Erica Sadun

Discover the do's and don'ts involved in crafting readable Swift code as you explore common Swift coding challenges and the best practices that address them. From spacing, bracing, and semicolons to proper API style, discover the whys behind each recommendation, and add to or establish your own house style guidelines. This practical, powerful, and opinionated guide offers the best practices you need to know to work successfully in this equally opinionated programming language. Apple's Swift programming language has finally reached stability, and developers are demanding to know how to program the language properly. Swift Style guides you through the ins and outs of Swift programming best practices. This is the first best practices book for serious, professional Swift programmers and for programmers who want to shine their skills to be hired in this demanding market. A style guide offers a consistent experience of well-crafted code that lets you focus on the code's underlying meaning, intent, and implementation. This book doesn't offer canonical answers on Swift coding style. It explores the areas of Swift where structure comes into play. Whether you're developing a personal style or a house style, there are always ways to enhance your code choices. You'll find here the ideas and principles to establish or enhance your own best style practices. Begin with simple syntactical styling. Strengthen code bracing for easy readability. Style your closures for safety and resilience. Perfect spacing and layout. Master literal initialization and typing. Optimize control flow layout and improve conditional style choices. Transition from Objective-C and move code into Swift the right way. Boost API design using proper naming and labeling. Elevate defaulted arguments and variadics to their right places. Finally, Erica offers her own broad recommendations on good coding practice. What You Need: Recent version of the Swift programming language

Take My Money: Accepting Payments on the Web

by Noel Rappin

Getting paid using Stripe or PayPal is only the beginning of creating a fully-functional e-commerce application. You also need to handle failure cases, inventory management, administration, security, reporting, and be compliant with legal issues. Manage one-time transactions and recurring subscriptions, handle inventory management, issue discounts and refunds, mitigate administration and compliance issues, and test your code to ensure your customers have a smooth, hassle-free experience.An e-commerce payment application is literally rewarding to build--you can see the return on investment as genuine money is added to your account. But it can be stressful to manage, with security and compliance concerns and administration issues. And your entire business may depend on these features working smoothly. Let Noel Rappin guide you through the setup and complications of dealing with online financial transactions. Go beyond just the interaction with the gateway service and build an application that will be robust and useful over time. Set up a Stripe and PayPal payment gateway and accept credit card payments. Use the Stripe API to improve security by validating credit card data without sending it through your own server. Design your application for maximum flexibility against the inevitable complexities of business logic, including handling discounts. Manage the multiple failure points of dealing with payment gateways and test for failure cases. Use background jobs to simplify third-party interactions. Handle administrative tasks such as issuing refunds and discounts while maintaining data integrity and security. Create subscription plans and manage recurring payments, and stay on top of legal issues regarding taxes, reporting, and compliance. Pay affiliates or contributors from your application. By the end, you will know how to create a fully-functional web payment-taking machine.What You Need:The code in this book works with Ruby 2.3.1 and Rails 5, though nearly all of the code will run with earlier versions of Ruby and Rails.

Technical Blogging: Turn Your Expertise into a Remarkable Online Presence

by Antonio Cangiano

Technical Blogging is the first book to specifically teach programmers, technical people, and technically-oriented entrepreneurs how to become successful bloggers. There is no magic to successful blogging; with this book you'll learn the techniques to attract and keep a large audience of loyal, regular readers and leverage this popularity to achieve your goals.Become 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.Technical blogging expert Antonio Cangiano shares his extensive expertise with you, sparing no details and laying out a complete step by step road map to help you plan, create, market, monetize, and grow your own popular blog.Antonio will guide you through all the choices you have to make in setting up a successful blog, teach you the key things you need to know to write blog posts that get read, and give you the tools to produce content regularlyYou'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.

Test Driven Development for Embedded C (Pragmatic Bookshelf Ser.)

by James W. Grenning

Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's 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.TDD is a modern programming practice C developers need to know. It's a different way to program---unit tests are written in a tight feedback loop with the production code, assuring your code does what you think. You get valuable feedback every few minutes. You find mistakes before they become bugs. You get early warning of design problems. You get immediate notification of side effect defects. You get to spend more time adding valuable features to your product.James is one of the few experts in applying TDD to embedded C. With his 1.5 decades of training,coaching, and practicing TDD in C, C++, Java, and C# he will lead you from being a novice in TDD to using the techniques that few have mastered.This book is full of code written for embedded C programmers. You don't just see the end product, you see code and tests evolve. James leads you through the thought process and decisions made each step of the way. You'll learn techniques for test-driving code right nextto the hardware, and you'll learn design principles and how to apply them to C to keep your code clean and flexible.To run the examples in this book, you will need a C/C++ development environment on your machine, and the GNU GCC tool chain or Microsoft Visual Studio for C++ (some project conversion may be needed).

Test-Driving JavaScript Applications: Rapid, Confident, Maintainable Code

by Venkat Subramaniam

Debunk the myth that JavaScript is not easily testable. Whether you use Node.js, Express, MongoDB, jQuery, AngularJS, or directly manipulate the DOM, you can test-drive JavaScript. Learn the craft of writing meaningful, deterministic automated tests with Karma, Mocha, and Chai. Test asynchronous JavaScript, decouple and properly mock out dependencies, measure code coverage, and create lightweight modular designs of both server-side and client-side code. Your investment in writing tests will pay high dividends as you create code that's predictable and cost-effective to change.Design and code JavaScript applications with automated tests. Writing meaningful tests is a skill that takes learning, some unlearning, and a lot of practice, and with this book, you'll hone that skill. Fire up the editor and get hands-on through practical exercises for effective automated testing and designing maintainable, modular code.Start by learning when and why to do manual testing vs. automated verification. Focus tests on the important things, like the pre-conditions, the invariants, complex logic, and gnarly edge cases. Then begin to design asynchronous functions using automated tests. Carefully decouple and mock out intricate dependencies such as the DOM, geolocation API, file and database access, and Ajax calls to remote servers.Step by step, test code that uses Node.js, Express, MongoDB, jQuery, and AngularJS. Know when and how to use tools such as Chai, Istanbul, Karma, Mocha, Protractor, and Sinon. Create tests with minimum effort and run them fast without having to spin up web servers or manually edit HTML pages to run in browsers. Then explore end-to-end testing to ensure all parts are wired and working well together.Don't just imagine creating testable code, write it.What You Need:A computer with a text editor and your favorite browser. The book provides instructions to install the necessary automated testing-related tools.

Text Processing with Ruby: Extract Value from the Data That Surrounds You

by Rob Miller

Text is everywhere. Web pages, databases, the contents of files--for almost any programming task you perform, you need to process text. Cut even the most complex text-based tasks down to size and learn how to master regular expressions, scrape information from Web pages, develop reusable utilities to process text in pipelines, and more.Most information in the world is in text format, and programmers often find themselves needing to make sense of the data hiding within. It might be to convert it from one format to another, or to find out information about the text as a whole, or to extract information fromit. But how do you do this efficiently, avoiding labor-intensive, manual work?Text Processing with Ruby takes a practical approach. You'll learn how to get text into your Ruby programs from the file system and from user input. You'll process delimited files such as CSVs, and write utilities that interact with other programs in text-processing pipelines. Decipher character encoding mysteries, and avoid the pain of jumbled characters and malformed output.You'll learn to use regular expressions to match, extract, and replace patterns in text. You'll write a parser and learn how to process Web pages to pull out information from even the messiest of HTML.Before long you'll be able to tackle even the most enormous and entangled text with ease, scything through gigabytes of data and effortlessly extracting the bits that matter.What You Need:This book requires a passing familiarity with the Ruby programming language, and assumes that you already have Ruby installed on your computer.

The Agile Samurai: How Agile Masters Deliver Great Software

by Jonathan Rasmusson

Printed in full color. Faced with a software project of epic proportions? Tired of over-committing and under-delivering? Enter the dojo of the agile samurai, where agile expert Jonathan Rasmusson shows you how to kick-start, execute, and deliver your agile projects. Combining cutting-edge tools with classic agile practices, The Agile Samurai gives you everything you need to deliver something of value every week and make rolling your software into production a non-event. Get ready to kick some software project butt. By learning the ways of the agile samurai you will discover: how to create plans and schedules your customer and your team can believe inwhat characteristics make a good agile team and how to form your ownhow to gather requirements in a fraction of the time using agile user storieswhat to do when you discover your schedule is wrong, and how to look like a pro correcting ithow to execute fiercely by leveraging the power of agile software engineering practices By the end of this book you will know everything you need to set up, execute, and successfully deliver agile projects, and have fun along the way. If you're a project lead, this book gives you the tools to set up and lead your agile project from start to finish. If you are an analyst, programmer, tester, usability designer, or project manager, this book gives you the insight and foundation necessary to become a valuable agile team member. The Agile Samurai slices away the fluff and theory that make other books less-than-agile. It's packed with best practices, war stories, plenty of humor and hands-on tutorial exercises that will get you doing the right things, the right way. This book will make a difference.

The Cucumber Book: Behaviour-Driven Development for Testers and Developers

by Matt Wynne Aslak Hellesoy Steve Tooke

Your customers want rock-solid, bug-free software that does exactly what they expect it to do. Yet they can't always articulate their ideas clearly enough for you to turn them into code. You need Cucumber: a testing, communication, and requirements tool-all rolled into one. All the code in this book is updated for Cucumber 2.4, Rails 5, and RSpec 3.5. Express your customers' wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform. Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe-in plain language-the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST web services, Ruby on Rails applications, command-line applications, legacy applications, and more. Written by the creator of Cucumber and the co-founders of Cucumber Ltd., this authoritative guide will give you and your team all the knowledge you need to start using Cucumber with confidence. What You Need: Windows, Mac OS X (with XCode) or Linux, Ruby 1.9.2 and upwards, Cucumber 2.4, Rails 5, and RSpec 3.5

The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers

by Seb Rose Matt Wynne Aslak Hellesoy

Teams working on the JVM can now say goodbye forever to misunderstood requirements, tedious manual acceptance tests, and out-of-date documentation. Cucumber - the popular, open-source tool that helps teams communicate more effectively with their customers - now has a Java version, and our bestselling Cucumber Book has been updated to match. The Cucumber for Java Book has the same great advice about how to deliver rock-solid applications collaboratively, but with all code completely rewritten in Java. New chapters cover features unique to the Java version of Cucumber, and reflect insights from the Cucumber team since the original book was published.Until now it's been difficult for teams developing Java applications to learn how to benefit from Behaviour-Driven Development (BDD). This book changes all that by describing in detail how to use Cucumber to harness the power of plain language specifications in your development process.In part 1, you'll discover how to use Cucumber's Gherkin DSL to describe the behavior your customers want from the system. You'll also learn how to write Java code that interprets those plain language specifications and checks them against your application. Part 2 guides you through a worked example, using Spring, MySQL, and Jetty. Enhanced chapters teach you how to use Selenium to drive your application and handle asynchronous Ajax calls, and new chapters cover Dependency Injection (DI) and advanced techniques to help keep your test suites fast. Part 3 shows you how to integrate Cucumber with your Continuous Integration (CI) system, work with a REST web service, and even use BDD with legacy applications.Written by the creator of Cucumber and two of its most experienced users and contributors, The Cucumber for Java Book is an authoritative guide that will give you and your team all the knowledge you need to start using Cucumber with confidence.

The Definitive ANTLR 4 Reference (Oreilly And Associate Ser.)

by Terence Parr

Programmers run into parsing problems all the time. Whether it's a data format like JSON, a network protocol like SMTP, a server configuration file for Apache, a PostScript/PDF file, or a simple spreadsheet macro language--ANTLR v4 and this book will demystify the process. ANTLR v4 has been rewritten from scratch to make it easier than ever to build parsers and the language applications built on top. This completely rewritten new edition of the bestselling Definitive ANTLR Reference shows you how to take advantage of these new features.Build your own languages with ANTLR v4, using ANTLR's new advanced parsing technology. In this book, you'll learn how ANTLR automatically builds a data structure representing the input (parse tree) and generates code that can walk the tree (visitor). You can use that combination to implement data readers, language interpreters, and translators. You'll start by learning how to identify grammar patterns in language reference manuals and then slowly start building increasingly complex grammars. Next, you'll build applications based upon those grammars by walking the automatically generated parse trees. Then you'll tackle some nasty language problems by parsing files containing more than one language (such as XML, Java, and Javadoc). You'll also see how to take absolute control over parsing by embedding Java actions into the grammar. You'll learn directly from well-known parsing expert Terence Parr, the ANTLR creator and project lead. You'll master ANTLR grammar construction and learn how to build language tools using the built-in parse tree visitor mechanism. The book teaches using real-world examples and shows you how to use ANTLR to build such things as a data file reader, a JSON to XML translator, an R parser, and a Java class->interface extractor. This book is your ticket to becoming a parsing guru!What You Need:ANTLR 4.0 and above. Java development tools. Ant build system optional(needed for building ANTLR from source)

The Developer's Code: What Real Programmers Do (Oreilly And Associate Ser.)

by Ka Wai Cheung

You're already a great coder, but awesome coding chops aren't always enough to get you through your toughest projects. You need these 50+ nuggets of wisdom. Veteran programmers: reinvigorate your passion for developing web applications. New programmers: here's the guidance you need to get started. With this book, you'll think about your job in new and enlightened ways.The Developer's Code isn't about the code you write, it's about the code you live by.There 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.In more than 50 nuggets of wisdom, you'll learn:Why many traditional approaches to process and development roles in this industry are wrong - and how to sniff them out.Why you must always say "no" to the software pet project and open-ended timelines.How to incorporate code generation into your development process, and why its benefits go far beyond just faster code output.What to do when your client or end user disagrees with an approach you believe in.How to pay your knowledge forward to future generations of programmers through teaching and evangelism.If you're in this industry for the long run, you'll be coming back to this book again and again.

The Dream Team Nightmare: Boost Team Productivity Using Agile Techniques

by Portia Tung

This first-ever interactive Agile Adventure is the gripping tale of an experienced team struggling with agile adoption. In this unique mashup of a business novel written in the gamebook format, you'll overcome common yet daunting challenges that come from using agile methods. As Jim, the agile coach, you'll learn to apply a range of thinking tools and techniques to real-life problems faced by teams and organizations. Find out what really works and what fails miserably from the consequences of your choices. And, unlike in the real world, if at first you don't succeed, you can make different choices until you get things right.Management is ready to disband your new agile team and outsource your project. Can you save The Dream Team?The Dream Team started their journey 18 months ago. Since then, life has become a nightmare. Progress has ground to a halt. Morale is low. Quality has become taboo. You have five days to figure out how to get the team back on track. There will be conflict and maybe tears. One thing is for sure: there will be plenty of tough decisions to make.Inspired by a classic gamebook series, this fun and interactive story has eight different endings designed to enrich and put your agile development knowledge and experience to the test. Packed with familiar scenarios an agile team faces every day, The Dream Team Nightmare offers you the chance to see what would happen if you could do things differently so you can change the way you do things for real with confidence.Combining practical team-building exercises with effective facilitation and Systems Thinking, by the end of the book you'll be ready to rescue projects in trouble, and get new projects off to a better start.

The Healthy Programmer: Get Fit, Feel Better, and Keep Coding

by Joe Kutner

Printed in full color.To keep doing what you love, you need to maintain your own systems, not just the ones you write code for. Regular exercise and proper nutrition help you learn, remember, concentrate, and be creative--skills critical to doing your job well. Learn how to change your work habits, master exercises that make working at a computer more comfortable, and develop a plan to keep fit, healthy, and sharp for years to come.Small changes to your habits can improve your health--without getting in the way of your work. The Healthy Programmer gives you a daily plan of action that's incremental and iterative just like the software development processes you're used to. Every tip, trick, and best practice is backed up by the advice of doctors, scientists, therapists, nutritionists, and numerous fitness experts.We'll review the latest scientific research to understand how being healthy is good for your body and mind. You'll start by adding a small amount of simple activity to your day--no trips to the gym needed. You'll learn how to mitigate back pain, carpal tunnel syndrome, headaches, and many other common sources of pain. You'll also learn how to refactor your diet to properly fuel your body without gaining weight or feeling hungry. Then, you'll turn the exercises and activities into a pragmatic workout methodology that doesn't interfere with the demands of your job and may actually improve your cognitive skills.You'll also learn the secrets of prominent figures in the software community who turned their health around by making diet and exercise changes. Throughout, you'll track your progress with a "companion iPhone app".Finally, you'll learn how to make your healthy lifestyle pragmatic, attainable, and fun. If you're going to live well, you should enjoy it.DisclaimerThis book is intended only as an informative guide for those wishing to know more about health issues. In no way is this book intended to replace, countermand, or conflict with the advice given to you by your own healthcare provider including Physician, Nurse Practitioner, Physician Assistant, Registered Dietician, and other licensed professionals.Keep in mind that results vary from person to person. This book is not intended as a substitute for medical or nutritional advice from a healthcare provider or dietician. Some people have a medical history and/or condition and/or nutritional requirements that warrant individualized recommendations and, in some cases, medications and healthcare surveillance. Do not start, stop, or change medication and dietary recommendations without professional medical and/or Registered Dietician advice. A healthcare provider should be consulted if you are on medication or if there are any symptoms that may require diagnosis or medical attention. Do not change your diet if you are ill, or on medication except under the supervision of a healthcare provider. Neither this, nor any other book or discussion forum is intended to take the place of personalized medical care of treatment provided by your healthcare provider.This book was current as of January, 2013 and as new information becomes available through research, experience, or changes to product contents, some of the data in this book may become invalid. You should seek the most up to date information on your medical care and treatment from your health care professional. The ultimate decision concerning care should be made between you and your healthcare provider.Information in this book is general and is offered with no guarantees on the part of the author, editor or The Pragmatic Programmers, LLC. The author, editors and publisher disclaim all liability in connection with the use of this book.

The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece

by Ron Jeffries

You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning.The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement.This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you.You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process.This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding.What You Need:You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.

The Passionate Programmer: Creating a Remarkable Career in Software Development

by Chad Fowler

Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product.The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas.You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths.As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general.Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.

The VimL Primer: Edit Like a Pro with Vim Plugins and Scripts

by Benjamin Klein

Build on your editor's capabilities and tailor your editing experience with VimL, the powerful scripting language built into Vim. With VimL you can configure basic settings or add entirely new functionality. Use this quick and easy introduction to create your own Vim plugin while learning the concepts and syntax of VimL.VimL is the scripting language of the Vim editor. If you've ever edited or saved a vimrc file, you've written VimL. And VimL can do much more than simply configure settings and specify option values--you can write entire plugins in VimL. But without a background in scripting Vim, it can be hard to know where to start.The VimL Primer gives you the tools and confidence you need. It gets you comfortable in VimL quickly, walking you through creating a working plugin that you can run yourself as you write it in Vim. You'll learn how to script common commands and buffer interaction, work with windows and buffers from within a plugin script, and how to use autocommands to have Vim recognize entirely new filetypes. You'll discover how to declare filetype-specific settings and define your own syntax elements for use with Vim's syntax highlighting. And you'll see how you can write your own command-line commands and define new mappings to call them.With this introduction to scripting Vim, your own Vim extensions are only plugins away. Take control of your editor!What You Need::Vim version 7 or later is required, and it's available on any of the major operating systems. This book uses the "Huge" version of Vim 7.4.

The Way of the Web Tester: A Beginner's Guide to Automating Tests

by Jonathan Rasmusson

This book is for everyone who needs to test the web. As a tester, you'll automate your tests. As a developer, you'll build more robust solutions. And as a team, you'll gain a vocabulary and a means to coordinate how to write and organize automated tests for the web. Follow the testing pyramid and level up your skills in user interface testing, integration testing, and unit testing. Your new skills will free you up to do other, more important things while letting the computer do the one thing it's really good at: quickly running thousands of repetitive tasks.This book shows you how to do three things: How to write really good automated tests for the web. How to pick and choose the right ones.* How to explain, coordinate, and share your efforts with others.If you're a traditional software tester who has never written an automated test before, this is the perfect book for getting started. Together, we'll go through everything you'll need to start writing your own tests.If you're a developer, but haven't thought much about testing, this book will show you how to move fast without breaking stuff. You'll test RESTful web services and legacy systems, and see how to organize your tests.And if you're a team lead, this is the Rosetta Stone you've been looking for. This book will help you bridge that testing gap between your developers and your testers by giving your team a model to discuss automated testing, and most importantly, to coordinate their efforts.The Way of the Web Tester is packed with cartoons, graphics, best practices, war stories, plenty of humor, and hands-on tutorial exercises that will get you doing the right things, the right way.

tmux 2: Productive Mouse-Free Development

by Brian P. Hogan

Your mouse is slowing you down. The time you spend context switching between your editor and your consoles eats away at your productivity. Take control of your environment with tmux, a terminal multiplexer that you can tailor to your workflow. With this updated second edition for tmux 2.3, you'll customize, script, and leverage tmux's unique abilities to craft a productive terminal environment that lets you keep your fingers on your keyboard's home row. You have a database console, web server, test runner, and text editor running at the same time, but switching between them and trying to find what you need takes up valuable time and breaks your concentration. By using tmux 2.3, you can improve your productivity and regain your focus. This book will show you how. This second edition includes many features requested by readers, including how to integrate plugins into your workflow, how to integrate tmux with Vim for seamless navigation - oh, and how to use tmux on Windows 10. Use tmux to manage multiple terminal sessions in a single window using only your keyboard. Manage and run programs side by side in panes, and create the perfect development environment with custom scripts so that when you're ready to work, your programs are waiting for you. Manipulate text with tmux's copy and paste buffers, so you can move text around freely between applications. Discover how easy it is to use tmux to collaborate remotely with others, and explore more advanced usage as you manage multiple tmux sessions, add custom scripts into the tmux status line, and integrate tmux with your system. Whether you're an application developer or a system administrator, you'll find many useful tricks and techniques to help you take control of your terminal.

Web Development Recipes

by Brian P. Hogan Chris Warren Mike Weber Chris Johnson

Modern web development is so much more than just HTML and CSS with a little JavaScript mixed in. People want faster, more usable interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you over 40 concise solutions to today's web development problems, and introduces new solutions that will expand your skill set---proven, practical advice from authors who use these tools and techniques every day. In this completely updated edition, you'll find innovative new techniques and workflows, as well as reworked solutions that take advantage of new developments.Web development is constantly changing, and you need to stay on top of your game. Discover a wide spectrum of web development techniques, from how to improve the way you present content, to solutions for data analysis, testing, and deployment.In this edition we introduce new tools, add new recipes, and modernize old ones. You'll use Vagrant to automate server setup, and you'll discover new ways to develop blogs and static sites. You'll learn how to use Grunt to script the deployment of your web project, and use Angular to build a single-page app. You'll learn how to make content stand out with simple cross-browser styles; create animations that work well everywhere without plugins; and create lightweight, responsive layouts. We'll show you how to use preprocessors like CoffeeScript and Sass; write tests for your code; use Git and Dropbox to collaborate; configure and secure the Apache web server; use virtualization to set up your own servers automatically; and much more.Whether you're new to front-end development, or you've got a few years of experience, you'll become a more versatile developer by finding out how---and why---to use these solutions in your next project.What You Need:Your favorite text editor, the most current version of Mozilla Firefox, Internet Explorer, Google Chrome or Safari, and a working knowledge of HTML and JavaScript. Familiarity with command-line interfaces is a plus.

Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs

by Adam Tornhill

Jack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you'll learn strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use.Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small. For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts.Large-scale development is also a social activity, and the team's dynamics influence code quality. That's why this book shows you how to uncover social biases when analyzing the evolution of your system. You'll use commit messages as eyewitness accounts to what is really happening in your code. Finally, you'll put it all together by tracking organizational problems in the code and finding out how to fix them. Come join the hunt for better code!What You Need:You need Java 6 and Python 2.7 to run the accompanying analysis tools. You also need Git to follow along with the examples.

Refine Search

Showing 25,201 through 25,225 of 53,680 results