Computer science

865
Ebook

Becoming an Agile Software Architect. Strategies, practices, and patterns to help architects design continually evolving solutions

Rajesh R V

Many organizations have embraced Agile methodologies to transform their ability to rapidly respond to constantly changing customer demands. However, in this melee, many enterprises often neglect to invest in architects by presuming architecture is not an intrinsic element of Agile software development.Since the role of an architect is not pre-defined in Agile, many organizations struggle to position architects, often resulting in friction with other roles or a failure to provide a clear learning path for architects to be productive.This book guides architects and organizations through new Agile ways of incrementally developing the architecture for delivering an uninterrupted, continuous flow of values that meets customer needs. You'll explore various aspects of Agile architecture and how it differs from traditional architecture. The book later covers Agile architects' responsibilities and how architects can add significant value by positioning themselves appropriately in the Agile flow of work. Through examples, you'll also learn concepts such as architectural decision backlog,the last responsible moment, value delivery, architecting for change, DevOps, and evolutionary collaboration.By the end of this Agile book, you'll be able to operate as an architect in Agile development initiatives and successfully architect reliable software systems.

866
Ebook

Becoming an Enterprise Django Developer. Discover best practices, tooling, and solutions for writing and organizing Django applications in production

Michael Dinder

Django is a powerful framework but choosing the right add-ons that match the scale and scope of your enterprise projects can be tricky. This book will help you explore the multifarious options available for enterprise Django development. Countless organizations are already using Django and more migrating to it, unleashing the power of Python with many different packages and dependencies, including AI technologies.This practical guide will help you understand practices, blueprints, and design decisions to put Django to work the way you want it to. You’ll learn various ways in which data can be rendered onto a page and discover the power of Django for large-scale production applications. Starting with the basics of getting an enterprise project up and running, you'll get to grips with maintaining the project throughout its lifecycle while learning what the Django application lifecycle is.By the end of this book, you'll have learned how to build and deploy a Django project to the web and implement various components into the site.

867
Ebook

Becoming KCNA Certified. Build a strong foundation in cloud native and Kubernetes and pass the KCNA exam with ease

Dmitry Galkin

The job market related to the cloud and cloud-native technologies is both growing and becoming increasingly competitive, making certifications like KCNA a great way to stand out from the crowd and learn about the latest advancements in cloud technologies.Becoming KCNA Certified doesn't just give you the practical skills needed to deploy and connect applications in Kubernetes, but it also prepares you to pass the Kubernetes and Cloud Native Associate (KCNA) exam on your first attempt.The book starts by introducing you to cloud-native computing, containers, and Kubernetes through practical examples, allowing you to test the theory out for yourself. You'll learn how to configure and provide storage for your Kubernetes-managed applications and explore the principles of modern cloud-native architecture and application delivery, giving you a well-rounded view of the subject. Once you've been through the theoretical and practical aspects of the book, you'll get the chance to test what you’ve learnt with two mock exams, with explanations of the answers, so you'll be well-prepared to appear for the KCNA exam.By the end of this Kubernetes book, you'll have everything you need to pass the KCNA exam and forge a career in Kubernetes and cloud-native computing.

868
Ebook

Becoming the Hacker. The Playbook for Getting Inside the Mind of the Attacker

Adrian Pruteanu

Becoming the Hacker will teach you how to approach web penetration testing with an attacker's mindset. While testing web applications for performance is common, the ever-changing threat landscape makes security testing much more difficult for the defender.There are many web application tools that claim to provide a complete survey and defense against potential threats, but they must be analyzed in line with the security needs of each web application or service. We must understand how an attacker approaches a web application and the implications of breaching its defenses.Through the first part of the book, Adrian Pruteanu walks you through commonly encountered vulnerabilities and how to take advantage of them to achieve your goal. The latter part of the book shifts gears and puts the newly learned techniques into practice, going over scenarios where the target may be a popular content management system or a containerized application and its network.Becoming the Hacker is a clear guide to web application security from an attacker's point of view, from which both sides can benefit.

869
Ebook

Before Machine Learning Volume 1 - Linear Algebra for A.I. The Fundamental Mathematics for Data Science and Artificial Intelligence

Jorge Brasil

In this book, you'll embark on a comprehensive journey through the fundamentals of linear algebra, a critical component for any aspiring machine learning expert. Starting with an introductory overview, the course explains why linear algebra is indispensable for machine learning, setting the stage for deeper exploration. You'll then dive into the concepts of vectors and matrices, understanding their definitions, properties, and practical applications in the field.As you progress, the course takes a closer look at matrix decomposition, breaking down complex matrices into simpler, more manageable forms. This section emphasizes the importance of decomposition techniques in simplifying computations and enhancing data analysis. The final chapter focuses on principal component analysis, a powerful technique for dimensionality reduction that is widely used in machine learning and data science. By the end of the course, you will have a solid grasp of how PCA can be applied to streamline data and improve model performance.This course is designed to provide technical professionals with a thorough understanding of linear algebra's role in machine learning. By the end, you'll be well-equipped with the knowledge and skills needed to apply linear algebra in practical machine learning scenarios.

870
Ebook

Before Machine Learning Volume 2 - Calculus for A.I. The Fundamental Mathematics for Data Science and Artificial Intelligence

Jorge Brasil

This book takes readers on a structured journey through calculus fundamentals essential for AI. Starting with “Why Calculus?” it introduces key concepts like functions, limits, and derivatives, providing a solid foundation for understanding machine learning.As readers progress, they will encounter practical applications such as Taylor Series for curve fitting, gradient descent for optimization, and L'Hôpital’s Rule for managing undefined expressions. Each chapter builds up from core calculus to multidimensional topics, making complex ideas accessible and applicable to AI.The final chapters guide readers through multivariable calculus, including advanced concepts like the gradient, Hessian, and backpropagation, crucial for neural networks. From optimizing models to understanding cost functions, this book equips readers with the calculus skills needed to confidently tackle AI challenges, offering insights that make complex calculus both manageable and deeply relevant to machine learning.

871
Ebook

Beginning API Development with Node.js. Build highly scalable, developer-friendly APIs for the modern web with JavaScript and Node.js

Anthony Nandaa

Using the same framework to build both server and client-side applications saves you time and money. This book teaches you how you can use JavaScript and Node.js to build highly scalable APIs that work well with lightweight cross-platform client applications. It begins with the basics of Node.js in the context of backend development, and quickly leads you through the creation of an example client that pairs up with a fully authenticated API implementation. By the end of the book, you’ll have the skills and exposure required to get hands-on with your own API development project.

872
Ebook

Beginning C# 7 Hands-On - Advanced Language Features. Learn the advanced-level features of C# 7 using Visual Studio 2017

Tom Owsiak

Beginning C# 7 Hands-On – Advanced Language Features assumes that you’ve mastered the basic elements of the C# language and that you're now ready to learn the more advanced C# language and syntax, line by line, in a working Visual Studio environment. You'll learn how to code advanced C# language topics including generics, lambda expressions, and anonymous methods.You'll learn to use query syntax to construct queries and deploy queries that perform aggregation functions. Work with C# and SQL Server 2017 to perform complex joins and stored procedures. Explore advanced file access methods, and see how to serialize and deserialize objects – all by writing working lines of code that you can run within Visual Studio.This book is designed for beginner C# developers who have mastered the basics now, and anyone who needs a fast reference to using advanced C# language features in practical coding examples. You'll also take a look at C# through web programming with web forms. By the time you’ve finished this book, you’ll know all the critical advanced elements of the C# language and how to program everything from C# generics to XML, LINQ, and your first full MVC web applications. These are the advanced building blocks that you can then combine to exploit the full power of the C# programming language, line by line.

873
Ebook

Beginning C# 7 Hands-On - The Core Language. Learn the C# language by coding it element by element

Tom Owsiak

Beginning C# 7 Hands-On - The Core Language teaches you core C# language and syntax in a working Visual Studio environment. This book covers everything from core language through to more advanced features such as object-oriented programming techniques. This book is for C# 7 beginners who need a practical reference to core C# language features. You'll also gain a view of C# 7 through web programming with web forms, so you'll learn HTML, basic CSS, and how to use a variety of controls, such as buttons and drop-down lists. You'll start with the fundamentals of C# and Visual Studio, including defining variables, interacting with users, and understanding data types, data conversions, and constants. You'll move on to checking conditions using if/else blocks, and see how to use loops to do things such as repeat blocks of code. After covering various operators to evaluate and assign control structures, you'll see how to use arrays to store collections of data. By the time you’ve finished the book, you’ll know how to program the vital elements of the core C# language. These are the building blocks that you can then combine to build complex C# programs.

874
Ebook

Beginning C++ Game Programming. Learn C++ from scratch and get started building your very own games

John Horton

This book is all about offering you a fun introduction to the world of game programming, C++, and the OpenGL-powered SFML using three fun, fully-playable games. These games are an addictive frantic two-button tapper, a multi-level zombie survival shooter, and a split-screen multiplayer puzzle-platformer.We will start with the very basics of programming, such as variables, loops, and conditions and you will become more skillful with each game as you move through the key C++ topics, such as OOP (Object-Orientated Programming), C++ pointers, and an introduction to the Standard Template Library. While building these games, you will also learn exciting game programming concepts like particle effects, directional sound (spatialization), OpenGL programmable Shaders, spawning thousands of objects, and more.

875
Ebook

Beginning C++ Game Programming. Learn C++ from scratch by building fun games - Third Edition

John Horton

Always dreamed of creating your own games? With the third edition of Beginning C++ Game Programming, you can turn that dream into reality! This beginner-friendly guide is updated and improved to include the latest features of VS 2022, SFML, and modern C++20 programming techniques. You'll get a fun introduction to game programming by building four fully playable games of increasing complexity. You'll build clones of popular games such as Timberman, Pong, a Zombie survival shooter, and an endless runner.The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as vertex arrays, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. You’ll dive deep into game mechanics and implement input handling, levelling up a character, and simple enemy AI. Finally, you'll explore game design patterns to enhance your C++ game programming skills.By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch.

876
Ebook

Beginning C++ Game Programming. Learn to program with C++ by building fun games - Second Edition

John Horton

The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you’ll get a fun introduction to game programming by building five fully playable games of increasing complexity. You’ll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders.The book starts by covering the basics of programming. You’ll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you’ll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you’ll explore game design patterns to enhance your C++ game programming skills.By the end of the book, you’ll have gained the knowledge you need to build your own games with exciting features from scratch.

877
Ebook

Beginning C++ Programming. Modern C++ at your fingertips!

Richard Grimes

C++ has come a long way and is now adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not to forget its importance in game programming. Despite its strengths in these areas, beginners usually tend to shy away from learning the language because of its steep learning curve. The main mission of this book is to make you familiar and comfortable with C++. You will finish the book not only being able to write your own code, but more importantly, you will be able to read other projects. It is only by being able to read others' code that you will progress from a beginner to an advanced programmer. This book is the first step in that progression.The first task is to familiarize you with the structure of C++ projects so you will know how to start reading a project. Next, you will be able to identify the main structures in the language, functions, and classes, and feel confident being able to identify the execution flow through the code. You will then become aware of the facilities of the standard library and be able to determine whether you need to write a routine yourself, or use an existing routine in the standard library. Throughout the book, there is a big emphasis on memory and pointers. You will understand memory usage, allocation, and access, and be able to write code that does not leak memory. Finally, you will learn about C++ classes and get an introduction to object orientation and polymorphism.

878
Ebook

Beginning Data Science with Python and Jupyter. Use powerful industry-standard tools within Jupyter and the Python ecosystem to unlock new, actionable insights from your data

Alex Galea

Get to grips with the skills you need for entry-level data science in this hands-on Python and Jupyter course. You'll learn about some of the most commonly used libraries that are part of the Anaconda distribution, and then explore machine learning models with real datasets to give you the skills and exposure you need for the real world. We'll finish up by showing you how easy it can be to scrape and gather your own data from the open web, so that you can apply your new skills in an actionable context.

879
Ebook

Beginning DevOps with Docker. Automate the deployment of your environment with the power of the Docker toolchain

Joseph Muli

Making sure that your application runs across different systems as intended is quickly becoming a standard development requirement. With Docker, you can ensure that what you build will behave the way you expect it to, regardless of where it's deployed. By guiding you through Docker from start to finish (from installation, to the Docker Registry, all the way through to working with Docker Swarms), we’ll equip you with the skills you need to migrate your workflow to Docker with complete confidence.

880
Ebook

Beginning Java Data Structures and Algorithms. Sharpen your problem solving skills by learning core computer science concepts in a pain-free manner

James Cutajar

Learning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.This book teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You’ll also learn about data structures such as binary trees, hash tables, and graphs. The book progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the book, you will know how to correctly implement common algorithms and data structures within your applications.