Programmierung
Professional C# and .NET
GET THE LATEST COVERAGE OF THE NEWEST FEATURES IN C#9 AND .NET 5In Professional C# and .NET: 2021 Edition, Microsoft MVP for Visual Studio and Development Technologies and veteran developer, Christian Nagel, delivers a comprehensive tour of the new features and capabilities of C#9 and .NET 5.Experienced programmers making the transition to C# will benefit from the author’s in-depth explorations to create Web- and Windows applications using ASP.NET Core, Blazor, and WinUI using modern application patterns and new features offered by .NET including Microservices deployed to Docker images, GRPC, localization, asynchronous streaming, and much more.The book also offers:* Discussions of the extension of .NET to non-Microsoft platforms like OSX and Linux* Explanations of the newest features in C#9, including support for record types, and enhanced support for tuples, pattern matching, and nullable reference types* Integrating .NET applications with Microsoft Azure services such as Azure App* Configuration, Azure Key Vault, Azure Functions, the Azure Active Directory, and others Downloadable code examples from wrox.com and github.com with online updates for C# 10 and .NET 6Perfect for programmers with a background in C#, Visual Basic, Java, or C/C++, Professional C# and .NET: 2021 Edition will also earn a place in the libraries of software architects seeking an up-to-date and fulsome treatment of the latest C# and .NET releases.CHRISTIAN NAGEL is a Microsoft MVP for Visual Studio and Development Technologies, software architect, and veteran developer who has been building solutions with .NET technologies since 2000. He has authored many acclaimed .NET books, and he also speaks at such international conferences as Ignite (formerly TechEd) and Tech Days. A supporter of .NET user groups, Christian is a Microsoft Certified Trainer and Professional Developer for WinUI and .NET MAUI Apps, ASP.NET Core, and Microsoft Azure.Introduction xxxixPART I: THE C# LANGUAGEChapter 1: .Net Applications And Tools 3Chapter 2: Core C# 24Chapter 3: Classes, Records, Structs, And Tuples 59Chapter 4: Object-Oriented Programming In C# 95Chapter 5: Operators And Casts 119Chapter 6: Arrays 153Chapter 7: Delegates, Lambdas, And Events 177Chapter 8: Collections 193Chapter 9: Language Integrated Query 226Chapter 10: Errors And Exceptions 263Chapter 11: Tasks And Asynchronous Programming 288Chapter 12: Reflection, Metadata, And Source Generators 307Chapter 13: Managed And Unmanaged Memory 335PART II: LIBRARIESChapter 14: Libraries, Assemblies, Packages, And Nuget 377Chapter 15: Dependency Injection And Configuration 392Chapter 16: Diagnostics And Metrics 419Chapter 17: Parallel Programming 440Chapter 18: Files And Streams 485Chapter 19: Networking 52Chapter 20: Security 558Chapter 21: Entity Framework Core 582Chapter 22: Localization 644Chapter 23: Tests 668PART III: WEB APPLICATIONS AND SERVICESChapter 24: Asp.Net Core 687Chapter 25: Services 714Chapter 26: Razor Pages And Mvc 752Chapter 27: Blazor 779Chapter 28: Signalr 801PART IV: APPSChapter 29: Windows Apps 819Chapter 30: Patterns With Xaml Apps 876Chapter 31: Styling Windows Apps 899Index 933
MLOps - Kernkonzepte im Überblick
ERFOLGREICHE ML-PIPELINES ENTWICKELN UND MIT MLOPS ORGANISATORISCHE HERAUSFORDERUNGEN MEISTERN * Stellt DevOps-Konzepte vor, die die speziellen Anforderungen von ML-Anwendungen berücksichtigen * Umfasst die Verwaltung, Bereitstellung, Skalierung und Überwachung von ML-Modellen im Unternehmensumfeld * Für Data Scientists und Data Engineers, die nach besseren Strategien für den produktiven Einsatz ihrer ML-Modelle suchen Viele Machine-Learning-Modelle, die in Unternehmen entwickelt werden, schaffen es aufgrund von organisatorischen und technischen Hürden nicht in den produktiven Betrieb. Dieses Buch zeigt Ihnen, wie Sie erprobte MLOps-Strategien einsetzen, um eine erfolgreiche DevOps-Umgebung für Ihre ML-Modelle aufzubauen, sie kontinuierlich zu verbessern und langfristig zu warten. Das Buch erläutert MLOps-Schlüsselkonzepte, mit denen Data Scientists und Data Engineers ihre ML-Pipelines und -Workflows optimieren können. Anhand von Fallbeispielen, die auf zahlreichen MLOps-Anwendungen auf der ganzen Welt basieren, geben neun ML-Experten wertvolle Einblicke in die fünf Schritte des Modelllebenszyklus - Build, Preproduction, Deployment, Monitoring und Governance. Sie erfahren auf diese Weise, wie robuste MLOps-Prozesse umfassend in den ML-Produktworkflow integriert werden können.
Cloud Native Integration with Apache Camel
Address the most common integration challenges, by understanding the ins and outs of the choices and exemplifying the solutions with practical examples on how to create cloud native applications using Apache Camel. Camel will be our main tool, but we will also see some complementary tools and plugins that can make our development and testing easier, such as Quarkus, and tools for more specific use cases, such as Apache Kafka and Keycloak.You will learn to connect with databases, create REST APIs, transform data, connect with message oriented software (MOMs), secure your services, and test using Camel. You will also learn software architecture patterns for integration and how to leverage container platforms, such as Kubernetes. This book is suitable for those who are eager to learn an integration tool that fits the Kubernetes world, and who want to explore the integration challenges that can be solved using containers.WHAT YOU WILL LEARN* Focus on how to solve integration challenges* Understand the basics of the Quarkus as it’s the foundation for the application* Acquire a comprehensive view on Apache Camel* Deploy an application in Kubernetes * Follow good practices WHO THIS BOOK IS FORJava developers looking to learn Apache Camel; Apache Camel developers looking to learn more about Kubernetes deployments; software architects looking to study integration patterns for Kubernetes based systems; system administrators (operations teams) looking to get a better understand of how technologies are integrated.GUILHERME CAMPOSO is a solution architect. He started to use open source projects and completely fell in love with the OSS philosophy and potential, leading him to start working with an open source company in 2018. Throughout his more than 12-year career, starting as a Java developer, becoming a consultant and then an architect, Guilherme was able to acquire a vast experience helping customers from a great variety of business sectors, giving him a broad view on how integration and good software practices can help businesses to grow. Chapter 1: Welcome to Apache CamelCHAPTER GOAL: Introduce readers to Apache Camel, it's basic concepts and contextualize everything with integration patterns. Also introduce other base tools as Quarkus and Maven.NO OF PAGES Approximately 30 pagesSUB -TOPICS1. Apache Camel basics2. Quarkus basics3. Introduction to Enterprise Integration Patterns4. Hello World application (First Application)Chapter 2: Developing REST IntegrationsCHAPTER GOAL: Introduces the conversation on web services applications using REST, how to expose and how to consume those services. Also gives the first examples of unit testing.NO OF PAGES: Approximately 35 pagesSUB - TOPICS1. Web Services with REST2. Camel REST DSL3. Camel HTTP components4. Unit test with QuarkusChapter 3: Securing Web Services with KeycloakCHAPTER GOAL: Introduces the reader to Keycloak, an Open Source product that provides IAM(Identity and Access Management). Focus on OpenID Connect protocol and how important security isNO OF PAGES : Approximately 35 pagesSUB - TOPICS:1. Keycloak basics2. OpenId Connect Protocol3. Quarkus and Camel securityChapter 4: Access Databases with Apache CamelCHAPTER GOAL: Approaches a very common need in programming: access databases. Here we are going to show how to use two of the most used open source databases: H2 and PostgreSQL.NO OF PAGES: Approximately 40 pagesSUB - TOPICS:1. Camel database components2. Database integration patterns3. In-memory database with H24. Transaction controlChapter 5: Messaging with Apache KafkaCHAPTER GOAL: Introduces the reader to Message Oriented Middleware(MOM), which is a very common integration used. We dive into the architecture aspect of this kind of implementation, getting practical examples using Apache Kafka, another very popular Open Source project.NO OF PAGES: Approximately 40 pagesSUB - TOPICS:1. Message Oriented Middleware2. Apache Kafka3. Asynchronous integrationChapter 6: Deploying application into KubernetesCHAPTER GOAL: Here we discuss the architectural aspects of deploying applications into Kubernetes, discussing micro services architecture, scalability, configuration and patterns as The Twelve-Factor Apps. We also learn how to configure the application and plugins to allow us to test and deploy the application in Kubernetes.NO OF PAGES: Approximately 50 pagesSUB - TOPICS:1. The Twelve-Factor Apps2. Quarkus and Camel properties configuration3. Quarkus plugins for Kubernetes Deployments4. The main Kubernetes aspects to take into consideration for your architecture
Pro Java Microservices with Quarkus and Kubernetes
Build and design microservices using Java and the Red Hat Quarkus Framework. This book will help you quickly get started with the features and concerns of a microservices architecture. It will introduce Docker and Kubernetes to help you deploy your microservices.You will be guided on how to install the appropriate tools to work properly. For those who are new to enterprise development using Quarkus, you will be introduced to its core principles and main features through a deep step-by-step tutorial. For experts, this book offers some recipes that illustrate how to split monoliths and implement microservices and deploy them as containers to Kubernetes.By the end of reading this book, you will have practical hands-on experience of building microservices using Quarkus and you will master deploying them to Kubernetes.WHAT YOU WILL LEARN* Work with Quarkus and GraalVM* Split a monolith using the domain-driven design approach* Implement the cloud and microservices patterns* Rethink the deployment process* Introduce containerization, Docker, and Kubernetes to your toolkit* Boost microservices efficiency and performance with Azure* Play with Quarkus and distributed application runtimesWHO THIS BOOK IS FORJava developers who want to build microservices using Red Hat Quarkus and who want to deploy them in Kubernetes.Nebrass Lamouchi is a senior software engineer at Microsoft, addicted to Java and cloud technologies. He was a NetBeans Dream Team member until December 2017. Nebrass was one of the happy four winners of the Oracle Groundbreaker Awards in May 2019. Since March 2013 he has also worked as a project leader at the OWASP Foundation on the Barbarus Project.Table of ContentsDedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4What this book covers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Reader feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Getting started with Containerization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Introduction to containerization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Introducing Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Installation and first hands-on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Docker Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Diving into Docker Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Meeting the Docker Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Achieving more with Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Containerization is not Docker only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Introduction to the Monolithic architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Introduction to an actual situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Presenting the context. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45How to solve these issues ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Coding the Monolithic application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Presenting our domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Coding the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Upgrading the Monolithic application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Implementing QuarkuShop Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Building and Running QuarkuShop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Building & Deploying the Monolithic application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Importing the Project in Azure DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Creating the CI/CD pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Adding the anti-disasters layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Implementing the Security Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Implementing the Monitoring Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226Microservices Architecture Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Microservices Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Making the Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Splitting the Monolith: Bombarding the domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232What is Domain-Driven Design ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232Bombarding QuarkuShop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Dependencies and Commons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Refactoring Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Transactional Boundaries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238Applying DDD to the code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Applying Bounded Contexts to Java Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Locating & breaking the BC Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242Meeting the microservices concerns and patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Cloud Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250What’s next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257Getting started with Kubernetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259What is Kubernetes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259Run Kubernetes locally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269Practical Summary & Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271Additional reading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272Implementing the Cloud Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Bringing the Monolithic Universe to Kubernetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293Building the Kubernetized Microservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Creating the Commons Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Implementing the Product µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299Implementing the Order µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Implementing the Customer µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Implementing the User µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318Flying all over the Sky with Quarkus and Kubernetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Implementing the Circuit Breaker pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Implementing the Log Aggregation pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324Implementing the Distributed Tracing pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334Implementing the API Gateway pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346Playing with Quarkus in Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347Bringing Dapr into the game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349Final words & thoughts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351About the author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Creating Wordpress Online Store and Wordpress Online Magazine
The objective of this work is to develop a Word Press Online Store with Different Ecommerce Plugins and Themes and Word Press Online Magazine with MH Magazine ThemeThe work consists of three parts:i. Part I: Building Personal Websie with online shop the sell Ebooks:The objective of this part is to develop a Ecommerce word press website with all commonly used Plug-ins.First I registered in some free webhost my domain http://hidaia-alassouli.000space.comThen I created the database and installed the word press package.I installed after that all important Plugins for my website. I tested different ecommerce plugin to sell ebooks .The report includes:1- Changing the wordpress theme.2- Creating the frontpage post and the other pages.3- Adding Gallery Plugin.4- Adding yoast.5- Submission the Site to Search Engine and Analyze your Website6- Adding Contact Form Plugin7- Using easyfiledownloads Plugin to sell ebooks8- Using WP-Ecommerce Plugin to sell ebooks9- Using WP Shopping Cart Plugin10- Using Woocommerce Plugin to sell my EbooksI ended up to build my ecommerce shop with woocommerce as it was the most efficient and comfortable.ii. Part II: Building Ecomerce website with mystile theme and woocommerce pluginThe objective of this part is to develop a Ecommerce website with mystyle theme and woocommerce plugin and other commonly used Plug-ins.First I registered in some free webhost my domain http://hedaya-alasooly.000space.comThen I created the database and installed the word press package.I installed after that all important Plugins for my website. The second part of report includes:1- Installing mystyle theme.2- Installing woocommerce plugin Plugin.3- Adding yoast seo Plugin.4- Submission the Site to Search Engine and Analyze your Websiteiii. Part III: Building Online magazine website with MH-Magazine themeThe objective of this part is to develop an online magazine website with MH Magazine theme and other commonly used Plug-ins.First I registered in some free webhost my domain http://anticorruption.000space.com.Then I created the database and installed the word press package.I installed after that all important Plugins for my website. The third part of report includes:1- Installing MH Magazine theme.2- Configuring MH Magazine theme.3- Adding yoast seo Plugin.4- Submission the Site to Search Engine and Analyze your WebsiteI am Dr. Hidaia Mahmoud Mohamed Alassouli. I completed my PhD degree in Electrical Engineering from Czech Technical University by February 2003, and my M. Sc. degree in Electrical Engineering from Bahrain University by June 1995. I completed also one study year of most important courses in telecommunication and computer engineering courses in Islamic university in Gaza. So, I covered most important subjects in Electrical Engineering, Computer Engineering and Telecommunications Engineering during my study. My nationality is Palestinian from gaza strip.I obtained a lot of certified courses in MCSE, SPSS, Cisco (CCNA), A+, Linux.I worked as Electrical, Telecommunicating and Computer Engineer in a lot of institutions. I worked also as a computer networking administrator.I had considerable undergraduate teaching experience in several types of courses in many universities. I handled teaching the most important subjects in Electrical and Telecommunication and Computer Engineering.I could publish a lot of papers a top-tier journals and conference proceedings, besides I published a lot of books in Publishing and Distribution houses.I wrote a lot of important Arabic articles on online news websites. I also have my own magazine website that I publish on it all my articles: http:// www.anticorruption.000space.comMy personal website: www.hidaia-alassouli.000space.comEmail: hidaia_alassouli@hotmail.com
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Mit C# für Android und iOS programmieren, Cross-Plattform-Apps mit Xamarin.Forms entwickelnSie möchten Apps entwickeln, die sowohl auf iOS als auch auf Android nativ lauffähig sind? Schritt für Schritt führt André Krämer (Microsoft MVP) Sie in die Welt der Cross-Plattform-Entwicklung mit Xamarin.Forms und C# ein. Von der einheitlichen Codebasis über die Oberflächengestaltung und Datenbankanbindung bis zum Zugriff auf Geräte-APIs lernen Sie hier alles, um plattformübergreifende Apps zu entwickeln.Im Laufe der Lektüre dieses Buches programmieren Sie eine Beispiel-App für ein fiktives Restaurant und vertiefen dabei das in den Kapiteln erworbene Wissen.Das Buch setzt Grundkenntnisse in der Programmierung mit C# voraus. Erfahrung mit XAML ist von Vorteil, jedoch nicht erforderlich.Sämtliche Beispiele des Buchs finden Sie im zugehörigen GitHub-Repository.Aus dem Inhalt:XamarinAndroid, Xamarin.iOS und Xamarin.FormsArchitektur von Cross-Plattform-Apps/Oberflächendesign mit LayoutcontainernEingabeformulare anlegenNavigation und die Xamarin.FormsShellListenBilder Icons und SchriftartenStylesThemes in Xamarin.FormsAufruf von WebservicesLokale DatenhaltungXamarin.EssentialsLeseprobe (PDF Link)
Concepts and Semantics of Programming Languages 2
This book – composed of two volumes – explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, providing also an accurate presentation of the material aspects that interfere with coding.Concepts and Semantics of Programming Languages 2 presents an original semantic model, collectively taking into account all of the constructs and operations of modules and classes: visibility, import, export, delayed definitions, parameterization by types and values, extensions, etc. The model serves for the study of Ada and OCaml modules, as well as C header files. It can be deployed to model object and class features, and is thus used to describe Java, C++, OCaml and Python classes.This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.THERESE HARDIN is Professor Emeritus at the Laboratoire d'Informatique de Paris 6 (LIP6), Sorbonne University, France.MATHIEU JAUME is a lecturer at the Laboratoire d'Informatique de Paris 6 (LIP6), Sorbonne University, France.FRANÇOIS PESSAUX is Associate Professor in the Computer Science and Systems Engineering Unit (U2IS) of ENSTA Paris, France.VERONIQUE VIGUIE DONZEAU-GOUGE is Professor Emeritus at the Centre d'études et de recherche en informatique (CEDRIC) of the Conservatoire national des arts et métiers (Cnam Paris), France.Foreword ixPreface xiCHAPTER 1. NAMESPACES: MODEL AND OPERATIONS 11.1. Reusing, dividing, confining 21.1.1. Analysis of some developer needs 21.1.2. Meeting developer needs 31.2. Namespaces 51.2.1. Namespaces definition 61.2.2. Extending notions of environment and binding 81.3. kit development 121.3.1. Namespace of a kit 141.3.2. Order of fields introduction 151.3.3. Typing kits 151.3.4. kit values 181.3.5. kit export, confining fields 221.3.6. kits import 281.3.7. Stages of kit development 321.4. Incomplete kits 331.4.1. Type and value of an incomplete kit 341.4.2. Completion of an incomplete kit 341.4.3. Confining an incomplete kit 361.5. Parameterized kits 361.5.1. kits parameterized by a type 361.5.2. kits parameterized by types and values 411.5.3. Confinement, parametrization, incomplete kits and export 451.6. Functors of kits 461.7. kit extension 491.7.1. Presentation of extension 491.7.2. Confinement and extension 551.8. Conclusion 59CHAPTER 2. MODULES 612.1. Modules in Ada 622.1.1. Developing modules 622.1.2. Export and confinement 652.1.3. Nesting modules 662.1.4. Importing a module 662.1.5. Flattening an import 672.1.6. Generic modules 682.1.7. Modules and separate compilation 712.2. Modules in OCaml 712.2.1. Module definition 722.2.2. Export and confinement 732.2.3. Confinement of type definitions 782.2.4. Functors 822.3. Modularity, namespaces and W-kit 852.3.1. Declaration interfaces 852.3.2. W-kits 862.3.3. Modularity and header files in C 86CHAPTER 3. CLASS AND OBJECT FEATURES 933.1. Object-oriented features 933.1.1. Objects 943.1.2. Classes 953.2. kits and object features 1043.2.1. Modeling classes 1043.2.2. Modeling objects 1073.2.3. Inheritance, redefinition and late binding 1093.2.4. Incomplete C-kits, parameterized C-kits 1133.2.5. Subclassing, subtyping 1153.2.6. Type languages, classes and objects 119CHAPTER 4. CLASSES IN SELECTED LANGUAGES 1234.1. Classes in Java 1234.1.1. General presentation 1234.1.2. Modules and packages 1244.1.3. Classes 1254.1.4. Marks 1314.1.5. Developing classes 1344.2. Classes in C++ 1444.2.1. Header files, namespaces, confinement 1454.2.2. Classes 1484.2.3. Inheritance and confinement 1554.2.4. Overloading in C++ 1654.2.5. Parameterized classes 1684.3. Classes in OCaml 1744.3.1. Presentation 1744.3.2. An overview of classes 1744.3.3. Marks, incomplete classes, parametrization 1814.3.4. Objects 1864.3.5. Class signatures: confinement and inheritance 1924.3.6. Multiple inheritance 1954.3.7. Other features 1974.4. Presentation of Python 1974.4.1. Getting started 1984.4.2. An overview of classes, modules and types 1994.4.3. Names and assignment 2084.4.4. Assignment and typechecking 2114.4.5. Overloading 2134.4.6. Modules and packages 2174.4.7. Confinement 2184.4.8. Inheritance 2194.4.9. Incomplete C-kits and abstract classes 2214.4.10. Other features 222Appendix: Questions to Guide Learning 225List of Notations 229References 231Index 233
Foundation Db2 and Python
Work with Db2 to write SQL and access databases using optimized code for the fastest response. This book will give you complete documentation on DB2 via Python for the IBM_db module and provide a number of examples for the usage of each module API.Begin by getting your free version of Db2 for Linux and Windows. While the book concentrates more on the Linux version of Db2, it also covers enough of the Windows version so that you're comfortable with obtaining and installing Db2 on your version of Windows. Next, you'll see how to install the sample database that comes with Db2, and take some data from the web to design a database around it, including tables and indexes.For Db2 to be really useful you need to use strong SQL expressions. This book provides specific examples of how to avoid using poor ones that can cause extra processing time for the query. Lastly, you'll look at each API in the ibm_db and ibm_db_dbi module. This module is not sponsored by IBM and must be installed separately from the Db2 database.After reading Foundation Db2 and Python you'll be able to install Db2 on Windows or Linux, and perform backups and restore data.WHAT YOU'LL LEARN* Obtain and install Db2 properly on Linux and Windows* Create databases and load them on Db2* Work with ibm_db and ibm_db_dbi API modules for Python* Write SQL for Db2* Review the future of the ibm_db Python module WHO THIS BOOK IS FORPython programmers and DB2 administrators interested in building application with Python and DB2 W. David Ashley is a technical writer for SkillSoft where he specializes in open source, particularly Linux. As a member of the Linux Fedora documentation team he recently led the Libvert project documentation, and wrote the Python programs included with it. He has developed in 20 different programming languages during his 30 years as a software developer and IT consultant, including more than 18 years at IBM and 12 years with American Airlines. Chapter 1: IntroductionChapter Goal: An introduction to Db2 for Linux and Windows.No. of Pages: 10Sub-Topics:Glossary of termsIntroduction to the Db2Obtaining the install files for Db2What you need as far as your hardware and OS for your Db2 machineHow to organize your file system to support Db2 data basesChapter 2: Installing Db2Chapter Goal: Describes how to install Db2 on Linux and WindowsNo. of Pages: 50Sub-Topics:Preparing your server for Db2Installing Db2 on LinuxInstalling Db2 on WindowsInstalling the ibm_db moduleTest the connection between Python/ibm_db and Db2Chapter 3: Db2 ManagementChapter Goal: Create Python scripts to access Db2No. of Pages: 40Sub-Topics:Layout of the typical Python script to access Db2The ibm_db moduleThe order of processing in almost all Python scripts accessing Db2Using exceptions in your Python scriptsChapter 4: Installing the Db2 sample database and a custom databaseChapter Goal: Learn how to design and create your own databasesNo. of Pages: 35Sub-Topics:Install the Db2 sample databaseWrite some simple Python scripts to access the sample data baseDesign and install the Orbital Launch data baseWrite some simple Python scripts to assess the Orbital Launch data baseChapter 5: Creating Utility Modules for Accessing Db2Chapter Goal: Creating modules that access ibm_dbNo. of Pages: 40Sub-Topics:Create you first utility moduleUse functions or classes in your module, or both?Organizing your module(s)Accessing your moduleChapter 6: Documenting the ibm_db ModuleChapter Goal: Documenting the ibm_db Module APINo. of Pages: 40Sub-Topics:Document each API in the ibm_db moduleDocument all input and outputs to each APIProvide multiple examples for each APIChapter 7: Writing Good SQL for Db2 (this might cover multiple chapters)Chapter Goal: Creating optimized SQL for Db2No. of Pages: 60Sub-Topics:Minimize the passes through the dataCode for concurrencyLocking and isolation levelsHow to avoid writing codeThe importance of indexesOptimizationSequential vs. random data accessTypes of joinsChapter 8: Where is the ibm_db Module GoingChapter Goal: Explain why IBM does not directly support the ibm_db moduleNo. of Pages: 25Sub-Topics:Why ibm_db is open source?How does ibm_db use underlying systems?Why is this module not included with Db2?Some future items to be added to ibm_db moduleChapter 9: Db2 provided utilitiesChapter Goal: Describe some of the utilities that come with Db2 and possibly some extra cost utilitiesNo. of Pages: 50Subtopics:What utilities are covered has yet to be identifiedChapter 10: BLOB data, what is it and how do you use itChapter Goals: Describe what a blob is and how to use oneNo. of Pages: 50Subtopics:Describe the different kinds of BLOBsAccessing BLOB data in PythonWhat kinds of data can be stored in a BLOBUtilizing BLOBs to store Python data, how to keep data and metadata together in Db2
Practical Vaadin
Implement web applications in Java using the open-source Vaadin framework version 20 and later. This easy-to-follow book covers all the key concepts and steps to become competent with modern versions of Vaadin. The book covers everything from setting up the development environment to implementing advanced features such as Server Push and database connectivity. The book helps you become proficient in the Vaadin framework, prepare for Vaadin certifications, and shows you how to apply the power of the Java programming language in developing applications for the web.Author Alejandro Duarte starts with an introduction to web development and its key technologies. He then describes and demonstrates how Vaadin simplifies web development by allowing you to implement web graphical user interfaces using the Java programming language without having to code in JavaScript or HTML. Once a solid foundation on the key web and Vaadin concepts is established, Duarte digs deeper into explaining layouts and user interface components such as combo boxes, dialogs, upload fields, and data grids. He also covers topics such as styling with CSS, data binding, client-side views implementation with TypeScript, and integration with Spring Boot and Jakarta EE.WHAT YOU WILL LEARN* Build web applications in Java using Servlet technology and Vaadin* Combine layouts and user interface components to create views in Java* Connect values in UI components to Java objects in the server through data binding* Customize display styles and add responsive capabilities using CSS* Display tabular data using the Grid component* Implement client-side views using TypeScript* Integrate Vaadin applications with Spring Boot and Jakarta EE* Connect Vaadin applications to SQL databasesWHO THIS BOOK IS FORDevelopers with a basic or higher knowledge of Java programming who want to build on their Java skills to create web graphical user interfaces, Java developers who want to create web applications without having to code in JavaScript, and developers who are preparing to take and pass Vaadin certification examsALEJANDRO DUARTE is a Software Engineer currently working for Vaadin Ltd as their Developer Relations Manager. This is his third book on Vaadin. Alejandro started to code at age 13 using the BASIC programming language on a black screen with a blinking cursor serving as the IDE. He quickly moved to the C and C++ languages—which he still loves and enjoys—and then to Java during his Computer Science studies at the National University of Colombia from where he graduated. Alejandro moved to the UK and later to Finland to foster his career in the open-source software industry. He became one of the well-known faces in the Vaadin and Java communities, having published articles and videos with hundreds of thousands of views in official Vaadin channels and other content portals, and presented technical topics at international Java conferences and Java User Groups. Alejandro splits his free time between his passion for the electric guitar and the photography world. PART I. GETTING STARTED1. The World of Vaadin2. Setting Up the Development EnvironmentPART II. THE FUNDAMENTALS OF VAADIN3. Layouts4. UI Components5. Data Binding6. The Grid ComponentPART III. ADVANCED FEATURES7. Multi-view Navigation and Routing8. Server Push9. The Element API10. Custom Styles and Responsiveness11. Client-side Views with TypeScriptPART IV. INTEGRATIONS AND DATABASE CONNECTIVITY12. Spring Boot13. Jakarta EE
Algorithmen in Java
Programmieren will trainiert werden, und Algorithmen gehören zum Rüstzeug hinzu. Schlagen Sie zwei Fliegen mit einer Klappe und verbessern Sie Ihre Java-Skills anhand klassischer Algorithmen, von der Suche im Binärbaum über k-Means bis zum Rucksackproblem. Dieses Buch ist Grundausbildung und Fundgrube für Coding Workouts zugleich. Profitieren Sie von der Lehr- und Praxiserfahrung des Autors: David Kopec hat 32 Klassiker der Informatik für Sie herausgesucht, die Ihnen wichtige Lösungsstrategien aufzeigen und einen starken Trainingseffekt versprechen.Ideal für alle, die ihre ersten Schritte in der Programmierung hinter sich haben und jetzt voll durchstarten wollen!Aus dem Inhalt:Zum Einstieg: Unknackbare Verschlüsselung, Fibonacci-Folge, die Türme von HanoiSuchalgorithmen: DNS-Suche, Labyrinthe u.v.m.Bedingungserfüllung: Wortsuchrätsel, Acht-Damen-Problem u.v.m.Grafen, kürzeste Wegek-Means-ClusteringEinfache neuronale NetzeMinimax: Tic-tac-toe, Vier gewinntLeseprobe (PDF)
Essential Java for AP CompSci
Gain the essential skills for computer science using one of today's most popular programming languages, Java. This book will prepare you for AP CompSci Complete, but you don’t need to be sitting that class to benefit. Computer science has become a basic life skill that everyone is going to need to learn. Whether you are going into a career or side hustle in business, technology, creativity, architecture, or almost any other field, you will find coding and computer science play a role.So when we learn programming we are going to focus on three things: what is the process; what is the syntax; and what is the flow. The process is represented as a flowchart. We will learn how to make these to help you plan out what you are going to do before you write a line of code. At first, the flowcharts will be pretty simple, but then they will get more complex. The syntax is the code: this is what you write that translates the process you create in a flowchart to the instructions that the computer can understand. Finally, there is the flow. This is where you trace through the code and see how the data and information it stores along the way changes. You can see how the operation of the program cascades from line to line. You will be building charts that will capture the programming flow so you can better understand how the computer processes code to make your next program easier to conceive and code.Along the way to aid in the learning of the essential Java skills, there will be three kinds of project types throughout this book: business software projects for applications where you work for a company and need to complete an internal project for a team such as the sales, marketing, or data science teams; social good projects where you are working for non-profits or for agencies that are trying to research and provide solutions to economic, environmental, medical, or humanitarian projects; and game development projects for games based on player input, random chance, or other mechanics for the use of entertainment.What is unique about computer science is how it has become a skill, and not just a career. While there are jobs and titles of “computer scientist”, the skill of computer science, and specifically programming, are almost everywhere. After reading and using this book, you'll have the essential skills to think like a computer scientist, even if you are not. As a result you’ll be of greater value to your clients, your company, and yourself.WHAT YOU WILL LEARNDiscover the primary building blocks of programming using the Java programming language * See terminology and best practices of software development* Work with object-oriented programming concepts* Use common-language definitions and examples to help drive understanding and comprehension of computer science fundamentalsWHO THIS BOOK IS FORThose who want to learn programming and want to think like a computer scientist. Ideal for anyone taking AP CompSci Complete.Doug Winnie is director of learning experience at H&R Block, responsible for learning and development platforms supporting associates across the organization. Previously, Doug was principal program manager at Microsoft and LinkedIn leading the LinkedIn Learning instructor community, curriculum strategy for technology learning content, and as a member the Windows Insider team supporting educational and career growth for millions of Windows Insiders worldwide.Throughout his career and consulting with companies such as Adobe, PG&E, Safeway, HP, and the US Army, Doug has worked to help developers and designers through education, product management, and interactive development. Doug was honored with two Webby award nominations with projects for Industrial Light and Magic and has written multiple publications to teach beginners how to code. He is also an AP Computer Science teacher, teaching the next generation of developers. Doug lives in the Kansas City metro area and Palm Springs, California.1. WELCOME TO COMPUTER SCIENCE2. SPRINT 01: INTRODUCTION3. SPRINT 02: SETTING UP THE JAVA JDK AND INTELLIJ4. SPRINT 03: SETTING UP GITHUBa. QUIZ 01b. QUIZ 025. SPRINT 04: PROGRAMMING LANGUAGES6. SPRINT 05: HISTORY AND USES OF JAVA7. SPRINT 06: HOW JAVA WORKSa. QUIZ 038. SPRINT 07: FLOWCHARTINGa. ASSIGNMENT 01: PBJ’Db. QUIZ 049. SPRINT 08: HELLO, WORLDa. QUIZ 0510. SPRINT 09: SIMPLE JAVA PROGRAM STRUCTURE11. SPRINT 10: TEXT LITERALS AND OUTPUTa. ASSIGNMENT 02: EE’D12. SPRINT 11: VALUE LITERALS13. SPRINT 12: OUTPUT FORMATTING14. SPRINT 13: COMMENTS AND WHITESPACE15. SPRINT 14: ABSTRACTION OF NUMBERS16. SPRINT 15: BINARYa. QUIZ 0617. SPRINT 16: UNICODE18. SPRINT 17: VARIABLES19. SPRINT 18: MATH. UGH.a. QUIZ 07b. ASSIGNMENT 03: SILO’D20. SPRINT 19: MATH FUNCTIONS21. SPRINT 20: MANAGING TYPEa. ASSIGNMENT 04: SPACE’Db. QUIZ 08c. QUIZ 09d. QUIZ 10e. QUIZ 1122. SPRINT 21: RANDOM NUMBERS23. SPRINT 22: CAPTURE INPUT24. SPRINT 23: CREATING TRACE TABLES25. SPRINT 24: FUNCTIONSa. ASSIGNMENT 05: ORC’D26. SPRINT 25: NESTED FUNCTIONS27. SPRINT 26: FUNCTIONS AND VALUESa. QUIZ 1228. SPRINT 27: FUNCTIONS AND SCOPEa. QUIZ 13b. QUIZ 14c. QUIZ 15d. ASSIGNMENT 06: ULTIMA’De. ASSIGNMENT 07: CYCLONE’D29. SPRINT 28: BOOLEAN VALUES AND EQUALITYa. QUIZ 16b. ASSIGNMENT 08: SPRINT’Dc. USER STORY: 52-PICKUP30. SPRINT 29: SIMPLE CONDITIONAL STATEMENTSa. USER STORY: YAHTZEEb. USER STORY: YAHTZEE TESTINGc. QUIZ 17d. QUIZ 18e. QUIZ 1931. SPRINT 30: MATCHING CONDITIONS WITH THE SWITCH STATEMENT32. SPRINT 31: THE TERNARY OPERATOR33. SPRINT 32: THE STACK AND THE HEAP34. SPRINT 33: TESTING EQUALITY WITH STRINGSa. ASSIGNMENT 09: ESCAPE’Db. USER STORY: ESCAPE’D WHITE BOX35. SPRINT 34: DEALING WITH ERRORS36. SPRINT 35: DOCUMENTING WITH JAVADOC37. SPRINT 36: FORMATTED STRINGS38. SPRINT 37: THE WHILE LOOPa. QUIZ 20b. QUIZ 21c. QUIZ 2239. SPRINT 38: AUTOMATIC PROGRAM LOOPS40. SPRINT 39: THE DO/WHILE LOOPa. ASSIGNMENT 10: SEQUENCE’Db. USER STORY: DICEYc. USER STORY SOLUTION: DICEYd. USER STORY: CONVERTERe. USER STORY SOLUTION: CONVERTER41. SPRINT 40: PROBABILITY42. SPRINT 41: SIMPLIFIED ASSIGNMENT OPERATORS43. SPRINT 42: THE FOR LOOPa. QUIZ 23b. ASSIGNMENT 11: ODDS’D44. SPRINT 43: NESTING LOOPSa. USER STORY: MAP BUILDER45. SPRINT 44: STRINGS AS COLLECTIONSa. ASSIGNMENT 12: PALINDROME’Db. QUIZ 2446. SPRINT 45: MAKE COLLECTIONS USING ARRAYSa. QUIZ 2547. SPRINT 46: CREATING ARRAYS FROM STRINGSa. ASSIGNMENT 13: ELECTION’Db. QUIZ 2648. SPRINT 47: MULTIDIMENSIONAL ARRAYS49. SPRINT 48: LOOPING THROUGH MULTIDIMENSIONAL ARRAYSa. QUIZ 27b. QUIZ 2850. SPRINT 49: BEYOND ARRAYS WITH ARRAYLISTS51. SPRINT 50: INTRODUCING GENERICS52. SPRINT 51: LOOPING WITH ARRAYLISTSa. ASSIGNMENT 14: LIST’D53. SPRINT 52: USING FOR…EACH LOOPSa. ASSIGNMENT 15: NUMBER’Db. QUIZ 29c. QUIZ 3054. SPRINT 53: THE ROLE-PLAYING GAME CHARACTERa. ASSIGNMENT 16: ROLL’D55. SPRINT 54: POLYMORPHISMa. ASSIGNMENT 17: EXTEN’D56. SPRINT 55: MAKE ALL THE THINGS…CLASSES57. SPRINT 56: CLASS, EXTEND THYSELF!a. QUIZ 3158. SPRINT 57: I DON'T COLLECT THOSE; TOO ABSTRACT.59. SPRINT 58: ACCESS DENIED: PROTECTED AND PRIVATEa. QUIZ 32b. QUIZ 3360. SPRINT 59: INTERFACING WITH INTERFACESa. QUIZ 34b. QUIZ 35c. QUIZ 36d. QUIZ 37e. ASSIGNMENT 18: STARSHIP’D61. SPRINT 60: ALL I'M GETTING IS STATIC62. SPRINT 61: AN ALL-STAR CAST, FEATURING NULL63. ANSWER KEY
SAP Mobile Services
Mobile Apps flexibel entwickeln! Dieses Buch stellt Ihnen den kompletten Funktionsumfang der SAP Mobile Services vor (vormals SAP Cloud Platform Mobile Services). Ob Sie native Apps für iOS oder Android programmieren oder Ihren Mitarbeitenden Mobile Cards für den schnellen Zugriff auf Informationen bereitstellen möchten: Für alle App-Typen und SDKs finden Sie ausführliche Beispiele. Die Autoren zeigen Ihnen außerdem, wie Sie Ihre Apps absichern und verwalten. Aus dem Inhalt: Native Apps für iOS und AndroidHybride AppsSAP-Fiori-AppsSAP Mobile CardsPush-BenachrichtigungenOffline-DatenhaltungApp-UpdatesCloud ConnectorNeo- und Cloud-Foundry-UmgebungIdentity Propagation und AuthentifizierungGit Einleitung ... 13 1. Historie der SAP Mobile Services ... 19 1.1 ... Erste Technologien für mobile Apps ... 20 1.2 ... Sybase Unwired Platform ... 22 1.3 ... Syclo Agentry ... 26 1.4 ... SAP Mobile Platform ... 28 1.5 ... SAP Mobile Services ... 31 2. App-Typen ... 39 2.1 ... Native Apps ... 40 2.2 ... Hybride Apps ... 48 2.3 ... SAP Fiori Client ... 51 2.4 ... Mobile Development Kit ... 55 2.5 ... SAP Mobile Cards ... 57 3. Einführung in die SAP Mobile Services ... 59 3.1 ... Funktionsumfang der SAP Mobile Services ... 59 3.2 ... Vergleich zwischen Neo- und Cloud-Foundry-Umgebung ... 107 3.3 ... Migration von der Neo- in die Cloud-Foundry-Umgebung ... 109 4. Entwicklung einer nativen App mit dem SAP BTP SDK for iOS ... 111 4.1 ... Einführung in die SAP Fiori Design Guidelines ... 112 4.2 ... Einführung in SAP Fiori Mentor ... 116 4.3 ... Datenmodell für die im Buch verwendeten Beispiele ... 120 4.4 ... Projekt mit dem SAP BTP SDK Assistant for iOS erstellen ... 123 5. Entwicklung einer nativen App mit dem SAP BTP SDK for Android ... 133 5.1 ... SAP Fiori for Android ... 134 5.2 ... SAP Fiori Mentor für Android ... 136 5.3 ... Projekt mit dem SAP BTP SDK Wizard for Android erstellen ... 140 6. Entwicklung einer hybriden App mit dem Mobile Development Kit ... 157 6.1 ... Entwicklungsumgebung einrichten ... 157 6.2 ... OData-basierte App mit dem Mobile Development Kit erstellen ... 163 7. Entwicklung einer hybriden App mit dem Hybrid Application Toolkit ... 191 7.1 ... Entwicklungsumgebung einrichten ... 192 7.2 ... Eine hybride App in der SAP Web IDE entwickeln ... 196 8. Entwicklung einer Mobile Card ... 215 8.1 ... SAP Mobile Cards installieren und vorbereiten ... 216 8.2 ... Eine Mobile Card erstellen ... 218 9. Integration mit On-Premise- und Cloud-Systemen ... 237 9.1 ... Einführung in den Cloud Connector ... 237 9.2 ... Zugriff auf On-Premise-Systeme ... 255 9.3 ... Zugriff auf Cloud-Systeme ... 270 10. Sicherheit der SAP Mobile Services ... 273 10.1 ... Einführung in die Sicherheitsarchitektur der SAP Business Technology Platform ... 273 10.2 ... Standardrollen für die SAP Mobile Services ... 276 10.3 ... Identity Propagation ... 278 10.4 ... Anwenderauthentifizierung ... 287 10.5 ... SAP Authenticator ... 297 10.6 ... Datenschutz ... 299 11. Softwarelogistik ... 303 11.1 ... Softwarelogistik für mobile Lösungen ... 303 11.2 ... Versionsverwaltung mobiler Apps mit Git ... 305 11.3 ... Continuous Integration und Delivery ... 313 12. Integration von Drittanbieterfunktionalität ... 337 12.1 ... Plug-ins in mobile SAP-Fiori-Apps integrieren ... 339 12.2 ... Plug-ins in iOS-Apps integrieren ... 347 12.3 ... Plug-ins in Android-Apps integrieren ... 350 13. Mobile SAP-Standard-Apps ... 353 13.1 ... SAP Analytics Cloud ... 353 13.2 ... SAP Work Manager ... 356 13.3 ... SAP SuccessFactors Mobile ... 357 13.4 ... Mobile App für SAP Concur ... 359 13.5 ... SAP Sales Cloud ... 360 13.6 ... SAP Jam ... 362 Das Autorenteam ... 365 Index ... 367
Get Started with the MAX78000FTHR Development Board
The MAX78000FTHR from Maxim Integrated is a small development board based on the MAX78000 MCU. The main usage of this board is in artificial intelligence applications (AI) which generally require large amounts of processing power and memory. It marries an Arm Cortex-M4 processor with a floating-point unit (FPU), convolutional neural network (CNN) accelerator, and RISC-V core into a single device. It is designed for ultra-low power consumption, making it ideal for many portable AI-based applications.This book is project-based and aims to teach the basic features of the MAX78000FTHR. It demonstrates how it can be used in various classical and AI-based projects. Each project is described in detail and complete program listings are provided. Readers should be able to use the projects as they are, or modify them to suit their applications. This book covers the following features of the MAX78000FTHR microcontroller development board:> Onboard LEDs and buttons> External LEDs and buttons> Using analog-to-digital converters > I2C projects> SPI projects> UART projects> External interrupts and timer interrupts > Using the onboard microphone> Using the onboard camera> Convolutional Neural Network (CNN) > Artificial Intelligence projectsProf Dr Dogan Ibrahim has a BSc degree in electronic engineering, an MSc degree in automatic control engineering, and a PhD degree in digital signal processing. Dogan has worked in many indus-trial organizations before he returned to academic life. Prof Ibrahim is the author of over 60 technical books and over 200 technical articles on microcontrollers, microprocessors, and related fields. He is a Chartered electrical engineer and a Fellow of the Institution of Engineering Technology.
C++ Schnelleinstieg
* C++ PROGRAMMIEREN LERNEN OHNE VORKENNTNISSE * ALLE GRUNDLAGEN FÜR DEN PROFESSIONELLEN EINSATZ* EINFACHE PRAXISBEISPIELE UND ÜBUNGSAUFGABENMit diesem Buch gelingt Ihnen der einfache Einstieg in die C++-Programmierung.Alle Grundlagen werden in 14 Kapiteln anschaulich und leicht nachvollziehbar anhand von Codebeispielen erläutert. Übungsaufgaben am Ende der Kapitel helfen Ihnen, das neu gewonnene Wissen schnell praktisch anzuwenden und zu vertiefen.Der Autor führt Sie Schritt für Schritt in die Welt der Programmierung ein: von den Grundlagen über Objektorientierung bis zur Entwicklung von Anwendungen mit grafischer Benutzungsoberfläche. Dabei lernen Sie ebenfalls, was guten Programmierstil ausmacht und wie man Fehler in Programmtexten finden und von vornherein vermeiden kann.So sind Sie perfekt auf den Einsatz von C++ im professionellen Umfeld vorbereitet.* Alle Grundlagen einfach erläutert* Objektorientierte Programmierung* Einsatz von Open-Source-Bibliotheken* Grafische Benutzungsoberflächen (GUI)* Internetanfragen und JSON-Parsing* Zeiger und virtuelle Methoden* Fehlersuche und Debugging* Moderner Programmierstil* Programmcode, Lösungen und Glossar zum DownloadPhilipp Hasper ist Gründer eines Augmented-Reality-Startups und hat jahrelange Erfahrung in der akademischen und industriellen Entwicklung von KI-Technologien. Er entwickelt mit C++, Java, Python und Typescript und hat bei zahlreichen Open-Source-Projekten mitgewirkt.
Einführung in Python 3
EINFÜHRUNG IN PYTHON 3 //- Lehrbuch und Nachschlagewerk- Farbige Syntaxdarstellung- Geeignet für Programmieranfänger, aber auch für Umsteiger von anderen Sprachen wie z. B. C, C++, C#, Java- Systematische Einführung in Python, aufbauend auf den Erfahrungen aus Hunderten von Schulungen des Autors- Praxisnahe Übungen mit ausführlich dokumentierten Musterlösungen- Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten BuchesDie wesentlichen Begriffe und Techniken der Programmierung wie auch die zugrunde liegenden Ideen werden anschaulich erklärt. Anhand typischer Beispiele werden unterschiedliche Problemstellungen verdeutlicht, die sich dann leicht auf andere Anwendungsfälle übertragen lassen. Die Übungsaufgaben mit ausführlich dokumentierten Musterlösungen dienen zur Vertiefung des Stoffs und zeigen exemplarische Vorgehensweisen, die in vielen anderen Bereichen verwendet werden können.Als idealer Einstieg für Programmieranfänger und für Umsteiger behandelt dieses Buch alle grundlegenden Sprachelemente von Python. Auch für Python-Kenner bietet das Buch viele weiterführende Themen wie Funktionale Programmierung mit Dekorateuren, Generatoren, Klasseninstanzen als aufrufbare Objekte, Systemprogrammierung, Forks, Ausnahmehandlungen und Modultests.Entsprechend ihrer Bedeutung ist der Objektorientierung ein umfangreicher Teil des Buchs gewidmet. In anschaulicher und leicht verständlicher Weise wird in die Thematik der OOP eingeführt und dabei der pythonische Stil demonstriert, der sich deutlich von C++ und Java unterscheidet. Außerdem wurden nun auch eigene Kapitel zu Slots, dynamischer Erzeugung von Klassen, Metaklassen und Abstrakten Klassen aufgenommen.Die Funktionale Programmierung wird in einem eigenen Teil behandelt. Dazu wurden die Kapitel über Dekorateure und Generatoren grundlegend überarbeitet und erweitert.AUS DEM INHALT //- Grundlagen: Sequentielle Datentypen, Dictionaries, Mengen, Verzweigungen, Schleifen- Flaches und tiefes Kopieren- Funktionen- Modularisierung- Objektorientierte Programmierung: Grundlagen, Aufrufbare Objekte (Callables), Vererbung, Mehrfachvererbung, Slots, Klassendekoration, Metaklassen, Abstrakte Klassen- Funktionale Programmierung: lambda, map, filter und Listen-Abstraktion, Generatoren und Iteratoren, Dekorateure- Tests und Fehler- Daten konservieren- Reguläre Ausdrücke- Typ-Anmerkungen- Systemprogrammierung- Forks Der Diplom-Informatiker Bernd Klein ist der Inhaber und Gründer des Schulungsanbieters Bodenseo. Er kennt sich bestens mit der Theorie und Praxis von Programmiersprachen aus. In zahlreichen Projekten hat er wertvolle praktische Erfahrungen gesammelt, die in seine Kurse und Bücher einfließen. Seit 2010 hat er sich auf Python konzentriert und sich zum international anerkannten Experten entwickelt.Seine didaktischen Fähigkeiten und seine Sachkompetenz stellt er auf den beiden Webseiten www.python-kurs.eu und www.python-course.eu unter Beweis.
Beginning C# and .NET
GET A RUNNING START TO LEARNING C# PROGRAMMING WITH THIS FUN AND EASY-TO-READ GUIDEAs one of the most versatile and powerful programming languages around, you might think C# would be an intimidating language to learn. It doesn’t have to be!In Beginning C# and .NET: 2021 Edition, expert Microsoft programmer and engineer Benjamin Perkins and program manager Jon D. Reid walk you through the precise, step-by-step directions you’ll need to follow to become fluent in the C# language and .NET.Using the proven WROX method, you’ll discover how to understand and write simple expressions and functions, debug programs, work with classes and class members, work with Windows forms, program for the web, and access data. You’ll even learn about some of the new features included in the latest releases of C# and .NET, including data consumption, code simplification, and performance.The book also offers:* Detailed discussions of programming basics, like variables, flow control, and object-oriented programming that assume no previous programming experience * “Try it Out” sections to help you write useful programming code using the steps you’ve learned in the book * Downloadable code examples from wrox.com Perfect for beginning-level programmers who are completely new to C#, Beginning C# and .NET: 2021 Edition is a must-have resource for anyone interested in learning programming and looking for a fun and intuitive place to start.ABOUT THE AUTHORSBENJAMIN PERKINS is a Sr. Escalation Engineer at Microsoft. His experience includes designing, developing, deploying, administering, and managing enterprise-level IT solutions. JON D. REID is a Program Manager in Research and Development at IFS AB, specializing in Field Service Management using C# and .NET. Introduction xxviiPART I: THE C# LANGUAGECHAPTER 1: INTRODUCING C# 3What Is .NET? 3.NET Framework, .NET Standard, and .NET Core 4Writing Programs Using .NET 5CIL and JIT 5Assemblies 6Managed Code 7Garbage Collection 7Fitting It Together 7Linking 8What Is C#? 8Applications You Can Write with C# 9C# in This Book 10Visual Studio 10Visual Studio Products 10Solutions 11CHAPTER 2: WRITING A C# PROGRAM 13The Visual Studio Development Environment 14Console Applications 18The Solution Explorer 21The Properties Window 22The Error List Window 23Desktop Applications 23CHAPTER 3: VARIABLES AND EXPRESSIONS 29Basic C# Syntax 30Basic C# Console Application Structure 33Variables 34Simple Types 34Variable Naming 39Literal Values 39Binary Literals and Digit Separators 40String Literals 41Expressions 42Mathematical Operators 43Assignment Operators 48Operator Precedence 49Namespaces 50CHAPTER 4: FLOW CONTROL 55Boolean Logic 56Boolean Bitwise and Assignment Operators 58Operator Precedence Updated 60Branching 60The Ternary Operator 61The if Statement 61Checking More Conditions Using if Statements 64The switch Statement 65Looping 68do Loops 68while Loops 71for Loops 73Interrupting Loops 74Infinite Loops 75CHAPTER 5: MORE ABOUT VARIABLES 79Type Conversion 80Implicit Conversions 80Explicit Conversions 82Explicit Conversions Using the Convert Commands 84Complex Variable Types 87Enumerations 87Defining Enumerations 88Structs 91Defining Structs 92Arrays 94Declaring Arrays 95foreach Loops 98Pattern Matching with switch case Expression 98Multidimensional Arrays 102Arrays of Arrays 104String Manipulation 105CHAPTER 6: FUNCTIONS 113Defining and Using Functions 114Return Values 117Parameters 118Parameter Matching 121Parameter Arrays 121Reference and Value Parameters 123Out Parameters 125Tuples 126Variable Scope 128Variable Scope in Other Structures 131Parameters and Return Values versus Global Data 132Local Functions 134The Main() Function 135Struct Functions 137Overloading Functions 138Using Delegates 140CHAPTER 7: DEBUGGING AND ERROR HANDLING 145Debugging in Visual Studio 146Debugging in Nonbreak (Normal) Mode 147Outputting Debugging Information 148Tracepoints 152Diagnostics Output versus Tracepoints 154Debugging in Break Mode 155Entering Break Mode 155Monitoring Variable Content 158Stepping through Code 161Immediate and Command Windows 162The Call Stack Window 163Error Handling 163try. . .catch. . .finally 164Throw Expressions 172Listing and Configuring Exceptions 172CHAPTER 8: INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING 175What Is Object-Oriented Programming? 176What Is an Object? 177Properties and Fields 178Methods 179Everything’s an Object 180The Life Cycle of an Object 180Constructors 180Destructors 181Static and Instance Class Members 181Static Constructors 181Static Classes 182OOP Techniques 182Interfaces 182Disposable Objects 184Inheritance 184Polymorphism 187Interface Polymorphism 188Relationships between Objects 189Containment 189Collections 190Operator Overloading 191Events 191Reference Types versus Value Types 192OOP in Desktop Applications 192CHAPTER 9: DEFINING CLASSES 199Class Definitions in C# 200Interface Definitions 202System.Object 205Constructors and Destructors 207Constructor Execution Sequence 209OOP Tools in Visual Studio 212The Class View Window 212The Object Browser 214Adding Classes 216Class Diagrams 217Class Library Projects 219Interfaces versus Abstract Classes 223Struct Types 225Shallow Copying versus Deep Copying 227CHAPTER 10: DEFINING CLASS MEMBERS 231Member Definitions 232Defining Fields 232Defining Methods 233Defining Properties 234Tuple Deconstruction 239Refactoring Members 240Automatic Properties 241Additional Class Member Topics 242Hiding Base Class Methods 242Calling Overridden or Hidden Base Class Methods 244The this Keyword 244Using Nested Type Definitions 245Interface Implementation 247Implementing Interfaces in Classes 248Explicit Interface Member Implementation 249Additional Property Accessors 249Partial Class Definitions 250Partial Method Definitions 251Example Application 252Planning the Application 253The Card Class 253The Deck Class 253Writing the Class Library 253Adding the Suit and Rank Enumerations 254Adding the Card Class 256Adding the Deck Class 258A Client Application for the Class Library 261The Call Hierarchy Window 262CHAPTER 11: COLLECTIONS, COMPARISONS, AND CONVERSIONS 265Collections 266Using Collections 267Defining Collections 272Indexers 273Adding a CardCollection to CardLib 275Keyed Collections and IDictionary 278Iterators 279Iterators and Collections 284Deep Copying 285Adding Deep Copying to CardLib 286Comparisons 288Type Comparisons 288Boxing and Unboxing 289The is Operator 290Pattern Matching with the is Operator Pattern Expression 293Value Comparisons 294Operator Overloading 294Adding Operator Overloads to CardLib 299The IComparable and IComparer Interfaces 304Sorting Collections 306Conversions 309Overloading Conversion Operators 310The as Operator 311CHAPTER 12: GENERICS 315What Are Generics? 316Using Generics 317Nullable Types 317Operators and Nullable Types 318The ?? Operator 319The ?. Operator 320Working with Nullable Types 321The System.Collections.Generic Namespace 325List 326Sorting and Searching Generic Lists 327Dictionary 333Modifying CardLib to Use a Generic Collection Class 334Defining Generic Types 335Defining Generic Classes 336The default Keyword 338Constraining Types 338Inheriting from Generic Classes 344Generic Operators 345Generic Structs 346Defining Generic Interfaces 346Defining Generic Methods 346Defining Generic Delegates 348Variance 348Covariance 349Contravariance 350CHAPTER 13: ADDITIONAL C# TECHNIQUES 355The :: Operator and the Global Namespace Qualifier 356Custom Exceptions 357Adding Custom Exceptions to CardLib 358Events 359What Is an Event? 359Handling Events 361Defining Events 363Multipurpose Event Handlers 367The EventHandler and Generic EventHandler Types 370Return Values and Event Handlers 370Anonymous Methods 370Expanding and Using CardLib 371Attributes 380Reading Attributes 380Creating Attributes 381Initializers 382Object Initializers 383Collection Initializers 385Type Inference 388Anonymous Types 390Dynamic Lookup 394The dynamic Type 395Advanced Method Parameters 399Optional Parameters 399Optional Parameter Values 400The OptionalAttribute Attribute 400Optional Parameter Order 401Named Parameters 401Lambda Expressions 405Anonymous Methods Recap 405Lambda Expressions for Anonymous Methods 407Lambda Expression Parameters 410Lambda Expression Statement Bodies 411Lambda Expressions as Delegates and Expression Trees 412Lambda Expressions and Collections 413PART II: DATA ACCESSCHAPTER 14: FILES 423File Classes for Input and Output 424The File and Directory Classes 424The FileInfo Class 426The DirectoryInfo Class 428Path Names and Relative Paths 428Streams 429Classes for Using Streams 429The FileStream Object 429File Position 430Reading Data 432Writing Data 434The StreamWriter Object 436The StreamReader Object 439Reading Data 440Asynchronous File Access 441Reading and Writing Compressed Files 442Monitoring the File System 445CHAPTER 15: XML AND JSON 453XML Basics 454JSON Basics 455XML Schemas 455XML Document Object Model 458The XmlDocument Class 458The XmlElement Class 459Changing the Values of Nodes 463Inserting New Nodes 465Deleting Nodes 467Selecting Nodes 469Searching XML with XPath 469JSON Serialization and Deserialization 473CHAPTER 16: LINQ 479LINQ to XML 480LINQ to XML Functional Constructors 480Working with XML Fragments 483LINQ Providers 486LINQ Query Syntax 486Declaring a Variable for Results Using the var Keyword 488Specifying the Data Source: from Clause 489Specify Condition: where Clause 489Selecting Items: select Clause 490Finishing Up: Using the foreach Loop 490Deferred Query Execution 490LINQ Method Syntax 490LINQ Extension Methods 491Query Syntax versus Method Syntax 491Lambda Expressions 492Ordering Query Results 494Understanding the orderby Clause 495Querying a Large Data Set 496Using Aggregate Operators 498Using the Select Distinct Query 502Ordering by Multiple Levels 504Using Group Queries 506Using Joins 508CHAPTER 17: DATABASES 513Using Databases 514Entity Framework 514Code-First versus Database-First 514Migrations and Scaffolding 515Install SQL Server Express LocalDB 515A Code-First Database 516Exploring Your Database 527Navigating Database Relationships 530Creating and Querying XML from an Existing Database 536PART III: ADDITIONAL TECHNIQUESCHAPTER 18: .NET AND ASP.NET 545Cross-Platform Basics and Key “Must Know” Terms 547What was .NET Standard? 549Shared Project, PCL, and .NET Standard 551Building and Packaging a .NET Standard Library 553Referencing and Targeting .NET 557What was .NET Core? 558Cross Platform 558Open Source 559Optimized for the Cloud 560Performance 560Modular Design 561Self-ContainedDeployment Model 562Porting from .NET Framework to .NET 565Identifying Third-Party Dependencies 567Understanding Which Features Are Not Available 567Upgrading the Current .NET Framework Target 567Overview of Web Applications 568Which ASP.NET to Use and Why 569ASP.NET Web Forms 570Server Controls 572Input Validation 573State Management 574Authentication and Authorization 575ASP.NET Web Site versus ASP.NET Web Applications 575ASP.NET MVC/ASP.NET Core Web App MVC 577ASP.NET Core Web API 579ASP.NET Core Web App 580IIS and Kestrel 581Blazor App and Razor Pages 582Input Validation 584State Management 585Authentication and Authorization 586Dependency Injection 586CHAPTER 19: BASIC CLOUD PROGRAMMING 591The Cloud, Cloud Computing, and the Cloud Optimized Stack 592Cloud Patterns and Best Practices 595Using Microsoft Azure C# Libraries to Create a Storage Container 597Creating an ASP.NET Core Web Application That Uses the Storage Container 607CHAPTER 20: BASIC WEB API AND WCF PROGRAMMING 617Creating an ASP.NET Core Web API 617Consuming an ASP.NET Core Web API 622What Is REST? 629What Is WCF? 630WCF Concepts 631WCF Communication Protocols 631Addresses, Endpoints, and Bindings 632Contracts 634Message Patterns 634Behaviors 635Hosting 635WCF Programming 635The WCF Test Client 642Defining WCF Service Contracts 644Data Contracts 645Service Contracts 645Operation Contracts 646Message Contracts 647Fault Contracts 647Self-HostedWCF Services 652CHAPTER 21: BASIC DESKTOP PROGRAMMING 663XAML 664Separation of Concerns 665XAML in Action 665Namespaces 666Code-BehindFiles 667The Playground 667WPF Controls 669Properties 670Dependency Properties 673Attached Properties 673Events 674Handling Events 675Routed Events 676Routed Commands 676Control Types 679Control Layout 679Basic Layout Concepts 679Stack Order 679Alignment, Margins, Padding, and Dimensions 680Border 680Visual Debugging Tools 681Layout Panels 682Canvas 682DockPanel 684StackPanel 686WrapPanel 687Grid 688The Game Client 691The About Window 691Designing the User Interface 692The Image Control 692The Label Control 692The TextBlock Control 693The Button Control 693The Options Window 696The TextBox Control 697The CheckBox Control 698The RadioButton Control 699The ComboBox Control 700The TabControl 701Handling Events in the Options Window 705Data Binding 707The DataContext 708Binding to Local Objects 708Static Binding to External Objects 709Dynamic Binding to External Objects 710Starting a Game with the ListBox Control 712Creating and Styling Controls 716Styles 716Templates 717Triggers 719Animations 720WPF User Controls 721Implementing Dependency Properties 722The Main Window 736The Menu Control 736Routed Commands with Menus 736Putting It All Together 741Refactoring the Domain Model 741The View Model 748Completing the Game 757Appendix: Exercise Solutions 769Index 809
Think Python
Lernen, wie ein Informatiker zu denken – der abwechslungsreiche Praxiskurs für Python.Wenn Sie programmieren lernen wollen, eignet sich Python hervorragend als Einstieg. Dieses Praxisbuch führt Sie Schritt für Schritt durch die Sprache, beginnend mit grundlegenden Programmierkonzepten, über Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design.Lernen Sie, wie ein Programmierprofi zu denken! Allen Downey führt Sie nicht nur fundiert in Python ein, sondern leitet Sie auch an, über die Sprachkonstrukte nachzudenken, und vermittelt Ihnen so grundlegende Problemlösungsstrategien der Informatik. Die Kapitel enthalten jeweils ein Glossar der Fachbegriffe sowie Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren können. Auf diese Weise wenden Sie das Gelernte direkt an und festigen Ihr Verständnis für die konkrete Programmierpraxis.Starten Sie mit den Grundlagen, einschließlich Sprachsyntax und SemantikEntwickeln Sie eine klare Vorstellung von den jeweiligen ProgrammierkonzeptenLernen Sie Werte, Variablen, Anweisungen, Funktionen und Datenstrukturen in einer logischen Abfolge kennenEntdecken Sie, wie Sie mit Dateien und Datenbanken arbeiten könnenVerstehen Sie Objekte, Methoden und objektorientierte ProgrammierungWenden Sie Debugging-Techniken an, um Syntax-, Laufzeit- und Semantikfehler zu behebenErforschen Sie Funktionen, Datenstrukturen und Algorithmen anhand aussagekräftiger BeispieleInhalt (PDF-Link)
Decoupled Django
Apply decoupling patterns, properly test a decoupled project, and integrate a Django API with React, and Vue.js. This book covers decoupled architectures in Django, with Django REST framework and GraphQL. With practical and simple examples, you’ll see firsthand how, why, and when to decouple a Django project.Starting with an introduction to decoupled architectures versus monoliths, with a strong focus on the modern JavaScript scene, you’ll implement REST and GraphQL APIs with Django, add authentication to a decoupled project, and test the backend. You’ll then review functional testing for JavaScript frontends with Cypress. You will also learn how to integrate GraphQL in a Django project, with a focus on the benefits and drawbacks of this new query language.By the end of this book, you will be able to discern and apply all the different decoupling strategies to any Django project, regardless of its size.WHAT YOU'LL LEARN* Choose the right approach for decoupling a Django project* Build REST APIs with Django and a Django REST framework* Integrate Vue.js and GraphQL in a Django project* Consume a Django REST API with Next.js* Test decoupled Django projectsWHO THIS BOOK IS FORSoftware developers with basic Django skills keen to learn decoupled architectures with Django. JavaScript developers interested in learning full-stack development and decoupled architectures with Django.Valentino Gagliardi is a freelance consultant with a wealth of experience in the IT industry. He spent the last 8 years as a front-end consultant, providing advice and help, coaching and training on JavaScript and React. He worked as an instructor for multiple training agencies around the country, running in-person workshops and creating learning paths for aspiring developers. He loves to share his knowledge on his blog with tutorials reaching over 100,000 monthly visits. An avid Django user, he is active in the Python community as a speaker, and as a coach for Django Girls.Chapter 1: Introduction to the decoupled world.Chapter Goal: Introduce the reader to terminology and structure of a decoupled architecture.No of pages: 16Sub -Topics1. A review of the concept of monolithic applications vs decoupled applications.2. What is decoupling?3. Why and when to decouple?4. A brief introduction to REST.5. A brief introduction to GraphQL.Chapter 2: JavaScript meets django.Chapter Goal: Introduce the reader to the modern JavaScript scene, help the reader understand how modern frontend tools fit within Django.No of pages: 13Sub -Topics1. An overview of modern JavaScript.2. An overview of JavaScript and Django in production setups.3. A review of the most popular frontend libraries: Vue, React, Next.js, and the differences between them.Chapter 3: Modern Django and Django REST Framework.Chapter goal: Introduce the reader to intermediate Django concepts, and Django REST framework.No of pages: 11Sub -Topics1. A brief introduction to Django REST framework and how it fits within a Django project, compared to the basic Django building blocks (MVT architecture, forms, models, views).2. An introduction to ASGI and async Django.Chapter 4: Advantages and disadvantages of a decoupled architecture.Chapter Goal: Help the reader make an informed choice by outlining advantages and disadvantages of a decoupled architecture.No of pages: 12Sub -Topics1. Why and when to decouple?2. An overview of the various approaches for decoupling a Django project. How to choose between the various approaches.3. Advantages of decoupling a Django project.4. Disadvantages of decoupling a Django project.Chapter 5: Setting up a Django project.Chapter Goal: Help the reader to prepare a Django project.No of pages: 9Sub -Topics1. How to split setting files.2. How to configure Django to use environment variables.3. How to run Django under ASGI.Chapter 6: Decoupled Django with Django REST Framework.Chapter Goal: Help the reader understand how to decouple a Django project with Django REST framework.No of pages: 31Sub -Topics1. How to install and enable Django REST framework.2. Django REST framework serializers.3. How to create API endpoint with Django REST framework.4. Django REST relationships.5. Working with Vue.js in Django.Chapter 7: API security, and deploymentChapter Goal: Help the reader secure and deploy a decoupled Django project.No of pages: 23Sub -Topics1. Django and Django REST hardening2. Deploying a decoupled Django projectChapter 8: Django REST meets Next.js.Chapter Goal: Help the reader pair a Django REST project with Next.js, the React framework.No of pages: 24Sub -Topics1. Django as a headless CMS2. A reintroduction to React and its ecosystem3. Working with Next.js and Django RESTChapter 9: Testing in a Decoupled World.Chapter Goal: Teaches the reader how to test a decoupled Django REST project and a JavaScript frontend.No of pages: 22Sub -Topics1. A brief introduction to functional and unit testing.2. Testing the frontend with Cypress3. Testing Django REST framework and DjangoChapter 10: Authentication and authorization Django REST framework.Chapter Goal: Help the reader understand how to set up authentication and authorization in a decoupled Django project.No of pages: 21Sub -Topics1. A review of the most important authentication mechanisms in Django and Django REST framework2. What is token based authentication? What is JWT? JWT drawbacks3. Using session-based authentication for single-page apps4. How to handle authentication in the frontendChapter 11: GraphQL in Django with Ariadne.Chapter Goal: Help the reader understand what GraphQL is and how it fits into the Python/Django landscape.No of pages: 39Sub -Topics1. Creating a GraphQL schema in Ariadne2. Working with resolvers3. Implementing mutations4. Connecting React to a GraphQL backendChapter 12: GraphQL in Django with Strawberry.Chapter Goal: Help the reader understand in practice how to decouple a Django project with GraphQL and Strawberry.No of pages: 30 (estimated)Sub -Topics1. Creating a GraphQL schema in Straberry2. Working with resolvers3. Implementing mutations in the frontend
Advanced Forecasting with Python
Cover all the machine learning techniques relevant for forecasting problems, ranging from univariate and multivariate time series to supervised learning, to state-of-the-art deep forecasting models such as LSTMs, recurrent neural networks, Facebook’s open-source Prophet model, and Amazon’s DeepAR model.Rather than focus on a specific set of models, this book presents an exhaustive overview of all the techniques relevant to practitioners of forecasting. It begins by explaining the different categories of models that are relevant for forecasting in a high-level language. Next, it covers univariate and multivariate time series models followed by advanced machine learning and deep learning models. It concludes with reflections on model selection such as benchmark scores vs. understandability of models vs. compute time, and automated retraining and updating of models.Each of the models presented in this book is covered in depth, with an intuitive simple explanation of the model, a mathematical transcription of the idea, and Python code that applies the model to an example data set.Reading this book will add a competitive edge to your current forecasting skillset. The book is also adapted to those who have recently started working on forecasting tasks and are looking for an exhaustive book that allows them to start with traditional models and gradually move into more and more advanced models.WHAT YOU WILL LEARN* Carry out forecasting with Python* Mathematically and intuitively understand traditional forecasting models and state-of-the-art machine learning techniques* Gain the basics of forecasting and machine learning, including evaluation of models, cross-validation, and back testing* Select the right model for the right use caseWho This Book Is ForThe advanced nature of the later chapters makes the book relevant for applied experts working in the domain of forecasting, as the models covered have been published only recently. Experts working in the domain will want to update their skills as traditional models are regularly being outperformed by newer models.Joos is a data scientist, with over five years of industry experience in developing machine learning tools, of which a large part is forecasting models. He currently works at Disneyland Paris where he develops machine learning for a variety of tools. His experience in writing and teaching have motivated him to make this book on advanced forecasting with Python.PART I: Machine Learning for ForecastingChapter 1: Models for ForecastingChapter Goal: Explains the different categories of models that are relevant for forecasting in high level languageNo pages: 10Sub -Topics1. Time series models2. Supervised vs unsupervised models3. Classification vs regression models4. Univariate vs multivariate modelsChapter 2: Model Evaluation for ForecastingChapter Goal: Explains model evaluation with specific adaptations to keep in mind for forecastingNo pages: 15Sub -Topics1. Train test split2. Cross validation for forecasting3. BacktestingPART II: Univariate Time Series ModelsChapter 3: The AR ModelChapter Goal: explain the AR model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding AR model2. Mathematical explanation of the AR model3. Worked out Python forecasting example with the AR modelChapter 4: The MA modelChapter Goal: explain the MA model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding MA model2. Mathematical explanation of the MA model3. Worked out Python forecasting example with the MA modelChapter 5: The ARMA modelChapter Goal: explain the ARMA model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding ARMA model2. Mathematical explanation of the ARMA model3. Worked out Python forecasting example with the ARMA modelChapter 6: The ARIMA modelChapter Goal: Explains the ARIMA model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding ARIMA model2. Mathematical explanation of the ARIMA model3. Worked out Python forecasting example with the ARIMA modelChapter 7: The SARIMA ModelChapter Goal: Explains the SARIMA model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding SARIMA model2. Mathematical explanation of the SARIMA model3. Worked out Python forecasting example with the SARIMA modelPART III: Multivariate Time Series ModelsChapter 8: The VAR modelChapter Goal: Explains the VAR model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding VAR model2. Mathematical explanation of the VAR model3. Worked out Python forecasting example with the VAR modelChapter 9: The Bayesian VAR modelChapter Goal: Explains the Bayesian VAR model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding Bayesian VAR model2. Mathematical explanation of the Bayesian VAR model3. Worked out Python forecasting example with the Bayesian VAR modelPART IV: Supervised Machine Learning ModelsChapter 10: The Linear Regression modelChapter Goal: Explains the Linear Regression model (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding Linear Regression model2. Mathematical explanation of the Linear Regression model3. Worked out Python forecasting example with the Linear Regression modelChapter 11: The Decision Tree modelChapter Goal: Explains the Decision Tree model (intuitively, mathematically and give Python application with code and data set)No pages: 8Sub -Topics1. Understanding Decision Tree model2. Mathematical explanation of the Decision Tree model3. Worked out Python forecasting example with the Decision Tree modelChapter 12: The k-Nearest Neighbors VAR modelChapter Goal: explain the k-Nearest Neighbors (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding k-Nearest neighbors model2. Mathematical explanation of the k-Nearest neighbors model3. Worked out Python forecasting example with the k-Nearest neighbors modelChapter 13: The Random Forest ModelChapter Goal: explain the Random Forest (intuitively, mathematically and give python application with code and data set)No pages: 8Sub -Topics1. Understanding Random Forest model2. Mathematical explanation of the Random Forest model3. Worked out Python forecasting example with the Random Forest modelChapter 14: The XGBoost modelChapter Goal: Explains the XGBoost model (intuitively, mathematically and give python application with code and data set)No pages: 10Sub -Topics1. Understanding XGBoost model2. Mathematical explanation of the XGBoost model3. Worked out Python forecasting example with the XGBoost modelChapter 15: The Neural Network modelChapter Goal: Explains the Neural Network model (intuitively, mathematically and give python application with code and data set)No pages: 10Sub -Topics1. Understanding Neural Network model2. Mathematical explanation of the Neural Network model3. Worked out Python forecasting example with the Neural Network modelPart V: Advanced Machine and Deep Learning ModelsChapter 16: Recurrent Neural NetworksChapter Goal: Explains Recurrent Neural Networks (intuitively, mathematically and give python application with code and data set)No pages: 10Sub -Topics1. Understanding Recurrent Neural Networks2. Mathematical explanation of Recurrent Neural Networks3. Worked out Python forecasting example with Recurrent Neural NetworksChapter 17: LSTMsChapter Goal: Explains LSTMs (intuitively, mathematically and give python application with code and data set)No pages: 10Sub -Topics1. Understanding LSTMs2. Mathematical explanation of LSTMs3. Worked out Python forecasting example with LSTMsChapter 18: Facebook’s Prophet modelChapter Goal: Explains Facebook’s Prophet model (intuitively, mathematically and give Python application with code and data set)No pages: 10Sub -Topics1. Understanding Facebook’s Prophet model2. Mathematical explanation of Facebook’s Prophet model3. Worked out Python forecasting example with Facebook’s Prophet modelChapter 19: Amazon’s DeepAR ModelChapter Goal: Explains Amazon’s DeepAR model (intuitively, mathematically and give python application with code and data set)No pages: 10Sub -Topics1. Understanding Amazon’s DeepAR model2. Mathematical explanation of Amazon’s DeepAR model3. Worked out Python forecasting example with Amazon’s DeepAR modelChapter 20: Deep State Space ModelsChapter Goal: Explains Deep State Space models (intuitively, mathematically and give Python application with code and data set)No pages: 10Sub -Topics1. Understanding Deep State Space models2. Mathematical explanation of Deep State Space models3. Worked out Python forecasting example with Deep State Space modelsChapter 21: Model selectionChapter Goal: Give elements to select the best model for a specific situationNo pages: 16Sub -Topics1. Benchmark scores vs understandability of models vs compute time2. Black swan outlier problems3. Automated retraining and updating of models4. Conclusion
Künstliche Intelligenz - Wie sie funktioniert und wann sie scheitert
Wie KI funktioniert und wann sie scheitert. Eine unterhaltsame Reise in die seltsame Welt der Algorithmen, neuronalen Netze und versteckten Giraffen.Wir verlassen uns jeden Tag auf künstliche Intelligenz, wenn es um Empfehlungen, Übersetzungen und Katzenohren für unsere Selfie-Videos geht. Wir vertrauen KI auch in Fragen von Leben und Tod, auf der Straße und in unseren Krankenhäusern. Aber wie intelligent ist KI wirklich, auf welche Weise löst sie Probleme, wie versteht sie Menschen?Janelle Shane liefert Antworten auf Fragen zu KI, die Sie sich schon immer gestellt haben, und auf einige, auf die Sie definitiv noch nicht gekommen sind: Wie kann ein Computer das perfekte Sandwich entwerfen? Und kann man einer KI beibringen, zu flirten oder gute Witze zu erzählen?In dieser klugen, oft sehr lustigen Einführung in die interessanteste Wissenschaft unserer Zeit zeigt Janelle Shane, wie KI-Algorithmen lernen, wo sie versagen und wie sie sich anpassen. Sie erfahren, wie KIs trainiert werden, was Deep Learning ist, wo die Gefahren bei selbstfahrenden Autos liegen, wie sich Vorurteile aus KI-Trainingsdaten auf Bewerbungsverfahren auswirken – und warum Bilderkennungs-KIs auf Giraffen fixiert sind.Das perfekte Buch für alle, die sich eine informierte Meinung bilden möchten und neugierig darauf sind, wie die KI-Roboter in unserem Leben funktionieren.
SAP Cloud Integration
Sie möchten SAP-Cloud-Services zusammen mit Ihren On-Premise-Anwendungen einsetzen? Dann lesen Sie in diesem Buch, wie Sie Integration Flows modellieren und überwachen, um Daten zwischen diesen beiden Welten auszutauschen. Sie werden durch alle Bereiche von SAP Cloud Integration (vormals SAP Cloud Platform Integration) geführt und lernen dabei die Verwendung der verschiedenen Komponenten wie Events und Routing sowie die Anwendung der unterschiedlichen Connectivity-Adapter. Aus dem Inhalt: Architektur und VersionenNeo- und Cloud-Foundry-UmgebungKonfiguration und EinrichtungIntegrationskomponenten und AdapterMonitoring und SicherheitIntegrationsflüsse modellieren und ausführenMit Mappings- und XML-Daten arbeitenCloud Connector und API-ZugriffeTransport von Integrationen Einleitung ... 15 1. Grundlagen ... 21 1.1 ... Cloud Computing ... 21 1.2 ... SAP Business Technology Platform ... 26 1.3 ... Einführung in SAP Cloud Integration ... 37 1.4 ... SAP Integration Suite ... 41 1.5 ... Zusammenfassung ... 51 2. Einrichtung von SAP Cloud Integration ... 53 2.1 ... Einen Trial Account für SAP Cloud Integration einrichten ... 53 2.2 ... SAP Cloud Integration in der Neo-Umgebung einrichten ... 67 2.3 ... Ihre erste Integration erstellen ... 70 2.4 ... Zusatzinformationen und Dokumentation verwenden ... 74 2.5 ... Zusammenfassung ... 78 3. Discover-Oberfläche ... 79 3.1 ... Einführung in die Discover-Oberfläche ... 79 3.2 ... Beispiele für vordefinierte Integrationsszenarien ... 91 3.3 ... Prozessinformationen mit dem SAP Best Practices Explorer abrufen ... 96 3.4 ... Zusammenfassung ... 100 4. Design-Oberfläche ... 101 4.1 ... Pakete und Artefakte ... 101 4.2 ... Versionierung ... 121 4.3 ... Grundlagen zur Erstellung einer Integration ... 123 4.4 ... Zusammenfassung ... 138 5. Monitor-Oberfläche ... 139 5.1 ... Startseite der Monitor-Oberfläche im Überblick ... 139 5.2 ... Integration Flows überwachen ... 143 5.3 ... Veröffentlichte Artefakte überwachen ... 155 5.4 ... Sicherheitseinstellungen ... 160 5.5 ... Datenspeicherung verwalten ... 185 5.6 ... Log-Einträge ... 191 5.7 ... Gesperrte Objekte verwalten ... 194 5.8 ... Zusammenfassung ... 195 6. Settings-Oberfläche ... 197 6.1 ... Produktprofile ... 198 6.2 ... Transporteinstellungen ... 202 6.3 ... ES Repository ... 203 6.4 ... Custom Tags ... 207 6.5 ... Zusammenfassung ... 213 7. Komponenten und Adapter ... 215 7.1 ... Integrationskomponenten ... 215 7.2 ... Adapter ... 282 7.3 ... Zusammenfassung ... 311 8. Wichtige Grundfunktionen ... 313 8.1 ... Apache Camel und Expressions ... 314 8.2 ... Bedingungen mit Vergleichsoperatoren definieren ... 317 8.3 ... XML und XPath ... 319 8.4 ... Parametrisierung mit der Funktion »Externalize« ... 322 8.5 ... Migration von Komponenten ... 327 8.6 ... Erweiterungskonzept für Integrationsszenarien ... 329 8.7 ... Aufbau von Nachrichten ... 334 8.8 ... Dokumentation der Header- und Property-Variablen ... 335 8.9 ... Partner Directory ... 336 8.10 ... Verfügbarkeit von Services und Rechenzentren prüfen ... 340 8.11 ... Zusammenfassung ... 343 9. Ergänzende Werkzeuge ... 345 9.1 ... HTTP-Anfragen mit Postman verschicken ... 345 9.2 ... WSDL-Dateien mit SoapUI öffnen ... 354 9.3 ... Große Dateien mit Notepad++ bearbeiten ... 357 9.4 ... Groovy-Skripte mit Atom entwickeln ... 360 9.5 ... Weitere Werkzeuge der SAP Community ... 363 9.6 ... Zusammenfassung ... 370 10. Design Guidelines zur Anwendung der Komponenten ... 371 10.1 ... Enterprise Integration Patterns ... 372 10.2 ... Fehlerbehandlung ... 389 10.3 ... Skripte erweitern ... 401 10.4 ... Sicherheit ... 415 10.5 ... Mit dem Partner Directory arbeiten ... 424 10.6 ... Zusammenfassung ... 429 11. Prüfen, Testen und Debugging ... 431 11.1 ... Simulation ... 431 11.2 ... Debugging und Tracing ... 438 11.3 ... Debugging-Skripte ... 444 11.4 ... Zusammenfassung ... 449 12. Konnektivität ... 451 12.1 ... Transport von Integrationen ... 451 12.2 ... Cloud Connector ... 466 12.3 ... API-Zugriff auf SAP Cloud Integration ... 489 12.4 ... SAP Cloud Integration im Zusammenspiel mit anderen Services der SAP BTP ... 501 12.5 ... Zusammenfassung ... 504 13. Beispiele für Integrationsszenarien ... 505 13.1 ... Einen Lead in SAP Sales Cloud anlegen ... 506 13.2 ... Serviceabruf in SAP Field Service Management ... 530 13.3 ... Lieferantenrechnung in SAP S/4HANA Cloud anlegen ... 547 13.4 ... Zusammenfassung ... 575 14. Ausblick und weiterführende Informationen ... 577 14.1 ... Weiterführende Informationen ... 577 14.2 ... Geplante Funktionen ... 592 14.3 ... Zusammenfassung ... 596 Der Autor ... 597 Index ... 598
Daily Play
»Ein toller Ansatz, um Menschen miteinander ins Gespräch zu bringen, Ideen zu diskutieren und Denkblockaden zu durchbrechen.« Coworking Map, 07/2021Ein inspirierendes Buch für alle, die Workshops moderieren, sowie für Scrum Master und Coaches, die agile Spiele in ihren Trainings einsetzen möchten. Mit agilen Spielen förderst du Interaktion, Produktivität und nachhaltiges Lernen in deinen Teams. Das erfahrene Autorenteam zeigt in 25 Spielen, worauf es dabei ankommt, inklusive ausführlicher Spielanleitungen mit Hinweisen zu Vorbereitung, Moderation und Auswertung. Zudem gibt es einiges zu deiner Rolle als Spielleitung zu wissen – wirkungsvoll agil zu moderieren ist nämlich eine Kunst! Schärfe deinen Blick für Ziele und entwickle ein gutes Gespür für Situationen, Teamprozesse und Möglichkeiten. So setzt du agile Spiele in deinem Umfeld erfolgreich ein.Aus dem Inhalt:Über 20 konkrete AnleitungenFundierte EinführungZum Spiel einladen und eine wertschätzende Atmosphäre schaffenÜbersicht nach Funktion – finde das richtige SpielGekonnte Spielleitung und ModerationAufwärmen und mit Widerständen umgehenZielgruppen definierenZufall, Regeln und Hindernisse einsetzenErlebnisse teilen und auswertenEigene Spiele entwickelnLeseprobe (PDF-Link)
Clean C++20
Write maintainable, extensible, and durable software with modern C++. This book, updated for the recently released C++20 standard, is a must for every developer, software architect, or team leader who is interested in well-crafted C++ code, and thus also wants to save development costs. If you want to teach yourself about writing better C++ code, Clean C++20 is exactly what you need. It is written for C++ developers of all skill levels and shows by example how to write understandable, flexible, maintainable, and efficient C++ code. Even if you are a seasoned C++ developer, there are nuggets and data points in this book that you will find useful in your work.If you don't take care with your codebase, you can produce a large, messy, and unmaintainable beast in any programming language. However, C++ projects in particular are prone to get messy and tend to slip into a maintenance nightmare. There is lots of C++ code out there that looks as if it was written in the 1980s, completely ignoring principles and practices of well-written and modern C++.It seems that C++ developers have been forgotten by those who preach Software Craftsmanship and Clean Code principles. The web is full of C++ code examples that may be very fast and highly optimized, but whose developers have completely ignored elementary principles of good design and well-written code. This book will explain how to avoid this and how to get the most out of your C++ code. You'll find your coding becomes more efficient and, importantly, more fun.WHAT YOU WILL LEARN* Gain sound principles and rules for clean coding in C++* Carry out test-driven development (TDD)* Better modularize your C++ code base* Discover and apply C++ design patterns and idioms* Write C++ code in both object-oriented and functional programming stylesWHO THIS BOOK IS FORAny C++ developer or software engineer with an interest in producing better code.STEPHAN ROTH is a coach, consultant, and trainer for systems and software engineering with German consultancy company oose Innovative Informatik eG located in Hamburg. Before he joined oose, he worked for many years as a software developer, software architect, and systems engineer in the field of radio reconnaissance and communication intelligence systems. He has developed sophisticated applications, especially in a high-performance system environment, and graphical user interfaces using C++ and other programming languages. Stephan is an active supporter of the Software Craftsmanship movement and is concerned with principles and practices of Clean Code Development (CCD).CH01 - IntroductionCH02 - Build a Safety NetCH03 - Be PrincipledCH04 - Basics of Clean C++CH05 - Advanced concepts of modern C++CH06 - Object OrientationCH07 - Functional ProgrammingCH08 - Test Driven DevelopmentCH09 - Design Patterns and IdiomsAppendix A - Small UML GuideBibliography
Introduction to Python for Kids
Want to create cool games and apps to impress your friends (or yourself), but not sure where to start? Or, have you tried your hand at programming, but got utterly bored after combing through hundreds of pages of dry text? Then you’ve come to the right place! This book is the perfect blend of education and fun for kids 8 years and above looking to learn the magic of Python, one of the easiest and most powerful programming languages around, all while solving fun puzzles and building your own projects on the way.Yes, there’ll be chapters on the fundamentals of Python, such as variables, numbers, strings, automation with conditions, loops and functions, objects, and files. But, early on in the book you’ll get started with Turtle, a Python package that was custom-made for kids like you. It lets you literally draw and animate on your computer! Every concept will be interspersed with a fun mini project with Turtle, so you’ll never get bored. Once you get the fundamentals down, you’ll dive right into Tkinter and Pygame, more fun Python packages (goodbye theory!) and you’ll learn all about creating apps and games like the ones you see and use every day (bouncing ball, temperature converter, calculator, rock-paper-scissors, and so much more!).There are also four capstone projects at the end of the book that convert everything you’ve learned so far into full-blown apps and games that you can show off to your friends, parents, and even teachers! You’ll be creating a snake game with Turtle, a tic tac toe game with Tkinter, a full-fledged paint app, again with Tkinter, and finally, a classic space shooters game with Pygame (the cherry on top). Every project chapter will be accompanied with the logic behind the game/app and an explanation on how you’ve arrived at the logic. You’ll develop strong problem solving skills that’ll help you create future projects on your own.There are also two chapters dedicated to just creating fun mini projects and puzzles, one of them placed in the middle of the book to give you a welcome break from all the learning. The book ends with an overview on web development with Python and ideas for more fun projects and puzzles you can solve on your own. Become the “most likely to succeed” kid in your grade while having the most fun getting there!WHAT YOU'LL LEARN* Gain a gentle, but thorough introduction into the world of programming and Python* Create programs and solve problems with core Python concepts* Build mini projects and capstone projects (showcase worthy) with Turtle, Tkinter, and Pygame * Develop programming skills while doing the puzzles and activities described in the book WHO THIS BOOK IS FORKids 8 years and above.Aarthi Elumalai is a programmer, educator, entrepreneur, and innovator. She has a Bachelor of Engineering degree in Computer Science from Anna University, Chennai.Since then, she has managed a team of programmers and worked with 100s of clients. She is also launched a dozen web apps, plugins and software that are being used by thousands of customers online.She has over 15 years of experience in programming. She started coding in Basics at the age of 12, but her love for programming took root when she came across C programming at the age of 15.She is the founder of DigiFisk, an E-learning platform that has more than 60,000 students all over the world. Her courses are well-received by the masses, and her unique, project-based approach is a refreshing change to many. She teaches the complex world of programming by solving a ton of practical exercises and puzzles along the way. Her courses and books always come with hands-on training in creating real world projects using the knowledge learned so her students get better equipped for the real world.When she is not working on her next course or book, you'll see her researching her next product idea and refining her existing products. She is currently committed to bringing the sheer power of artificial intelligence to make life easier for small business owners.Chapter 1. Did You Know?.- Chapter 2. Let's Install Python.- Chapter 3. Your First Python Program.- Chapter 4. Python Loves Numbers.- Chapter 5. Let's Play With Our Numbers.- Chapter 6. Draw Cool Stuff with Turtle.- Chapter 7. A Turtle Deep Dive.- Chapter 8. Play with Letters and Words.- Chapter 9. Follow My Command! . Chapter 10. Automate a Little.- Chapter 11. Lots and Lots of Information.- Chapter 12. Fun Mini Projects Galore.- Chapter 13. Automate with Functions.- Chapter 14. Let’s Create Real World Objects.- Chapter 15. Python and Files.- Chapter 16. Create Cool apps with TKinter.-Chapter 17. Tic Tac Toe Game with Tkinter .- Chapter 18. Project: Paint App with Tkinter.- Chapter 19. Project: Snake Game with Turtle .- Chapter 20. Become a Game Developer with PyGame.- Chapter 21. Project: Space Shooters Game with PyGame.- Chapter 22. Web Development with Python.- Chapter 23. More Mini Projects.- Chapter 24. What’s Next?.