Practical Programming, 3rd EditionNo programming experience required! Incremental examples show you the steps and missteps that happen while developing programs, so you know what to expect when you tackle a problem on your own. Inspired by “How to Design Programs” (HtDP), discover a five-step recipe for designing functions, which helps you learn the concepts—and becomes an integral part of writing programs.
In this detailed introduction to Python and to computer programming, find out exactly what happens when your programs are executed. Work with numbers, text, big data sets, and files using real-world examples. Create and use your own data types. Make your programs reliable, work with databases, download data from the web automatically, and build user interfaces. As you use the fundamental programming tools in this book, you'll see how to document and organize your code so that you and other programmers can more easily read and understand it. This new edition takes advantage of Python 3.6's new features, incl ...
Python Testing with pytestFor Python-based projects, pytest is the undeniable choice to test your code if you're looking for a full-featured, API-independent, flexible, and extensible testing framework. With a full-bodied fixture model that is unmatched in any other tool, the pytest framework gives you powerful features such as assert rewriting and plug-in capability—with no boilerplate code.
With simple step-by-step instructions and sample code, this book gets you up to speed quickly on this easy-to-learn and robust tool. Write short, maintainable tests that elegantly express what you're testing. Add powerful testing features and still speed up test times by distributing tests across multiple processors and running tests in parallel. Use the built-in assert statements to reduce false test failures by separating setup and test failures. Test error conditions and corner cases with expected exception testing, and use one test to run many test cases with parameterized testing. Extend pytest with plugins, conn ...
Create Your Successful Agile ProjectYou've tried to use an off-the-shelf approach to agile techniques, and it's not working. Instead of a standard method or framework, work from agile and lean principles to design your own agile approach in a way that works for you. Build collaborative, cross-functional teams. See how small batch sizes and frequent delivery create an environment of trust and transparency between the team, management, and customers. Learn about the interpersonal skills that help agile teams work together so well.
In addition to seeing work and knowing what “done” means, you'll see examples of many possible team-based measurements. Look at tools you can use for status reporting, and how to use those measurements to help your managers understand what agile techniques buy them. Recognize the traps that prevent agile principles from working in too many organizations, and what to do about those traps. Use agile techniques for workgroups, and see what managers can do to create and nurture an agile cultur ...
Learning TensorFlowRoughly inspired by the human brain, deep neural networks trained with large amounts of data can solve complex tasks with unprecedented accuracy. This practical book provides an end-to-end guide to TensorFlow, the leading open source software library that helps you build and train neural networks for computer vision, natural language processing (NLP), speech recognition, and general predictive analytics.
Authors Tom Hope, Yehezkel Resheff, and Itay Lieder provide a hands-on approach to TensorFlow fundamentals for a broad technical audience - from data scientists and engineers to students and researchers. You'll begin by working through some basic examples in TensorFlow before diving deeper into topics such as neural network architectures, TensorBoard visualization, TensorFlow abstraction libraries, and multithreaded input pipelines. Once you finish this book, you'll know how to build and deploy production-ready deep learning systems in TensorFlow.
Get up and running with TensorFl ...
Elegant SciPyWelcome to Scientific Python and its community. If you're a scientist who programs with Python, this practical guide not only teaches you the fundamental parts of SciPy and libraries related to it, but also gives you a taste for beautiful, easy-to-read code that you can use in practice. You'll learn how to write elegant code that's clear, concise, and efficient at executing the task at hand.
Throughout the book, you'll work with examples from the wider scientific Python ecosystem, using code that illustrates principles outlined in the book. Using actual scientific data, you'll work on real-world problems with SciPy, NumPy, Pandas, scikit-image, and other Python libraries.
Explore the NumPy array, the data structure that underlies numerical scientific computation; Use quantile normalization to ensure that measurements fit a specific distribution; Represent separate regions in an image with a Region Adjacency Graph; Convert temporal or spatial data into frequency domain data with t ...
Test-Driven Development with Python, 2nd EditionBy taking you through the development of a real web application from beginning to end, the second edition of this hands-on guide demonstrates the practical advantages of test-driven development (TDD) with Python. You'll learn how to write and run tests before building each part of your app, and then develop the minimum amount of code required to pass those tests. The result? Clean code that works.
In the process, you'll learn the basics of Django, Selenium, Git, jQuery, and Mock, along with current web development techniques. If you're ready to take your Python skills to the next level, this book—updated for Python 3.6—clearly demonstrates how TDD encourages simple designs and inspires confidence.
Dive into the TDD workflow, including the unit test/code cycle and refactoring; Use unit tests for classes and functions, and functional tests for user interactions within the browser; Learn when and how to use mock objects, and the pros and cons of isolated vs. integrated tests; Te ...
Cloud Native JavaWhat separates the traditional enterprise from the likes of Amazon, Netflix, and Etsy? Those companies have refined the art of cloud native development to maintain their competitive edge and stay well ahead of the competition. This practical guide shows Java/JVM developers how to build better software, faster, using Spring Boot, Spring Cloud, and Cloud Foundry.
Many organizations have already waded into cloud computing, test-driven development, microservices, and continuous integration and delivery. Authors Josh Long and Kenny Bastani fully immerse you in the tools and methodologies that will help you transform your legacy application into one that is genuinely cloud native.
In four sections, this book takes you through: The Basics: learn the motivations behind cloud native thinking; configure and test a Spring Boot application; and move your legacy application to the cloud; Web Services: build HTTP and RESTful services with Spring; route requests in your distributed system; and ...
Applied Akka PatternsWhen it comes to big data processing, we can no longer ignore concurrency or try to add it in after the fact. Fortunately, the solution is not a new paradigm of development, but rather an old one. With this hands-on guide, Java and Scala developers will learn how to embrace concurrent and distributed applications with the open source Akka toolkit. You'll learn how to put the actor model and its associated patterns to immediate and practical use.
Throughout the book, you'll deal with an analogous workforce problem: how to schedule a group of people across a variety of projects while optimizing their time and skillsets. This example will help you understand how Akka uses actors, streams, and other tools to stitch your application together.Model software that reflects the real world with domain-driven design;Learn principles and practices for implementing individual actors;Unlock the real potential of Akka with patterns for combining multiple actors;Und ...
Introducing GradleThis concise book is a quick start-up primer on the Gradle build and release tool. You'll learn about Gradle and how to set it up to use. You'll learn about the Gradle life cycle and how to effectively leverage and use it. Also, you'll learn the basics of using site plugins and generating Javadocs, test coverage/FindBugs reports, version/release notes and more. Furthermore, you'll take advantage of Gradle's archetypes to bootstrap new projects easily.
After reading and using Introducing Gradle, you'll have an understanding of Gradle's dependency management and how to organize basic and multi-module Gradle projects. It includes the new features and enhancements found in the latest version of Gradle, an open source enhanced Java build and release tool for Java that is especially popular among Spring application developers. ...
Reinforcement LearningMaster reinforcement learning, a popular area of machine learning, starting with the basics: discover how agents and the environment evolve and then gain a clear picture of how they are inter-related. You'll then work with theories related to reinforcement learning and see the concepts that build up the reinforcement learning process.
Reinforcement Learning discusses algorithm implementations important for reinforcement learning, including Markov's Decision process and Semi Markov Decision process. The next section shows you how to get started with Open AI before looking at Open AI Gym. You'll then learn about Swarm Intelligence with Python in terms of reinforcement learning.
The last part of the book starts with the TensorFlow environment and gives an outline of how reinforcement learning can be applied to TensorFlow. There's also coverage of Keras, a framework that can be used with reinforcement learning. Finally, you'll delve into Google's Deep Mind and see scenarios where rein ...