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 how to c ...
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, but will also work o ...
Pro T-SQL 2019
Design and write simple and efficient T-SQL code in SQL Server 2019 and beyond. Writing T-SQL that pulls back correct results can be challenging. This book provides the help you need in writing T-SQL that performs fast and is easy to maintain. You also will learn how to implement version control, testing, and deployment strategies.
Hands-on examples show modern T-SQL practices and provide straightforward explanations. Attention is given to selecting the right data types and objects when designing T-SQL solutions. Author Elizabeth Noble teaches you how to improve your T-SQL performance through good design practices that benefit programmers and ultimately the users of the applications. You will know the common pitfalls of writing T-SQL and how to avoid those pitfalls going forward.
- Choose correct data types and database objects when designing T-SQL
- Write T-SQL that searches data efficiently and uses hardware effectively
- Implement source control and testing methods to stream ...
Introducing Algorithms in C
Study elementary and complex algorithms with clear examples and implementations in C. This book introduces data types (simple and structured) and algorithms with graphical and textual explanations. In the next sections, you'll cover simple and complex standard algorithms with their flowcharts: everything is integrated with explanations and tables to give a step-by-step evolution of the algorithms.
The main algorithms are: the sum of three or n numbers in a loop, decimal-to-binary conversion, maximum and minimum search, linear/sequential search, binary search, bubble sort, selection sort, merging of two sorted arrays, reading characters from a file, stack management, and factorial and Fibonacci sequences.
The last section of Introducing Algorithms in C is devoted to the introduction of the C language and the implementation of the code, which is connected to the studied algorithms. The book is full of screenshots and illustrations showing the meaning of the code.
- Implement a ...
Introducing Jakarta EE CDI
Discover the Jakarta EE Contexts and Dependency Injection (CDI 2.0) framework which helps you write better code through the use of well-defined enterprise Java-based components and beans (EJBs). If you have ever wanted to write clean Java EE code, this short book is your best guide for doing so: you will pick up valuable tips along the way from your author's years of experience teaching and coding. Introducing Jakarta EE CDI covers CDI 2.0 in detail and equips you with the theoretical underpinnings of Java EE, now Jakarta EE.
This book is packed with so much that by the end of it, you will feel confident to use your new-found knowledge to help you write better, readable, maintainable, and long-lived mission-critical software.
- Write better code with the Jakarta EE Contexts and Dependency Injection (CDI) framework
- Work with the powerful, extensible, and well-defined contextual life cycle for components
- Use CDI's mechanism for decoupling application components through a typ ...
Refactoring Legacy T-SQL for Improved Performance
Breathe new life into older applications by refactoring T-SQL queries and code using modern techniques. This book shows you how to significantly improve the performance of older applications by finding common anti-patterns in T-SQL code, then rewriting those anti-patterns using new functionality that is supported in current versions of SQL Server, including SQL Server 2019. The focus moves through the different types of database objects and the code used to create them, discussing the limitations and anti-patterns commonly found for each object type in your database.
Legacy code isn't just found in queries and external applications. It's also found in the definitions of underlying database objects such as views and tables. This book helps you quickly find problematic code throughout the database and points out where and how modern solutions can replace older code, thereby making your legacy applications run faster and extending their lifetimes. Author Lisa Bohm explains the logic be ...
Practical Machine Learning with Rust
Explore machine learning in Rust and learn about the intricacies of creating machine learning applications. This book begins by covering the important concepts of machine learning such as supervised, unsupervised, and reinforcement learning, and the basics of Rust. Further, you'll dive into the more specific fields of machine learning, such as computer vision and natural language processing, and look at the Rust libraries that help create applications for those domains. We will also look at how to deploy these applications either on site or over the cloud.
After reading Practical Machine Learning with Rust, you will have a solid understanding of creating high computation libraries using Rust. Armed with the knowledge of this amazing language, you will be able to create applications that are more performant, memory safe, and less resource heavy.
- Write machine learning algorithms in Rust
- Use Rust libraries for different tasks in machine learning
- Create concise Rust packages ...
Practical Oracle Cloud Infrastructure
Use this fast-paced and comprehensive guide to build cloud-based solutions on Oracle Cloud Infrastructure. You will understand cloud infrastructure, and learn how to launch new applications and move existing applications to Oracle Cloud. Emerging trends in software architecture are covered such as autonomous platforms, infrastructure as code, containerized applications, cloud-based container orchestration with managed Kubernetes, and running serverless workloads using open-source tools. Practical examples are provided.
This book teaches you how to self-provision the cloud resources you require to run and scale your custom cloud-based applications using a convenient web console and programmable APIs, and you will learn how to manage your infrastructure as code with Terraform. You will be able to plan, design, implement, deploy, run, and monitor your production-grade and fault-tolerant cloud software solutions in Oracle's data centers across the world, paying only for the resources you ...
Using and Administering Linux: Volume 3
Manage complex systems with ease and equip yourself for a new career. This book builds upon the skills you learned in Volumes 1 and 2 of this course and it depends upon the virtual network and virtual machine you created there.
However, more experienced Linux users can begin with this volume and download an assigned script that will set up the VM for the start of Volume 3. Instructions with the script will provide specifications for configuration of the virtual network and the virtual machine. Refer to the volume overviews in the book's introduction to select the volume of this course most appropriate for your current skill level.
Start by reviewing the administration of Linux servers and install and configure various Linux server services such as DHCP, DNS, NTP, and SSH server that will be used to provide advanced network services. You'll then learn to install and configure servers such as BIND for name services, DHCP for network host configuration, and SSH for secure logins to ...
Using and Administering Linux: Volume 2
Experience an in-depth exploration of logical volume management and the use of file managers to manipulate files and directories and the critical concept that, in Linux, everything is a file and some fun and interesting uses of the fact that everything is a file.
This book builds upon the skills you learned in Volume 1 of this course and it depends upon the virtual network and virtual machine created there. More experienced Linux users can begin with this volume and download the assigned script that will set up the VM for the start of Volume 2. Instructions with the script will provide specifications for configuration of the virtual network and the virtual machine. Refer to the volume overviews in the book's introduction to select the volume of this course most appropriate for your current skill level.
You'll see how to manage and monitor running processes, discover the power of the special filesystems, monitor and tune the kernel while it is running - without a reboot. You'll th ...
Using and Administering Linux: Volume 1
Become a Linux sysadmin and expert user of Linux, even with no previous Linux experience and learn to manage complex systems with ease. Volume 1 of this three volume training course introduces operating systems in general and Linux in particular. It briefly explores the The Linux Philosophy for SysAdmins in preparation for the rest of the course. This book provides you with the tools necessary for mastering user management; installing, updating, and deleting software; and using command line tools to do performance tuning and basic problem determination.
You'll begin by creating a virtual network and installing an instance of Fedora - a popular and powerful Linux distribution - on a VirtualBox VM that can be used for all of the experiments on an existing Windows or Linux computer. You'll then move on to the basics of using the Xfce GUI desktop and the many tools Linux provides for working on the command line including virtual consoles, various terminal emulators, BASH, and other shel ...