Algorithms and Architectures for Parallel Processing
The 7-volume set LNCS 14487-14493 constitutes the proceedings of the 23rd International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2023, which took place in Tianjin, China, during October, 2023.The 145 full papers included in this book were carefully reviewed and selected from 439 submissions. ICA3PP covers the many dimensions of parallel algorithms and architectures; encompassing fundamental theoretical approaches; practical experimental projects; and commercial components and systems.
Algorithms and Architectures for Parallel Processing
The 7-volume set LNCS 14487-14493 constitutes the proceedings of the 23rd International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2023, which took place in Tianjin, China, during October, 2023.The 145 full papers included in this book were carefully reviewed and selected from 439 submissions. ICA3PP covers the many dimensions of parallel algorithms and architectures; encompassing fundamental theoretical approaches; practical experimental projects; and commercial components and systems.
Algorithms and Architectures for Parallel Processing
The 7-volume set LNCS 14487-14493 constitutes the proceedings of the 23rd International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2023, which took place in Tianjin, China, during October, 2023.The 145 full papers included in this book were carefully reviewed and selected from 439 submissions. ICA3PP covers many dimensions of parallel algorithms and architectures; encompassing fundamental theoretical approaches; practical experimental projects; and commercial components and systems.
Algorithms and Architectures for Parallel Processing
The 7-volume set LNCS 14487-14493 constitutes the proceedings of the 23rd International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2023, which took place in Tianjin, China, during October, 2023.The 145 full papers included in this book were carefully reviewed and selected from 439 submissions. ICA3PP covers the many dimensions of parallel algorithms and architectures; encompassing fundamental theoretical approaches; practical experimental projects; and commercial components and systems.
Blockchain Essentials
This book will teach you the core concepts of blockchain technology in a concise manner through straightforward, concrete examples using a range of programming languages, including Python and Solidity. The 50 programs presented in this book are all you need to gain a firm understanding of blockchain and how to implement it. The book begins with an introduction to the fundamentals of blockchain technology, followed by a review of its types, framework, applications and challenges. Moving ahead, you will learn basic blockchain programming with hash functions, authentication code, and Merkle trees. You will then dive into the basics of bitcoin, including wallets, digital keys, transactions, digital signatures, and more. This is followed by a crash course on Ethereum programming, its network, and ecosystem. As you progress through the book, you will also learn about Hyperledger and put your newly-gained knowledge to work through case studies and example applications. After reading this book, you will understand blockchain's underlying concepts and its common implementations. What You Will Learn Master theoretical and practical implementations of various blockchain components using PythonImplement hashing, Merkel trees, and smart contracts using the Solidity programming language for various applicationsGrasp the internal structure of EVM and its implementation in smart contractsUnderstand why blockchain plays an essential role in cryptocurrencies and identify possible applications beyond cryptocurrenciesInvestigate and apply alternative blockchain solutions using Hyperledger, including its integration and deploymentExplore research opportunities through case studies and gain an overview of implementation using various languages Who Is This Book For: Anyone who is new to blockchain and wants to gain anan understanding of how it works and can be implemented.
Simple Type Theory
This unique textbook, in contrast to a standard logic text, provides the reader with a logic that actually can be used in practice to express and reason about mathematical ideas.The book is an introduction to simple type theory, a classical higher-order version of predicate logic that extends first-order logic. It presents a practice-oriented logic called Alonzo that is based on Alonzo Church's formulation of simple type theory known as Church's type theory. Unlike traditional predicate logics, Alonzo admits undefined expressions. The book illustrates, using Alonzo, how simple type theory is suited ideally for reasoning about mathematical structures and constructing libraries of mathematical knowledge.Topics and features: Offers the first book-length introduction to simple type theory as a predicate logicProvides the reader with a logic that is close to mathematical practicePresents the tools needed to build libraries of mathematical knowledgeEmploys two semantics, one for mathematics and one for logicEmphasizes the model-theoretic view of predicate logicIncludes several important topics, such as definite description and theory morphisms, not usually found in standard logic textbooksAimed at students of computing and mathematics at the graduate or upper-undergraduate level, this book is also well-suited for mathematicians, computing professionals, engineers, and scientists who need a practical logic for expressing and reasoning about mathematical ideas.William M. Farmer is a Professor in the Department of Computing and Software at McMaster University in Hamilton, Ontario, Canada.
Model and Data Engineering
This volume LNCS 14396 constitutes the refereed proceedings of the 12th International Conference, MEDI 2023, in November 2023, held in Sousse, Tunisia. The 27 full papers were carefully peer reviewed and selected from 99 submissions. The Annual International Conference on Model and Data Engineering focuses on bring together researchers and practitioners and enabling them to showcase the latest advances in modelling and data management.
Sanskrit Devanagari Font
Making a new Font is a time-consuming yet rewarding task. Making a Devanagari Font with Indic Shaping features in Open Type Design is especially challenging. This book hopes to address this issue by going into the details of the process involved, by discussing the relevant Unicode Blocks and Shaping features threadbare.Indic Shaping FeaturesThere are two principal features in Open Type design, namely Glyph Positioning (GPOS) and Glyph Substitution (GSUB). Each feature has the shaping code layouts as below, which we can use during Font Design.AboveBaseMarkPositioning (abvm)MarkToBase-attaching anchor of mark glyph with base glyphAboveBaseSubstitutions (abvs)Ligature-replacing overlapping glyphs with new drawn smaller glyphs that do not overlap.Akhands (akhn)Ligature-replacing क +् + ष combination glyphs with new drawn ligature क्ष glyphBelowBaseForms (blwf)Ligature-replacing क्र ् → क्र्BelowBaseMarkPositioning (blwm)MarkToBase-attaching anchor of mark glyph with base glyphMarkToMark-attaching anchor of mark glyph with mark glyphBelowBaseSubstitutions (blws)Ligature-replacing overlapping glyphs with new drawn smaller glyphs that do not overlap.ConjunctForms (cjct)Ligature-replacing consonant glyph combinations as seen in Sanskrit Literature.HalantForms (haln)Ligature-replacing glyphs where halant intersects, with new drawn glyph where halant is well positioned.HalfForms (half)Ligature-replacing consonant+halant glyphs with new drawn half-consonant glyph.NuktaForms (nukt)Ligature-replacing the combination of consonant+nukta glyphs with a new ligature.PostBaseSubstitutions (psts)Ligature-replacing the combination of consonant+halant glyphs with a new ligature.PreBaseSubstitutions (pres)Ligature-replacing the combination of consonant+halant+consonant glyphs with a new ligature.RakarForms (rkrf)Ligature-replacing consonant+halant+repha combination glyphs with new drawn Ligature conjunct having back slash for rephaRephForms (rphf)Ligature-for replacing repha+halant glyphs with top curve glyphVattuVariants (vatu)Ligature-replacing consonant+halant+repha combination glyphs with new drawn Ligature conjunct having caret below for repha----------------Lists all glyphs and characters needed for a Devanagari font to be used for Sanskrit Typesetting.Contains Full Color Plates for legibility and clarity.A proposed character class scheme for correct implementation of Sanskrit Typesetting is outlined here, so thatUnicode Character Block team membersScript Language codersFont designersOpen Type Design Shaping Engine developerscan help users in writing "correct and beautiful Sanskrit" texts and books and documents as per the extant Ancient Sanskrit Literature in the modern world.
Introduction to Software Development
This book focuses on a specific set of topics representing the most important mobile app development concepts that can be taught comfortably in one semester. Topics covered include activities, fragments, navigation, user controls, lists and data binding, on-device databases, using device location, calling web services, using mobile back ends and deployment. Unique features of this text include using mobile back ends, publishing apps, and example projects created by past student teams. The tutorial style ensures that the reader doesn't miss vital concepts as he or she moves from the basics to more advanced topics. The reader learns by doing.
Sanskrit Devanagari Font
Making a new Font is a time-consuming yet rewarding task. Making a Devanagari Font with Indic Shaping features in Open Type Design is especially challenging. This book hopes to address this issue by going into the details of the process involved, by discussing the relevant Unicode Blocks and Shaping features threadbare. Indic Shaping FeaturesThere are two principal features in Open Type design, namely Glyph Positioning (GPOS) and Glyph Substitution (GSUB). Each feature has the shaping code layouts as below, which we can use during Font Design. AboveBaseMarkPositioning (abvm)MarkToBase-attaching anchor of mark glyph with base glyphAboveBaseSubstitutions (abvs)Ligature-replacing overlapping glyphs with new drawn smaller glyphs that do not overlap.Akhands (akhn)Ligature-replacing क +् + ष combination glyphs with new drawn ligature क्ष glyphBelowBaseForms (blwf)Ligature-replacing क्र ् → क्र्BelowBaseMarkPositioning (blwm)MarkToBase-attaching anchor of mark glyph with base glyphMarkToMark-attaching anchor of mark glyph with mark glyphBelowBaseSubstitutions (blws)Ligature-replacing overlapping glyphs with new drawn smaller glyphs that do not overlap.ConjunctForms (cjct)Ligature-replacing consonant glyph combinations as seen in Sanskrit Literature.HalantForms (haln)Ligature-replacing glyphs where halant intersects, with new drawn glyph where halant is well positioned.HalfForms (half)Ligature-replacing consonant+halant glyphs with new drawn half-consonant glyph.NuktaForms (nukt)Ligature-replacing the combination of consonant+nukta glyphs with a new ligature.PostBaseSubstitutions (psts)Ligature-replacing the combination of consonant+halant glyphs with a new ligature.PreBaseSubstitutions (pres)Ligature-replacing the combination of consonant+halant+consonant glyphs with a new ligature.RakarForms (rkrf)Ligature-replacing consonant+halant+repha combination glyphs with new drawn Ligature conjunct having back slash for rephaRephForms (rphf)Ligature-for replacing repha+halant glyphs with top curve glyphVattuVariants (vatu)Ligature-replacing consonant+halant+repha combination glyphs with new drawn Ligature conjunct having caret below for repha----------------Lists all glyphs and characters needed for a Devanagari font to be used for Sanskrit Typesetting.Contains Full Color Plates for legibility and clarity.A proposed character class scheme for correct implementation of Sanskrit Typesetting is outlined here, so thatUnicode Character Block team membersScript Language codersFont designersOpen Type Design Shaping Engine developerscan help users in writing "correct and beautiful Sanskrit" texts and books and documents as per the extant Ancient Sanskrit Literature in the modern world.
Soar with Haskell
Build powerful software solutions and develop proficiency in Haskell, from understanding the foundational principles through to mastering advanced functional programming conceptsKey Features: - Learn from an expert lecturer and researcher who knows all the ins and outs of Haskell- Develop a clear understanding of Haskell, from the basics through to advanced concepts- Get to grips with all the key functional programming techniques- Purchase of the print or Kindle book includes a free PDF eBookBook Description: With software systems reaching new levels of complexity and programmers aiming for the highest productivity levels, software developers and language designers are turning toward functional programming because of its powerful and mature abstraction mechanisms. This book will help you tap into this approach with Haskell, the programming language that has been leading the way in pure functional programming for over three decades.The book begins by helping you get to grips with basic functions and algebraic datatypes, and gradually adds abstraction mechanisms and other powerful language features. Next, you'll explore recursion, formulate higher-order functions as reusable templates, and get the job done with laziness. As you advance, you'll learn how Haskell reconciliates its purity with the practical need for side effects and comes out stronger with a rich hierarchy of abstractions, such as functors, applicative functors, and monads. Finally, you'll understand how all these elements are combined in the design and implementation of custom domain-specific languages for tackling practical problems such as parsing, as well as the revolutionary functional technique of property-based testing.By the end of this book, you'll have mastered the key concepts of functional programming and be able to develop idiomatic Haskell solutions.What You Will Learn: - Write pure functions in all their forms - that is basic, recursive, and higher-order functions- Model your data using algebraic datatypes- Master Haskell's powerful type-class mechanism for ad hoc overloading- Find out how Haskell's laziness gets the job done- Reconcile Haskell's functional purity with side effects- Familiarize yourself with the functor, applicative functor, monad hierarchy- Discover how to solve problems with domain-specific languages- Find more bugs with Haskell's property-based testing approachWho this book is for: If you are a programmer looking to gain knowledge of Haskell who's never been properly introduced to functional programming, this book is for you. Basic experience with programming in a non-functional language is a prerequisite. This book also serves as an excellent guide for programmers with limited exposure to Haskell who want to deepen their understanding and foray further into the language.Table of Contents- Functions- Algebraic Datatypes and Pattern Matching- Recursion- Higher-Order Functions- First-Class Functions- Type Classes- Lazy Evaluation- Input/Output- Monoids and Foldables- Functor, Applicative Functor, and Traversable- Monads- Monad Transformers- Domain-Specific Languages- Parser Combinators- Lenses- Property-based Testing
Applied Computational Thinking with Python - Second Edition
Use the computational thinking philosophy to solve complex problems by designing appropriate algorithms to produce optimal results across various domainsKey Features: Develop logical reasoning and problem-solving skills that will help you tackle complex problemsExplore core computer science concepts and important computational thinking elements using practical examplesFind out how to identify the best-suited algorithmic solution for your problemBook Description: Computational thinking helps you to develop logical processing and algorithmic thinking while solving real-world problems across a wide range of domains. It's an essential skill that you should possess to keep ahead of the curve in this modern era of information technology. Developers can apply their knowledge of computational thinking to solve problems in multiple areas, including economics, mathematics, and artificial intelligence.This book begins by helping you get to grips with decomposition, pattern recognition, pattern generalization and abstraction, and algorithm design, along with teaching you how to apply these elements practically while designing solutions for challenging problems. You'll then learn about various techniques involved in problem analysis, logical reasoning, algorithm design, clusters and classification, data analysis, and modeling, and understand how computational thinking elements can be used together with these aspects to design solutions. Toward the end, you will discover how to identify pitfalls in the solution design process and how to choose the right functionalities to create the best possible algorithmic solutions.By the end of this algorithm book, you will have gained the confidence to successfully apply computational thinking techniques to software development.What You Will Learn: Find out how to use decomposition to solve problems through visual representationEmploy pattern generalization and abstraction to design solutionsBuild analytical skills to assess algorithmic solutionsUse computational thinking with Python for statistical analysisUnderstand the input and output needs for designing algorithmic solutionsUse computational thinking to solve data processing problemsIdentify errors in logical processing to refine your solution designApply computational thinking in domains, such as cryptography, and machine learningWho this book is for: This book is for students, developers, and professionals looking to develop problem-solving skills and tactics involved in writing or debugging software programs and applications. Familiarity with Python programming is required.
Rapid SaaS Application Development Using Salesforce
This book is a practical guide for building secure, scalable, and performant SaaS applications on top of the Salesforce platform. Learn how to dissect a business problem and extract non-communicated requirements. Gain practical knowledge on designing and documenting a Salesforce application using the right mix of low-code development tools such as flows, validation rules, and formula fields and full-code using APEX, Lightning Components, and off-platform modules. Start with the fundamental concepts of the Salesforce platform and its SaaS application development capabilities. Learn key building blocks like objects, fields, and security models, explore powerful tools like App Builder and Flow Builder, and master the principles of the Salesforce app development lifecycle.
Grokking Algorithms, Second Edition
A friendly, fully-illustrated introduction to the most important computer programming algorithms. Master the most widely used algorithms and be fully prepared when you're asked about them at your next job interview. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, you'll actually enjoy learning about algorithms with this fun and friendly guide! In Grokking Algorithms, Second Edition you will discover: Search, sort, and graph algorithms Data structures such as arrays, lists, hash tables, trees, and graphs NP-complete and greedy algorithms Performance trade-offs between algorithms Exercises and code samples in every chapter Over 400 illustrations with detailed walkthroughs The first edition of Grokking Algorithms proved to over 100,000 readers that learning algorithms doesn't have to be complicated or boring! This revised second edition contains brand new coverage of trees, including binary search trees, balanced trees, B-trees and more. You'll also discover fresh insights on data structure performance that takes account of modern CPUs. Plus, the book's fully annotated code samples have been updated to Python 3. Foreword by Daniel Zingaro. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology The algorithms you use most often have already been discovered, tested, and proven. Grokking Algorithms, Second Edition makes it a breeze to learn, understand, and use them. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, it's the perfect way to unlock the power of algorithms in your everyday work and prepare for your next coding interview--no math required! About the book Grokking Algorithms, Second Edition teaches you important algorithms to speed up your programs, simplify your code, and solve common programming problems. Start with tasks like sorting and searching, then build your skills to tackle advanced problems like data compression and artificial intelligence. You'll even learn to compare the performance tradeoffs between algorithms. Plus, this new edition includes fresh coverage of trees, NP-complete problems, and code updates to Python 3. What's inside Search, sort, and graph algorithms Data structures such as arrays, lists, hash tables, trees, and graphs NP-complete and greedy algorithms Exercises and code samples in every chapter About the reader No advanced math or programming skills required. About the author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Table of Contents 1 Introduction to algorithms 2 Selection sort 3 Recursion 4 Quicksort 5 Hash tables 6 Beadth-first search 7 Trees 8 Balanced trees 9 Dijkstra's algorithm 10 Greedy algorithms 11 Dynamic programming 12 k-nearest neighbors 13 where to go next
Visual Studio Extensibility Development
Master Visual Studio extensibility for an enhanced Visual Studio IDE experience. This book is a comprehensive guide that covers every facet of developing, debugging, and publishing extensions that amplify your productivity, tooling, and analysis within the Visual Studio IDE. This new edition is updated for Visual Studio 2022, which is the latest and greatest version of Visual Studio. Since the last edition, Artificial Intelligence (AI) has taken the world by the storm. This revised edition demonstrates how AI can take your extensions to unparalleled heights using ChatGPT. The book begins with an introduction to the essential concepts of Visual Studio, including data structures and design patterns before diving into the fundamentals of the Visual Studio extensibility model. Here you will learn the anatomy of a VSIX and how extensions are discovered and loaded in Visual Studio. Next, you will explore the extensibility model and see how various extensions, such asmenus, commands, and tool windows can be plugged into Visual Studio. Moving forward, you'll cover developing VS extensions and how they can be made configurable by customizing the UI and options page, and you'll learn to develop a VS extension that leverages ChatGPT. Next, you will see how to extend the most often used component of Visual Studio, the code editor, before creating your own sample code snippets and templates. This is followed by a demonstration of how to deploy extensions using continuous integration (CI). Finally, you will learn tips and tricks for Visual Studio and its extensibility, along with a few highly valuable extensions. After reading Visual Studio Extensibility Development, you will be able to develop, debug, customize, and deploy extensions in Visual Studio IDE. What You Will Learn Master the art of personalizing extensions through the creation of dedicated tools option pagesExtend commands, editor, and tool window of Visual StudioSeamlessly integrate artificial intelligence in Visual Studio extensionsCreate project templates, item templates, and code snippets to streamline your development processEnhance IntelliSense for your custom project needsPublish your extension in the Visual Studio marketplace Who This Book Is For Developers, Programmers, Engineers, Architects, Instructors, Innovators, Students and Technology enthusiasts leveraging Visual Studio IDE.
Getting Started with Containers in Azure
Master the skills needed to deploy container services on Microsoft Azure using Terraform. This book will take you through the entire process of designing, deploying, and managing container services such as Azure Kubernetes Service (AKS), Azure Container Instances (ACI), Azure Container Registry (ACR), and Azure Web App for Containers. In this fully updated second edition, Author Shimon Ifrah demonstrates how to use Terraform, PowerShell and Azure CLI to provision and manage container services in Azure. As you'll be using Terraform as the main tool for deployment, a basic knowledge of Terraform is a prerequisite. In addition, you will see how Azure DevOps services can be used to deploy infrastructure and container services with Terraform using Azure Pipelines without using the Azure Portal. The book concludes with a tutorial on how to use Azure Defender for Cloud to safeguard Terraform and infrastructure-as-code against malicious threats, so you can deliver secure applications. Upon completing this book, you will have a thorough understanding of how to use Terraform to deploy secure and efficient cloud applications on Azure. What You Will Learn Leverage Terraform for the deployment of containerized servicesUnderstand Azure DevOps Pipelines and Repos to deploy infrastructure and container services.Safeguard your infrastructure-as-code and detect vulnerabilities using Azure Defender for the cloud Who This Book Is For Azure administrators, developers, and architects who want to get started and learn more about containers and containerized applications on Microsoft Azure.
Building Green Software
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview of this topic--discussing everything from the likely evolution of national grids to the effect those changes will have on the day-to-day lives of developers. Ideal for everyone from new developers to CTOs, Building Green Software tackles the challenges involved and shows you how to build, host, and operate code in a way that's not only better for the planet but also cheaper and relatively low-risk for your business. Most hyperscale public cloud providers have already committed to net-zero IT operations by 2030. This book shows you how to get on board. You'll explore: How the energy transition is likely to change hosting on prem and in the cloud--and how your company can prepare The fundamental architectural principles of sustainable software development and how to apply them How to determine which parts of your system need to change The concept of extending hardware longevity and the part that software plays
Learning Vmware Workstation for Windows
Master VMware Workstation to create and run virtual machines, containers, and Kubernetes clusters simultaneously on physical devices without having to reformat or dual boot the underlying device. This book provides a practical, step-by-step guide to creating and managing virtual machines using VMware Workstation, a software solution that provides a type-2 hypervisor, or desktop hypervisor, that runs on x64 Windows and Linux-based operating systems. This book focuses on the Windows version.You'll start with an overview of hypervisors and desktop hypervisors. You'll then look at resources, such as CPU, memory, and networking, and how they are configured in a virtual environment. In the final chapters, you'll learn how to configure Workstation Pro to run and manage virtual machines before going on to build example virtual machines, including how to build a nested vSphere environment. Once built you'll see how to manage these virtual machines, before finally upgrading your VMware Workstation Pro environment. In the end, you'll learn how to build and manage different virtual machines running on different operating systems and build an ESXi lab environment with VMware Workstation. What You'll Learn Examine hypervisors and desktop hypervisorsUnderstand how to install and configure VMware WorkstationGain practical knowledge on building and managing virtual machines on different OSsSupport and troubleshoot VMware Workstation environments. Who This Book Is For Developers, IT professionals that remote, home, and BYOD
Clean Code with C# - Second Edition
Enhance your programming skills through code reviews, TDD and BDD implementation, and API design to overcome code inefficiency, redundancy, and other issues arising from bad codeKey Features: Write code that seamlessly integrates with other systems while maintaining well-defined software boundariesUnderstand how coding principles and standards elevate software qualityLearn how to avoid common errors while implementing concurrency or threadingPurchase of the print or Kindle book includes a free PDF eBookBook Description: Traditionally associated with Windows desktop applications and game development, C# has expanded into web, cloud, and mobile development. However, despite its extensive coding features, professionals often encounter issues with efficiency, scalability, and maintainability due to poor code. Clean Code in C# guides you in identifying and resolving these problems using coding best practices.This book starts by comparing good and bad code to emphasize the importance of coding standards, principles, and methodologies. It then covers code reviews, unit testing, and test-driven development, and addresses cross-cutting concerns. As you advance through the chapters, you'll discover programming best practices for objects, data structures, exception handling, and other aspects of writing C# computer programs. You'll also explore API design and code quality enhancement tools, while studying examples of poor coding practices to understand what to avoid.By the end of this clean code book, you'll have the developed the skills needed to apply industry-approved coding practices to write clean, readable, extendable, and maintainable C# code.What You Will Learn: Master the art of writing evolvable and adaptable codeImplement the fail-pass-refactor methodology using a sample C# console applicationDevelop custom C# exceptions that provide meaningful informationIdentify low-quality C# code in need of refactoringImprove code performance using profiling and refactoring toolsCreate efficient and bug-free code using functional programming techniquesWrite cross-platform code using MAUIDevelop cloud-deployable microservices for versatile applicationsWho this book is for: This coding book is for proficient C# developers, team leads, senior software engineers, and software architects who want to improve the efficiency of their legacy systems. A strong understanding of C# programming is assumed.
Dependable Software Engineering. Theories, Tools, and Applications
This book constitutes the proceedings of the 9th International Symposium on Dependable Software Engineering, SETTA 2023, held in Nanjing, China, during November 27-29, 2023. The 24 full papers presented in this volume were carefully reviewed and selected from 78 submissions. They deal with latest research results and ideas on bridging the gap between formal methods and software engineering.
Refactoring in Java
Master code refactoring techniques, improve code quality, design, and maintainability, and boost your development productivity with this comprehensive handbookKey Features: Get a thorough understanding of code refinement for enhanced codebase efficiencyWork with real-world examples and case studies for hands-on learning and applicationFocus on essential tools, emphasizing development productivity and robust coding habitsPurchase of the print or Kindle book includes a free PDF eBookBook Description: Refactoring in Java serves as an indispensable guide to enhancing your codebase's quality and maintainability.The book begins by helping you get to grips with refactoring fundamentals, including cultivating good coding habits and identifying red flags. You'll explore testing methodologies, essential refactoring techniques, and metaprogramming, as well as designing a good architecture. The chapters clearly explain how to refactor and improve your code using real-world examples and proven techniques. Part two equips you with the ability to recognize code smells, prioritize tasks, and employ automated refactoring tools, testing frameworks, and code analysis tools. You'll discover best practices to ensure efficient code improvement so that you can navigate complexities with ease. In part three, the book focuses on continuous learning, daily practices enhancing coding proficiency, and a holistic view of the architecture. You'll get practical tips to mitigate risks during refactoring, along with guidance on measuring impact to ensure that you become an efficient software craftsperson.By the end of this book, you'll be able to avoid unproductive programming or architecturing, detect red flags, and propose changes to improve the maintainability of your codebase.What You Will Learn: Recognize and address common issues in your codeFind out how to determine which improvements are most importantImplement techniques such as using polymorphism instead of conditionsEfficiently leverage tools for streamlining refactoring processesEnhance code reliability through effective testing practicesDevelop the skills needed for clean and readable code presentationGet to grips with the tools you need for thorough code examinationApply best practices for a more efficient coding workflowWho this book is for: This book is for Java developers, software architects, and technical leads looking for a comprehensive guide to advancing their skills in software design and refactoring. The book is ideal for experienced Java enthusiasts, quality assurance engineers, and codebase maintainers as it provides practical insights, real-world examples, and essential patterns. Development managers who want to foster clean coding practices by using best practices for efficient workflows will also find this book useful.
Software Testing Strategies
Unlock the true potential of software testing to achieve seamless software performance with this comprehensive guideKey Features: - Gain a solid understanding of software testing and master its multifaceted strategies- Empower yourself to effectively overcome software testing challenges- Develop actionable real-world testing skills for succeeding in any role- Purchase of the print or Kindle book includes a free PDF eBookBook Description: In today's world, software is everywhere-from entertainment apps to mission-critical systems that support our health, finance, and infrastructure. Testing plays a vital role in ensuring these systems work reliably. Whether you're a software developer, hobbyist, or IT professional, this book will guide you in mastering the art of testing. It's about asking the right "What if?" questions, uncovering vulnerabilities, and ensuring software performs as expected throughout its lifecycle.Testing isn't just about automation; it's a human-driven, creative process that requires skill, and a deep understanding of software behavior. With practical examples and expert insights, this book helps you craft your own test strategies and explore novel approaches to problem-solving in the testing world. With its help, you'll hone your testing skills with techniques and methodologies rather than tool-based solutions.Authored by experts Matt Heusser and Michael Larson, the book provides valuable strategies for making testing both effective and engaging. Matt is known for his leadership in project rescue initiatives, while Michael's work in accessibility testing has helped shape industry standards.By the end of this book, you'll be equipped to enhance your testing practices and ensure high-quality software in an ever-evolving tech landscape.What You Will Learn: - Explore accessibility, functional testing, performance testing, and more as an integral part of testing- Find out how to implement a wide range of testing approaches- Develop the skills needed to create effective testing strategies tailored to your project's needs- Discover how to prioritize and execute the most impactful test ideas- Gain insight into when and how to apply different testing elements- Defend your chosen testing strategy with a comprehensive understanding of its componentsWho this book is for: This book is for a broad spectrum of professionals engaged in software development, including programmers, testers, and DevOps specialists. Tailored to those who aspire to elevate their testing practices beyond the basics, the book caters to anyone seeking practical insights and strategies to master the nuanced interplay between human intuition and automation. Whether you are a seasoned developer, meticulous tester, or DevOps professional, this comprehensive guide offers a transformative roadmap to become an adept strategist in the dynamic realm of software quality assurance.Table of Contents- Testing and Designing Tests- Fundamental Issues in Tooling and Automation- Programmer-Facing Testing- Customer-Facing Tests- Specialized Testing- Testing Related Skills- Test Data Management- Delivery Models and Testing- The Puzzle Pieces of Good Testing- Putting Your Test Strategy Together- Lean Software Testing- Case Studies and Experience Reports- Testing Activities or a Testing Role?- Philosophy and Ethics in Software Testing- Words and Language About Work- Testing Strategy Applied
Bridging the Gap Between AI and Reality
This book constitutes the proceedings of the First International Conference on Bridging the Gap between AI and Reality, AISoLA 2023, which took place in Crete, Greece, in October 2023. The papers included in this book focus on the following topics: The nature of AI-based systems; ethical, economic and legal implications of AI-systems in practice; ways to make controlled use of AI via the various kinds of formal methods-based validation techniques; dedicated applications scenarios which may allow certain levels of assistance; and education in times of deep learning.
Deploy Container Applications Using Kubernetes
Navigate through the Kubernetes landscape to create and deploy container-based applications. This book will show you how to choose between the various available container-based operating systems, and how to design a better continuous integration pipeline for your container images, where to store them, and how to scan and secure them. In the first half of the book, you'll learn the practical tips on how to setup the system for visibility and troubleshooting, how to reduce the attack vector and reduce risks. The second half of the book focuses on Kubernetes, the popular container orchestration system. You'll see how to setup your Kubernetes for practical applications such as show/chargeback using tagging, efficient use of namespaces and pods, various isolation layers. It also shows you how to integrate with popular implementations of K8S such as AWS EKS (Elastic Container Service), GCP Google Kubernetes Engine (GKE) in touch points such as authentication and authorization, optimization, logging and troubleshooting tools, etc. By practicing the scenarios given in this book, you will be able to make better design choices that are appropriate for the constraints you are working with. Deploy Container Applications Using Kubernetes is your go-to resource for an optimal deployment of workloads using containers and Kubernetes in both public and private cloud settings. What You'll LearnUnderstand the various design choices, their pros and consBuild a better CI/CD pipeline for your containers and KubernetesDeploy your first container application in a public cloud K8S engineImprove your existing K8S deployment for efficiency and eleganceWho This Book Is ForIT Platform Architects, System Engineers/, and System Administrators
Source Code Exploration with Memcached
Open-source development has been the single most significant contributor to the development community, and the contributions are used across the IT landscape including corporations, universities, schools, etc. Despite being highly popular, contributing to open-source and navigating open-source systems has always been challenging. Some reasons could be that most open-source developers hold other day jobs, which might also be their regular work. Memcached is one of the largest commercially and non-commercially used caching systems in the IT world, with a relatively smaller codebase that enables developers to understand the basic skeletal of source code structures while enabling developers to hone their skills towards the development of high-quality production-grade, enterprise-ready open-source software. Most server-based technologies.
Hardware and Software Projects Troubleshooting
Learn how to create good requirements when designing hardware and software systems. While this book emphasizes writing traditional "shall" statements, it also provides guidance on use case design and creating user stories in support of agile methodologies. The book surveys modelling techniques and various tools that support requirements collection and analysis. You'll learn to manage requirements, including discussions of document types and digital approaches using spreadsheets, generic databases, and dedicated requirements tools. Good, clear examples are presented, many related to real-world work the author has performed during his career. More importantly, you will learn how these techniques can prevent the problems that occur during requirements development. Most of all, you will learn how good requirements governance will greatly increase the success of development projects by getting all people involved to eliminate the adverse impacts to requirements throughout the developmentlifecycle. Hardware and Software Projects Troubleshooting covers techniques for defining user needs, so you can determine which combination of approaches to use for your projects. You'll also learn how to analyze the different development methodologies so that you can determine the advantages and disadvantages of different requirements approaches and implement them correctly as your needs evolve. Unlike most requirements books, this one teaches writing both hardware and software requirements because many projects include both areas. To exemplify this approach, two example projects are developed throughout the book, one focusing on hardware, and the other on software. What You Will Learn Focus on how to eliminate or mitigate requirements problemsUnderstand the 14 techniques for capturing all requirementsAddress software and hardware needs; because most projects involve bothEnsure all statements meetthe 16 attributes of a good requirementDifferentiate the 19 different functional types of requirements, and the 31 non-functional typesWrite requirements properly based on extensive examples of good 'shall' statements, user stories, and use casesEmploy modelling techniques to mitigate the imprecision of wordsInstall requirements governance to significantly improve project success Who This Book Is For Requirements engineers who want to improve and master their craft, as well as students and those employed in government or other organizations at all levels.
Deep Dive Into Power Automate
Understand the basics of flow and learn how to implement guidelines in real-life scenarios, including Robotic Process Automation (RPA) capabilities. This book covers the evolution of flow and how it is transformed to a full-fledged RPA (such as Power Automate).The book starts with an introduction to flow and its transformation to Process Automation. You will learn how to create a Power Automate environment and demonstrate different types of flows within it. Author Goloknath Mishra takes you through various types of cloud flows and their best practices. Desktop Flows (RPA) or Power Automate Desktop (PAD) is discussed and the author teaches you its architecture, installation steps, and how to manage, schedule, and share a desktop. You will learn about Business Process Flow, Process Advisors, and AI Builder. You also will go through licensing considerations in Power Automate and AI Builder, and demonstrate all of your learnings through a mini project.After reading thebook, you will have gained expertise in Power Automate and be able to implement its guidelines and solve problems at your organization.What Will You LearnKnow the difference between Intelligent Process Automation (IPA) and Robotic Process Automation (RPA)Understand the different types of flows in Power AutomateCreate various types of cloud flows, Desktop flows, Business Process flows, and AI Builder modelsStudy common use cases and be aware of Power Automate best practicesWho This Book Is ForBusiness executives, citizen developers, IT professionals, and computer scientists who wish to efficiently automate monotonous work
Making Use
John Carroll shows how a pervasive but underused element of design practice, the scenario, can transform information systems design.Difficult to learn and awkward to use, today's information systems often change our activities in ways that we do not need or want. The problem lies in the software development process. In this book John Carroll shows how a pervasive but underused element of design practice, the scenario, can transform information systems design. Traditional textbook approaches manage the complexity of the design process via abstraction, treating design problems as if they were composites of puzzles. Scenario-based design uses concretization. A scenario is a concrete story about use. For example: "A person turned on a computer; the screen displayed a button labeled Start; the person used the mouse to select the button." Scenarios are a vocabulary for coordinating the central tasks of system development--understanding people's needs, envisioning new activities and technologies, designing effective systems and software, and drawing general lessons from systems as they are developed and used. Instead of designing software by listing requirements, functions, and code modules, the designer focuses first on the activities that need to be supported and then allows descriptions of those activities to drive everything else. In addition to a comprehensive discussion of the principles of scenario-based design, the book includes in-depth examples of its application.
Software Architecture and Decision-Making
Leverage leadership knowledge to make better software architecture decisions. Think deeply but implement slowly. The overarching goal of software systems (hence, for software architecture) is to build systems that meet quality standards and that provide the highest return on investment (ROI) in the long run or within a defined period of time. A great product requires a combination of technology, leadership, and product management (including UX). Leadership is primarily about managing uncertainty and making the right judgment. To build great products, technical leaders need to combine technology, leadership, and product management knowledge, and make the right decisions. Many technical mistakes come from the gap between knowledge about these three items and judgment. In Software Architecture and Decision-Making, Srinath Perera explains principles and concepts that software architects must understand deeply and how to employ those principles to manage uncertainty. The questions and principles discussed in this book help manage uncertainty while building software architecture and provide a framework for making decisions. This book is for all technical leaders in the software industry who make holistic judgments about the systems they build and for future leaders learning the craft. Understand the importance of strong decision making with examples from great technical leaders such as the Wright brothers and Kelly Johnson Leverage five key questions and seven important principles to understand uncertainties during the design process and make strategic architectural decisions Approach the design systematically, first at the macro level and then the individual service level This definitive guide explains principles and concepts--technical and non-technical alike--that software architects, senior software engineers, and technical leads must understand to manage the inevitable uncertainty involved in building software systems and to drive success of the products for which they are responsible. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
JavaScript Bootcamp
���� JavaScript Bootcamp: From Zero to Hero - Hands-On Learning for Web Developers ����Are you ready to become a web development hero? Look no further than our comprehensive book bundle, "JavaScript Bootcamp: From Zero to Hero." Whether you're a newcomer to the world of web development or an experienced coder looking to master JavaScript, this bundle is your ultimate guide.���� Book 1 - JavaScript Fundamentals: A Beginner's Guide to Web Development ����Start your journey with a solid foundation! In this book, we'll introduce you to the core concepts of JavaScript, from variables and data types to control flow and functions. By the end, you'll have a strong grasp of JavaScript fundamentals, setting you up for success in web development.���� Book 2 - Intermediate JavaScript Mastery: Building Web Applications with ES6 and Beyond ����Ready to take your skills to the next level? Dive into the world of modern JavaScript with this book. Explore advanced topics like ES6 features, asynchronous programming, DOM manipulation, and event handling. You'll gain the skills needed to create dynamic web applications that stand out.���� Book 3 - Advanced JavaScript Techniques: Mastering Complex Projects and Frameworks ����Master the art of web development with advanced techniques! Tackle complex projects and delve into popular JavaScript frameworks like React, Angular, and Vue.js. You'll be equipped to build scalable and maintainable applications, making you a sought-after developer in the field.���� Book 4 - JavaScript Ninja: Harnessing the Full Power of the Language ����Elevate your skills to ninja level! Explore advanced concepts such as functional programming, metaprogramming, concurrency, and memory management. With this knowledge, you'll be capable of solving intricate development challenges and creating custom JavaScript libraries.���� Why Choose "JavaScript Bootcamp: From Zero to Hero"? ����✅ Hands-On Learning: Our books are packed with practical examples, exercises, and real-world projects to reinforce your learning.✅ Progressive Learning: Whether you're a beginner or an expert, our bundle offers a guided path to success at every level.✅ Master Modern JavaScript: Stay up-to-date with the latest JavaScript features and best practices.✅ Become a Web Development Hero: Unlock the limitless possibilities of JavaScript and excel in web development.Don't miss out on this opportunity to become a JavaScript hero! With dedication and practice, you'll emerge from this journey ready to create remarkable web experiences and contribute to the ever-evolving digital landscape.Get the "JavaScript Bootcamp: From Zero to Hero" bundle today and embark on your path to web development mastery! ��������
Learning C# Through Small Projects
Learning C# Through Small Projects offers you a hands-on approach to understanding advanced C# concepts through engaging projects and minigames. The rationale is simple: learning by doing. You dive straight into the action, building eleven distinct projects that range from an interactive storytelling program to a responsive Discord chatbot. Each project is meticulously designed to introduce and reinforce specific C# concepts, ensuring that you not only understand the theory but can also apply it in real-world scenarios. The book is structured to provide a gradual learning curve. The initial chapters lay the foundation, introducing you to the basics of C# programming. As you progress, the projects become more intricate, delving into advanced topics such as asynchronous operations, data integrity, and API integration. By the end of the book, you'll have a comprehensive understanding of C# and a portfolio of projects to showcase your skills. Authored by Denis Panjuta and Jafar Jabbarzadeh, renowned instructors with a combined student base of over 350,000, this book is more than just a guide--it's a mentor. Their vast teaching experience shines through in every chapter, ensuring that complex topics are broken down into easily digestible segments. Moreover, their commitment to practical learning ensures that every concept is paired with a hands-on project, thus reinforcing your understanding and building your confidence.
Dynamic Logic. New Trends and Applications
This book constitutes the revised selected papers of the 5th International Workshop on Dynamic Logic. New Trends and Applications, DaL穩 2023, held in Tbilisi, Georgia, during September 15-16, 2023. The 8 full papers in this book were carefully reviewed and selected from 10 submissions. They deal with new trends and applications in the area of Dynamic Logic.
Algorithmics of Wireless Networks
This book constitutes the refereed proceedings of the 19th International Symposium on Algorithmics of Wireless Networks, ALGOWIN 2023, held in Amsterdam, The Netherlands, during September 7-8, 2023.The 10 full papers included in this book were carefully reviewed and selected from 22 submissions. They were organized in topical sections as follows: design and analysis of algorithms, models of computation and experimental analysis.
Search-Based Software Engineering
This book constitutes the refereed proceedings of the 15th International Symposium on Search-Based Software Engineering, SSBSE 2023, which took place in San Francisco, CA, USA, during December 8, 2023.The 7 full and 7 short papers included in this book were carefully reviewed and selected from 23 submissions. They focus on formulating various optimization problems in software engineering as search problems, addressing them with search techniques, intending to automate complex software engineering tasks.
Product-Focused Software Process Improvement
This book constitutes the refereed proceedings of the 24th International Conference on Product-Focused Software Process Improvement, PROFES 2023, which took place in Dornbirn, Austria, in December 2023. The 21 full technical papers, 8 short papers, and 1 poster paper presented in this volume were carefully reviewed and selected from 82 submissions. The book also contains one tutorial paper, 12 and workshop papers and 3 doctoral symposium papers.The contributions were organized in topical sections as follows: Part I: Software development and project management; machine learning and data science; software analysis and tools; software testing and quality assurance; security, vulnerabilities, and human factors; Part II: Posters; Tutorials; 2nd Workshop on Computational Intelligence and Software Engineering (CISE 2023); 2nd Workshop on Engineering Processes and Practices for Quantum Software (PPQS' 23); doctoral symposium.
Ultimate Full-Stack Web Development with MERN
Master Web Development with MERN Stack for Designing, Testing, and Deploying Professional-Grade Applications using MongoDB, Express, React, and Node.jsBook DescriptionEmbark on a transformative and disruptive journey into MERN stack development with Ultimate Full-Stack Web Development with MERN. Beginning with an in-depth introduction to MERN and REST APIs, the book advances through the complete project overview and the setup of a Node.js application. Next, it delves into the essentials of Node.js, MongoDB connection, models, and crucial aspects of user authentication, including JWT implementation and password hashing. Security takes center stage in next chapters as you explore middleware creation and route protection.In the Frontend section you'll construct a dynamic ReactJS application with a focus on creating components, pages, and establishing Redux for state management. This book will guide you through setting up Redux, implementing registration and login functionalities, and refining your application with a user-friendly dashboard and task form. The book concludes with chapters on frontend and backend testing, ensuring the robustness of your application and also covers deployment strategies for both frontend and backend components, providing a comprehensive guide to showcase your application to the world.Table of Contents1. Getting Started with MERN and Setup2. Starting a NodeJS App3. MongoDB Connection and Models4. JWT Authentication and Hashing Password5. Auth Middleware and Protecting Routes6. Creating Frontend and React Router7. Redux Setup with Slice8. Login and Logout Functionalities9. Dashboard Creation and Task Form10. Using Thunk and Completing App11. Frontend Testing12. Backend Testing13. Deployment Index
Product-Focused Software Process Improvement
This book constitutes the refereed proceedings of the 24th International Conference on Product-Focused Software Process Improvement, PROFES 2023, which took place in Dornbirn, Austria, in December 2023. The 21 full technical papers, 6 industrial papers, 8 short papers and 1 poster paper were carefully reviewed and selected from 82 submissions. The book also contains one tutorial paper, 11 workshop papers and 3 doctoral symposium papers. The contributions were organized in topical sections as follows: Part I: Software development and project management; machine learning and data science; software analysis and tools; software testing and quality assurance; security, vulnerabilities, and human factors; Part II: Posters; Tutorials; 2nd Workshop on Computational Intelligence and Software Engineering (CISE 2023); 2nd Workshop on Engineering Processes and Practicesfor Quantum Software (PPQS' 23); doctoral symposium.
Formal Methods: Foundations and Applications
This book constitutes the refereed proceedings of the 26th Brazilian Symposium on Formal Methods, SBMF 2023, held in Manaus, Brazil, during December 4-8, 2023.The 7 full papers and 2 short papers presented in this book were carefully reviewed and selected from 16 submissions.The papers are divided into the following topical sections: specification and modeling languages; testing; and verification and validation.
Machine Learning Security with Azure
Implement industry best practices to identify vulnerabilities and protect your data, models, environment, and applications while learning how to recover from a security breachKey Features: Learn about machine learning attacks and assess your workloads for vulnerabilitiesGain insights into securing data, infrastructure, and workloads effectivelyDiscover how to set and maintain a better security posture with the Azure Machine Learning platformPurchase of the print or Kindle book includes a free PDF eBookBook Description: With AI and machine learning (ML) models gaining popularity and integrating into more and more applications, it is more important than ever to ensure that models perform accurately and are not vulnerable to cyberattacks. However, attacks can target your data or environment as well. This book will help you identify security risks and apply the best practices to protect your assets on multiple levels, from data and models to applications and infrastructure.This book begins by introducing what some common ML attacks are, how to identify your risks, and the industry standards and responsible AI principles you need to follow to gain an understanding of what you need to protect. Next, you will learn about the best practices to secure your assets. Starting with data protection and governance and then moving on to protect your infrastructure, you will gain insights into managing access and securing your Azure ML workspace. This book introduces DevOps practices to automate your tasks securely and explains how to recover from ML attacks. Finally, you will learn how to set a security benchmark for your scenario and best practices to maintain and monitor your security posture.By the end of this book, you'll be able to implement best practices to assess and secure your ML assets throughout the Azure Machine Learning life cycle.What You Will Learn: Explore the Azure Machine Learning project life cycle and servicesAssess the vulnerability of your ML assets using the Zero Trust modelExplore essential controls to ensure data governance and compliance in AzureUnderstand different methods to secure your data, models, and infrastructure against attacksFind out how to detect and remediate past or ongoing attacksExplore methods to recover from a security breachMonitor and maintain your security posture with the right tools and best practicesWho this book is for: Machine learning book; Ai and machine learning for coders; Cybersecurity; Hand-on machine learning; Cybersecurity booksThis book is for anyone looking to learn how to assess, secure, and monitor every aspect of AI or machine learning projects running on the Microsoft Azure platform using the latest security and compliance, industry best practices, and standards. This is a must-have resource for machine learning developers and data scientists working on ML projects. IT administrators, DevOps, and security engineers required to secure and monitor Azure workloads will also benefit from this book, as the chapters cover everything from implementation to deployment, AI attack prevention, and recovery.
Exploring Macos
If you are a new to the Apple macOS ecosystem and want to get started using it for your enterprise, this is the book for you. You will learn how to navigate the Mac operating system, including an introduction to macOS and its fundamentals, management settings, reinstallation process, and usability. The book also provides tutorials which can be used for troubleshooting networks, configuration, and to ease Windows users' transition to the Mac world. Additionally, it provides detailed information about managing Mac devices using Jamf Pro within organizations, as well as basic and advanced automation scripting. By the time you finish Exploring macOS, you will have a detailed understanding of macOS and its functionality, how to manage Mac devices for enterprise use, and the role Jamf Pro plays in managing and securing Mac devices effectively whilse providing a seamless user experience. What You Will Learn Perform administrative tasks on macOS devicesImplement macOS in an enterprise settingUnderstand the differences between various operating systems, particularly macOS and WindowsManage network configuration and its servicesManage Apple macOS devices using Jamf Pro, a stable, robust, and renowned enterprise mobility management toolGet started with Bash (shell) scripting to automate tasks Who Is This Book For: Helpdesk consultants, remote desktop support professionals, system engineers, macOS Apple desktop administrators, enterprise Apple macOS desktop architects, Jamf system engineers, and digital workplace engineers.
Business Process Automation with Salesforce Flows
Create seamless and structured workflows that can streamline complicated business processes with this comprehensive BPA bookKey FeaturesExplore business processes for automation to add value for your business usersAnalyze, evaluate, and devise effective ways to implement automation through Salesforce FlowsBecome an expert in flow orchestration and compose complex business processes using real-world examples, tips, and tricksPurchase of the print or Kindle book includes a free PDF eBookBook DescriptionThe low adoption of most IT projects often stems from a lack of business process automation. While business users get the functionality they need, the excessive manual steps involved in execution impede efficiency. Business Process Automation with Salesforce Flows will address this issue by helping you recognize the need for automation and guiding you through automating such processes.This book starts by quickly exploring various aspects of process automation using Salesforce Flows, covering flow nuts and bolts, flow structure, flow execution order, and different types of flows, as well as troubleshooting techniques to manage your processes using the Flow Builder tool. You'll then become acquainted with the Flow Orchestration tool, which enables you to compose and orchestrate complex business processes. Through real-world scenarios, you'll learn how to effectively automate business processes, follow the end-to-end business process flow, automate it using flow orchestration, and learn how to demystify and simplify business process automation.By the end of this book, you'll be proficient in seamlessly automating your business processes without any hassle.What you will learnGain insights into gathering business requirements and identifying automation needsIdentify opportunities for improving business process flowsTranslate critical steps in the business process flow and automate them using Flow BuilderIdentify different types of Salesforce Flows tailored to various scenariosOptimize and troubleshoot Salesforce Flows for increased efficiencyDiscover ways to implement complex business process automation through flow orchestrationWho this book is forThis book is for system administrators, technical team members, and business analysts with a solid understanding of the Salesforce CRM software who want to effectively automate business processes using Salesforce Flows. Administrative-level Salesforce experience, along with some technical experience working with automation tools like Workflow, Process Builder, and Flows, will facilitate a better comprehension of the concepts covered in this book.Table of ContentsProcess Flows - Understanding Business RequirementsIdentification of Functional Requirements for AutomationBusiness Process Features to AutomateFlow Building Blocks, Triggering, and Entry ConditionsSalesforce Order of ExecutionTypes of Salesforce FlowsFlows Using Apex SharingOptimizing and Troubleshooting FlowsFlow OrchestrationCompose and Orchestrate Business Processes
Software Architectures
This textbook concentrates on processes, activities and results related to software architectures. It describes the separation of architecture artefacts corresponding to their nature, their logical or their modeling level on one hand and at the same time emphasizes their integration based on their mutual relations. Design or development processes demand for integration, as different artifacts must be elaborated, which are mutually dependent and need to be in a consistent form. The book is structured in four parts. The introductory Part I deals with the relevance of architectures, the central role of the design subprocess both in development or maintenance, and the importance of the decisions and artefacts in the overall result. Another topic is the spectrum of views an architecture language has to offer, and that there are different architectures to be regarded, from abstract and static to detailed, technical, and specific. Part II then discusses "important topics" onthe architecture level. It deals with adaptability especially for embedded systems, with integrating styles/ pattern notations, with different reuse forms and how to find them, with the role of architectures for integrating different existing systems, and with reverse and reengineering of legacy systems. Next, Part III covers architecture modeling and its relation to surrounding activities, as well as architectures to surrounding other results. The single chapters are on transformation between requirements and architectures, architectures and programming, architectures and project management and organization, as well as architectures and their relations to quality assurance or documentation. Eventually, Part IV summarizes the main messages and presents open problems, both for every single chapter and across chapters. Every chapter focuses on a specific problem it addresses, a question it answers, the attention it demands, a message it conveys, and further open questions it raises. The chapters are mostly independent, which implies a certain redundancy, yet it allows lecturers (and their students) to either use the book as the basis of teaching software architecture or design, or to just pick those aspects that need special attention in a more advanced course.
Facilitating Professional Scrum Teams
Unlock the true power of collaboration within Scrum Teams and beyond with this practical guide packed with tips, tools, and real-life scenarios to elevate your facilitation skills. Scrum requires healthy collaboration, not just between the members of the Scrum Team, but also between the Scrum Team and its stakeholders to gather feedback and input. Collaboration is the heart of thriving Scrum Teams, but most available resources on collaboration focus solely on meeting formats and neglect to show how Scrum Teams truly harmonize their efforts and make informed decisions effectively. This book bridges the gap by not only providing effective facilitation techniques but also delving into the how and why of facilitation--all geared toward improving effectiveness, achieving impactful outcomes, and helping Scrum Teams work through challenges. Obtain tools and insights for Scrum Teams to better facilitate team interactions to leverage group diversity. Learn from real-world scenarios that illustrate common Scrum Team challenges and how they can be overcome with effective and timely facilitation. Discover comprehensive facilitation approaches accompanied with effective guidance on when to use them, how they can be combined, and how they can help to achieve desired outcomes.
Optimization Algorithms for Distributed Machine Learning
This book discusses state-of-the-art stochastic optimization algorithms for distributed machine learning and analyzes their convergence speed. The book first introduces stochastic gradient descent (SGD) and its distributed version, synchronous SGD, where the task of computing gradients is divided across several worker nodes. The author discusses several algorithms that improve the scalability and communication efficiency of synchronous SGD, such as asynchronous SGD, local-update SGD, quantized and sparsified SGD, and decentralized SGD. For each of these algorithms, the book analyzes its error versus iterations convergence, and the runtime spent per iteration. The author shows that each of these strategies to reduce communication or synchronization delays encounters a fundamental trade-off between error and runtime.
The Essential Guide to Creating Multiplayer Games with Godot 4.0
Level up your Godot 4 networking skills with this comprehensive guide featuring dedicated servers and persistent worlds, illustrated with key images in colorKey Features- Ensure player synchronization and coexistence in a game world- Mitigate latency in your multiplayer games to design a seamless shared experience- Optimize and debug your games using profilers and monitors to visualize performance- Purchase of the print or Kindle book includes a free PDF eBookBook DescriptionThe Essential Guide to Creating Multiplayer Games with Godot 4.0 guides you in exploring the built-in network API for online multiplayer games, offering practical knowledge through concrete use cases.Throughout the book, you'll assume the role of a network engineer in a fictional indie game studio, tackling real-world requests from your peers and gaining expertise in adding new network features to the studio's games. Following step-by-step instructions, you'll go from making your first network handshake to optimizing online gameplay. You'll learn how to sync players and pass data over the internet as you add online multiplayer features to a top-down shooter adventure game.This book puts you in a fictional game project team where you set up your first online server before advancing to creating an online chat system and transitioning local gameplay to go online. With a focus on implementing multiplayer features, you'll create shared world adventures and learn optimization techniques to allow more players to join your virtual world.By the end of this book, you'll have learned how to set up a client-server network, implement remote procedure calls (RPCs), sync node properties remotely, and optimize your games to create smooth online multiplayer experiences.What you will learn- Understand the fundamentals of networking and remote data exchange between computers- Use the Godot game engine's built-in API to set up a network for players- Master remote procedure calls and learn how to make function calls on objects remotely- Enhance your GDScript proficiency to get the most out of this powerful language- Explore industry-standard solutions for common online multiplayer challenges- Improve your networking skills and discover how to turn single-player games into multiplayer experiencesWho this book is forIf you're involved in game development with Godot and want to add multiplayer capabilities to enrich the shared gaming experience, then this book is for you. You'll also find this book useful if you're a network engineer looking to gain hands-on experience with practical projects. To get the most out of this book, a prior understanding of the Godot Engine design philosophy, the GDScript programming language, the SceneTree structure, and how nodes work is essential.Table of Contents- Setting up a server for multiplayer game- Sending and receiving data- Making a lobby to gather players together- Creating an online chat- Making an online quiz game- Building an online checkers game- Developing an online Pong- Designing an online co-op platformer- Creating a top-down adventure game- Debugging and profiling the network- Optimizing data requests- Implementing prediction and interpolation- Caching data to decrease bandwidth
Istqb(r) Certified Tester Foundation Level
This book is aimed at everyone preparing for the ISTQB(R) Certified Tester - Foundation Level exam based on the Foundation Level syllabus (version 4.0) published in 2023. It provides candidates with reliable knowledge based on this document and thus distinguishes itself from all the information about ISTQB(R) syllabi and exams on the Internet, which is often of rather poor quality and may even contain serious errors. The book expands and details many issues that are described in the new 2023 version of the syllabus in a perfunctory or general way only. According to the ISTQB(R) guidelines for syllabus-based training, an exercise must be provided for each learning objective at the K3 level, and a practical example must be provided for each objective at the K2 or K3 level. In order to satisfy these requirements, the authors prepared numerous exercises and examples for all learning objectives at these levels. In addition, for each learning objective, one or more sample exam questions are presented which are similar to those that the candidate will see in the exam. This makes the book an excellent aid for studying and preparing for the exam and verifying acquired knowledge.
Theoretical Aspects of Computing - Ictac 2023
This book constitutes the proceedings of the 20th International Colloquium on Theoretical Aspects of Computing, ICTAC 2023, which took place in Lima, Peru, during December 4-8, 2023. The 20 full papers presented in this volume together with 3 invited papers and 1 tool paper were carefully reviewed and selected from 40 submissions. They were organised in the topical sections as follows: Bring Together Practitioners; Researchers from Academia; Industry; Government to Present Research Results and Exchange Experience and Ideas.