Simplifying Hybrid Cloud Adoption with AWS
Become an expert in AWS Outposts and Hybrid architectures with in-depth explanations of the product and order processes while exploring the capabilities for creating next-generation edge solutionsKey Features: Learn AWS Outposts from the ground up guided by an AWS hybrid edge solutions architectMaster hybrid edge concepts, use cases, and architectures and discover how AWS Outposts fits into this spaceBecome the go-to professional for designing, deploying, operating, and maintaining AWS OutpostsBook Description: The hybrid edge specialty is often misunderstood because it began with an on-premises-focused view encompassing everything not running inside the traditional data center. If you too have workloads that need to live on premises and need a solution to bridge the gap between both worlds, this book will show you how AWS Outposts allows workloads to leverage the benefits of the cloud running on top of AWS technology.In this book, you'll learn what the Edge space is, the capabilities to look for when selecting a solution to operate in this realm, and how AWS Outposts delivers. The use cases for Outposts are thoroughly explained and the physical characteristics are detailed alongside the service logical constructs and facility requirements. You'll gain a comprehensive understanding of the sales process-from order placement to rack delivery to your location. As you advance, you'll explore how AWS Outposts works in real life with step-by-step examples using AWS CLI and AWS Console before concluding your journey with an extensive overview of security and business continuity for maximizing the value delivered by the product.By the end of this book, you'll be able to create compelling hybrid architectures, solve complex use cases for hybrid scenarios, and get ready for your way forward with the help of expert guidance.What You Will Learn: Discover the role of AWS Outposts in the hybrid edge spaceUnderstand rack components with typical use cases for AWS OutpostsExplore AWS services running on Outposts and its capabilitiesSelect, order, and successfully deploy your OutpostsWork with Outposts resources for hands-on operationsAssess logical and physical security aspects and considerationsMonitor and log configuration and usage to improve your architectureMaintain and troubleshoot hardware and software that run AWS servicesWho this book is for: If you are a seasoned data center professional, this book will empower you to support businesses to build hybrid edge solutions with AWS technology. It will also help AWS Cloud professionals to master a unique offering in the AWS portfolio that takes Amazon web services beyond the regions. Familiarity with AWS services and traditional data center concepts is assumed.
Applied Computer Sciences in Engineering
This book constitutes the proceedings of the 9th Workshop on Engineering Applications on Applied Computer Sciences in Engineering, WEA 2022, which took place in Bogot獺, Colombia, in November/December 2022. The 39 papers presented in this volume were carefully reviewed and selected from 143 submissions. They were organized in topical sections as follows: Artificial Intelligence; Optimization; Simulation; and Applications.
Algorithms and Architectures for Parallel Processing
This book constitutes the refereed proceedings of the 22nd International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2022, which was held in October 2022. Due to COVID-19 pandemic the conference was held virtually. The 33 full papers and 10 short papers, presented were carefully reviewed and selected from 91 submissions. The papers cover many dimensions of parallel algorithms and architectures, encompassing fundamental theoretical approaches, practical experimental projects, and commercial components and systems
SQL Server Analytical Toolkit
Learn window function foundational concepts through a cookbook-style approach, beginning with an introduction to the OVER() clause, its various configurations in terms of how partitions and window frames are created, and how data is sorted in the partition so that the window function can operate on the partition data sets. You will build a toolkit based not only on the window functions but also on the performance tuning tools, use of Microsoft Excel to graph results, and future tools you can learn such as PowerBI, SSIS, and SSAS to enhance your data architecture skills.This book goes beyond just showing how each function works. It presents four unique use-case scenarios (sales, financial, engineering, and inventory control) related to statistical analysis, data analysis, and BI. Each section is covered in three chapters, one chapter for each of the window aggregate, ranking, and analytical function categories.Each chapter includes several TSQL code examples and is re-enforced with graphic output plus Microsoft Excel graphs created from the query output. SQL Server estimated query plans are generated and described so you can see how SQL Server processes the query. These together with IO, TIME, and PROFILE statistics are used to performance tune the query. You will know how to use indexes and when not to use indexes.You will learn how to use techniques such as creating report tables, memory enhanced tables, and creating clustered indexes to enhance performance. And you will wrap up your learning with suggested steps related to business intelligence and its relevance to other Microsoft Tools such as Power BI and Analysis Services.All code examples, including code to create and load each of the databases, are available online.What You Will LearnUse SQL Server window functions in the context of statistical and data analysisRe-purpose code so it can be modified for your unique applicationsStudy use-case scenarios that span four critical industriesGet started with statistical data analysis and data mining using TSQL queries to dive deep into dataStudy discussions on statistics, how to use SSMS, SSAS, performance tuning, and TSQL queries using the OVER() clause.Follow prescriptive guidance on good coding standards to improve code legibility Who This Book Is ForIntermediate to advanced SQL Server developers and data architects. Technical and savvy business analysts who need to apply sophisticated data analysis for their business users and clients will also benefit. This book offers critical tools and analysis techniques they can apply to their daily job in the disciplines of data mining, data engineering, and business intelligence.
Static Analysis
This book constitutes the refereed proceedings of the 29th International Symposium on Static Analysis, SAS 2022, held in Auckland, New Zealand, in December 2022.The 18 full papers included in this book were carefully reviewed and selected from 43 submissions. Static analysis is widely recognized as a fundamental tool for program verification, bug detection, compiler optimization, program understanding, and software maintenance. The papers deal with theoretical, practical and application advances in the area.
Job Scheduling Strategies for Parallel Processing
This book constitutes the thoroughly refereed post-conference proceedings of the 25th International Workshop on Job Scheduling Strategies for Parallel Processing, JSSPP 2022, held as a virtual event in June 2022 (due to the Covid-19 pandemic).The 12 revised full papers presented were carefully reviewed and selected from 19 submissions. In addition to this,1 keynote paper was included in the workshop. The volume contains two sections: Technical papers and Open Scheduling Problems.
The Python Workshop - Second Edition
Gain proficiency, productivity, and power by working on projects and kick-starting your career in Python with this comprehensive, hands-on guide.Key Features: Understand and utilize Python syntax, objects, methods, and best practicesExplore Python's many features and libraries through real-world problems and big dataUse your newly acquired Python skills in machine learning as well as web and software developmentBook Description: Python is among the most popular programming languages in the world. It's ideal for beginners because it's easy to read and write, and for developers, because it's widely available with a strong support community, extensive documentation, and phenomenal libraries - both built-in and user-contributed.This project-based course has been designed by a team of expert authors to get you up and running with Python. You'll work though engaging projects that'll enable you to leverage your newfound Python skills efficiently in technical jobs, personal projects, and job interviews. The book will help you gain an edge in data science, web development, and software development, preparing you to tackle real-world challenges in Python and pursue advanced topics on your own. Throughout the chapters, each component has been explicitly designed to engage and stimulate different parts of the brain so that you can retain and apply what you learn in the practical context with maximum impact.By completing the course from start to finish, you'll walk away feeling capable of tackling any real-world Python development problem.What You Will Learn: Write efficient and concise functions using core Python methods and librariesBuild classes to address different business needsCreate visual graphs to communicate key data insightsOrganize big data and use machine learning to make regression and classification predictionsDevelop web pages and programs with Python tools and packagesAutomate essential tasks using Python scripts in real-time executionWho this book is for: This book is for professionals, students, and hobbyists who want to learn Python and apply it to solve challenging real-world problems. Although this is a beginner's course, you'll learn more easily if you already have an understanding of standard programming topics like variables, if-else statements, and functions. Experience with another object-oriented program, though not essential, will also be beneficial. If Python is your first attempt at computer programming, this book will help you understand the basics with adequate detail for a motivated student.
Algorithmics of Wireless Networks
This book constitutes the refereed proceedings of the 18th International Symposium on Algorithmics of Wireless Network, ALGOSENSORS 2022, which took place in Potsdam, Germany in September 2022.The 10 full papers presented in this volume were carefully reviewed and selected from 21 submissions. ALGOSENSORS is an international symposium dedicated to algorithmic aspects of wireless networks.
Leveraging Applications of Formal Methods, Verification and Validation. Adaptation and Learning
This four-volume set LNCS 13701-13704 constitutes contributions of the associated events held at the 11th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2022, which took place in Rhodes, Greece, in October/November 2022. The contributions in the four-volume set are organized according to the following topical sections: specify this - bridging gaps between program specification paradigms; x-by-construction meets runtime verification; verification and validation of concurrent and distributed heterogeneous systems; programming - what is next: the role of documentation; automated software re-engineering; DIME day; rigorous engineering of collective adaptive systems; formal methods meet machine learning; digital twin engineering; digital thread in smart manufacturing; formal methods for distributed computing in future railway systems; industrial day.
Leveraging Applications of Formal Methods, Verification and Validation. Software Engineering
This four-volume set LNCS 13701-13704 constitutes contributions of the associated events held at the 11th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2022, which took place in Rhodes, Greece, in October/November 2022. The contributions in the four-volume set are organized according to the following topical sections: specify this - bridging gaps between program specification paradigms; x-by-construction meets runtime verification; verification and validation of concurrent and distributed heterogeneous systems; programming - what is next: the role of documentation; automated software re-engineering; DIME day; rigorous engineering of collective adaptive systems; formal methods meet machine learning; digital twin engineering; digital thread in smart manufacturing; formal methods for distributed computing in future railway systems; industrial day.
Practical Microservices with Dapr and .NET - Second Edition
Use the innovative, highly portable event-driven distributed application runtime to simplify building resilient and scalable microservices for cloud and edge applications.Purchase of the print or Kindle book includes a free eBook in the PDF format.Key Features: Build resilient, stateless, and stateful microservice applications that run on the cloud and edgeOvercome common issues in distributed systems, such as low latency and scaling, using any language and frameworkLearn how to expose and operate Dapr applications with multiple optionsBook Description: This second edition will help you get to grips with microservice architectures and how to manage application complexities with Dapr in no time. You'll understand how Dapr simplifies development while allowing you to work with multiple languages and platforms. Following a C# sample, you'll understand how Dapr's runtime, building blocks, and software development kits (SDKs) help you to simplify the creation of resilient and portable microservices.Dapr provides an event-driven runtime that supports the essential features you need for building microservices, including service invocation, state management, and publish/subscribe messaging. You'll explore all of those in addition to various other advanced features with this practical guide to learning Dapr. With a focus on deploying the Dapr sample application to an Azure Kubernetes Service cluster and to the Azure Container Apps serverless platform, you'll see how to expose the Dapr application with NGINX, YARP, and Azure API Management.By the end of this book, you'll be able to write microservices easily by implementing industry best practices to solve problems related to distributed systems.What You Will Learn: Use Dapr to create services, invoking them directly and via pub/subDiscover best practices for working with microservice architecturesLeverage the actor model to orchestrate data and behaviorExpose API built with Dapr applications via NGINX and Azure API ManagementUse Azure Kubernetes Service to deploy a sample applicationMonitor Dapr applications using Zipkin, Prometheus, and GrafanaScale and load test Dapr applications on KubernetesGet to grips with Azure Container Apps as you combine Dapr with a serverless platformWho this book is for: This book is for developers looking to explore and implement microservices architectures in Dapr applications using .NET examples. Whether you are new to microservices or have knowledge of this architectural approach and want to get hands-on experience using Dapr, you'll find this book useful. Familiarity with .NET will help you to understand the C# samples and code snippets used in the book.
Jira 8 Essentials - Sixth Edition
Implement future-proof solutions for all types of teams with Data Center by learning about performance, reliability, scalability, and securityPurchase of the print or Kindle book includes a free PDFKey Features: Explore all of Jira's core features as well as the advanced features offered by Data CenterLearn to use Jira for issue management, field management, screen management, and business workflowsInstall, update, and manage third-party apps from Atlassian marketplace to extend Jira capabilitiesBook Description: This new and improved sixth edition comes with the latest Jira 8.21 Data Center offerings, with enhanced features such as clustering, advanced roadmaps, custom field optimization, and tools to track and manage tasks for your projects. This comprehensive guide to Jira 8.20.x LTS version provides updated content on project tracking, issue and field management, workflows, Jira Service Management, and security.The book begins by showing you how to plan and set up a new Jira instance from scratch before getting you acquainted with key features such as emails, workflows, and business processes. You'll also get to grips with Jira's data hierarchy and design and work with projects. Since Jira is used for issue management, this book will help you understand the different issues that can arise in your projects. As you advance, you'll create new screens from scratch and customize them to suit your requirements. Workflows, business processes, and guides on setting up incoming and outgoing mail servers will be covered alongside Jira's security model and Jira Service Management. Toward the end, you'll learn how Jira capabilities are extended with third-party apps from Atlassian marketplace.By the end of this Jira book, you'll have understood core components and functionalities of Jira and be able to implement them in business projects with ease.What You Will Learn: Examine various deployment options and system requirements for hosting Jira Data CenterUnderstand Jira's data hierarchy and learn how to design and work with projects in JiraUse Jira for agile software projects, business process management, customer service support, and moreExplore field configuration schemes and find out how to apply them to projectsDevelop and design customized screens and apply them to different projectsCreate configurable reports on projects and share information through dashboards for reporting and analysisWho this book is for: This book is especially useful for project managers, but it's also intended for other Jira users, including developers, and any other industry besides software development, who would like to leverage Jira's powerful task management and workflow features to better manage their business processes.
Quantum Software Engineering
This book presents a set of software engineering techniques and tools to improve the productivity and assure the quality in quantum software development. Through the collaboration of the software engineering community with the quantum computing community new architectural paradigms for quantum-enabled computing systems will be anticipated and developed.The book starts with a chapter that introduces the main concepts and general foundations related to quantum computing. This is followed by a number of chapters dealing with the quantum software engineering methods and techniques. Topics like the Talavera Manifesto for quantum software engineering, frameworks for hybrid systems, formal methods for quantum software engineering, quantum software modelling languages, and reengineering for quantum software are covered in this part. A second set of chapters then deals with quantum software environments and tools, detailing platforms like QuantumPath(R), Classiq as well as quantum software frameworks for deep learning. Overall, the book aims at academic researchers and practitioners involved in the creation of quantum information systems and software platforms. It is assumed that readers have a background in traditional software engineering and information systems.
Simple Type Theory
This unique textbook, in contrast to a standard logic text, provides the reader with a logic that actually can be used in practice to express and reason about mathematical ideas.The book is an introduction to simple type theory, a classical higher-order version of predicate logic that extends first-order logic. It presents a practice-oriented logic called Alonzo that is based on Alonzo Church's formulation of simple type theory known as Church's type theory. Unlike traditional predicate logics, Alonzo admits undefined expressions. The book illustrates, using Alonzo, how simple type theory is suited ideally for reasoning about mathematical structures and constructing libraries of mathematical knowledge.Topics and features: Offers the first book-length introduction to simple type theory as a predicate logicProvides the reader with a logic that is close to mathematical practicePresents the tools needed to build libraries of mathematical knowledgeEmploys two semantics, one for mathematics and one for logicEmphasizes the model-theoretic view of predicate logicIncludes several important topics, such as definite description and theory morphisms, not usually found in standard logic textbooksAimed at students of computing and mathematics at the graduate or upper-undergraduate level, this book is also well-suited for mathematicians, computing professionals, engineers, and scientists who need a practical logic for expressing and reasoning about mathematical ideas.William M. Farmer is a Professor in the Department of Computing and Software at McMaster University in Hamilton, Ontario, Canada.
macOS by Tutorials (First Edition)
Learn macOS development!You're an experienced iOS developer and have always wanted to develop a native macOS app. But, you have no idea where to begin.Never fear! macOS by Tutorials is here to guide you. You'll be creating your own beautiful macOS apps in no time!Who This Book is ForThis book is for developers with some experience developing for iOS and who are familiar with Swift, Xcode and SwiftUI.Topics Covered in macOS by TutorialsBuilding a Native App: Use SwiftUI to build a complete, beautiful, native macOS app with full multiple window support.Planning and Prototyping: Learn how to plan and prototype data models. Once you're happy with the prototype, you'll incorporate your model into a full-featured app.Making Menu Bar Apps: Learn how to build an app that lives solely in the macOS menu bar.Creating Document-based Apps: Learn how to build an app that manages its own document type.Building a GUI front end: See how to create a graphical user interface for a system command line command.Building Services and Shortcuts: Explore how to enable automation in your app so it can be used from the Services menu and the Shortcuts app.Distributing Your App: Explore the options available for distributing your macOS apps.One thing you can count on: after reading this book, you'll be prepared to create and distribute your own native macOS apps.
Search-Based Software Engineering
This book constitutes the proceedings of the 14th International Symposium on Search-Based Software Engineering, SSBSE 2022, which was held in Singapore, in November 2022.The 6 regular papers, the NIER and RENE tracks as well as the Challenge Track that were included in this volume were carefully reviewed and selected from 15 submissions. The papers deal with novel ideas and applications of search-based software engineering, focusing on engineering challenges and the application of automated approaches and optimization techniques from AI and machine learning research.
Design in Object Technology 2
The classic, tour-de-force course on agile software development brought up to date with the backstories from the time and reflections on what is still relevant, from the original author and world-renowned agile manifesto co-author Dr. Alistair Cockburn. That course in 1994 contained all the key concepts used in today's software development world: object-oriented design, incremental development, use cases and modern project management. Now, Dr. Cockburn reflects on the course content: What were the backstories behind the ideas then becoming mainstream?What does he think of them now, almost 30 years later? These are fresh, unique, and never-before-published thoughts. This book offers a rare glimpse into a moment in time where the standards and practices of object technology were being chartered by the leaders of the day. It brings that up to date with the commentary on backstories and current thoughts. Readers who already know the concepts will enjoy seeing how they were presented, will enjoy the backstories, and can compare their thoughts on his modern reflections. Newcomers will learn subtleties of techniques they may only have heard of. Everyone will enjoy the depth and liveliness of this remarkable course brought up to date. Dr. Cockburn was named "42 Greatest Software Professionals of All Times." A world expert on methodologies, project management, software architecture, use cases and agile development, he co-authored both the Agile Manifesto and the Project Management Declaration of Inter- dependence. He was one of the leading methodologists in the new area of object-oriented design in the early 1990s. Hired by the IBM Consulting Group to create their methodology for object-technology projects, he taught the entire design team on a live project all they would need to know to run the project they were embarking on. It was a tour-de-force of project education, complete from project management tips to requirements gathering to software design. It set the stage for modern "agile" development techniques. This book is that course, with backstories and current thoughts.
Establishing SRE Foundations
Improve Your Service Scalability and Reliability with SRE Pioneered by Google to create more scalable and reliable large-scale systems, Site Reliability Engineering (SRE) has become one of today's most valuable software innovation opportunities. Establishing SRE Foundations is a concise, practical guide that shows how to drive successful SRE adoption in your own organization. Dr. Vladyslav Ukis presents a step-by-step approach to establishing the right cultural, organizational, and technical process foundations, quickly achieving a "minimum viable SRE" and continually improving from there. Dr. Ukis draws extensively on his own experiences leading an SRE transformation journey at a major healthcare company. Throughout, he answers specific questions that organizations ask about SRE, identifies pitfalls, and shows how to avoid or overcome them. Whatever your role in software development, engineering, or operations, this guide will help you apply SRE to improve what matters most: user and customer experience. Understand how SRE works, its role in software operations, and the challenges of SRE transformation Assess your organization's current operations and readiness for SRE transformation Achieve organizational buy-in and initiate foundational activities, including SLO definitions, alerting, on-call rotations, incident response, and error budget-based decision-making Align organizational structures to support a full SRE transformation Measure the progress and success of your SRE initiative Sustain and advance your SRE transformation beyond the foundations "The techniques and principles of SRE are not only clearly defined here, but also the rationale behind them is explained in a way that will stick. This is not some dry definition, this is practical, usable understanding. . . . I can whole-heartedly recommend this book without any reservation. This is a very good book on an important topic that helps to move the game forward for our discipline!"--From the Foreword by David Farley, Founder and CEO of Continuous Delivery Ltd. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
What Every Engineer Should Know about Software Engineering
This book offers a practical approach to understanding, designing, and building sound software based on solid principles. Using a unique Q&A format, this book addresses the issues that engineers need to understand in order to successfully work with software engineers, develop specifications for quality software, and learn the basics of the most common programming languages, development approaches, and paradigms. The new edition is thoroughly updated to improve the pedagogical flow and emphasize new software engineering processes, practices, and tools that have emerged in every software engineering area.Features: Defines concepts and processes of software and software development, such as agile processes, requirements engineering, and software architecture, design, and construction. Uncovers and answers various misconceptions about the software development process and presents an up-to-date reflection on the state of practice in the industry. Details how non-software engineers can better communicate their needs to software engineers and more effectively participate in design and testing to ultimately lower software development and maintenance costs. Helps answer the question: How can I better leverage embedded software in my design? Adds new chapters and sections on software architecture, software engineering and systems, and software engineering and disruptive technologies, as well as information on cybersecurity. Features new appendices that describe a sample automation system, covering software requirements, architecture, and design. This book is aimed at a wide range of engineers across many disciplines who work with software.
Cracking C Programming Interview
Develop strong understanding of C principles through popular challenges and solutions KEY FEATURES ● Extensive coverage of C principles and its applications with a thorough explanation.● Includes 500+ interview questions on C data structures, arrays, with detailed solutions.● Perfect for campus interviews and GATE, ISRO, and BARC career exams. DESCRIPTION "Cracking C Programming Interview" gives aspiring programmers and job seekers every opportunity to prepare for and succeed in competitive interviews with companies that work in the technology industry. This book provides the most comprehensive information available on solutions and coding scenario examples for you to practice with. Furthermore, the book includes hundreds of difficult programming tasks and coding situations. This book ensures that applicable C programming principles, and the suitable selection of data structures are applied in every question, and problem statement presented. By assisting you in strengthening your programming principles and most competitive interview questions, this book keeps the potential to serve as a doorway to major technology incubators such as Amazon, Facebook, Google, VMware, and Microsoft. WHAT YOU WILL LEARN● Unleash answers to extensive C programming questions interviewed in technology companies.● Range of scenarios and examples to explore programming strategies.● Learn to distinguish among compile, link, and load time errors.● Understand procedural programming and the memory layout of a running C program.● Using examples, learn about structs, pointers, arrays, strings, etc.WHO THIS BOOK IS FORThis book targets aspiring programmers, job seekers, recent IT grads, and professional developers who want to brush up on their knowledge of C fundamentals through questions and problems and expert solutions.
Beyond Effective Go
Are you an experienced Go developer that wants to be more productive? Do you want to write cleaner, faster, and easier to maintain code?Then the Beyond Effective Go book series is for you.This series is aimed at competent Gophers. It does not mess around with the basics but instead dives right into the daily problems that professional programmers face. Chiefly, how to write fast, robust applications and services that can be maintained and extended as requirements change.Unlike most books, Beyond Effective Go focuses on the programmer and the code by addressing the four critical aspects of programming in Go - developer productivity, application performance, code quality, and depth of understanding of the language and tools.This book, Part 1 of the series, focuses on achieving high-performance code. You will learn which aspects of your application or code to focus on and when. You will have a suite of tools, software patterns, and recipes at your disposal to make your life easier. After reading, you will: Understand the differences between Concurrency and Parallelism.Identify and avoid concurrency issues like deadlock, starvation, livelock, and data races.Understand the various concurrency interaction patterns and be able to apply the one that best fits the problem at hand.Take a deep dive into Go's concurrency primitives and be able to apply them expertly but also avoid many of their gotchas.Be able to diagnose concurrency and performance issues using Go's profiler, execution tracing, and benchmarking tools.Be able to identify when code needs optimizing, what needs optimizing and how.Have a catalog of concurrency and performance patterns that you can quickly apply to your projects.
Big Computer Games
Third in the Creative Computing series of best-selling computer games books, Big Computer Games contains 12 challenging games for solo and group play - Lost & Forgotten Island, Trucker, Dukedom, Cribbage, Star Merchant, Mu-Torere, Streets of the City, Eliza, Presidential Campaign, Monster Combat, Survival, and Rollercoaster. Also included are sections on how to write your own adventure game and how to integrate action video with your computer games. This "Enhanced Edition" has a new preface from David H. Ahl. Program listings, sample runs, and descriptions are presented with each game, and all games are written in standard Microsoft Basic, which is adaptable to most micro-computers. David H. Ahl is the editor-in-chief and founder of Creative Computing magazine
Trandisciplinary Multispectral Modelling and Cooperation for the Preservation of Cultural Heritage
This volume constitutes selected and revised papers presented during the Second International Conference on Trandisciplinary Multispectral Modelling and Cooperation for the Preservation of Cultural Heritage, TMM_CH 2021, held in Athens, Greece, in December 2021. The 17 full papers and 6 short papers presented in ths volume were thoroughly reviewed and selected from 310 submissions. The papers are organized in topical sections on ​scientific innovations in the diagnosis and preservation of cultural heritage; digital heritage a holistic approach; preservation, reuse and reveal of cultural heritage through sustainable land management, rural and urban development to recapture the world in crisis through culture.
Theory and Applications of Models of Computation
This book constitutes the refereed proceedings of the 17th Annual Conference on Theory and Applications of Models of Computation, TAMC 2022, held as a virtual event, in September 2022. The 33 full papers were carefully reviewed and selected from 75 submissions. The main themes of the selected papers are computability, complexity, algorithms, information theory and their extensions to machine learning theory, and foundations of artificial intelligence.
Wireshark for Network Forensics
With the advent of emerging and complex technologies, traffic capture and analysis play an integral part in the overall IT operation. This book outlines the rich set of advanced features and capabilities of the Wireshark tool, considered by many to be the de-facto Swiss army knife for IT operational activities involving traffic analysis. This open-source tool is available as CLI or GUI. It is designed to capture using different modes, and to leverage the community developed and integrated features, such as filter-based analysis or traffic flow graph view. You'll start by reviewing the basics of Wireshark, and then examine the details of capturing and analyzing secured application traffic such as SecureDNS, HTTPS, and IPSec. You'll then look closely at the control plane and data plane capture, and study the analysis of wireless technology traffic such as 802.11, which is the common access technology currently used, along with Bluetooth. You'll also learn waysto identify network attacks, malware, covert communications, perform security incident post mortems, and ways to prevent the same. The book further explains the capture and analysis of secure multimedia traffic, which constitutes around 70% of all overall internet traffic. Wireshark for Network Forensics provides a unique look at cloud and cloud-native architecture-based traffic capture in Kubernetes, Docker-based, AWS, and GCP environments. What You'll LearnReview Wireshark analysis and network forensicsStudy traffic capture and its analytics from mobile devicesAnalyze various access technology and cloud trafficWrite your own dissector for any new or proprietary packet formatsCapture secured application traffic for analysisWho This Book Is ForIT Professionals, Cloud Architects, Infrastructure Administrators, and Network/Cloud Operators
Runtime Verification
This book constitutes the refereed proceedings of the 22nd International Conference on Runtime Verification, RV 2022, held in Tbilisi, Georgia, during September 28-30, 2022. The 12 regular papers and 10 short papers presented in this book were carefully reviewed and selected from 40 submissions. The RV conference is concerned with all aspects of monitoring and analysis of hardware, software and more general system executions. Runtime verification techniques are crucial for system correctness, reliability, and robustness; they provide an additional level of rigor and effectiveness compared to conventional testing, and are generally more practical than exhaustive formal verification.
Mathematics of Program Construction
This book constitutes the refereed proceedings of the 14th International Conference on Mathematics of Program Construction, MPC 2022, held in Tbilisi, Georgia, in September 2022. The 9 revised full papers presented together with three invited papers were carefully reviewed and selected from 14 submissions. The papers deal with mathematical principles and techniques for constructing computer programs.
Practical Database Auditing for Microsoft SQL Server and Azure SQL
Know how to track changes and key events in your SQL Server databases in support of application troubleshooting, regulatory compliance, and governance. This book shows how to use key features in SQL Server, such as SQL Server Audit and Extended Events, to track schema changes, permission changes, and changes to your data. You'll even learn how to track queries run against specific tables in a database. Not all changes and events can be captured and tracked using SQL Server Audit and Extended Events, and the book goes beyond those features to also show what can be captured using common criteria compliance, change data capture, temporal tables, or querying the SQL Server log. You will learn how to audit just what you need to audit, and how to audit pretty much anything that happens on a SQL Server instance. This book will also help you set up cloud auditing with an emphasis on Azure SQL Database, Azure SQL Managed Instance, and AWS RDS SQL Server. You don't need expensive, third-party auditing tools to make auditing work for you, and to demonstrate and provide value back to your business. This book will help you set up an auditing solution that works for you and your needs. It shows how to collect the audit data that you need, centralize that data for easy reporting, and generate audit reports using built-in SQL Server functionality for use by your own team, developers, and organization's auditors. What You Will LearnUnderstand why auditing is important for troubleshooting, compliance, and governanceTrack changes and key events using SQL Server Audit and Extended EventsTrack SQL Server configuration changes for governance and troubleshootingUtilize change data capture and temporal tables to track data changes in SQL Server tablesCentralize auditing data from all yourdatabases for easy querying and reportingConfigure auditing on Azure SQL, Azure SQL Managed Instance, and AWS RDS SQL Server Who This Book Is ForDatabase administrators who need to know what's changing on their database servers, and those who are making the changes; database-savvy DevOps engineers and developers who are charged with troubleshooting processes and applications; developers and administrators who are responsible for generating reports in support of regulatory compliance reporting and auditing
The Art of Site Reliability Engineering (Sre) with Azure
Gain a foundational understanding of SRE and learn its basic concepts and architectural best practices for deploying Azure IaaS, PaaS, and microservices-based resilient architectures. The book starts with the base concepts of SRE operations and developer needs, followed by definitions and acronyms of Service Level Agreements in real-world scenarios. Moving forward, you will learn how to build resilient IaaS solutions, PaaS solutions, and microservices architecture in Azure. Here you will go through Azure reference architecture for high-available storage, networking and virtual machine computing, describing Availability Sets and Zones and Scale Sets as main scenarios. You will explore similar reference architectures for Platform Services such as App Services with Web Apps, and work with data solutions like Azure SQL and Azure Cosmos DB. Next, you will learn automation to enable SRE with Azure DevOps Pipelines and GitHub Actions. You'll also gain an understanding of how an open culture around post-mortems dramatically helps in optimizing SRE and the overall company culture around managing and running IT systems and application workloads. You'll be exposed to incent management and monitoring practices, by making use of Azure Monitor/Log Analytics/Grafana, which forms the foundation of monitoring Azure and Hybrid-running workloads. As an extra, the book covers two new testing solutions: Azure Chaos Studio and Azure Load Testing. These solutions will make it easier to test the resilience of your services. After reading this book, you will understand the underlying concepts of SRE and its implementation using Azure public cloud.What Will You Learn: Learn SRE definitions and metrics like SLI/SLO/SLA, Error Budget, toil, MTTR, MTTF, and MTBFUnderstand Azure Well-Architected Framework (WAF) and Disaster Recovery scenarios on AzureUnderstand resiliency and how to design resilient solutions in Azure for different architecture types and servicesMaster core DevOps concepts and the difference between SRE and tools like Azure DevOps and GitHubUtilize Azure observability tools like Azure Monitor, Application Insights, KQL or GrafanaUnderstand Incident Response and Blameless Post-Mortems and how to improve collaboration using ChatOps practices with Microsoft tools Who Is This Book For: IT operations administrators, engineers, security team members, as well as developers or DevOps engineers.
Pocket guide to the Professional Scrum Master Certification (PSM 1)
The Professional Scrum Master Training of the Scrum.org is for many people the first step of a certification in the context of Scrum and agile development approaches. This certification documents like no other a deep understanding of Scrum as it is presented in the Scrum Guide. As simple and clear as these Scrum basics are described, it is however difficult for many people to put the principles and ideas presented therein into practice. This is a challenge both in their daily work and in passing the PSM certification exam. Marcus Marfurt, himself a Scrum Master and trainer for a long time, shows the transfer from the Scrum Guide to the practice of a Scrum Master's activity. The knowledge imparted is an optimal preparation for the Scrum Master certification exam.
An Introduction to Design Science
This book is an introductory text on design science, intended to support both graduate students and researchers in structuring, undertaking and presenting design science work. It builds on established design science methods as well as recent work on presenting design science studies and ethical principles for design science, and also offers novel instruments for visualizing the results, both in the form of process diagrams and through a canvas format. While the book does not presume any prior knowledge of design science, it provides readers with a thorough understanding of the subject and enables them to delve into much deeper detail, thanks to extensive sections on further reading. Design science in information systems and technology aims to create novel artifacts in the form of models, methods, and systems that support people in developing, using and maintaining IT solutions. This work focuses on design science as applied to information systems and technology, but it alsoincludes examples from, and perspectives of, other fields of human practice. Chapter 1 provides an overview of design science and outlines its ties with empirical research. Chapter 2 discusses the various types and forms of knowledge that can be used and produced by design science research, while Chapter 3 presents a brief overview of common empirical research strategies and methods. Chapter 4 introduces a methodological framework for supporting researchers in doing design science research as well as in presenting their results. This framework includes five core activities, which are described in detail in Chapters 5 to 9. Chapter 10 discusses how to communicate design science results, while Chapter 11 compares the proposed methodological framework with methods for systems development and shows how they can be combined. Chapter 12 discusses how design science relates to research paradigms, in particular to positivism and interpretivism, and Chapter 13 discusses ethical issues and principles for design science research. The new Chapter 14 showcases a study on digital health consultations and illustrates the whole process in one comprehensive example. Also added to this 2nd edition are a number of sections on practical guidelines for carrying out basic design science tasks, a discussion on design thinking and its relationship to design science, and the description of artefact classifications. Eventually, both the references in each chapter and the companion web site were updated to reflect recent findings.
Access 2021 / Microsoft 365 Programming by Example
Updated for Access 2021 and based on the bestselling editions from previous versions, Access 2021 / Microsoft 365 Programming by Example is a practical, how-to book on Access programming, suitable for readers already proficient with the Access user interface (UI). If you are looking to automate Access routine tasks, this book will progressively introduce you to programming concepts via numerous illustrated hands-on exercises. More advanced topics are demonstrated via custom projects. With concise and straightforwardexplanations, you learn how to write and test your programming code with the built-in Visual Basic Editor; understand and use common VBA programming structures such as conditions, loops, arrays, collections and dictionaries; code a "message box"; reprogram characteristics of a database; and use various techniques to query and manipulate your Access .mdb and .accdb databases. The book shows you how you can build database solutions with Data Access Objects (DAO) and ActiveX Data Objects (ADO); define database objects and manage database security with SQL; enhance and alter the way users interact with database applications with Ribbon customizations and event programming in forms and reports. You also learn how to use Access with XML and REST API. The book includes a comprehensive disc with source code, supplemental files, and color screen captures (also available from the publisher for download). FEATURES: Contains 28 chapters loaded with illustrated "Hands-On" exercises and projects that guide you through the VBA programming language. Each example tells you exactly where to enter code, how to test it and run it.Explains how to store data for further manipulation in variables, arrays, collections, and in a VBA Dictionary object while teaching you to write both simple and complex VBA programming routines and functions.Teaches you how to programmatically create and access database tables and fields, enforce data integrity and relationships between tables.Includes a comprehensive disc with source code, supplemental files, and color screen captures (also available from the publisher for download).
A Software Engineer’s Guide to Seniority
There are few books in the market that talk about the effort within and outside of the job that helps software engineers advance in their careers. This book is a truthful and introspective look at technical careers and a consolidation of that information and advice for engineers that are looking to elevate their career to the senior level. While charting a path to becoming a senior software engineer you'll study how to handle the obligations and complexities involved in that role. While most of the software engineer job is exploratory and involves learning new things nearly every day, this book will show you how to be a manager, a leader, and to achieve seniority in your tech role. From learning how to optimize your resume to knowing how to interview for positions on your team to helping your team grow and develop their own skills and career, this is a book that all software engineers need. What You'll LearnOptimize your resume for applicationsStandard tips for interviewing in software engineer positionsBecome a mentor and leader at your jobWho This Book Is ForEntry to mid-level software engineers working in a corporate environment
Technologies and Innovation
This book constitutes the refereed proceedings of the 8th International Conference, CITI 2022, held in Guayaquil, Ecuador, during November 14-17, 2022.The 19 full papers included in this book were carefully reviewed and selected from 48 submissions. They were organized in topical sections as follows: machine Learning; knowledge based systems; computer vision and image analysis; networks, monitoring and collaborative systems; apps and user interfaces.
Automated Technology for Verification and Analysis
This book constitutes the refereed proceedings of the 20th International Symposium on Automated Technology for Verification and Analysis, ATVA 2022, held in Beiging, China in October 2022. The symposium is dedicated to promoting research in theoretical and practical aspects of automated analysis, verification and synthesis by providing an international venue for the researchers to present new results. The 21 regular papers presented together with 5 tool papers and 1 invited paper were carefully reviewed and selected from 81 submissions.The papers are divided into the following topical sub-headings: reinforcement learning; program analysis and verification; smt and verification; automata and applications; active learning; probabilistic and stochastic systems; synthesis and repair; and verification of neural networks.
Engineering Software for Modern Challenges
This volume constitutes selected papers presented at the First International Conference on Engineering Software for Modern Challenges, ESMoC 2021, held in Johor, Malaysia, in October 20-21, 2021.The 17 papers presented were thoroughly reviewed and selected from the 167 submissions. They are organized in the topical sections on ​software engineering; intelligent systems; software quality.
Advances in Computing
This book constitutes revised selected papers from the refereed proceedings of the 15th Colombian Congress on Advances in Computing, CCC 2021, held in Bogot獺, Colombia, during November 22-26, 2021.The 8 full papers and 2 short papers included in this book were carefully reviewed and selected from 47 submissions. They were organized in topical sections as follows: Artificial intelligence; educational informatics; and information systems.
A Friendly Guide to Software Development
Software is everywhere, but despite being so common and useful, it remains magical and mysterious to many. Still, more and more people are finding themselves working for tech companies, or with an array of software products, services, and tools. This can segregate those who understand tech from those that don't. But it doesn't have to be this way.This book aims to bring these two worlds closer together, allowing people to learn basic concepts of software development in a casual and straight-forward way. Assuming no previous technical knowledge, you'll embark on a journey where you can understand and build a new software project from scratch until it is an advanced product with multiple users. A Friendly Guide to Software Development makes technical concepts broadly available and easy to understand. Imagine moving from a "traditional" company and suddenly finding yourself in one where software is the main product or is a foundational component to it. One is often left to wade through the infinite concepts while still doing their actual jobs. This book closes that gap. In doing so, you'll be able to achieve better communication, which will undoubtedly lead to better working relationships, a better working environment, and ultimately better software.What You'll LearnSee how a new software project is createdExamine the basics of software development and architectureKnow which questions to ask to avoid potential problems and pitfallsStart using and building software projectsWho This Book Is ForThose without a traditional technical background people like business and project managers who need to work closely with software developers and teamsPeople who are interested in building a software system but don't know where to start.Programmers who want to jump to development but have no experience in the industry and its common concepts
Backend Developer in 30 Days
Build stronger support system to power your enterprise applications KEY FEATURES ● Figure out the most important elements of backend and application development.● Know how to construct large-scale, distributed applications using industry best practices and software architecture principles.● Provides a career map for becoming a successful backend developer, including advice on skills and tools. DESCRIPTION In today's world, becoming an experienced backend developer is a difficult job that requires a lot of work. There are an excessive number of stacks and technologies to master, and new ones often gain popularity. Nonetheless, they share the same fundamental concepts: data storage, security, performance, testing, etc.This book aims to teach and train you to become a successful backend developer with a solid skill set in developing and implementing the real engine of a successful enterprise application. Implementation topics like setting up a web server, designing and developing APIs, creating and running automated tests, and working with various types of databases are all addressed in detail. The book prepares developers to maintain the safety and security of their applications through the use of procedures that avoid application and data breaches. While you learn about every part of backend development, the book teaches you how to deal with errors and find and fix problems.By the end of the book, you will have a firm grasp on the fundamental principles that underpin backend programming, including application architectures, design patterns, essential development activities, and help for debugging. WHAT YOU WILL LEARN● Gain knowledge to build the momentum of a solid backend developer and choose areas to investigate in depth.● Learn to integrate backend development as the top tech businesses do.● Comprehend the distinction between SQL and NoSQL, containers, APIs, and web servers.● Design large-scale systems step-by-step.● Grow from junior backend developer to senior developer, including the required skills and responsibilities.WHO THIS BOOK IS FORThis book would greatly benefit readers who are new to backend operations for web and mobile apps, such as junior software developers, web developers, application developers, and frontend and backend coders. Basic programming skills will help you practice this book's learnings. AUTHOR BIO Pedro Marquez is a full-stack software developer with a Master of Science in Computer Science and Machine Learning. He has more than 10 years of professional experience in multiple roles that cover application security, back-end, front-end development, and infrastructure development. He currently works as a full-stack engineer at LinkedIn.
SwiftUI for Masterminds 3rd Edition 2022
Learn how to create apps for iOS 16 and macOS Ventura with Swift 5.7 and the SwiftUI framework.SwiftUI for Masterminds is a complete course on how to create professional applications for iPhones, iPads and Mac computers. After reading this book, you will know how to program in Swift, how to design user interfaces, and how to combine traditional frameworks with the advanced features provided by SwiftUI to build modern applications.In this book, we teach you how to build insanely great apps from scratch. We explore basic and complex concepts; from computer programming and the Swift programming language to database storage, data sharing, and everything you need to know to develop applications for Apple devices. The information is supported by practical examples that gradually introduce the technologies involved and make them accessible to everyone.SwiftUI for Masterminds was designed to prepare you for the future and was written for the genius in you, for Masterminds. Introduction to Swift 5.7Swift ParadigmSwift ConcurrencyDeclarative User InterfacesSwiftUI FrameworkMultiplatform ApplicationsNavigation StacksNavigation Split ViewsCustom LayoutsScroll ViewsLists and GridsTablesMapsFormsGraphics and AnimationsChartsFilesArchivingDocumentsCore DataiCloudCloudKitCamera and Photos PickerVideo ViewWeb ViewGesture RecognizersDrag & DropNotificationsUIKit in SwiftUI...and more!iOS and Mac development with iOS 16, Xcode 14, Swift 5.7 and SwiftUI
Software Architecture by Example
Design system solutions using modern architectural patterns and practices. This book discusses methods to keep a system responsive, even when it is being constantly updated, extending a system's functionality without changing the core code, methods of maintaining data history, and designing a distributed transactional system.This book will guide you in understanding how a software solution is designed using different architectural processes and scenarios. Each scenario explains if and why a software solution is required to resolve a given issue, and discusses possible architectural approaches to solve the problem. You will learn specific implementations of software architecture for each case along with different approaches to achieve the solutions. Each chapter is structured as a real-world requirement from a client and describes a process to meet that requirement. After reading this book, you should have a high-level understanding of the architectural patterns used in the book, and you should have a methodology for approaching system design.What You Will LearnUnderstand design principles and considerations for various stages of software developmentTranslate patterns into code samplesCreate a blueprint for approaching system designUnderstand architectural patterns: CQRS, event sourcing, distributed systems, distributed transactions, and plug-in architectureWho This Book Is ForDevelopers who wish to move into architecture, and junior software architects also will find the book useful
Pro Database Migration to Azure
Migrate your existing, on-premises applications into the Microsoft Azure cloud platform. This book covers the best practices to plan, implement, and operationalize the migration of a database application from your organization's data center to Microsoft's Azure cloud platform.Data modernization and migration is a technologically complex endeavor that can also be taxing from a leadership and operational standpoint. This book covers not only the technology, but also the most important aspects of organization culture, communication, and politics that so frequently derail such projects. You will learn the most important steps to ensuring a successful migration and see battle-tested wisdom from industry veterans. From executive sponsorship, to executing the migration, to the important steps following migration, you will learn how to effectively conduct future migrations and ensure that your team and your database application delivers on the expected business value of the project. This book is unlike any other currently in the market. It takes you through the most critical business and technical considerations and workflows for moving your data and databases into the cloud, with special attention paid to those who are deploying to the Microsoft Data Platform in Azure, especially SQL Server. Although this book focuses on migrating on-premises SQL Server enterprises to hybrid or fully cloud-based Azure SQL Database and Azure SQL Managed Instances, it also cover topics involving migrating non-SQL Server database platforms such as Oracle, MySQL, and PostgreSQL applications to Microsoft Azure.What You Will LearnPlan a database migration that ensures smooth project progress, optimal performance, low operating cost, and minimal downtimeProperly analyze and manage non-technical considerations, such as legal compliance, privacy, and team executionPerform athorough architectural analysis to select the best Azure services, performance tiers, and cost-containment featuresAvoid pitfalls and common reasons for failure relating to corporate culture, intra-office politics, and poor communicationsSecure the proper executive champions who can execute the business planning needed for successApply proven criteria to determine your future-state architecture and your migration methodExecute your migration using a process proven by the authors over years of successful projectsWho This Book Is For IT leadership, strategic IT decision makers, project owners and managers, and enterprise and application architects. For anyone looking toward cloud migration projects as the next stage of growth in their careers. Also useful for enterprise DBAs and consultants who might be involved in such projects. Readers should have experience and be competent in designing, coding, implementing, and supporting database applications in an on-premises environment.
Learn API Testing
Explore software web application architecture, API testing, coding practices, and the standards for better API test automation development and management. This book focuses on aspiring software testing engineers currently working in API testing, and those starting their journey in the field of software testing. You'll begin with an introduction to API testing and software web applications involving APIs. The book then moves on to the authentication standards used in the software industry, and the tools, the frameworks, and the libraries used in API testing. As the book progresses, you'll learn about the test pyramid, how to test an API, what makes a good test script, and various coding guidelines. Finally, you get to write your own API test script. Learn API Testing is your pathway to understanding a typical software web application, its requests and responses, and the properties of a good test script. What You'll learnExamine practices, standards, and guidelines for effective test automationWork with different tools like RestAssured, Curl, and PostmanUnderstand API testing paradigm (internal/external APIs, CDCT)Review a case study on the industrial software API testing processOrganize a test frameworkWho This Book Is For API testing aspirants, developers/architects, project managers, and non-technical team members who may want to understand how APIs are being tested.
Introducing Microsoft Orleans
Welcome to Orleans, a virtual actor framework from Microsoft that allows a single developer to create immensely scalable, available applications while maintaining a high throughput. This guide is designed to give you a foundational understanding of Orleans, an overview of its implementations, and plenty of hands-on coding experience. Side-by-side monolithic and microservice patterns alongside Orleans' framework features are also discussed, to help readers without an actor model background understand how they can enhance applications. Author Nelson's approach is to introduce patterns as needed for business requirements, including monolithic microservices and to convert monolithic to microservices, in order to keep a microservice from growing into a monolithic application. Orleans is a good choice for either of these scenarios as the next step to build your backend services and reduce unnecessary orchestration, overhead, and tooling. The Orleans framework was designed to handle tedious overhead, allowing the developer to focus on the solution. You will learn how Orleans can support billions of virtually parallel transactions while sustaining low latency and high availability. In addition, you will glimpse under the hood at Orleans to discover its useful attributes. All key learning points include hands-on coding examples to reinforce understanding. This book goes beyond what Orleans is to explain where it fits within the realm of development. You will gain an in-depth understanding to build a foundation for future growth. What You Will Learn Understand how Orleans can benefit your monolithic and/or microservice applicationsGain a brief overview of actor models and how they relate to OrleansObserve the design patterns and how Orleans can simplify or reduce tooling requirementsKnow the pros and cons of microservices and Orleans to determine the best course of action based on the needs of an applicationDiscover Orleans' design patterns and practices, including life cycle, messaging guarantees, cluster management, streams, load balancing, and moreBuild your first Orleans' application; build base knowledge of application structure, unit testing, dashboard, scheduled events Who This Book Is For This book is for developers. A basic understanding of .NET development and an understanding of service concepts is helpful. Readers will need a connection to download Nuget packages and a code editor (Community Edition Visual Studio or VS Code).
Linux for Small Business Owners
Learn how you can take complete control and run your small business with powerful, free open source software (FOSS). This book introduces small business owners to the power and security of Linux and other FOSS tools to manage any small business as well as the many advantages it has over expensive, proprietary software. While exploring the reasons for using Free Open Source Software, you'll investigate the assertion that, "The value of any software lies in its usefulness not in its price," set forth by Linux Torvalds, the creator of Linux. This book examines the use of Linux and also the other Free Open Source Software you need to meet your business challenges including the usual accounting, Email, web browsing, word-processing tasks. You will be introduced to advanced tools such as those that enable you to create audio and video clips you can use to promote your business or that can even be your primary product, such as how-to instruction.Most small business owners perform many tasks including that of administering their computers. This book shows you how to find and install new software you need to run your business and keep it up to date using the tools already provided by Linux and the secure, trusted repositories available online. It also explores how to decide which tasks to do in-house and which you might want to sub out to external resources such as advertising and contact services to attract and keep customers. Linux for Small Business Owners provides some logic, reason, and explanation for each of the steps that are needed and the tools used to implement Linux in your small business. It is a detailed guide to removing Windows from your computers and installing Linux and some commonly used open source software like the LibreOffice suite of programs, accounting, and other software useful to many small businesses. It also provides the information and tools necessary to manage and maintain Linux and applications up-to-date and secure.What You'll Learn Understand what the term "free/open source" means and how you can apply it to your business.Look at the operational and financial advantages of using Free Open Source Software instead of expensive, proprietary software.See why you will never need to pay for anti-virus and anti-malware software again.Replace expensive software like Microsoft Office with open source tools such as LibreOffice Review the factors required to make an informed decision about switching to Linux.Install new applications, updates to Linux, and the application software.Explore why backups are critical, how to create them, and how to use them to restore lost data. Who This Book Is For Ideal for small business owners and owner-operated small businesses looking to streamline operations, save money, time and energy managing the common problems associated with using more popular operating systems.
Introduction to Software Design with Java
This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language. Its goal is to help readers learn software design by discovering the experience of the design process. To this end, the text follows a continuous narrative that introduces each element of design know-how in context, and explores alternative solutions in that context. This narrative is complemented by hundreds of code fragments and design diagrams. The first chapter is a general introduction to software design and the subsequent chapters cover design concepts and techniques. The concepts and techniques covered include interfaces, encapsulation, inheritance, design patterns, composition, functional-style design, unit testing, and many more. A major emphasis is placed on coding and experimentation as a necessary complement to reading the text. To support this aspect of the learning process, a companion website with practice exercises is provided, as well as two complete sample applications. Guidance on these sample applications is provided in "Code Exploration" insets throughout the book. Although the Java language is used as a means of conveying design-related ideas, the book's main goal is to address concepts and techniques that are applicable in a host of technologies. This second edition covers additional design techniques such as input validation and dependency injection. It also provides extended and revised treatment of many core subjects, including polymorphic copying, unit testing, the Observer pattern, and functional-style programming. This book is intended for readers who have a minimum of programming experience and want to move from writing small programs and scripts to tackling the development of larger systems. This audience naturally includes students in university-level computer science and software engineering programs. As the prerequisites to specific computing concepts are kept to a minimum, the content is also accessible to programmers with no previous background in computing. In a similar vein, understanding the code fragments requires only a minimal grasp of the Java language, such as would be taught in an introductory programming course.
Network Programming with Go Language
Dive into key topics in network architecture implemented with the Google-backed open source Go programming language. Networking topics such as data serialization, application level protocols, character sets and encodings are discussed and demonstrated in Go. This book has been updated to the Go version 1.18 which includes modules, generics, and fuzzing along with updated and additional examples. Beyond the fundamentals, Network Programming with Go, Second Edition covers key networking and security issues such as HTTP protocol changes, validation and templates, remote procedure call (RPC) and REST comparison, and more. Additionally, authors Ronald Petty and Jan Newmarch guide you in building and connecting to a complete web server based on Go. Along the way, use of a Go web toolkit (Gorilla) will be employed. This book can serve as both an essential learning guide and reference on networking concepts and implementation in Go. Free source code is available on Github for this book under Creative Commons open source license.What You Will Learn Perform network programming with Go (including JSON and RPC) Understand Gorilla, the Golang web toolkit, and how to use it Implement a microservice architecture with Go Leverage Go features such as generics, fuzzing Master syscalls and how to employ them with Go Who This Book Is For Anyone interested in learning networking concepts implemented in modern Go. Basic knowledge in Go is assumed, however, the content and examples in this book are approachable with modest development experience in other languages.