Software Engineering and Formal Methods
This book constitutes the refereed proceedings of the 21st International Conference on Software Engineering and Formal Methods, SEFM 2023, held in Eindhoven, The Netherlands, during November 6-10, 2023. The 18 regular papers presented in this book, together with 1 invited paper and 1 tool paper, were carefully reviewed and selected from 41 submissions. The SEFM conference series aims to bring together researchers and practitioners from academia, industry and government, to advance the state of the art in formal methods, to facilitate their uptake in the software industry, and to encourage their integration within practical software engineering methods and tools.
Learn Microsoft Power Apps - Second Edition
A step-by-step guide that will help you create, share, and deploy applications across your organization using Microsoft Power AppsPurchase of the print or Kindle book includes a free PDF eBookKey FeaturesBuild apps from scratch to solve real-world business scenariosLearn how to keep app data secure with expanded coverage on DataverseIncorporate AI into your app building process using AI Builder and CopilotBook DescriptionMicrosoft Power Apps provides a modern approach to building low-code business applications for mobiles, tablets, browsers, and Microsoft Teams. The second edition of Learn Microsoft Power Apps will guide you in creating well designed and secure apps that transform old processes and workflows.Learn Microsoft Power Apps starts with an introduction to Power Apps to help you feel comfortable with the creation experience. Using screenshots from the latest UI, you will be guided through how to create an app, building your confidence to start developing further. This book will help you design, set up, and configure your first application by writing simple formulas. You'll learn about the different types of apps you can build in Power Apps and which one applies best to your requirements.In addition to this, you'll learn how to identify the right data storage system for you, with new chapters covering how to integrate apps with SharePoint or Dataverse. As you advance, you'll be able to use various controls, connectors, and data sources to create a powerful, interactive app. For example, this book will help you understand how Power Apps can use Microsoft Power Automate, Power BI, and Azure functionalities to improve your applications. Finally, you will be introduced to the emerging Power Apps Copilot tool, which uses artificial intelligence to accelerate the app building process.By the end of this Power Apps book, you'll be ready to confidently develop lightweight business applications with minimal code.What you will learnUnderstand the Power Apps ecosystem and licensingTake your first steps building canvas appsDevelop apps using intermediate techniques such as the barcode scanner and GPS controlsExplore new connectors to integrate tools across the Power PlatformStore data in Dataverse using model-driven appsDiscover the best practices for building apps cleanly and effectivelyUse AI for app development with AI Builder and CopilotWho this book is forThis book is intended for business analysts, IT professionals, and both developers and non-developers alike. If you want to meet business needs by creating purpose-built apps, this book is for you. To get the most out of this book, it is recommended that you have a basic understanding of Microsoft 365 as you will interact with various elements of it while developing apps.Table of ContentsIntroducing Power AppsCreating Your First Canvas Power AppCreating Apps in SharePointPublishing and Leveraging in Power AppsExploring ControlsExploring FormulasExploring Reusable ControlsWorking With DataIntroducing ConnectorsUsing GPS in Power AppsWorking with Images and BarcodesSecuring Your PowerAppsWorking OfflineUsing Power Automate with Power AppsUsing Azure with Power AppsVisualizing DataIntroducing Artificial IntelligenceIntroducing Microsoft DataverseIntroducing Model-Driven AppsCreating Model-Driven AppsExploring Environments and Data PoliciesIntroducing the Future of Power AppsGood Practices for Creating Power AppsAppendix
Conceptual Modeling
This book constitutes the refereed proceedings of the 42nd International Conference on Conceptual Modeling, ER 2023, held in Lisbon, Portugal, during November 6-9, 2023. The 21 full papers were carefully reviewed and selected from 121 submissions. Additionally, the book contains 4 keynote speeches and 3 tutorials, and one invited paper corresponding to one of the keynote speeches. The papers cover a broad spectrum of classical and modern topics on conceptual modeling, including research and practice in the theories of concepts and ontologies, techniques for transforming conceptual models into effective implementations, and methods and tools for developing and communicating conceptual models.
Advances in Computing
This book constitutes revised selected papers from the refereed proceedings of the 17th Colombian Conference on Computing on Advances in Computing, CCC 2023, held in Medellin, Colombia, during August 10-11, 2023.The 22 full papers and 11 short papers included in this book were carefully reviewed and selected from 68 submissions. They were organized in topical sections as follows: Industrial Applications - Industry 4.0 - Precision Agriculture, Artificial Intelligence, Distributed systems and large-scale computing, Computational Statistics, Digital Learning - E-learning, Software Engineering, Human Machine Interaction, Image processing and Computer Vision, Robotics in Industry 4.0 and Scientific Applications.
Pro Exchange Administration
Move to the current version of Exchange Server, whether it be stand-alone, on-premises, or in a hybrid configuration with Exchange Online. This updated edition provides background information on Exchange 2019, and teaches you how to bring it up to date and keep it up to date in a consistent state.The book starts with an introduction to Exchange Server, Active Directory, Exchange Online, and Azure Active Directory (AD). It takes you through designing and installing Exchange Server and guides you in managing it. You will learn Microsoft 365 integration with Azure AD in your Exchange Server. Moving to Exchange Online, Mail Flow, and authentication are also discussed, so you will better understand hybrid transport. As you progress through the book, you will see how to secure your Exchange Server with Azure App Proxy, message hygiene, and multi-factor authentication. Also covered are corporate compliance needs such as backup and restore, message records management, auditing, and information rights management. After reading this book, you will not only be able to install, configure, and maintain Exchange Server, you will also know how to secure and monitor the environment. What You Will LearnSecure your Exchange environment, including message hygieneCreate the best hybrid solution available for your needs using the best of both worldsImplement compliancy features in Exchange ServerManage and monitor the Exchange environmentWho This Book Is For System administrators, Windows administrators, network administrators, system engineers
Fundamentals of Computation Theory
This book constitutes the proceedings of the 24th International Symposium on Fundamentals of Computation Theory, FCT 2023, held in Trier, Germany, in September 2023. The __ full papers included in this volume were carefully reviewed and selected from __ submissions. In addition, the book contains ____ invited talks. The papers cover topics of all aspects of theoretical computer science, in particular algorithms, complexity, formal and logical methods.
Functional Design
A Practical Guide to Better, Cleaner Code with Functional Programming In Functional Design, renowned software engineer Robert C. Martin ("Uncle Bob") explains how and why to use functional programming to build better systems for real customers. Martin compares conventional object-oriented coding structures in Java to those enabled by functional languages, identifies the best roles for each, and shows how to build better systems by judiciously using them in context. Martin's approach is pragmatic, minimizing theory in favor of "in the-trenches" problem-solving. Through accessible examples, working developers will discover how the easy-to-learn, semantically rich Clojure language can help them improve code cleanliness, design, discipline, and outcomes. Martin examines well-known SOLID principles and Gang of Four Design Patterns from a functional perspective, revealing why patterns remain extremely valuable to functional programmers, and how to use them to achieve superior results. Understand functional basics: immutability, persistent data, recursion, iteration, laziness, and statefulness Contrast functional and object approaches through expertly crafted case studies Explore functional design techniques for data flow Use classic SOLID principles to write better Clojure code Master pragmatic approaches to functional testing, GUIs, and concurrency Make the most of design patterns in functional environments Walk through building an enterprise-class Clojure application "Functional Design exudes 'classic-on-arrival'. Bob pulls back the curtain to reveal how functional programming elements make software design simple yet pragmatic. He does so without alienating experienced object-oriented programmers coming from languages like C#, C++, or Java."--Janet A. Carr, Independent Clojure Consultant Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Coding Interview
Coding interviews have changed over the years, and the expectations are now firmer than ever. Interviewers not only want to assess your programming skills but also want to assess your behavior during the interview. It is important to develop the right practices and attitude before you go for the interview. You need to display the right skills so the interviewer can hire you without a doubt. Your communication and problem-solving methods also give the interviewer a fair idea about how well you can approach different situations at work. This book has all the information you need about coding interviews and leaves you with some example programs you can use in the interview. The book also has some tips and tricks you can use to determine how to behave in an interview. The list is not exhaustive, but it should give you an edge over the other applicants.
Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB
This book will help prepare you for the Microsoft DP-420 exam. Whether you are new to Azure Cosmos DB or have experience working with the platform, Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB is organized to address the specific skills measured in the DP-420 exam. The topics covered include NoSQL models, code, and real-world scenarios aimed at helping you to understand and solve the case studies included in the exam. Beyond the exam, this book will assist you in your journey to adopt Microsoft Azure Cosmos DB for your own projects. You'll learn what makes Azure Cosmos DB such a robust NoSQL service, as well as how NoSQL approaches help enable modern applications. You'll also get practical guidance for your own implementations. The topics covered in this book are essential to knowing how to leverage the Cosmos DB service and provide best practices that will guide you to success both on the exam and in your career. What You Will Learn Understand and hone the skills needed to pass the DP-420 examGain insight into the test-taking experience, whether at a testing center or virtuallyEvaluate and understand features of Azure Cosmos DB using real-world use cases and code samplesLearn from case studies in the book that will help you to correctly address case studies in the examBuild a foundation that goes beyond the exam and gives you the confidence to implement Azure Cosmos DB in your own projectsDetermine the trade-offs between different configurations, whether your implementation is small and local or large and requires global scale Who This Book Is For Anyone planning to take the DP-420 exam, as well as developers, engineers, and architects seeking a better understanding of Azure Cosmos DB and how it is used in developing modern applicationsusing a NoSQL approach.
Introduction to Probability for Computing
Learn about probability as it is used in computer science with this rigorous, yet highly accessible, undergraduate textbook. Fundamental probability concepts are explained in depth, prerequisite mathematics is summarized, and a wide range of computer science applications is described. Throughout, the material is presented in a "question and answer" style designed to encourage student engagement and understanding. Replete with almost 400 exercises, real-world computer science examples, and covering a wide range of topics from simulation with computer science workloads, to statistical inference, to randomized algorithms, to Markov models and queues, this interactive text is an invaluable learning tool whether your course covers probability with statistics, with stochastic processes, with randomized algorithms, or with simulation. The teaching package includes solutions, lecture slides, and lecture notes for students.
Applied Computer Sciences in Engineering
This book constitutes the refereed proceedings of the 10th Workshop on Engineering Applications, WEA 2023, held in Cartagena, Colombia, during November 1-3, 2023. The 37 full papers included in this book were carefully reviewed and selected from 93 submissions. They were organized in topical sections as follows: ​ artificial intelligence; optimization; and simulation.
Designing Software Architectures
Learn how to create successful architectural designs and improve your current design practices! Designing Software Architectures, 2nd Edition, provides a practical, step-by-step methodology for architecture design that any professional software engineer can use, with structured methods supported by reusable chunks of design knowledge and rich case studies that demonstrate how to use the methods. The Attribute-Driven Design method may not have changed since this book's first printing, but almost everything else about the industry has. In this newly updated edition, you will find new chapters on supporting business agility through API-centric design, deployability, cloud-based solutions, and technical debt in design. Humberto Cervantes and Rick Kazman illuminate best practices for how architects should design complex systems so you can make design decisions in systematic, repeatable, and cost-effective ways. This book will help you become a better, more confident designer who can create high-quality architectures with ease. The new edition includes: A clear explanation of the Attribute-Driven Design method New chapters focused on the technical environments and contexts of contemporary design Two new case studies on The Hotel Pricing System and Digital Twin Platform Coverage of current architecture topics like cloud computing, DevOps, and large-scale systems Methods to make architecture design agile and achievable Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
Jetpack Compose 1.4 Essentials
This book teaches you how to build Android applications using Jetpack Compose 1.4, Android Studio Giraffe (2023.2.1), Material Design 3, and the Kotlin programming language.The book begins with the basics by explaining how to set up an Android Studio development environment.The book also includes in-depth chapters introducing the Kotlin programming language, including data types, operators, control flow, functions, lambdas, coroutines, and object-oriented programming.An introduction to the key concepts of Jetpack Compose and Android project architecture is followed by a guided tour of Android Studio in Compose development mode. The book also covers the creation of custom Composables and explains how functions are combined to create user interface layouts, including row, column, box, flow, pager, and list components.Other topics covered include data handling using state properties, key user interface design concepts such as modifiers, navigation bars, and user interface navigation. Additional chapters explore building your own reusable custom layout components.The book covers graphics drawing, user interface animation, transitions, Kotlin Flows, and gesture handling.Chapters also cover view models, SQLite databases, Room database access, the Database Inspector, live data, and custom theme creation. Using in-app billing, you will also learn to generate extra revenue from your app.Finally, the book explains how to package up a completed app and upload it to the Google Play Store for publication.Along the way, the topics covered in the book are put into practice through detailed tutorials, the source code for which is also available for download.Assuming you already have some rudimentary programming experience, are ready to download Android Studio and the Android SDK, and have access to a Windows, Mac, or Linux system, you are ready to start.
Coding Clean, Reliable, and Safe Rest APIs with ASP.NET Core 8
Learn ASP.NET Core APIs delivered in its latest version of the Microsoft Framework: .NET 8. This book will show you how to develop APIs with ASP.NET Core 8. Author Anthony Giretti will reveal all you need to know about HTTP protocol, REST architecture style, and ASP.NET Core 8. You will learn what reflexes and mindset a developer must have to approach the development of an API of medium complexity. By performing CRUD operations on a SQL Server database, you will see how to set up a clean and reliable application with industry best practices (clean code, security, observability, optimization and testing). After completing Coding Clean, Reliable, and Safe REST APIs with ASP.NET Core 8, you will be able to develop many kinds of APIs that require a senior developer level of knowledge and provide your customers with high-quality APIs. What You Will Learn Discover the latest version of ASP.NET Core 8Code REST APIs with minimal APIsBecome familiar with clean code principlesOptimize performances with caching, background tasks and moreMake APIs resilient by handling SQL and HttpClient transient errorsUnderstand the importance of observabilityImplement Authentication and AuthorizationGrasp OWASP principlesProtect sensitive dataMaster unit testing best practices Who This Book Is For Beginner and intermediate professionals wishing to build clean, reliable and safe ASP.NET Core APIs and elevate their skills to a senior developer level.
Power BI DAX
"Power BI DAX: A Guide to Using Basic Functions in Data Analysis" is your gateway to unleashing the full potential of Power BI. Discover the language of DAX, from fundamentals to advanced techniques. Learn essential functions like SUM, AVERAGE, IF, and explore advanced calculations with strings, time, and finance. With step-by-step guidance and real-world examples, you'll master DAX for dynamic visualizations, data modeling, and performance optimization. Whether a seasoned analyst or a beginner, this book empowers you to transform raw data into valuable insights. Unlock the power of DAX in Power BI and become a true data analysis master. Get your copy now!
Automated Technology for Verification and Analysis
This book constitutes the refereed proceedings of the 21st International Symposium on Automated Technology for Verification and Analysis, ATVA 2023, held in Singapore, in October 2023. The symposium intends to promote research in theoretical and practical aspects of automated analysis, verification and synthesis by providing a forum for interaction between regional and international research communities and industry in related areas. The 30 regular papers presented together with 7 tool papers were carefully reviewed and selected from 150 submissions.The papers are divided into the following topical sub-headings: Temporal logics, Data structures and heuristics, Verification of programs and hardware.
Logic-Based Program Synthesis and Transformation
This book constitutes the refereed proceedings of the 33rd International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2023, held in Cascais, Portugal, during October 23-24, 2023. The 8 full papers and 4 short papers included in this book were carefully reviewed and selected from 29 submissions. They were organized in topical sections as follows: Horn Clauses Analysis, Transformation and Synthesis; Static analysis and Type systems; Unification and substitution in (C)LP; and Knowledge representation and AI-based learning.
Technologies and Innovation
This book constitutes the refereed proceedings of the 9th International Conference on Technologies and Innovation, CITI 2023, held in Guayaquil, Ecuador, during November 13-16, 2023. The 20 full papers included in this book were carefully reviewed and selected from 51 submissions. They were organized in topical sections as follows: Machine Learning; Natural Language Processing and Semantic Web; Computer vision; and Knowledge-based systems.
Automated Technology for Verification and Analysis
This book constitutes the refereed proceedings of the 21st International Symposium on Automated Technology for Verification and Analysis, ATVA 2023, held in Singapore, in October 2023. The symposium intends to promote research in theoretical and practical aspects of automated analysis, verification and synthesis by providing a forum for interaction between regional and international research communities and industry in related areas. The 30 regular papers presented together with 7 tool papers were carefully reviewed and selected from 150 submissions.The papers are divided into the following topical sub-headings: Temporal logics, Data structures and heuristics, Verification of programs and hardware.
Quantum Computing Algorithms
Explore essential quantum computing algorithms and master concepts intuitively with minimal math expertise required Key Features: Learn the fundamentals with an introduction to matrix arithmeticWrite quantum computing programs in Qiskit-IBM's publicly available quantum computing websiteEmail your questions directly to the author-no question is too elementaryPurchase of the print or Kindle book includes a free PDF eBookBook Description: Navigate the quantum computing spectrum with this book, bridging the gap between abstract, math-heavy texts and math-avoidant beginner guides. Unlike intermediate-level books that often leave gaps in comprehension, this all-encompassing guide offers the missing links you need to truly understand the subject.Balancing intuition and rigor, this book empowers you to become a master of quantum algorithms. No longer confined to canned examples, you'll acquire the skills necessary to craft your own quantum code. Quantum Computing Algorithms is organized into four sections to build your expertise progressively.The first section lays the foundation with essential quantum concepts, ensuring that you grasp qubits, their representation, and their transformations. Moving to quantum algorithms, the second section focuses on pivotal algorithms - specifically, quantum key distribution and teleportation.The third section demonstrates the transformative power of algorithms that outpace classical computation and makes way for the fourth section, helping you to expand your horizons by exploring alternative quantum computing models.By the end of this book, quantum algorithms will cease to be mystifying as you make this knowledge your asset and enter a new era of computation, where you have the power to shape the code of reality.What You Will Learn: Define quantum circuitsHarness superposition and entanglement to solve classical problemsGain insights into the implementation of quantum teleportationExplore the impact of quantum computing on cryptographyTranslate theoretical knowledge into practical skills by writing and executing code on real quantum hardwareExpand your understanding of this domain by uncovering alternative quantum computing modelsWho this book is for: This book is for individuals familiar with algebra and computer programming, eager to delve into modern physics concepts. Whether you've dabbled in introductory quantum computing material or are seeking deeper insights, this quantum computing book is your gateway to in-depth exploration.
Research and Evidence in Software Engineering
The book stresses empirical studies to highlight research gaps, providing constructive feedback on existing research to aid software engineering researchers by providing code and software engineering data sets.
SQL Server Database Programming with Java
This textbook covers both fundamental and advanced Java database programming techniques for beginning and experienced students as well as programmers (courses related to database programming in Java with Apache NetBeans IDE 12 environment). A sample SQL Server 2019 Express database, CSE_DEPT, is created and implemented in all example projects throughout this textbook. Over 40 real sample database programming projects are covered in this textbook with detailed illustrations and explanations to help students understand the key techniques and programming technologies. Chapters include homework and selected solutions to strengthen and improve students' learning and understanding for topics they study in the classroom. Both Java desktop and Web applications with SQL Server database programming techniques are discussed and analyzed. Some updated Java techniques, such as Java Server Pages (JSP), Java Server Faces (JSF), Java Web Service (JWS), JavaServer Pages Standard Tag Library (JSTL), JavaBeans and Java API for XML Web Services (JAX-WS) are also discussed and implemented in the real projects developed in this textbook. This textbook targets mainly advanced-level students in computer science, but it also targets entry-level students in computer science and information system. Programmers, software engineers and researchers will also find this textbook useful as a reference for their projects.
C# for Beginners
Looking For An Easy To Follow & Comprehensive C# Programming Guide? Want to learnthe secrets of C# programming language but don't have the time to watch all those endless explainer videosand tutorials? Need a quick, simple and easy-to-follow C# guide? Here's how you can master the popular C#programming language and start developing your own Microsoft platform apps!The Ultimate C#Programming Language Guide - Everything You Need To Know In A Nutshell! By the end of thisall-inclusive beginner's guide to C# programming language, you will learn everything you need, including: - Variables- Data Types- User Input- Operators- Functions-Control Structures- Programming TutorialsAs a result, our all-in-one C# guide will help yougain an in-depth understanding of programming fundamentals and enhance your programming skills withouthaving to spend a small fortune or waste time watching hours of boring videos.And The BestPart?You can do it at your own pace, come back to any part you need to revise and re-take everystep from the beginning. Unlike those videos that you have to rewind every time you have a questions, our C#guide will allow you to maximize your efficiency and minimize the time needed to master the C# programminglanguage!What Are You Waiting For? Nathan Metzler, the author of this in-depthguide, has been one of the C# language pioneers ever since it was first developed and started gainingpopularity. His years of experience will enable you to understand the basics of C# programming languagefaster in a fun and easy way. Plus, the simple writing style will make you forget that you are reading a bookabout computer programming languages and allow you to focus better on your results.Click "BuyNow" If You Want To Take Your App Programming Skills To Another Level & Master C#!
Fighting Back the von Neumann Bottleneck with Small- and Large-Scale Vector Microprocessors
In his seminal Turing Award Lecture, Backus discussed the issues stemming from the word-at-a-time style of programming inherited from the von Neumann computer. More than forty years later, computer architects must be creative to amortize the von Neumann Bottleneck (VNB) associated with fetching and decoding instructions which only keep the datapath busy for a very short period of time. In particular, vector processors promise to be one of the most efficient architectures to tackle the VNB, by amortizing the energy overhead of instruction fetching and decoding over several chunks of data. This work explores vector processing as an option to build small and efficient processing elements for large-scale clusters of cores sharing access to tightly-coupled L1 memory
Software Development: A Career Guide
Software is typically developed to meet the demands of potential customers, clients and businesses or for personal use. Software development refers to the process of designing, programming, conceiving, testing, documenting and bug fixing which are inherent processes involved in the creation and maintenance of software components. Writing and managing the source code is an important aspect of software development. Software products are developed through meticulous research, prototyping, reuse, re-engineering, etc. Some of the many professionals involved in this functional domain are computer programmers, software developers, software engineers, consulting software engineers and software publishers, among many others. This textbook provides comprehensive insights into the field of software development. Most of the topics introduced herein discuss the various careers involved in this domain and the ways to succeed in them. It is an essential guide for both academicians and those who wish to pursue this discipline further.
The Scrum Anti-Patterns Guide
Unlock Scrum success for beginners and experts alike with The Scrum Anti-Patterns Guide, your key to understanding and elevating Scrum practices. Scrum is simple to understand but difficult to master. As a framework, Scrum is particularly challenging as there is no formal education tailored to these roles and no comprehensive set of practices readily available to those interested in applying it. The Scrum Guide 2020 describes its underlying principles only in the broadest strokes--from applying Scrum to complex adaptive problems to embracing self-management--but the Scrum Guide is not at all prescriptive about how Scrum Teams work. The Scrum Anti-Patterns Guide compiles the most common challenges that every Scrum Team faces and how to remedy them. Stefan Wolpers uses the Scrum Guide as a template to structure the content, thus supporting the junior practitioner's Scrum discovery journey (categorized by roles, events, artifacts, and commitments) while allowing the more experienced reader to use the book to reference individual problems or situations. Addresses Scrum anti-patterns for both novices and experienced practitioners Offers actionable insights into why Scrum implementations fall short and how to improve Covers real-time course corrections and improvements in Scrum practice Maximize Scrum success with this quick reference to the most common Scrum anti-patterns and how to resolve them. "Stefan Wolpers has a remarkable ability to highlight underlying traps and issues for stakeholders, teams, and process. Wolpers documents sources of waste and frustration, an amazing compendium of typical ways progress becomes blocked. Depressing! He doesn't leave us there though. He also recommends insightful remedies. Uplifting!" --Diana Larsen, speaker, advisor, author, and co-developer of the Agile Fluency(R) Model Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Web API Development for the Absolute Beginner
If you are a developer who wants to learn the basic skills of web and application programming interfaces (APIs) with .NET, this book is your complete introduction. The book takes a learn-by-experience approach. You will hit the ground running with a sample project that has everything you need to be wired up.As you follow along, you will learn simple and intuitive conventions that will free you from some of the more tedious decisions and work, in order to allow you to focus on the business requirements required by your team. Certain components of the framework should always appear in certain folders in the solution to speed up development while others need a name that follows particular conventions. You will learn the building blocks of Web API and how to leverage them to have a well-rounded API. Understanding these small but important tricks will make development faster, easier, and more pleasant, and will prevent time-consuming errors.Part I introduces you to the basics of Web. Part II gets you started creating an API that you will use and build upon throughout the book until you have a complete project. All companion code is available via GitHub. Part III covers more advanced concepts, including how to override out-of-the-box conventions to customize an API to meet your specific business needs. By the end of the book you will have a fully functional API, and you will be better prepared for an interview for a .NET backend developer job.What You Will Learn Build a start-to-finish Web APIKnow the main concepts of the WebApply best practices in API development to your own projectsKnow the fundamentals of Web API developmentKnow the fundamentals of a RESTful APILeverage Web API constructs to implement a clean and extensible APIGet hands-on experience to unit test a Web APIGain the skills required to apply for a junior or entry-level .NET Web developer job Who This Book Is ForDevelopers who want to learn API development with .NET. It is helpful to have some basic C# programming knowledge because it is used in API development in .NET, but it is not mandatory. Readers should be familiar with a programming language to be able to understand code and examples. Experience with web development is not necessary.
Confident Coding
Coding is one of the most in-demand skills in the job market. Whether you're a recent graduate or a professional, Confident Coding offers the career insights and technical knowledge you need for success. A unique combination of technical insights and fascinating career guidance, this book highlights the importance of coding, whatever your professional profile. For entrepreneurs, being able to create your own website or app can grant you valuable freedom and revolutionize your business. For aspiring developers, this book will give you the building blocks to embark on your career path. This new and improved third edition of the award-winning book gives you a step-by-step learning guide to HTML, CSS, JavaScript, Python, building iPhone and Android apps and debugging. Confident Coding is the essential guide to mastering the fundamentals of coding. About the Confident series...From coding and data science to cloud and cyber security, the Confident books are perfect for building your technical knowledge and enhancing your professional career.
Applicable Formal Methods for Safe Industrial Products
This Festschrift, dedicated to Jan Peleska on the occasion of his 65th birthday, contains papers written by many of his closest collaborators in academic and industry research. After studying mathematics at the University of Hamburg, Jan worked with Philips and Deutsche System-Technik on fault-tolerant systems, distributed systems, database systems, and safety-critical embedded systems. Since 1994 he has worked as a consultant to industry, specializing in development methods, verification, validation and test of safety-critical systems, and since 1995 he has been a Professor of Computer Science at the University of Bremen. In his research he has been most interested in the combination and application of existing methods and corresponding tools to real-world problems, particularly in the field of safety-critical embedded systems and distributed systems, including avionics and railway control systems. The papers in this volume reflect those interests, and the impact he has had on colleagues and collaborators. The volume is structured into sections on testing; railway verification and safety & security; intelligent systems and cyber-physical systems; and tools and techniques for specification, verification and code generation.
Logic and Engineering of Natural Language Semantics
This volume LNCS 14213 constitutes the refereed proceedings of the 19th International Conference, LENLS 2019, held in November 2022, in Tokyo, Japan. The 13 full papers presented were carefully reviewed and selected from 34 submissions. The conference focuses on theoretical and computational linguistics covering topics ranging from syntax, semantics, and pragmatics to the philosophy of language and natural language processing.
Job Scheduling Strategies for Parallel Processing
This book constitutes the thoroughly refereed post-conference proceedings of the 26th International Workshop on Job Scheduling Strategies for Parallel Processing, JSSPP 2023, held in St. Petersburg, FL, USA, during May 19, 2023. The 8 full papers and one keynote paper included in this book were carefully reviewed and selected from 14 submissions. The volume contains two sections: keynote and technical papers.
Electronic Governance with Emerging Technologies
This book constitutes the refereed proceedings of the Second International Conference on Electronic Governance with Emerging Technologies, EGETC 2023, held in Poznan, Poland, during September 11-12, 2023.The 15 full papers and one short paper presented were thoroughly reviewed and selected from the 76 submissions. This volume focuses on the recent developments in the domain of eGovernment and governance of digital organizations also aims to shed light on the emerging research trends and their applications.
String Processing and Information Retrieval
This volume LNCS 14240 constitutes the refereed proceedings of the 30th International Symposium on String Processing and Information Retrieval, SPIRE 2023, held in Pisa, Italy, during September 26-28, 2023. The 31 full papers presented were carefully reviewed and selected from 47 submissions. They cover topics such as: data structures; algorithms; constrained Substring complexity; data compression codes; succinct k-spectra; and LCP array of wheeler DFAs.
Pro Power Bi Theme Creation
Use JSON theme files to standardize the look of Power BI dashboards and reports. This book shows how you can create theme files using the Power BI Desktop application to define high-level formatting attributes for dashboards as well as how to tailor detailed formatting specifications for individual dashboard elements in JSON files. Standardize the look of your dashboards and apply formatting consistently over all your reports. The techniques in this book provide you with tight control over the presentation of all aspects of the Power BI dashboards and reports that you create. Power BI theme files use JSON (JavaScript Object Notation) as their structure, so the book includes a brief introduction to JSON as well as how it applies to Power BI themes. The book further includes a complete reference to all the current formatting definitions and JSON structures that are at your disposal for creating JSON theme files up to the May 2023 release of Power BI Desktop. Finally, the book includes dozens of theme files, from the simple to the most complex, that you can adopt and adapt to suit your own requirements. What You Will Learn Produce designer output without manually formatting every individual visual in a Power BI dashboardStandardize presentation for families of dashboard typesSwitch presentation styles in a couple of clicksSave dozens, or hundreds, of hours laboriously formatting dashboardsDefine enterprise-wide presentation standardsRetroactively apply standard styles to existing dashboards Who This Book Is For Power BI users who want to save time by defining standardized formatting for their dashboards and reports, IT professionals who want to create corporate standards of dashboard presentation, and marketing and communication specialists who want to set organizational standards for dashboard delivery.
Theories of Programming and Formal Methods
This Festschrift volume, dedicated to Jifeng He on the occasion of his 80th birthday, includes refereed papers by leading researchers, many of them current and former colleagues, presented at a dedicated celebration in the Shanghai Science Hall in September 2023. Jifeng was an important researcher on the European ESPRIT ProCoS project and the Working Group on Provably Correct Systems, subsequently he collaborated with Tony Hoare on Unifying Theories of Programming. Jifeng returned to China in 1998, first to the United Nations University in Macau and then to the East China Normal University in Shanghai. He has since founded an Artificial Intelligence research institute that focuses on the application of technology in large-scale industrial software systems. His scientific contributions have been recognized through his election to membership of the Chinese Academy of Sciences. The first paper in the volume provides an overview of Jifeng's research contributions, especially in the area of formal methods, and the following two papers detail developments in UTP and rCOS (refinement calculus of object systems). In the next two sections of the book, the editors included papers by colleagues and coauthors of Jifeng while he was at the University of Oxford and engaged with the European ProCoS project. The section that follows includes papers authored by colleagues from his later research in China and Europe. The final section includes a paper related to Jifeng's recent roadmap for UTP.
Practical C++ Backend Programming
"Practical C++ Backend Programming" is a comprehensive walkthrough that provides readers with the necessary tools and knowledge to become proficient C++ backend developers. With a strong focus on real-world application and practical implementation, this book takes readers on a journey through the multifaceted landscape of backend development, making it an essential resource for any aspiring or current backend developer.Starting with the basics, the book introduces C++, providing a solid foundation in the language, its structure, and core concepts with regards to backend programming. From there, readers dive into the more complex elements of backend development. Through our engaging sections, use-cases and sample examples, readers are introduced to advanced topics such as concurrent programming, exploring threading and multiprocessing to handle intensive computational tasks, thus laying the groundwork for scalable applications.This book offers an in-depth look into APIs, specifically gRPC, along with caching strategies, and database management, using MongoDB as a NoSQL database of choice. All the while, readers will learn to implement these technologies in a practical context, building a blog application from scratch, thereby bridging the gap between theory and practical implementation. An entire section is dedicated to securing applications, wherein the book teaches authentication, authorization, and database security, and demonstrates how to implement these measures in the blog application.Another utmost important part of this book is to cover testing strategies, teaching the reader how to employ Google Test (gtest) to create robust and fail-proof backend solutions. Finally, the journey culminates in a step-by-step walkthrough to deploying applications on AWS, ensuring the reader is equipped with the necessary skills to take their applications live.Key LearningsDetailed overview of C++ programming, catering to both beginners and experienced coders.Practical exploration of concurrent programming for scalable and efficient application design.Comprehensive understanding of API usage, specifically using the gRPC framework.Deep dive into MongoDB for effective NoSQL database management and operations.Thorough walkthrough to implementing caching strategies for performance optimization.Strategic use of Nginx for handling web server needs including load balancing.Hands-on guide to implementing security measures for databases, APIs, and web servers.Instruction on employing Google Test for robust application testing and debugging.Step-by-step guidance for deploying applications on AWS, ensuring real-world readiness.Practical application of concepts via building and refining a blog application.Table of ContentIntroduction to Backend DevelopmentC++ Refresher and EssentialsDeep Dive into AlgorithmsMastering Version Control - Git and GitHubManaging Database Operations with MongoDBCrafting Rest APIs with gRPCDealing with Client-side and Server-side CachingManaging Web Servers with NginxTesting Your C++ BackendSecuring Your C++ BackendDeploying Your ApplicationAudienceThis book is appropriate for readers with some background in C++ and nothing about back-end development. It's great for those just getting their feet wet in back-end, as well as seasoned pros looking to hone their craft and learn something new. Whether you're a student, or professional this book will teach you everything you need to know to master the art of C++ back-end development.
Formal Methods for an Informal World
This volume includes six lectures given at the ICTAC (International Colloquium on Theoretical Aspects of Computing) School on Formal Methods for an Informal World, held on September 1-7, 2021, originally scheduled to take place in Astana but held in virtual mode due to the pandemic.The school addressed the use of formal methods at various levels of rigour in different application domains: human-computer interaction, cognitive science, business process management, robotics, and healthcare. The emphasis of the school was on practical applications in which formal methods provide unambiguous descriptions of the real world that facilitate understanding and formal and informal analysis. The target audience consists of graduate students, young researchers and industrial practitioners, from both computer science and other fields that make use of computational methods.
Linux Containers and Virtualization
This book is a practical, comprehensive guide to creating secure and efficient Linux containers using the Rust programming language. It utilizes a hands-on approach to teach Rust's programming constructs, security features, and its application in containerization. Author Shashank Mohan Jain starts with a gentle introduction to Rust to help you grasp the language's core concepts, syntax, and unique memory safety guarantees. He then transitions into the realm of Linux container development, where Rust shines as a robust and secure language for building containerized applications. Through hands-on examples, you will gain a deep understanding of how to harness Rust's features to create lightweight and secure Linux containers and how to leverage its strong type system and ownership model to eliminate common bugs and ensure memory safety in containerized applications. As you progress, you'll explore the intricacies of working with system resources, networking, and interacting withthe host operating system while maintaining isolation and security within the containers, as well as how Rust's concurrency model can build performant and responsive containerized applications. The book also covers advanced topics such as secure configuration handling, logging, and handling authentication within your containerized environment. After completing this book, you will be well-versed in Rust programming, equipped to create efficient and secure Linux containers, and confident in your ability to develop containerized applications for a variety of use cases. What You Will Learn Understand the basics of the Rust programming languageUnderstand Rust's security featuresCreate Linux constructs like namespaces in RustDevelop your own container runtime using Rust Who This Book Is For Developers, Architects and SREs working with cloud applications and dealing with container based workloads.
Quality of Information and Communications Technology
This book constitutes the refereed proceedings of the 16th International Conference on Quality of Information and Communications Technology, QUATIC 2023, held in Aveiro, Portugal, during September 11-13, 2023.The 17 full papers and 4 short papers included in this book were carefully reviewed and selected from 37 submissions. They were organized in topical sections as follows: Disseminating Advanced Methods, Techniques, and Tools for Supporting Quality ICT Engineering and Management Approaches.
Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification
This book constitutes the proceedings of the 5th International Conference on Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification, RSSRail 2023, held in Berlin, Germany, during October 10-12, 2023.The 13 full papers presented in this book together with 3 keynotes were carefully reviewed and selected from 25 submissions. The papers are divided into the following topical sections: modeling for security; tooled approaches and dependability of highly automated transport systems; formal methods for safety assessment; and formal model and visual tooling.
Persistence Best Practices for Java Applications
The definitive guide for designing and delivering reliable and high-performing persistence layers using Java in the cloud-native agePurchase of the print or Kindle book includes a free PDF eBookKey Features: Uncover database patterns for designing readable and maintainable architectures and Java applicationsMaster various techniques to overcome application and architecture persistence challengesDiscover painless application modernization with change-data-capture powered by cloud-native technologiesBook Description: Having a solid software architecture breathes life into tech solutions. In the early stages of an application's development, critical decisions need to be made, such as whether to go for microservices, a monolithic architecture, the event-driven approach, or containerization. In Java contexts, frameworks and runtimes also need to be defi ned. But one aspect is often overlooked - the persistence layer - which plays a vital role similar to that of data stores in modern cloud-native solutions. To optimize applications and data stores, a holistic understanding of best practices, technologies, and existing approaches is crucial.This book presents well-established patterns and standards that can be used in Java solutions, with valuable insights into the pros and cons of trending technologies and frameworks used in cloud-native microservices, alongside good Java coding practices. As you progress, you'll confront the challenges of cloud adoption head-on, particularly those tied to the growing need for cost reduction through stack modernization. Within these pages, you'll discover application modernization strategies and learn how enterprise data integration patterns and event-driven architectures enable smooth modernization processes with low-to-zero impact on the existing legacy stack.What You Will Learn: Gain insights into data integration in Java services and the inner workings of frameworksApply data design patterns to create a more readable and maintainable design systemUnderstand the impact of design patterns on program performanceExplore the role of cloud-native technologies in modern application persistenceOptimize database schema designs and leverage indexing strategies for improved performanceImplement proven strategies to handle data storage, retrieval, and management efficientlyWho this book is for: If you're a developer, engineer, or software architect working in the field of software development, particularly with a focus on Java solutions, this book is for you.
Grokking Algorithms
Welcome to Grokking Algorithms: Advanced Methods to learn and use Grokking Algorithms and Data structures for Programming.Even before the conception of the computer itself, algorithms existed. After the computer was introduced and with all the development that followed, the number of existing algorithms grew increasingly. At this stage, it wouldn't be wrong to say that algorithms are the core of what computing today is capable of. Grokking Algorithms provides a very comprehensive and interesting introduction to the world of computer algorithms. We will look at a lot of algorithms and their uses, and we'll even learn how to manipulate them step by step. Even though the book is aimed at an audience with a more advanced level of knowledge, we have tried to convey most of the explanations and knowledge contained within the book in an easygoing manner to make it easier to understand.
Grokking Algorithms
Algorithms will always be the central point of efficient development, and you will use them everywhere. You'll need to use them when writing code, you'll come across them at every coding interview you attend, and they will definitely be part of your daily development work. Even more, they are part of life, and throughout this book, I'll show you some real-world examples of algorithms to help you understand them more easily. What is algorithmic thinking, though? And how do you use it to help you work through a problem?How to Use Algorithmic Thinking For many people, algorithmic thinking is a complete change in their thinking. The concept isn't difficult - it's merely a way of systematically thinking through a problem and finding the solution, much the same way a computer runs.
Modern Data Architecture on Azure
This book is an exhaustive guide to designing and implementing data solutions on Azure. It covers the process of managing data from end to end, starting from data collection all the way through transformation, distribution, and consumption. Modern Data Architecture on Azure begins with an introduction to the fundaments of data management, followed by a demonstration of how to build relational and non-relational data solutions on Azure. Here, you will learn data processing for complex analysis and how to work with CSV and JSON files. Moving forward, you will learn the foundational concepts of big data architecture, along with data management patterns and technology options offered by Azure. From there, you'll be walked through the data architecture process, including data consortium on Azure, enterprise data governance, and much more. The book culminates with a deep dive into data architecture frameworks with data modeling. After reading this book, you will have a thorough understanding of data design and analytics using Azure, allowing you to collect and analyze massive amounts of data to optimize business performance, forecast future results, and more. What Will You Learn Understand the fundamentals of data architecture including data management, data handling ethics, data governance, and metadata managementAnalyze and understand business needs to choose the right Azure services and make informed business decisionsUnderstand Azure Cloud Data design patterns for relational and non-relational data, batch real-time processing, and ETL/ELT pipelinesModernize data architecture using Azure to leverage data and AI to enable digital transformation by securing and optimizing overall data lifecycle management Who Is This Book For: Data solution architects, data engineers, and IT consultants who want to gain a better understanding of modern data architecture design and implementation on Azure.
Recent Trends in Algebraic Development Techniques
This book constitutes the thoroughly refereed post-conference proceedings of the 26th International Workshop on Algebraic Development Techniques, WADT 2022, held in Aveiro, Portugal, in June 2022.The 6 revised papers presented together with 2 invited papers were carefully reviewed and selected from 25 submissions. The contributed presentations covered a range of topics about the algebraic approach to system specification, which encompasses many aspects of the formal design of software systems. Originally born as formal method for reasoning about abstract data types, the algebraic approach now covers new specification frameworks and programming paradigms (such as object-oriented, aspect-oriented, agent-oriented, logic, and higher-order functional programming) as well as a wide range of application areas (including information systems, concurrent, distributed, and mobile systems).
Testing Software and Systems
This book constitutes the refereed proceedings of the 35th IFIP WG 6.1 International Conference on Testing Software and Systems, ICTSS 2023, held in Bergamo, Italy, during September 18-20, 2023.The 13 full papers presented together with 6 short papers and one journal paper were carefully reviewed and selected from 56 submissions. The conference focuses on Test Case Generation; Test Automation and Design; Model Based Testing; and AI and Smart Contracts Testing.