Basic Math for Game Development with Unity 3D
Use Unity-based examples to understand fundamental mathematical concepts and see how they are applied when building modern video game functionality. You will gain the theoretical foundation you need, and you will know how to examine and modify an implementation.
This book covers points in a 3D Cartesian coordinate system, and then discusses vectors and the details of dot and cross products. Basic mathematical foundations are illustrated through Unity-based example implementations. Also provided are examples showing how the concepts are applied when implementing video game functionality, such as collision support, motion simulations, autonomous behaviors, shadow approximations, and reflection off arbitrary walls.
Throughout this book, you learn and examine the concepts and their applications in a game engine.
Understand the basic concepts of points and vectors and their applications in game development; Apply mathematical concepts to modern video game functionalit ...
Beginning Programming Using Retro Computing
Learn programming using the Commodore 16/Plus 4 system. Following this book, you and your children will not only learn BASIC programming, but also have fun emulating a retro Commodore system. There are many ways to bring the fun of learning to program in the 1980s back to life. For example, downloading the VICE emulator to a Raspberry Pi allows for the classic "turn on and program" experience and also provides some retro computing project fun. Many parents learned programming in this same way and can have fun helping their children follow the same path.
You can also use this book as an opportunity to dust off your computing skills or learn programming concepts for the first time on a system that's easy, approachable, and fun with a nostalgic twist.
Commodore computers were the most sold computing devices before the iPhone. Nowadays, the Commodore system can be run using freely available emulation on modern computers. This book uses VICE, which is available for PC, Mac, Lin ...
Linux Basics for Hackers
If you're getting started along the exciting path of hacking, cybersecurity, and pentesting, Linux Basics for Hackers is an excellent first step. Using Kali Linux, an advanced penetration testing distribution of Linux, you'll learn the basics of using the Linux operating system and acquire the tools and techniques you'll need to take control of a Linux environment.
First, you'll learn how to install Kali on a virtual machine and get an introduction to basic Linux concepts. Next, you'll tackle broader Linux topics like manipulating text, controlling file and directory permissions, and managing user environment variables. You'll then focus in on foundational hacking concepts like security and anonymity and learn scripting skills with bash and Python. Practical tutorials and exercises throughout will reinforce and test your skills as you learn how to: Cover your tracks by changing your network information and manipulating the rsyslog logging utility; Write a tool to scan for net ...
Learn Programming in Python with Cody Jackson
Python is a cross-platform language used by organizations such as Google and NASA. It lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. Based on his personal experiences when learning to program, Learn Programming in Python with Cody Jackson provides a hands-on introduction to computer programming utilizing one of the most readable programming languages–Python. It aims to educate readers regarding software development as well as help experienced developers become familiar with the Python language, utilizing real-world lessons to help readers understand programming concepts quickly and easily.
The book starts with the basics of programming, and describes Python syntax while developing the skills to make complete programs. In the first part of the book, readers will be going through all the concepts with short and easy-to-understand code samples that will prepare them for the comprehensive application built in parts 2 and 3. Th ...
iOS 12 Programming Fundamentals with Swift
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 10 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 4.2. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework.
Explore Swift's object-oriented concepts; Become familiar with built-in Swift types; Dive deep into Swift objects, protocols, and generics; Tour the lifecycle of an Xcode project; Learn how nibs are loaded; Understand Cocoa's event-driven design; Communicate with C and Objective-C.
In this edition, catch up on the latest iOS programming features.
Self-synthesizing protocols; Conditional conformance; Dynamic member lookup; Multiple selection; Source control improvements; And more!
Once you master the fundamentals, you'll be ready to tackle the details of iOS app development with author Matt Neuburg's companion guide, Programming iOS 12. ...
Hands-On Software Engineering with Python
Software Engineering is about more than just writing code - it includes a host of soft skills that apply to almost any development effort, no matter what the language, development methodology, or scope of the project. Being a senior developer all but requires awareness of how those skills, along with their expected technical counterparts, mesh together through a project's life cycle. This book walks you through that discovery by going over the entire life cycle of a multi-tier system and its related software projects. You'll see what happens before any development takes place, and what impact the decisions and designs made at each step have on the development process. The development of the entire project, over the course of several iterations based on real-world Agile iterations, will be executed, sometimes starting from nothing, in one of the fastest growing languages in the world - Python. Application of practices in Python will be laid out, along with a number of Python-specific ca ...
Build a core level of competency in SQL so you can recognize the parts of queries and write simple SQL statements. SQL knowledge is essential for anyone involved in programming, data science, and data management. This book covers features of SQL that are standardized and common across most database vendors. You will gain a base of knowledge that will prepare you to go deeper into the specifics of any database product you might encounter.
Examples in the book are worked in PostgreSQL and SQLite, but the bulk of the examples are platform agnostic and will work on any database platform supporting SQL. Early in the book you learn about table design, the importance of keys as row identifiers, and essential query operations. You then move into more advanced topics such as grouping and summarizing, creating calculated fields, joining data from multiple tables when it makes business sense to do so, and more. Throughout the book, you are exposed to a set-based approach to the language and ar ...
iOS 11 Programming Fundamentals with Swift
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 9 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 4. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework.
Explore Swift's object-oriented concepts; Become familiar with built-in Swift types; Dive deep into Swift objects, protocols, and generics; Tour the lifecycle of an Xcode project; Learn how nibs are loaded; Understand Cocoa's event-driven design; Communicate with C and Objective-C; Multiline strings and improved dictionaries; Object serialization; Key paths and key-value observing; Expanded git integration; Code refactoring; and more.
Once you master the fundamentals, you'll be ready to tackle the details of iOS app development with author Matt Neuburg's companion guide, Programming iOS 11. ...
Beginning jQuery, 2nd Edition
Throughout this book, you'll discover how expressive yet concise jQuery's code is and how much quicker and efficiently you can develop with jQuery. Beginning jQuery takes you from the basics of getting you started with jQuery, right through to extending jQuery by writing your own plug-ins. You'll discover best practices you can follow, how you can avoid common mistakes, and learn about the many other assets that jQuery has to offer.
This second edition is completely updated for jQuery version 3.x, including integration with npm, and guidelines for working with the Data set API specification.
Use jQuery's powerful tools to dynamically update content on your ...
Raspberry Pi Networking Cookbook, 2nd Edition
With increasing interest in Maker Projects and the Internet of Things (IoT), students, scientists, and hobbyists are using the Raspberry Pi as a reliable, inexpensive platform to connect local devices to Internet services.
This book begins with recipes that are essential to installing the Raspberry Pi and configuring it for network access. Then it continues with recipes on installing common networking services such as firewalls and file sharing.
The final chapters include recipes for network monitoring, streaming data from the Raspberry Pi to IoT services, and using clusters of Raspberry Pis to store and analyze large volumes of data. ...