Best of
Computer-Science
2019
UNIX: A History and a Memoir
Brian W. Kernighan - 2019
Brian Kernighan was a member of the original group of Unix developers, the creator of several fundamental Unix programs, and the co-author of classic books like "The C Programming Language" and "The Unix Programming Environment."
The Hundred-Page Machine Learning Book
Andriy Burkov - 2019
During that week, you will learn almost everything modern machine learning has to offer. The author and other practitioners have spent years learning these concepts.Companion wiki — the book has a continuously updated wiki that extends some book chapters with additional information: Q&A, code snippets, further reading, tools, and other relevant resources.Flexible price and formats — choose from a variety of formats and price options: Kindle, hardcover, paperback, EPUB, PDF. If you buy an EPUB or a PDF, you decide the price you pay!Read first, buy later — download book chapters for free, read them and share with your friends and colleagues. Only if you liked the book or found it useful in your work, study or business, then buy it.
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
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
Programming Bitcoin: Learn How to Program Bitcoin from Scratch
Jimmy Song - 2019
Author Jimmy Song shows Python programmers and developers how to program a Bitcoin library from scratch. You'll learn how to work with the basics, including the math, blocks, network, and transactions behind this popular cryptocurrency and its blockchain payment system.By the end of the book, you'll understand how this cryptocurrency works under the hood by coding all the components necessary for a Bitcoin library. Learn how to create transactions, get the data you need from peers, and send transactions over the network. Whether you're exploring Bitcoin applications for your company or considering a new career path, this practical book will get you started.Parse, validate, and create bitcoin transactionsLearn Script, the smart contract language behind BitcoinDo exercises in each chapter to build a Bitcoin library from scratchUnderstand how proof-of-work secures the blockchainProgram Bitcoin using Python 3Understand how simplified payment verification and light wallets workWork with public-key cryptography and cryptographic primitives
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.
Javascript Grammar
Greg Sidelnikov - 2019
Visual diagrams designed to accurately describe difficult concepts such as Prototype, Event Loop and Object Oriented Programming. JavaScript Grammar covers all important features of modern JavaScript (ES6-ES10) from simple to advanced. Each feature is explained with simple examples, so the book is easy to follow. As you progress through the book you will be faced with increasingly advanced examples with several programming techniques clearly explained and with clean code.
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.
Practical Deep Learning for Cloud, Mobile, and Edge: Real-World AI & Computer-Vision Projects Using Python, Keras & Tensorflow
Anirudh Koul - 2019
This step-by-step guide teaches you how to build practical deep learning applications for the cloud, mobile, browsers, and edge devices using a hands-on approach.Relying on years of industry experience transforming deep learning research into award-winning applications, Anirudh Koul, Siddha Ganju, and Meher Kasam guide you through the process of converting an idea into something that people in the real world can use.Train, tune, and deploy computer vision models with Keras, TensorFlow, Core ML, and TensorFlow LiteDevelop AI for a range of devices including Raspberry Pi, Jetson Nano, and Google CoralExplore fun projects, from Silicon Valley's Not Hotdog app to 40+ industry case studiesSimulate an autonomous car in a video game environment and build a miniature version with reinforcement learningUse transfer learning to train models in minutesDiscover 50+ practical tips for maximizing model accuracy and speed, debugging, and scaling to millions of users
Grokking Bitcoin
Kalle Rosenbaum - 2019
Grokking Bitcoin opens up this powerful distributed ledger system, exploring the technology that enables applications both for Bitcoin-based financial transactions and using the blockchain for registering physical property ownership. With this fully illustrated, easy-to-read guide, you'll finally understand how Bitcoin works, how you can use it, and why you can trust the blockchain.Foreword by David A. Harding, Contributor to Bitcoin documentation.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyInflation, depressed economies, debased currencies ... these are just a few of the problems centralized banking has caused throughout history. Bitcoin, a digital currency created with the ambition to shift control away from change-prone governments, has the potential to bring an end to those problems once and for all. It's time to find out how it can help you.About the BookGrokking Bitcoin explains why Bitcoin's supporters trust it so deeply, and why you can too. This approachable book will introduce you to Bitcoin's groundbreaking technology, which is the key to this world-changing system. This illustrated, easy-to-read guide prepares you for a new way of thinking with easy-to-follow diagrams and exercises. You'll discover how Bitcoin mining works, how to accept Bitcoin, how to participate in the Bitcoin network, and how to set up a digital wallet.What's insideBitcoin transactionsThe blockchainBitcoin miningBitcoin walletsAbout the ReaderIntended for anyone interested in learning about Bitcoin technology. While a basic understanding of technical concepts is beneficial, no programming skills are necessary.About the AuthorKalle Rosenbaum is a computer scientist, an avid Bitcoin supporter, and the founder of Propeller, a Bitcoin consultancy.Table of ContentsIntroduction to BitcoinCryptographic hash functions and digital signaturesAddressesWalletsTransactionsThe blockchainProof of workPeer-to-peer networkTransactions revisitedSegregated witnessBitcoin upgrades
Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control
Steven L. Brunton - 2019
This textbook brings together machine learning, engineering mathematics, and mathematical physics to integrate modeling and control of dynamical systems with modern methods in data science. It highlights many of the recent advances in scientific computing that enable data-driven methods to be applied to a diverse range of complex systems, such as turbulence, the brain, climate, epidemiology, finance, robotics, and autonomy. Aimed at advanced undergraduate and beginning graduate students in the engineering and physical sciences, the text presents a range of topics and methods from introductory to state of the art.
Quantum Computing for The Very Curious
Michael Nielsen - 2019
A series of articles explaining Quantum Computing from the very basics for the very curious.
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
Modern Linux Administration: How to Become a Cutting-Edge Linux Administrator
Sam R. Alapati - 2019
The amount of knowledge and expertise required of Linux administrators has grown tremendously over the past 10 years. Today you need an amazing variety of skills, several of them very new.This book provides developers, enterprise architects, and site reliability engineers with a sound introduction to bleeding-edge Linux-based tools and technologies for both development and production environments. If you already know Linux administration basics, author Sam Alapati will help you explore and evaluate tools for virtualization, cloud and big data, configuration management and continuous delivery, and operations monitoring.Topics include:Scalability, web applications, web services, and microservicesServer virtualization, Linux containers, and Docker containersAutomating server deployment and managing development environmentsInfrastructure as code, configuration management, and orchestration toolsVersion control and source code managementContinuous integration, continuous delivery, and continuous deploymentCentralized log management and analysis, and streaming data
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.
Geocomputation with R
Robin Lovelace - 2019
It is based on R, a statistical programming language that has powerful data processing, visualization, and geospatial capabilities. The book equips you with the knowledge and skills to tackle a wide range of issues manifested in geographic data, including those with scientific, societal, and environmental implications. This book will interest people from many backgrounds, especially Geographic Information Systems (GIS) users interested in applying their domain-specific knowledge in a powerful open source language for data science, and R users interested in extending their skills to handle spatial data.The book is divided into three parts: (I) Foundations, aimed at getting you up-to-speed with geographic data in R, (II) extensions, which covers advanced techniques, and (III) applications to real-world problems. The chapters cover progressively more advanced topics, with early chapters providing strong foundations on which the later chapters build. Part I describes the nature of spatial datasets in R and methods for manipulating them. It also covers geographic data import/export and transforming coordinate reference systems. Part II represents methods that build on these foundations. It covers advanced map making (including web mapping), "bridges" to GIS, sharing reproducible code, and how to do cross-validation in the presence of spatial autocorrelation. Part III applies the knowledge gained to tackle real-world problems, including representing and modeling transport systems, finding optimal locations for stores or services, and ecological modeling. Exercises at the end of each chapter give you the skills needed to tackle a range of geospatial problems. Solutions for each chapter and supplementary materials providing extended examples are available at https: //geocompr.github.io/geocompkg/articles/. Dr. Robin Lovelace is a University Academic Fellow at the University of Leeds, where he has taught R for geographic research over many years, with a focus on transport systems. Dr. Jakub Nowosad is an Assistant Professor in the Department of Geoinformation at the Adam Mickiewicz University in Poznan, where his focus is on the analysis of large datasets to understand environmental processes. Dr. Jannes Muenchow is a Postdoctoral Researcher in the GIScience Department at the University of Jena, where he develops and teaches a range of geographic methods, with a focus on ecological modeling, statistical geocomputing, and predictive mapping. All three are active developers and work on a number of R packages, including stplanr, sabre, and RQGIS.
The Secret to Cybersecurity: A Simple Plan to Protect Your Family and Business from Cybercrime
Scott Augenbaum - 2019
Is that you? What about your online banking passwords, are they safe? Has your email account or bank/debit card ever been compromised? In 2018, there were data breaches at several major companies—If those companies have your credit or debit information, that affects you. There are bad people in the world, and they are on the internet. They want to hurt you. They are based all over the world, so they’re hard at “work” when even you’re sleeping. They use automated programs to probe for weaknesses in your internet security programs. And they never stop. Cybercrime is on the increase internationally, and it’s up to you to protect yourself. But how? The Secret to Cybersecurity is the simple and straightforward plan to keep you, your family, and your business safe. Written by Scott Augenbaum, a 29-year veteran of the FBI who specialized in cybercrimes, it uses real-life examples to educate and inform readers, explaining who/why/how so you’ll have a specific takeaway to put into action for your family. Learn about the scams, methods, and ways that cyber criminals operate—and learn how to avoid being the next cyber victim.
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.
What I Wish I Knew Before I Learned To Code
Ali Spittel - 2019
I want to share what I've learned from that with you." - Ali Spittel.
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.
Algorithms for Optimization
Mykel J. Kochenderfer - 2019
The book approaches optimization from an engineering perspective, where the objective is to design a system that optimizes a set of metrics subject to constraints. Readers will learn about computational approaches for a range of challenges, including searching high-dimensional spaces, handling problems where there are multiple competing objectives, and accommodating uncertainty in the metrics. Figures, examples, and exercises convey the intuition behind the mathematical approaches. The text provides concrete implementations in the Julia programming language.Topics covered include derivatives and their generalization to multiple dimensions; local descent and first- and second-order methods that inform local descent; stochastic methods, which introduce randomness into the optimization process; linear constrained optimization, when both the objective function and the constraints are linear; surrogate models, probabilistic surrogate models, and using probabilistic surrogate models to guide optimization; optimization under uncertainty; uncertainty propagation; expression optimization; and multidisciplinary design optimization. Appendixes offer an introduction to the Julia language, test functions for evaluating algorithm performance, and mathematical concepts used in the derivation and analysis of the optimization methods discussed in the text. The book can be used by advanced undergraduates and graduate students in mathematics, statistics, computer science, any engineering field, (including electrical engineering and aerospace engineering), and operations research, and as a reference for professionals.
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!
Programming Quantum Computers: Essential Algorithms and Code Samples
Eric R. Johnston - 2019
If you're in software engineering, computer graphics, data science, or just an intrigued computerphile, this book provides a hands-on programmer's guide to understanding quantum computing. Rather than labor through math and theory, you'll work directly with examples that demonstrate this technology's unique capabilities.Quantum computing specialists Eric Johnston, Nic Harrigan, and Mercedes Gimeno-Segovia show you how to build the skills, tools, and intuition required to write quantum programs at the center of applications. You'll understand what quantum computers can do and learn how to identify the types of problems they can solve.This book includes three multichapter sections:Programming for a QPU--Explore core concepts for programming quantum processing units, including how to describe and manipulate qubits and how to perform quantum teleportation.QPU Primitives--Learn algorithmic primitives and techniques, including amplitude amplification, the Quantum Fourier Transform, and phase estimation.QPU Applications--Investigate how QPU primitives are used to build existing applications, including quantum search techniques and Shor's factoring algorithm.
Hands-On Network Programming with C: Learn socket programming in C and write secure and optimized network code
Lewis Van Winkle - 2019
DevOps Paradox: The truth about DevOps by the people on the front line
Viktor Farcic - 2019
Viktor Farcic interviews DevOps industries voices including Mike Kail, Greg Bledsoe, Jeff Sussna, James Turnbull, Kohsuke Kawaguchi, Liz Keogh, and more.
Key Features
Leading DevOps experts share their insights into modern DevOps practice
Engage with the real-world challenges of putting DevOps to work
Strengthen your DevOps practices now and prepare for future DevOps trends
Book Description DevOps promises to break down silos, uniting organizations to deliver high quality output in a cross-functional way. In reality it often results in confusion and new silos: pockets of DevOps practitioners fight the status quo, senior decision-makers demand DevOps paint jobs without committing to true change. Even a clear definition of what DevOps is remains elusive.In DevOps Paradox, top DevOps consultants, industry leaders, and founders reveal their own approaches to all aspects of DevOps implementation and operation. Surround yourself with expert DevOps advisors. Viktor Farcic draws on experts from across the industry to discuss how to introduce DevOps to chaotic organizations, align incentives between teams, and make use of the latest tools and techniques.With each expert offering their own opinions on what DevOps is and how to make it work, you will be able to form your own informed view of the importance and value of DevOps as we enter a new decade. If you want to see how real DevOps experts address the challenges and resolve the paradoxes, this book is for you. What you will learn Expert opinions on:
Introducing DevOps into real-world, chaotic business environments
Deciding between adopting cutting edge tools or sticking with tried-and-tested methods
Initiating necessary business change without positional power
Managing and overcoming fear of change in DevOps implementations
Anticipating future trends in DevOps and how to prepare for them
Getting the most from Kubernetes, Docker, Puppet, Chef, and Ansible
Creating the right incentives for DevOps success across an organization
The impact of new techniques, such as Lambda, serverless, and schedulers, on DevOps practice
Who this book is for Anybody interested in DevOps will gain a lot from this book. If you want to get beyond the simplistic ideals and engage with the deep challenges of putting DevOps to work in the real world, this book is for you. Table of Contents
Jeff Sussna - Founder and CEO, Sussna Associates
Damien Duportal - Træfik's Developer Advocate
Kevin Behr - IT Strategist; Chief Scientific Officer, PraxisFlow
Mike Kail - Chief Technology Officer, Everest.org
James Turnbull - Chairman, Rethink Robotics
Liz Keogh - Tech consultant
Julian Simpson - Global IT Manager, Neo4j
Andy Clemenko - Senior Solutions Engineer at Docker
Chris Riley - Author and DevOps Analyst
Adam Sandor - Cloud technology consultant
Julia Biro - Site Reliability Engineer, Contentful
Damon Edwards - Co-Founder and Chief Product Officer of Rundeck, Inc
Kohsuke Kawaguchi - Chief Technology Officer, CloudBees
Sean Hull - Cloud Architect
Bret Fischer - Docker Captain, and Cloud SysAdmin
Nirmal Mehta - Technology Consultant
Greg Bledsoe - Agile
Getting Started Becoming a Master Hacker: Hacking is the Most Important Skill Set of the 21st Century! (Linux Basics for Hackers)
OccupyTheWeb - 2019
Occupytheweb offers his unique style to guide the reader through the various professions where hackers are in high demand (cyber intelligence, pentesting, bug bounty, cyber warfare, and many others) and offers the perspective of the history of hacking and the legal framework. This book then guides the reader through the essential skills and tools before offering step-by-step tutorials of the essential tools and techniques of the hacker including reconnaissance, password cracking, vulnerability scanning, Metasploit 5, antivirus evasion, covering your tracks, Python, and social engineering. Where the reader may want a deeper understanding of a particular subject, there are links to more complete articles on a particular subject. Master OTW provides a fresh and unique approach of using the NSA's EternalBlue malware as a case study. The reader is given a glimpse into one of history's most devasting pieces of malware from the vulnerability, exploitation, packet-level analysis and reverse-engineering Python. This section of the book should be enlightening for both the novice and the advanced practioner. Master OTW doesn't just provide tools and techniques, but rather he provides the unique insights into the mindset and strategic thinking of the hacker. This is a must read for anyone considering a career into cyber security!
Deep Learning from Scratch: Building with Python from First Principles
Seth Weidman - 2019
This book provides a comprehensive introduction for data scientists and software engineers with machine learning experience. You'll start with deep learning basics and move quickly to the details of important advanced architectures, implementing everything from scratch along the way.Author Seth Weidman shows you how neural networks work using a first principles approach. You'll learn how to apply multilayer neural networks, convolutional neural networks, and recurrent neural networks from the ground up. With a thorough understanding of how neural networks work mathematically, computationally, and conceptually, you'll be set up for success on all future deep learning projects.This book provides:Extremely clear and thorough mental models--accompanied by working code examples and mathematical explanations--for understanding neural networksMethods for implementing multilayer neural networks from scratch, using an easy-to-understand object-oriented frameworkWorking implementations and clear-cut explanations of convolutional and recurrent neural networksImplementation of these neural network concepts using the popular PyTorch framework
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.
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.
Hello Swift!: iOS app programming for kids and other beginners
Tanmay Bakshi - 2019
This approachable, well-illustrated, step-by-step guide takes you from beginning programming concepts all the way through developing complete apps. (Adults will like it too!)Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyIt's fun to play games and explore new things on your iPhone. How amazing would it be to create your own apps? With a little practice, you can! Apple's Swift language, along with special coding playgrounds and an easy-to-use programming environment, make it easier than ever. Take it from author Tanmay Bakshi, who started programming when he was just five years old.About the BookHis book, Hello Swift! iOS app programming for kids and other beginners, teaches you how to write apps for iPhones and iOS devices step by step, starting with your first line of Swift code. Packed with dozens of apps and special exercises, the book will teach you how to program by writing games, solving puzzles, and exploring what your iPhone can do. Hello Swift! gets you started. Where you go next is up to you!What's insideCrystal-clear explanations anyone can understandKid-friendly examples, including games and puzzlesLearn by doing—you'll build dozens of small appsExercises that encourage critical thinkingAbout the ReaderWritten for kids who want to learn how to program. (Psst! Adults like it, too.)About the AuthorTanmay Bakshi had his first app on the iOS App Store at the age of nine. He's now the youngest IBM Champion, a Cloud Advisor, Watson Developer, TED Speaker, and Manning author!Table of ContentsGet ready to build apps with Swift!Create your first appYour first real Swift code using variablesI/O laboratoryComputers make decisions, too!Let computers do repetitive workKnitting variables into arrays and dictionariesReuse your code: Clean it with function detergentReduce your code: Use less, do more with class detergentReading and writing filesFrameworks: Bookshelves of classesSpriteKit: Fun animation timeTime to watch your WatchKit codeContinuing your journey with Swift
RxJava for Android Developers
Timo Tuominen - 2019
The examples are real enough to be useful when writing your own applications without bogging you down in extraneous detail—Mark Elston, Advantest AmericaRxJava for Android Developers begins by inviting you to think about programming and data the reactive way. This engaging, hands-on essential reference introduces you to the central pattern of RxJava for Android, then explains the View Model before exploring highly sought-after app features like chat clients and elegant transitions. Finally, you’ll look at high-level design concerns and architectural approaches and frameworks that work well with Functional Reactive Programming (FRP) thinking.Readers should have some experience building Android applications. No experience with RxJava is needed.
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!
Opt Art: From Mathematical Optimization to Visual Design
Robert Bosch - 2019
It is one of today's most important branches of mathematics and computer science--and also a surprisingly rich medium for creating breathtaking works of art. Opt Art takes readers on an entertaining tour of linear optimization and its applications, showing along the way how it can be used to design visual art.Robert Bosch provides a lively and accessible introduction to the geometric, algebraic, and algorithmic foundations of optimization. He presents classical applications, such as the legendary Traveling Salesman Problem, and shows how to adapt them to make optimization art--opt art. Each chapter in this marvelously illustrated book begins with a problem or puzzle and demonstrates how the solution can be derived using a host of artistic methods and media, including 3D printing, laser cutting, and computer-controlled machining. Bosch focuses on mathematical modeling throughout--converting a problem into a workable mathematical form, solving it using optimization techniques, and examining the results, which can take the form of mosaics, line drawings, and even sculpture. All you need is some high-school algebra, geometry, and calculus to follow along.Featuring more than a hundred illustrations and photos of Bosch's own art, Opt Art demonstrates how mathematics and computing can be used to create beauty and express emotion through amazing works of art.
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
Python by Example: Learning to Program in 150 Challenges
Nichola Lacey - 2019
This engaging and refreshingly different guide breaks down the skills into clear step-by-step chunks and explains the theory using brief easy-to-understand language. Rather than bamboozling readers with pages of mind-numbing technical jargon, this book includes 150 practical challenges, putting the power in the reader's hands. Through creating programs to solve these challenges the reader will quickly progress from mastering the basics to confidently using subroutines, a graphical user interface, and linking to external text, csv and SQL files. This book is perfect for anyone who wants to learn how to program with Python. In particular, students starting out in computer science and teachers who want to improve their confidence in Python will find here a set of ready-made challenges for classroom use.
Combine: Asynchronous Programming with Swift
Ray Wenderlich - 2019
Graph Algorithms: Practical Examples in Apache Spark & Neo4j
Mark Needham - 2019
You'll learn how graph analytics are uniquely suited to unfold complex structures and reveal difficult-to-find patterns lurking in your data. Whether you are trying to build dynamic network models or forecast real-world behavior, this book illustrates how graph algorithms deliver value--from finding vulnerabilities and bottlenecks to detecting communities and improving machine learning predictions.This practical book walks you through hands-on examples of how to use graph algorithms in Apache Spark and Neo4j--two of the most common choices for graph analytics. Also included: sample code and tips for over 20 practical graph algorithms that cover optimal pathfinding, importance through centrality, and community detection.Learn how graph analytics vary from conventional statistical analysisUnderstand how classic graph algorithms work, and how they are appliedGet guidance on which algorithms to use for different types of questionsExplore algorithm examples with working code and sample datasets from Spark and Neo4jSee how connected feature extraction can increase machine learning accuracy and precisionWalk through creating an ML workflow for link prediction combining Neo4j and Spark
Deep Learning for Computer Vision: Image Classification, Object Detection, and Face Recognition in Python
Jason Brownlee - 2019
With clear explanations, standard Python libraries, and step-by-step tutorial lessons, you’ll discover how to develop deep learning models for your own computer vision projects.
The Data-Centric Revolution: Restoring Sanity to Enterprise Information Systems
Dave McComb - 2019
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
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.
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.
Data Analytics for Absolute Beginners: A Deconstructed Guide to Data Literacy: (Introduction to Data, Data Visualization, Business Intelligence & Machine Learning)
Oliver Theobald - 2019
Everything from the data's source to the specific choice of input variables, algorithmic transformations, and visual representation shape the accuracy, relevance, and value of the data and mark its journey from raw data to business insight. It's also important to grasp the terminology and basic concepts of data analytics as much as it is to have the financial literacy to be successful as a decisionmaker in the business world. In this book, we make sense of data analytics without the assumption that you understand specific data science terminology or advanced programming languages to set you on your path. Topics covered in this book: Data MiningBig DataMachine Learning Alternative Data Data ManagementWeb ScrapingRegression AnalysisClustering AnalysisAssociation AnalysisData VisualizationBusiness Intelligence
Deep Learning for NLP and Speech Recognition
Uday Kamath - 2019
The three parts are: Machine Learning, NLP, and Speech IntroductionThe first part has three chapters that introduce readers to the fields of NLP, speech recognition, deep learning and machine learning with basic theory and hands-on case studies using Python-based tools and libraries. Deep Learning BasicsThe five chapters in the second part introduce deep learning and various topics that are crucial for speech and text processing, including word embeddings, convolutional neural networks, recurrent neural networks and speech recognition basics. Theory, practical tips, state-of-the-art methods, experimentations and analysis in using the methods discussed in theory on real-world tasks. Advanced Deep Learning Techniques for Text and Speech The third part has five chapters that discuss the latest and cutting-edge research in the areas of deep learning that intersect with NLP and speech. Topics including attention mechanisms, memory augmented networks, transfer learning, multi-task learning, domain adaptation, reinforcement learning, and end-to-end deep learning for speech recognition are covered using case studies.
Kids Can Code!: Fun Ways to Learn Computer Programming
Ian Garland - 2019
(Did you know coding took us to the moon?!) Complete with simple steps, colorful illustrations, and easy-to-follow screenshots, kids will find the encouragement they need to dive right in and discover the amazing power of coding. You’ll both love how Kids Can Code: Gives kids the confidence to master coding through simple projects that feel like play. Helps young learners get to know some of the most common coding languages—and the many ways they’re used to invent and create—in kid-friendly ways. Makes concepts like plot coordinates and binary code simple (even fun!) to grasp. Boosts computational thinking—tackling large problems by breaking them down into a sequence of smaller, more manageable problems. Gives kids a taste of the many ways coding be used—from music and design to animation and gaming. The activity-based learning in this guide sets kids up for immediate coding success, so they feel like a real programmer. It’s the best way to keep them learning and excited about technology!
Strengthening Deep Neural Networks: Making AI Less Susceptible to Adversarial Trickery
Katy Warr - 2019
This practical book examines real-world scenarios where DNNs--the algorithms intrinsic to much of AI--are used daily to process image, audio, and video data.Author Katy Warr considers attack motivations, the risks posed by this adversarial input, and methods for increasing AI robustness to these attacks. If you're a data scientist developing DNN algorithms, a security architect interested in how to make AI systems more resilient to attack, or someone fascinated by the differences between artificial and biological perception, this book is for you.Delve into DNNs and discover how they could be tricked by adversarial inputInvestigate methods used to generate adversarial input capable of fooling DNNsExplore real-world scenarios and model the adversarial threatEvaluate neural network robustness; learn methods to increase resilience of AI systems to adversarial dataExamine some ways in which AI might become better at mimicking human perception in years to come
Block Breaker: Building Knowledge and Amplifying Student Voice One Block at a Time
Brian Aspinall - 2019
The Software Arts
Warren Sack - 2019
Tracing the origins of software to eighteenth-century French encyclopedists' step-by-step descriptions of how things were made in the workshops of artists and artisans, Sack shows that programming languages are the offspring of an effort to describe the mechanical arts in the language of the liberal arts.Sack offers a reading of the texts of computing--code, algorithms, and technical papers--that emphasizes continuity between prose and programs. He translates concepts and categories from the liberal and mechanical arts--including logic, rhetoric, grammar, learning, algorithm, language, and simulation--into terms of computer science and then considers their further translation into popular culture, where they circulate as forms of digital life. He considers, among other topics, the "arithmetization" of knowledge that presaged digitization; today's multitude of logics; the history of demonstration, from deduction to newer forms of persuasion; and the post-Chomsky absence of meaning in grammar. With The Software Arts, Sack invites artists and humanists to see how their ideas are at the root of software and invites computer scientists to envision themselves as artists and humanists.
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.
Digitalsts: A Field Guide for Science & Technology Studies
Janet Vertesi - 2019
Classic work in science and technology studies (STS) has played a central role in how these fields analyze digital technologies, but many of its key examples do not speak to today's computational realities. This groundbreaking collection brings together a world-class group of contributors to refresh the canon for contemporary digital scholarship.In twenty-five pioneering and incisive essays, this unique digital field guide offers innovative new approaches to digital scholarship, the design of digital tools and objects, and the deployment of critically grounded technologies for analysis and discovery. Contributors cover a broad range of topics, including software development, hackathons, digitized objects, diversity in the tech sector, and distributed scientific collaborations. They discuss methodological considerations of social networks and data analysis, design projects that can translate STS concepts into durable scientific work, and much more.Featuring a concise introduction by Janet Vertesi and David Ribes and accompanied by an interactive microsite, this book provides new perspectives on digital scholarship that will shape the agenda for tomorrow's generation of STS researchers and practitioners.
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.
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++).
Introduction to Solution Architecture
Alan McSweeney - 2019
The solution exists to operate business processes in order to achieve business objectives, meet a business need and deliver business value. Solution architecture is concerned with engaging with the originating business function looking for the solution to create a solution vision and design a solution that meet their needs, subject to a range of constraints such as cost and affordability, time to deliver and organisational standards. The solution must exist as a coherent whole. Solutions must be designed consistently across the solution landscape and make optimum use of appropriate technologies. Solution architecture must focus on creating usable and useful solutions. Solution architecture must have a standard reliable approach to business engagements and the design of solution that emerge from them. Solution architecture must work collaboratively with other information technology functions – other architecture roles, business analysis and service management – to ensure continuity along the solution delivery journey. Effective solution architecture involves: • Have a depth and breadth of solution delivery and technical experience to be able to identify solution design options quickly • Being able to understand the detail of the solution while maintaining a view of the wider (and higher) context of the business need for the solution and being able to explain both these views of sets of information • Being able to communicate effectively with all parties – technical and business – involved in the solution design and delivery journey, assist with decision-making, be realistic and make appropriate compromises and design choices in order to create the best solution design • Being able to apply technology appropriately and with selective innovation (and the desire to constantly acquire new knowledge and ways of applying technology) • Being involved in the solution delivery journey along its entire length • Being able to be the solution advocate and subject matter expert This book is aimed at a variety of potential readers: • Existing solution architects who want to have a more theoretical and a broader understanding of their role • Existing or new managers of solution architecture functions who want to create a high-performing practice within their organisations and who want to articulate the benefits and value solution architect can contribute to the information technology function and the wider business and the potential it can offer to the business organisation • Mangers of information technology functions who want to understand what solution architecture is, where it fits into the wider architecture context and disciplines and solution delivery and operation and the value it can contribute to both the information technology function and the wider business • Other information technology architects who want to understand how the architecture disciplines can work together to deliver value • Business analysts and managers of business analysis functions who want to understand how they can work more closely with the solution architecture function in order to provide the business with a better overall service • Other information technology personnel who want to move into solution architecture and who want to understand what it is • Consulting organisations and individuals who want
Hacking Diversity: The Politics of Inclusion in Open Technology Cultures
Christina Dunbar-Hester - 2019
Yet surprisingly few women participate in it: rates of involvement by technologically skilled women are drastically lower in hacking communities than in industry and academia. Hacking Diversity investigates the activists engaged in free and open-source software to understand why, despite their efforts, they fail to achieve the diversity that their ideals support.Christina Dunbar-Hester shows that within this well-meaning volunteer world, beyond the sway of human resource departments and equal opportunity legislation, members of underrepresented groups face unique challenges. She brings together more than five years of firsthand research: attending software conferences and training events, working on message boards and listservs, and frequenting North American hackerspaces. She explores who participates in voluntaristic technology cultures, to what ends, and with what consequences. Digging deep into the fundamental assumptions underpinning STEM-oriented societies, Dunbar-Hester demonstrates that while the preferred solutions of tech enthusiasts—their “hacks” of projects and cultures—can ameliorate some of the “bugs” within their own communities, these methods come up short for issues of unequal social and economic power. Distributing “diversity” in technical production is not equal to generating justice.Hacking Diversity reframes questions of diversity advocacy to consider what interventions might appropriately broaden inclusion and participation in the hacking world and beyond.
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
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.
Practical Cloud Security: A Guide for Secure Design and Deployment
Chris Dotson - 2019
This hands-on book guides you through security best practices for multivendor cloud environments, whether your company plans to move legacy on-premises projects to the cloud or build a new infrastructure from the ground up.Developers, IT architects, and security professionals will learn cloud-specific techniques for securing popular cloud platforms such as Amazon Web Services, Microsoft Azure, and IBM Cloud. Chris Dotson--an IBM senior technical staff member--shows you how to establish data asset management, identity and access management, vulnerability management, network security, and incident response in your cloud environment.
Natural Language Processing in Action
Hobson Lane - 2019
Then, you'll discover how to train a Python-based NLP machine to recognize patterns and extract information from text. As you explore the carefully-chosen examples, you'll expand your machine's knowledge and apply it to a range of challenges, from building a search engine that can find documents based on their meaning rather than merely keywords, to training a chatbot that uses deep learning to answer questions and participate in a conversation.
Quantum Computing: An Applied Approach
Jack D. Hidary - 2019
This work is suitable for both academic coursework and corporate technical training.This volume comprises three books under one cover: Part I outlines the necessary foundations of quantum computing and quantum circuits. Part II walks through the canon of quantum computing algorithms and provides code on a range of quantum computing methods in current use. Part III covers the mathematical toolkit required to master quantum computing. Additional resources include a table of operators and circuit elements and a companion GitHub site providing code and updates.Jack D. Hidary is a research scientist in quantum computing and in AI at Alphabet X, formerly Google X."Quantum Computing will change our world in unexpected ways. Everything technology leaders, engineers and graduate students need is in this book including the methods and hands-on code to program on this novel platform."--Eric Schmidt, PhD, Former Chairman and CEO of Google; Founder, Innovation Endeavors
CompTIA A+ Certification All-in-One Exam Guide, Exams 220-1001 & 220-1002
Mike Meyers - 2019
QED at Large: A Survey of Engineering of Formally Verified Software
Talia Ringer - 2019
The Energetics of Computing in Life and Machines
David Wolpert - 2019
Why do computers use so much energy? What are the fundamental physical laws governing the relationship between the precise computation run by a system, whether artificial or natural, and how much energy that computation requires? Can we learn how to improve efficiency in computing by examining how biological computers manage to be so efficient? The time is ripe for a new synthesis of nonequilibrium physics, computer science, and biochemistry.This volume integrates pure and applied concepts from these diverse fields, with the goal of cultivating a modern, nonequilibrium thermodynamics of computation.
Essential Discrete Mathematics for Computer Science
Harry Lewis - 2019
This textbook covers the discrete mathematics that every computer science student needs to learn. Guiding students quickly through thirty-one short chapters that discuss one major topic each, this flexible book can be tailored to fit the syllabi for a variety of courses.Proven in the classroom, Essential Discrete Mathematics for Computer Science aims to teach mathematical reasoning as well as concepts and skills by stressing the art of proof. It is fully illustrated in color, and each chapter includes a concise summary as well as a set of exercises. The text requires only precalculus, and where calculus is needed, a quick summary of the basic facts is provided.Essential Discrete Mathematics for Computer Science is the ideal introductory textbook for standard undergraduate courses, and is also suitable for high school courses, distance education for adult learners, and self-study.The essential introduction to discrete mathematicsFeatures thirty-one short chapters, each suitable for a single class lessonIncludes more than 300 exercisesAlmost every formula and theorem proved in fullBreadth of content makes the book adaptable to a variety of coursesEach chapter includes a concise summarySolutions manual available to instructors
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.
Programming C# 8.0: Build Cloud, Web, and Desktop Applications
Ian Griffiths - 2019
With this comprehensive guide, you’ll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 8.0 fundamentals and techniques for building cloud, web, and desktop applications.Designed for experienced programmers, this book provides many code examples to help you work with the nuts and bolts of C#, such as generics, LINQ, and asynchronous programming features. You’ll get up to speed on .NET Core and the latest C# 8.0 additions, including asynchronous streams, nullable references, pattern matching, default interface implementation, ranges and new indexing syntax, and changes in the .NET tool chain.
Discover how C# supports fundamental coding features, such as classes, other custom types, collections, and error handling
Learn how to write high-performance memory-efficient code with .NET Core’s Span and Memory types
Query and process diverse data sources, such as in-memory object models, databases, data streams, and XML documents with LINQ
Use .NET’s multithreading features to exploit your computer’s parallel processing capabilities
Learn how asynchronous language features can help improve application responsiveness and scalability
Comptia Linux+ Xk0-004 Cert Guide
Ross Brunson - 2019
Master CompTIA Linux+ XK0-004 exam topics Assess your knowledge with chapter-ending quizzes Review key concepts with exam preparation tasks Practice with unique sets of exam-realistic practice questions CompTIA Linux+ XK0-004 Cert Guide is a best-of-breed exam study guide. Leading Linux trainers Ross Brunson and William "Bo" Rothwell share preparation hints and test-taking tips, helping you identify areas of weakness and improve both your conceptual knowledge and hands-on skills. Material is presented in a concise manner, focusing on increasing your understanding and retention of exam topics. The book presents you with an organized test-preparation routine through the use of proven series elements and techniques. Exam topic lists make referencing easy. Chapter-ending Exam Preparation Tasks help you drill on key concepts you must know thoroughly. Review questions help you assess your knowledge, and a final preparation chapter guides you through tools and resources to help you craft your final study plan. CompTIA Linux+ XK0-004 Cert Guide comes with the powerful Pearson Test Prep practice test software, complete with hundreds of exam-realistic questions. The assessment engine offers you a wealth of customization options and reporting features, laying out a complete assessment of your knowledge to help you focus your study where it is needed most. This online assessment engine enables you to access the practice tests via the Internet on any desktop, laptop, tablet, or smartphone device with Internet connectivity. The web-based version also enables you to download the software to your desktop, so you can use the practice test even when you don't have an Internet connection. The desktop version syncs with your online version when an Internet connection is established, to update and track your progress. This integrated learning package offers these additional benefits: Enables you to focus on individual topic areas or take complete, timed exams Presents unique sets of exam-realistic practice questions Tracks your performance and provides feedback on a module-by-module basis, laying out a complete assessment of your knowledge to help you focus your study where it is needed most Well regarded for its level of detail, assessment features, and challenging review questions and exercises, this study guide helps you master the concepts and techniques that will enable you to succeed on the exam the first time. This study guide helps you master all topics on the latest CompTIA Linux+ exam, including Hardware and system configuration Systems operation and maintenance Security Linux troubleshooting and diagnostics Automation and scripting It fully reflects major changes to this version of the Linux+ exam, including new coverage of virtualization, cloud concepts, Git, and orchestration.
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.
Introduction to Natural Language Processing
Jacob Eisenstein - 2019
It emphasizes contemporary data-driven approaches, focusing on techniques from supervised and unsupervised machine learning. The first section establishes a foundation in machine learning by building a set of tools that will be used throughout the book and applying them to word-based textual analysis. The second section introduces structured representations of language, including sequences, trees, and graphs. The third section explores different approaches to the representation and analysis of linguistic meaning, ranging from formal logic to neural word embeddings. The final section offers chapter-length treatments of three transformative applications of natural language processing: information extraction, machine translation, and text generation. End-of-chapter exercises include both paper-and-pencil analysis and software implementation.The text synthesizes and distills a broad and diverse research literature, linking contemporary machine learning techniques with the field's linguistic and computational foundations. It is suitable for use in advanced undergraduate and graduate-level courses and as a reference for software engineers and data scientists. Readers should have a background in computer programming and college-level mathematics. After mastering the material presented, students will have the technical skill to build and analyze novel natural language processing systems and to understand the latest research in the field.
Get Programming with Node.js
Jonathan Wexler - 2019
In 34 fast-paced, fun, and practical lessons, you'll discover how to extend your existing JavaScript skills to write back-end code for your web applications. After setting up the perfect developer environment, you'll get straight into developing your first app using Express.js, a lightweight MVC-style web framework. You'll learn all-important security and authentication features, as well as database tasks. When your basic app is completed, you'll add extra functionality like chat before deploying the finished product. Thanks to the easy-to-digest examples and exercises, you'll be coding with Node.js like a pro in no time!
Learn Robotics with Raspberry Pi: Build and Code Your Own Moving, Sensing, Thinking Robots
Matt Timmons-Brown - 2019
You'll start off building a two-wheeled robot powered by a Raspberry Pi minicomputer and then program it using Python, the world's most popular programming language. Gradually, you'll improve your robot by adding increasingly advanced functionality until it can follow lines, avoid obstacles, and even recognize objects of a certain size and color using computer vision.Learn how to: - Control your robot remotely using only a Wii remote- Teach your robot to use sensors to avoid obstacles- Program your robot to follow a line autonomously - Customize your robot with LEDs and speakers to make it light up and play sounds- See what your robot sees with a Pi CameraAs you work through the book, you'll learn fundamental electronics skills like how to wire up parts, use resistors and regulators, and determine how much power your robot needs. By the end, you'll have learned the basics of coding in Python and know enough about working with hardware like LEDs, motors, and sensors to expand your creations beyond simple robots.
Unity Game Development Cookbook: Essentials for Every Game
Paris Buttfield-Addison - 2019
With this unique cookbook, you’ll get started in two ways:
First, you’ll learn about the Unity game engine by following very brief exercises that teach specific features of the software
Second, this tutorial-oriented guide provides a collection of snippets that solve common gameplay problems, like determining if a player has completed a lap in a race
Using our cookbook format, we pinpoint the problem, set out the solution, and discuss how to solve your problem in the best and most straightforward way possible so you can move onto the next step in the project.Unity Game Development Cookbook is ideal for beginning to intermediate Unity developers. Beginners will get a broad immersion into the Unity development environment, while intermediate developers will learn how to apply the foundational Unity skills they have to solve real game development problems.
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).
Hands-On Blockchain for Python Developers: Gain blockchain programming skills to build decentralized applications using Python
Arjuna Sky Kok - 2019
The TDD Companion
Scott L. Bain - 2019
Each entry is a page long at most. These pages are loosely organized, except where specific pages relate to each other. The idea is that you can pick it up, open it anywhere, and gain a useful insight without having to spend hours poring over it.
Metal by Tutorials: Beginning game engine development with Metal
Ray Wenderlich - 2019
Dear friend,thanks for coming to our store.The size is Chinese size, please select it carefully, thank you! Package:Other accessories not include Material:Size details: China S=US XXS:Length:20.47"(52cm),Bust:35.83"(91cm); China M=US XS:Length:20.87"(53cm),Bust:37.40"(95cm); China L=US S:Length:21.26"(54cm),Bust:38.98"(99cm); China XL=US M:Length:21.65"(55cm),Bust:40.55"(103cm);
Scala from Scratch: Exploration
Daniel Westheide - 2019
Readers that have some experience with an object-oriented or imperative language, like Java, Ruby, or Python, will get a comprehensive overview of what Scala brings to the table. The goal is to get you excited about Scala and give you a strong foundation for writing your first applications and continuing your journey. By the end of the book, you will have a good idea of what it's like to work with Scala, and you will have written a small, but complete command-line application based on a Functional Core, Imperative Shell architecture.In this book you will learn about functional and object-oriented aspects of Scala. You will learn how to write expressive, intent-revealing code using pattern matching, functional sequence processing and for comprehensions, and how to design data types that enforce their business invariants in a functional way, without throwing exceptions. You will get a first glimpse at Scala's powerful type system and how to abstract over concrete types, and you will learn all there is to know about working with Option, Scala's approach at avoiding the million dollar mistake of null references.If you are excited and want to continue your journey, you will be able to do with the upcoming second book in the series, Scala from Scratch: Understanding, which will go even deeper into the topics explored in this book and will discuss advanced language features and patterns.
Game Development with Ren'Py: Introduction to Visual Novel Games Using Ren'Py, TyranoBuilder, and Twine
Robert Ciesla - 2019
This book uses a two-pronged approach into the fine art of text-based games, showing you what makes for compelling writing as well as the programming logic and techniques needed to bring your visual novels to life. In this book, you will uncover the rich history of interactive fiction from the bare-bones 1970s games to the audiovisually rich modern output. You will take a detailed look at how to work with some of the most popular and exotic sub-genres and tropes of interactive fiction, such as nakige ("crying game"), dating sims, and horror. Once the stage is set, you will learn to use all-purpose programming logic and techniques in three mini tutorial games and also learn how to deploy your titles to both desktop and mobile platforms. Not solely relegated to the ancient historical period of the 1980s and 1990s, interactive fiction has again become appealing to developers as new tools became available. The visual novel is an increasingly popular and potentially lucrative genre of video game, being deployed for Windows, Mac, iOS, Android, and more. Game Development with Ren'Py reveals how multi-platform tools such as Ren'Py, TyranoBuilder, and Twine are becoming ever more plentiful for creating games in this genre.
What You'll Learn
Gain a working knowledge of Ren'Py, TyranoBuilder, and Twine Examine the basics of general programming logic Deploy to all available operating systems and platforms Review different approaches to fiction writing in the context of text-based games
Who This Book Is For
People with no programming experience who are interested in working in the genre of visual novels or interactive fiction.
Cloud Native Patterns: Architecture, Design and Culture
Pini Reznik - 2019
But it's a tough technique to get right, especially for enterprises with critical legacy systems. This book examines effective architecture, design, and cultural patterns to help you migrate to cloud native systems--whether you're moving from older architectures or creating new systems from scratch.Cloud migration consultants Pini Reznik and Jamie Dobson draw patterns from the growing community of expert practitioners and enterprises that have successfully built cloud native systems. Technical managers and architects will learn what works and what doesn't when adopting cloud native--not just how this transition affects your technology but your company's culture as well.You'll learn:What cloud native means and why enterprises are so interested in itCommon barriers and issues that have affected other companiesContext-specific patterns for a successful cloud native adoptionHow to implement a safe, evolutionary cloud native approachHow companies addressed root causes and misunderstandings that led to adoption problems
Concurrency: The Works of Leslie Lamport
Dahlia Malkhi - 2019
Some of the algorithms have become standard engineering practice for fault tolerant distributed computing - distributed systems that continue to function correctly despite failures of individual components. He also developed a substantial body of work on the formal specification and verification of concurrent systems, and has contributed to the development of automated tools applying these methods.Part I consists of technical chapters of the book and a biography. The technical chapters of this book present a retrospective on Lamport's original ideas from experts in the field. Through this lens, it portrays their long-lasting impact. The chapters cover timeless notions Lamport introduced: the Bakery algorithm, atomic shared registers and sequential consistency; causality and logical time; Byzantine Agreement; state machine replication and Paxos; temporal logic of actions (TLA). The professional biography tells of Lamport's career, providing the context in which his work arose and broke new grounds, and discusses LaTeX - perhaps Lamport's most influential contribution outside the field of concurrency. This chapter gives a voice to the people behind the achievements, notably Lamport himself, and additionally the colleagues around him, who inspired, collaborated, and helped him drive worldwide impact. Part II consists of a selection of Leslie Lamport's most influential papers.This book touches on a lifetime of contributions by Leslie Lamport to the field of concurrency and on the extensive influence he had on people working in the field. It will be of value to historians of science, and to researchers and students who work in the area of concurrency and who are interested to read about the work of one of the most influential researchers in this field.
Microsoft Access 2019 Programming by Example with VBA, XML, and ASP
Julitta Korol - 2019
Design by Concept: A New Way to Think about Software
Daniel Jackson - 2019
Advanced Guide to Python 3 Programming (Undergraduate Topics in Computer Science)
John Hunt - 2019
Building Forms with Vue.js: Patterns for building and scaling complex forms with great UX
Marina Mosti - 2019
Building Forms with Vue.js follows a step-by-step approach to help you create an efficient user interface (UI) and seamless user experience (UX) by building quick and easy-to-use forms.You’ll get off to a steady start by setting up the demo project. Next, you’ll get to grips with component composition from creating reusable form components through to implementing the custom input components. To further help you develop a convenient user input experience, the book will show you how to enhance custom inputs with v-mask. As you progress, you’ll get up to speed with using Vuelidate and Vuex to effectively integrate your forms. You’ll learn how to create forms that use global state, reactive instant user input validation and input masking, along with ensuring that they are completely schema-driven and connected to your application’s API. Every chapter builds on the concepts learned in the previous chapter, while also allowing you to skip ahead to the topics you’re most interested in.By the end of this book, you will have gained the skills you need to transform even the simplest form into a crafted user and developer experience with Vue. What you will learn
Learn all about the basics of creating reusable form components with the Vue framework
Understand v-model and how it plays a role in form creation
Create forms that are completely powered and generated by a schema, either locally or from an API endpoint
Understand how Vuelidate allows for easy declarative validation of all your form’s inputs with Vue’s reactivity system
Connect your application with a Vuex-powered global state management
Use the v-mask library to enhance your inputs and improve user experience (UX)
Who this book is for If you are a developer with basic Vue experience who wants to enhance your forms, then this book is for you. No previous experience with any of the libraries used in the book is required. Table of Contents
Setting up the Demo Project
A Form in its Simplest Form
Creating Reusable Form Components
Input Masks with v-mask
Input Validation with Vuelidate
Moving to a Global State with Vuex
Creating Schema-Driven Forms
Angular Projects: Build nine real-world applications from scratch using Angular 8 and TypeScript
Zama Khan Mohammed - 2019
It is packed with amazing web tools that allow developers to become more productive and make the development experience a happier oneThis book will be your practical guide when it comes to building optimized web apps using Angular. The book explores a number of popular features, including the experimental Ivy rendered, lazy loading, and differential loading, among others, in the projects. It starts with the basics of Angular and its tools, which will help you to develop and debug Angular applications. You will learn how to create an SPA using Angular Router, and optimize it by code splitting and Preloading Routes. We will then build a form-heavy application and make forms reactive by using Reactive Forms. After that, we will learn how to build a Progressive Web App, and a server-side rendering app, as well as a MonoRepo app. Furthermore, we will also dive into building mobile apps using Ionic and NativeScript. Finally, we end the book by creating a component library for our application using Angular CDK and then testing it.By the end of this book, you’ll have gained comprehensive insights into using Angular, along with hands-on experience in creating intuitive real-world applications. What you will learn
Set up Angular applications using Angular CLI and Angular Console
Understand lazy loading using dynamic imports for routing
Perform server-side rendering by building an SEO application
Build a Multi-Language NativeScript Application with Angular
Explore the components library for frontend web using Angular CDK
Scale your Angular applications using Nx, NgRx, and Redux
Who this book is for If you are a developer who has some experience with Angular and are looking to become well-versed with the essential tools and deal with the various use cases you may encounter with Angular, then this book is for you. Basic knowledge of web application development and experience working with ES6 or TypeScript are assumed. Table of Contents
Setting up Development Environment
Building a Flashcard game using Angular
Building a Personal Blog Using Angular Router and WordPress
Building an Inventory application using Reactive Forms
Building a PWA Survey Application using Angular Service Worker
Building an Auditing application using Angular and Ionic
Building a Server Side Rendering Application using Angular Part-1
Building an enterprise portal using Nx, NgRx and Redux Part-1
Building cross-platform image processing app using NativeScript and Firebase MLkit Part-1
Building a Component Library Using Angular CDK and Elements
Testing Angular Application using Jasmine and Jest
Real-Life BPMN (4th edition): Includes an introduction to DMN
Bernd Rucker - 2019
In this book you will learn how to: Model processes with Business Process Model and Notation (BPMN) Successfully apply BPMN to real-world problems Use a practical approach to workflow automation with BPMN 2.0 Align business, development and operations Understand how microservices impact business processes Implement BPMN across your organizationThe definitive guide for process designers: provides an overview of business process notation, presents implementation guidance and best practices, and offers useful tips on what works and what doesn't.Truth be told, there are several BPMN books on the market. Some of them are quite good, so why should you care about this one? This book distills the experience the authors have accumulated while running Camunda, a company that delivers the leading open source workflow and decision automation platform. Camunda helped to define the BPMN specification, and during the past 15 years, they have applied BPMN to thousands of customer use cases. These were big businesses, small companies, and public institutions. Now you can benefit from this practical experience. This bookalso gives an introduction to DMN for decision management, which you might know as business rules management (BRM). This book is also available in German and Spanish. Note: The resolution of all images in the ebook has been increased, starting with the third edition, to improve the digital reading experience.
Engineering Software Products: An Introduction to Modern Software Engineering
Ian Sommerville - 2019
Introduces software engineering techniques for developing software products and apps With Engineering Software Products, author Ian Sommerville takes a unique approach to teaching software engineering and focuses on the type of software products and apps that are familiar to students, rather than focusing on project-based techniques. Written in an informal style, this book focuses on software engineering techniques that are relevant for software product engineering. Topics covered include personas and scenarios, cloud-based software, microservices, security and privacy and DevOps. The text is designed for students taking their first course in software engineering with experience in programming using a modern programming language such as Java, Python or Ruby.
Foundations of Game Engine Development, Volume 2: Rendering
Eric Lengyel - 2019
The book provides a detailed introduction to color science, world structure, projections, shaders, lighting, shadows, fog, and visibility methods. This is followed by extensive discussions of a variety of advanced rendering techniques that include volumetric effects, atmospheric shadowing, ambient occlusion, motion blur, and isosurface extraction. Emphasis is placed on practical implementation, and code is included.
Continuous Delivery with Docker and Jenkins: Create secure applications by building complete CI/CD pipelines, 2nd Edition
Rafał Leszko - 2019
Create a highly available environment to scale a Docker servers using Kubernetes
Implement advance continuous delivery process by parallelizing the pipeline tasks
Book Description Continuous Delivery with Docker and Jenkins, Second Edition will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of an app development. It will start with setting up a Docker server and configuring Jenkins on it. It will then provide steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, and configuration management.Moving on, you will learn how to ensure quick application deployment with Docker containers along with scaling Jenkins using Kubernetes. Next, you will get to know how to deploy applications using Docker images and testing them with Jenkins. Towards the end, the book will touch base with missing parts of the CD pipeline, which are the environments and infrastructure, application versioning, and nonfunctional testing.By the end of the book, you will be enhancing the DevOps workflow by integrating the functionalities of Docker and Jenkins. What you will learn
Get to grips with docker fundamentals and how to dockerize an application for the CD process
Learn how to use Jenkins on the Cloud environments
Scale a pool of Docker servers using Kubernetes
Create multi-container applications using Docker Compose
Write acceptance tests using Cucumber and run them in the Docker ecosystem using Jenkins
Publish a built Docker image to a Docker Registry and deploy cycles of Jenkins pipelines using community best practices
Who this book is for The book targets DevOps engineers, system administrators, docker professionals or any stakeholders who would like to explore the power of working with Docker and Jenkins together. No prior knowledge of DevOps is required for this book. Table of Contents
Introducing Continuous Delivery
Introducing Docker
Configuring Jenkins
Continuous Integration Pipeline
Automated Acceptance Testing
Clustering with Kubernetes
Configuration Management with Ansible
Continuous Delivery Pipeline
Advanced Continuous Delivery
Appendix: Best Practices
Python and Algorithmic Thinking for the Complete Beginner: Learn to Think Like a Programmer
Aristides S. Bouras - 2019
Αlgorithmic Thinking involves more than just learning code. It is a problem-solving process that involves learning how to code.This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from Python’s lists, it now also covers dictionaries, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for
novices or average programmers, for self-study
high school students
first-year college or university students
teachers
professors
anyone who wants to start learning or teaching computer programming using the proper conventions and techniques
Inside the Dark Web
Erdal Ozkaya - 2019
The book also analyzes the online underground economy and digital currencies and cybercrime on the dark web. The book further explores how dark web crimes are conducted on the surface web in new mediums, such as the Internet of Things (IoT) and peer-to-peer file sharing systems as well as dark web forensics and mitigating techniques.This book starts with the fundamentals of the dark web along with explaining its threat landscape. The book then introduces the Tor browser, which is used to access the dark web ecosystem. The book continues to take a deep dive into cybersecurity criminal activities in the dark net and analyzes the malpractices used to secure your system. Furthermore, the book digs deeper into the forensics of dark web, web content analysis, threat intelligence, IoT, crypto market, and cryptocurrencies. This book is a comprehensive guide for those who want to understand the dark web quickly.After reading
Inside the Dark Web,
you'll understandThe core concepts of the dark web. The different theoretical and cross-disciplinary approaches of the dark web and its evolution in the context of emerging crime threats. The forms of cybercriminal activity through the dark web and the technological and "social engineering" methods used to undertake such crimes. The behavior and role of offenders and victims in the dark web and analyze and assess the impact of cybercrime and the effectiveness of their mitigating techniques on the various domains. How to mitigate cyberattacks happening through the dark web. The dark web ecosystem with cutting edge areas like IoT, forensics, and threat intelligence and so on. The dark web-related research and applications and up-to-date on the latest technologies and research findings in this area.For all present and aspiring cybersecurity professionals who want to upgrade their skills by understanding the concepts of the dark web,
Inside the Dark Web
is their one-stop guide to understanding the dark web and building a cybersecurity plan.
Artificial Intelligence Engines
James V. Stone - 2019
However, a new generation of artificial intelligence algorithms, in the form of deep neural networks, is rapidly eliminating that advantage. Deep neural networks rely on adaptive algorithms to master a wide variety of tasks, including cancer diagnosis, object recognition, speech recognition, robotic control, chess, poker, backgammon and Go, at super-human levels of performance. In this richly illustrated book, key neural network learning algorithms are explained informally first, followed by detailed mathematical analyses. Topics include both historically important neural networks (perceptrons, Hopfield nets, Boltzmann machines and backpropagation networks), and modern deep neural networks (variational autoencoders, convolutional networks, generative adversarial networks, and reinforcement learning using SARSA and Q-learning). Online computer programs, collated from open source repositories, give hands-on experience of neural networks, and PowerPoint slides provide support for teaching. Written in an informal style, with a comprehensive glossary, tutorial appendices (e.g. Bayes' theorem, maximum likelihood estimation), and a list of further readings, this is an ideal introduction to the algorithmic engines of modern artificial intelligence.