Asynchronous Programming with C++
Design and develop high-performance software solutions by using concurrent and asynchronous techniques provided by the most modern features in C++20 and C++23Key Features: - Learn how to use modern C++ features, including futures, promises, async, and coroutines to build asynchronous solutions- Develop cross-platform network and low-level I/O projects with Boost.Asio- Master optimization techniques by understanding how software adapts to machine hardware- Purchase of the print or Kindle book includes a free PDF eBookBook Description: As hardware advancements continue to accelerate, bringing greater memory capacity and more CPU cores, software must evolve to adapt to efficiently use all available resources and reduce idle CPU cycles. In this book, two seasoned software engineers with about five decades of combined experience will teach you how to implement concurrent and asynchronous solutions in C++.You'll gain a comprehensive understanding of parallel programming paradigms-covering concurrent, asynchronous, parallel, multithreading, reactive, and event-driven programming, as well as dataflows-and see how threads, processes, and services are related. Moving into the heart of concurrency, the authors will guide you in creating and managing threads and exploring C++'s thread-safety mechanisms, including mutual exclusion, atomic operations, semaphores, condition variables, latches, and barriers. With this solid foundation, you'll focus on pure asynchronous programming, discovering futures, promises, the async function, and coroutines. The book takes you step by step through using Boost.Asio and Boost.Cobalt to develop network and low-level I/O solutions, proven performance and optimization techniques, and testing and debugging asynchronous software.By the end of this C++ book, you'll be able to implement high-performance software using modern asynchronous C++ techniques.What You Will Learn: - Explore the different parallel paradigms and know when to apply them- Acquire deep knowledge of thread management and safety mechanisms- Understand asynchronous programming in C++, including coroutines- Leverage network asynchronous programming by using Boost.Asio and Boost.Cobalt- Add proven performance and optimization techniques to your toolbox- Find out how to test and debug asynchronous softwareWho this book is for: This book is for developers who have some experience using C++, regardless of their professional field. If you want to improve your C++ skills and learn how to develop high-performance software using the latest modern C++ features, this book is for you.Table of Contents- Parallel Programming Paradigms- Processes, Threads, and Services- How to Create and Manage Threads in C++- Thread Synchronization with Locks- Atomic Operations- Promises and Futures- The Async Function- Asynchronous Programming Using Coroutines- Asynchronous Programming Using Boost.Asio- Coroutines with Boost.Cobalt- Logging and Debugging Asynchronous Software- Sanitizing and Testing Asynchronous Software- Improving Asynchronous Software Performance
Cloud Observability with Azure Monitor
Implement real-time monitoring, visualization, analytics, and troubleshooting strategies on Azure to ensure optimal performance and reliability in your cloud environmentKey Features: - Monitor Azure-native, hybrid, and multi-cloud infrastructure effectively- Design proactive incident responses and visualization dashboards for configuring, optimizing, and monitoring data- Implement strategies for monitoring Azure applications using real-world case studies- Purchase of the print or Kindle book includes a free PDF eBookBook Description: Cloud observability is complex and costly due to the use of hybrid and multi-cloud infrastructure as well as various Azure tools, hampering IT teams' ability to monitor and analyze issues. The authors distill their years of experience with Microsoft to share the strategic insights and practical skills needed to optimize performance, ensure reliability, and navigate the dynamic landscape of observability on Azure.You'll get an in-depth understanding of cloud observability and Azure Monitor basics, before getting to grips with the configuration and optimization of data sources and pipelines for effective monitoring. You'll learn about advanced data analysis techniques using metrics and the Kusto Query Language (KQL) for your logs, design proactive incident response strategies with automated alerts, and visualize reports via dashboards. Using hands-on examples and best practices, you'll explore the integration of Azure Monitor with Azure Arc and third-party tools, such as Datadog, Elastic Stack, or Dynatrace. You'll also implement artificial intelligence for IT Operations (AIOps) and secure monitoring for hybrid and multi-cloud environments, aligned with emerging trends.By the end of this book, you'll be able to develop robust and cost-optimized observability solutions for monitoring your Azure infrastructure and apps using Azure Monitor.What You Will Learn: - Get a holistic overview of cloud observability with Azure Monitor- Configure and optimize data sources to monitor Azure solutions- Analyze logs and metrics using advanced data analysis techniques with KQL- Design proactive incident response strategies with automated alerts- Visualize monitoring data through impactful dashboards and reports- Extend observability to hybrid and multi-cloud environments with Azure Arc- Build and implement monitoring solutions on Azure, aligned with industry standardsWho this book is for: If you're a seasoned cloud engineer, cloud architect, DevOps engineer, SRE, or an aspiring cloud practitioner eager to elevate your observability skills on Azure and implement monitoring strategies using Azure Monitor, then this book is for you. A basic understanding of Azure cloud services, cloud infrastructure management, and network virtualization will be helpful.Table of Contents- Introduction to Observability with Azure Monitor- Understanding Azure Monitor Components and Functions- Exploring Azure Monitor Data Sources and the Ingestion Pipeline- Analyzing Your Data Using Logs and Metrics- Responding to Monitoring Events- Visualizing Your Logs and Metrics- Application Observability and Performance Monitoring with Application Insights- Hybrid and Multi-Cloud Monitoring- Integrating with Third-Party Tools- Building Your Monitoring Strategy- Cost Management and Optimization- Future Trends and Looking Ahead- Appendix
Low Code Development with Mendix
DESCRIPTION This book offers a comprehensive overview of the Mendix platform from a developer's perspective. This powerful technology breaks down barriers, allowing anyone, with or without coding experience, to build custom applications quickly and efficiently with a solid foundation for platform evaluation. Key topics include Mendix's database design, page designer, and visual tools for creating functionality through microflows and nanoflows. You will also learn about security, best practices, and automated performance enhancements. Integration with other applications via REST, SOAP, and OData is explored, as well as the creation of web, progressive, and native mobile apps, all using the same low-code approach.By the end, you will be ready to begin your Mendix certification journey. You will have a thorough understanding of Mendix and through hands-on exercises. You will gain practical experience by developing a cloud-deployed Mendix application, positioning you for success in the fast-evolving low-code development landscape.KEY FEATURES ● Step-by-step instructions for creating Mendix applications from scratch, with practical exercises to build hands-on experience.● Tips and tricks to optimize performance and maintainability of Mendix applications.● Real-world examples, case studies, and optimization tips to enhance Mendix application performance and maintainability.WHAT YOU WILL LEARN● Grasp the essentials of low-code development and discover how it speeds up application creation.● Build robust data models that mirror real-world structures for effective data representation.● Create intuitive and reusable user-friendly interfaces using Mendix's drag-and-drop tools, enhancing user experience.● To automate business processes with microflows, including complex decision-making and data manipulation.● To integrate Mendix applications with external systems using REST, SOAP, and OData APIs.● Advanced topics like security, integration, and mobile development.WHO THIS BOOK IS FORThis book is intended for new and seasoned developers that are starting their journey into low code development and business users evaluating low code software development. A programming background is helpful but not required to understand the content of the book.
Building a minimal reflective kernel
What is the class Object? What is the class Class? Why the class Object is an instance of the class Class? If you ever ask yourself such questions, this book is for you. After explaining the impact of representing classes as objects, you will develop step by step a minimal reflective kernel. In this book you will learn: - object instantiation, allocation, and initialization, - classes as objects, - description of classes, - creation of classes, - method lookup and error handling, - examples of metaclasses, - bootstrap of a reflective system. The content of this book has been used to teach reflective architectures for more than 15 years.
Introduction to Software Development
This book teaches the essential database development skills that are needed by every software developer, while leaving out ancillary details that could distract from the main mission. With a progression of topics from basic to advanced, and using real-world data in its discussion and examples, it maintains the tutorial style of the first two volumes of the series. The reader learns by doing. Topics covered include importing and exporting data, relational database design, writing SQL queries, modifying data, database performance, connecting from application code, and NoSQL.The overall goal of the series is to prepare students to enter the software development world. Mastering the content in all the volumes will prepare the student for his or her first interview for an entry level developer job.
Programming Microsoft Dynamics 365 Business Central - Seventh Edition
Extend Microsoft Business Central with custom functionality using the AL language in Visual Studio Code, guided by practical examples, expert insights, and real-world use casesKey Features: - Work with the new additions to the AL Language, Visual Studio Code, and Business Central- Enhance your AL programming skills through real-world examples and best practices curated by industry experts- Implement updated best practices for development to build efficient, reliable, and maintainable extensions- Purchase of the print or Kindle book includes a free PDF eBookBook Description: Business Central opens a world of endless possibilities for custom business logic and functionality through extensions and customizations. For beginners in the AL language, navigating the vast landscape can feel overwhelming. It's challenging to know where to start and what's essential to learn. This updated edition offers a concise and well-organized guide, featuring hands-on exercises to support a successful learning journey.You'll get to grips with the basics of Business Central and how to create your first Visual Studio Code project with the AL language. As you learn about the table data structure, simple and complex data types, relationships, validation, and data flow, you'll be able to add and extend tables to your project. Progressively, you'll uncover the intricacies of user interfaces with pages, create advanced Excel report layouts, and harness the power of data queries. Immersing yourself in the AL language syntax, you'll start with variables, methods, procedures, and statements. You'll explore advanced topics to create business logic such as FlowFields, filtering, CRUD methods, interactions between object types, and different API interfaces that can be created using the AL language.By the end of this book, you'll be equipped to build fully featured, robust extensions and custom capabilities for Business Central.What You Will Learn: - Set up your first AL development environment with Visual Studio Code- Understand the data structure and flow of Business Central- Design, build, and extend Table, Page, Report, Codeunit, Query, and XMLport objects in Business Central- Develop AL code for business logic and data manipulation in Visual Studio Code- Use Excel layouts to report Business Central data- Integrate Business Central with external systems using API web services- Implement multi-language in your own extension- Debug and troubleshoot Business Central applicationsWho this book is for: This book is for anyone who wants to learn about Microsoft Dynamics 365 Business Central's powerful and extensive development capabilities. ERP consultants and managers of Business Central development will also find this book helpful. Although you aren't expected to have previously worked with Microsoft Dynamics Business Central, having a basic understanding of programming and familiarity with business applications software will help you understand the concepts covered in this book.Table of Contents- Introduction to Business Central- Tables- Data Types and Table Fields- Pages - The Interactive Interface- Reports and Queries- Introduction to AL- Intermediate AL- Extensibility beyond AL
Software Deployment, Updating, and Patching
Presenting valuable information for professionals involved in maintaining and securing Microsoft systems and applications, this guide provides the skills necessary to develop a comprehensive strategy for updating and securing Microsoft systems with the latest packs and patches. It demonstrates how to perform inventories of IT assets, identify old versions as well as new updates and patches, test compatibility, target deployment, and evaluate management technologies. It also shows readers how to create and implement their own deployment plans with recovery and remediation options and illustrates how to recognize potential vulnerabilities.
Software Testing as a Service
Software Testing as a Service explains, in simple language, how to use software testing to improve productivity, reduce time to market, and reduce costly errors. It explains how the normal functions of manufacturing can be applied to commoditize the software testing service to achieve consistent quality across all software projects. This up-to-date reference reviews different software testing tools, techniques, and practices and provides succinct guidance on how to estimate costs, allocate resources, and make competitive bids. Replete with examples and case histories, this resource illustrates how proper planning can lead to the creation of software that's head and shoulders above the competition.
Mastering AI App Development with MERN Stack
Transform Your Web App Development Journey with MERN and AI Are you ready to step confidently into the next era of web development? Mastering AI App Development with MERN Stack is your complete hands-on guide to building intelligent, data-driven applications using AI app development with MERN stack, full-stack JavaScript, and TensorFlow.js for developers. Book DescriptionWith AI applications driving a projected $15.7 trillion boost to the global economy by 2030, combining AI with the popular MERN stack has become a game-changer for developers and businesses alike. Mastering AI App Development with MERN Stack is a hands-on guide designed for developers ready to bring AI capabilities to their MERN applications, covering everything from foundational machine learning to advanced, real-world solutions. Starting with the essentials of setting up a MERN development environment, the book guides readers through machine learning basics in JavaScript, enabling AI integration with Node.js and TensorFlow.js. Each chapter provides practical insights into building intelligent interfaces with React, effective data handling with MongoDB, and AI middleware using Express.js. Readers will learn to create features like AI-powered chatbots, image and voice recognition, and personalized recommendation systems. Real-world scenarios and case studies demonstrate how AI can elevate MERN applications. What You'll Learn: Foundations of artificial intelligence web development and how to embed intelligent features with MERN stack and JavaScript machine learningEnd-to-end walkthroughs on building intelligent AI-powered web applications using Node.js, Express.js, React intelligent interfaces, and MongoDB for AI projectsStep-by-step tutorials for real-world MERN stack AI book applications, including creating Node.js AI chatbots, image recognition, and recommendation systemsHow to seamlessly connect TensorFlow.js for web development and machine learning JavaScript with MERN stack projectsDeployment insights for scalable MERN AI applications-from security and best practices to real user personalizationIntegrating data-driven features.Who Is This Book For?Developers and students eager to unlock cutting-edge full-stack development guide knowledge for web application AITech professionals seeking proven strategies in artificial intelligence web development and MERN stack machine learningEntrepreneurs and product builders wanting to add intelligent app development and personalized user experience to their solutionsYour Roadmap to AI-Powered Success: Build real-world machine learning with MERN stack projects using clear, step-by-step guidanceDevelop personalized user experience with AI integration and recommendation systemsGain actionable skills for secure and scalable MERN stack AI deployment and data-driven business value.Create the Next Generation of AI-Powered Applications! Table of Contents1. Introduction to AI and the MERN Ecosystem2. Setting Up the MERN Development Environment3. Fundamentals of Machine Learning with JavaScript4. Implementing AI with Node.js and TensorFlow.js5. Creating Intelligent User Interfaces with React6. Data Management for AI with MongoDB7. Building AI Middleware with Express.js8. Crafting AI-Powered Chatbots9. Image and Voice Recognition Capabilities10. Personalization with Recommendation Systems11. Deploying MERN and AI Applications12. Security Practices for AI-Enabled MERN Applications13. Scaling AI Features in Production14. Emerging Trends in AI and MERN Development15. Case Studies and Real-World Success StoriesIndex
Jetpack Compose 1.7 Essentials
Unleash the full potential of Android app development with Jetpack Compose 1.7. This comprehensive guide teaches you to build sleek, modern Android applications using the latest tools, including Android Studio, Material Design 3, and Kotlin. Tailored for developers who want to go from setup to full-scale deployment, this book takes you step-by-step through every phase of app creation-from mastering the essentials of Android Studio to publishing on the Google Play Store.Begin by setting up your development environment and dive into Kotlin essentials, covering data types, functions, coroutines, and more to build a strong programming foundation. Then, explore Jetpack Compose fundamentals and Android project architecture, moving into practical tutorials on crafting custom Composables and layouts like row, column, box, flow, pager, and list components. The book doesn't just stop at layout; it guides you through state management, UI navigation, modifiers, and custom components.Unlock advanced capabilities with biometric authentication, Google Maps integration, and in-app billing for revenue generation. Deepen your skills with graphics, animations, and gesture handling to create interactive and dynamic interfaces. Plus, master data storage with Room databases, view models, and live data.To solidify your knowledge, the book includes access to over 55 online knowledge test quizzes covering each key concept, giving you a way to test your understanding and track your progress. Every concept is reinforced through hands-on tutorials, complete with downloadable source code, making it easy to follow along and practice as you go.Every concept is reinforced through hands-on tutorials, complete with downloadable source code, making it easy to follow along and practice as you go. If you're ready to bring your app to life, this guide will walk you through the complete process, from development to publication.Get ready to take your Android app development skills to the next level with this essential guide to Jetpack Compose 1.7.
Advances in Conceptual Modeling
This book constitutes the refereed proceedings of the workshops held at the 43rd International Conference on Conceptual Modeling, ER 2024, which took place in Pittsburgh, PA, USA, during October 28-31, 2024. The 22 full papers and 1 short paper included in this book were carefully reviewed and selected from 52 submissions. They stem from the following workshops: AISA'2024 - The First International Workshop on AI Services and Applications CMLS2024 - The 5th International Workshop on Conceptual Modeling for Life Sciences EmpER'24 -7th International Workshop on Empirical Methods in Conceptual Modeling QUAMES 2024 - 5th International Workshop on Quality and Measurement of Model-Driven Software Development JUSMOD24 - 3rd International Workshop on Digital JUStice, Digital Law and Conceptual MODeling LLM4Modeling - 2nd Workshop on Modeling in the Age of Large Language Models
Leveraging Applications of Formal Methods, Verification and Validation. Specification and Verification
The ISoLA 2024 proceedings constitutes contributions of the associated events held at the 12th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2024, which took place in Crete, Greece, in October 2024. ISoLA 2024 provides a forum for developers, users, and researchers to discuss issues related to the adoption and use of rigorous tools and methods for the specification, analysis, verification, certification, construction, test, and maintenance of systems from the point of view of their different application domains.
Conceptual Modeling
This book constitutes the proceedings of the 43rd International Conference on Conceptual Modeling, ER 2024, which took place in Pittsburgh, PA, USA, during October 28-31, 2024. The 22 full papers presented in this volume were carefully reviewed and selected from 113 submissions. They are grouped into the following topics: process modeling; advanced modeling languages; ontological modeling; domain and goal modeling; language models and conceptual modeling; applications of conceptual modeling.
Leveraging Applications of Formal Methods, Verification and Validation. Rigorous Engineering of Collective Adaptive Systems
The ISoLA 2024 proceedings constitutes contributions of the associated events held at the 12th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2024, which took place in Crete, Greece, in October 2024. ISoLA 2024 provides a forum for developers, users, and researchers to discuss issues related to the adoption and use of rigorous tools and methods for the specification, analysis, verification, certification, construction, test, and maintenance of systems from the point of view of their different application domains.
Technologies and Innovation
This book constitutes the refereed proceedings of the 10th International Conference on Technologies and Innovation, CITI 2024, held in Guayaquil, Ecuador, during November 2024. The 15 full papers presented in this volume were carefully reviewed and selected from 38 submissions. These papers have been organized under the following topical sections: Artificial intelligence in Agriculture; Natural language processing and semantic web; Machine learning; Software tools.
Leveraging Applications of Formal Methods, Verification and Validation. Software Engineering Methodologies
The ISoLA 2024 proceedings constitutes contributions of the associated events held at the 12th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2024, which took place in Crete, Greece, in October 2024. ISoLA 2024 provides a forum for developers, users, and researchers to discuss issues related to the adoption and use of rigorous tools and methods for the specification, analysis, verification, certification, construction, test, and maintenance of systems from the point of view of their different application domains.
Efficient Algorithm Design
Master advanced algorithm design techniques to tackle complex programming challenges and optimize application performanceKey Features: - Develop advanced algorithm design skills to solve modern computational problems- Learn state-of-the-art techniques to deepen your understanding of complex algorithms- Apply your skills to real-world scenarios, enhancing your expertise in today's tech landscape- Purchase of the print or Kindle book includes a free PDF eBookBook Description: Efficient Algorithm Design redefines algorithms, tracing the evolution of computer science as a discipline bridging natural science and mathematics. Author Masoud Makrehchi, PhD, with his extensive experience in delivering publications and presentations, explores the duality of computers as mortal hardware and immortal algorithms.The book guides you through essential aspects of algorithm design and analysis, including proving correctness and the importance of repetition and loops. This groundwork sets the stage for exploring algorithm complexity, with practical exercises in design and analysis using sorting and search as examples. Each chapter delves into critical topics such as recursion and dynamic programming, reinforced with practical examples and exercises that link theory with real-world applications. What sets this book apart is its focus on the practical application of algorithm design and analysis, equipping you to solve real programming challenges effectively.By the end of this book, you'll have a deep understanding of algorithmic foundations and gain proficiency in designing efficient algorithms, empowering you to develop more robust and optimized software solutions.What You Will Learn: - Gain skills in advanced algorithm design for better problem-solving- Understand algorithm correctness and complexity for robust software- Apply theoretical concepts to real-world scenarios for practical solutions- Master sorting and search algorithms, understanding their synergy- Explore recursion and recurrence for complex algorithmic structures- Leverage dynamic programming to optimize algorithms- Grasp the impact of data structures on algorithm efficiency and design Who this book is for: If you're a software engineer, computer scientist, or a student in a related field looking to deepen your understanding of algorithm design and analysis, this book is tailored for you. A foundation in programming and a grasp of basic mathematical concepts is recommended. It's an ideal resource for those already familiar with the basics of algorithms who want to explore more advanced topics. Data scientists and AI developers will find this book invaluable for enhancing their algorithmic approaches in practical applications.Table of Contents- Introduction to Algorithm Analysis- Mathematical Induction and Loop Invariant for Algorithm Correctness- Rate of Growth for Complexity Analysis- Recursion and Recurrence Functions- Solving Recurrence Functions- Sorting Algorithms- Search Algorithms- Symbiotic Relationship between Sort and Search- Randomized Algorithms- Dynamic Programming- Landscape of Data Structures- Linear Data Structures- Non-Linear Data Structures- Tomorrow's Algorithms
Leveraging Applications of Formal Methods, Verification and Validation. Application Areas
The ISoLA 2024 proceedings constitutes contributions of the associated events held at the 12th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2024, which took place in Crete, Greece, in October 2024. ISoLA 2024 provides a forum for developers, users, and researchers to discuss issues related to the adoption and use of rigorous tools and methods for the specification, analysis, verification, certification, construction, test, and maintenance of systems from the point of view of their different application domains.
Generative Analysis
Learn Generative Analysis--a New Method of Object-Oriented Analysis--to Keep Pace with How Generative AI Is Transforming the Face of Software Engineering Generative AI is revolutionizing software engineering--many aspects of manual coding are becoming automated, and the skills needed by software engineers, developers, and analysts are evolving. Anyone who writes or works with code will need to produce precise analysis artifacts to feed the AI code-generation process. Enter generative analysis: a precise, structured way for software engineers, programmers, and analysts to transition to this new, AI-enhanced software engineering world. In Generative Analysis, experts Jim Arlow and Ila Neustadt leverage Literate Modeling, M++, and multivalent logic to lay out a step-by-step approach to object-oriented analysis that produces clear and unambiguous results suitable for further processing into code by generative AI systems such as Copilot, ChatGPT, and Gemini. Prepare for the challenge of the future by understanding the flexibility you already have at hand using generative analysis. Gain a new perspective on the shift to generative AI-based programming models Understand how generative analysis artifacts feed generative AIs to generate code and UML models Explore techniques that feed into and refine each other until a precise analysis definition of a software system is achieved Recognize milestones and end points to eliminate "analysis paralysis" Learn to work at the right level of abstraction to leverage the most power from generative AI Gain understanding from real-world, detailed examples of prompts and AI responses This guide teaches advanced, precise, and sophisticated analysis techniques that will allow you to thrive in the new world of software engineering with generative AI. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Applied Computer Sciences in Engineering
The two-volume set CCIS 2222 + 2223 constitutes the proceedings of the 11th Workshop on Engineering Applications, WEA 2024, which took place in Barranquilla, Colombia, during October 23-25, 2024. The 42 full papers presented here were carefully reviewed and selected from 97 submissions. The papers are organized in the following topical sections: Part I - Artificial Intelligence. Part II - Optimization; Simulation; Applications.
Applied Computer Sciences in Engineering
The two-volume set CCIS 2222 and 2223 constitutes the proceedings of the 11th Workshop on Engineering Applications, WEA 2024, which took place in Barranquilla, Colombia, during October 23-25, 2024. The 42 full papers presented here were carefully reviewed and selected from 97 submissions. The papers are organized in the following topical sections: Part I - Artificial Intelligence. Part II - Optimization; Simulation; Applications.
C# 13 Programming Essentials - .NET 9 Edition
This book is a comprehensive guide to mastering the C# 13 programming language and the .NET 9 SDK, providing a thorough learning experience for both beginners and experienced developers. With 31 detailed chapters, 30 online knowledge quizzes, and access to downloadable project code, this guide is structured to support your journey from basic concepts to advanced programming techniques, all within the Visual Studio Code environment.We will start by introducing the foundational components of the C# ecosystem, providing an overview of the Common Language Infrastructure (CLI), the Common Intermediate Language (CIL), and the Virtual Execution System (VES). These initial sections will offer a deeper understanding of the platform's architecture. Following that, we will provide step-by-step instructions for installing and using the Visual Studio Code environment.As you advance, you will learn about the foundational principles of the C# language. This will include exploring topics such as variables, constants, operators, flow control, and loops. These basic concepts will then be expanded to cover object-oriented programming (OOP), with an emphasis on inheritance, abstract classes, interfaces, and structures.Beyond the basics, this book advances into more specialized areas, including string manipulation, working with arrays and collections, handling exceptions, and implementing asynchronous programming techniques. These sections are designed to deepen your understanding and equip you with the skills necessary to build more sophisticated apps.Whether you are new to programming or seeking to refine your skills, C# 13 Programming Essentials - .NET 9 Edition offers the knowledge and practical guidance you need to succeed in C# development.
Platform Engineering for Architects
Design and build Internal Developer Platforms (IDPs) with future-oriented design strategies, using the Platform as a Product mindsetKey Features: - Learn how to design platforms that create value and drive user adoption- Benefit from expert techniques for shifting to a product-centric mindset as an architect and platform team- Implement best practices to understand platform complexity, manage technical debt, and ensure its evolution- Purchase of the print or Kindle book includes a free PDF eBookBook Description: The rapid pace of technological advancements, the shortage of IT talent, and the complexity of modern systems highlight the need for structured guidance in building resilient, user-centric platforms for cloud-native environments. This book empowers platform engineers and architects to implement value-driven internal development platforms.You'll learn how to identify end users, understand their challenges, and define the purpose of a platform, with a focus on self-service solutions for modern cloud-native software development, delivery, and operations. The book incorporates real-world examples of building platforms within and for the cloud, leveraging the power of Kubernetes. You'll learn how adopting a product mindset for architecting and building platforms helps foster successful platform engineering teams. This emphasizes early end-user involvement and provides a framework that gives you the flexibility to easily adapt and extend for future use cases. The book also offers insights into building a sustainable platform without accumulating technical debt.By the end of this book, you'll be able to drive the design, definition, and implementation of platform capabilities as a product that aligns with your organizational requirements and strategy.What You Will Learn: - Make informed decisions based on your organization's platform needs- Identify missing platform capabilities and technical debt- Develop a critical user journey through your platform capabilities- Define the purpose, principles, and key performance indicators (KPIs) for your platform- Utilize relevant data points for making data-driven product decisions- Implement your own platform reference and target architecturesWho this book is for: This book is for platform architects and solutions architects seeking to enhance their skills in designing and building a platform as a product. It also offers valuable insights for decision-makers, platform engineers, and DevOps professionals. While familiarity with cloud-native concepts, CI/CD, and Kubernetes is beneficial, the book builds on these topics to address self-service, cost management, and technical debt. It's particularly suited to experts tackling the challenge of integrating diverse domains to create effective internal developer platforms with top-notch operational readiness.Table of Contents- Platform Engineering and the Art of Crafting Platforms- Understanding Platform Architecture to Build Platform as a Product- Building the Foundation for Supporting Platform Capabilities- Architecting the Platform Core - Kubernetes as a Unified Layer- Integration, Delivery, and Deployment - Automation is Ubiquitous- Build for Developers and Their Self-Service- Building Secure and Compliant Products- Cost Management and Best Practices- Choosing Technical Debt to Unbreak Platforms- Crafting Platform Products for the Future
Runtime Verification
This book constitutes the refereed proceedings of the 24th International Conference on Runtime Verification, RV 2024, held in Istanbul, Turkey, during October 15-17, 2024. The 11 full papers, 5 short papers and 2 tool papers included in this book were carefully reviewed and selected from 31 submissions. They were organized in topical sections as follows: Invited Paper; Cyber-physical Systems; Temporal Logics; Speci cation and Visualization; Deep Neural Networks; and Distributed Systems.
Technical Program Manager's Handbook - Second Edition
Explore the TPM role in depth with this revised second edition. New coverage includes advanced program management techniques, emotional intelligence, and AI integration. Join business with technology and elevate your career.Key Features: - Learn advanced system design principles and architectural concepts necessary for a TPM- Get up to speed with AI-driven project planning, risk management, and stakeholder communication tools- Benefit from practical tools, methodologies, case studies, and real-world examplesBook Description: The role of the Technical Program Manager (TPM) is crucial in the tech industry, bridging the gap between technical expertise and business acumen. The second edition of the Technical Program Manager's Handbook offers a comprehensive guide to excelling in this role. Building on the foundational concepts from the first edition, this updated version introduces new chapters that explore the integration of AI and Emotional Intelligence (EI) in program management. These crucial additions complement the broader focus of the book on bridging business and technology but don't overshadow it. You'll learn how to apply AI-driven tools to enhance project planning, risk management, and stakeholder communication, as well as how to leverage EI to build strong team relationships and improve leadership effectiveness.This book provides practical tools, methodologies, and case studies, offering insights from industry leaders to help both aspiring and practicing TPMs apply advanced concepts and strategies effectively. It also explores the unique aspects of the TPM role in major tech companies, helping you to navigate and thrive in your career.By the end of this book, you'll have a clear understanding of the TPM role, along with a breakdown of the necessary technical and program management skills, to develop a clear roadmap for your career.What You Will Learn: - Uncover the critical importance of the TPM role in the tech industry- Understand and leverage the unique aspects of the TPM role- Discover what makes a successful TPM through real-world case studies- Master project management with advanced technical skills and AI tools- Apply EI to enhance leadership and team management- Explore careers and paths for TPMs in the Big Five tech companiesWho this book is for: This book is designed for aspiring and established Technical Program Managers (TPMs), tech professionals transitioning into TPM roles, and recent graduates embarking on careers in technology consulting. It's also valuable for business analysts, project managers, and anyone supporting or working alongside TPMs. To fully benefit from this book, readers should have a basic understanding of the project management life cycle and be comfortable with technical concepts, as it dives into advanced topics and real-world applications.Table of Contents- Fundamentals of a Technical Program Manager- Pillars of a Technical Program Manager- Career Path- Harnessing the Power of Artificial Intelligence in Technical Program Management- Introduction to Program Management- Driving Toward Clarity- Plan Management- Risk Management- Stakeholder Management- Managing a Program- Understanding Emotional Intelligence in Technical Program Management- The Technical Toolset- Code Development Expectations- System Design and Architecture Landscape- Enhancing Management Using Your Technical Toolset
Financial Data Engineering
Today, investment in financial technology and digital transformation is reshaping the financial landscape and generating many opportunities. Too often, however, engineers and professionals in financial institutions lack a practical and comprehensive understanding of the concepts, problems, techniques, and technologies necessary to build a modern, reliable, and scalable financial data infrastructure. This is where financial data engineering is needed. A data engineer developing a data infrastructure for a financial product possesses not only technical data engineering skills but also a solid understanding of financial domain-specific challenges, methodologies, data ecosystems, providers, formats, technological constraints, identifiers, entities, standards, regulatory requirements, and governance. This book offers a comprehensive, practical, domain-driven approach to financial data engineering, featuring real-world use cases, industry practices, and hands-on projects. You'll learn: The data engineering landscape in the financial sector Specific problems encountered in financial data engineering The structure, players, and particularities of the financial data domain Approaches to designing financial data identification and entity systems Financial data governance frameworks, concepts, and best practices The financial data engineering lifecycle from ingestion to production The varieties and main characteristics of financial data workflows How to build financial data pipelines using open source tools and APIs Tamer Khraisha, PhD, is a senior data engineer and scientific author with more than a decade of experience in the financial sector.
Reversible World of Cellular Automata
This unique comprehensive compendium provides extensive studies on reversible cellular automata (RCAs), exhibiting a wide range of interesting phenomena similar to the Game-of-Life, a well-known irreversible CA.The useful reference text also introduces innovative approaches to constructing universal computers in a reversible cellular space. Numerous figures are included to illustrate the evolution of RCA configurations, and to elucidate theoretical results on RCAs. Additionally, readers can observe evolution processes of various RCAs on the free CA simulator Golly using supplementary files.
Power Apps Tips, Tricks, and Best Practices
Create custom solutions with the help of real-world examples using data connections, advanced canvas app formulas, data filtering techniques, and integrations, including CopilotKey Features: - Understand overall project planning and manage your apps across different environments and solutions- Learn how Power Apps can be integrated with other applications to extend the functionality- Incorporate Copilot with Power Apps to create a customized solution- Purchase of the print or Kindle book includes a free PDF eBookBook Description: Microsoft Power Apps is ideal for businesses seeking to digitally transform their operations by developing custom applications quickly and efficiently, without the heavy investment required for software development. This book leverages the authors' combined experience in Power Platform, among others, to lay down the foundation for successful app development, focusing on defining project scope and understanding requirements.In this book, you'll go through several key development areas, including solution creation and Power Platform environments, both critical areas for effective app development and deployment. You'll also discover best practices for choosing when to build a canvas app or a model-driven app based on project requirements and data connections. The chapters will take you through advanced development techniques and show you how to integrate Power Apps with other applications. You'll get a clear understanding of the key aspects of governance, security, app maintenance, and error handling, ensuring that your Power Apps solutions are not only effective but also secure and sustainable.By the end of this book, you'll have gained practical insights, technical depth, and a clear roadmap for successful Power Apps development.What You Will Learn: - Understand different data connections to define overall project planning- Explore advanced development techniques such as filtering data, using variables and collections, formulas, and conditional formatting- Uncover how Power Apps can be integrated with other apps such as Power Automate, Power BI, SharePoint, Teams, and Outlook- Find out how to apply governance and security- Discover best practices for app maintenance and handling errors- Learn how to register an app in Microsoft Azure- Set up Copilot for your project using Copilot StudioWho this book is for: This book is for business analysts, IT professionals, and both developers and non-developers. If you're interested in improving your app development skills, this book is for you. A basic understanding of Microsoft 365 and Power Apps is recommended. Familiarity with other Power Platform applications, such as Power Automate and Power BI, is helpful but not necessary.Table of Contents- Understanding Requirements and Project Planning- Working with Solutions- Power Platform Environments- Choosing the Right Tool - Navigating Canvas Apps, Power Pages, and Model-Driven Apps- Data Connections- Variables, Collections, and Data Filtering- Canvas App Formulas- Conditional Formatting and URL Deep Linking- Integration with Power Automate/Teams/Outlook- Integrating with Power BI- Integrating Power Apps with SharePoint- Integration with Power Virtual Agent/Copilot- Governance, Security, and Application Life Cycle Management- Error Handling- Registering a Power App in Azure
Modern C++23 QuickStart Pro
Learn the latest features of C++23 with Modern C++ 23 QuickStart Pro, the perfect book for experienced developers who want to expand their knowledge and skills. This book takes a hands-on approach, providing rapid learning through real-world examples and scenarios that address complex programming challenges in C++.The book begins by demonstrating the power of variadic templates and how to use them for dynamic function signatures. After becoming familiar with fold expressions for argument handling, you will then explore std:: tuple and std:: variant for handling heterogeneous data. The book then covers advanced function morphing with parameter packs and shape-shifting lambdas, as well as dynamic programming techniques. It also teaches complex function overloading and high-level thread orchestration using futures, promises, and callables. Next, we'll go over some low-level IO operations, such as controlling IO streams, efficiently handling file descriptors, and directly manipulating files.You will then learn how to optimize memory management with shared, unique, and weak pointers, and how to engineer memory performance with custom allocators and cache-aware programming. You will learn advanced synchronization, including atomic operations, mutexes, locks, and thread pools, as well as lock-free data structures for peak performance. In addition, this book covers optimal integer and floating-point operations, arbitrary precision arithmetic, precise rounding with fixed-point arithmetic, and high-performance computation using math constant integration.Key LearningsUtilize C++23 variadic templates for dynamic function signatures.Use fold expressions to simplify complex function operations and argument handling.Manage heterogeneous data in high-performance applications with std:: tuple and std:: variant.Use parameter packs and perfect forwarding to create flexible function signatures.Use shape-shifting lambdas for flexible argument patterns.Master file manipulation and stream management to create efficient low-level IO systems.Customize memory management with unique, shared, and weak pointers to control resources.Boost parallel processing with mutexes, locks, and thread pools.Create lock-free data structures to reduce locking overhead in concurrent systems.Use mathematical constants and precise rounding to improve numerical computations.Table of ContentPotential of Variadic Power in C++23Morphing Functions and LambdasTaming Low-Level IO OperationsMastering Buffering and Async IOOutperforming Memory ManagementEngineering Memory PerformanceAdvanced Multithreading for ExpertsThread Synchronization and Atomic MasteryTurbocharging Floats and Ints
Equity, Diversity, and Inclusion in Software Engineering
Creating an inclusive environment where different software developers can feel welcome and leverage their talents is an ethical imperative no company can ignore. Indeed, software organizations have in the last decade been trying to make changes for a more diverse and inclusive software development environment. The push for increased diversity in software has been a public one, from annual diversity reports by some of the worlds' most visible companies such as Microsoft, Google, and Facebook, to large projects such as Linux Foundation's Software Developer Diversity and Inclusion project that explores, evaluates, and promotes best practices from research and industry to increase diversity and inclusion in software engineering. Despite these many efforts, diversity remains low. Numbers from the software industry show that less than 25% of software engineers are women. Diversity is also low in regards to many other facets of diversity. This book provides an overview of research into the different aspects of diversity and inclusion in software engineering, as well as the tools, methods, and practices proposed to foster diversity and to build inclusive software teams and development environments. It describes research challenges in studying diversity and inclusion in software. Readers will be challenged to consider how they are contributing to a lack of inclusion and what they can do to improve inclusion in the software industry.What You Will Learn Aspects of diversity (e.g., age, culture, gender, race) and relationship to software engineering activities and outcomesHow to measure diversity Investigations of intersectionality in software engineering Research methods for the study of diversity and inclusion in software engineering Empirical studies of effective practices to foster diversity and inclusion in software engineering Interventions and programs that have been used to successfully support retention in software engineering Software engineering education for diverse and inclusive software engineering, and proven teaching methods/environments that support diverse and inclusive software engineering Who This Book Is For For Researchers, the book presents a state-of-the-art collection of existing studies into many aspects of diversity, methods, and tools proposed and tried out in practice, challenges in research, and contributing to a research agenda on this topic for future studies. For Industry practitioners, the book describes efforts to investigate diversity in software teams, whether in corporate or open source environments. It also describes empirical evidence about effectiveness of certain methods and approaches to foster diversity and inclusion in software development. For Educators, the book describes practices and effective changes in Computer Science/Software Engineering curricula that were found as effective in engaging learners from minoritized groups, creating inclusive software teams that are diverse, and which relate to educational material useful for training for diversity, equity, and inclusion.
Exploring Scientific Computing with Java
DESCRIPTION Java is a versatile programming language, ideal for scientific computing due to its robustness, platform independence, and extensive libraries. This book teaches you how to use Java for complex simulations and data analysis, empowering you to solve real-world problems and advance scientific research.This Java programming book offers a thorough guide, starting with core concepts like data types, operators, and object-oriented programming (OOP). It then moves into advanced topics such as multithreading for handling multiple tasks at once, exception handling to manage runtime errors, and package management for organizing large codebases. You will also learn about input/output (I/O) operations to work with external data and applet development for creating small, interactive web programs. Building on your knowledge of Java programming and scientific computing, this book is a complete guide that equips you to delve into scientific computing and actively participate in innovative research and development.KEY FEATURES ● Learn Java's data structures, algorithms, and numerical libraries.● Practical examples and exercises to solidify understanding.● MCQs with solutions are provided at the end of each chapter for practice, along with Bloom's level questions.● Miscellaneous programs using Java, like Stack, Queue, Tic-tac-toe, AES, and RSA algorithms, and socket programming, are also included.WHAT YOU WILL LEARN● Understand and code with data types, variables, arrays, and strings.● Learn iterations, conditional statements, and how to apply them.● Explore OOP with examples.● Master multithreading for multi-tasking environments.● Grasp Java exception handling and file management.WHO THIS BOOK IS FORThis book is ideal for professionals in fields such as software development, data analysis, web development, and system administration who need a strong foundation in Java programming.
Tomorrow's Systems Engineering
This book looks at systems engineering now and comments on the future. It notes the signs of deepening our understanding of the field which includes, digital engineering, interactive model-based systems, decision support frameworks, and points to a grand unified theory. The book also suggests how the systems engineer can be a better designer and architect. Offering commentaries regarding how the field of systems engineering might evolve over the next couple of decades, Tomorrow's Systems Engineering: Commentaries on the Profession looks at the potential opportunities that might lie ahead rather than making predictions for the future of the field. The book allows the reader to prepare for the future in terms of technical interest as well as competitiveness and suggests opportunities that could be significant and useful for planning actions in the careers of future systems engineers. Discussions of improvements in how we develop and use software that can help to facilitate and protect overall IT capability within the system design and system architecture are also included. This book is for systems engineers and software engineers who wish to think now about the directions the field might take in the next two decades.
Blockchain Technology in Healthcare Applications
Tremendous growth in healthcare treatment techniques and methods has led to the emergence of numerous storage and communication problems and need for security among vendors and patients. This book brings together latest applications and state-of-the-art developments in healthcare sector using Blockchain technology. It explains how blockchain can enhance security, privacy, interoperability, and data accessibility including AI with blockchains, blockchains for medical imaging to supply chain management, and centralized management/clearing houses alongside DLT. Features: Includes theoretical concepts, empirical studies and detailed overview of various aspects related to development of healthcare applications from a reliable, trusted, and secure data transmission perspective. Provide insights on business applications of Blockchain, particularly in the healthcare sector. Explores how Blockchain can solve the transparency issues in the clinical research. Discusses AI with Blockchains, ranging from medical imaging to supply chain management. Reviews benchmark testing of AI with Blockchains and its impacts upon medical uses. This book aims at researchers and graduate students in healthcare information systems, computer and electrical engineering.
Contemporary Research
This book covers the intersection and blending of two research areas: team cognition and distributed cognition. This book includes models, frameworks, different approaches to studying distributed team cognition, and new measures that showcase successful outcomes.
Data Structures using C
The data structure is a set of specially organized data elements and functions are defined to store, retrieve, remove and search for individual data elements. This book covers all issues related to the amount of storage needed, the amount of time required to process the data, etc.
Fields of Practice and Applied Solutions Within Distributed Team Cognition
Ths book represents and offers an understanding of specific fields of practice that are discovered using different methodological approaches, innovative aspects of computing and technology, and coupled with data/information science products, show how cognition emerges, is applied, and practiced in our world today.
Enterprise Architecture for Strategic Management of Modern IT Solutions
This book provides guidance on how to employ enterprise architecture (EA) in deploying and managing information technology (IT) solutions from the perspectives of pragmatic strategies. It uses sociotechnical theories such as actor-network theory (ANT) and structuration theory (ST) as lenses to examine challenges and complexities of EA.
Software Durability
Software evolution is a time-consuming and costly process due to its complex architecture. Software designers need to produce software that is effective as well as durable. Durability and effectiveness of software are the foremost priorities and challenges for developers. This book comprises real-life case studies of durability issues and their solutions that bring to light loopholes and show how to fix them, to enhance durability. Existing literature on software durability tells us that the first step is to recognise the problem. It gives information about durability, risk, estimation, knowledge, and governance based on five main characteristics: dependability, trustworthiness, usability, security, and human trust. The book serves as a complete package to get acquainted with assurance and risk management from a software durability perspective. It enhances our understanding of the concept of durability, its multi-dimensional approach, threats and their types, risk, mitigation techniques, and suggestive measures. The book reviews the emerging trends in the software development process in the context of durability concepts such as automated code reviews, coding standards, and software durability standards and their testing, cost management solutions, low-code or no-code solutions, and durability assurance.
40 Algorithms Every Data Scientist Should Know
DESCRIPTION Mastering AI and ML algorithms is essential for data scientists. This book covers a wide range of techniques, from supervised and unsupervised learning to deep learning and reinforcement learning. This book is a compass to the most important algorithms that every data scientist should have at their disposal when building a new AI/ML application.It offers a thorough introduction to AI and ML, covering key concepts, data structures, and various algorithms like linear regression, decision trees, and neural networks. It explores learning techniques like supervised, unsupervised, and semi-supervised learning and applies them to real-world scenarios such as natural language processing and computer vision. With clear explanations, code examples, and detailed descriptions of 40 algorithms, including their mathematical foundations and practical applications, this resource is ideal for both beginners and experienced professionals looking to deepen their understanding of AI and ML.The final part of the book gives an outlook for more state-of-the-art algorithms that will have the potential to change the world of AI and ML fundamentals.KEY FEATURES ● Covers a wide range of AI and ML algorithms, from foundational concepts to advanced techniques.● Includes real-world examples and code snippets to illustrate the application of algorithms.● Explains complex topics in a clear and accessible manner, making it suitable for learners of all levels.WHAT YOU WILL LEARN● Differences between supervised, unsupervised, and reinforcement learning.● Gain expertise in data cleaning, feature engineering, and handling different data formats.● Learn to implement and apply algorithms such as linear regression, decision trees, neural networks, and support vector machines.● Learn to approach AI and ML challenges with a structured and analytical mindset.WHO THIS BOOK IS FORThis book is ideal for data scientists, ML engineers, and anyone interested in entering the world of AI.
Nonfunctional Requirements in Mobile Application Development
Nonfunctional Requirements in Mobile Application Development is an empirical study of how non-functional requirements get the attention of software engineers during the development of mobile apps, especially m-commerce apps, in relation to functional apps.
Foundations and Theoretical Perspectives of Distributed Team Cognition
This book looks at fundamentals, theoretical concepts, and how theory informs perspectives of thinking for distributed team cognition. The chapters yield a broad understanding of the nature of diverse thinking and insights into technologies, foundations, and theoretical perspectives of distributed team cognition.