Best of
Coding

2020

Software Engineering at Google: Lessons Learned from Programming Over Time


Titus Winters - 2020
    With this book, you'll get a candid and insightful look at how software is constructed and maintained by some of the world's leading practitioners.Titus Winters, Tom Manshreck, and Hyrum K. Wright, software engineers and a technical writer at Google, reframe how software engineering is practiced and taught: from an emphasis on programming to an emphasis on software engineering, which roughly translates to programming over time.You'll learn:Fundamental differences between software engineering and programmingHow an organization effectively manages a living codebase and efficiently responds to inevitable changeWhy culture (and recognizing it) is important, and how processes, practices, and tools come into play

Build a Career in Data Science


Emily Robinson - 2020
    Industry experts Jacqueline Nolis and Emily Robinson lay out the soft skills you’ll need alongside your technical know-how in order to succeed in the field. Following their clear and simple instructions you’ll craft a resume that hiring managers will love, learn how to ace your interview, and ensure you hit the ground running in your first months at your new job. Once you’ve gotten your foot in the door, learn to thrive as a data scientist by handling high expectations, dealing with stakeholders, and managing failures. Finally, you’ll look towards the future and learn about how to join the broader data science community, leaving a job gracefully, and plotting your career path. With this book by your side you’ll have everything you need to ensure a rewarding and productive role in data science.

Micro Frontends in Action


Michael Geers - 2020
    By adopting the micro frontends approach and designing your web apps as systems of features, you can deliver faster feature development, easier upgrades, and pick and choose the technology you use in your stack. Micro Frontends in Action is your guide to simplifying unwieldy frontends by composing them from small, well-defined units. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Micro frontends deliver the same flexibility and maintainability to browser-based applications that microservices provide for backend systems. You design your project as a set of standalone components that include their own interfaces, logic, and storage. Then you develop these mini-applications independently and compose them in the browser. About the Book Micro Frontends in Action teaches you to apply the microservices approach to the frontend. You’ll start with the core micro frontend design ideas. Then, you’ll build an e-commerce application, working through practical issues like server-side and client-side composition, routing, and maintaining a consistent look and feel. Finally, you’ll explore team workflow patterns that maximize the benefit of developing application components independently. What’s Inside -    Create a unified frontend from independent applications -    Combine JavaScript code from multiple frameworks -    Browser and server-side composition and routing -    Implement effective dev teams and project workflow About the Reader For web developers, software architects, and team leaders. About the Author Michael Geers is a software developer specializing in building user interfaces. Table of Contents PART 1 - GETTING STARTED WITH MICRO FRONTENDS 1 What are micro frontends? 2 My first micro frontends project PART 2 - ROUTING, COMPOSITION, AND COMMUNICATION 3 Composition with Ajax and server-side routing 4 Server-side composition 5 Client-side composition 6 Communication patterns 7 Client-side routing and the application shell 8 Composition and universal rendering 9 Which architecture fits my project? PART 3 - HOW TO BE FAST, CONSISTENT, AND EFFECTIVE 10 Asset loading 11 Performance is key 12 User interface and design system 13 Teams and boundaries 14 Migration, local development, and testing

You Don't Know JS Yet: Get Started


Kyle Simpson - 2020
    But with a million blogs, books, and videos out there, just where do you start? The worldwide best selling "You Don't Know JS" book series is back for a 2nd edition: "You Don't Know JS Yet". All 6 books are brand new, rewritten to cover all sides of JS for 2020 and beyond. "Get Started" prepares you for the journey ahead, first surveying the language then detailing how the rest of the You Don't Know JS Yet book series guides you to knowing JS more deeply.

The Tech Resume Inside Out


Gergely Orosz - 2020
    Written by hiring managers and recruiters working at large tech companies, this book is tailored for software developers, tech leads and engineering managers.The book comes with insights from more than 15 hiring managers and recruiters from the likes of Google, Facebook, Amazon, Microsoft, Uber and Spotify. It contains 3 resume templates tailored for tech, and 5 "before" and "after" real-world resume case studies.Here’s what people who have read the book shared:"I applied changes to my resume based on the book and got interviews from Facebook, Google, Stripe, and Databricks. I guess the changes partially helped get here. I'm now busy preparing for the interviews!" - Alex L, senior software engineer."Being able to represent yourself well to hiring managers when applying for jobs is half of the battle. I've never read such an actionable guide to getting your resume in order, which can be the differentiator in a crowded job market." - James StanierSVP Engineering at Brandwatch, author of Become an Effective Software Engineering Manager"I redid my CV following the advice in the book. The response rate for my applications increased by a large margin. A few weeks later, I had multiple, good offers. I just started at my new job - thank you!" - David Kiss, freelancer, senior software engineer"

Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition


Gayle Laakmann McDowell McDowell - 2020
    

API Security in Action


Neil Madden - 2020
    However, this convenience opens your systems to new security risks. API Security in Action gives you the skills to build strong, safe APIs you can confidently expose to the world. Inside, you’ll learn to construct secure and scalable REST APIs, deliver machine-to-machine interaction in a microservices architecture, and provide protection in resource-constrained IoT (Internet of Things) environments.

Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code


Al Sweigart - 2020
    What's the next step toward becoming a capable, confident software developer?Welcome to Beyond the Basic Stuff with Python. More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program--not just in Python but in any language.You'll learn: - Coding style, and how to use Python's Black auto-formatting tool for cleaner code - Common sources of bugs, and how to detect them with static analyzers - How to structure the files in your code projects with the Cookiecutter template tool - Functional programming techniques like lambda and higher-order functions - How to profile the speed of your code with Python's built-in timeit and cProfile modules - The computer science behind Big-O algorithm analysis - How to make your comments and docstrings informative, and how often to write them - How to create classes in object-oriented programming, and why they're used to organize codeToward the end of the book you'll read a detailed source-code breakdown of two classic command-line games, the Tower of Hanoi (a logic puzzle) and Four-in-a-Row (a two-player tile-dropping game), and a breakdown of how their code follows the book's best practices. You'll test your skills by implementing the program yourself.Of course, no single book can make you a professional software developer. But Beyond the Basic Stuff with Python will get you further down that path and make you a better programmer, as you learn to write readable code that's easy to debug and perfectly PythonicRequirements: Covers Python 3.6 and higher

Agile Web Development with Rails 6


Sam Ruby - 2020
    

Principles For Programmers: The Condensed Advice From The World's Best


Andrei Neagoie - 2020
    From tips and tricks on writing code the right way to becoming a stronger manager, the 40 principles in this book have been put together based on years of collecting advice, articles, books and opinions of some of the best programmers, thought leaders, and business experts in the world. The author, Andrei Neagoie, is a self-taught programmer who has taken all that he’s learned working as a senior software developer over the years and now dedicates 100% of his time teaching others valuable software development skills and helps them break into the tech industry, level up their skills and advance their careers. In only two years, over 180,000 students around the world have taken his courses and many of them are now working at top tier companies like Apple, Google, Amazon, Tesla, IBM, UNIQLO, just to name a few. Get the first 5 principles for free by visiting ebook.zerotomastery.io/principles

Spring Security in Action


Laurentiu Spilca - 2020
    You’ll start with the basics, simulating password upgrades and adding multiple types of authorization. As your skills grow, you'll adapt Spring Security to new architectures and create advanced OAuth2 configurations. By the time you're done, you'll have a customized Spring Security configuration that protects against threats both common and extraordinary.Summary While creating secure applications is critically important, it can also be tedious and time-consuming to stitch together the required collection of tools. For Java developers, the powerful Spring Security framework makes it easy for you to bake security into your software from the very beginning. Filled with code samples and practical examples, Spring Security in Action teaches you how to secure your apps from the most common threats, ranging from injection attacks to lackluster monitoring. In it, you'll learn how to manage system users, configure secure endpoints, and use OAuth2 and OpenID Connect for authentication and authorization. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Security is non-negotiable. You rely on Spring applications to transmit data, verify credentials, and prevent attacks. Adopting "secure by design" principles will protect your network from data theft and unauthorized intrusions. About the book Spring Security in Action shows you how to prevent cross-site scripting and request forgery attacks before they do damage. You’ll start with the basics, simulating password upgrades and adding multiple types of authorization. As your skills grow, you'll adapt Spring Security to new architectures and create advanced OAuth2 configurations. By the time you're done, you'll have a customized Spring Security configuration that protects against threats both common and extraordinary. What's inside     Encoding passwords and authenticating users     Securing endpoints     Automating security testing     Setting up a standalone authorization server About the reader For experienced Java and Spring developers. About the author Laurentiu Spilca is a dedicated development lead and trainer at Endava, with over ten years of Java experience. Table of Contents PART 1 - FIRST STEPS 1 Security Today 2 Hello Spring Security PART 2 - IMPLEMENTATION 3 Managing users 4 Dealing with passwords 5 Implementing authentication 6 Hands-on: A small secured web application 7 Configuring authorization: Restricting access 8 Configuring authorization: Applying restrictions 9 Implementing filters 10 Applying CSRF protection and CORS 11 Hands-on: A separation of responsibilities 12 How does OAuth 2 work? 13 OAuth 2: Implementing the authorization server 14 OAuth 2: Implementing the resource server 15 OAuth 2: Using JWT and cryptographic signatures 16 Global method security: Pre- and postauthorizations 17 Global method security: Pre- and postfiltering 18 Hands-on: An OAuth 2 application 19 Spring Security for reactive apps 20 Spring Security testing

Grokking Functional Programming


Michał Płachta - 2020
    Written especially for object-oriented programmers, it will help you map familiar ideas like objects and inheritance to FP concepts such as programming with immutable data, higher order functions, composing functions, concurrent programming and even the dreaded monad. And you'll be pleased to know that we skip the academic baggage of lambda calculus, category theory, and the mathematical foundations of FP in favor of applying functional programming to everyday programming tasks. At the end of the book, you'll be ready to pick a functional language and start writing useful software.

Grokking Artificial Intelligence Algorithms


Rishal Hurbans - 2020
    The core of AI is the algorithms that the system uses to do things like identifying objects in an image, interpreting the meaning of text, or looking for patterns in data to spot fraud and other anomalies.  Mastering the core algorithms for search, image recognition, and other common tasks is essential to building good AI applications Grokking Artificial Intelligence Algorithms uses illustrations, exercises, and jargon-free explanations to teach fundamental AI concepts.You’ll explore coding challenges like detect­ing bank fraud, creating artistic masterpieces, and setting a self-driving car in motion. All you need is the algebra you remember from high school math class and beginning programming skills.  What You Will Learn Use cases for different AI algorithms Intelligent search for decision making Biologically inspired algorithms Machine learning and neural networks Reinforcement learning to build a better robot This Book Is Written For For software developers with high school–level math skills. About the Author Rishal Hurbans is a technologist, startup and AI group founder, and international speaker. Table of Contents 1 Intuition of artificial intelligence 2 Search fundamentals 3 Intelligent search 4 Evolutionary algorithms 5 Advanced evolutionary approaches 6 Swarm intelligence: Ants 7 Swarm intelligence: Particles 8 Machine learning 9 Artificial neural networks 10 Reinforcement learning with Q-learning

The Opinionated Guide to React


Sara Viera - 2020
    We are all different, and we all build things differently. What I want you to get out of this book is a way to find possible paths, make sense of the tools, concepts, and packages you come across while building things with React, and to help making you feel confident enough to do a project from start to end or to speak up in a company meeting with your idea.I hope you learn as much from this book as I learned writing it.

Ocp Oracle Certified Professional Java Se 11 Programmer II Study Guide: Exam 1z0-816


Jeanne Boyarsky - 2020
    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 completely-updated preparation guide for the new OCP Oracle Certified Professional Java SE 11 Programmer II exam--covers Exam 1Z0-816Java, a platform-independent, object-oriented programming language, is used primarily in mobile and desktop application development. It is a popular language for client-side cloud applications and the principal language used to develop Android applications. Oracle has recently updated its Java Programmer certification tracks for Oracle Certified Professional.OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide ensures that you are fully prepared for this difficult certification exam. Covering 100% of exam objectives, this in-depth study guide provides comprehensive coverage of the functional-programming knowledge necessary to succeed. Every exam topic is thoroughly and completely covered including exceptions and assertions, class design, generics and collections, threads, concurrency, IO and NIO, and more. Access to Sybex's superior online interactive learning environment and test bank--including self-assessment tests, chapter tests, bonus practice exam questions, electronic flashcards, and a searchable glossary of important terms--provides everything you need to be fully prepared on exam day. This must-have guide:Covers all exam objectives such as inheriting abstract classes and interfaces, advanced strings and localization, JDBC, and Object-Oriented design principles and patterns Explains complex material and reinforces your comprehension and retention of important topics Helps you master more advanced areas of functional programming Demonstrates practical methods for building Java solutions OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide will prove invaluable for anyone seeking achievement of this challenging exam, as well as junior- to senior-level programmers who uses Java as their primary programming language.

Breaking the Code: Five Steps to a Life-Changing Software Development Job


Bobby Davis Jr. - 2020
    That much is obvious. A skill that is equally as important—but often overlooked—is knowing how to market yourself to potential employers, especially if you're new to the industry. Do you know how to land interviews and deliver a compelling case for why you should be hired?Bobby Davis Jr. has helped place hundreds of aspiring coders into high-paying tech jobs. In Breaking the Code, he shares the proven strategies he uses with his students and offers up insider tips that will make you stand out from the competition.You'll learn how to avoid the biggest stumbling block when it comes to landing a job and what you should build before an interview if you don't have a project to show. Bobby also teaches you the secret to accessing jobs not found on corporate job boards and exponentially increasing your chances of getting the job you want. The path to $100,000 a year—and infinite possibilities beyond that—begins with Breaking the Code.

Machine Learning: An Introduction Math Guide for Beginners to Understand Data Science Through the Business Applications


Samuel Hack - 2020
    Inside this guide, you’ll find simple, easy-to-follow explanations of the fundamental concepts behind machine learning, from the mathematical and statistical concepts to the programming behind them.With a wide range of comprehensive advice including machine learning models, neural networks, statistics, and much more, this guide is a highly effective tool for mastering this incredible technology.In book one, 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 TreesIn book two, you'll learn:- 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”- A Free BonusCovering everything you need to know about machine learning, now you can master the mathematics and statistics behind this field and develop your very own neural networks! Whether you want to use machine learning to help your business, or you’re a programmer looking to expand your skills, this bundle is a must-read for anyone interested in the world of machine learning.So don’t wait – it’s never been easier to learn.Buy now to become a master of Machine Learning Today!

Algorithms


Panos Louridas - 2020
    Application areas range from search engines to tournament scheduling, DNA sequencing, and machine learning. Arguing that every educated person today needs to have some understanding of algorithms and what they do, in this volume in the MIT Press Essential Knowledge series, Panos Louridas offers an introduction to algorithms that is accessible to the nonspecialist reader. Louridas explains not just what algorithms are but also how they work, offering a wide range of examples and keeping mathematics to a minimum.After discussing what an algorithm does and how its effectiveness can be measured, Louridas covers three of the most fundamental applications areas: graphs, which describe networks, from eighteenth-century problems to today's social networks; searching, and how to find the fastest way to search; and sorting, and the importance of choosing the best algorithm for particular tasks. He then presents larger-scale applications: PageRank, Google's founding algorithm; and neural networks and deep learning. Finally, Louridas describes how all algorithms are nothing more than simple moves with pen and paper, and how from such a humble foundation rise all their spectacular achievements.

Thinking in SwiftUI


Chris Eidhof - 2020
    So in this short book, we will help you build a mental model of how SwiftUI works. We explain the most important concepts in detail, and we follow them up with exercises to give you hands-on experience.SwiftUI is still a young framework, and as such, we don’t believe it’s appropriate to write a complete reference. Instead, this book focuses on transitioning your way of thinking from the object-oriented style of UIKit to the declarative style of SwiftUI.Thinking in SwiftUI is geared toward readers who are familiar with Swift and who have experience building apps in frameworks like UIKit.

JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React Native, and Electron


Adam D. Scott - 2020
    Once used chiefly to add interactivity to web browser windows, JavaScript is now a primary building block of powerful and robust applications. In this practical book, new and experienced JavaScript developers will learn how to use this language to create APIs as well as web, mobile, and desktop applications.Author and engineering leader Adam D. Scott covers technologies such as Node.js, GraphQL, React, React Native, and Electron. Ideal for developers who want to build full stack applications and ambitious web development beginners looking to bootstrap a startup, this book shows you how to create a single CRUD-style application that will work across several platforms.Explore GraphQL's simple process for querying dataLearn about shared authentication for APIs, web apps, and native applicationsBuild performant web applications with React and Styled ComponentsUse React Native to write cross-platform applications for iOS and Android that compile to native codeLearn how to write desktop applications with Electron

Web Development for beginners: Learn HTML/CSS/Javascript step by step with this Coding Guide, Programming Guide for beginners, Website development


White Belt Mastery - 2020
    

Ubuntu Linux Bible


David Clinton - 2020
    The book provides complete information presented in such a way that new users have all of the information that they need, while experienced Linux users can skip directly to the details that they require. Covering the recently released 19.10, as well as the previous version, this book will cover Getting Started with Ubuntu, Ubuntu for Desktop Users, and Ubuntu for System AdministratorsThis book is organized into four parts: "Getting Started with Ubuntu Linux," "Ubuntu for Desktop Users," Ubuntu for System Administrators," and "Configuring Servers on Ubuntu."Making the most of the wide variety of software that is included with Ubuntu Linux. The "Desktop Users' section of the book is task-oriented, explaining how to do user-oriented tasks like read email, surf the web, create and publish documents, work with spreadsheets, create presentations, play games, create and edit graphics, and work with common consumer IoT electronic devices.Managing Ubuntu systems, explaining fundamental Linux system administration topics such as creating and managing users, backing up the system, adding new printers and disks to the system, network configuration, and using Ubuntu wirelessesly.Using Ubuntu to support network servers. Ubuntu is primarily targeted for desktop users but can also be used in an enterprise environment to provide core network services, where it is especially attractive due to its support for a huge number of languages. This part contains chapters explaining how to set up servers for the Web, electronic mail, print services, networked file sharing, DHCP (network address management), and DNS (network name/address resolution).

iOS Programming: The Big Nerd Ranch Guide, 7/e


Christian Keur - 2020
    

LearnCpp.com


Alex Pomeranz - 2020
    Whether you’ve had any prior programming experience or not, the tutorials on this site will walk you through all the steps to write, compile, and debug your C++ programs, all with plenty of examples.Becoming an expert won’t happen overnight, but with a little patience, you’ll get there. And LearnCpp.com will show you the way.

Technology Basics Dictionary: Tech and Computers Simplified


Jack C. Stanley - 2020
    

Android Application Development All-in-One For Dummies (For Dummies (Computer/Tech))


Barry Burd - 2020
    

Statistics for the Trading Floor: Data Science for Investing


Patrick Boyle - 2020
    

Practical Machine Learning in R


Fred Nwanganga - 2020
    The book begins by explaining machine learning and its organizational benefits, moves to hands on data management including dimensionality reduction, and then introduces R and the popular RStudio tool. In Unsupervised Learning the reader works with patterns including apriori and eclat and grouping data with clustering (k-means and hierarchical). From there, R Programming for Machine Learning covers the crucial classification techniques Nearest Neighbor, Decision Trees, and Naive Bayes. The regression techniques are then covered before performance evaluation including choosing the right model and ensemble methods (Random Forest, XGBoost).

Elm in Action


Richard Feldman - 2020
    Once you get comfortable with Elm’s refreshingly different approach to application development, you’ll be working with a clean syntax, dependable libraries, and a delightful compiler that essentially eliminates runtime exceptions. Elm compiles to JavaScript, so your code runs in any browser, and Elm’s best-in-class rendering speed will knock your socks off. Let’s get started!Simply put, the Elm programming language transforms the way you think about frontend web development.Elm’s legendary compiler is an incredible assistant, giving you the precise and user-friendly support you need to work efficiently. Elm applications have small bundle sizes that run faster than JavaScript frameworks and are famously easy to maintain as they grow. The catch? Elm isn’t JavaScript, so you’ll have some new skills to learn.Elm in Action teaches you how to build well-designed, highly performant web applications using the Elm language. As you read, you’ll follow an application called Photo Groove that will show you how to structure your application’s domain and behavior, how to maintain a pleasantly modular architecture, and how to deliver a quality product using the Elm language. Along the way, you’ll learn how to interact smoothly with browser functionality, servers, and JavaScript libraries, as well and picking up a few tricks for building fluid, intuitive user experiences. If you’re new to functional programming, you’ll also gain a practical understanding of techniques that will make you a better developer no matter what you’re writing!

Learn Coding Basics in Hours with Python: An Introduction to Computer Programming for Absolute Beginners


Jack C. Stanley - 2020
    

Penetration Testing For Dummies (For Dummies (Computer/Tech))


Robert Shimonski - 2020
    

Web Security for Developers


Malcolm McDonald - 2020
    This book covers the most common ways websites get hacked and how web developers can defend themselves.The world has changed. Today, every time you make a site live, you're opening it up to attack.A first-time developer can easily be discouraged by the difficulties involved with properly securing a website. But have hope: an army of security researchers is out there discovering, documenting, and fixing security flaws. Thankfully, the tools you'll need to secure your site are freely available and generally easy to use.Web Security for Developers will teach you how your websites are vulnerable to attack and how to protect them. Each chapter breaks down a major security vulnerability and explores a real-world attack, coupled with plenty of code to show you both the vulnerability and the fix.You'll learn how to: - Protect against SQL injection attacks, malicious JavaScript, and cross-site request forgery - Add authentication and shape access control to protect accounts - Lock down user accounts to prevent attacks that rely on guessing passwords, stealing sessions, - or escalating privileges - Implement encryption - Manage vulnerabilities in legacy code - Prevent information leaks that disclose vulnerabilities - Mitigate advanced attacks like malvertising and denial-of-serviceAs you get stronger at identifying and fixing vulnerabilities, you'll learn to deploy disciplined, secure code and become a better programmer along the way.

R Markdown Cookbook


Yihui Xie - 2020
    Frequent users will also benefit from the wide ranging tips and tricks that expose 'hidden' features, support customization and demonstrate the many new and varied applications of the software.After reading this book users will learn how to:Enhance your R Markdown content with diagrams, citations, and dynamically generated text Streamline your workflow with child documents, code chunk references, and caching Control the formatting and layout with Pandoc markdown syntax or by writing custom HTML and LaTeX templates Utilize chunk options and hooks to fine-tune how your code is processed Switch between different language engineers to seamlessly incorporate python, D3, and more into your analysis

You Can Code: Make Your Own Games, Apps and More in Scratch and Python!


Kevin Pettman - 2020
       Want to make cool apps and games, but don’t know where to begin? This book takes the complexity out of coding. It starts with the basics, taking you through the building blocks of code with Scratch, the simple and colorful visual language that’s perfect for newcomers. Once you can make your own games and projects in Scratch, move on to Python, a slightly more advanced language that offers more flexibility and control. Easy-to-follow step-by-step instructions guide you through creating a dancing cat, virtual puppet, word puzzle, drum machine, and space shooter game. Each project teaches essential skills, so you’ll learn as you create.

Practical Deep Learning: A Python-Based Introduction


Ronald T. Kneusel - 2020
    It introduces fundamental concepts such as classes and labels, building a dataset, and what a model is and does before presenting classic machine learning models, neural networks, and modern convolutional neural networks. Experiments in Python--working with leading open-source toolkits and standard datasets--give the reader hands-on experience with each model and help them build intuition about how to transfer the examples in the book to their own projects.Readers start with an introduction to the Python language and the NumPy extension that is ubiquitous in machine learning. Prominent toolkits, like sklearn and Keras/TensorFlow are used as the backbone to enable readers to focus on the elements of machine learning without the burden of writing implementations from scratch. An entire chapter on evaluating the performance of models gives the reader the knowledge necessary to understand claims on performance and to know which models are working well and which are not. The book culminates by presenting convolutional neural networks as an introduction to modern deep learning. Understanding how these networks work and how they are affected by parameter choices leaves the reader with the core knowledge necessary to dive into the larger, ever-changing world of deep learning.

Dive Into Algorithms: A Pythonic Adventure for the Intrepid Beginner


Bradford Tuckfield - 2020
    The book tackles classic algorithms like searching, sorting, and optimization as well as those used in fields like machine learning and artificial intelligence.Dive Into Algorithms is a thorough introduction to algorithms, which are sets of instructions that allow a computer to solve a problem and are key to the success of many of today's computer applications. Readers learn about many standard computer science algorithms including ones for searching, sorting, and optimization as well as newer ones used in machine learning and artificial intelligence. Readers also learn how to understand "real life" algorithms like how a baseball outfielder uses an algorithm to determine where to run to field a ball; how computers can beat humans at games like chess; how a chatbot can understand and respond to human speech; and how algorithms have been used throughout history. Readers need little more than high school math to understand an algorithm and the Python code needed to implement the algorithm -- all of which is introduced line-by-line in order to make the code as understandable as possible.

The Ghidra Book


Chris Eagle - 2020
    With the open-source release of this formerly restricted tool suite, one of the world's most capable disassemblers and intuitive decompilers is now in the hands of cybersecurity defenders everywhere -- and The Ghidra Book is the one and only guide you need to master it.In addition to discussing RE techniques useful in analyzing software and malware of all kinds, the book thoroughly introduces Ghidra's components, features, and unique capacity for group collaboration. You'll learn how to:• Navigate a disassembly• Use Ghidra's built-in decompiler to expedite analysis• Analyze obfuscated binaries• Extend Ghidra to recognize new data types• Build new Ghidra analyzers and loaders• Add support for new processors and instruction sets• Script Ghidra tasks to automate workflows• Set up and use a collaborative reverse engineering environmentDesigned for beginner and advanced users alike, The Ghidra Book will effectively prepare you to meet the needs and challenges of RE, so you can analyze files like a pro.

Tessellations: Mathematics, Art, and Recreation


Robert Fathauer - 2020
    Additionally, it covers techniques, tips, and templates to facilitate the creation of mathematical art based on tessellations. Inclusion of special topics like spiral tilings and tessellation metamorphoses allows the reader to explore beautiful and entertaining math and art.The book has a particular focus on 'Escheresque' designs, in which the individual tiles are recognizable real-world motifs. These are extremely popular with students and math hobbyists but are typically very challenging to execute. Techniques demonstrated in the book are aimed at making these designs more achievable. Going beyond planar designs, the book contains numerous nets of polyhedra and templates for applying Escheresque designs to them.Activities and worksheets are spread throughout the book, and examples of real-world tessellations are also provided. Key featuresIntroduces the mathematics of tessellations, including symmetryCovers polygonal, aperiodic, and non-Euclidean tilingsContains tutorial content on designing and drawing Escheresque tessellationsHighlights numerous examples of tessellations in the real worldActivities for individuals or classesFilled with templates to aid in creating Escheresque tessellationsTreats special topics like tiling rosettes, fractal tessellations, and decoration of tiles

JavaScript: The New Toys


T.J. Crowder - 2020
    JavaScript: The New Toys explores the newest features of the world's most popular programming language while also showing readers how to track what's coming next. After setting the stage by covering who manages the process of improving JavaScript, how new features get introduced, terminology, and a high-level overview of new features, it details each new or updated item in depth, with example uses, possible pitfalls, and expert recommendations for updating old habits in light of new features.� JavaScript: The New Toys:Covers all the additions to JavaScript in ES2015-ES2020 plus a preview of what's coming next Explores the latest syntax: nullish coalescing, optional chaining, let and const, class syntax, private methods, private fields, new.target, numeric separators, BigInt, destructuring, default parameters, arrow functions, async functions, await, generator functions, ... (rest and spread), template literals, binary and octal literals, ** (exponentiation), computed property/method names, for-of, for-await-of, shorthand properties, and others Details the new features and patterns including modules, promises, iteration, generators, Symbol, Proxy, reflection, typed arrays, Atomics, shared memory, WeakMap, WeakSet, and more Highlights common pitfalls and explains how to avoid them Shows how to follow the improvements process and even participate in the process yourself Explains how to use new features even before they're widely supported With its comprehensive coverage and friendly, accessible style, JavaScript: The New Toys provides an invaluable resource for programmers everywhere, whether they work in web development, Node.js, Electron, Windows Universal Apps, or another JavaScript environment.

Full-Stack React, TypeScript, and Node: Build cloud-ready web applications using React 17 with Hooks and GraphQL


David Choi - 2020
    

Modern JavaScript for the Impatient


Cay S. Horstmann - 2020
    

Letters to a New Developer: What I Wish I Had Known When Starting My Development Career


Dan Moore - 2020
    The lessons in this book will supercharge your career by sharing lessons and mistakes from real developers.Wouldn't it be nice to learn from others' career mistakes? "Soft" skills are crucial to success, but are haphazardly picked up on the job or, worse, never learned. Understanding these competencies and how to improve them will make you a more effective team member and a more attractive hire.This book will teach you the key skills you need, including how to ask questions, how and when to use common tools, and how to interact with other team members. Each will be presented in context and from multiple perspectives so you'll be able to integrate them and apply them to your own career quickly.What You'll LearnKnow when the best code is no codeUnderstand what to do in the first month of your jobSee the surprising number of developers who can't programAvoid the pitfalls of working aloneWho This Book Is ForAnyone who is curious about software development as a career choice. You have zero to five years of software development experience and want to learn non-technical skills that can help your career. It is also suitable for teachers and mentors who want to provide guidance to their students and/or mentees.