Best of
Programming

2019

Unit Testing: Principles, Practices, and Patterns


Vladimir Khorikov - 2019
    You’ll learn to spot which tests are performing, which need refactoring, and which need to be deleted entirely! Upgrade your testing suite with new testing styles, good patterns, and reliable automated testing.

Clean Agile: Back to Basics


Robert C. Martin - 2019
    Martin ("Uncle Bob") reintroduces agile values and principles for a new generation of software developers. In this eagerly-awaited book, the best-selling author of The Clean Coder shows how to bring unprecedented levels of professionalism and discipline to agile development -- and thereby write far more effective, successful software. As with his other books, Martin's Clean Agile: Back to Basics doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Writing in the agile context, Martin offers direct, no-nonsense answers to crucial questions like:How and why did Agile begin? What are the costs and benefits of Agile? What are the most effective practices of Agile Development? How should an Agile team be organized? What roles do programmers, testers, and managers play in an Agile team? What is the role of the Agile Coach? What about Agile for large projects? What kinds of projects benefit from Agile? Clean Agile: Back to Basics is essential reading for programmers, managers, testers, project managers and every software professional called upon to lead or participate in an agile project.

Monolith to Microservices: Sustaining Productivity While Detangling the System


Sam Newman - 2019
    You'll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture.*Ideal for organizations looking to transition to microservices, rather than rebuild*Helps companies determine whether to migrate, when to migrate, and where to begin*Addresses communication, integration, and the migration of legacy systems*Discusses multiple migration patterns and where they apply*Provides database migration examples, along with synchronization strategies*Explores application decomposition, including several architectural refactoring patterns*Delves into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more

Effective TypeScript: 62 Specific Ways to Improve Your TypeScript


Dan Vanderkam - 2019
    But TypeScript has a learning curve of its own, and understanding how to use it effectively can take time. This book guides you through 62 specific ways to improve your use of TypeScript.Author Dan Vanderkam, a principal software engineer at Sidewalk Labs, shows you how to apply these ideas, following the format popularized by Effective C++ and Effective Java (both from Addison-Wesley). You’ll advance from a beginning or intermediate user familiar with the basics to an advanced user who knows how to use the language well.Effective TypeScript is divided into eight chapters: Getting to Know TypeScript TypeScript’s Type System Type Inference Type Design Working with any Types Declarations and @types Writing and Running Your Code Migrating to TypeScript

Terraform: Up & Running: Writing Infrastructure as Code


Yevgeniy Brikman - 2019
    This hands-on second edition, expanded and thoroughly updated for Terraform version 0.12 and beyond, shows you the fastest way to get up and running.Gruntwork cofounder Yevgeniy (Jim) Brikman walks you through code examples that demonstrate Terraform's simple, declarative programming language for deploying and managing infrastructure with a few commands. Veteran sysadmins, DevOps engineers, and novice developers will quickly go from Terraform basics to running a full stack that can support a massive amount of traffic and a large team of developers.Explore changes from Terraform 0.9 through 0.12, including backends, workspaces, and first-class expressionsLearn how to write production-grade Terraform modulesDive into manual and automated testing for Terraform codeCompare Terraform to Chef, Puppet, Ansible, CloudFormation, and Salt StackDeploy server clusters, load balancers, and databasesUse Terraform to manage the state of your infrastructureCreate reusable infrastructure with Terraform modulesUse advanced Terraform syntax to achieve zero-downtime deployment

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java


Tom Hombergs - 2019
    

Effective Python: 90 Specific Ways to Write Better Python (Effective Software Development Series)


Brett Slatkin - 2019
    However, Python’s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. This second edition of Effective Python will help you master a truly “Pythonic” approach to programming, harnessing Python’s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers’ best-selling Effective C++, Brett Slatkin brings together 90 Python best practices, tips, and shortcuts, and explains them with realistic code examples so that you can embrace Python with confidence. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You’ll understand the best way to accomplish key tasks so you can write code that’s easier to understand, maintain, and improve. In addition to even more advice, this new edition substantially revises all items from the first edition to reflect how best practices have evolved. Key features include 30 new actionable guidelines for all major areas of Python Detailed explanations and examples of statements, expressions, and built-in types Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Better techniques and idioms for using comprehensions and generator functions Coverage of how to accurately express behaviors with classes and interfaces Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient and clear approaches to concurrency and parallelism Solutions for optimizing and hardening to maximize performance and quality Techniques and built-in modules that aid in debugging and testing Tools and best practices for collaborative development   Effective Python will prepare growing programmers to make a big impact using Python.

Database Internals: A deep-dive into how distributed data systems work


Alex Petrov - 2019
    But with so many distributed databases and tools available today, it’s often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals.Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed.This book examines:Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable log structured storage engines, with differences and use-cases for eachDistributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns, from UDP to reliable consensus protocolsDatabase clusters: Discover how to achieve consistent models for replicated data

Grokking Simplicity: Taming complex software with functional thinking


Eric Normand - 2019
    Grokking Simplicity is a friendly, practical guide that will change the way you approach software design and development. It introduces a unique approach to functional programming that explains why certain features of software are prone to complexity, and teaches you the functional techniques you can use to simplify these systems so that they’re easier to test and debug.

Head First Kotlin: A Brain-Friendly Guide


Dawn Griffiths - 2019
    This hands-on book helps you learn the Kotlin language with a unique method that goes beyond syntax and how-to manuals and teaches you how to think like a great Kotlin developer. You'll learn everything from language fundamentals to collections, generics, lambdas, and higher-order functions. Along the way, you'll get to play with both object-oriented and functional programming. If you want to really understand Kotlin, this is the book for you.Why does this book look so different?Based on the latest research in cognitive science and learning theory, Head First Kotlin uses a visually rich format to engage your mind rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multisensory learning experience is designed for the way your brain really works.

Laravel: Up & Running: A Framework for Building Modern PHP Apps


Matt Stauffer - 2019
    This rapid application development framework and its vast ecosystem of tools let you quickly build new sites and applications with clean, readable code. Fully updated to cover Laravel 5.8, the latest release, the second edition of this practical guide provides the definitive introduction to one of today’s most popular web frameworks.Matt Stauffer—a leading teacher and developer in the Laravel community—delivers a high-level overview and concrete examples to help experienced PHP web developers get started with Laravel right away. By the time you reach the last page, you should feel comfortable writing an entire application in Laravel from scratch.

Elements of Clojure


Zachary Tellman - 2019
    This is necessary because, in the words of Michael Polanyi, "we can know more than we can tell." Our design choices are not the result of an ineluctable chain of logic; they come from a deeper place, one which is visceral and inarticulate.Polanyi calls this "tacit knowledge", a thing which we only understand as part of something else. When we speak, we do not focus on making sounds, we focus on our words. We understand the muscular act of speech, but would struggle to explain it.To write software, we must learn where to draw boundaries. Good software is built through effective indirection. We seem to have decided that this skill can only be learned through practice; it cannot be taught, except by example. Our decisions may improve with time, but not our ability to explain them. It's true that the study of these questions cannot yield a closed-form solution for judging software design. We can make our software simple, but we cannot do the same to its problem domain, its users, or the physical world. Our tacit knowledge of this environment will always inform our designs.This doesn't mean that we can simply ignore our design process. Polanyi tells us that tacit knowledge only suffices until we fail, and the software industry is awash with failure. Our designs may never be provably correct, but we can give voice to the intuition that shaped them. Our process may always be visceral, but it doesn't have to be inarticulate.And so this book does not offer knowledge, it offers clarity. It is aimed at readers who know Clojure, but struggle to articulate the rationale of their designs to themselves and others. Readers who use other languages, but have a passing familiarity with Clojure, may also find this book useful.

Object Design Style Guide


Matthias Noback - 2019
    Applying best practices for object design means that your code will be easy to read, write, and maintain. Object Design Style Guide captures dozens of techniques for creating pro-quality OO code that can stand the test of time. Examples are in an instantly-familiar pseudocode, teaching techniques you can apply to any OO language, from C++ to PHP.

Effective Kotlin


Marcin Moskala - 2019
    All of the best practices are presented as simple rules with detailed explanations.

BPF Performance Tools


Brendan Gregg - 2019
    

Programming TypeScript: Making Your JavaScript Applications Scale


Boris Cherny - 2019
    That’s why Facebook, Google, and Microsoft invented gradual static type layers for their dynamically typed JavaScript and Python code. This practical book shows you how one such type layer, TypeScript, is unique among them: it makes programming fun with its powerful static type system.If you’re a programmer with intermediate JavaScript experience, author Boris Cherny will teach you how to master the TypeScript language. You’ll understand how TypeScript can help you eliminate bugs in your code and enable you to scale your code across more engineers than you could before.In this book, you’ll: Start with the basics: Learn about TypeScript’s different types and type operators, including what they’re for and how they’re used Explore advanced topics: Understand TypeScript’s sophisticated type system, including how to safely handle errors and build asynchronous programs Dive in hands-on: Use TypeScript with your favorite frontend and backend frameworks, migrate your existing JavaScript project to TypeScript, and run your TypeScript application in production

Ocp Oracle Certified Professional Java Se 11 Programmer I Study Guide: Exam 1z0-815


Jeanne Boyarsky - 2019
    No matter the changes, rest assured both of the Programmer I and II Study Guides cover everything you need to prepare for and take Exam 1Z0-819. If you've purchased one of the Programmer Study Guides, purchase the other one and you'll be all set. NOTE: The OCP Java SE 11 Programmer I Exam 1Z0-815 and Programmer II Exam 1Z0-816 have been retired (as of October 1, 2020), and Oracle has released a new Developer Exam 1Z0-819 to replace the previous exams. The Upgrade Exam 1Z0-817 remains the same.The comprehensive study aide for those preparing for the new Oracle Certified Professional Java SE Programmer I Exam 1Z0-815Used primarily in mobile and desktop application development, Java is a platform-independent, object-oriented programming language. It is the principal language used in Android application development as well as a popular language for client-side cloud applications. Oracle has updated its Java Programmer certification tracks for Oracle Certified Professional.OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide covers 100% of the exam objectives, ensuring that you are thoroughly prepared for this challenging certification exam. This comprehensive, in-depth study guide helps you develop the functional-programming knowledge required to pass the exam and earn certification. All vital topics are covered, including Java building blocks, operators and loops, String and StringBuilder, Array and ArrayList, and more. Included is access to Sybex's superior online interactive learning environment and test bank--containing self-assessment tests, chapter tests, bonus practice exam questions, electronic flashcards, and a searchable glossary of important terms. This indispensable guide:Clarifies complex material and strengthens your comprehension and retention of key topics Covers all exam objectives such as methods and encapsulation, exceptions, inheriting abstract classes and interfaces, and Java 8 Dates and Lambda Expressions Explains object-oriented design principles and patterns Helps you master the fundamentals of functional programming Enables you to create Java solutions applicable to real-world scenarios There are over 9 millions developers using Java around the world, yet hiring managers face challenges filling open positions with qualified candidates. The OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide will help you take the next step in your career.

Programming Kotlin


Venkat Subramaniam - 2019
    

Programming Basics with C#: Comprehensive Introduction to Programming with C#: Video Book + Learning Platform


Svetlin Nakov - 2019
    The book comes with free video lessons for each chapter, 150+ practical exercises with an automated online evaluation system (online judge) and solution guidelines for the exercises. The book "Programming Basics with C#" introduces the readers with writing programming code at a beginners level (basic coding skills), working with development environment (IDE), using variables and data, operators and expressions, working with the console (reading input data and printing output), using conditional statements (if, if-else, switch-case), loops (for, while, do-while, foreach) and methods (declaring and calling methods, passing parameters and returning values), as well as algorithmic thinking and solving practical programming problems. This free coding book for beginners is written by a team of developers lead by Dr. Svetlin Nakov (https://nakov.com) who has 25+ years practical software development experience and 15+ years as software development trainer. The free book "Programming Basics with C#" is an official textbook for the "Programming Basics" classes at the Software University (SoftUni), used by tens of thousands of students at the start of their software development education. The book relies on the "explain by examples" and "learn by doing" approaches to learning the practical coding skills required to become a software engineer. Each chapter provides some concepts, explained as video lesson with lots of code examples, followed by practical exercises involving the use of the new concepts with online evaluation system (online judge). Learners watch the videos, try the sample code and solve the exercises, which come as part of each book chapter. Exercises are given in series with increasing complexity: from quite trivial, though little complicated to highly complicated, requiring more thinking and research in Internet. Most exercises come with detailed hints and guidelines about how to construct a correct solution. This book is developed by a broad author's team of volunteers, lead by Dr. Svetlin Nakov, who dedicated their time to give away the systematized knowledge and guide you at the start of programming: Aleksander Krastev, Aleksander Lazarov, Angel Dimitriev, Vasko Viktorov, Ventsislav Petrov, Daniel Tsvetkov, Dimitar Tatarski, Dimo Dimov, Diyan Tonchev, Elena Rogleva, Zhivko Nedyalkov, Julieta Atanasova, Zahariya Pehlivanova, Ivelin Kirilov, Iskra Nikolova, Kalin Primov, Kristiyan Pamidov, Luboslav Lubenov, Nikolay Bankin, Nikolay Dimov, Pavlin Petkov, Petar Ivanov, Preslav Mihaylov, Rositsa Nenova, Ruslan Filipov, Svetlin Nakov, Stefka Vasileva, Teodor Kurtev, Tonyo Zhelev, Hristiyan Hristov, Hristo Hristov, Tsvetan Iliev, Yulian Linev, Yanitsa Vuleva. Download the free C# programming basics book (as PDF, ePub and Mobi formats), watch the video lessons and the live coding demos, solve the practical exercises and evaluate your solutions at the book official Web site: https://csharp-book.softuni.org.

Cloud Native Patterns: Designing change-tolerant software


Cornelia Davis - 2019
    Cloud Native Patterns: Designing Change-tolerant Software is your guide to developing strong applications that thrive in the dynamic, distributed, virtual world of the cloud. This book presents a mental model for cloud-native applications, along with the patterns, practices, and tooling that sets them apart. In it, you'll find realistic examples and expert advice for working with apps, data, services, routing, and more.

C++ Crash Course


Josh Lospinoso - 2019
    Learn core language concepts, the C++ Standard Library, and the Boost Libraries.C++ is one of the most widely used languages for real-world software. Wherever performance matters, C++ is the de facto standard. It's the language behind operating systems, embedded devices, games, web browsers, and virtual reality systems. As a C++ developer, you can program efficient software on virtually any platform.C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the current revision of the ISO standard. In Part I, you'll learn the essential core language features. Part II introduces you to the C++ Standard Library and Boost Libraries, where you'll learn about testing and mocking frameworks, containers, concurrency, and more. Part III contains extended examples that weave to-gether the lessons from Parts I and II.You'll learn all the major features of modern C++, including:- Fundamental types such as integers, floating point, characters, Booleans, bytes, voids, arrays, c-style strings and ASCII- The object lifecycle, including storage duration, memory management, static and thread-local variables, exceptions, call stacks, and the RAII (resource acquisition is initialization) paradigm- Compile-time polymorphism and generic programming with templates, including a discussion of the proposed C++20 feature "concepts" and the Origins Library- Smart pointers like scoped, unique, and shared pointer, data structures from the stdlib like op-tional, pair, tuple, and any, plus many from Boost Libraries such as Variant, Tribool, and CompressedPair

Living by the Code


Enrique López Mañas - 2019
    It’s like chatting over coffee with your favorite people in tech — but better!It’s hard to make it as a developer in today’s tech world, and even harder to find mentors who can give you the straight advice on what it takes to go from good, to great, to amazing.But — what if you could pick the brains of today’s top developers, leaders and innovators in tech......discovering the paths each person took to get where they are today......learning from the mistakes and pivots they’ve made in their careers......and start using the exact tips and techniques that keep them at the top of their game?Living by the Code brings the experiences and insights of over 40 of these influencers together in one single book, to help you grow your career in today’s ever-changing technical landscape.If you’re struggling to make your mark in the competitive tech industry, then this book is what you need to make your best career move — no matter whether you’re a developer for a big corporation, a scrappy solo entrepreneur, or someone in between.It’s like having dozens of tech’s best mentors — right at your fingertips.Be your best by learning from the best: including Felix Krause, Annyce Davis, Fernando Cejas, Cate Huston, Huyen Tue Dao, John Sundell, Ash Furrow, Zarah Dominguez, Hadi Hariri & many more!

Head First Go


Jay McGavren - 2019
    Andthis book makes it easy for programmers like you to get started. Googledesigned Go for high-performance networking and multiprocessing, but--like Python and JavaScript--the language is easy to read and use. With thispractical hands-on guide, you'll learn how to write Go code using clearexamples that demonstrate the language in action. Best of all, you'll understandthe conventions and techniques that employers want entry-level Godevelopers to know.Why does this book look so different?Based on the latest research in cognitive science and learning theory, HeadFirst Go uses a visually rich format to engage your mind rather than a textheavyapproach that puts you to sleep. Why waste your time struggling withnew concepts? This multisensory learning experience is designed for theway your brain really works.

Advanced Algorithms and Data Structures


Marcello La Rocca - 2019
    Don’t despair! Many of these “new” problems already have well-established solutions. Algorithms and Data Structures in Action teaches you powerful approaches to a wide range of tricky coding challenges that you can adapt and apply to your own applications. Providing a balanced blend of classic, advanced, and new algorithms, this practical guide upgrades your programming toolbox with new perspectives and hands-on techniques.

iOS Unit Testing by Example


Jon Reid - 2019
    It can take several taps just to reach a particular screen, never mind the actual workflow tests. Automatic unit testing offers such rapid feedback that it can change the rules of development. Bring testing to iOS development, even for legacy code. Use XCTest to write unit tests in Swift for all your code.iOS developers typically reserve unit tests for their model classes alone. But that approach skips most of the code common to iOS apps, especially with UIViewControllers. Learn how to unit test these view controllers to expand your unit testing possibilities. Since good unit tests form the bedrock for safe refactoring, you’re empowered to make bold changes. Learn how to avoid the most common mistakes Swift programmers make with the XCTest framework. Use code coverage to find holes in your test suites. Learn how to identify hard dependencies.Reshape the design of your code quickly, with less risk and less fear.

Freelance Newbie: A Beginner’s Guide to Finding Clients, Making Money, and Building Your Web Development Empire


RealTough Candy - 2019
     Featuring all the methods, techniques, tips, tricks, and insights you need to succeed, Freelance Newbie was written by a working freelancer whose mission is to help people like you find personal success and financial independence. 

The material you’ll read here has never been featured at a lower price — you simply cannot get this kind of value for less. We go through everything step-by-step with real-world examples so you know *exactly* what you need to do to become a successful freelancer. 

In Freelance Newbie, you’ll learn how to:

 • Develop a business plan from scratch 
• Establish a suitable work environment • Configure your own freelance website to generate quality leads • Determine what services to offer (and what to do if you don't know how to do something) • Figure out an appropriate pricing scheme for your services • Find “starter” clients that pave the way for 5-star social proof and full-paying, long-term clients • Draft effective proposals and contracts • Advertise for free (or very, very cheaply) • Deliver above-average customer service • Efficiently complete client projects — time runs out FAST • And much, much more! This book can also be used as the perfect companion manual to my video course available on Udemy.

Property-Based Testing with PropEr, Erlang, and Elixir: Find Bugs Before Your Users Do


Fred Hebert - 2019
    By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time.Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr.Start with the basics of property tests, such as writing stateless properties, and using the default generators to generate test cases automatically. More importantly, learn how to think in properties. Improve your properties, write custom data generators, and discover what your code can or cannot do. Learn when to use property tests and when to stick with example tests with real-world sample projects. Explore various testing approaches to find the one that's best for your code. Shrink failing test cases to their simpler expression to highlight exactly what breaks in your code, and generate highly relevant data through targeted properties. Uncover the trickiest bugs you can think of with nearly no code at all with two special types of properties based on state transitions and finite state machines.Write Erlang and Elixir properties that generate the most effective tests you'll see, whether they are unit tests or complex integration and system tests.What You NeedBasic knowledge of Erlang, optionally ElixirFor Erlang tests: Erlang/OTP >= 20.0, with Rebar >= 3.4.0For Elixir tests: Erlang/OTP >= 20.0, Elixir >= 1.5.0

HTTP/2 in Action


Barry Pollard - 2019
    Because HTTP/2 has been designed to be easy to transition to, including keeping it backwards compatible, adoption is rapid and expected to increase over the next few years. Concentrating on practical matters, this interesting book presents key HTTP/2 concepts such as frames, streams, and multiplexing and explores how they affect the performance and behavior of your websites.ABOUT THE TECHNOLOGYHTTP—Hypertext Transfer Protocol—is the standard for exchanging messages between websites and browsers. And after 20 years, it's gotten a much-needed upgrade. With support for streams, server push, header compression, and prioritization, HTTP/2 delivers vast improvements in speed, security, and efficiency.about the bookABOUT THE BOOKHTTP/2 in Action teaches you everything you need to know to use HTTP/2 effectively. You'll learn how to optimize web performance with new features like frames, multiplexing, and push. You'll also explore real-world examples on advanced topics like flow control and dependencies. With ready-to-implement tips and best practices, this practical guide is sure to get you—and your websites—up to speed!WHAT'S INSIDE* HTTP/2 for web developers* Upgrading and troubleshooting* Real-world examples and case studies* QUIC and HTTP/3ABOUT THE READERWritten for web developers and site administrators.ABOUT THE AUTHORBarry Pollard is a professional developer with two decades of experience developing, supporting, and tuning software and infrastructure.

Mastering Distributed Tracing: Analyzing performance in microservices and complex systems


Yuri Shkuro - 2019
    Through practical exercises and code examples, you will learn how end-to-end tracing can be used as a powerful application performance management and comprehension tool. The rise of Internet-scale companies, like Google and Amazon, ushered in a new era of distributed systems operating on thousands of nodes across multiple data centers. Microservices increased that complexity, often exponentially. It is harder to debug these systems, track down failures, detect bottlenecks, or even simply understand what is going on. Distributed tracing focuses on solving these problems for complex distributed systems. Today, tracing standards have developed and we have much faster systems, making instrumentation less intrusive and data more valuable.Yuri Shkuro, the creator of Jaeger, a popular open-source distributed tracing system, delivers end-to-end coverage of the field in Mastering Distributed Tracing. Review the history and theoretical foundations of tracing; solve the data gathering problem through code instrumentation, with open standards like OpenTracing, W3C Trace Context, and OpenCensus; and discuss the benefits and applications of a distributed tracing infrastructure for understanding, and profiling, complex systems. What you will learn How to get started with using a distributed tracing system How to get the most value out of end-to-end tracing Learn about open standards in the space Learn about code instrumentation and operating a tracing infrastructure Learn where distributed tracing fits into microservices as a core function Who this book is for Any developer interested in testing large systems will find this book very revealing and in places, surprising. Every microservice architect and developer should have an insight into distributed tracing, and the book will help them on their way. System administrators with some development skills will also benefit. No particular programming language skills are required, although an ability to read Java, while non-essential, will help with the core chapters. Table of Contents Why Distributed Tracing Take Tracing for a HotROD ride Distributed Tracing Fundamentals Instrumentation Basics with OpenTracing Instrumentation of Asynchronous Applications Tracing Standards and Ecosystem Tracing with Service Mesh All About Sampling Turning the Lights On Distributed Context Propagation Integration with Metrics and Logs Gathering Insights with Data Mining Implementing Tracing in Large Organizations Under the Hood of a Distributed Tracing System

Machine Learning: 4 Books in 1: A Complete Overview for Beginners to Master the Basics of Python Programming and Understand How to Build Artificial Intelligence Through Data Science


Samuel Hack - 2019
    Inside, you’ll discover everything you need to know to get started with Python and Machine Learning, and begin your journey to success! In book one, MACHINE LEARNING FOR BEGINNERS, you’ll learn:  What is Artificial Intelligence Really, and Why is it So Powerful? Choosing the Right Kind of Machine Learning Model for You An Introduction to Statistics Reinforcement Learning and Ensemble Modeling “Random Forests” and Decision Trees And Much More! In book two, MACHINE LEARNING MATHEMATICS, you will:  Learn the Fundamental Concepts of Machine Learning Algorithms Understand The Four Fundamental Types of Machine Learning Algorithm Master the Concept of “Statistical Learning" Learn Everything You Need to Know about Neural Networks and Data Pipelines Master the Concept of “General Setting of Learning” And Much More! In book three, LEARNING PYTHON, you’ll discover: How to Install, Run, and Understand Python on Any Operating System A Comprehensive Introduction to Python Python Basics and Writing Code Writing Loops, Conditional Statements, Exceptions and More Python Expressions and The Beauty of Inheritances And More! And in book four, PYTHON MACHINE LEARNING, you will: Learn the Fundamentals of Machine Learning Master the Nuances of 12 of the Most Popular and Widely-Used Machine Learning Algorithms Become Familiar with Data Science Technology Dive Into the Functioning of Scikit-Learn Library and Develop Machine Learning Models Uncover the Secrets of t

The React Handbook


Flavio Copes - 2019
    https://reacthandbook.com

Optics By Example


Chris Penner - 2019
    Examples in Haskell, but adaptable to other languages.Become a data-manipulation wizard using optics to manipulate data!This book takes you from beginner to advanced using Lenses, Traversals, Prisms, and more!

Beginning iOS 13 & Swift App Development: Develop iOS Apps with Xcode 11, Swift 5, Core ML, ARKit and more


Greg Lim - 2019
    You'll start building your first iOS app within minutes. Every section is written in a bite-sized manner and straight to the point as I don't want to waste your time (and most certainly mine) on the content you don't need. In the end, you will have the skills to create an app and submit it to the app store. In the course of this book, we will cover:Chapter 1 - Working with Xcode and Swift to build a BMI calculator app.Chapter 2 - Build a Quotes app using Table ViewChapter 3 - Create a To Do List app where we create, read, update and delete to-do itemsChapter 4 - Implement data persistency to our To Do List app using Core Data Chapter 5 - Improve our To Do List app by adding images and implementing swipe deletionChapter 6 - Build a cryptocurrency price tracker app which retrieves prices via an APIChapter 7 - Build a image detection app using machine learning with Core ML 2 and Create ML 2Chapter 8 - Create an Augmented Reality app with ARKitChapter 9 - Publish our app on to the App store Chapter 10 - SwiftUI Chapter 11 - Dark Mode Chapter 12 - Porting your iOS App to the Mac with Project Catalyst The goal of this book is to teach you iOS development in a manageable way without overwhelming you. We focus only on the essentials and cover the material in a hands-on practice manner for you to code along. About the Reader No previous knowledge on iOS development required, but you should have basic programming knowledge. About the Author Greg Lim is a technologist and author of several programming books. Greg has many years in teaching programming in tertiary institutions and he places special emphasis on learning by doing.

Your First Year in Code


Isaac LymanSabrina Gannon - 2019
    Whether you're switching careers, joining a bootcamp, starting a C.S. degree, or learning on your own, Your First Year in Code can help, with practical advice on topics like code reviews, resume writing, fitting in, ethics, and finding your dream job.

Programming Machine Learning


Paolo Perrotta - 2019
    But where to start? It’s easy to be intimidated, even as a software developer. The good news is that it doesn’t have to be that hard. Master machine learning by writing code one line at a time, from simple learning programs all the way to a true deep learning system. Tackle the hard topics by breaking them down so they’re easier to understand, and build your confidence by getting your hands dirty.

Mastering Spring 5: An effective guide to build enterprise applications using Java Spring and Spring Boot framework, 2nd Edition


Ranga Rao Karanam - 2019
    

The Official Scratch Coding Cards (Scratch 3.0): Creative Coding Activities for Kids


Natalie Rusk - 2019
    The front of each card shows an activity, like Pong, Write an Interactive Story, Create a Virtual Pet, Play Hide and Seek. The back shows how to put code blocks together to make projects come to life! Along the way, kids learn coding concepts like sequencing, conditionals, and variables.

Mastering Salesforce Devops: A Practical Guide to Building Trust While Delivering Innovation


Andrew Davis - 2019
    It fits together two major movements within the IT world: the movement to Software/Platform as a Service (SaaS/PaaS), and the DevOps movement. While SaaS and PaaS allow companies to invest in their core competencies rather than maintain their own infrastructure, the goal of DevOps is to optimize the process of delivering software innovation and value.The release of Salesforce DX in late 2017 unlocks the possibility of a true DevOps workflow on Salesforce. But DevOps is new to the Salesforce world and there is not a widespread understanding of its goals and methods, and so adoption of Salesforce DX is still in the early stages. Mastering Salesforce DevOps explains how to build a powerful and comprehensive DevOps workflow for Salesforce--allowing you to finally deploy the world's most innovative platform using the world's most effective and efficient techniques. It addresses the need for a comprehensive guide to DevOps for Salesforce, allowing teams to bring proven practices from the IT world to resolve the hardest problems facing Salesforce developers today. What You Will LearnImprove company performance and software delivery performance using Salesforce DXTranslate DevOps concepts into the unique language and practices of SalesforceUnderstand why and how you can implement Salesforce DX to achieve greater productivity and innovationEnable continuous delivery on SalesforceBuild packages and architect code so it can be deployed easilyAllow admins to participate in what has traditionally been a developer workflowKnow the techniques for reducing the stress and risk of deploymentApply the full range of automated tests that can be used on Salesforce Who This Book Is forSalesforce developers, release managers, and those managing Salesforce development teams who need a guide to DevOps, and DevOps specialists who need to apply familiar concepts to Salesforce

Professional JavaScript for Web Developers


Matt Frisbie - 2019
    Written for intermediate-to-advanced programmers, this book jumps right into the technical details to help you clean up your code and become a more sophisticated JavaScript developer. From JavaScript-specific object-oriented programming and inheritance, to combining JavaScript with HTML and other markup languages, expert instruction walks you through the fundamentals and beyond. This new fourth edition has been updated to cover ECMAScript 6 and 7 (also known as ES2015 and ES2016) and the major re-imagination and departure from ES 5.1; new frameworks and libraries, new techniques, new testing tools, and more are explained in detail for the professional developer, with a practical focus that helps you put your new skills to work on real-world projects.The latest--and most dramatic--ES release is already being incorporated into JavaScript engines in major browsers; this, coupled with the rise in mobile web traffic increasing demand for responsive, dynamic web design, means that all web developers need to update their skills--and this book is your ideal resource for quick, relevant guidance.Get up to date with ECMAScript 6 and 7, new frameworks, and new libraries Delve into web animation, emerging APIs, and build systems Test more effectively with mocks, unit tests, functional tests, and other tools Plan your builds for future ES releases Even if you think you know JavaScript, new ES releases bring big changes that will affect the way you work. For a professional-level update that doesn't waste time on coding fundamentals, Professional JavaScript for Web Developers is the ultimate resource to bring you up to speed.

Neural Network Projects with Python: The ultimate guide to using Python to explore the true power of neural networks through six projects


James Loy - 2019
    This book goes through some basic neural network and deep learning concepts, as well as some popular libraries in Python for implementing them.It contains practical demonstrations of neural networks in domains such as fare prediction, image classification, sentiment analysis, and more. In each case, the book provides a problem statement, the specific neural network architecture required to tackle that problem, the reasoning behind the algorithm used, and the associated Python code to implement the solution from scratch. In the process, you will gain hands-on experience with using popular Python libraries such as Keras to build and train your own neural networks from scratch.By the end of this book, you will have mastered the different neural network architectures and created cutting-edge AI projects in Python that will immediately strengthen your machine learning portfolio. What you will learn Learn various neural network architectures and its advancements in AI Master deep learning in Python by building and training neural network Master neural networks for regression and classification Discover convolutional neural networks for image recognition Learn sentiment analysis on textual data using Long Short-Term Memory Build and train a highly accurate facial recognition security system Who this book is for This book is a perfect match for data scientists, machine learning engineers, and deep learning enthusiasts who wish to create practical neural network projects in Python. Readers should already have some basic knowledge of machine learning and neural networks. Table of Contents Machine Learning and Neural Networks 101 Predicting Diabetes with Multilayer Perceptrons Predicting Taxi Fares with Deep Feedforward Networks Cats Versus Dogs - Image Classification Using CNNs Removing Noise from Images Using Autoencoders Sentiment Analysis of Movie Reviews Using LSTM Implementing a Facial Recognition System with Neural Networks What’s Next?

Haskell in Depth


Vitaly Bragilevsky - 2019
    And along the way, you’ll pick up some interesting insights into why Haskell looks and works the way it does. Get ready to go deep!

Beginning Node.js, Express & MongoDB Development


Greg Lim - 2019
    You'll start building your first Node.js app within minutes. Every chapter is written in a bite-sized manner and straight to the point as I don’t want to waste your time (and most certainly mine) on the content you don't need. In the end, you will have the skills to create a blog app and deploy it to the Internet. In the course of this book, we will cover: Chapter 1: Introduction Chapter 2: Introduction to npm & Express Chapter 3: Beginning our Blog Project Chapter 4: Templating Engines Chapter 5: Introduction to MongoDB Chapter 6: Applying MongoDB to our Project Chapter 7: Uploading an Image with Express Chapter 8: Introduction to Express Middleware Chapter 9: Refactoring to MVC Chapter 10: User Registration Chapter 11: User Authentication with Express Sessions Chapter 12: Showing Validation Errors Chapter 13: Relating Post Collection with User Collection Chapter 14: Adding a WYSIWYG Editor Chapter 15: Using MongoDB Atlas Chapter 16: Deploying Web Apps on Heroku The goal of this book is to teach you Node.js, Express and MongoDB development in a manageable way without overwhelming you. We focus only on the essentials and cover the material in a hands-on practice manner for you to code along. About the Reader No previous knowledge on Node.js development required, but you should have basic programming knowledge. About the Author Greg Lim is a technologist and author of several programming books. Greg has many years in teaching programming in tertiary institutions and he places special emphasis on learning by doing.

Google Professional Cloud Architect Study Guide


Dan Sullivan - 2019
    With those skills plus insight on how a certification exam tests for those skills, an IT professional can be confident for the exam. In Google Cloud Certified Associate Cloud Engineer Study Guide, readers get ready for this important exam from Google and master the skills they need to be prepared to tackle Google Cloud Architecture jobs. With 100% coverage of all exam objectives readers will learn: Designing for Business and Technical Requirements Designing Compute Resources Designing Storage Systems Designing Networks Designing Security and Legal Compliance Designing for Reliability Analyzing and Defining Technical Processes Analyzing and Defining Business Processes Development and Operations Migration Planning

Flutter for Beginners: An introductory guide to building cross-platform mobile applications with Flutter and Dart 2


Alessandro Biessek - 2019
    This book will help you get to grips with the basics of the Flutter framework and the Dart programming language.Starting from setting up your development environment, you’ll learn to design the UI and add user input functions. You'll explore the navigator widget to manage app routes and learn to add transitions between screens. The book will even guide you through developing your own plugin and later, you’ll discover how to structure good plugin code. Using the Google Places API, you'll also understand how to display a map in the app and add markers and interactions to it. You’ll then learn to improve the user experience with features such as map integrations, platform-specific code with native languages, and personalized animation options for designing intuitive UIs.The book follows a practical approach and gives you access to all relevant code files hosted at github.com/PacktPublishing/Flutter-fo.... This will help you access a variety of examples and prepare your own bug-free apps, ready to deploy on the App Store and Google Play Store.By the end of this book, you’ll be well-versed with Dart programming and have the skills to develop your own mobile apps or build a career as a Dart and Flutter app developer. What you will learn Understand the fundamentals of the Dart programming language Explore the core concepts of the Flutter UI and how it compiles for multiple platforms Develop Flutter plugins and widgets and understand how to structure plugin code appropriately Style your Android and iOS apps with widgets and learn the difference between stateful and stateless widgets Add animation to your UI using Flutter's AnimatedBuilder component Integrate your native code into your Flutter codebase for native app performance Who this book is for This book is for developers looking to learn Google's revolutionary framework Flutter from scratch. No prior knowledge of Flutter or Dart is required; however, basic knowledge of any programming language will be helpful. Table of Contents An Introduction to Dart Intermediate Dart Programming An Introduction to Flutter Widgets: Building layouts in Flutter Handling User Input and Gestures Theming and Styling Routing: Navigating between Screens Firebase Plugins Developing Your Own Flutter Plugin Acessing Device Features from the Flutter App Platform Views and Map Integration Testing, Debugging, and Deployment Improving User Experience Widget Graphic Manipulations Animations

25 Scratch 3 Games for Kids: A Playful Guide to Coding


Max Wainewright - 2019
    Create mazes, road-crossing games, and two-player games that keep score. Colorful pictures and easy-to-follow instructions show you how to add cool animations and sound effects to your games. You'll have hours of fun catching snowflakes, gobbling up tacos, and dodging donuts in space--while learning how to code along the way! Covers Scratch 3

Java Coding Problems: Improve your Java Programming skills by solving real-world coding challenges


Anghel Leonard - 2019
    Its new features and concepts can be adopted to solve a variety of modern-day problems. This book enables you to adopt an objective approach to common problems by explaining the correct practices and decisions with respect to complexity, performance, readability, and more.Java Coding Problems will help you complete your daily tasks and meet deadlines. You can count on the 300+ applications containing 1,000+ examples in this book to cover the common and fundamental areas of interest: strings, numbers, arrays, collections, data structures, date and time, immutability, type inference, Optional, Java I/O, Java Reflection, functional programming, concurrency and the HTTP Client API. Put your skills on steroids with problems that have been carefully crafted to highlight and cover the core knowledge that is accessed in daily work. In other words (no matter if your task is easy, medium or complex) having this knowledge under your tool belt is a must, not an option.By the end of this book, you will have gained a strong understanding of Java concepts and have the confidence to develop and choose the right solutions to your problems.What you will learn Adopt the latest JDK 11 and JDK 12 features in your applications Solve cutting-edge problems relating to collections and data structures Get to grips with functional-style programming using lambdas Perform asynchronous communication and parallel data processing Solve strings and number problems using the latest Java APIs Become familiar with different aspects of object immutability in Java Implement the correct practices and clean code techniques Who this book is forIf you are a Java developer who wants to level-up by solving real-world problems, then this book is for you. Working knowledge of Java is required to get the most out of this book. Table of Contents Strings, Numbers, and Math Objects, Immutability, and Switch Expressions Working with Date and Time Type Inference Arrays, Collections, and Data Structures Java I/O Paths, Files, Buffers, Scanning, and Formatting Java Reflection Classes, Interfaces, Constructors, Methods, and Fields Functional Style Programming - Fundamentals and Design Patterns Functional style programming - Deep dive Concurrency - Thread pools, Callables and Synchronizers Concurrency - Deep dive Optional The HTTP Client and WebSocket APIs

Build a Website With Django 3: A complete introduction to Django 3


Nigel George - 2019
    You'll be building a fully functioning website as you learn Django. I even show you how to deploy your website to the Internet for free.

Pro React 16


Adam Freeman - 2019
    You will learn how React brings the power of strong architecture and responsive data to the client, providing the foundation for complex and rich user interfaces.Best-selling author Adam Freeman explains how to get the most from React. He begins by describing the React architecture and the benefits it offers and then shows you how to use React and its associated tools and libraries in your projects, starting from the nuts and bolts and building up to the most advanced and sophisticated features, going in-depth to give you the knowledge you need.Each topic is presented clearly and concisely. Chapters include common problems and how to avoid them.What You'll LearnGain a solid understanding of the React designCreate rich and dynamic web app clients using ReactCreate data stores using ReduxConsume data using REST and GraphQLTest your React projectsWho This Book Is ForJavaScript developers who want to use React to create dynamic client-side applications

Building Web Apps with WordPress: WordPress as an Application Framework


Brian Messenlehner - 2019
    If you have basic PHP, HTML, CSS, and JavaScript experience you can use WordPress to develop fast, scalable, secure, and highly customized web apps, mobile apps, web services, and multisite networks of websites. Along with core WordPress functions and database schema, you’ll learn how to build custom plugins, themes, and services for just about any kind of web or mobile application.In this updated second edition, Brian Messenlehner and Jason Coleman cover new features and functionality added to WordPress up to version 5.4. All code examples in the book are available on GitHub. Compare WordPress with traditional app development frameworks Use themes for views and plugins for backend functionality Get suggestions for choosing or building WordPress plugins Register custom post types (CPTs) and taxonomies Manage user accounts and roles, and access user data Build asynchronous behaviors with jQuery Use WordPress to develop mobile apps for iOS and Android Integrate PHP libraries, external APIs, and web service plugins Collect payments through ecommerce and membership plugins Learn how to speed up and scale your WordPress app Extend the WordPress REST API and create custom endpoints Learn about WordPress Gutenberg blocks development

iOS 13 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics


Matt Neuburg - 2019
    With this thoroughly updated guide, you’ll learn the Swift language, understand Apple’s Xcode development tools, and discover the Cocoa framework. Explore Swift’s object-oriented concepts Become familiar with built-in Swift types Dive deep into Swift objects, protocols, and generics Tour the lifecycle of an Xcode project Learn how nibs are loaded Understand Cocoa’s event-driven design Communicate with C and Objective-C Once you master the fundamentals, you’ll be ready to tackle the details of iOS app development with author Matt Neuburg’s companion guide, Programming iOS 13.

Combine: Asynchronous Programming with Swift


Ray Wenderlich - 2019
    

Beginning Git and Github: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer


Mariot Tsitoara - 2019
    This book is your complete guide to how Git and GitHub work in a professional team environment.Divided into three parts - Version Control, Project Management and Teamwork - this book reveals what waits for you in the real world and how to resolve the problems you may run into. Once past the basics of Git, you'll see how to manage a software project, and finally how to utilize Git and GithHub to work effectively as a team.You'll examine how to plan, follow and execute a project with GitHub, and then apply those concepts to real-world situations. Workaround the pitfalls that most programmers fall into when driving a project with Git by using proven tactics to avoid them. You will also be taught the easiest and quickest ways to resolve merge conflicts.A lot of modern books on Git don't go into depth about non-technical topics. Beginning Git and GitHub will help you cover all the bases right at the start of your career.What You'll LearnReview basic and advanced concepts of GitApply Project Management skills using GitHubSolve conflicts or, ideally, avoid them altogetherUse advanced concepts for a more boosted workflowWho This book Is ForNew developers, developers that have never worked in a team environment before, developers with basic knowledge of Git or GitHub, or anyone who works with text documents.

Hands-On Microservices with Spring Boot and Spring Cloud: Build and deploy Java microservices using Spring Cloud, Istio, and Kubernetes


Magnus Larsson - 2019
    With this book, you’ll learn how to efficiently build and deploy microservices using Spring Boot. This microservices book will take you through tried and tested approaches to building distributed systems and implementing microservices architecture in your organization. Starting with a set of simple cooperating microservices developed using Spring Boot, you’ll learn how you can add functionalities such as persistence, make your microservices reactive, and describe their APIs using Swagger/OpenAPI. As you advance, you’ll understand how to add different services from Spring Cloud to your microservice system. The book also demonstrates how to deploy your microservices using Kubernetes and manage them with Istio for improved security and traffic management. Finally, you’ll explore centralized log management using the EFK stack and monitor microservices using Prometheus and Grafana.By the end of this book, you’ll be able to build microservices that are scalable and robust using Spring Boot and Spring Cloud. What you will learn Build reactive microservices using Spring Boot Develop resilient and scalable microservices using Spring Cloud Use OAuth 2.0/OIDC and Spring Security to protect public APIs Implement Docker to bridge the gap between development, testing, and production Deploy and manage microservices using Kubernetes Apply Istio for improved security, observability, and traffic management Who this book is for This book is for Java and Spring developers and architects who want to learn how to break up their existing monoliths into microservices and deploy them either on-premises or in the cloud using Kubernetes as a container orchestrator and Istio as a service Mesh. No familiarity with microservices architecture is required to get started with this book. Table of Contents Introduction to Microservices Introduction to Spring Boot Creating a Set of Cooperating Microservices Deploying Our Microservices Using Docker Adding an API Description Using OpenAPI/Swagger Adding Persisitence Developing Reactive Microservices Introduction to Spring Cloud Adding Service Discovery Using Netflix Eureka and Ribbon Using Spring Cloud Gateway to Hide Microservices Behind an Edge Server Securing Access to APIs Centralized Configuration Improving Resilience using Resilience4j Understanding Distributed Tracing Introduction to Kubernetes Deploying Our Microservices to Kubernetes Implementing Kubernetes Features as an Alternative Using a Service Mesh to Improve Observability and Management Centralized Logging with the EFK Stack Monitoring Microservices

Practical Security


Roman Zabicki - 2019
    Instead, as a developer or admin you often have to fit in security alongside your official responsibilities — building and maintaining computer systems. Implement the basics of good security now, and you’ll have a solid foundation if you bring in a dedicated security staff later. Identify the weaknesses in your system, and defend against the attacks most likely to compromise your organization, without needing to become a trained security professional.

Beej's Guide to Network Programming: Using Internet Sockets


Brian "Beej Jorgensen" Hall - 2019
    

Laravel Documentation 5.8 Part-1: Learn Laravel in simple and easy steps starting from basic to advanced concepts


Robert Bruce - 2019
    Laravel was created by Taylor Otwell. This is a best tutorial that explains the basics of Laravel framework.

What is Programming?


Edaqa Mortoray - 2019
    It lays bare the duties a programmer fulfills. It introduces the knowledge you are expected to have. It defines a role for us in the wider field of development.Use this book as a guide to your career. Go beyond the limitations of your current job. Learn all about the things you could be doing, to improve yourself, to expand your knowledge, and to become a great programmer.Take control of this modern occupation and define our role in development. Let's figure out how to build fantastic products, and take care of ourselves in the process. There's no need for frustration, imposter syndrome, nor possible burn-out."What is Programming?" is the outline to our journey.Join us.

Linux Observability with Bpf: Advanced Programming for Performance Analysis and Networking


David Calavera - 2019
    You'll not only dive into the BPF program lifecycle but also learn to write applications that observe and modify the kernel's behavior; inject code to monitor, trace, and securely observe events in the kernel; and more.Authors David Calavera and Lorenzo Fontana help you harness the power of BPF to make any computing system more observable. Familiarize yourself with the essential concepts you'll use on a day-to-day basis and augment your knowledge about performance optimization, networking, and security. Then see how it all comes together with code examples in C, Go, and Python.Write applications that use BPF to observe and modify the Linux kernel's behavior on demandInject code to monitor, trace, and observe events in the kernel in a secure way--no need to recompile the kernel or reboot the systemExplore code examples in C, Go, and PythonGain a more thorough understanding of the BPF program lifecycle

C# 8.0 Pocket Reference: Instant Help for C# 8.0 Programmers


Joseph Albahari - 2019
    Easy to browse, C# 8.0 Pocket Reference is ideal as a quick source of information or as a guide to get you rapidly up to speed if you already know Java, C++, or an earlier C# version.All programs and code snippets are available as interactive samples in LINQPad. You can edit these samples and instantly see the results without needing to set up projects in Visual Studio. Written by the author of C# 7.0 in a Nutshell, this pocket reference covers C# 8.0 without skimping on detail, including: C# fundamentals and features new to C# 8.0 Advanced topics like operator overloading, type constraints, iterators, nullable types, operator lifting, lambda expressions, and closures LINQ: sequences, lazy execution, standard query operators, and query expressions Unsafe code and pointers, custom attributes, preprocessor directives, and XML documentation

Learn to Program with App Inventor: A Visual Introduction to Building Apps


Lyra Blizzard Logan - 2019
    In less than an hour, you'll be able to build and run your first app!App Inventor is a free software for making Android apps. All you need is a PC with an Internet connection to build your app, and a mobile phone for testing. You'll use a simple drag-and-drop interface, which minimizes errors and avoids too much typing. A certified App Inventor Master Trainer, Logan breaks down each project into logical steps, lists the components you'll need, and then shows you how to create screen designs, control program flow with conditionals and loops, and store data in variables and lists. Once you've tested the app on your phone, you can test what you learned with challenges at the end of each chapter.You'll build cool apps like:  *  Hi, World!: Use your voice to send a text message  *  Practice Makes Perfect: Rehearse a speech or dance routine with this video recording app  *  Fruit Loot: Catch randomly failing fruit in this exciting game  *  Beat the Bus: Track a friend's journey using location services and maps  *  Virtual Shades: Take a selfie, then try on some virtual sunglassesJoin the 10 million people who have tried App Inventor, and make the journey from app user to app inventor.

T-SQL Window Functions: For Data Analysis and Beyond


Itzik Ben-Gan - 2019
    But they can do far more, and recent optimizations make them even more powerful. In T-SQL Window Functions, renowned T-SQL expert Itzik Ben-Gan introduces breakthrough techniques for using them to handle many common T-SQL querying tasks with unprecedented elegance and power. Using extensive code examples, he guides you through window aggregate, ranking, distribution, offset, and ordered set functions. You'll find a detailed section on optimization, plus an extensive collection of business solutions -- including novel techniques available in no other book. Microsoft MVP Itzik Ben-Gan shows how to: - Use window functions to improve queries you previously built with predicates - Master essential SQL windowing concepts, and efficiently design window functions - Effectively utilize partitioning, ordering, and framing - Gain practical in-depth insight into window aggregate, ranking, offset, and statistical functions - Understand how the SQL standard supports ordered set functions, and find working solutions for functions not yet available in the language - Preview advanced Row Pattern Recognition (RPR) data analysis techniques - Optimize window functions in SQL Server and Azure SQL Database, making the most of indexing, parallelism, and more - Discover a full library of window function solutions for common business problems About This Book - For developers, DBAs, data analysts, data scientists, BI professionals, and power users familiar with T-SQL queries - Addresses any edition of the SQL Server 2019 database engine or later, as well as Azure SQL Database Get all code samples at: MicrosoftPressStore.com/TSQLWindowFun...

Machine Learning with Python for Everyone


Mark Fenner - 2019
    If you can write some Python code, this book is for you, no matter how little college-level math you know. Principal instructor Mark E. Fenner relies on plain-English stories, pictures, and Python examples to communicate the ideas of machine learning.Mark begins by discussing machine learning and what it can do; introducing key mathematical and computational topics in an approachable manner; and walking you through the first steps in building, training, and evaluating learning systems. Step by step, you'll fill out the components of a practical learning system, broaden your toolbox, and explore some of the field's most sophisticated and exciting techniques. Whether you're a student, analyst, scientist, or hobbyist, this guide's insights will be applicable to every learning system you ever build or use. Understand machine learning algorithms, models, and core machine learning concepts Classify examples with classifiers, and quantify examples with regressors Realistically assess performance of machine learning systems Use feature engineering to smooth rough data into useful forms Chain multiple components into one system and tune its performance Apply machine learning techniques to images and text Connect the core concepts to neural networks and graphical models Leverage the Python scikit-learn library and other powerful tools Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Programming Boot Sector Games


Oscar Toledo Gutierrez - 2019
    You will learn how to use the registers, move data, do arithmetic, and handle text and graphics. You can run these programs on any PC machine and no program exceeds 512 bytes of executable code! The example programs include: - Guess the number. - Tic-Tac-Toe game. - Text graphics. - Mandelbrot set. - F-Bird game. - Invaders game. - Pillman game. - Toledo Atomchess. - bootBASIC language.

On the Measure of Intelligence


François Chollet - 2019
    Over the past hundred years, there has been an abundance of attempts to define and measure intelligence, across both the fields of psychology and AI. We summarize and critically assess these definitions and evaluation approaches, while making apparent the two historical conceptions of intelligence that have implicitly guided them. We note that in practice, the contemporary AI community still gravitates towards benchmarking intelligence by comparing the skill exhibited by AIs and humans at specific tasks such as board games and video games. We argue that solely measuring skill at any given task falls short of measuring intelligence, because skill is heavily modulated by prior knowledge and experience: unlimited priors or unlimited training data allow experimenters to "buy" arbitrary levels of skills for a system, in a way that masks the system's own generalization power. We then articulate a new formal definition of intelligence based on Algorithmic Information Theory, describing intelligence as skill-acquisition efficiency and highlighting the concepts of scope, generalization difficulty, priors, and experience. Using this definition, we propose a set of guidelines for what a general AI benchmark should look like. Finally, we present a benchmark closely following these guidelines, the Abstraction and Reasoning Corpus (ARC), built upon an explicit set of priors designed to be as close as possible to innate human priors. We argue that ARC can be used to measure a human-like form of general fluid intelligence and that it enables fair general intelligence comparisons between AI systems and humans.

The Hardware Hacking Handbook: Breaking Embedded Security with Hardware Attacks


Jasper van Woudenberg - 2019
    The authors explore the embedded system threat model, hardware interfaces, various side channel and fault injection attacks (such as timing attacks, simple power analysis, and differential power analysis), as well as voltage and clock glitching.The Hardware Hacking Handbook is a deep dive into hardware attacks on embedded systems, perfect for anyone interested in designing, analyzing, and attacking devices. You'll start with a crash course in embedded systems and threats to them, as well as hardware interfaces and how to set up a test lab, all while learning invaluable theoretical background. Real-life examples and hands-on labs throughout allow you to explore hardware interfaces and complete various side channel or fault attacks on real devices. You'll learn fault injection attacks and methods like voltage glitching, clock glitching, and optical and electromagnetic fault injection, side channel power analysis, and differential fault analysis.

Reactive Programming with Kotlin: Learn Rx with RxJava, RxKotlin, and RXAndroid


Ray Wenderlich - 2019
    

Autotools, 2nd Edition: A Practitioner's Guide to Gnu Autoconf, Automake, and Libtool


John Calcote - 2019
    Although the Autotools are used by thousands of open source software packages, they have a notoriously steep learning curve.Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. Author John Calcote begins with an overview of high-level concepts and a hands-on tour of the philosophy and design of the Autotools. He then tackles more advanced details, like using the M4 macro processor with Autoconf, extending the framework provided by Automake, and building Java and C# sources. He concludes with solutions to frequent problems encountered by Autotools users.This thoroughly revised second edition has been updated to cover the latest versions of the Autotools. It includes five new chapters on topics like pkg-config, unit and integration testing with Autotest, internationalizing with GNU tools, the portability of gnulib, and using the Autotools with Windows. As with the first edition, you'll focus on two projects: Jupiter, a simple Hello, world! program, and FLAIM, an existing, complex open source effort containing four separate but interdependent projects. Follow along as the author takes Jupiter's build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex, hand-coded makefiles to the powerful and flexible GNU build system.Learn how to:- Master the Autotools build system to maximize your software's portability - Generate Autoconf configuration scripts to simplify the compilation process - Produce portable makefiles with Automake - Build cross-platform software libraries with Libtool - Write your own Autoconf macrosThis detailed introduction to the GNU Autotools is indispensable for developers and programmers looking to gain a deeper understanding of this complex suite of tools. Stop fighting against the system and make sense of it all with the second edition of Autotools!

Programming for Computations - Python: A Gentle Introduction to Numerical Simulations with Python 3.6 (Texts in Computational Science and Engineering Book 15)


Svein Linge - 2019
    This book presents computer programming as a key method for solving mathematical problems. This second edition of the well-received book has been extensively revised: All code is now written in Python version 3.6 (no longer version 2.7). In addition, the two first chapters of the previous edition have been extended and split up into five new chapters, thus expanding the introduction to programming from 50 to 150 pages. Throughout the book, the explanations provided are now more detailed, previous examples have been modified, and new sections, examples and exercises have been added. Also, a number of small errors have been corrected. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style employed is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows students to write simple programs for solving common mathematical problems with numerical methods in the context of engineering and science courses. The emphasis is on generic algorithms, clean program design, the use of functions, and automatic tests for verification.

Make Your Own Twine Games!


Anna Anthropy - 2019
    You'll learn the basics of Twine like how to use links and apply images and formatting to make your game look more distinct. You'll get tips on how to test your game, export it, and publish it online, and even understand more advanced features like scripting to get your game to remember and respond to player choices. As you make your way through the book and begin crafting your own interactive fiction, you'll learn other cool tricks like how to:- Write stories that follow multiple paths using hyperlinks- Create variables to track your player's actions- Add scripting like "if" and "else" to decide when ghosts should appear in your game- Use hooks to add fancy touches like text effects, pictures, and soundWith example games to act as inspiration, Make Your Own Twine Games! will take you from story-teller to game designer in just a few clicks! Ready player one? The game starts now.Covers Twine 2

Beginning x64 Assembly Programming: From Novice to AVX Professional


Jo Van Hoey - 2019
    By the end of this book, you will be able to write and read assembly code, mix assembly with higher level languages, know what AVX is, and a lot more than that. The code used in Beginning x64 Assembly Programming is kept as simple as possible, which means: no graphical user interfaces or whistles and bells or error checking. Adding all these nice features would distract your attention from the purpose: learning assembly language. The theory is limited to a strict minimum: a little bit on binary numbers, a short presentation of logical operators, and some limited linear algebra. And we stay far away from doing floating point conversions. The assembly code is presented in complete programs, so that you can test them on your computer, play with them, change them, break them. This book will also show you what tools can be used, how to use them, and the potential problems in those tools. It is not the intention to give you a comprehensive course on all of the assembly instructions, which is impossible in one book: look at the size of the Intel Manuals. Instead, the author will give you a taste of the main items, so that you will have an idea about what is going on. If you work through this book, you will acquire the knowledge to investigate certain domains more in detail on your own. The majority of the book is dedicated to assembly on Linux, because it is the easiest platform to learn assembly language. At the end the author provides a number of chapters to get you on your way with assembly on Windows. You will see that once you have Linux assembly under your belt, it is much easier to take on Windows assembly.This book should not be the first book you read on programming, if you have never programmed before, put this book aside for a while and learn some basics of programming with a higher-level language such as C.What You Will Learn Discover how a CPU and memory works Appreciate how a computer and operating system work together See how high-level language compilers generate machine language, and use that knowledge to write more efficient code Be better equipped to analyze bugs in your programs Get your program working, which is the fun part Investigate malware and take the necessary actions and precautions Who This Book Is ForProgrammers in high level languages. It is also for systems engineers and security engineers working for malware investigators.  Required knowledge: Linux, Windows, virtualization, and higher level programming languages (preferably C or C++).

Refactoring TypeScript: Keeping your code healthy


James Hickey - 2019
    With refactoring, the best approach is to apply small targeted changes to a codebase. Instead of doing a huge sweeping change to your code, refactoring is better as a long-term and continuous enterprise. Refactoring TypeScript explains how to spot bugs and remove them from your code.You’ll start by seeing how wordy conditionals, methods, and null checks make code unhealthy and unstable. Whether it is identifying messy nested conditionals or removing unnecessary methods, this book will show various techniques to avoid these pitfalls and write code that is easier to understand, maintain, and test.By the end of the book, you’ll have learned some of the main causes of unhealthy code, tips to identify them and techniques to address them. What you will learn Spot and fix common code smells to create code that is easier to read and understand Discover ways to identify long methods and refactor them Create objects that keep your code flexible, maintainable, and testable Apply the Single Responsibility Principle to develop less-coupled code Discover how to combine different refactoring techniques Learn ways to solve the issues caused by overusing primitives Who this book is for This book is designed for programmers who are looking to explore various refactoring techniques to develop healthy and maintainable code. Some experience in JavaScript and TypeScript can help you easily grasp the concepts explained in this book. Table of Contents Introduction Null Checks Everywhere! Wordy Conditionals Nested Conditionals Primitive Overuse Lengthy Method Signatures Methods That Never End Dumping Grounds Messy Object Creation Conclusion

Functional Design Patterns for Express.js: A step-by-step guide to building elegant, maintainable Node.js backends


Jonathan Lee Martin - 2019
    

Learning Amazon Web Services (Aws): A Hands-On Guide to the Fundamentals of Aws Cloud


Mark Wilkins - 2019
    Top cloud trainer and evangelist Mark Wilkins covers all you need to know to succeed with AWS, introducing each key concept in the context of a book-length case study. He teaches best practices that fully align with Amazon's Well Architected Framework, the basis of all AWS certifications -- making this guide a valuable learning tool for those seeking to demonstrate their expertise by pursuing formal certification. Wilkins introduces new concepts based on how they are presented in the AWS self-service portal, making his coverage even easier to learn from and practice with. Coverage includes: The big picture: What AWS is, how it has evolved, and how it can help you Foundation Core Services: compute, network, storage, and databases Implementing AWS Compute Services and EC2 instances (and understanding their pricing) Enforcing AWS security, compliance, and control Leveraging AWS Networking Services, including VPC, CIDR, DHCP, NAT, Internet gateways, endpoints, and VPNs Utilizing AWS cloud storage and databases Efficiently administering and managing AWS

Conceptual Programming with Python


Thorsten Altenkirch - 2019
    The book is intended for students with little or no background in programming coming from different backgrounds educationally as well as culturally. It is not mainly a Python course but we use Python as a vehicle to teach basic programming concepts. Hence, the words conceptual programming in the title. We cover basic concepts about data structures, imperative programming, recursion and backtracking, object-oriented programming, functional programming, game development and some basics of data science.

Probabilistic Data Structures and Algorithms for Big Data Applications


Andrii Gakhov - 2019
    Reading this book, you will get a theoretical and practical understanding of probabilistic data structures and learn about their common uses.

Tanmay Teaches Julia for Beginners: A Springboard to Machine Learning for All Ages


Tanmay Bakshi - 2019
    Written by 15-year-old technology phenom Tanmay Bakshi, the book is presented in an accessible style that makes learning easy and enjoyable. Tanmay Teaches Julia for Beginners: A Springboard to Machine Learning for All Ages clearly explains the basics of Julia programming and takes a look at cutting-edge machine learning applications. You will also discover how to interface your Julia apps with code written in Python.Inside, you'll learn to:- Set up and configure your Julia environment- Get up and running writing your own Julia apps- Define variables and use them in your programs- Use conditions, iterations, for-loops, and while-loops- Create, go through, and modify arrays- Build an app to manage things you lend and get back from your friends- Create and utilize dictionaries- Simplify maintenance of your code using functions- Apply functions on arrays and use functions recursively and generically- Understand and program basic machine learning apps

Python Algorithms: Mastering Algorithms in the Python Language


Magnus Lie Hetland - 2019
    This is a book about algorithmic problem solving for Python programmers. Just like books on, say, object-oriented patterns, the problems it deals with are of a general nature—as are the solutions. Your task as an algorist will, in many cases, be more than simply to implement or execute an existing algorithm, as you would, for example, in solving an algebra problem. Instead, you are expected to come up with new algorithms—new general solutions to hitherto unseen, general problems. In this book, you are going to learn principles for constructing such solutions. This may not be your typical algorithm book, though. Most of the authoritative books on the subject (such as the Knuth’s classics or the industry-standard textbook by Cormen et al.) have a heavy formal and theoretical slant, even though some of them (such as the one by Kleinberg and Tardos) lean more in the direction of readability. Instead of trying to replace any of these excellent books, I’d like to supplement them. Building on my experience from teaching algorithms, I try to explain as clearly as possible how the algorithms work and what common principles underlie many of them. For a programmer, these explanations are probably enough. Chances are you’ll be able to understand why the algorithms are correct and how to adapt them to new problems you may come to face. If, however, you need the full depth of the more formalistic and encyclopedic textbooks, I hope the foundation you get in this book will help you understand the theorems and proofs you encounter there. There is another genre of algorithm books as well: the “(Data Structures and) Algorithms in blank” kind, where the blank is the author’s favorite programming language. There are quite a few of these (especially for blank = Java, it seems), but many of them focus on relatively basic data structures, to the detriment of the more meaty stuff. This is understandable if the book is designed to be used in a basic course on data structures, for example, but for a Python programmer, learning about singly and doubly linked lists may not be all that exciting (although you will hear a bit about those in the next chapter). And even though techniques such as hashing are highly important, you get hash tables for free in the form of Python dictionaries; there’s no need to implement them from scratch. Instead, I focus on more high level algorithms. Many important concepts that are available as black-box implementations either in the Python language itself or in the standard library (such as sorting, searching, and hashing) are explained more briefly, in special “black box” sidebars throughout the text.

Super Scratch Programming Adventure! (Scratch 3)


The LEAD Project - 2019
    By dragging together colorful blocks of code, kids can learn computer programming concepts and make cool games and animations. The latest version, Scratch 3, features an updated interface, new sprites and programming blocks, and extensions that let you program things like the micro:bit.In Super Scratch Programming Adventure!, kids learn programming fundamentals as they make their very own playable video games. They'll create projects inspired by classic arcade games that can be programmed (and played!) in an afternoon. Patient, step-by-step explanations of the code and fun programming challenges will have kids creating their own games in no time.This full-color comic book makes programming concepts like variables, flow control, and subroutines effortless to absorb. Packed with ideas for games that kids will be proud to show off, Super Scratch Programming Adventure! is the perfect first step for the budding programmer.Covers Scratch 3

Fundamentals of Computer Programming with C#: Programming Principles, Object-Oriented Programming, Data Structures


Svetlin Nakov - 2019
    It comes with video lessons, presentations, exercises and solutions. This programming tutorial starts with the first steps in programming and software development like variables, data types, conditional statements, loops and arrays and continues with other basic topics like methods, numeral systems, strings and string processing, exceptions, classes and objects. After the basics this open-source fundamental programming book enters into more advanced programming topics like recursion, data structures (lists, trees, hash-tables and graphs), high-quality code, unit testing and refactoring, object-oriented principles (inheritance, abstraction, encapsulation and polymorphism) and their implementation in the C# language. It also covers fundamental topics that each good developer should know like algorithm design, complexity of algorithms and problem solving. This open-source programming book uses C# language and Visual Studio to illustrate the programming concepts and explains some C# / .NET specific technologies like lambda expressions, extension methods and LINQ. This open-source programming C# book is written by a team of developers lead by Svetlin Nakov (https://nakov.com) who has 20+ years practical software development experience and 10+ years as software development trainer. This open-source book on fundamentals of programming teaches the major programming concepts and way of thinking needed to become a good software engineer and the C# language in the meantime. It is a great start for anyone who wants to become a skillful software engineer. The books does not teach technologies like databases, mobile and web development, but shows the true way to master the basics of programming regardless of the languages, technologies and tools. It is good for beginners and intermediate developers who want to put a solid base for a successful career in the software engineering industry. The book is accompanied by free video lessons, presentation slides and mind maps, as well as hundreds of exercises and live examples. Download the open-source C# programming book, videos, presentations and other resources from https://introprogramming.info. Tags: open-source, programming, book, free, computer programming, programming fundamentals, ebook, book programming, C#, CSharp, C# book, tutorial, C# tutorial; programming concepts, programming fundamentals, compiler, Visual Studio, .NET, .NET Framework, data types, variables, expressions, statements, console, conditional statements, control-flow logic, loops, arrays, numeral systems, methods, strings, text processing, StringBuilder, exceptions, exception handling, stack trace, streams, files, text files, linear data structures, list, linked list, stack, queue, tree, balanced tree, graph, depth-first search, DFS, breadth-first search, BFS, dictionaries, hash tables, associative arrays, sets, algorithms, sorting algorithm, searching algorithms, recursion, combinatorial algorithms, algorithm complexity, OOP, object-oriented programming, classes, objects, constructors, fields, properties, static members, abstraction, interfaces, encapsulation, inheritance, virtual methods, polymorphism, cohesion, coupling, enumerations, generics, namespaces, UML, design patterns, extension methods, anonymous types, lambda expressions, LINQ, code quality, high-quality code, high-quality classes, high-quality methods, code formatting, self-documenting code, code refactoring, problem solving, problem solving methodology, ISBN 9544007733, ISBN 978-954-400-773-7, ISBN 9789544007737

QED at Large: A Survey of Engineering of Formally Verified Software


Talia Ringer - 2019
    

Deep Learning Techniques for Music Generation (Computational Synthesis and Creative Systems)


Jean-Pierre Briot - 2019
    

Developing Enterprise Chatbots: Learning Linguistic Structures


Boris Galitsky - 2019
    Designers have to learn to combine intuitive, explainable language understanding and reasoning approaches with high-performance statistical and deep learning technologies. Today, there are two popular paradigms for chatbot construction:1. Build a bot platform with universal NLP and ML capabilities so that a bot developer for a particular enterprise, not being an expert, can populate it with training data;2. Accumulate a huge set of training dialogue data, feed it to a deep learning network and expect the trained chatbot to automatically learn “how to chat”. Although these two approaches are reported to imitate some intelligent dialogues, both of them are unsuitable for enterprise chatbots, being unreliable and too brittle.The latter approach is based on a belief that some learning miracle will happen and a chatbot will start functioning without a thorough feature and domain engineering by an expert and interpretable dialogue management algorithms.Enterprise high-performance chatbots with extensive domain knowledge require a mix of statistical, inductive, deep machine learning and learning from the web, syntactic, semantic and discourse NLP, ontology-based reasoning and a state machine to control a dialogue. This book will provide a comprehensive source of algorithms and architectures for building chatbots for various domains based on the recent trends in computational linguistics and machine learning. The foci of this book are applications of discourse analysis in text relevant assessment, dialogue management and content generation, which help to overcome the limitations of platform-based and data driven-based approaches.Supplementary material and code is available at https://github.com/bgalitsky/relevanc...

Android Programming with Kotlin for Beginners: Build Android apps starting from zero programming experience with the new Kotlin programming language


John Horton - 2019
    With the imminent arrival of the most anticipated Android update, Android 10 (Q), this book gets you started building apps compatible with the latest version of Android.It adopts a project-style approach, where we focus on teaching the fundamentals of Android app development and the essentials of Kotlin by building three real-world apps and more than a dozen mini-apps. The book begins by giving you a strong grasp of how Kotlin and Android work together before gradually moving onto exploring the various Android APIs for building stunning apps for Android with ease. You will learn to make your apps more presentable using different layouts. You will dive deep into Kotlin programming concepts such as variables, functions, data structures, Object-Oriented code, and how to connect your Kotlin code to the UI. You will learn to add multilingual text so that your app is accessible to millions of more potential users. You will learn how animation, graphics, and sound effects work and are implemented in your Android app.By the end of the book, you will have sound knowledge about significant Kotlin programming concepts and start building your own fully featured Android apps. What you will learn Learn how Kotlin and Android work together Build a graphical drawing app using Object-Oriented Programming (OOP) principles Build beautiful, practical layouts using ScrollView, RecyclerView, NavigationView, ViewPager and CardView Write Kotlin code to manage an apps' data using different strategies including JSON and the built-in Android SQLite database Add user interaction, data captures, sound, and animation to your apps Implement dialog boxes to capture input from the user Build a simple database app that sorts and stores the user's data Who this book is for This book is for people who are new to Kotlin, Android and want to develop Android apps.It also acts as a refresher for those who have some experience in programming with Android and Kotlin. Table of Contents Getting Started with Android and Kotlin Kotlin, XML, and the UI Designer Exploring Android Studio and the Project Structure Getting Started with Layouts and Material Design Beautiful Layouts with CardView and ScrollView The Android Lifecycle Kotlin Variables, Operators, and Expressions Kotlin Decisions and Loops Kotlin Functions Object-Oriented Programming Inheritance in Kotlin Connecting Our Kotlin to the UI and Nullability Bringing Android Widgets to Life Android Dialog Windows Handling Data and Generating Random Numbers Adapters and Recyclers Data Persistence and Sharing Localization Animations and Interpolations

Data Mastery - Python


Lauren Glass - 2019
    You will learn Python syntax quickly, practice, and continue to use this book as a reference. It is meant for Software Engineers who already know other programming languages but want a reference for the top programming language for data work, Data Analysts or Scientists who need to learn enough Python for a project or an interview, and last but not least Data Engineers or Business Intelligence Developers refreshing for interviews.

Learn Data Structures and Algorithms with Golang: Level up your Go programming skills to develop faster and more efficient code


Bhagvan Kommadi - 2019
    

Pro Python 3: Features and Tools for Professional Development


J Burton Browning - 2019
    This book explores the concepts and features that will improve not only your code but also your understanding of the Python community with insights and details about the Python philosophy.Pro Python 3, Third Edition gives you the tools to write clean, innovative code. It starts with a review of some core Python principles, which are illustrated by various concepts and examples later in the book. The first half of the book explores aspects of functions, classes, protocols, and strings, describing techniques which may not be common knowledge, but which together form a solid foundation. Later chapters cover documentation, testing, and app distribution. Along the way, you'll develop a complex Python framework that incorporates ideas learned throughout the book.Updates in this edition include the role of iterators in Python 3, web scraping with Scrapy and BeautifulSoup, using Requests to call web pages without strings, new tools for distribution and installation, and much more. By the end of the book you'll be ready to deploy uncommon features that can take your skills to the next level in Python.What You'll LearnImplement programs with various types of Python functionsWork with classes and object-oriented programmingUse strings from the standard library and third-party librariesHarvest web site data with PythonAutomate unit testing by writing a test suiteReview imaging, random number generation, and NumPy scientific extensionsUnderstand The Zen of Python documentation to help you decide the best way to distribute your codeWho This Book Is ForIntermediate programmers familiar with Python who are looking to move to an advanced level. You should have written at least a simple Python application, and be comfortable with a basic object-oriented approach, using the interactive interpreter, and writing control structures.

The Essentials of Modern Software Engineering


Ivar Jacobson - 2019
    Education must start from an understanding of the heart of software development, from familiar ground that is common to all software development endeavors. This book is an in-depth introduction to software engineering that uses a systematic, universal kernel to teach the essential elements of all software engineering methods.This kernel, "Essence" is a vocabulary for defining methods and practices. Essence was envisioned and originally created by Ivar Jacobson and his colleagues, developed by Software Engineering Method and Theory (SEMAT) and approved by The Object Management Group (OMG) as a standard in 2014. Essence is a practice-independent framework for thinking and reasoning about the practices we have and the practices we need. Essence establishes a shared and standard understanding what is at the heart of software development. Essence is agnostic to any particular method, lifecycle independent, programming language independent, concise, scalable, extensible, and formally specified. Essence frees the practices from their method prisons.The first part of the book describes Essence, the essential elements to work with, the essential things to do and the essential competencies you need when developing software. The other three parts describe more and more advanced use cases of Essence. Using real but manageable examples, it covers the fundamentals of Essence and the innovative use of serious games to support software engineering. It also explains how current practices such as user stories, use cases, Scrum, and micro-services can be described using Essence, and illustrates how their activities can be represented using the Essence notions of cards and checklists. The fourth part of the book offers a vision how Essence can be scaled to support large, complex systems engineering.Essence is supported by an ecosystem developed and maintained by a community of experienced people worldwide. From this ecosystem, professors and students can select what they need and create their own way of working, thus learning how to create ONE way of working that matches the particular situation and needs.

Fullstack D3 and Data Visualization: Build beautiful data visualizations with D3


Amelia Wattenberger - 2019
    With dozens of code examples showing each step, you can gain new insights into your data by creating visualizations.Learn how to quickly turn data into insights with D3We have the data. But it needs to be understood by humans. The best way to convert this data into an understandable format is to mold it into a data visualization.And D3 is the best tool for job if you need to create custom data visualizations.With Fullstack D3 and Data Visualization you and your team will be able to share key insights, uncover problems before they start, and impress your boss by creating gorgeous visualizations.What's InsideChapter 0: Introduction When would you want to use D3.js?There is a spectrum of libraries to create charts on the web: on one end, you have easy-to-use, basic libraries that will create a standard chart type.Chapter 1: Making your first chart In this chapter we make a line chart. Line charts are a great starting place because of their popularity, but also because of their simplicity.Chapter 2: Making a scatterplot When looking at the relationship between two metrics, a scatterplot is a good choice. In this chapter we show how to create a scatterplot.Chapter 3: Making a bar chart In this chapter we cover how to create a histogram, which is a bar chart that shows the distribution of one metric, with the metric values on the x axis and the frequency of values on the y axis.Chapter 4: Animations and Transitions When we update our charts, we can animate elements from their old to their new positions. These animations can be visually exciting, but more importantly, they have functional benefits.Chapter 5: Interactions The biggest advantage of creating charts with JavaScript is the ability to respond to user input.Chapter 6: Making a map Maps are also uniquely good at answering geography-based questions. In this chapter, we'll build a map and learn how to plot values within a location.Chapter 7: Data Visualization Basics Now that we're comfortable with how to create a chart, we should zoom out a bit and talk about what chart to create.Chapter 8: Common Charts In this chapter, we talk about common chart types and when to use them.Chapter 9: Dashboard DesignA dashboard is any web interface that makes sense out of dynamic data, and in this chapter we learn how to make one.Chapter 10: Advanced Visualization: Marginal Histogram First, we'll focus on enhancing a chart we've already made: our scatter plot. This chart will have multiple goals, all exploring the daily temperature ranges in our weather dataset.Chapter 11: Advanced Visualization: Radial Weather Chart We talked about radar charts in Chapter 10. For this project, we'll build a more complex radar chart.Chapter 12: Advanced Visualization: Animated Sankey Diagram In this project, we'll be simulating real data and creating an animated diagram to engage our viewers.Chapter 13: D3 and React What's the best way to draw a chart within React? It turns out that there is a fair bit of overlap in functionality between a React and D3 - we'll discuss how we can create blazing fast charts using the two together.Chapter 14: D3 and Angular In this chapter we show how to create optimized SVG charts using D3 and Angular.

Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications


Fedor G. Pikus - 2019
    Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation.The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen."By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code.

Discover Functional JavaScript: An overview of Functional and Object Oriented Programming in JavaScript


Cristian Salcescu - 2019
    At the same time, it offers a new way of doing Object Oriented Programming without classes and prototypes. Programming in a functional style means to use concepts such as first-class functions, closures, higher-order functions, partial application, currying, immutability or pure functions. Pure Functional Programming promises to make code easier to read, understand, test, debug or compose. Can we build an application using only pure functions? Decorators are a tool for reusing common logic and creating variations of existing functions. Closure can encapsulate state. Multiple closures sharing the same private state can create flexible and encapsulated objects. "One of the best new Functional Programming ebooks" - BookAuthority

Algorithmic Trading with Interactive Brokers (Python and C++)


Matthew Scarpino - 2019
    

C Programming Pocket Primer


O. Campesato - 2019
    Companion files with source code from the book and figures are included (available from the publisher for downloading by writing to info@merclearning.com). Features +Provides an overview of the most important C programming techniques +Covers up-to-date information regarding the C11 standard +Includes two chapters on pointers +Contains companion files with source code from the book ( available from the publisher for downloading by writing to info@merclearning.com) Brief Table of Contents 1: Introduction to C. 2: Conditional Logic and Simple Tasks. 3: Loops and Arrays. 4: Functions in C. 5: Working with Pointers in C. 6: Working with cPointers. 7: Miscellaneous Topics. Appendix: The make Utility. On the Companion Files! (also available from the publisher for downloading by writing to info@merclearning.com) +Source code samples About the Author Oswald Campesato (San Francisco, CA) specializes in Data Cleaning, Java, Android, and CSS3/SVG graphics. He is the author/co-author of over twenty-five books including Android Pocket Primer, Angular4 Pocket Primer, and the Python Pocket Primer (Mercury Learning).

Python for beginners: An introduction to the programming. Data science and data analysis. Clear definitions of the lexicon. Python for beginners = A guide for everybody!


Mark Wilson - 2019
    As a dynamic lаnguаgе whоѕе design рhіlоѕорhу rеvоlvеѕ аrоund rеаdаbіlіtу and conciseness, Pуthоn іѕ a рорulаr сhоісе fоr uѕе аѕ a scripting lаnguаgе. Lіkе оthеr іntеrрrеtаtіvе lаnguаgеѕ, it іѕ more flexible than соmріlеd lаnguаgеѕ, аnd іt can bе used tо tіе disparate ѕуѕtеmѕ tоgеthеr. Indeed, Python is a versatile lаnguаgе with mаnу applications іn grоwіng fіеldѕ.Fоr example, Python іѕ a рорulаr рrоgrаmmіng language fоr educational ѕоftwаrе. Raspberry Pi, thе ѕіnglе-bоаrd соmрutеr project fоr tеасhіng ѕtudеntѕ соmрutеr рrоgrаmmіng, uses Python as іtѕ рrіmаrу рrоgrаmmіng language. In addition, much оf thе ѕоftwаrе for thе One Laptop per Child XO іѕ wrіttеn in Pуthоn. At thе оthеr еnd оf the educational spectrum, Pуthоn іѕ аlѕо a very еffесtіvе language for scientific соmрutіng аnd mathematical ѕоftwаrе fоr theoretical mathematics. Aѕ еduсаtіоnаl ѕоftwаrе dеvеlорmеnt соntіnuеѕ tо grоw, Pуthоn will bесоmе a more аnd more іmроrtаnt lаnguаgе tо know.In аddіtіоn tо еduсаtіоnаl ѕоftwаrе, Python іѕ аlѕо a fаvоrеd lаnguаgе for use іn AI tаѕkѕ. Because Pуthоn іѕ a scripting language wіth rісh tеxt processing tools, mоdulе architecture, and syntax ѕіmрlісіtу, it is a natural сhоісе for аррlісаtіоnѕ іnvоlvіng nаturаl lаnguаgе processing. Prоgrаmѕ like Wоlfrаm Alpha and Sіrі are juѕt bеgіnnіng to penetrate thе еnd-uѕеr mаrkеt аnd mаnу such рrоgrаmѕ уеt to соmе wіll bе written іn Python. Start reading this wonderful book ... click the button below now!

Programmer's Guide to the Brain: With Examples in Python


Rob Vermiller - 2019
    Along the way, he explores the nature of personality, emotion, free will, consciousness, and diversity, and suggests ways for us to prepare for the coming age of robots and intelligent automation.

Mastering Data Science from Scratch with Python: Concepts and Practices with NumPy, Pandas, Matplotlib, Scikit-Learn and Keras


AI Publishing - 2019
    This book is written for beginners and novices who want to develop fundamental data science skills and learn how to build models that learn useful information from data. This book will prepare the learner for a career or further learning that involves more advanced topics. It contains introduction and very basic concepts used in data science. The learner is not required to have any prior knowledge but some basic knowledge of mathematics is required. The working of each algorithm is traced back to its origin in probability, statistics or linear algebra which helps learner to understand the topics better. The concepts of probability and statistics are defined and explained at rudimentary level to make things simple and easy to comprehend. For intuitive understanding, algorithms have been explained through proper visualizations and various examples. While we will focus more on the techniques normally used in Data Science, we will also explain, in-details, all the Python libraries used in any data science project. What this book offers...  You will learn all about data Science starting from Python Coding, Data Manipulation and Preprocessing, Data Visualization then data modeling using Python. All the modules will contain hands-on projects using real-world datasets. Clear and Easy to Understand Solutions All solutions in this book are extensively tested by a group of beta readers. The solutions provided are simplified as much as possible so that they can serve as examples for you to refer to when you are learning a new skill. What this book aims to do...  This book is written with one goal in mind – to help beginners overcome their initial obstacles to learn Data Science from Scratch. A lot of times, newbies tend to feel intimidated by Data Science Models and Coding. The goal of this book is to isolate the different concepts so that beginners can gradually gain competency in the fundamentals and keys concepts before working on a project at the end of each chapter. Beginners in Data Science does not have to be scary or frustrating when you take one step at a time. Ready to start practicing and start learning Data Science from Scratch? Click the BUY button now to download this book Topics Covered: Preliminary to Understand Data Science Overview of Python and Data Processing Statistics and Probability Supervised Learning Techniques Unsupervised Learning Techniques Neural Networks and Deep Learning Reinforcement Learning Techniques ..and more... Click the BUY button and download the book now to start learning Data Science. ** MONEY BACK GUARANTEE BY AMAZON ** If you aren't satisfied, for more information about the amazon refund service please go to the amazon help platform or contact us by sending an email at contact@aispublishing.net. **GET YOUR COPY NOW, the price will be 12.99$ soon**

Python for the Life Sciences: A Gentle Introduction to Python for Life Scientists


Alexander Lancaster - 2019
    The book was written specifically for biologists with little or no prior experience of writing code - with the goal of giving them not only a foundation in Python programming, but also the confidence and inspiration to start using Python in their own research.Virtually all of the examples in the book are drawn from across a wide spectrum of life science research, from simple biochemical calculations and sequence analysis, to modeling the dynamic interactions of genes and proteins in cells, or the drift of genes in an evolving population.Best of all, Python for the Life Sciences shows you how to implement all of these projects in Python, one of the most popular programming languages for scientific computing. If you are a life scientist interested in learning Python to jump-start your research, this is the book for you.What You'll Learn Write Python scripts to automate your lab calculationsSearch for important motifs in genome sequencesUse object-oriented programming with PythonStudy mining interaction network data for patternsReview dynamic modeling of biochemical switchesWho This Book Is ForLife scientists with little or no programming experience, including undergraduate and graduate students, postdoctoral researchers in academia and industry, medical professionals, and teachers/lecturers. "A comprehensive introduction to using Python for computational biology... A lovely book with humor and perspective" -- John Novembre, Associate Professor of Human Genetics, University of Chicago and MacArthur Fellow "Fun, entertaining, witty and darn useful. A magical portal to the big data revolution" -- Sandro Santagata, Assistant Professor in Pathology, Harvard Medical School "Alex and Gordon's enthusiasm for Python is contagious" -- Glenys Thomson Professor of Integrative Biology, University of California, Berkeley

Bayesian Statistics for Beginners: A Step-By-Step Approach


Therese M Donovan - 2019
    At its heart is a method of statistical inference in which Bayes' theorem is used to update the probability for a hypothesis as more evidence or information becomes available. It is an approach that is ideally suited tomaking initial assessments based on incomplete or imperfect information; as that information is gathered and disseminated, the Bayesian approach corrects or replaces the assumptions and alters its decision-making accordingly to generate a new set of probabilities. As new data/evidence becomesavailable the probability for a particular hypothesis can therefore be steadily refined and revised. It is very well-suited to the scientific method in general and is widely used across the social, biological, medical, and physical sciences. Key to this book's novel and informal perspective is itsunique pedagogy, a question and answer approach that utilizes accessible language, humor, plentiful illustrations, and frequent reference to on-line resources.Bayesian Statistics for Beginners is an introductory textbook suitable for senior undergraduate and graduate students, professional researchers, and practitioners seeking to improve their understanding of the Bayesian statistical techniques they routinely use for data analysis in the life andmedical sciences, psychology, public health, business, and other fields.

Advanced Python Programming


Brian Overland - 2019
    Brian Overland distills advanced topics down to their essentials, illustrating them with simple examples and practical exercises. Building on Overland's widely praised approach in Python Without Fear, the authors start with short, simple examples designed for easy entry, and quickly ramp you up to creating useful utilities and games, and using Python to solve interesting puzzles. Everything you'll need to know is patiently explained and clearly illustrated, and the authors illuminate the design decisions and tricks behind each language feature they cover. You'll gain the in-depth understanding to successfully apply all these advanced features and techniques: Coding for runtime efficiency Lambda functions (and when to use them) Managing versioning Localization and Unicode Regular expressions Binary operators Radix conversions Data formatting, in depth Creating, building, and importing packages Using the Django web-development package Graphics programming Magic methods and advanced object orientation Reading and writing binary files, and more

Become a better Software Architect: Actions & insights from practical experience


Kai Niklas - 2019
    Many insights are backed up by scientific studies or thought leaders. Further reading is provided in form of book references, overviews, templates and videos to dive deeper into your area of interest.It’s all about the human: People are creating software. Learn how to make a difference and accelerate your personal performance in an uncertain and increasingly fast-paced world. Unfold your full potential and become a better software architect.

Sams Teach Yourself Java in 21 Days (Covering Java 12), Barnes & Noble Exclusive Edition


Rogers Cadenhead - 2019
    With this complete tutorial you’ll quickly master the basics and then move on to more advanced features and concepts. Completely updated for Java 11 and 12, this book teaches you about the Java language and how to use it to create applications for any computing environment. By the time you have finished the book, you’ll have well-rounded knowledge of Java and the Java class libraries. No previous programming experience required. By following the 21 carefully organized lessons in this book, anyone can learn the basics of Java programming. Learn at your own pace. You can work through each chapter sequentially to make sure you thoroughly understand all the concepts and methodologies, or you can focus on specific lessons to learn the techniques that interest you most. Test your knowledge. Each chapter ends with a Workshop section filled with questions, answers, and exercises for further study. There are even certification practice questions. Completely revised, updated, and expanded to cover the latest features of Java 11 and 12 Learn to develop Java applications using NetBeans—an excellent programming platform Easy-to-understand, practical examples clearly illustrate the fundamentals of Java programming Discover how to quickly develop programs with a graphical user interface Find out about JDBC programming with the Derby database Learn how to use Inner Classes and Lambda Expressions Use Java for game programming Create a Slackbot with Java (Exclusive Bonus Chapter)