Agile Processes in Software Engineering and Extreme Programming
This open access book constitutes the proceedings of the 24th International Conference on Agile Software Development, XP 2023, which took place in Amsterdam, The Netherlands, during June 13-16, 2023. XP is the premier agile software development conference combining research and practice. It is a unique forum where agile researchers, practitioners, thought leaders, coaches, and trainers get together to present and discuss their most recent innovations, research results, experiences, concerns, challenges, and trends. XP conferences provide an informal environment to learn and trigger discussions and welcome both people new to agile and seasoned agile practitioners. This year's conference was held with the theme "Whole Team Sustainability". The 11 full papers and 1 short paper presented in this volume were carefully reviewed and selected from 40 submissions. They focus on agile practices and agile in the large.
Computers and Games
This book constitutes the refereed proceedings of the International Conference on Computers and Games, CG 2022, held virtually, during November 22-24, 2022.The 15 full papers included in this book were carefully reviewed and selected from 23 submissions. They were organized in topical sections as follows: ​classic games, multi-player and multi-action games, solving games, measuring games, decision making in games and puzzles.
Beginning MongoDB Atlas with .Net
This book is a tutorial on MongoDB customized for developers working in Microsoft .NET 6, .NET 7, and beyond. It explains the differences between relational database systems and the document model supported by MongoDB, and shows how to build .NET applications that run against a MongoDB database, especially one in the cloud. Author Luce Carter kicks things off by teaching you how to determine when to use a document database versus a relational engine. After that, she walks you through building a Microsoft .NET project combining the MongoDB Atlas cloud database as a service solution with a .NET. application. In the process, you will learn how to create, read, update, and delete data in MongoDB from any .NET project. You will come away from this book with a solid understanding of MongoDB's Developer Data Platform and how to use it from your .NET applications. You'll be able to connect to MongoDB in the cloud and take advantage of the flexibility and scalability that MongoDB's document storage model provides, and you'll understand how to craft your applications to run using document storage and the MongoDB database engine. What You Will Learn Know when to use the MongoDB document model Build .NET applications that connect to MongoDB for data storage Create MongoDB clusters on the MongoDB Atlas cloud platform Store data in MongoDB Atlas Create, Read, Update, and Delete (CRUD) data from .NET Web API projects Test your CRUD endpoints using RESTful operations Validate schemas to help protect against breaking changes Who This Book Is For .NET developers who are looking for an alternative to relational databases, and those looking for a flexible and scalable document storage solution for use from .NET applications. Additionally, anyone wanting to learn MongoDB in the context of .NET and C# will benefit from this book.
Simple SysML for Beginners
Overview Simple SysML for Beginners: Using IBM Rhapsody is for beginners. This book is for beginning modelers who have just purchased an IBM Rhapsody edition that supports SysML modeling and are anxious to get started, but otherwise don't know too much about SysML and don't have much experience using SysML tools. The purpose of this book is to help the reader get through the initial learning curve and start the reader on the way to becoming proficient at SysML modeling.The book is designed to be a tool companion for two of the more comprehensive books on SysML: SysML Distilled: A Brief Guide to the Systems Modeling Language by Lenny Delligatti.A Practical Guide to SysML, Third Edition: The Systems Modeling Language by Sanford Friedenthal et al..Rhapsody(R) is a trademark of International Business Machines Corporation ("IBM").LimitationsRequirements Engineering - This book is not an exhaustive text on requirements engineering. However, the "Further Reading" appendix does list a number of excellent books for deeper understanding of this topic. Tool Version - The first edition of this book was authored using IBM Engineering Systems Design Rhapsody version 9.01. Future versions of Rhapsody may have significant changes to the user interface.Tool Manual - This is a beginner's introduction and is not a comprehensive reference for every feature of the tool.Screen Captures - Most readers appreciate our approach of providing annotated screen captures of the actual tool. However, there are physical technology issues that limit the level of sharpness we can achieve in this format. A small number of readers of previous books in this series have expressed frustration on this point.
Introduction to Computer Systems and Software Engineering
Discover the fascinating world of computer systems and software engineering with "Computer Science Engineering (CSE) for Non-CSE Enthusiasts: Introduction to Computer Systems and Software Engineering." This comprehensive guide is designed for enthusiasts with no prior background in computer science or programming, making complex concepts accessible and engaging. Dive into three captivating chapters that introduce you to computer systems, programming, and software engineering. Explore the history of computers, hardware, software, operating systems, and networks. Unravel the mysteries of computer programming and learn about object-oriented programming and programming languages. Finally, understand the objectives of software engineering, its comparison with other disciplines, and the software design process. The book's practice questions, exercises, and projects reinforce the concepts learned, ensuring a solid understanding of these essential topics. Written in an accessible and straightforward language, "Computer Science Engineering (CSE) for Non-CSE Enthusiasts" is the perfect resource for anyone eager to explore the exciting world of computer systems and software engineering. Start your journey today!
Fundamental Approaches to Software Engineering
This open access book constitutes the proceedings of the 26th International Conference on Fundamental Approaches to Software Engineering, FASE 2023, which was held during April 22-27, 2023, in Paris, France, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023. The 12 regular papers presented in this volume were carefully reviewed and selected from 50 submissions. The proceedings also contain 2 tool papers, 2 NIER papers, and 2 competition papers from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications. .
A Laboratory Manual on Virtual Experimentation on Electrical AC Machines and Circuit Networks using MATLAB/Simulink and MULTISIM
A Laboratory Manual on "Virtual Experimentation on Electrical AC Machines and Circuit Networks using MATLAB/Simulink and MULTISIM" has been written to quickly grip the understanding of Electrical AC machines, particularly induction and synchronous motor, and Circuit Networks from an experimental operation point of view on the virtual platform. This book deals with all the experiments related to important topics of electrical machines and networks which are on practically performed by students in a majority of technical institutions. The theoretical background of every experiment is reviewed before the system simulation. Detailed step-by-step experimental procedures are explained with the necessary diagram. Development of experimental setup by using MATLAB/Simulink and MULTISIM has been explained from scratch, which also enhances the simulation and analytical skills for various practical systems. Every step of the simulation is explained during the development of the system using Simulink and MULTISIM which can be further extended to investigate and analyze for Academics, Industrial, and Research & Development purposes. This book can be used as a reference to simulate and analyze the virtually developed system using AC machines and circuit networks by students and working professionals.
Democratizing RPA with Power Automate Desktop
Discover how desktop flows can interact with your everyday tools and automate tasks, freeing up time to do more important thingsPurchase of the print or Kindle book includes a free PDF eBookKey FeaturesLearn how Office programs can assist with automating recurring tasksMaintain superior work quality by including daily desktop and web applications in your flowsEnrich your flows with additional AI-based information and integrate them with cloud systemsBook DescriptionWhether you want to organize simple files or perform more complex consolidations between different Office programs and remote-control applications that don't allow outside access, Power Automate Desktop helps meet these challenges. This book shows you how to leverage this workflow automation platform by explaining the underlying RPA concepts in a step-by-step way. You'll start with simple flows that can be easily recorded and further processed using the built-in recorder. Later, you'll learn how to use the more advanced actions to automate folder and file management and enable Office programs to interact with each other. You'll also get to grips with integrating desktop flows into other cloud environments and further enhance their value using AI. As you progress, you'll understand how flows can run unattended and how they are managed in the Power Platform, as well as key concepts such as creating, modifying, debugging, and error-handling UI flows. Finally, the book will guide you to use Process Automation Designer (PAD) in conjunction with your frequently used desktop systems to automate routine tasks. By the end of this book, you'll have become a Power Automate Desktop expert, automating both professional and personal tasks.What you will learnMaster RPA with Power Automate Desktop to commence your debut flowGrasp all essential product concepts such as UI flow creation and modification, debugging, and error handlingUse PAD to automate tasks in conjunction with the frequently used systems on your desktopAttain proficiency in configuring flows that run unattended to achieve seamless automationDiscover how to use AI to enrich your flows with insights from different AI modelsExplore how to integrate a flow in a broader cloud contextWho this book is forWhether you're a home user looking to automate simple tasks on your workstation or a business user or citizen developer seeking to automate more complex rule-based processes, this book will help you overcome the challenge. No knowledge of a programming language is required, but in the more advanced chapters, a general understanding of information technology, including basic programming language structures, protocols, and cloud concepts, will be helpful.Table of ContentsGetting Started with Power Automate DesktopUsing Power Automate Desktop and Creating First FlowEditing and Debugging UI FlowsBasic Structure Elements and Flow ControlVariables, UI Elements, and ImagesActions for UI AutomationAutomate Your Desktop and WorkstationAutomating Standard Business ApplicationsLeveraging Cloud Services and Power PlatformLeveraging Artificial IntelligenceWorking with APIs and ServicesPAD Enterprise Best Practices
The Journey from Artificial to Convolutional Neural Network
This book has unfolded the reasons of the successful adoption of deep learning-based convolutional neural networks over machine learning- based artificial neural networks. The book has provided sufficient knowledge of the topics like Pandas and Numpy in Python programing language before switching to the core implementation of any Artificial Intelligence (AI) based algorithm. Thereafter, the theoretical concept of Artificial Neural Networks (ANN) and Convolutional Neural Networks (CNN) is discussed with step-by-step implementation in Python programing language. All the layers of the CNN model have been discussed in detail. Separate chapters are dedicated to the process of convolution, activation function, and pooling representing the theoretical concepts with practical implementation.This book is written for anyone interested in acquiring theoretical and practical knowledge of Artificial Intelligence. Students pursuing graduation and post-graduation in engineering in computer science can follow this book. In addition, this book will be very useful for candidates who are interested in the Artificial Intelligence-related research.For more details, please visit https: //centralwestpublihing.com
Developments in Language Theory
This book constitutes the refereed proceedings of the 27th International Conference on Developments in Language Theory, DLT 2023, held in Ume疇, Sweden, during June 12-16, 2023. The 20 full papers included in this book were carefully reviewed and selected from 32 submissions (31 regular ones and one invited).The DLT conference series provides a forum for presenting current developments informal languages and automata. Its scope is very general and includes, among others, the following topics and areas: grammars, acceptors and transducers for words; trees and graphs; relations between formal languages and artificial neural networks; algebraic theories of automata; algorithmic, combinatorial, and algebraic properties of words and languages; variable length codes; symbolic dynamics; cellular automata; groups and semigroups generated by automata; polyominoes and multidimensional patterns; decidability questions; image manipulation and compression; efficient text algorithms; relationships to cryptography, concurrency, complexity theory, and logic; bio-inspired computing; and quantum computing.
Fundamentals for Self-Taught Programmers
An absolute beginner's guide to strengthening the fundamentals before learning your first programming languagePurchase of the print or Kindle book includes a free PDF eBookKey Features: Explore fundamental computer science concepts from data structures through to object-oriented programmingProgress from understanding the software engineering landscape to writing your first programAuthored by a Microsoft community insider and filled with case studies from software engineering rolesBook Description: Software engineering is a set of techniques, including programming, within the computer science discipline associated with the development of software products. This practical guide to software engineering will enable aspiring and new developers to satisfy their curiosity about the industry and become ready to learn more about the basics before beginning to explore programming languages, along with helping junior and upcoming developers to effectively apply their knowledge in the field.The book begins by providing you with a comprehensive introduction to software engineering, helping you gain a clear, holistic understanding of its various sub-fields. As you advance, you'll get to grips with the fundamentals of software engineering, such as flow control, data structures and algorithms. The book also introduces you to C# and guides you in writing your first program. The concluding chapters will cover case studies, including people working in the industry in different engineering roles, as well as interview tips and tricks and coding best practices.By the end of this programming book, you'll have gained practical knowledge of the implementation and associated methodologies in programming that will have you up and running and productive in no time.What You Will Learn: Gain an understanding of the software engineering landscapeGet up and running with fundamental programming concepts in C#Implement object-oriented programming (OOP) in C#Gain insights on how to keep the code readable and reusableDiscover various tips and tricks to efficiently prepare for a software engineering interviewImplement various popular algorithms using C#Who this book is for: This book is for anyone who is curious about programming and interested in entering the field of software engineering by beginning at the fundamentals. No prior knowledge of computer science or software engineering is necessary.
Microsoft Azure AI Fundamentals Certification Companion
Prepare for the Azure AI Fundamentals certification examination. This book covers the basics of implementing various Azure AI services in your business. The book not only helps you get ready for the AI-900 exam, but also helps you get started in the artificial intelligence (AI) world. The book starts with a short overview of the AI-900 exam and takes you through the exam prerequisites and the structure of the exam. You will then learn basic and advanced AI in Azure. Principles of responsible AI, Azure Machine Learning (ML), Azure Cognitive Services, and Bot Services are covered, followed by a practice test. You will go through ML fundamental concepts, model training, and validation along with case studies and a practice test for better preparation. The book includes the fundamentals of Azure and computer vision cognitive services. Various vision services and face services are demonstrated as well as analyzing image and text using OCR. You will understand concepts of natural language processing (NLP) such as text analysis, language modelling, entity recognition, sentiment analysis, speech recognition, and synthesis and also learn how to leverage Microsoft Azure for NLP. After reading this book, you will be able to implement various Azure AI services and prepare for the Azure AI Fundamentals certification exam, AI-900. What Will You Learn Understand AI fundamentals and responsibilities Know the Microsoft Azure offerings for AI Understand foundational concepts for ML and Azure offerings for ML Understand Azure Cognitive Services such as Custom Vision, Face, Form Recognizer, Text-to-Speech, and Image Analysis Who This Book Is For Azure and AI users working with ML services
Introduction to Software Testing
Get started and hit the ground running in the world of software testing. This simple and practical guide teaches you the fundamentals of software testing, with no prior experience required. You will start by learning functional and non-functional software testing. Then you will gain an understanding of the primary responsibilities of a tester in the Software Development Life Cycle and how to plan and execute testing activities. You will also learn how testing applies to an agile environment, what challenges you might face in your day-to-day life as a tester, and how to overcome them. You will learn the most commonly used test design techniques, with ample examples and exercises to practice yourself. By the end of this book, you will understand the software testing ecosystem, from its types, techniques, and tools, to test planning, execution, and reporting. What You Will Learn Master the fundamentals of Software TestingGain an understanding of different software testing typesPlan and execute testing activitiesApply test design techniques to concrete examples Who This Book Is For Software testers, developers, project managers, and other stakeholders involved in software testing.
Continuous Integration (CI) and Continuous Delivery (CD)
Use continuous Integration (CI) and continuous delivery (CD) to improve the speed of software delivery. This book presents a game changer--how to use pipelines to automate the software delivery process. The theories about CI/CD are much the same, but the book covers what the development of pipelines looks like and how testing of pipelines themselves should be performed.Most teams just plunge into coding, without thinking about the CI/CD process itself. Why don't we use the same development method for pipelines that we use for apps? Pipelines code development undergoes similar stages as application code development, such as requirements analysis, development, testing, implementation, operations, and monitoring. This is the starting point of the book. It describes the current challenges with pipeline development and how this process can be improved and structured. It describes in detail how to design pipelines and shows examples in BPMN 2.0 notation. What You'll Learn Know the shortcomings and challenges of current pipeline development such as misalignment between the pipeline engineer and the team's workflow, the use of infrastructure as code (IaC), and pipeline securityUnderstand the need for CI/CD requirements through the book's non-exhaustive list of more than 60 CI/CD requirements provided to inspire and increase awarenessSee how certain choices affect the way a pipeline is designed (and realized)Become familiar with branching strategy, build strategy, test strategy, release strategy, and deployment strategy that are explained in detail in the book, including their effect on pipeline designKnow how pipelines can be unit tested, using a real-world exampleKnow how performance bottlenecks in a pipeline occur, how they can be detected, and how they can be solvedView a complete implementation, including code, showing how the guidelines in this book are applied to a real use case Who This Book Is For DevOps engineers and solution architects involved with automating the software supply chain and using application lifecycle management (ALM)/integration platforms such as Jenkins, CircleCI, Bamboo, and Azure DevOps; intermediate and experienced DevOps engineers (developers, ops engineers, test engineers); and ICT managers interested in the CI/CD pipeline development domain
Becoming a Rockstar SRE
Excel in site reliability engineering by learning from field-driven lessons on observability and reliability in code, architecture, process, systems management, costs, and people to minimize downtime and enhance developers' outputPurchase of the print or Kindle book includes a free eBook in the PDF formatKey Features: Understand the goals of an SRE in terms of reliability, efficiency, and constant improvementMaster highly resilient architecture in server, serverless, and containerized workloadsLearn the why and when of employing Kubernetes, GitHub, Prometheus, Grafana, Terraform, Python, Argo CD, and GitOpsBook Description: Site reliability engineering is all about continuous improvement, finding the balance between business and product demands while working within technological limitations to drive higher revenue. But quantifying and understanding reliability, handling resources, and meeting developer requirements can sometimes be overwhelming. With a focus on reliability from an infrastructure and coding perspective, Becoming a Rockstar SRE brings forth the site reliability engineer (SRE) persona using real-world examples.This book will acquaint you the role of an SRE, followed by the why and how of site reliability engineering. It walks you through the jobs of an SRE, from the automation of CI/CD pipelines and reducing toil to reliability best practices. You'll learn what creates bad code and how to circumvent it with reliable design and patterns. The book also guides you through interacting and negotiating with businesses and vendors on various technical matters and exploring observability, outages, and why and how to craft an excellent runbook. Finally, you'll learn how to elevate your site reliability engineering career, including certifications and interview tips and questions.By the end of this book, you'll be able to identify and measure reliability, reduce downtime, troubleshoot outages, and enhance productivity to become a true rockstar SRE!What You Will Learn: Get insights into the SRE role and its evolution, starting from Google's original visionUnderstand the key terms, such as golden signals, SLO, SLI, MTBF, MTTR, and MTTDOvercome the challenges in adopting site reliability engineeringEmploy reliable architecture and deployments with serverless, containerization, and release strategiesIdentify monitoring targets and determine observability strategyReduce toil and leverage root cause analysis to enhance efficiency and reliabilityRealize how business decisions can impact quality and reliabilityWho this book is for: This book is for IT professionals, including developers looking to advance into an SRE role, system administrators mastering technologies, and executives experiencing repeated downtime in their organizations. Anyone interested in bringing reliability and automation to their organization to drive down customer impact and revenue loss while increasing development throughput will find this book useful. A basic understanding of API and web architecture and some experience with cloud computing and services will assist with understanding the concepts covered.
Software Engineering
Software Engineering - A Practical Approach By Laxmidhar V. Gaopande Book Description This book covers all the important topics in software engineering like software projects, execution models, SDLC, development models like Waterfall, Iterative, Incremental, Spiral, Agile and TDD. Business requirement documents (BRD), functional requirement documents (FRD), software requirement specifications (SRS), analysis, design, architecture structured system analysis and design method (SSADM), object oriented analysis and design (OOAD), unified modelling language (UML), Usability, User experience (UX), Quality and Quality systems like ISO 9001, SEI CMMI. Software testing covers details of software testing, testing types and testing models etc. Details of configuration management, release management, risk management, software support, project management are covered in detail. Software estimation is covered in very detail with estimation techniques, like Agile estimation, class based simplified estimation for OOAD systems, function point analysis, Mark II, COCOMO etc. Templates for various artifacts are also listed and will be useful for the software engineering work. The book covers five interesting case studies and learnings from them from author own practical experience while executing software projects and product development. The author has also given interesting eighteen exercises for developing a new software system covering all the topics in software engineering.
Software Requirements Essentials
20 Best Practices for Developing and Managing Requirements on Any Project Software Requirements Essentials presents 20 core practices for successful requirements planning, elicitation, analysis, specification, validation, and management. Leading requirements experts Karl Wiegers and Candase Hokanson focus on the practices most likely to deliver superior value for both traditional and agile projects, in any application domain. These core practices help teams understand business problems, engage the right participants, articulate better solutions, improve communication, implement the most valuable functionality in the right sequence, and adapt to change and growth. Concise and tightly focused, this book offers just enough pragmatic "how-to" detail for you to apply the core practices with confidence, whether you're a business analyst, requirements engineer, product manager, product owner, or developer. Using it, your entire team can build a shared understanding of key concepts, terminology, techniques, and rationales--and work together more effectively on every project. Learn how to: Clarify problems, define business objectives, and set solution boundaries Identify stakeholders and decision makers Explore user tasks, events, and responses Assess data concepts and relationships Elicit and evaluate quality attributes Analyze requirements and requirement sets, create models and prototypes, and set priorities Specify requirements in a consistent, structured, and well-documented fashion Review, test, and manage change to requirements "I once read the ten best-selling requirements engineering books of the prior ten years. This one book succinctly presents more useful information than those ten books combined."--Mike Cohn, author of User Stories Applied and co-founder, Scrum Alliance "Diamonds come about when a huge amount of carbon atoms are compressed. Karl and Candase have done something very similar: they have compressed their vast requirements knowledge into 20 gems they call 'core practices.' These practices are potent stuff, and I recommend that they become part of everyone's requirements arsenal."--James Robertson, author of Mastering the Requirements Process and Business Analysis Agility "Long story short: if you are going to read only one requirements book, this is it. Software Requirements Essentials distills the wealth of information found in Software Requirements and many other texts down to twenty of the most important requirements activities that apply on nearly all projects. Today's busy BA simply doesn't have the time to read a lengthy instructive guide front-to-back. But they should find the time to read this book."--From the Foreword by Joy Beatty, COO, ArgonDigital "Software Requirements Essentials will be a high-value addition to your business analysis library. Anyone looking to improve their business analysis practices will find great practical advice they'll be able to apply immediately."--Laura Paton, Principal Consultant, BA Academy, Inc. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Analysis, Verification and Transformation for Declarative Programming and Intelligent Systems
This Festschrift, dedicated to Manuel Hermenegildo on the occasion of his 60th birthday, contains papers written by many of his closest collaborators. Manuel received his Ph.D. degree in Computer Science and Engineering from the University of Texas at Austin, and among various positions he was an endowed chair in Information Science and Technology at the University of New Mexico. In 2007 he became the founding director of the IMDEA Software Institute, where he is now a Distinguished Professor, while also a full professor at Universidad Polit矇cnica de Madrid (UPM).He has published more than 300 scientific publications, given numerous keynotes and invited talks at major conferences, coordinated many national and international projects, and served the community in major conference roles, on journal boards, and on funding, scientific, and research committees. Among his awards are the Julio Rey Pastor prize in Mathematics and Information Science and Technologyand the Aritmel prize in Computer Science; he is an elected member of the Academia Europaea; and in 2022 he was elected a Fellow of the ACM for contributions to program analysis, verification, parallelism, logic programming, and the IMDEA Software Institute.Throughout his career, Manuel has been at the forefront of the fields of logic programming, constraint programming, parallel programming, program analysis, program transformation, and programming environment design. The contributions in this volume reflect the quality and the scope of his personal and collaborative successes.
Bootstrapping Service Mesh Implementations with Istio
A step-by-step guide to Istio Service Mesh implementation, with examples of complex and distributed workloads built using microservices architecture and deployed in KubernetesPurchase of the print or Kindle book includes a free PDF eBookKey Features: Learn the design, implementation, and troubleshooting of Istio in a clear and concise formatGrasp concepts, ideas, and solutions that can be readily applied in real work environmentsSee Istio in action through examples that cover Terraform, GitOps, AWS, Kubernetes, and GoBook Description: Istio is a game-changer in managing connectivity and operational efficiency of microservices, but implementing and using it in applications can be challenging. This book will help you overcome these challenges and gain insights into Istio's features and functionality layer by layer with the help of easy-to-follow examples. It will let you focus on implementing and deploying Istio on the cloud and in production environments instead of dealing with the complexity of demo apps. You'll learn the installation, architecture, and components of Istio Service Mesh, perform multi-cluster installation, and integrate legacy workloads deployed on virtual machines. As you advance, you'll understand how to secure microservices from threats, perform multi-cluster deployments on Kubernetes, use load balancing, monitor application traffic, implement service discovery and management, and much more. You'll also explore other Service Mesh technologies such as Linkerd, Consul, Kuma, and Gloo Mesh. In addition to observing and operating Istio using Kiali, Prometheus, Grafana and Jaeger, you'll perform zero-trust security and reliable communication between distributed applications.After reading this book, you'll be equipped with the practical knowledge and skills needed to use and operate Istio effectively.What You Will Learn: Get an overview of Service Mesh and the problems it solvesBecome well-versed with the fundamentals of Istio, its architecture, installation, and deploymentExtend the Istio data plane using WebAssembly (Wasm) and learn why Envoy is used as a data planeUnderstand how to use OPA Gatekeeper to automate Istio's best practicesManage communication between microservices using IstioExplore different ways to secure the communication between microservicesGet insights into traffic flow in the Service MeshLearn best practices to deploy and operate Istio in production environmentsWho this book is for: The book is for DevOps engineers, SREs, cloud and software developers, sysadmins, and architects who have been using microservices in Kubernetes-based environments. It addresses challenges in application networking during microservice communications. Working experience on Kubernetes, along with knowledge of DevOps, application networking, security, and programming languages like Golang, will assist with understanding the concepts covered.
Open Source Projects - Beyond Code
Accelerate your career and make an impact by launching and running a successful open source projectPurchase of the print or Kindle book includes a free PDF eBookKey Features: Understand the method and rationale for launching an open source projectExplore best practices and insights for running an open source projectLeverage open source projects to advance your careerBook Description: Open source is ubiquitous in our society, with countless existing projects, and new ones emerging every day. It follows a "scratch-your-own-itch" model where contributors and maintainers drive the project forward. Through Open Source Projects - Beyond Code, you'll learn what it takes to develop a successful, scalable, and sustainable open source project.In this book, you'll explore the full life cycle of open source projects, from inception, through launch, to maturity, and then discover how to sunset an open source project responsibly. Along the way, you'll learn the concepts of licensing, governance, community building, ecosystem management, and growing maintainers and contributors, as well as understand how other open source projects have been successful or might have struggled in some areas. You can use this book as an end-to-end guide or reference material for the future.By the end of this book, you'll be able to accelerate your career in open source. Your newly acquired skills will help you stay ahead of the curve even with the ever-evolving nature of technology.What You Will Learn: Explore what is open source and how you can use it to accelerate your careerStart an open source project while exploring its key considerationsGrow, support, and manage a vast community of developers and usersBuild and maintain a mature and sustainable projectEnable mass users and developers to downstream productization and outreachUse open source as a portfolio to build your careerUnderstand when to end a project and conduct it responsiblyWho this book is for: This book is for software developers, product managers, project managers, business leaders, or general enthusiasts looking to start an open source project or currently maintaining one.
Effective Concurrency in Go
Gain a deep understanding of concurrency and learn how to leverage concurrent algorithms to build high-throughput data processing applications, network servers and clients that scale.Key Features: Learn about the Go concurrency primitives, Go memory model, and common concurrency patternsDevelop the insights on how to model solutions to real-life problems using concurrencyExplore practical techniques to analyze how concurrent programs behaveBook Description: The Go language has been gaining momentum due to its treatment of concurrency as a core language feature, making concurrent programming more accessible than ever. However, concurrency is still an inherently difficult skill to master, since it requires the development of the right mindset to decompose problems into concurrent components correctly. This book will guide you in deepening your understanding of concurrency and show you how to make the most of its advantages.You'll start by learning what guarantees are offered by the language when running concurrent programs. Through multiple examples, you will see how to use this information to develop concurrent algorithms that run without data races and complete successfully. You'll also find out all you need to know about multiple common concurrency patterns, such as worker pools, asynchronous pipelines, fan-in/fan-out, scheduling periodic or future tasks, and error and panic handling in goroutines.The central theme of this book is to give you, the developer, an understanding of why concurrent programs behave the way they do, and how they can be used to build correct programs that work the same way in all platforms.By the time you finish the final chapter, you'll be able to develop, analyze, and troubleshoot concurrent algorithms written in Go.What You Will Learn: Understand basic concurrency concepts and problemsLearn about Go concurrency primitives and how they workLearn about the Go memory model and why it is importantUnderstand how to use common concurrency patternsSee how you can deal with errors in a concurrent programDiscover useful techniques for troubleshootingWho this book is for: If you are a developer with basic knowledge of Go and are looking to gain expertise in highly concurrent backend application development, then this book is for you. Intermediate Go developers who want to make their backend systems more robust and scalable will also find plenty of useful information. Prior exposure Go is a prerequisite.
Structured Object-Oriented Formal Language and Method
This book constitutes the refereed workshop proceedings of the 11th International Workshop on Structured Object-Oriented Formal Language and Method, SOFL+MSVL 2022, held in Madrid, in October 2022.The 12 revised full papers included in the volume were carefully reviewed and selected from 26 submissions. They are organized in the following topical sections: Model Checking & Markov Decision Process; Model Analysis & Tool Implementation; Formal Specification & Testing; Algorithms & Verification. .
Azure SQL Hyperscale Revealed
Take a deep dive into the Azure SQL Database Hyperscale Service Tier and discover a new form of cloud architecture from Microsoft that supports massive databases. The new horizontally scalable architecture, formerly code-named Socrates, allows you to decouple compute nodes from storage layers. This radically different approach dramatically increases the scalability of the service. This book shows you how to leverage Hyperscale to provide next-level scalability, high throughput, and fast performance from large databases in your environment.The book begins by showing how Hyperscale helps you eliminate many of the problems of traditional high-availability and disaster recovery architecture. You'll learn how Hyperscale overcomes storage capacity limitations and issues with scale-up times and costs. With Hyperscale, your costs do not increase linearly with database size and you can manage more data than ever at a lower cost.The book teaches you how todeploy, configure, and monitor an Azure SQL Hyperscale database in a production environment. The book also covers migrating your current workloads from traditional architecture to Azure SQL Hyperscale. What You Will LearnUnderstand the advantages of Hyperscale over traditional architectureDeploy a Hyperscale database on the Azure cloud (interactively and with code)Configure the advanced features of the Hyperscale database tierMonitor and scale database performance to suit your needsBack up and restore your Azure SQL Hyperscale databasesImplement disaster recovery and failover capabilityCompare performance of Hyperscale vs traditional architectureMigrate existing databases to the Hyperscale service tierWho This Book Is ForSQL architects, data engineers, and DBAs who want the most efficient and cost-effective cloud technologies to run their critical data workloads, and those seeking rapid scalability and high performance and throughput while utilizing large databases
Customizing Microsoft Teams
Build customized apps quickly using real-world business scenarios and proven techniques with this all-inclusive guide for Microsoft Teams professionalsPurchase of the print or Kindle book includes a free PDF eBookKey Features: Customize and extend Microsoft Teams using Power Apps, Power Automate, SharePoint framework, PowerShell, and Microsoft Graph APIsIntegrate Microsoft-certified third-party and Dynamics 365 apps with Microsoft TeamsUnderstand the low-code capabilities of Microsoft Teams provided by Dataverse for TeamsBook Description: In the evolving remote working arrangement, the demand for custom Microsoft Teams apps is increasing rapidly across businesses. If you are someone who aims to provide users with an exceptional experience through custom-built apps that adhere to industry standards and good governance, Customizing Microsoft Teams is for you!The book starts with an overview of Microsoft Teams customization and configuration prerequisites. It then shows you how to expose functionalities from various solutions through tabs, connectors, messaging extensions, and more before you move on to explore how the PowerShell module can manage multiple aspects of administration and how to use the SharePoint Framework for creating custom Microsoft Teams apps. You'll be able to work with Microsoft Dataverse for Teams to build custom apps, bots, and flows using Power Apps, Power Virtual Agents, and Power Automate. As you publish your production-ready apps on the Teams store and Microsoft AppSource, you'll also understand Teams app analytics and reporting functionalities.By the end of this book, you'll have learned how to develop custom solutions to solve critical business problems and extend the power of Microsoft Teams to develop high-value use cases in the remote working culture.What You Will Learn: Understand Microsoft Teams app architecture and configuration for custom appsPersonalize the Teams compose box with your app and develop rich interactive cardsExplore the diverse Teams capabilities using Microsoft Graph APIsManage multiple aspects of Teams administration, including users, policies, and configurationBuild custom apps and bots using Power Apps, Power Virtual Agents, and Power AutomateUse community-driven, open source app templates for Microsoft Teams extensibilityPublish your app on Microsoft AppSource for global subscribersWho this book is for: If you are a business user, Microsoft Teams developer, citizen developer, or Microsoft Teams admin working with Microsoft 365 apps and want to develop custom solutions with Microsoft Teams for multiple business use cases, this book is for you. It is recommended that you have a fundamental understanding of Microsoft 365 technologies to fully benefit from this book.
Visual Studio Code Distilled
Use Visual Studio Code to write and debug code quickly and efficiently on any platform, for any device, using any programming language, and on the operating system of your choice. Visual Studio Code is an open source and cross-platform development tool that focuses on code editing across a variety of development scenarios, including web, mobile, and cloud development. This third edition has been updated to match the latest releases of the environment. Additional updates relate to .NET 7 and explain how to consume AI services from code you write in Visual Studio Code. This new edition is also refreshed with the latest updates, such as enhanced merge editor, creating extensions, support for the Julia language, and much more.The book teaches you how to be immediately productive with Visual Studio Code, from the basics to some of the more complex topics. You will learn how to work on individual code files, complete projects, and come away with an understandingof advanced code-editing features that will help you focus on productivity, and source code collaboration with Git.What You Will Learn Get started with practical guidance on Visual Studio Code, including expansive guidance on writing apps with C# and PythonUnderstand how to edit individual files and how to work with folders by working on the latest workspace trust and multi-root workspacesDebug code on multiple platforms through real-world guidance, such as working under corporate networksPackage code into Docker containers and deploy these to AzureAcquire valuable tips, tricks, and suggestions from hard-earned, real-world experience to be more productiveWho This Book Is ForAll developers (including JavaScript, Java, NodeJS), not just those with a Microsoft background, who will benefit from learning and using VS code as a cross-platform and cross-language tool
Absolute Beginner’s Guide to Algorithms
A hands-on, easy-to-comprehend guide that is perfect for anyone who needs to understand algorithms. With the explosive growth in the amount of data and the diversity of computing applications, efficient algorithms are needed now more than ever. Programming languages come and go, but the core of programming--algorithms and data structures--remains the same. Absolute Beginner's Guide to Algorithms is the fastest way to learn algorithms and data structures. Using helpful diagrams and fully annotated code samples in Javascript, you will start with the basics and gradually go deeper and broader into all the techniques you need to organize your data. Start fast with data structures basics: arrays, stacks, queues, trees, heaps, and more Walk through popular search, sort, and graph algorithms Understand Big-O notation and why some algorithms are fast and why others are slow Balance theory with practice by playing with the fully functional JavaScript implementations of all covered data structures and algorithms Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Introduction to Dependent Types with Idris
Dependent types are a concept that allows developers to write proof-carrying code. Idris is a programming language that supports dependent types. This book will teach you the mathematical foundations of Idris as well as how to use it to write software and mathematically prove properties.The first part of the book serves as an introduction to the language's underlying theories. It starts by reviewing formal systems and mathematical logical systems as foundational building blocks, then gradually builds up to dependent types. Next, you'll learn type theory for dependent types. Following this, you'll explore the Idris programming language and conclude by exploring the depths of formal systems and type checkers by implementing them.Introduction to Dependent Types with Idris will walk you through simple examples through more advanced techniques, stepping up the difficulty as you gain more knowledge. Every chapter includes a set of exercises based on what it covered to further cement your learning. No specialized knowledge of mathematics is expected beyond the basics, so it is perfect for novices.What You Will Learn Understand Lambda calculus and dependent types Gain insight into functional programmingWrite mathematical proofs with IdrisWho This Book Is ForProgrammers, mathematicians, academics, and anyone else interested learning dependent types and lambda calculus.
Practical Rust 1.x Cookbook
100s of Solutions across Command Line, CI/CD, Kubernetes, Networking, Code Performance and MicroservicesPractical Rust 1.x Cookbook is an in-depth guide for experienced Rust programmers looking to create robust and efficient applications. This solution-focused book covers a wide range of topics, including command-line, webassembly, networking, kubernetes, microservices, and system programming.This book includes over 100 real-world practical exercises that will teach you how to use the Rust compiler and command-line programming across every stage of software development. Each exercise is intended to reinforce Rust's potential for outperforming legacy applications and bridging the high performance gap. You'll learn about advanced solutions like asynchronous functions, API testing, CI/CD pipelines, Fuzz testing, and microservices architecture as you read the book. You'll also have the chance to put your knowledge to use by solving complex concurrent and parallel code challenges. You'll also get hands-on experience with many of Rust's built-in frameworks and libraries.Practical Rust 1.x Cookbook is a must-have for both experienced and inexperienced Rust programmers looking to create high-performance and robust applications. This book will help you stay ahead of the curve in Rust programming by providing clear explanations, practical examples, and step-by-step illustrations. Get your copy today and start making the apps you've always wanted to make! Key LearningsEmploying declarative and procedural macros, pattern matching, and enumsCreate and test asynchronous code, error handling, and communication patterns.Working with deadlocks and livelocks, as well as implementing hash maps and parallel algorithmsSOAP and REST API development, API orchestration, and performance monitoringAPI layering, middleware programming, and end-to-end API testingCI/CD, Docker registry, Kubernetes cluster, YAML files, and load balancers configurationWorking with fuzz testing, checking syntax, and identifying code vulnerabilities Table of ContentSetting Up and Configuring Rust EnvironmentHands-on Traits, Enums and StructPattern Matching, Concurrency, Pointers and ModulesUsing Declarative and Procedural MacrosImplementing Concurrency and MultithreadingAsynchronous ProgrammingDeveloping REST and SOAP APIsBuilding Microservices and ArchitecturesWorking around CI/CDWorking around KubernetesFuzz Testing and Static AnalysisCode Performance Optimization
Web Development with Blazor - Second Edition
Develop modern web UIs with Blazor Server and Blazor WebAssemblyPurchase of the print or Kindle book includes a free eBook in PDF format.Key Features: Create a production-ready Blazor application from start to finishLearn Blazor fundamentals, gain actionable insights, and discover best practicesFind out how, when, and why to use Blazor Server and Blazor WebAssembly, as well as Blazor HybridBook Description: Blazor is an essential tool if you want to build interactive web apps without JavaScript, but it has a learning curve. Updated with the latest code in .NET 7 and C# 11 and written by someone who adopted Blazor early, this book will help you overcome the challenges associated with being a beginner with Blazor and teach you the best coding practices.You'll start by learning how to leverage the power of Blazor and exploring the full capabilities of both Blazor Server and Blazor WebAssembly. Then you'll move on to the practical part, centered around a sample project - a blog engine. You'll apply all your newfound knowledge about creating Blazor projects, the inner workings of Razor syntax, validating forms, and creating your own components.This new edition also looks at source generators, dives deeper into Blazor WebAssembly with ahead-of-time, and includes a dedicated new chapter demonstrating how to move components of an existing JavaScript (Angular, React) or MVC-based website to Blazor or combine the two. You'll also see how to use Blazor (Hybrid) together with .NET MAUI to create cross-platform desktop and mobile applications.When you reach the end of this book, you'll have the confidence you need to create and deploy production-ready Blazor applications, and you'll have a big-picture view of the Blazor landscape.What You Will Learn: Understand the different technologies that can be used with Blazor, such as Blazor Server, Blazor WebAssembly, and Blazor HybridFind out how to build simple and advanced Blazor componentsExplore the differences between Blazor Server and Blazor WebAssembly projectsDiscover how Minimal APIs work and build your own APIExplore existing JavaScript libraries in Blazor and JavaScript interoperabilityLearn techniques to debug your Blazor Server and Blazor WebAssembly applicationsTest Blazor components using bUnitWho this book is for: This book is for .NET web developers and software developers who want to use their existing C# skills to build interactive SPA applications running either inside the web browser using Blazor WebAssembly, or on the server using Blazor Server.You'll need intermediate-level web-development skills, basic knowledge of C#, and prior exposure to .NET web development before you get started; the book will guide you through the rest.
Rust In Practice
Learn to Build Rust Programs, Test Applications and Create Your Own Cargo Packages in RustRust In Practice is an ultimate fast-paced guide for anyone looking to become a practitioner of the rust programming from day 1. This book covers everything from the basics of Rust programming to building robust and efficient applications. Starting with the fundamentals, this book guides you through the syntax and semantics of the Rust language, including its unique ownership model and type system. You'll learn about common data types, control flow, error handling, and more. As you progress through the book, you'll dive deeper into advanced topics such as building programs, rust libraries and crates, using the standard library, and working with external crates. You'll also learn how to write concurrent and parallel code, take advantage of Rust's built-in testing features, and use popular Rust frameworks and libraries. The book also provides hands-on examples and exercises to help you practice and apply the concepts you've learned. By the end of this book, you'll have a solid understanding of Rust programming and be well-equipped to start building your own robust and efficient applications. With clear explanations, practical examples, and expert advice, this book will help you get an edge on Rust programming and become proficient in building and testing Rust applications, right from day one.Key LearningsGet well versed with cargo, different cargo commandsUnderstanding data types, ownership, and borrowingWrite flexible, efficient code with traits and genericsMake use of closures, iterators, and asynchronous programming to write multi-threaded programsUtilizing collections, strings, text, input and output, macros, and avoiding unsafe codesRun code testing on different types of rust programs and applications50+ examples covered to demonstrate every feature and functionality of rustTable of ContentsUnderstanding Why Rust!Getting Ready with Rust EnvironmentMost Essentials of RustStructsEnums and Pattern MatchingExploring Ownership and BorrowingCargo, Crates and PackagesCargo CommandsUsing Rust Standard LibraryMy First Command Line App (CLI)Code Testing of ApplicationsSmart Pointers and Reference CyclesAudienceThis book is for both, newbies and programmers who wants a combined knowledge of concepts and practical guidance of using Rust in developing programs and applications. This book is written by a team of Rust professionals with an intent to contribute and return back to both industry and academic research communities. [Do not forget to check out 'Look Inside' on thumbnail for accessing the topics and subtopics covered in this book]
Getting Started with Forex Trading Using Python
Discover the inner workings of today's forex market, the essential risks in forex algo trading, and how to mitigate themKey Features: Build trading applications with research and without advanced Python programming skillsDive into professional fx trading while enhancing your trading apps to be more accurateDevelop simple yet efficient backtesting applications to help keep your expectations realisticBook Description: Algorithm-based trading is a popular choice for Python programmers due to its apparent simplicity. However, very few traders get the results they want, partly because they aren't able to capture the complexity of the factors that influence the market. Getting Started with Forex Trading Using Python helps you understand the market and build an application that reaps desirable results.The book is a comprehensive guide to everything that is market-related: data, orders, trading venues, and risk. From the programming side, you'll learn the general architecture of trading applications, systemic risk management, de-facto industry standards such as FIX protocol, and practical examples of using simple Python codes. You'll gain an understanding of how to connect to data sources and brokers, implement trading logic, and perform realistic tests. Throughout the book, you'll be encouraged to further study the intricacies of algo trading with the help of code snippets.By the end of this book, you'll have a deep understanding of the fx market from the perspective of a professional trader. You'll learn to retrieve market data, clean it, filter it, compress it into various formats, apply trading logic, emulate the execution of orders, and test the trading app before trading live.What You Will Learn: Explore the forex market organization and operationsUnderstand the sources of alpha and the concept of algo tradingGet a grasp on typical risks and ways to mitigate themUnderstand fundamental and technical analysisConnect to data sources and check the integrity of market dataUse API and FIX protocol to send ordersTranslate trading ideas into codeRun reliable backtesting emulating real-world market conditionsWho this book is for: This book is for financial traders and python developers who are interested in forex trading. Academic researchers looking to focus on practical applications will find this book useful. This book can also help established fx market professionals who want to take the first steps in algo trading. Familiarity with Python and object-oriented programming within the scope of an online course or self-study is a must. Knowledge of network protocols and interfaces is a plus but not a prerequisite, as is specific knowledge about markets and trading.
Algorithms and Complexity
This book constitutes the refereed proceedings of the 13th International Conference on Algorithms and Complexity, CIAC 2023, which took place in Larnaca, Cyprus, during June 13-16, 2023. The 25 full papers included in this book were carefully reviewed and selected from 49 submissions. They cover all important areas of research on algorithms and complexity such as algorithm design and analysis; sequential, parallel and distributed algorithms; data structures; computational and structural complexity; lower bounds and limitations of algorithms; randomized and approximation algorithms; parameterized algorithms and parameterized complexity classes; smoothed analysis of algorithms; alternatives to the worst-case analysis of algorithms (e.g., algorithms with predictions), on-line computation and competitive analysis, streaming algorithms, quantum algorithms and complexity, algorithms in algebra, geometry, number theory and combinatorics, computational geometry, algorithmic game theory and mechanism design, algorithmic economics (including auctions and contests), computational learning theory, computational biology and bioinformatics, algorithmic issues in communication networks, algorithms for discrete optimization (including convex optimization) and algorithm engineering.
Parallel Processing and Applied Mathematics
This two-volume set, LNCS 13826 and LNCS 13827, constitutes the proceedings of the 14th International Conference on Parallel Processing and Applied Mathematics, PPAM 2022, held in Gdansk, Poland, in September 2022.The 77 regular papers presented in these volumes were selected from 132 submissions. For regular tracks of the conference, 33 papers were selected from 62 submissions.The papers were organized in topical sections named as follows: Part I: numerical algorithms and parallel scientific computing; parallel non-numerical algorithms; GPU computing; performance analysis and prediction in HPC systems; scheduling for parallel computing; environments and frameworks for parallel/cloud computing; applications of parallel and distributed computing; soft computing with applications and special session on parallel EVD/SVD and its application in matrix computations.Part II: 9th Workshop on Language-Based Parallel Programming (WLPP 2022); 6th Workshop on Models, Algorithms and Methodologies for Hybrid Parallelism in New HPC Systems (MAMHYP 2022); first workshop on quantum computing and communication; First Workshop on Applications of Machine Learning and Artificial Intelligence in High Performance Computing (WAML 2022); 4th workshop on applied high performance numerical algorithms for PDEs; 5th minisymposium on HPC applications in physical sciences; 8th minisymposium on high performance computing interval methods; 7th workshop on complex collective systems.
Exact and Heuristic Methods in Combinatorial Optimization
In the last decades, algorithmic advances as well as hardware and software improvements have provided an excellent environment to create and develop solving methods to hard optimization problems. Modern exact and heuristic techniques are dramatically enhancing our ability to solve significant practical problems. This monograph sets out state-of-the-art methodologies for solving combinatorial optimization problems, illustrating them with two well-known problems.This second edition of the book extends the first one by adding to the 'linear ordering problem' (LOP), included in the first edition, the 'maximum diversity problem' (MDP). In this way, we provide the reader with the background, elements and strategies to tackle a wide range of different combinatorial optimization problems. The exact and heuristic techniques outlined in these pages can be put to use in any number of combinatorial optimization problems. While the authors employ the LOP and the MDP to illustrate cutting-edge optimization technologies, the book is also a tutorial on how to design effective and successful implementations of exact and heuristic procedures alike. This monograph provides the basic principles and fundamental ideas that will enable students and practitioners to create valuable applications based on both exact and heuristic technologies. Specifically, it is aimed at engineers, scientists, operations researchers, and other applications specialists who are looking for the most appropriate and recent optimization tools to solve particular problems. The book provides a broad spectrum of advances in search strategies with a focus on its algorithmic and computational aspects.
Build Your Own Test Framework
Learn to write better automated tests that will dramatically increase your productivity and have fun while doing so. This book is a build-your-own adventure designed for individual reading and for collaborative workshops. You will build an xUnit automated test framework using JavaScript: initially a clone of Jest, but adding a couple of neat features borrowed from RSpec, the genre-defining tool for behavior-driven development (BDD). Along the way, you will explore the philosophy behind automated testing best practices. The automated test runner is one of the most important innovations within software engineering. But for many programmers, automated testing remains a mystery, and knowing how to write good tests is akin to sorcery.As the chapters of this book unfold, you will see how the humble test runner is an elegant and simple piece of software. Each chapter picks a single feature to build, like the "it" function or the "beforeEach" block. It picks apart the theory of why the feature needs to exist, and how to use it effectively in your own test suites. Every chapter ends with a set of ideas for extension points should you wish to explore further, alone or in groups. The book culminates in an implementation of test doubles and mocks--one of the most difficult and misunderstood concepts within automated testing.By the end of the book, you will have gained a solid understanding of automated testing principles that you can immediately apply to your work projects. What You'll LearnBuild an xUnit automated test frameworkSee how an automated test runner worksUnderstand the best practices for automated unit testingEffectively use test doubles and mocksWho This Book Is ForSoftware developers with JavaScript experience who are seeking to master the art of automated testing.
Simple SysML for Beginners
Overview Simple SysML for Beginners: Using CATIA No Magic Products is for beginners. This book is for beginning modelers who have just purchased a CATIA No Magic product that supports SysML modeling and are anxious to get started, but otherwise don't know too much about SysML and don't have much experience using SysML tools. The purpose of this book is to help the reader get through the initial learning curve and start the reader on the way to becoming proficient at SysML modeling. The book is designed to be a tool companion for two of the more comprehensive books on SysML: - SysML Distilled: A Brief Guide to the Systems Modeling Language by Lenny Delligatti.- A Practical Guide to SysML, Third Edition: The Systems Modeling Language by Sanford Friedenthal et al.. The techniques shown in this book will work for any of the Dassault Syst癡mes CATIA Magic and CATIA No Magic products that support SysML modeling, including: - MagicDraw with the SysML plugin.- Cameo Systems Modeler.- Cameo Enterprise Architecture.- CATIA Magic System of Systems Architect.- CATIA Magic Cyber-Systems Engineer. CATIA(R), NoMagic(R), and Cameo(R) are trademarks of Dassault Syst癡mes. LimitationsRequirements Engineering - This book is not an exhaustive text on requirements engineering. However, the "Further Reading" appendix does list a number of excellent books for deeper understanding of this topic. Tool Version - The first edition of this book was authored primarily on Cameo Systems Modeler version 19. There may be minor differences in the procedures for later versions of the tool. Tool Manual - This is a beginner's introduction and is not a comprehensive reference for every feature of the tool.
Property Testing
This book introduces important results and techniques in property testing, where the goal is to design algorithms that decide whether their input satisfies a predetermined property in sublinear time, or even in constant time - that is, time is independent of the input size. This book consists of three parts. The first part provides an introduction to the foundations of property testing. The second part studies the testing of specific properties on strings, graphs, functions, and constraint satisfaction problems. Vectors and matrices over real numbers are also covered. The third part is more advanced and explains general conditions, including full characterizations, under which properties are constant-query testable. The first and second parts of the book are intended for first-year graduate students in computer science. They should also be accessible to undergraduate students with the adequate background. The third part can be used by researchers or ambitious graduate students who want to gain a deeper theoretical understanding of property testing.
Industrial Iot Application Architectures and Use Cases
Industrial IoT Application Architectures and Use Cases explores how artificial intelligence (AI), data analytics, and IoT technology combine to promote intelligence decision-making and automation in a range of industries.
Practical Graph Structures in SQL Server and Azure SQL
Use the graph table features in Azure SQL that were introduced in SQL Server 2017 and further refined in SQL Server 2019. This book shows you how to create data structures to capture complex connections between items in your data. These connections will help you analyze and draw insights from connections in your data that go beyond classic relationships. The graph examples in the book are useful for analyzing social media relationships, complex product-to-customer relationships, and any other type of data analysis in which indirect connections that otherwise might be missed using conventional techniques can be mined for their insight and business value. Tree structures are covered, with emphasis on a structure commonly used by organizations to aggregate data at different levels of an organization. The book provides code examples of SQL Graph objects as well as an alternate tree implementation technique. Included is sample data (and data generators) for you to test for performance and choose the implementation approach that best suits your needs and that of your application.If your job involves analyzing or storage of data elements that are connected in a networked topology, then this is the book that will help you bring the power of SQL Server to bear on that data and take advantage of your existing knowledge. What You Will LearnUnderstand the graph model and the associated terms used in graph analysisStore highly connected data in SQL Server and Azure SQL alongside existing relational dataMake full use of the graph table feature that is refined and enhanced in SQL Server 2019Implement high performance tree structures that will make storing and querying tree data possibleReport on data associated with a tree structure to aggregate results at different levelsWho This Book Is For
Formal Verification of Floating-Point Hardware Design
This is the first book to focus on the problem of ensuring the correctness of floating-point hardware designs through mathematical methods. Formal Verification of Floating-Point Hardware Design, Second Edition advances a verification methodology based on a unified theory of register-transfer logic and floating-point arithmetic that has been developed and applied to the formal verification of commercial floating-point units over the course of more than two decades, during which the author was employed by several major microprocessor design companies. The theory is extended to the analysis of several algorithms and optimization techniques that are commonly used in commercial implementations of elementary arithmetic operations. As a basis for the formal verification of such implementations, high-level specifications of the basic arithmetic instructions of several major industry-standard floating-point architectures are presented, including all details pertaining to the handling of exceptional conditions. The methodology is illustrated in the comprehensive verification of a variety of state-of-the-art commercial floating-point designs developed by Arm Holdings. This revised edition reflects the evolving microarchitectures and increasing sophistication of Arm processors, and the variation in the design goals of execution speed, hardware area requirements, and power consumption. Many new results have been added to Parts I--III (Register-Transfer Logic, Floating-Point Arithmetic, and Implementation of Elementary Operations), extending the theory and describing new techniques. These were derived as required in the verification of the new RTL designs described in Part V.
Formal Methods
This book constitutes the refereed proceedings of the 25th International Symposium on Formal Methods, FM 2023, which took place in L羹beck, Germany, in March 2023. The 26 full paper, 2 short papers included in this book were carefully reviewed and selected rom 95 submissions. They have been organized in topical sections as follows: SAT/SMT; Verification; Quantitative Verification; Concurrency and Memory Models; Formal Methods in AI; Safety and Reliability. The proceedings also contain 3 keynote talks and 7 papers from the industry day.
Beginning Azure Functions
Start creating highly scalable apps and monitoring your Azure functions in production using Azure Functions 4.0. This book thoroughly explains durable functions for statefulness, covering the basics all the way through how to create bindings in durable functions. It's a deep dive into the Azure Functions serverless API and will guide you through the process of converting monolithic applications to use Azure Functions.This updated edition is revised to cover changes to Azure Portal and delves into Azure Functions runtime versions, the Isolated Process model, and offers a comparison of Azure Functions and Azure Logic Apps. You'll also learn how to register binding extensions and gain an introduction to Azure Functions binding expression patterns, along with best practices for using Azure Functions. Beginning Azure Functions will provide you with the foundational knowledge to work with Azure Functions and teach you practical skills, such as how tocreate Azure Functions using different triggers and bindings. You'll also see how to monitor your Azure Functions in production with live monitoring, and how to perform remote debugging and how to secure your functions.Upon completing this book, you'll understand Azure Functions and how to create them using the Azure portal and Visual Studio. What You Will LearnUse triggers and bindings in an Azure function Create a serverless API using Azure Functions Understand durable Azure functions, including scalability, disaster recovery, and geo-distributionDeploy Azure Function and monitor it in productionWho This Book Is For Developers who want to get started with Azure Functions, as well as DevOps developers, who are looking for guidance in how to deploy and monitor functions.
Commodore 64 Exposed
First published in 1983, this outstanding reference work about the Commodore 64 helped many owners of the much-loved home computer understand their machine to a whole new level. The details within the book enabled users to perfect their coding skills in both BASIC and advanced machine code. To this day it remains a highly useful guide for those interested in retro games programming on the classic machine.* * *As the original publisher Melbourne House wrote: Here is the definitive book for the Commodore owner.A complete and comprehensive guide to make you total master of your Commodore 64.Commodore 64 Exposed is an encyclopedia of solutions from Basic programming through to machine language, and includes vital tables of memory locations and system variables.The step-by-step format is designed to ensure that every owner will understand exactly how their Commodore 64 works. Every feature and program variable is carefully explained with the aid of simple demonstration programs that can be entered in minutes.Whether you are a first-time computer user or a serious programmer, if you want to take full advantage of your Commodore 64's impressive capabilities, then this is the book for you.* * *Acorn Books is proud to present its Retro Reproduction Series, a collection of classic computing works from the 1980s and 90s, lovingly reproduced in the 21st century. From standards of programming reference no self-respecting microcomputer programmer would be without, to obscure works not found in print anywhere else, these modern reprints are perfect for any connoisseur of retro computing.
Requirements Engineering: Foundation for Software Quality
This book constitutes the refereed proceedings of the 29th International Working Conference on Requirements Engineering: Foundation for Software Quality, REFSQ 2023, which took place in Barcelona, Spain, during April 17-20, 2023.The 12 full technical design and scientific evaluation papers, 8 short research previews and vision papers, and 5 experience reports presented in this volume were carefully reviewed and selected from 78 submissions. They were organized in topical sections as follows: Requirements communication and conceptualization; NLP and machine learning for AI; RE for artificial intelligence; crowd RE; and RE in practice.
Microsoft Power Bi Data Analyst Certification Companion
Use this book to study for the PL-300 Microsoft Power BI Data Analyst exam. The book follows the "Skills Measured" outline provided by Microsoft to help focus your study. Each topic area from the outline corresponds to an area covered by the exam, and the book helps you build a good base of knowledge in each area. Each topic is presented with a blend of practical explanations, theory, and best practices.Power BI is more than just the Power BI Desktop or the Power BI Service. It is two distinct applications and an online service that, together, enable business users to gather, shape, and analyze data to generate and present insights. This book clearly delineates the purpose of each component and explains the key concepts necessary to use each component effectively. Each chapter provides best practices and tips to help an inexperienced Power BI practitioner develop good habits that will support larger or more complex analyses. Manybusiness analysts come to Power BI with a wealth of experience in Excel and particularly with pivot tables. Some of this experience translates readily into Power BI concepts. This book leverages that overlap in skill sets to help seasoned Excel users overcome the initial learning curve in Power BI, but no prior knowledge of any kind is assumed, terminology is defined in non-technical language, and key concepts are explained using analogies and ideas from experiences common to any reader. After reading this book, you will have the background and capability to learn the skills and concepts necessary both to pass the PL-300 exam and become a confident Power BI practitioner. What You Will LearnCreate user-friendly, responsive reports with drill-throughs, bookmarks, and tool tipsConstruct a star schema with relationships, ensuring that your analysis will be both accurate and responsivePublish reports and datasets to the Power BI Service, enabling the report (and the dataset) to be viewed and used by your colleagues Extract data from a variety of sources, enabling you to leverage the data that your organization has collected and stored in a variety of sourcesSchedule data refreshes for published datasets so your reports and dashboards stay up to dateDevelop dashboards with visuals from different reports and streaming content Who This Book Is ForPower BI users who are planning to take the PL-300 exam, Power BI users who want help studying the topic areas listed in Microsoft's outline for the PL-300 exam, and those who are not planning to take the exam but want to close any knowledge gaps they might have
Numerical Methods with Python
Introduces students to appropriate use of computer programming within the scientific disciplines using Python. Discusses several common applications of programming and implementation using real world examples and hands on programming exercises. Students learn how to model situations such as image recognition, medical diagnosis, spread of disease, and others. The text could be used by students and lecturers for courses in Python, Numerical Methods, or as a first course in Data Science.
Building with Ethereum
Build products on top of Ethereum's new and expansive technological stack. Writing any good web application requires planning, care, and deft technical skills, but Ethereum's execution model presents its own challenges for engineers wishing to build applications on top of its smart contract layer. Building performant and engaging product experiences is one of the most important - and often underappreciated - roles in any company. This book looks at the full product stack needed to build such experiences on top of Ethereum smart contracts, weaving tutorials and case studies through more conversational discussions of the various constraints, trade-offs, and complexities involved in doing so. You'll learn about the fundamentals of Ethereum from a new perspective, developing a strong understanding of how the Ethereum Virtual Machine (EVM) works and how it affects product engineering, as well as all the pieces of technology that go into decentralized apps (dapps) behindthe front end: RPC nodes, wallets, indexers, application hosts, and more. You'll be exposed to plenty of UI, JavaScript code, and idiomatic ways to bring on-chain data into your front ends. And you'll be given up-to-date knowledge of the best practices and future possibilities that decentralized computation might offer the product engineer. What You Will LearnUnderstand the EVM and how it worksGain insight into smart contracts and how apps connect to themUnderstand the difference between live data and indexed dataHow decentralization affects the UI of applicationsBuild engaging, tasteful product experiences on top of EthereumWho This Book Is ForA confident - mid-level or senior - software engineer or web developer who hasn't properly branched out into Ethereum; someone who might have scratched the surface, but wants adeeper understanding of the principles behind dapps, and who wants a head start on the hurdles faced while building them.