Write Great Code: Volume 1, 2nd EditionThis, the first volume in Randall Hyde's Write Great Code series, dives into machine organization without the extra overhead of learning assembly language programming. Written for high-level language programmers, Understanding the Machine fills in the low-level details of machine organization that are often left out of computer science and engineering courses.
Learn: How the machine represents numbers, strings, and high-level data structures, so you'll know the inherent cost of using them; How to organize your data, so the machine can access it efficiently; How the CPU operates, so you can write code that works the way the machine does; How I/O devices operate, so you can maximize your application's performance when accessing those devices; How to best use the memory hierarchy to produce the fastest possible programs.
Great code is efficient code. But before you can write truly efficient code, you must understand how computer systems execute programs and how abstractions in prog ...
Web Security for DevelopersThe world has changed. Today, every time you make a site live, you're opening it up to attack.
A first-time developer can easily be discouraged by the difficulties involved with properly securing a website. But have hope: an army of security researchers is out there discovering, documenting, and fixing security flaws. Thankfully, the tools you'll need to secure your site are freely available and generally easy to use.
Web Security for Developers will teach you how your websites are vulnerable to attack and how to protect them. Each chapter breaks down a major security vulnerability and explores a real-world attack, coupled with plenty of code to show you both the vulnerability and the fix.
You'll learn how to: Protect against SQL injection attacks, malicious JavaScript, and cross-site request forgery; Add authentication and shape access control to protect accounts; Lock down user accounts to prevent attacks that rely on guessing passwords, stealing sessions, or escalating priv ...
Creating Game Environments in Blender 3DDiscover how to create a simple game environment in Blender 3D, from modeling and texturing game assets, to placing them in a scene. You'll export and import game assets as well as look at open-source game engines that will work with your game assets. Creating Game Environments in Blender 3D introduces the power of Blender 3D when creating a low poly game environment.
The book starts by discussing the basics of game terminology, such as knowing the difference between low poly and high poly assets and the types of game you're likely to work on. You'll also take a brief look at Blender's background and installation. The following chapters talk about the process for creating a simple game environment. This is discussed in detail along with a sample project. These chapters discuss the common tools for starting a game environment and the methods for enhancing your game environment, such as color fundamentals. The final chapter shows how you can export the game assets you created in Blend ...
Pro iOS TestingDiscover what tools there are for unit testing in iOS, and how to work in a test-driven environment. This book reveals how testing is a crucial capability in any iOS developer's toolset, and a minimum requirement in iOS interviews.
A few years ago, tests on mobile platforms were not very popular. It wasn't a technical constraint, more a cultural one. But these days it's a crucial skill set, especially when projects become big and hard to maintain. This book shows you how to set up a testing target in XCode unit tests. You'll learn how to write unit tests properly and incorporate concepts like spies and mocks and code coverage. You'll also learn the philosophy behind the architecture of UI tests, and how to mock network and DB layers in testing. Write unbreakable UI tests performance tests, as well. And learn the difference between integration tests and snapshot testing.
This book will show you how to maintain code that's not only bug-free but will also remain high quality over time ...
Building Versatile Mobile Apps with Python and RESTDevelop versatile iOS apps using Python with RESTful web services. This book will show you how to blend Django, a high-level Python Web framework, with Django REST, the powerful, feature-filled extension, to build iOS mobile apps.
Using easy-to-follow examples, you'll begin by building a simple app using the RESTful Web API and iOS. You'll begin by using traditional Django to create models and connect your App to the database. You'll then see how to serialize your data and create the RESTful API.
The second part of the book introduces Xcode, a programming environment to develop iOS apps. Using Swift, the programming language for iOS, you'll design the actual app. Once you have your back-end in Django and a front-end in Swift, you'll connect them using our RESTful API. You'll be able to log in, browse places of interest, and rate them and leave comments.
Guided step-by-step instructions, Building Versatile Mobile Apps with Python and REST will demonstrate how easy it is to use Py ...
MySQL ConcurrencyKnow how locks work in MySQL and how they relate to transactions. This book explains the major role that locks play in database systems, showing how locks are essential in allowing high-concurrency workloads. You will learn about lock access levels and lock granularities from the user level as well as table locks to record and gap locks. Most importantly, the book covers troubleshooting techniques when locking becomes a pain point.
Several of the lock types in MySQL have a duration of a transaction. For this reason, it is important to understand how transactions work. This book covers the basics of transactions as well as transaction isolation levels and how they affect locking. The book is meant to be your go-to resource for solving locking contention and similar problems in high-performance MySQL database applications.
Detecting locking issues when they occur is the first key to resolving such issues. MySQL Concurrency provides techniques for detecting locking issues such as co ...
Azure Arc-Enabled Data Services RevealedGet introduced to Azure Arc-enabled data services and the powerful capabilities they provide to deploy and manage local, on-premises, and hybrid cloud data resources using the same centralized management and tooling you get from the Azure cloud. This book shows how you can deploy and manage databases running on SQL Server and Posgres in your corporate data center as if they were part of the Azure platform. You will learn how to benefit from the centralized management that Azure provides, the automated rollout of patches and updates, and more.
This book is the perfect choice for anyone looking for a hybrid or multi-vendor cloud strategy for their data estate. The authors walk you through the possibilities and requirements to get services such as Azure SQL Managed Instance and PostgresSQL Hyperscale, deployed outside of Azure, so the services are accessible to companies that cannot move to the cloud or do not want to use the Microsoft cloud exclusively. The technology described in thi ...
Certified Kubernetes Application Developer (CKAD) Study GuideDevelopers with the ability to operate, troubleshoot, and monitor applications in Kubernetes are in high demand today. To meet this need, the Cloud Native Computing Foundation created a certification exam to establish a developer's credibility and value in the job market to work in a Kubernetes environment.
The Certified Kubernetes Application Developer (CKAD) exam is different from the typical multiple-choice format of other certifications. Instead, the CKAD is a performance-based exam that requires deep knowledge of the tasks under immense time pressure.
This study guide walks you through all the topics you need to fully prepare for the exam. Author Benjamin Muschko also shares his personal experience with preparing for all aspects of the exam.
Learn when and how to apply Kubernetes concepts to manage an application; Understand the objectives, abilities, tips, and tricks needed to pass the CKAD exam; Explore the ins and outs of the kubectl command-line tool; Demonstrate comp ...
Ionic 4 SuccinctlyIonic 4 takes the original Ionic toolkit from a mobile-centric framework based on Angular to a powerful, web-based UI design system and app-development toolset that is JavaScript-framework agnostic. The increased performance of Ionic 4 components makes the framework ideal for developing progressive web apps (PWAs), which are in high demand and popularity these days. With Ionic 4 Succinctly, Ed Freitas will focus on progressive web apps and show you how you can use Ionic 4 to build one, using Vue as the JavaScript framework. ...
Dive Into AlgorithmsDive Into Algorithms is a wide-ranging, Pythonic tour of many of the world's most interesting algorithms. With little more than a bit of computer programming experience and basic high-school math, you'll explore standard computer science algorithms for searching, sorting, and optimization; human-based algorithms that help us determine how to catch a baseball or eat the right amount at a buffet; and advanced algorithms like ones used in machine learning and artificial intelligence. You'll even explore how ancient Egyptians and Russian peasants used algorithms to multiply numbers, how the ancient Greeks used them to find greatest common divisors, and how Japanese scholars in the age of samurai designed algorithms capable of generating magic squares.
You'll explore algorithms that are useful in pure mathematics and learn how mathematical ideas can improve algorithms. You'll learn about an algorithm for generating continued fractions, one for quick calculations of square roots, and anot ...