We a good story
Quick delivery in the UK

Books published by Pragmatic Bookshelf

Filter
Filter
Sort bySort Popular
  • by George Dinwiddie
    £17.99

    Estimating software development often produces more angst than value, but it doesn't have to. Identify the needs behind estimate requests and determine how to meet those needs simply and easily.

  • by Ricardo Gerardi
    £26.49

    Whether you want to automate tasks, analyze data, parse logs, talk to network services, or address other systems requirements, writing your own command-line tool may be the fastest - and perhaps the most fun - way to do it. The Go programming language is a great choice for developing tools that are fast, reliable, and cross-platform. Create command-line tools that work with files, connect to services, and even manage external processes, all while using tests and benchmarks to ensure your programs are fast and correct.When you want to develop cross platform command-line tools that are fast and reliable, use Go, a modern programming language that combines the reliability of compiled languages with the ease of use and flexibility of dynamic typed languages. Work through practical examples to develop elegant and efficient tools by applying Go's rich standard library, its built in support for concurrency, and its expressive syntax. Use Go's integrated testing capabilities to automatically test your tools, ensuring they work reliably even across code refactoring.Develop CLI tools that interact with your users by using common input/output patterns, including environment variables and flags. Handle files to read or persist data, and manipulate paths consistently in cross-platform scenarios. Control processes and handle signals, and use a benchmark driven approach and Go's concurrency primitives to create tools that perform well. Use powerful external libraries such as Cobra to create modern and flexible tools that handle subcommands, and develop tools that interact with databases, APIs, and network services. Finally, leverage what you learned by tackling additional challenges at the end of each chapter.What You Need:Go 1.8 or higher, an internet connection to download the example files and additional libraries, and a text editor to write your programs.

  • by Carmine Zaccagnino
    £27.49

    Work in Flutter, a framework designed from the ground up for dual platform development, with support for native Java/Kotlin or Objective-C/Swift methods from Flutter apps. Deliver apps fast, doing half the work you were doing before and exploiting powerful new features to speed up development. Write once, run anywhere.

  • - Build Your Skills. Build Your Network. Build the Future of Technology.
    by VM (Vicky) Brasseur
    £19.99

    Free and open source is the foundation of software development, and it's built by people just like you. Discover the fundamental tenets that drive the movement. Take control of your career by selecting the right project to meet your professional goals. Master the language and avoid the pitfalls that typically ensnare new contributors. Join a community of like-minded people and change the world. Programmers, writers, designers, and everyone interested in software will make their mark through free and open source software contributions.Free and open source software is the default choice for the programming languages and technologies which run our world today, and it's all built and maintained by people just like you. No matter your skill level or area of expertise, with this book you will contribute to free and open source software projects. Using this practical approach you'll understand not only the mechanics of contributing, but also how doing so helps your career as well as the community.This book doesn't assume that you're a programmer, or even that you have prior experience with free and open source software. Learn what open source is, where it came from, and why it's important. Start on the right foot by mastering the structure and tools you need before you contribute. Choose the right project for you, amplifying the impact of your contribution. Submit your first contribution, whether it's code, writing, design, or community organising. Find out what to do when things don't go the way you expect. Discover how to start your own project and make it friendly and welcoming to contributors.Anyone can contribute! Make your mark today and help others while also helping yourself.

  • - Master ES6, ES7, and ES8
    by Venkat Subramaniam
    £26.49

    You've found the right book to get started quickly and dive deep into the essence of modern JavaScript. Learn practical tips to apply the elegant parts of the language and the gotchas to avoid.

  • - Writing Modern JavaScript with ES5, ES6, and Beyond
    by Joe Morgan
    £27.49

    The best modern JavaScript is simple, readable, and predictable. Learn to write modern JavaScript not by memorizing a list of new syntax, but with practical examples of how syntax changes can make code more expressive.

  • by Simon Harrer, Jorg Lenhard & Linus Dietz
    £23.99

    This book is a useful companion for anyone learning to write clean Java code. The authors introduce you to the fundamentals of becoming a software craftsman, by comparing pieces of problematic code with an improved version, to help you to develop a sense for clean code. This unique before-and-after approach teaches you to create clean Java code.

  • - Build Database Apps in Elixir for Scalability and Performance
    by Darin Wilson & Eric Meadows-Jonsson
    £26.49

    Languages may come and go, but the relational database endures. Learn how to use Ecto, the premier database library for Elixir, to connect your Elixir and Phoenix apps to databases. Get a firm handle on Ecto fundamentals with a module-by-module tour of the critical parts of Ecto. Then move on to more advanced topics and advice on best practices with a series of recipes that provide clear, step-by-step instructions on scenarios commonly encountered by app developers. Co-authored by the creator of Ecto, this title provides all the essentials you need to use Ecto effectively.Elixir and Phoenix are taking the application development world by storm, and Ecto, the database library that ships with Phoenix, is going right along with them. There are plenty of examples that show you the basics, but to use Ecto to its full potential, you need to learn the library from the ground up.This definitive guide starts with a tour of the core features of Ecto - repos, queries, schemas, changesets, transactions - gradually building your knowledge with tasks of ever-increasing complexity. Along the way, you'll be learning by doing - a sample application handles all the boilerplate so you can focus on getting Ecto into your fingers.Build on that core knowledge with a series of recipes featuring more advanced topics. Change your pooling strategy to maximize your database's efficiency. Use nested associations to handle complex table relationships. Add streams to handle large result sets with ease. Based on questions from Ecto users, these recipes cover the most common situations developers run into.Whether you're new to Ecto, or already have an app in production, this title will give you a deeper understanding of how Ecto works, and help make your database code cleaner and more efficient.What You Need:To follow along with the book, you should have Erlang/OTP 19+ and Elixir 1.4+ installed. The book will guide you through setting up a sample application that integrates Ecto.

  • - Fix Technical Debt with Behavioral Code Analysis
    by Adam Tornhill
    £26.49

    Are you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code!Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledge maps of your system based on actual code contributions.In a radical, much-needed change from common practice, guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Discover a comprehensive set of practical analysis techniques based on version-control data, where each point is illustrated with a case study from a real-world codebase. Because the techniques are language neutral, you can apply them to your own code no matter what programming language you use. Guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Apply research findings from social psychology to software development, ensuring you get the tools you need to coach your organization towards better code.If you're an experienced programmer, software architect, or technical manager, you'll get a new perspective that will change how you work with code.What You Need:You don't have to install anything to follow along in the book. TThe case studies in the book use well-known open source projects hosted on GitHub. You'll use CodeScene, a free software analysis tool for open source projects, for the case studies. We also discuss alternative tooling options where they exist.

  • by David James Kelly
    £19.99

    Finally, a ground-up, quick-start approach to XSLT that teaches not just the language, but XML processing solutions. XSLT Jumpstarter approaches the subject like no other book, using examples that ease you through the basic concepts while demonstrating how to solve common problems.

  • by Micahel Keeling
    £24.49

    Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is the perfect introduction to software architecture for programmers who are ready to grow their design skills.

  • by Ben Wilson & Bruce Williams
    £27.49

    Written by the creators of Absinthe, this book will help you take full advantage of these two groundbreaking technologies. Build your own flexible, high-performance APIs using step-by-step guidance and expert advice you won't find anywhere else.

  • - A Guide to Modern Databases and the NoSQL Movement
    by Luc Perkins
    £27.49

    This is the only comprehensive guide to the world of NoSQL databases, with in-depth practical and conceptual introductions to seven different technologies: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB. This second edition includes a new chapter on DynamoDB and updated content for each chapter.

  • - From Concept to Production
    by Bruce Tate, Jose Valim & Ben Marx
    £24.99

    Adoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you're going to need to know more than just the language. The case studies and strategies in this book will get you there. Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production.Learn real-life strategies from the people who built Elixir and use it successfully at scale. See how Ben Marx and Bleacher Report maintain one of the highest-traffic Elixir applications by selling the concept to management and delivering on that promise. Find out how Bruce Tate and icanmakeitbetter hire and train Elixir engineers, and the techniques they've employed to design and ensure code consistency since Elixir's early days. Explore customer challenges in deploying and monitoring distributed applications with Elixir creator Jose Valim and Plataformatec.Make a business case and build a team before you finish your first prototype. Once you're in development, form strategies for organizing your code and learning the constraints of the runtime and ecosystem. Convince stakeholders, both business and technical, about the value they can expect. Prepare to make the critical early decisions that will shape your application for years to come. Manage your deployment with all of the knobs and gauges that good DevOps teams demand. Decide between the many options available for deployment, and how to best prepare yourself for the challenges of running a production application.This book picks up where most Elixir books leave off. It won't teach you to program Elixir, or any of its tools. Instead, it guides you through the broader landscape and shows you a holistic approach to adopting the language.What You Need:This book works with any version of Elixir.

  • by Dave Thomas, Sam Ruby & David B. Copeland
    £27.49

    The new edition of this award-winning classic is completely updated for Rails 5.1 and Ruby 2.4, with information on system testing, Webpack, and advanced JavaScript.

  • - Build a Healthy Codebase
    by Noel Rappin
    £27.49

    Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular application of test-driven development. You'll use Rails 5.1, Minitest 5, and RSpec 3.6, as well as popular testing libraries such as factory_girl and Cucumber. Updates include Rails 5.1 system tests and Webpack integration. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers.Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development: a process for improving the design, maintainability, and long-term viability of software.With both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, work with popular third-party testing tools such as RSpec, Jasmine, Cucumber, and factory_girl. Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future change. Plus, see how to handle real-world testing situations.This new edition has been updated to Rails 5.1 and RSpec 3.6 and contains full coverage of new Rails features, including system tests and the Webpack-based JavaScript setup.What You Need:Ruby 2.4, Rails 5.1

  • by Johanna Rothman
    £26.49

    For project managers who want to use agile techniques, managers who want to start, and technical leaders who want to know more and succeed, this book is your first step toward agile project success.

  • by Bruce Tate, Chris Mccord & Jose Valim
    £26.49

    Don't accept the compromise between fast and beautiful: you can have it all. Phoenix creator Chris McCord, Elixir creator Jose Valim, and award-winning author Bruce Tate walk you through building an application that's fast and reliable. At every step, you'll learn from the Phoenix creators not just what to do, but why.

  • - Build Ruby Apps with Confidence
    by Ian Dees & Myron Marston
    £16.49

    "e;Our tests are broken again!"e; "e;Why does the suite take so long to run?"e; "e;What value are we getting from these tests anyway?"e; Solve your testing problems by building and maintaining quality software with RSpec - the popular BDD-flavored Ruby testing framework. This definitive guide from RSpec's lead developer shows you how to use RSpec to drive more maintainable designs, specify and document expected behavior, and prevent regressions during refactoring. Build a project using RSpec to design, describe, and test the behavior of your code. Whether you're new to automated tests or have been using them for years, this book will help you write more effective tests.RSpec has been downloaded more than 100 million times and has inspired countless test frameworks in other languages. Use this influential Ruby testing framework to iteratively develop a project with the confidence that comes from well-tested code. This book guides you through creating a Ruby project with RSpec, and explores the individual components in detail.Start by learning the basics of installing and using RSpec. Then build a real-world JSON API, using RSpec throughout the process to drive a BDD-style outside-in workflow. Apply an effective test strategy to write fast, robust tests that support evolutionary design through refactoring. The rest of the book provides the definitive guide to RSpec's components. Use rspec-core's metadata to slice and dice your spec suite. Dig into rspec-expectations' matchers: compose them in flexible ways, specify expected outcomes with precision, and diagnose problems quickly with the help of good failure messages. Write fast, isolated tests with rspec-mocks' test doubles while pushing your code toward simpler interfaces.The authors, with a combined 20 years of automated testing experience, share testing wisdom that will lead to a fun, productive testing experience.What You Need:To follow along with the book, you'll need Ruby 2.2+. The book will guide you through installing RSpec 3 and setting up a new project to use it.

  • by Johanna Rothman
    £21.49

    You have too many projects, and firefighting and multitasking are keeping you from finishing any of them. You need to manage your project portfolio. This fully updated and expanded bestseller arms you with agile and lean ways to collect all your work and decide which projects you should do first, second, and never.

  • - Rapid, Confident, Maintainable Code
    by Venkat Subramaniam
    £22.49

    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.

  • by Marcus Zarra
    £22.49

    Discover all of Core Data's powerful capabilities, learn fundamental principles including thread and memory management, and add Core Data to both your iOS and OS X projects. All examples in this edition are based on Objective-C and are up-to-date for the latest versions of OS X El Capitan and iOS 9.

  • by Chris Warren, Chris Johnson, Mike Weber & et al.
    £22.49

    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.

  • - Fast, Scalable, and Available
    by Ben Rady
    £14.99

    Don't waste your time building an application server. See how to build low-cost, low-maintenance, highly available, serverless single page web applications that scale into the millions of users at the click of a button. Quickly build reliable, well-tested single page apps that stay up and running 24/7 using Amazon Web Services. Avoid messing around with middle-tier infrastructure and get right to the web app your customers want.You don't need to manage your own servers to build powerful web applications. This book will show you how to create a single page app that runs entirely on web services, scales to millions of users, and costs less per day than a cup of coffee.Using a web browser, a prepared workspace, and your favorite editor, you'll build a complete single page web application, step by step. Learn the fundamental technologies behind modern single page apps, and use web standards to create lean web applications that can take advantage of the newest technologies. Deploy your application quickly using Amazon S3. Use Amazon Cognito to connect with providers like Google and Facebook to manage user identities. Read and write user data directly from the browser using DynamoDB, and build your own scalable custom microservices with Amazon Lambda.Whether you've never built a web application before or you're a seasoned web developer who's just looking for an alternative to complex server-side web frameworks, this book describes a simple approach to building serverless web applications that you can easily apply or adapt for your own projects.What You Need:To follow the tutorial in this book, you'll need a computer with a web browser. You'll also need a text editor and a git client. Building this web application will require some sort of development web server. You can use your own, or you can also use the one included with the tutorial's prepared workspace. The included web server requires Ruby 2.0, although we also suggest few alternatives. To get started quickly, you need a basic understanding of HTML, CSS, and JavaScript. If you're new to these topics, you can get up to speed using links we'll provide in the Introduction.

  • - Native Apps, Multiple Platforms
    by Tony Hillerson
    £23.49

    Answer the question "e;Can we build this for ALL the devices?"e; 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.

  • - Why Ruby is Slow, and How to Fix It
    by Alexander Dymo
    £21.49

    You don't have to accept slow Ruby or Rails performance. In this comprehensive guide to Ruby optimization, you'll learn how to write faster Ruby code--but that's just the beginning. See exactly what makes Ruby and Rails code slow, and how to fix it. Alex Dymo will guide you through perils of memory and CPU optimization, profiling, measuring, performance testing, garbage collection, and tuning. You'll find that all those "e;hard"e; things aren't so difficult after all, and your code will run orders of magnitude faster.This is the first book ever that consolidates all the Ruby performance optimization advice in one place. It's your comprehensive guide to memory optimization, CPU optimization, garbage collector tuning, profiling, measurements, performance testing, and more.You'll go from performance rookie to expert. First, you'll learn the best practices for writing Ruby code that's easy not only on the CPU, but also on memory, and that doesn't trigger the dreaded garbage collector. You'll find out that garbage collection accounts for 80% of slowdowns, and often takes more than 50% of your program's execution time. And you'll discover the bottlenecks in Rails code and learn how selective attribute loading and preloading can mitigate the performance costs of ActiveRecord.As you advance to Ruby performance expert, you'll learn how profile your code, how to make sense out of profiler reports, and how to make optimization decisions based on them. You'll make sure slow code doesn't creep back into your Ruby application by writing performance tests, and you'll learn the right way to benchmark Ruby. And finally, you'll dive into the Ruby interpreter internals to really understand why garbage collection makes Ruby so slow, and how you can tune it up. What You Need:Some version of Ruby. The advice from this book applies to all modern Ruby versions from 1.9 to 2.2. 80% of the material will also be useful for legacy Ruby 1.8 users, and there is 1.8-specific advice as well.

  • - Nine Practices to Extend the Life (and Value) of Your Software
    by David Scott Bernstein
    £22.49

    We're losing tens of billions of dollars a year on broken software, and great new ideas such as agile development and Scrum don't always pay off. But there's hope. The nine software development practices in Beyond Legacy Code are designed to solve the problems facing our industry. Discover why these practices work, not just how they work, and dramatically increase the quality and maintainability of any software project.These nine practices could save the software industry. Beyond Legacy Code is filled with practical, hands-on advice and a common-sense exploration of why technical practices such as refactoring and test-first development are critical to building maintainable software. Discover how to avoid the pitfalls teams encounter when adopting these practices, and how to dramatically reduce the risk associated with building software--realizing significant savings in both the short and long term. With a deeper understanding of the principles behind the practices, you'll build software that's easier and less costly to maintain and extend.By adopting these nine key technical practices, you'll learn to say what, why, and for whom before how; build in small batches; integrate continuously; collaborate; create CLEAN code; write the test first; specify behaviors with tests; implement the design last; and refactor legacy code.Software developers will find hands-on, pragmatic advice for writing higher quality, more maintainable, and bug-free code. Managers, customers, and product owners will gain deeper insight into vital processes. By moving beyond the old-fashioned procedural thinking of the Industrial Revolution, and working together to embrace standards and practices that will advance software development, we can turn the legacy code crisis into a true Information Revolution.

  • - Do Less, Accomplish More with Lean Thinking
    by Mattias Skarin
    £16.99

    Your team is stressed; priorities are unclear. You're not sure what your teammates are working on, and management isn't helping. If your team is struggling with any of these symptoms, these four case studies will guide you to project success. See how Kanban was used to significantly improve time to market and to create a shared focus across marketing, IT, and operations. Each case study comes with illustrations of the Kanban board and diagrams and graphs to help you see behind the scenes.Learn a Lean approach by seeing how Kanban made a difference in four real-world situations. You'll explore how four different teams used Kanban to make paradigm-changing improvements in software development. These teams were struggling with overwork, unclear priorities, and lack of direction. As you discover what worked for them, you'll understand how to make significant changes in real situations.The four case studies in this book explain how to: Improve the full value chain by using Enterprise Kanban Boost engagement, teamwork, and flow in change management and operations Save a derailing project with Kanban Help an office team outside IT keep up with growth using KanbanWhat seems easy in theory can become tangled in practice. Discover why "e;improving IT"e; can make you miss your biggest improvement opportunities, and why you should focus on fixing quality and front-end operations before IT. Discover how to keep long-term focus and improve across department borders while dealing with everyday challenges. Find out what happened when using Kanban to find better ways to do work in a well-established company, including running multi-team development without a project office. You'll inspire your team and engage management to make it easier to develop better products.What You Need:This is a case study book, so there are no software requirements. The book covers the relevant bits of theory before presenting the case studies.

  • by Matt Wynne
    £23.49

    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.

Join thousands of book lovers

Sign up to our newsletter and receive discounts and inspiration for your next reading experience.