Programming Persistent Memory
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compared with current DRAM offerings.
This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and developing, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data.
Programming Persistent Memory describes the technology and why it is exciting the industry. It covers the operating system and hardware requirements as well as h ...
Learning Java, 5th Edition
If you're new to Java - or new to programming - this best-selling book will guide you through the language features and APIs of Java 11. With fun, compelling, and realistic examples, authors Marc Loy, Patrick Niemeyer, and Daniel Leuck introduce you to Java fundamentals - including its class libraries, programming techniques, and idioms - with an eye toward building real applications.
You'll learn powerful new ways to manage resources and exceptions in your applications - along with core language features included in recent Java versions.
Develop with Java, using the compiler, interpreter, and other tools; Explore Java's built-in thread facilities and concurrency package; Learn text processing and the powerful regular expressions API; Write advanced networked or web-based applications and services. ...
High Performance Python, 2nd Edition
Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation.
How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more.
Get a better grasp of NumPy, Cython, and profilers; Learn how Python abstracts the underlying computer architecture; Use profiling to find bottlenecks in CPU time and memory usage; Write efficient programs by choosing appropriate data structures; Speed up matrix ...
Beginning Game Programming with Pygame Zero
Make fun games while learning to code. Focused on making games rather than teaching programming theory, in this book you're more likely to see code on how gravity affects a missiles trajectory instead of the most efficient way to search through data. Even then the code is kept simple as games should be about playability rather than complex physics. There are links to the official documentation when you need to lookup information that isn't included in the book.
Start with a simple text based game to grasp the basics of programming in Python. Then moves on to creating simple graphical games in Pygame Zero. Not only will you learn object oriented programming to make it easier to make more complex games, you'll also work to create your own graphics and sounds. 3D graphics are a little complex. So we focus on 2D games, including spins on some classic boardgames and arcade games. All the games are designed to run on a Raspberry Pi. They will work on any Raspberry Pi, ...
Programming AWS Lambda
Serverless revolutionizes the way organizations build and deploy software. With this hands-on guide, Java engineers will learn how to use their experience in the new world of serverless computing. You'll discover how this cloud computing execution model can drastically decrease the complexity in developing and operating applications while reducing costs and time to market.
Engineering leaders John Chapin and Mike Roberts guide you through the process of developing these applications using AWS Lambda, Amazon's event-driven, serverless computing platform. You'll learn how to prepare the development environment, program Lambda functions, and deploy and operate your serverless software. The chapters include exercises to help you through each aspect of the process.
Get an introduction to serverless, functions as a service, and AWS Lambda; Learn how to deploy working Lambda functions to the cloud; Program Lambda functions and learn how the Lambda platform integrates with other AWS serv ...
Programming PHP, 4th Edition
Why is PHP the most widely used programming language on the web? This updated edition teaches everything you need to know to create effective web applications using the latest features in PHP 7.4. You'll start with the big picture and then dive into language syntax, programming techniques, and other details, using examples that illustrate both correct usage and common idioms.
If you have a working knowledge of HTML, authors Kevin Tatroe and Peter MacIntyre provide many style tips and practical programming advice in a clear and concise manner to help you become a top-notch PHP programmer.
Understand what's possible when you use PHP programs; Learn language fundamentals, including data types, variables, operators, and flow control statements; Explore functions, strings, arrays, and objects; Apply common web application techniques, such as form processing, data validation, session tracking, and cookies; Interact with relational databases like MySQL or NoSQL dat ...
Beginning Ballerina Programming
Discover the Ballerina programming language for next-generation microservices and cloud-native application development. This book shows you that Ballerina is a cutting-edge programming language which incorporates many of the latest technological advancements in programming language theory. You'll learn variables and types, modules and functions, flow control, error handling, concurrency, I/O, cloud/network programming persistence and data access, security and more.
Additionally, Beginning Ballerina Programming introduces many foundation computer science topics along the way and doesn't assume much prior knowledge. For example, when introducing transport-level security, you will get a brief introduction to public-key cryptography, how it is different from private-key cryptography, and why it is needed. This provides an added bonus for you to learn something new and general in computer science.
After reading and using this book, you'll be profic ...
Essential ASP.NET Web Forms Development
Essential ASP.NET Web Forms Development is divided into six learning modules and will take you from soup to nuts with ASP.NET. Part I is an introduction to the major concepts, methodologies, and technologies associated with .NET web application development. You will learn about the client-server model, the .NET Framework, the ASP.NET and C# programming languages, and the Visual Studio integrated development environment. Part II teaches you how to develop a single-page .NET web application and add server and data validation controls, laying the foundation for learning languages in the context of an ASP.NET web application. Part III is all about C# operations and shows you how to perform assig ...
Advanced Robotic Vehicles Programming
Learn how to program robotic vehicles with ardupilot libraries and pixhawk autopilot, both of which are open source technologies with a global scope. This book is focused on quadcopters but the knowledge is easily extendable to three-dimensional vehicles such as drones, submarines, and rovers.
Pixhawk and the ardupilot libraries have grown dramatically in popularity due to the fact that the hardware and software offer a real-time task scheduler, huge data processing capabilities, interconnectivity, low power consumption, and a global developer support.
This book shows you how take your robotic programming skills to the next level. From hardware to software, Advanced Robotic Vehicles Programming links theory with practice in the development of unmanned vehicles. By the end of this book, you'll learn the pixhawk software and ardupilot libraries to develop your own autonomous vehicles.
Model and implement elementary controls in any unmanned vehicle; Select hardware ...
Pro Perl Programming
Master intermediate to advanced techniques of the Perl programming language starting with a focus on regular expressions and some of their advanced features. This book then covers other pro-level features, including formatted output, file handling, and more.
Additionally, you'll learn and explore the most useful built-in variables, pragmas, and modules available in the Perl language. Furthermore, you'll work with geometry managers and get a thorough treatment of graphical user interface development using Perl/TK and widgets. Lastly, you'll cover debugging techniques.
Pro Perl Programming is a professional-level reference guide on Perl and includes important aspects of it that you need as a professional programmer.
Program regular expressions including atoms, smartmatch operators, and more; Use advanced features such as HiRes Time, slurp() functions, Critic, Tidy and many more functions; Handle advanced formatted output such as printf and sprintf; Explore usefu ...
Java Performance, 2nd Edition
Coding and testing are generally considered separate areas of expertise. In this practical book, Java expert Scott Oaks takes the approach that anyone who works with Java should be adept at understanding how code behaves in the Java Virtual Machine - including the tunings likely to help performance. This updated second edition helps you gain in-depth knowledge of Java application performance using both the JVM and the Java platform.
Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way the Java 8 and 11 LTS releases perform. While the emphasis is on production-supported releases and features, this book also features previews of exciting new technologies such as ahead-of-time compilation and experimental garbage collections.
Understand how various Java platforms and compilers affect performance; Learn how Java garbage collection works; Apply four principles to obtain best results from performance testing; Use the JD ...