Publisher: Packt Publishing
Founded in 2004 in Birmingham, UK, Packt's mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals. Working towards that vision, we have published over 6,500 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done - whether that's specific learning on an emerging technology or optimizing key skills in more established tools. As part of our mission, we have also awarded over $1,000,000 through our Open Source Project Royalty scheme, helping numerous projects become household names along the way.
2929
Ebook

Julia: High Performance Programming. Build powerful and fast systems with Julia

Ivo Balbaert, M E Sherrington, Avik Sengupta

In this learning path, you will learn to use an interesting and dynamic programming language—Julia! You will get a chance to tackle your numerical and data problems with Julia. You’ll begin the journey by setting up a running Julia platform before exploring its various built-in types. We’ll then move on to the various functions and constructs in Julia. We’ll walk through the two important collection types—arrays and matrices in Julia.You will dive into how Julia uses type information to achieve its performance goals, and how to use multiple dispatch to help the compiler emit high performance machine code. You will see how Julia’s design makes code fast, and you’ll see its distributed computing capabilities.By the end of this learning path, you will see how data works using simple statistics and analytics, and you’ll discover its high and dynamic performance—its real strength, which makes it particularly useful in highly intensive computing tasks. This learning path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:? Getting Started with Julia by Ivo Balvaert? Julia High Performance by Avik Sengupta? Mastering Julia by Malcolm Sherrington

2930
Ebook

Odoo 15 Development Essentials. Enhance your Odoo development skills to create powerful business applications - Fifth Edition

Daniel Reis, Greg Mader

Odoo is fast becoming the reference open source platform for business applications thanks to the fact that it provides the infrastructure needed for developers to deliver software solutions for any business process quickly. Odoo's layered module approach makes it particularly effective for combining and extending features. This updated fifth edition is a tutorial-style introduction to essential Odoo development topics.The book starts by covering the development essentials for building business applications and takes you through Odoo installation and configuration, gradually transitioning from having no specific knowledge of Odoo to being ready for application development. You'll then learn how to develop your first Odoo application, while covering topics such as models and views. Later chapters will get you up to speed with using server APIs to add business logic, helping you lay a solid foundation for advanced topics. As you progress, you’ll get equipped to build and customize your applications and explore the new features available in Odoo 12 and beyond, such as in-memory ORM and computed writable fields. Finally, you’ll gain insights into building business logic and using the Odoo API to integrate with various applications.By the end of this book, you’ll be able to build business apps from scratch using the latest version of Odoo.

2931
Ebook

Linux Command Line and Shell Scripting Techniques. Master practical aspects of the Linux command line and then use it as a part of the shell scripting process

Vedran Dakic, Jasmin Redzepagic

Linux Command Line and Shell Scripting Techniques begins by taking you through the basics of the shell and command-line utilities. You’ll start by exploring shell commands for file, directory, service, package, and process management. Next, you’ll learn about networking - network, firewall and DNS client configuration, ssh, scp, rsync, and vsftpd, as well as some network troubleshooting tools. You’ll also focus on using the command line to find and manipulate text content, via commands such as cut, egrep, and sed. As you progress, you'll learn how to use shell scripting. You’ll understand the basics - input and output, along with various programming concepts such as loops, variables, arguments, functions, and arrays. Later, you’ll learn about shell script interaction and troubleshooting, before covering a wide range of examples of complete shell scripts, varying from network and firewall configuration, through to backup and concepts for creating live environments. This includes examples of performing scripted virtual machine installation and administration, LAMP (Linux, Apache, MySQL, PHP) stack provisioning and bulk user creation for testing environments.By the end of this Linux book, you’ll have gained the knowledge and confidence you need to use shell and command-line scripts.

2932
Ebook

Fuzzing Against the Machine. Automate vulnerability research with emulated IoT devices on QEMU

Antonio Nappa, Eduardo Blázquez, Nikias Bassen, Dr. Javier López-Gómez

Emulation and fuzzing are among the many techniques that can be used to improve cybersecurity; however, utilizing these efficiently can be tricky. Fuzzing Against the Machine is your hands-on guide to understanding how these powerful tools and techniques work. Using a variety of real-world use cases and practical examples, this book helps you grasp the fundamental concepts of fuzzing and emulation along with advanced vulnerability research, providing you with the tools and skills needed to find security flaws in your software.The book begins by introducing you to two open source fuzzer engines: QEMU, which allows you to run software for whatever architecture you can think of, and American fuzzy lop (AFL) and its improved version AFL++. You’ll learn to combine these powerful tools to create your own emulation and fuzzing environment and then use it to discover vulnerabilities in various systems, such as iOS, Android, and Samsung's Mobile Baseband software, Shannon. After reading the introductions and setting up your environment, you’ll be able to dive into whichever chapter you want, although the topics gradually become more advanced as the book progresses.By the end of this book, you’ll have gained the skills, knowledge, and practice required to find flaws in any firmware by emulating and fuzzing it with QEMU and several fuzzing engines.

2933
Ebook

Raspberry Pi Super Cluster. As a Raspberry Pi enthusiast have you ever considered increasing their performance with parallel computing? Discover just how easy it can be with the right help – this guide takes you through the process from start to finish

Andrew K. Dennis

A cluster is a type of parallel/distributed processing system which consists of a collection of interconnected stand-alone computers cooperatively working together. Using Raspberry Pi computers, you can build a two-node parallel computing cluster which enhances performance and availability.This practical, example-oriented guide will teach you how to set up the hardware and operating systems of multiple Raspberry Pi computers to create your own cluster. It will then navigate you through how to install the necessary software to write your own programs such as Hadoop and MPICH before moving on to cover topics such as MapReduce. Throughout this book, you will explore the technology with the help of practical examples and tutorials to help you learn quickly and efficiently.Starting from a pile of hardware, with this book, you will be guided through exciting tutorials that will help you turn your hardware into your own super-computing cluster. You'll start out by learning how to set up your Raspberry Pi cluster's hardware. Following this, you will be taken through how to install the operating system, and you will also be given a taste of what parallel computing is about. With your Raspberry Pi cluster successfully set up, you will then install software such as MPI and Hadoop. Having reviewed some examples and written some programs that explore these two technologies, you will then wrap up with some fun ancillary projects. Finally, you will be provided with useful links to help take your projects to the next step.

2934
Ebook

ModSecurity 2.5. Prevent web application hacking with this easy to use guide

Magnus Mischel, Brian Rectanus

With more than 67% of web servers running Apache and web-based attacks becoming more and more prevalent, web security has become a critical area for web site managers. Most existing tools work on the TCP/IP level, failing to use the specifics of the HTTP protocol in their operation. Mod_security is a module running on Apache, which will help you overcome the security threats prevalent in the online world.A complete guide to using ModSecurity, this book will show you how to secure your web application and server, and does so by using real-world examples of attacks currently in use. It will help you learn about SQL injection, cross-site scripting attacks, cross-site request forgeries, null byte attacks, and many more so that you know how attackers operate.Using clear, step-by-step instructions this book starts by teaching you how to install and set up ModSecurity, before diving into the rule language with examples. It assumes no prior knowledge of ModSecurity, so as long as you are familiar with basic Linux administration, you can start to learn right away.Real-life case studies are used to illustrate the dangers on the Web today ñ you will for example learn how the recent worm that hit Twitter works, and how you could have used ModSecurity to stop it in its tracks. The mechanisms behind these and other attacks are described in detail, and you will learn everything you need to know to make sure your server and web application remain unscathed on the increasingly dangerous web. Have you ever wondered how attackers figure out the exact web server version running on a system? They use a technique called HTTP fingerprinting, and you will learn about this in depth and how to defend against it by flying your web server under a false flag.The last part of the book shows you how to really lock down a web application by implementing a positive security model that only allows through requests that conform to a specific, pre-approved model, and denying anything that is even the slightest bit out of line.

2935
Ebook

BeagleBone Home Automation Blueprints. Click here to enter text

Rodolfo Giometti

BeagleBone is a microboard PC that runs Linux. It can connect to the Internet and can run OSes such as Android and Ubuntu. BeagleBone is used for a variety of different purposes and projects, from simple projects such as building a thermostat to more advanced ones such as home security systems.Packed with real-world examples, this book will provide you with examples of how to connect several sensors and an actuator to the BeagleBone Black. You’ll learn how to give access to them, in order to realize simple-to-complex monitoring and controlling systems that will help you take control of the house. You will also find software examples of implementing web interfaces using the classical PHP/HTML pair with JavaScript, using complex APIs to interact with a Google Docs account, WhatsApp, or Facebook. This guide is an invaluable tutorial if you are planning to use a BeagleBone Black in a home automation project.

2936
Ebook
2937
Ebook

Getting Started with SpriteKit

Jorge Jordán

SpriteKit is Apple’s game engine to develop native iOS games. Strongly boosted by the Apple Inc., Cupertino, it has increased in popularity since its first release. This book shows you the solutions provided by SpriteKit to help you create any 2D game you can imagine and apply them to create animations that will highlight your existing apps.This book will give you the knowledge you need to apply SpriteKit to your existing apps or create your own games from scratch.Throughout the book, you will develop a complete game. The beautiful designs implemented in the game in this book will easily lead you to learn the basis of 2D game development, including creating and moving sprites, and adding them to a game scene. You will also discover how to apply advanced techniques such as collision detection, action execution, playing music, or running animations to give a more professional aspect to the game. You will finish your first game by learning how to add a main menu and a tutorial, as well as saving and loading data from and to the player’s device. Finally, you will find out how to apply some mobile games techniques such as accelerometer use or touch detection.

2938
Ebook

A Tinkerer's Guide to CNC Basics. Master the fundamentals of CNC machining, G-Code, 2D Laser machining and fabrication techniques

Samer Najia

Until recently, Computer Numerical Control (CNC) machines belonged to the realm of heavy industry, but as technology becomes cheaper and smaller, these machines now can be used in home workshops. It’s not easy to get started, though, but thanks to this guide, you’ll be ready to take on a variety of projects in no time.A Tinkerer’s Guide to CNC Basics contains everything you need to get set up at home with computer-controlled machining and fabrication. Sparing you the theory, this project-laden guide helps you learn by doing.Once you’ve got to grips with the principles of CNC and installed the 3018 Pro CNC machine, you’ll gradually move from simple projects such as basic engraving to more complex milling and machining techniques. You’ll even learn how to upgrade your machine to accomplish more sophisticated designs. The plethora of projects in this book will keep you busy and give you the practice you need to get started with your computerized workshop.By the end of the book, your computerized home workshop will be one step closer to realization, and your machining skills will be taken to the next level.

2939
Ebook

ChatGPT and AI for Accountants. A practitioner's guide to harnessing the power of GenAI to revolutionize your accounting practice

Dr. Scott Dell, Dr. Mfon Akpan

In the fast-paced AI world, accounting professionals are increasingly challenged by the complexities of AI. Many struggle to integrate these advanced tools into their workflows, leading to a sense of overwhelm. ChatGPT for Accounting bridges this gap by not only simplifying AI concepts but also offering practical insights for its application in various accounting domains.This book takes you from the foundational principles of Generative Artificial Intelligence (GAI) to its practical applications in audits, tax planning, practice management, fraud examination, financial analysis, and beyond. Each chapter equips you with essential skills, showing you how AI can revolutionize internal control systems, enhance recruitment processes, streamline marketing plans, optimize tax strategies, and boost efficiency in audits. You’ll then advance to exploring the role of AI in forensic accounting, financial analysis, managerial accounting, and corporate governance, while also addressing ethical and security implications.Concluding with a reflective outlook on the promises and challenges of AI, you’ll gain a holistic view of the future of accounting. By the end of this book, you’ll be equipped with the knowledge to harness the power of AI effectively and ethically, transforming your accounting practice and staying ahead in the ever-evolving landscape.

2940
Ebook

JavaScript from Frontend to Backend. Learn full stack JavaScript development using the MEVN stack with quick and easy steps

Eric Sarrion

JavaScript, the most widely used programming language in the world, has numerous libraries and modules and a dizzying array of need-to-know topics. Picking a starting point can be difficult. Enter JavaScript from Frontend to Backend. This concise, practical guide will get you up to speed in next to no time.This book begins with the basics of variables and objects in JavaScript and then moves quickly on to building components on the client-side with Vue.js and a simple list management application. After that, the focus shifts to the server-side and Node.js, where you’ll examine the MVC model and explore the Express module. Once you've got to grips with the server-side and the client-side, the only thing that remains is the database. You’ll discover MongoDB and the Mongoose module. In the final chapter of this fast-paced guide, you'll combine all these pieces to integrate a Vue.js application into a Node.js server, using Express to structure the server code and MongoDB to store the information.By the end of this book, you will have the skills and confidence to successfully implement JavaScript concepts in your own projects and begin your career as a JavaScript developer.

2941
Ebook
2942
Ebook

System Design Guide for Software Professionals. Build scalable solutions – from fundamental concepts to cracking top tech company interviews

Dhirendra Sinha, Tejas Chopra

Building scalable software systems is more critical than ever. Yet, many software professionals struggle to navigate the complexities of system design, especially when aiming for positions at top tech companies. Written by Dhirendra Sinha, a seasoned Engineering Leader at Google with a blend of experience working at large companies such as Cisco, Oracle, and Yahoo, and Tejas Chopra, a Senior Software Engineer at Netflix, a TEDx speaker, and a Co-Founder of GoEB1, this comprehensive and authoritative resource on system design offers invaluable insights and strategies to help you excel in interviews with all major tech companies. This guide covers the basics of system design, including the principles and techniques of distributed systems, and delves into core building blocks such as distributed system theorems, attributes, and the design and implementation of system components. Following examples of popular applications such as Uber, Twitter, Instagram, Google Docs, and Netflix, you’ll learn how to apply concepts to real-world scenarios. The book offers expert advice and strategies for preparing and acing system design interviews, along with a mind map/cheat sheet summarizing the key takeaways. By the end of this book, you’ll be equipped with unique techniques and the confidence to solve any coding interview question.

2943
Ebook
2944
Ebook

Building Games with Flutter. The ultimate guide to creating multiplatform games using the Flame engine in Flutter 3

Paul Teale

With its powerful tools and quick implementation capabilities, Flutter provides a new way to build scalable cross-platform apps. In this book, you'll learn how to build on your knowledge and use Flutter as the foundation for creating games.This game development book takes a hands-on approach to building a complete game from scratch. You'll see how to get started with the Flame library and build a simple animated example to test Flame. You'll then discover how to organize and load images and audio in your Flutter game. As you advance, you'll gain insights into the game loop and set it up for fast and efficient processing. The book also guides you in using Tiled to create maps, add sprites to the maps that the player can interact with, and see how to use tilemap collision to create paths for a player to walk on. Finally, you'll learn how to make enemies more intelligent with artificial intelligence (AI).By the end of the book, you'll have gained the confidence to build fun multiplatform games with Flutter.