Getting Started with Open Source TechnologiesUsing real life examples, learn how open source projects are consumed and explore the nuances within different industries in adopting open source technologies.
After gaining a basic understanding of open source and open standards, understand how licensing helps turn community code into an enterprise worthy component. It also helps you understand future governance of the open source software. Once in effect, continuous security becomes a challenge for open source components so we'll examine its ongoing security aspects.
This book will also cover different open source domains and industries and discuss how an enterprise can transform itself by applying key open source principles. In the end Getting Started with Open Source Technologies will provide a 360-degree view of open source and show you how to apply it. ...
SQL Antipatterns, Volume 1SQL is the ubiquitous language for software developers working with structured data. Most developers who rely on SQL are experts in their favorite language (such as Java, Python, or Go), but they're not experts in SQL. They often depend on antipatterns - -solutions that look right but become increasingly painful to work with as you uncover their hidden costs. Learn to identify and avoid many of these common blunders. Refactor an inherited nightmare into a data model that really works. Updated for the current versions of MySQL and Python, this new edition adds a dozen brand new mini-antipatterns for quick wins.
No matter which platform, framework, or language you use, the database is the foundation of your application, and the SQL database language is the standard for working with it. Antipatterns are solutions that look simple at the surface, but soon mire you down with needless work. Learn to identify these traps, and craft better solutions for the often-asked questions in this bo ...
Software Development and Professional PracticeSoftware Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code.
This book introduces you to software engineering-the application of engineering principles to the development of software. What are these engineering principles? First, all engineering efforts follow a defined process. So, you'll be spending a bit of time talking about how you run a software development project and the different phases of a project. Secondly, all engineering work has a basis in the application of science and mathematics to real-world problems. And so does software development! You'll therefore take the time to examine how to desig ...
VMware Cross-Cloud ArchitectureOver the past two decades, VMware vSphere has been known as the most trusted and reliable virtualization platform. VMware Cross-Cloud Architecture shows you how to design and configure Cross Cloud Architecture by using VMware Cloud Foundation and vRealize Suite with various use cases across private, public, and hybrid Cloud. This book takes you through everything from a basic understanding of virtualization to advanced aspects of storage and network virtualization, clustering, automation, and management.
This book will be your guide to designing all aspects of Cloud.
We start with the challenges faced by a traditional data center, define problem statements for you, and then brief you on respective solutions. Moving on, all kinds of virtualization and Cloud offerings from AWS and IBM Soft Layer are introduced and discussed in detail. Then, you'll learn how to design IT infrastructures for new and existing applications with a combination of Cloud Foundation, vRealize Suite, and vSp ...
Hands-On Concurrency with RustMost programming languages can really complicate things, especially with regard to unsafe memory access. The burden on you, the programmer, lies across two domains: understanding the modern machine and your language's pain-points. This book will teach you to how to manage program performance on modern machines and build fast, memory-safe, and concurrent software in Rust. It starts with the fundamentals of Rust and discusses machine architecture concepts. You will be taken through ways to measure and improve the performance of Rust code systematically and how to write collections with confidence. You will learn about the Sync and Send traits applied to threads, and coordinate thread execution with locks, atomic primitives, data-parallelism, and more.
The book will show you how to efficiently embed Rust in C++ code and explore the functionalities of various crates for multithreaded applications. It explores implementations in depth. You will know how a mutex works and build several yo ...
Software Development From A to ZUnderstand the big picture of the software development process. We use software every day - operating systems, applications, document editing programs, home banking - but have you ever wondered who creates software and how it's created? This book guides you through the entire process, from conception to the finished product with the aid of user-centric design theory and tools.
Software Development: From A to Z provides an overview of backend development - from databases to communication protocols including practical programming skills in Java and of frontend development - from HTML and CSS to npm registry and Vue.js framework. You'll review quality assurance engineering, including the theory about different kind of tests and practicing end-to-end testing using Selenium.
Dive into the devops world where authors discuss continuous integration and continuous delivery processes along with each topic's associated technologies. You'll then explore insightful product and project managem ...
Cloud Native Data Center NetworkingIf you want to study, build, or simply validate your thinking about modern cloud native data center networks, this is your book. Whether you're pursuing a multitenant private cloud, a network for running machine learning, or an enterprise data center, author Dinesh Dutt takes you through the steps necessary to design a data center that's affordable, high capacity, easy to manage, agile, and reliable.
Ideal for network architects, data center operators, and network and containerized application developers, this book mixes theory with practice to guide you through the architecture and protocols you need to create and operate a robust, scalable network infrastructure. The book offers a vendor-neutral way to look at network design. For those interested in open networking, this book is chock-full of examples using open source software, from FRR to Ansible.
In the context of a cloud native data center, you'll examine: Clos topology; Network disaggregation; Network operating system choi ...
Real-World Software DevelopmentExplore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way.
With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You'll work with many different software development topics that are often excluded from software develop how-to references.
Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems. ...
Cloud Native Architecture and DesignBuild enterprise-grade cloud-native systems and learn all about cloud-native architecture and design. This book provides extensive in-depth details of patterns, tools, techniques, and processes with plenty of examples.
Cloud Native Architecture and Design begins by explaining the fundamentals of cloud-native architecture and services, what cloud principles and patterns to use, and details of designing a cloud-native element.
The book progresses to cover the details of how IT systems can modernize to embrace cloud-native architecture, and also provides details of various enterprise assessment techniques to decide what systems can move and cannot move into the cloud.
Architecting and designing a cloud-native system isn't possible without modernized software engineering principles, the culture of automation, and the culture of innovation. As such, this book covers the details of cloud-native software engineering methodologies, and process, and how to adopt an automated governance ...
Python Architecture PatternsDeveloping large-scale systems that continuously grow in scale and complexity requires a thorough understanding of how software projects should be implemented. Software developers, architects, and technical management teams rely on high-level software design patterns such as microservices architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD) to make their work easier.
This book covers these proven architecture design patterns with a forward-looking approach to help Python developers manage application complexity - and get the most value out of their test suites.
Starting with the initial stages of design, you will learn about the main blocks and mental flow to use at the start of a project. The book covers various architectural patterns like microservices, web services, and event-driven structures and how to choose the one best suited to your project. Establishing a foundation of required concepts, you will progress into deve ...