Best of
Coding

2021

Building Mobile Apps at Scale: 39 Engineering Challenges


Gergely Orosz - 2021
    By scale, we mean having numbers of users in the millions and being built by large engineering teams.For mobile engineers, this book is a blueprint for modern app engineering approaches. For non-mobile engineers and managers, it is a resource with which to build empathy and appreciation for the complexity of world-class mobile engineering.

Modern Software Engineering: Doing What Works to Build Better Software Faster


David Farley - 2021
    Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more legacy code Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish good new software development ideas from bad ones

The Big Book of Small Python Projects


Al Sweigart - 2021
    The 100+ short programs in Big Book of Small Python Projects are designed to help beginning-to-intermediate programmers expand their knowledge of how to deploy Python creatively and effectively by offering coding examples that will help them to tackle their own coding challenges.The 100+ short, complete Python programs in this book are designed to help beginning-to-intermediate Python programmers broaden their skills by providing a diverse set of coding examples they can study, emulate, and draw inspiration from. The programs range from classic card and board games and mazes, to math and probability demos, and mad libs. The author includes the complete code for each program, as well as commentary and suggestions for how to modify and experiment with code.

Clean Craftsmanship: Disciplines, Standards, and Ethics


Robert C. Martin - 2021
    Martin ("Uncle Bob") has written every programmer's definitive guide to working well. Martin brings together the disciplines, standards, and ethics you need to deliver robust, effective code quickly and productively, and be proud of all the software you write - every single day.Martin, the best-selling author of The Clean Coder, begins with a pragmatic, technical, and prescriptive guide to five foundational disciplines of software craftsmanship: test-driven development, refactoring, simple design, collaborative programming (pairing), and acceptance tests. Next, he moves up to standards -- outlining the baseline expectations the world has of software developers, illuminating how those often differ from their own perspectives, and helping you repair the mismatch. Finally, he turns to the ethics of the programming profession, describing ten fundamental promises all software developers should make to their colleagues, their users, and above all, themselves.With Martin's guidance and advice, you can consistently write code that builds trust instead of undermining it: trust among your users, and throughout a society that depends on software for its very survival.

PHP & MySQL: Server-Side Web Development


Jon Duckett - 2021
    It demonstrates practical techniques that you will recognize from popular sites where visitors can:Register as a member and log in Create articles, posts and profiles that are saved in a database Upload their own images and files Automatically receive email notifications Like and comment on posts. To show you how to apply the skills you learn, you will build a complete content management system, enhanced with features that are commonly seen on social networks.Written by best-selling HTML & CSS and JavaScript & jQuery author Jon Duckett, this book uses a unique visual approach, with step-by-step instructions, practical code examples and pro tips that will teach you how to build modern database-driven websites using PHP.

Learn Kubernetes in a Month of Lunches


Elton Stoneman - 2021
    Every lesson is task-focused and covers an essential skill on the road to Kubernetes mastery. You'll learn how to smooth container management with Kubernetes, including securing your clusters, and upgrades and rollbacks with zero downtime. No development stack, platform, or background is assumed. Author Elton Stoneman describes all patterns generically, so you can easily apply them to your applications and port them to other projects! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Create apps that perform identically on your laptop, data center, and cloud! Kubernetes provides a consistent method for deploying applications on any platform, making it easy to grow. By efficiently orchestrating Docker containers, Kubernetes simplifies tasks like rolling upgrades, scaling, and self-healing. About the book Learn Kubernetes in a Month of Lunches is your guide to getting up and running with Kubernetes. You'll progress from Kubernetes basics to essential skills, learning to model, deploy, and manage applications in production. Exercises demonstrate how Kubernetes works with multiple languages and frameworks. You'll also practice with new apps, legacy code, and serverless functions. What's inside     Deploying applications on Kubernetes clusters     Understanding the Kubernetes app lifecycle, from packaging to rollbacks     Self-healing and scalable apps     Using Kubernetes as a platform for new technologies About the reader For readers familiar with Docker and containerization. About the author Elton Stoneman is a Docker Captain, a 11-time Microsoft MVP, and the author of Learn Docker in a Month of Lunches. Table of Contents PART 1 - FAST TRACK TO KUBERNETES 1 Before you begin 2 Running containers in Kubernetes with Pods and Deployments 3 Connecting Pods over the network with Services 4 Configuring applications with ConfigMaps and Secrets 5 Storing data with volumes, mounts, and claims 6 Scaling applications across multiple Pods with controllers PART 2 - KUBERNETES IN THE REAL WORLD 7 Extending applications with multicontainer Pods 8 Running data-heavy apps with StatefulSets and Jobs 9 Managing app releases with rollouts and rollbacks 10 Packaging and managing apps with Helm 11 App development—Developer workflows and CI/CD PART 3 - PREPARING FOR PRODUCTION 12 Empowering self-healing apps 13 Centralizing logs with Fluentd and Elasticsearch 14 Monitoring applications with Kubernetes with Prometheus 15 Managing incoming traffic with Ingress 16 Securing applications with policies, contexts, and admission control PART 4 - PURE AND APPLIED KUBERNETES 17 Securing resources with role-based access control 18 Deploying Kubernetes: Multinode and multiarchitecture clusters 19 Controlling workload placement and automatic scaling 20 Extending Kubernetes with custom resources and Operators 21 Running serverless functions in Kubernetes 22 Never the end

Good Code, Bad Code


Tom Long - 2021
    In Good Code, Bad Code you’ll learn how to boost your effectiveness and productivity with code development insights normally only learned through years of experience, careful mentorship, and hundreds of code reviews.In Good Code, Bad Code you’ll learn how to:+ Think about code like an effective software engineer+ Write functions that read like a well-structured sentence+ Ensure code is reliable and bug free+ Effectively unit test code+ Identify code that can cause problems and improve it+ Write code that is reusable and adaptable to new requirements+ Improve your medium and long-term productivity+ Save you and your team’s time

Getting Started with Google BERT: Build and train state-of-the-art natural language processing models using BERT


Sudharsan Ravichandiran - 2021
    This book is an introductory guide that will help you get to grips with Google's BERT architecture. With a detailed explanation of the transformer architecture, this book will help you understand how the transformer's encoder and decoder work.You'll explore the BERT architecture by learning how the BERT model is pre-trained and how to use pre-trained BERT for downstream tasks by fine-tuning it for NLP tasks such as sentiment analysis and text summarization with the Hugging Face transformers library. As you advance, you'll learn about different variants of BERT such as ALBERT, RoBERTa, and ELECTRA, and look at SpanBERT, which is used for NLP tasks like question answering. You'll also cover simpler and faster BERT variants based on knowledge distillation such as DistilBERT and TinyBERT. The book takes you through MBERT, XLM, and XLM-R in detail and then introduces you to sentence-BERT, which is used for obtaining sentence representation. Finally, you'll discover domain-specific BERT models such as BioBERT and ClinicalBERT, and discover an interesting variant called VideoBERT.By the end of this BERT book, you'll be well-versed with using BERT and its variants for performing practical NLP tasks.What You Will LearnUnderstand the transformer model from the ground upFind out how BERT works and pre-train it using masked language model (MLM) and next sentence prediction (NSP) tasksGet hands-on with BERT by learning to generate contextual word and sentence embeddingsFine-tune BERT for downstream tasksGet to grips with ALBERT, RoBERTa, ELECTRA, and SpanBERT modelsGet the hang of the BERT models based on knowledge distillationUnderstand cross-lingual models such as XLM and XLM-RExplore Sentence-BERT, VideoBERT, and BARTWho this book is forThis book is for NLP professionals and data scientists looking to simplify NLP tasks to enable efficient language understanding using BERT. A basic understanding of NLP concepts and deep learning is required to get the best out of this book.

Code as Creative Medium: A Handbook for Computational Art and Design


Golan Levin - 2021
    It provides a collection of classic creative coding prompts and assignments, accompanied by annotated examples of both classic and contemporary projects, and more than 170 illustrations of creative work, and features a set of interviews with leading educators. Picking up where standard programming guides leave off, the authors highlight alternative programming pedagogies suitable for the art- and design-oriented classroom, including teaching approaches, resources, and community support structures.

Visual Studio Code for Python Programmers


April Speight - 2021
    To start, you'll find the steps for installing Visual Studio Code on Windows, Mac and Linux platforms, along with an introduction to the editing features of the workspace. Coverage of more advanced functionality includes managing source code, debugging, unit testing, and Jupyter Notebook support. The book finishes with a walk-through of real-world projects which utilize Visual Studio Code features introduced in the book.For developers, the choice of an editor is a very personal one. You have idiosyncratic needs and wants that are unique to you as a developer. This book will help you learn how to customize Visual Studio Code to meet your needs and Python development workflow.Introduces you to the features of the Visual Studio Code workspace and how those features can be customized Demonstrates how Visual Studio Code allows you to choose your structure according to your needs Covers editing code in Python, including syntax highlighting, code completion, object definition, refactoring, and code navigation Describes Git integration and how to perform common Git functions (commits, checkouts, branches, and merges) from within Visual Studio Code Highlights debugging features for Python developers A final section on Real World Applications will step you through several examples (and features integration with Django, Flask, Jupyter Notebook, Docker, and Azure), so you can hit the ground running with Visual Studio Code.

Web Development with Django: Learn to build modern web applications with a Python-based framework


Ben Shaw - 2021
    

Learn to Code by Solving Problems: A Python Programming Primer


Daniel Zingaro - 2021
    

Fixed.: The Fine Art of Problem Solving


Amy E. Herman - 2021
    Amy Herman has developed a unique approach to problem solving  that uses works of art to revitalize our minds and help us think creatively. She’s trained thousands of people from organizations around the world, including the FBI, CIA, Navy SEALs, the IMF, Scotland Yard, Interpol, and the State Department.In Fixed., Herman outlines her step-by-step approach, providing a fresh set of tools to help us kickstart our critical thinking skills and enable us to find solutions to some our most intractable problems. Herman explains the artist’s use of the creative process and teaches us how to analyze paintings, sculpture, mixed media, photography, and contemporary art. By learning how to look at these works more astutely, we hone our powers of perception and discover deep-seated truths about ourselves that often prevent clear-thinking and optimal decision making. Once we recognize our biases, we can overcome them and see solutions we were previously blind to. Herman’s approach doesn’t take an art degree—only the willingness to open our eyes and our minds. Things go wrong all the time. Fixed. offers an innovative and proven way to see problems differently—and craft better solutions for productivity, profit and peace.

The Programmer's Brain


Felienne Hermans - 2021
    This unique book teaches you concrete techniques rooted in cognitive science that will improve the way you learn and think about code.In The Programmer’s Brain: What every programmer needs to know about cognition you will learn:* Fast and effective ways to master new programming languages* Speed reading skills to quickly comprehend new code* Techniques to unravel the meaning of complex code* Ways to learn new syntax and keep it memorized* Writing code that is easy for others to read* Picking the right names for your variables* Making your codebase more understandable to newcomers* Onboarding new developers to your teamLearn how to optimize your brain’s natural cognitive processes to read code more easily, write code faster, and pick up new languages in much less time. This book will help you through the confusion you feel when faced with strange and complex code, and explain a codebase in ways that can make a new team member productive in days!about the technologyUnderstanding the cognitive functions that govern the way your brain thinks about coding will help you work smarter, not harder. You’ll improve your productivity, reduce your need for constant rewrites, and say goodbye to spending late nights struggling with new languages.about the bookThe Programmer’s Brain explores the way your brain works when it’s thinking about code. In it, you’ll master practical ways to apply these cognitive principles to your daily programming life. You’ll improve your code comprehension by turning confusion into a learning tool, and pick up awesome techniques for reading code and quickly memorizing syntax. This practical guide includes tips for creating your own flashcards and study resources that can be applied to any new language you want to master. By the time you’re done, you’ll not only be better at teaching yourself—you’ll be an expert at bringing new colleagues and junior programmers up to speed.

Effective Pandas: Patterns for Data Manipulation (Treading on Python)


Matt Harrison - 2021
    

Programming Kotlin Applications: Building Mobile and Server-Side Applications with Kotlin


Brett McLaughlin - 2021
    Authored by accomplished cloud consultant and technology professional Brett McLaughlin, Programming Kotlin Applications provides readers with the pragmatic and practical advice they need to build their very first Kotlin applications. Designed to give readers a thorough understanding of Kotlin that goes beyond mere mobile programming, this book will help you: Learn how to develop your first Kotlin project Understand how Kotlin securely protects and stores information Advocate for using Kotlin in your own professional and personal environments Understand Kotlin's goals and how to use it as its best Know when to avoid using Kotlin Programming Kotlin Applications is written in a highly approachable and accessible way without the fluff and unrealistic samples that characterize some of its competitor guides. Perfect for developers familiar with another object-oriented programming language like Java or Ruby, or for people who want to advance their skillset in the Kotlin environment, this book is an indispensable addition to any programmer's library.

Job Ready Python


Haythem Balti - 2021
    Based on the highly regarded and effective Software Guild Python course, this book teaches you the basic and advanced Python concepts you will need at any entry-level Python position.With the "Pulling It Together" sections, you'll combine and integrate the concepts and lessons taught by the book, while also benefiting from:A thorough introduction to getting set up with Python Practical discussions of the basics of the Python language, including syntax, program flow, and code organization A walk through the fundamentals of Object-Oriented Programming including Classes, Objects, Interfaces, and Inheritance, and how to leverage OOP to create elegant code A focus on data processing and data analysis with Python

Learn Python Step By Step Guide For Data Analysis (Suresh Store Ebooks)


Wes McKinney - 2021
    

Responsible JavaScript


Jeremy Wagner - 2021
    But its power comes at a cost: longer load times, sluggish pages, and inaccessible content. The more we rely on client-side rendering, the more likely we are to exclude visitors with older devices, slower connections, or those who have disabled JavaScript altogether.If we want people to fully experience the sites we have worked so hard to craft, then we must be judicious in our use of JavaScript. In thoughtful detail, Jeremy Wagner shows how JavaScript can be used to progressively enhance server-side functionality, while improving speed and access for more visitors. By centering user needs every step of the way—from toolchains to metrics to testing—we can all contribute to a more inclusive, accessible, and resilient web.

Ideas That Created the Future: Classic Papers of Computer Science


Harry Lewis - 2021
    It covers all aspects of computer science: theory and practice, architectures and algorithms, and logic and software systems, with an emphasis on the period of 1936-1980 but also including important early work. Offering papers by thinkers ranging from Aristotle and Leibniz to Alan Turing and Nobert Wiener, the book documents the discoveries and inventions that created today's digital world. Each paper is accompanied by a brief essay by Harry Lewis, the volume's editor, offering historical and intellectual context.

A Biography of the Pixel


Alvy Ray Smith - 2021
    The bit became the universal medium, and the pixel--a particular packaging of bits--conquered the world. Henceforward, nearly every picture in the world would be composed of pixels--cell phone pictures, app interfaces, Mars Rover transmissions, book illustrations, videogames. In A Biography of the Pixel, Pixar cofounder Alvy Ray Smith argues that the pixel is the organizing principle of most modern media, and he presents a few simple but profound ideas that unify the dazzling varieties of digital image making.Smith's story of the pixel's development begins with Fourier waves, proceeds through Turing machines, and ends with the first digital movies from Pixar, DreamWorks, and Blue Sky. Today, almost all the pictures we encounter are digital--mediated by the pixel and irretrievably separated from their media; museums and kindergartens are two of the last outposts of the analog. Smith explains, engagingly and accessibly, how pictures composed of invisible stuff become visible--that is, how digital pixels convert to analog display elements. Taking the special case of digital movies to represent all of Digital Light (his term for pictures constructed of pixels), and drawing on his decades of work in the field, Smith approaches his subject from multiple angles--art, technology, entertainment, business, and history. A Biography of the Pixel is essential reading for anyone who has watched a video on a cell phone, played a videogame, or seen a movie. 400 pages of annotations, prepared by the author and available online, provide an invaluable resource for readers.