Architecture Patterns with PythonAs Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.
With this hands-on guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity - and get the most value out of their test suites.
Each pattern is illustrated with concrete examples in beautiful, idiomatic Python, avoiding some of the verbosity of Java and C# syntax. Patterns include: Dependency inversion and its links to ports and adapters (hexagonal/clean architecture); Domain-driven design's distinction between Entities, Value Objects, and Aggregates; Repository and Unit of Work patterns for persistent storag ...
Programming PHP, 4th EditionWhy 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 databases such as MongoD ...
Using and Administering Linux: Volume 3Manage 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 ...
Introducing Jakarta EE CDIDiscover 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 ...
Introducing Algorithms in CStudy 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 ...
Beginning Game Programming with Pygame ZeroMake 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 ...
AI Crash CourseWelcome to the Robot World ... and start building intelligent software now!
Through his best-selling video courses, Hadelin de Ponteves has taught hundreds of thousands of people to write AI software. Now, for the first time, his hands-on, energetic approach is available as a book. Starting with the basics before easing you into more complicated formulas and notation, AI Crash Course gives you everything you need to build AI systems with reinforcement learning and deep learning. Five full working projects put the ideas into action, showing step-by-step how to build intelligent software using the best and easiest tools for AI programming, including Python, TensorFlow, Keras, and PyTorch.
AI Crash Course teaches everyone to build an AI to work in their applications. Once you've read this book, you're only limited by your imagination. ...
Python Feature Engineering CookbookFeature engineering is invaluable for developing and enriching your machine learning models. In this cookbook, you will work with the best tools to streamline your feature engineering pipelines and techniques and simplify and improve the quality of your code.
Using Python libraries such as pandas, scikit-learn, Featuretools, and Feature-engine, you'll learn how to work with both continuous and discrete datasets and be able to transform features from unstructured datasets. You will develop the skills necessary to select the best features as well as the most suitable extraction techniques. This book will cover Python recipes that will help you automate feature engineering to simplify complex processes. You'll also get to grips with different feature engineering strategies, such as the box-cox transform, power transform, and log transform across machine learning, reinforcement learning, and natural language processing (NLP) domains.
By the end of this book, you'll have discovered ti ...
C# 8.0 in a NutshellWhen you have questions about C# 8.0 or .NET Core, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, but with its continual growth there's so much more to learn. In the tradition of the O'Reilly Nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today.
Organized around concepts and use cases, C# 8.0 in a Nutshell provides intermediate and advanced programmers with a concise map of C# and .NET knowledge that also plumbs significant depths.
Get up to speed on C#, from syntax and variables to advanced topics such as pointers, closures, and patterns; Dig deep into LINQ with three chapters dedicated to the topic; Explore concurrency and asynchrony, advanced threading, and parallel programming; Work with .NET features, including regular expressions, networking, serialization, spans, reflection, and cryptography; Delve into Roslyn, the modular C# compiler as a service ...
Presto: The Definitive GuidePerform fast interactive analytics against different data sources using the Presto high-performance, distributed SQL query engine. With this practical guide, you'll learn how to conduct analytics on data where it lives, whether it's Hive, Cassandra, a relational database, or a proprietary data store. Analysts, software engineers, and production engineers will learn how to manage, use, and even develop with Presto.
Initially developed by Facebook, open source Presto is now used by Netflix, Airbnb, LinkedIn, Twitter, Uber, and many other companies. Matt Fuller, Manfred Moser, and Martin Traverso show you how a single Presto query can combine data from multiple sources to allow for analytics across your entire organization.
Get started: Explore Presto's use cases and learn about tools that will help you connect to Presto and query data;
Go deeper: Learn Presto's internal workings, including how to connect to and query data sources with support for SQL statements, operators, funct ...