Software
Architecting Enterprise AI Applications
This book explores how to define, design, and maintain enterprise AI applications, exploring the impacts they will have on the teams who work with them.The book is structured into four parts. In Part 1: Defining Your AI Application, you are introduced to the dynamic interplay between human adaptability and AI specialization, the concept of meta systems, and the mechanics of prediction machines. In Part 2: Designing Your AI Application, the book delves into the anatomy of an AI application, unraveling the intricate relationships among data, machine learning, and reasoners. This section introduces the building blocks and enterprise architectural framework for designing multi-agent systems. Part 3: Maintaining Your AI Application takes a closer look at the ongoing life cycle of AI systems. You are guided through the crucial aspects of testing and test automation, providing a solid foundation for effective development practices. This section covers the critical tasks of security and information curation that ensure the long-term success of enterprise AI applications. The concluding section, Part 4: AI Enabled Teams, navigates the evolving landscape of collaborative efforts between humans and AI. It explores the impact of AI on remote work dynamics and introduces the new roles of the expert persona and the AI handler. This section concludes with a deep dive into the legal and ethical dimensions that AI-enabled teams must navigate.This book is a comprehensive guide that not only equips developers, architects, and product owners with the technical know-how of AI application development, but also delves into the broader implications for teams and society.WHAT YOU WILL LEARN* Understand the algorithms and processes that enable AI to make accurate predictions and enhance decision making* Grasp the concept of metasystems and their role in the design phase of AI applications* Know how data, machine learning, and reasoners drive the functionality and decision-making capabilities of AI applications* Know the architectural components necessary for scalable and maintainable multi-agent AI applications* Understand methodologies for testing AI applications, ensuring their robustness, accuracy, and reliability in real-world applications* Understand the evolving dynamics of human-AI coordination facing teams in the new enterprise working environmentWHO THIS BOOK IS FORA diverse audience, primarily targeting enterprise architects, middle managers, tech leads, and team leads entrenched in the IT sector or possessing a tech-savvy background, including professionals such as digital marketers. Additionally, tech-savvy individual contributors—ranging from digital content creators and data analysts to administrators and programmers—stand to benefit significantly.ANTON CAGLE is a seasoned leader specializing in cloud automation and AI Ops, boasting over two decades of expertise in enterprise architecture and application design. With a passion for delivering democratized, data-driven solutions and automation, Anton focuses on empowering medium to large-sized companies. His dedication extends to mentoring and coaching engineers at all skill levels, fostering a culture of continuous learning and innovation.Recognizing the pivotal role of cloud, data, and AI in shaping the future of business software, Anton is on a mission to guide companies beyond basic automation solutions. His goal is to seamlessly integrate big data and machine learning into organizational frameworks, preparing businesses for the next wave of scalable operations. Anton's approach has led to remarkable transformations for clients, including the reduction of deployment process waste, accelerated feature time to market, and the implementation of cutting-edge cloud data architectures.AHMED CEIFELNASR AHMED is a highly skilled ML engineer, data scientist, and cloud engineer with over six years of experience in developing and deploying data-driven solutions. Ahmed specializes in building and fine-tuning machine learning models, leveraging advanced deep learning techniques, and optimizing cloud-based solutions. His expertise extends to cloud engineering and DevOps practices, where he excels in designing and implementing scalable, efficient cloud architectures and automating deployment processes.With hands-on experience in AWS Cloud environments and a strong background in cloud tools, Ahmed is adept at integrating AI with cloud technologies to create robust, production-ready solutions. He has a proven track record of driving impactful results across various industries, from retail and real estate to fitness and enterprise applications.Ahmed is committed to continuous learning and growth, always seeking to make a significant impact in the fields of AI, data science, and cloud engineering. His career reflects his dedication to advancing technology, optimizing cloud infrastructure, and fostering innovation through data-driven strategies and cutting-edge technology.Part 1: Defining Your AI Application.- Chapter 1: Human Flexibility and AI Specialization.- Chapter 2: Meta Systems.- Chapter 3: Prediction Machines.- Part 2: Designing Your AI Application.- Chapter 4: Anatomy of an AI Application.- Chapter 5: Data, Machine Learning, and Reasoners.- Chapter 6: Large Language Models (LLMs).- Chapter 7: AI Agents.- Part 3: Maintaining Your AI Application.- Chapter 8: Testing Your Enterprise AI Application.- Chapter 9: Testing automation for enterprise ai applications.- Chapter 10: Security.- Chapter 11: Information Curation.- Part 4: AI Enabled Teams.- Chapter 12: Remote Work and Reskilling.- Chapter 13: Expert Personas.- Chapter 14: The Role of the AI Handler.- Chapter 15: Legal and Ethical Considerations.
SQL Schnelleinstieg
Datenbanken abfragen und verwalten in 14 TagenMit diesem Buch gelingt Ihnen der einfache Einstieg in das Datenbankmanagement mit der Abfragesprache SQL. Alle Grundlagen werden in 14 Kapiteln leicht verständlich anhand von Beispielen erläutert.Der Autor führt Sie Schritt für Schritt in den Einsatz von SQL und die Grundlagen relationaler Datenbanken ein: von der fundamentalen Syntax und den ersten Datenbankabfragen über das Verknüpfen von Tabellen bis hin zur Datenbankerstellung und der Zugriffskontrolle.Alle Beispiele beziehen sich auf eine Beispieldatenbank, die auf der Webseite des Verlags zum Download bereitsteht, und lassen sich leicht auf eigene Anwendungsfälle übertragen. Die Besonderheiten bei der Verwendung von PostgreSQL und MySQL werden bei jedem Beispiel beschrieben.So sind Sie perfekt auf den Einsatz von SQL im professionellen Umfeld vorbereitet.Aus dem Inhalt:Alle Grundlagen einfach erläutertSQL-Syntax und Datenbank-AbfragenFiltern mit BedingungenGruppierung von Daten und AggregatfunktionenVerknüpfen von Tabellen und ErgebnissenSkalarfunktionen und UnterabfragenDatenbanken erstellen und anpassenRechteverwaltung und ZugriffskontrolleKomplexe SQL-Konzepte – Trigger, Indizes und ViewsLeseprobe (PDF-Link)Über den Autor:Erik Schönwälder arbeitet als wissenschaftlicher Mitarbeiter (Doktorand) an der Technischen Universität Dresden am Lehrstuhl für Datenbanken. Als Dozent lehrt er hauptsächlich Themen wie Datenbank-Engineering, Information Retrieval, SQL und NoSQL. Auch außerhalb der Universität unterrichtet er seine Fachgebiete online, beispielsweise bei der Heise Academy oder auf Udemy.
Erstellung hochwertiger Shader für Unity®
Shader gelten oft als mystisch und schwer zu entwickeln, selbst für erfahrene Programmierer, Künstler und Entwickler aus anderen Bereichen des Spieldesigns. Dieses Buch räumt mit dieser Vorstellung auf, indem es Ihr Wissen über in Stufen aufbaut. Es beginnt mit grundlegenden Shader-Mathematiken, erklärt, wie sich die Denkweise der Shader-Entwicklung von anderen Arten von Kunst und Programmierung unterscheidet, und geht dann langsam auf Themen wie Vertex- und Fragment-Shader, Beleuchtung, Tiefenbasierte Effekte, Texture Mapping und Shader Graph ein.Jedes dieser Themen wird mit einer umfassenden Aufschlüsselung, der benötigten Theorie und einigen praktischen Anwendungen für die im jeweiligen Kapitel gelernten Techniken präsentiert. Der HLSL (High Level Shading Language)-Code und Shader Graphs werden für jeden relevanten Abschnitt bereitgestellt, ebenso wie zahlreiche Screenshots.Am Ende des Buches werden Sie ein gutes Verständnis für den Shader-Entwicklungsprozess haben und bestens gerüstet sein, um Ihre eigenen ästhetischen und leistungsstarken Shader-Effekte für Ihre Spiele zu erstellen!WAS SIE IN DIESEM BUCH LERNEN Shaders in den Rendering-Pipelines von Unity zu verwenden Shader zu schreiben und ihr Verhalten mit C#-Skripting zu ändern Shader Graph für eine Entwicklung ohne Code zu nutzen Die wichtige Mathematik hinter Shadern zu verstehen, insbesondere Raumtransformationen Die Leistung von Shadern zu analysieren, um Optimierungspotenziale zu identifizieren ZUM INHALT Kapitel 1: Einführung in Shader in Unity. Kapitel 2: Mathematik für die Shader-Entwicklung. Kapitel 3: Ihr allererster Shader. Kapitel 4: Shader-Grafik. Kapitel 5: Texturen, UV-Koordinaten & Normal Mapping. Kapitel 6: Transparenz. Kapitel 7: Der Tiefenpuffer. Kapitel 8: Transparenz und Alpha. Kapitel 9: Weitere Shader-Grundlagen. Kapitel 10: Beleuchtung und Schatten. Kapitel 11: Bildeffekte und Nachbearbeitung. Kapitel 12: Erweiterte Shader. Kapitel 13: Profiling und Optimierung. Kapitel 14: Shader-Rezepte für Ihre Spiele. ZIELGRUPPENDieses Buch richtet sich an Anfänger in der Shader-Entwicklung oder Leser, die den Schritt von Shader-Code zum Shader Graph machen möchten. Es enthält auch einen Abschnitt über Shader-Beispiele für diejenigen, die bereits die Grundlagen von Shadern kennen und nach spezifischen Anwendungsfällen suchen.DANIEL ILETT ist Doktorand an der University of Warwick. Als leidenschaftlicher Spieleentwickler hat er sich auf Shader und technische Kunst spezialisiert. Er ist Autor verschiedener Lehr- und Tutorial-Inhalte, darunter Videos und schriftliche Arbeiten, die sich an Anfänger und fortgeschrittene Entwickler richten. Darüber hinaus arbeitet er freiberuflich an Shadern und visuellen Effekten für Spiele.
Ökonomische Nachhaltigkeit - Interdisziplinäre Perspektiven
Dieses Buch bietet als Band 4 einer zunächst vier Bände umfassenden Reihe grundlegende Informationen zum Thema „Ökonomische Nachhaltigkeit“. Die weiteren Bände der Reihe sind Band 1 (Allgemeine Grundlagen), Band 2 (Ökologie) und Band 3 (Soziales). Band 4 erläutert nach einer Darstellung der Grundlagen der Wirtschaft folgende Themenbereiche: Wirtschaftssystem, Finanzierung, Infrastruktur, Produktion und Konsum, Handel sowie Arbeit. In jedem dieser Kapitel werden zunächst die wesentlichen Fakten dargestellt und darauf aufbauend die Herausforderungen und aktuellen Entwicklungen erörtert. Das Kapitel „Wirtschaftssystem“ behandelt unter anderem die Themen Postwachstumsökonomie und Gemeinwohl-Ökonomie, Unterschiede im Wohlstand in verschiedenen Ländern sowie die Grenzen des Wirtschaftswachstums. Im Kapitel „Finanzierung“ geht es beispielsweise um Besteuerung, Entwicklungshilfe und Auslandsverschuldung. Das Kapitel „Infrastruktur“ behandelt nach einer Erläuterung der Bedeutung wirtschaftlicher Infrastruktur exemplarisch die Themen Infrastrukturdefizite und nachhaltige Innovationen. Wandel des Konsumverhaltens, Ressourcenknappheit, Megatrends im Handel, globaler Handel, Zukunft der Arbeit sowie informeller Arbeitssektor sind ausgewählte Stichworte in den Kapiteln „Produktion und Konsum“, „Handel“ sowie „Arbeit“. Das Buch unterstützt Führungskräfte, Spezialisten in Unternehmen und Politik sowie Studierende dabei, die vielfältigen Herausforderungen der ökonomischen Nachhaltigkeit besser zu verstehen. Neben Ökonomen werden auch Informatiker, Juristen und andere Berufsgruppen angesprochen, die über ihre Fachperspektive hinaus ein umfassendes Verständnis von ökonomischer Nachhaltigkeit erwerben möchten. Prof. Dr. Michael Jacob lehrt und forscht im Fachbereich Betriebswirtschaft der Hochschule Kaiserslautern. Nach einer Bankausbildung und einem Studium der Betriebswirtschaftslehre war er unter anderem als Mitglied der Geschäftsführung bei PricewaterhouseCoopers Consulting S.à r.l. Luxembourg und als wissenschaftlicher Leiter am Institut für Betriebswirtschaft und Wirtschaftsinformatik tätig. Als Autor von bisher sieben Fachbüchern und vielen anderen Veröffentlichungen versucht er, die Theorie mit seinen umfangreichen Praxiserfahrungen zu verknüpfen und Themen fachübergreifend zu vernetzen.Grundlagen der ökonomischen Dimension.- Wirtschaftssystem.- Finanzierung.- Infrastruktur.- Produktion und Konsum.- Handel.- Arbeit.- Gesamtbetrachtung.
Helidon Revealed
This book is your comprehensive introduction to Project Helidon, Oracle’s Java-based microservices framework for building cloud-native applications. The book introduces the two flavors of Helidon—Helidon SE and Helidon MP—and shows how to quickly build applications with each one.The book begins by placing the Helidon framework in context and explaining the MicroProfile and Jakarta EE specifications that underlie the building of microservices-based applications. From there, you will learn about the individual components of Helidon SE and Helidon MP, and you will see examples of building applications for both flavors, and for MicroProfile and Jakarta EE. Finally, the book shows how to convert Helidon applications from Java bytecode into native binaries for instant application startup and peak performance.WHAT YOU WILL LEARN* Choose correctly between Helidon SE and Helidon MP* Create starter applications using the Helidon SE and Helidon MP quick starts* Create server and client applications with Helidon SE components* Create a microservices-based application with the MicroProfile specifications* Create a database application with the Jakarta NoSQL specificationWHO THIS BOOK IS FORJava developers who create microservices applications; those interested in building such applications using the Helidon framework; and developers of microservices applications who want functionality such as native-image support through GraalVM, compatibility with MicroProfile, easy connectivity to database engines, and support for reactive development patternsMICHAEL REDLICH has been an active member within the Java community for the past 25 years. He founded the Garden State Java User Group in 2001 that remains in continuous operation. Since May 2016, Mike has served as a Java community news editor for InfoQ where his contributions include news items, technical articles and technical reviews for external authors. He has been the lead Java Queue Editor since July 2021. Mike was named a Java Champion in April 2023.Mike has presented at venues such as Oracle Code One, JCON, Emerging Technologies for the Enterprise, Trenton Computer Festival (TCF), TCF IT Professional Conference, and numerous Java User Groups. Mike serves as a committer on the Jakarta NoSQL and Jakarta Data specifications, and participates on the leadership council of the Jakarta EE AmbassadorsMike recently retired from ExxonMobil Technology & Engineering in Clinton, New Jersey with 33½ years of service. His experience included developing custom scientific laboratory applications, web applications, chemometrics, polymer physics, infrared spectroscopy and automotive testing. He also has experience as a Technical Support Engineer at Ai-Logix, Inc. (now AudioCodes) where he provided technical support and developed telephony applications for customers.Mike makes his home in Flemington, New Jersey with his lovely wife, Rowena, where they spend quality time cycling and traveling to New Orleans, Louisiana and Newport, Rhode Island throughout the year.PART I. GETTING STARTED.- 1. Introduction to Project Helidon.- 2. The MicroProfile Specification.- 3. The Jakarta EE Specifications.- PART II. HELIDON SE.- 4. Generating a Project with Helidon SE.- 5. Helidon Web Server.- 6. Helidon Web Client.- 7. Helidon Config.- 8. Helidon DB Client.- 9. Helidon Security.- PART III. HELIDON MP.- 10. Generating a Project with Helidon MP.- 11. Helidon Metrics.- 12. Helidon Fault Tolerance.- 13. Helidon Health Checks.- Appendix A. MicroProfile Release History.- Appendix B. The Jakarta EE Specifications.- Appendix C. Helidon Reactive Web Server.
Grundlagen der Nachhaltigkeit - Interdisziplinäre Perspektiven
Dieses Buch bietet umfassende Informationen zum Thema „Nachhaltigkeit“. Es erläutert zunächst unterschiedliche Begriffsverständnisse der Nachhaltigkeit sowie verwandte Begriffe, wie z. B. Corporate Responsibility (CR), Corporate Social Responsibility (CSR) und Environmental, Social and Governance (ESG). Darauf aufbauend werden geschichtliche Entwicklungen dargestellt und die Umsetzung in ausgewählten Branchen beleuchtet. Weitere Schwerpunkte sind Strategien, Managementregeln und Leitprinzipien sowie die nachhaltigen Entwicklungsziele der Vereinten Nationen (SDGs). Modelle zur Lösung von Zielkonflikten und ausgewählte Ansätze zur Bewertung von Nachhaltigkeit finden ebenfalls Berücksichtigung. Unter anderem wird auf den ökologischen Fußabdruck, den Social Progress Index (SPI), den Genuine Progress Indicator (GPI) und das Life Cycle Sustainability Assessment (LCSA) eingegangen. Abschließend werden die menschlichen Bedürfnisse in Relation zur Nachhaltigkeit gesetzt. Das Buch unterstützt Führungskräfte, Fachleute in Unternehmen und Politik sowie Studierende dabei, die vielfältigen Herausforderungen der Nachhaltigkeit besser zu verstehen. Neben Ökonomen richtet es sich auch an Informatiker, Juristen und andere Berufsgruppen. Der Autor Prof. Dr. Michael Jacob lehrt und forscht im Fachbereich Betriebswirtschaft der Hochschule Kaiserslautern. Davor war er unter anderem als Mitglied der Geschäftsführung bei PricewaterhouseCoopers Consulting Luxembourg und als wissenschaftlicher Leiter am Institut für Betriebswirtschaft und Wirtschaftsinformatik tätig. Dieses Buch bietet als Band 1 von zunächst vier Bänden grundlegende Informationen zum Thema „Nachhaltigkeit“. Weitere Bestandteile der Reihe sind Band 2 (Ökologie), Band 3 (Soziales) und Band 4 (Ökonomie). Band 1 erläutert zunächst unterschiedliche Begriffsverständnisse der Nachhaltigkeit und vielfältige andere Begriffe, wie z. B. Corporate Responsibility (CR), Corporate Social Responsibility (CSR) und Environmental, Social und Governance (ESG). Darauf aufbauend werden geschichtliche Entwicklungen aufgezeigt und die Umsetzung in ausgewählten Branchen dargestellt. Weitere Schwerpunkte sind Strategien, Managementregeln und Leitprinzipien sowie die nachhaltigen Entwicklungsziele der Vereinten Nationen (SDGs). Modelle zur Lösung von Zielkonflikten und ausgewählte Ansätze zur Bewertung von Nachhaltigkeit finden ebenfalls Berücksichtigung. Unter anderem wird auf den ökologischen Fußabdruck, den Social Progress Index (SPI), den Genuine Progress Indicator (GPI) und das Life Cycle Sustainability Assessment (LCSA) eingegangen. Abschließend werden die menschlichen Bedürfnisse in Relation zur Nachhaltigkeit gesetzt. Das Buch hilft Führungskräften, Spezialisten in Unternehmen und Politik sowie Studierenden, die vielfältigen Herausforderungen der Nachhaltigkeit besser zu verstehen. Neben Ökonomen werden auch Informatiker, Juristen und andere Berufsgruppen angesprochen, wenn sie über ihre Fachperspektive hinaus ein umfassendes Verständnis von Nachhaltigkeit erwerben wollen. Begriffe.- Entwicklung und Umsetzung.- Zielkonzepte und Bewertung.- Systematik menschlicher Bedürfnisse. Prof. Dr. Michael Jacob lehrt und forscht im Fachbereich Betriebswirtschaft der Hochschule Kaiserslautern. Nach einer Bankausbildung und einem Studium der Betriebswirtschaftslehre war er unter anderem als Mitglied der Geschäftsführung bei PricewaterhouseCoopers Consulting S.à r.l. Luxembourg und als wissenschaftlicher Leiter am Institut für Betriebswirtschaft und Wirtschaftsinformatik tätig. Als Autor von bisher sieben Fachbüchern und vielen anderen Veröffentlichungen versucht er, die Theorie mit seinen umfangreichen Praxiserfahrungen zu verknüpfen und Themen fachübergreifend zu vernetzen.
Einstieg in Python (2. Auflg.)
Einstieg in Python - Grundlagen der Python-Programmierung leicht und verständlich erklärt, in 2. Auflage aus Dezember 2024Sie wollen endlich programmieren lernen und ihre ersten Projekte umsetzen. Hierfür bietet sich Python als eine der populärsten Programmiersprachen an. Mit diesem Buch gelingt Ihnen mühelos ein Einstieg, denn Sie werden auf Ihrer Entdeckungsreise vom erfahrenden Trainer Michael Inden begleitet. Er erklärt Ihnen die Grundlagen der Python-Programmierung leicht und verständlich. Generell wird die trockene Theorie auf ein Minimum reduziert. Ergänzend werden immer wieder auch Python-spezifische Besonderheiten wie Built-in-Funktionen, Slicing, Comprehensions, Generatoren usw. erklärt, die das Entwicklen erleichtern und Ihre Programme gleich von Anfang an Python-like, stilistisch schön – kurz Pythonic – machen.Eine große Rolle spielt der interaktive Einstieg mithilfe der Python-Kommandozeile. Damit können kleine Programme direkt ausprobiert werden und Erfolgserlebnisse stellen sich schnell ein. Dieses Vorgehen eignet sich ideal, um sich Python im Selbststudium sowie im eigenen Tempo anzueignen. Allmählich werden die Themen anspruchsvoller und die zu erstellenden Programme größer. Schließlich erfahren Sie, wie Sie eine Entwicklungsumgebung einsetzen, und lernen die objektorientierte Programmierung kennen. Mit den erworbenen Grundlagen können Sie sich immer gezielter mit eigenen Projekten beschäftigen. Erste Ideen liefern drei etwas umfangreichere Programmierbeispiele aus der Praxis, die zudem einen Einblick in das schrittweise, erfolgreiche Entwickeln von Applikationen geben.Das Buch besteht aus in sich abgeschlossenen, aufeinander aufbauenden Kapiteln zu den wesentlichen Bereichen der Programmiersprache Python und den relevanten Sprachelementen. Aufgaben und Musterlösungen runden viele Kapitel ab, sodass Sie das zuvor Gelernte direkt anhand neuer Problemstellungen praktizieren und Ihr Wissen vertiefen können.Zahlreiche kurze Codebeispiele verdeutlichen die Lerninhalte und laden zum Experimentieren ein. Gleich von Anfang an lernen Sie, Ihren Sourcecode sauber zu strukturieren und einen guten Stil zu entwickeln. Dabei hilft ein Kapitel zu Programmierregeln, sogenannten Coding Conventions und zum Testen mit Pytest.Diese zweite Auflage ergänzt Kapitel zur Bildverarbeitung sowie zu populären LLMs und deren vielfältigen Einsatzmöglichkeiten. Schließlich werden die Neuerungen aus Python 3.13 im Anhang vorgestellt.Leseprobe (PDF-Link)
Improving Operating Leverage Using Hyperautomation
Improving operating leverage is about operational resilience, structural operational efficiency, and sustainable revenue growth. Activity-based enterprise non-interest cost management is an important component of enterprise risk adjusted return management methodology. This book builds on the author Kannan Subramanian’s earlier book, _Event- and Data-Centric Enterprise Risk-Adjusted Return Management_, delving in depth into enterprise non-interest operating cost management and operating leverage.Operating Leverage is about managing a bank’s capabilities and its capacity to deliver its products and services efficiently. It is not limited to managing operational costs but includes the operational support for the growth of business and for improving profitability. Profit is an absolute measure that denotes the amount of money the bank makes after deducting all expenses. Profitability measures how efficient the bank is at utilizing its resources to generate risk-adjusted returns. The reader can learn to improve risk adjusted operational effectiveness by implementing a nuanced approach to managing performance, risk, control, and cost simultaneously, at the process level.You’ll examine how some institutions have implemented activity-based costing in a siloed environment and without enterprise process automation. Many institutions do not have a scientific way of managing non-interest costs. The book explains why hyperautomation, a technology that intelligently automates business processes, is a more advanced and comprehensive way to manage these factors in a holistic and integrated way._Improving Operating Leverage using Hyperautomation_ is your complete guide to enhancing risk adjusted operational performance through a nuanced approach to performance, risk, control, and costs at the process level.WHAT YOU WILL LEARN* Define and use the bill of resources to improve operating leverage.* Implement activity-based enterprise non-interest cost management using hyperautomation* Monitor performance, risk, control, and cost at the process level.* Implement time-driven activity-based costing for an enterprise risk-adjusted return model.WHO THIS BOOK IS FORMost banking industry professionals, including senior management teams, consultants, central bankers, financial regulators, software vendors, and Business Process Management Suite/Hyperautomation technology vendors.KANNAN SUBRAMANIAN R is a Chartered Accountant with 35+ years of experience in the banking and financial services industry and has experience with financial markets in USA, Europe, and Asia. He has worked for Standard Chartered Bank and for leading banking software solution companies, including the leading global risk management solution provider, Algorithmics, now part of IBM Risk Management & Analytics. KannanHe advises System Design Consulting Prospero AG on strategic matters and in the design of risk management and analytical solutions. He has successfully leveraged his academic and work experience to provide value to his customers. His passion for the subject motivates him to prioritize his time to write books on automation and risk-reward management in banks.www.BankERRM.org www.PBORM.org1 Enterprise Operating Model.- Chapter 2: Non-interest cost management.- Chapter: 3 Enterprise Process Automation, TDABC.- Chapter 4: Operating Leverage.- Chapter 5: Improving Operating Leverage.- Chapter 6: Operating Leverage – Bank of the Future.
C++ Essentials For Dummies
THE QUICK AND CRYSTAL-CLEAR GUIDE TO C++ PROGRAMMINGC++ Essentials For Dummies is your useful reference to the key concepts of C++, the popular general-purpose language utilized everywhere from building games to writing parts of operating systems. With minimal review and background material—and absolutely no fluff—this book gets straight to the essential topics you need to know to ramp up, brush up, or level up.* Get a helpful intro to the basic concepts of coding in C++* Review what you already know or pick up essential new skills* Create projects that run smoothly with the C++ language* Keep this concise reference book handy for jogging your memory as you workGreat for supplementing classroom learning, reviewing for a certification, or staying knowledgeable on the job, C++ Essentials For Dummies is a fantastic refresher guide that you can always turn to for answers. JOHN PAUL MUELLER produced more than 100 books and more than 600 articles on a range of topics, including functional programming techniques, application development using C++, and machine learning methodologies. RONALD MAK teaches computer science and data science at San Jose State University. He was formerly a senior scientist at NASA and JPL, and has written books on software design, compiler construction, and numerical computing.
Python lernen mit KI-Tools
Python lernen mit KI-Tools - Einstieg in die Programmierung mit KI-Unterstützung, als Erstauflage aus Dezember 2024.Python eignet sich hervorragend für den Einstieg in die Programmierung. Dieser abwechslungsreiche Praxiskurs führt Sie Schritt für Schritt in die Sprache ein, beginnend mit grundlegenden Konzepten über Funktionen und Datenstrukturen bis hin zur objektorientierten Programmierung. Das Buch geht auch auf die spannenden neuen Möglichkeiten ein, die KI-Assistenten wie ChatGPT Programmiererinnen und Programmierern bieten, und zeigt effektives Prompting, das Testen von Code und das Debugging mit KI.Durch zahlreiche Übungen, bei denen KI-Tools zum Einsatz kommen, sowie Fallstudien, kurze Verständnistests und kleinere Projekte in Jupyter Notebooks können Sie die neu erlernten Programmierkonzepte gleich ausprobieren. Auf diese Weise festigen Sie Ihr Verständnis für die konkrete Programmierpraxis und erfahren, wie KI-Assistenten Sie auch zukünftig im Programmieralltag unterstützen können.Starten Sie mit den Grundlagen, einschließlich Sprachsyntax und SemantikEntwickeln Sie eine klare Vorstellung von den jeweiligen ProgrammierkonzeptenLernen Sie Variablen, Anweisungen, Funktionen und Datenstrukturen kennenArbeiten Sie mit Dateien und DatenbankenVerstehen Sie Objekte, Methoden und objektorientierte ProgrammierungWenden Sie Debugging-Techniken an, um Syntax-, Laufzeit- und Semantikfehler zu behebenNutzen Sie KI-Tools von Anfang an, um Ihren Lernprozess zu beschleunigenLeseprobe (PDF-Link)Zum Autor:Allen B. Downey ist Redakteur bei Brilliant und emeritierter Professor für Informatik am Olin College of Engineering, Massachusetts. Er hat am Wellesley- und am Colby-College und an der Universität von Berkeley Informatik unterrichtet. Seinen Doktortitel in Informatik hat er an der U.C. Berkeley erworben, seinen Master am MIT. Seine zahlreichen bei O’Reilly erschienenen Bücher sind bekannt für ihre ausgefeilte und praxiserprobte Didaktik.
Python lernen mit KI-Tools
Nutzen Sie KI-Assistenten, um Python schneller und effektiver zu lernen! Eine der ersten Einführungen in die Programmierung, die virtuelle Assistenten wie ChatGPT (LLMs) aktiv und didaktisch durchdacht für einen besseren Lernerfolg nutzt Die Übungsaufgaben werden mit ChatGPT gelöst und dabei auch der Einsatz von KI-Assistenten als Hilfsmittel für die Programmierung gezeigt Inklusive Prompting, Testen von Code und Debugging mit LLMs Als Lernumgebung werden Jupyter Notebooks genutzt Python eignet sich hervorragend für den Einstieg in die Programmierung. Dieser abwechslungsreiche Praxiskurs führt Sie Schritt für Schritt in die Sprache ein, beginnend mit grundlegenden Konzepten über Funktionen und Datenstrukturen bis hin zur objektorientierten Programmierung. Das Buch geht auch auf die spannenden neuen Möglichkeiten ein, die KI-Assistenten wie ChatGPT Programmiererinnen und Programmierern bieten, und zeigt effektives Prompting, das Testen von Code und das Debugging mit KI. Durch zahlreiche Übungen, bei denen KI-Tools zum Einsatz kommen, sowie Fallstudien, kurze Verständnistests und kleinere Projekte in Jupyter Notebooks können Sie die neu erlernten Programmierkonzepte gleich ausprobieren. Auf diese Weise festigen Sie Ihr Verständnis für die konkrete Programmierpraxis und erfahren, wie KI-Assistenten Sie auch zukünftig im Programmieralltag unterstützen können. Starten Sie mit den Grundlagen, einschließlich Sprachsyntax und Semantik Entwickeln Sie eine klare Vorstellung von den jeweiligen Programmierkonzepten Lernen Sie Variablen, Anweisungen, Funktionen und Datenstrukturen kennen Arbeiten Sie mit Dateien und Datenbanken Verstehen Sie Objekte, Methoden und objektorientierte Programmierung Wenden Sie Debugging-Techniken an, um Syntax-, Laufzeit- und Semantikfehler zu beheben Nutzen Sie KI-Tools von Anfang an, um Ihren Lernprozess zu beschleunigen
Decentralized Business
Embark on a journey to business evolution grounded in the real-world experiences and challenges faced by those at the forefront of the Web2 revolution. In a landscape where adaptability is paramount, this book is a guiding light amidst a sea of uncertainty. Crafted by seasoned Web2 professionals, it offers a unique perspective on transitioning from traditional cloud computing to decentralized technologies.Delving beyond theory, this book provides actionable insights and strategies to navigate the complexities of Distributed Ledger Technologies (DLTs). Rather than just discussing the implementation of DLTs, it explores the intricacies of execution, offering tangible guidance to facilitate a seamless transition to the decentralized landscape. Moreover, this book doesn't stop at transition—it's a blueprint for thriving in the Web3 era. By offering strategic perspectives and tactical advice, it equips businesses of all sizes to not only survive but flourish in the decentralized economy. Whether you're a startup poised for disruption or an established enterprise seeking innovation, 'Decentralized Business' empowers you to confidently embrace the future.The time for passive observation is over; the future of business is decentralized, and _Decentralized Business_ is your guide to navigating this evolution. Join the ranks of forward-thinkers shaping tomorrow's economy—secure your copy now and begin the journey of transformation and opportunity.WHAT YOU WILL LEARN* Understand the foundational concepts of DLTs and their relevance to Web2 professionals.* Review security considerations and best practices for implementing decentralized solutions.* Apply strategies for integrating DLTs into existing cloud-based infrastructures.WHO THIS BOOK IS FORIT managers and executives looking to explore the potential of decentralized solutions; technology consultants advising businesses on digital transformation and cloud-based strategies; professionals and architects are seeking to expand their knowledge into the realm of DLTsSYED MOHAMED THAMEEM NIZAMUDEEN is a distinguished Information Technology leader with a rich history of leadership roles at Oracle, Ernst & Young (EY), and PriceWaterhouseCoopers (PWC). His expertise lies in cloud computing, cloud security, big data, machine learning, AI, and Application Modernization, where he applies his vast knowledge to pioneer innovative solutions.Syed has worked with C-Suite executives of Fortune 100 firms in the past advising them on their Application Modernization efforts in aspects of IaaS, PaaS, SaaS, Cloud Security, Multi-cloud, Internet of Things during his tenure with reputed technology Advisory firms –PricewaterhouseCoopers and Ernst & Young. Syed is committed to advancing technology’s role in shaping the business landscape. Syed can be reached at smthameem@gmail.com.GAURAV DESHMUKH is a highly-skilled technology leader with over a decade of experience driving transformative software engineering initiatives. Throughout his career, he has held pivotal technical roles at prominent companies such as Guidewire, Cigna, Home Depot, American Agricultural Laboratory (AmAgLab), Tata Exlsi, and Amdocs. Gaurav's expertise encompasses a range of cutting-edge technologies, including cloud computing, cybersecurity, software automation, data engineering, and full-stack development with various programming languages and web technology frameworks. He employs his vast knowledge to create innovative solutions that optimize workflows and drive business growth.Gaurav holds both an MBA and a Master's degree in Computer Science, with a focus on data warehousing and computer vision. He is dedicated to elevating the strategic role of software engineering in delivering business value. As a distinguished leader, Gaurav can be reached at gauravkdeshmukh89@gmail.com to explore transformative technical initiatives.Chapter 1: Introduction: Decentralized Business In The Web3 Era.- Chapter 2: Understanding Distributed Ledger Technologies (DLTs).- Chapter 3: Distributed Ledger Technologies: Relevance for Cloud Professionals.- Chapter 4: Use Cases of DLTs in Cloud Computing.- Chapter 5: Integrating DLTs into Cloud-Based Infrastructures.- Chapter 6: Challenges and Security Considerations in Decentralized Implementations.- Chapter 7: Web3 Strategies for Cloud Professionals.- Chapter 8: Case Studies: Successful Transitions.- Chapter 9: Regulatory Considerations in Decentralized Cloud Solutions.- Chapter 10: Future Trends: The Intersection of Cloud and Decentralized Technologies.- Chapter 11: Conclusion: Navigating the Web3 Landscape.
Prozesse mit BPMN managen und gestalten
Lernerfolg garantiert!Mit BPMN (Business Process Model and Notation) werden Prozesse modelliert und einheitlich grafisch dargestellt. BPMN bildet die Basis jeglicher Prozessoptimierung und verknüpft die Anforderungen von Management und IT.Dieses Praktikerwerk besteht aus zwei Teilen: einem Lexikon und einem Aufgabenteil mit Lösungen.Im Lexikonteil werden alle wesentlichen Begriffe rund um BPMN praxisorientiert erläutert und mit vielen Beispielen veranschaulicht. Alle relevanten Fragen rund um das Managen und Modellieren der Prozesse werden dabei beantwortet: Worauf kommt es an? Was sind die Ziele? Warum sind Regeln wichtig und welche bieten sich an? Oder was ist beispielsweise bei der Prozessanalyse, Hierarchisierung oder beim Stil zu beachten?Beim Aufgaben- und Lösungsteil geht es um die konkrete Umsetzung. Hier kommen Sie direkt ins Tun. Die Aufgaben umfassen von Analysen, grafischen Darstellungen bis hin zur Dokumentation Problemstellungen, die genau so auch in der Praxis vorkommen. Anhand des praktischen Lösungsteils ist dabei jederzeit eine Selbsteinschätzung möglich und der Lernerfolg garantiert.- Wissen, worauf es bei BPMN ankommt- Prozesse managen und modellieren- Einfach, anschaulich und konsequent praxisorientiert Dipl. Ing. Klemens Hauk studierte Elektrotechnik und Nachrichtentechnik an der RWTH Aachen. Er ist freiberuflicher IT-Projektleiter (ERP/SAP), IT-Manager in der Industrie (Prozesse & Anwendungsentwicklung), Dozent und Lehrbeauftragter für IT, Projektmanagement, Prozessmodellierung und SAP.
Let's code Lua!
Let's code Lua!Entdecke die vielfältigen Möglichkeiten von Lua! In diesem Buch lernst du spielerisch das Programmieren und erschaffst dabei deine eigenen Games, ganz ohne Vorkenntnisse. Die Programmiersprache Lua ist ideal für Einsteiger, da sie leicht zu lernen ist und schnelle Erfolgserlebnisse bringt.Tauche ein in die spannende Fantasywelt des jungen Zauberers Marvin und programmiere Schritt für Schritt unterhaltsame Minispiele. Von interaktiven Geschichten über »Feuer, Wasser, Eis« bis zu einem 2D-Actionspiel in der »Cave of Doom«. So eignest du dir die Grundlagen der Programmierung an – wie Variablen, Arrays und Schleifen. Maxime Wegesin bringt dir in diesem Buch alles bei, was du brauchst, um coole Games zu programmieren!Aus dem Inhalt:Der spielerische ProgrammieeinstiegHow to Code: die Grundlagen mit LuaSchritt für Schritt zum ersten GameVariablen, Ausdrücke, Arrays und SchleifenInteraktive Geschichten, Monster bekämpfenSpiel für Spiel dazulernenEinführung in das Löve-FrameworkSpiele mit Grafik, Sound und InputZeig, was du gelernt hast in der »Cave of Doom«Über den Autor:Maxime Wegesin hat 2014 an der Uni Bonn seinen Master of Science in Mathematik abgeschlossen. Schon während seines Studiums begleitete er mehrere Programmierkurse und entdeckte seine Leidenschaft dafür, anderen das Programmieren näherzubringen.
Einstieg in Linux Mint 22 (6. Auflg.)
Einstieg Linux Mint 22 (6. Auflg.)Mit diesem Buch wird der Einstieg in Linux ganz leicht! Aufschlagen, Mint installieren und los geht's. Dirk Becker führt Sie Schritt für Schritt durch die beliebte Linux-Distribution, die genau auf die Bedürfnisse von Linux-Neulingen und Anfängern zugeschnitten ist. Er zeigt Ihnen, welche Variante für Sie die richtige ist und wie Sie das große Angebot an Apps für sich nutzen. Mit dabei sind natürlich die beliebte Office-Suite Libre Office, die Bildbearbeitung mit GIMP sowie die Virtualisierungs-Software Wine, mit der sich Windows-Anwendungen und Games auch auf einem Linux-System nutzen lassen. Tipps zum Arbeiten mit der Konsole und zur Wartung des Systems sowie ein umfangreicher Troubleshooting-Guide machen das Buch zum Must-have für Linux-Einsteiger.Aus dem Inhalt :Linux Mint installierenParallelbetrieb mit WindowsOffice-Anwendungen nutzenIm Internet mit Linux MintMultimedia und SpieleBackup, Datensicherung und VerschlüsselungSystemverwaltung, Terminal, TreiberWindows-Programme mit Wine installierenDateien im Netz freigebenÜber den Autor :Dirk Becker, bekennender Linuxer und zugleich Windows-Administrator, ist ausgebildeter Energieanlagenelektroniker und Informatiker und arbeitet seit 1999 selbstständig in Projekten als Administrator, Programmierer und als Dozent.
Let's Code! (2. Auflage)
Let's Code! Programmieren lernen in der Minecraft-Welt, in 2. Auflage von Dezember 2024.Willkommen in TurtleCity! Du hast nicht nur ein Buch aufgeschlagen, du bist auch in Minecraft unterwegs und lernst dort Programmieren: Eine Robo-Schildkröte folgt genau deinen Befehlen. Du lässt sie verrückte Sachen bauen, nach Schätzen graben, und zusammen geht ihr so manche Challenge an. So lernst du das ABC der Programmierung von Schleifen über Variablen bis zu Unterprogrammen fast wie nebenbei. Lasse dich von den Aufgaben und Projekten überraschen! Sie haben in Workshops schon hunderte Kinder und Jugendliche begeistert und sind entsprechend erprobt. Programmieren zu lernen, fördert das logische Denken, Hartnäckigkeit und Kreativität. Aber vor allem – und das gilt auch für Große – macht es Spaß! Für Kinder, Jugendliche und alle, die Lust haben, ab 8 Jahren. Die Minecraft-Erweiterung ist kostenlos, einfach zu installieren und für Windows, Linux sowie macOS geeignet. Mit Kapiteln für Eltern und Lehrkräfte.Inklusive dem neuen ComputerCraft-Mod und wichtigen Lua-Grundlagen!Aus dem Inhalt:Installation nach AnleitungDie Schritte der Schildkröte fernsteuernWenn – dann: Bedingungen einbauenEinmal, zweimal, hundert Mal ... mit wenigen Befehlen viel erreichenImmer wieder, bis ... Schleifen programmierenInteraktion mit Redstone-SchaltungenBaumfäller, Schürf-Roboter und andere nützliche Helfer programmierenProgramme speichern und wieder ladenDer neue ComputerCraft-Mod: Steuere die Schildkröten mit LuaWeiterführende Infos zur ProgrammierungKapitel für Eltern und für Lehrkräfte
Schrödinger programmiert C# (4. Auflg.)
Schrödinger ist unser Mann fürs Programmieren. Er kann schon was, aber noch nicht C#. Zum Glück hat er einen richtigen Profi an seiner Seite, der auf jede Frage eine Antwort weiß. Und weil Schrödinger zwar schlau ist, aber auch ein wenig ungeduldig, gibt es nach der nötigen Theorie immer sofort etwas zu tun. Mit viel Code und Beispielen, die ihr nicht wieder vergesst. Ob es ums Einparken ohne Crash geht oder um Schuhschränke, die immer größer werden: Die Übungen schafft ihr (aber nicht immer mit links), die Pausen sind verdient, und am Ende jedes Kapitels dürft ihr euch einen Spickzettel einstecken – Achievement Unlocked, Ready for Next Level. Fantastisch illustriert. Für Einsteiger, Umsteiger und Fans.1. Gründlicher EinstiegSchrödinger macht's vor: Es geht direkt los mit dem Coden – vom Einfachen zum Schwierigen und von Anfang an mit kurzen Übungen. Lasst euch durch Visual Studio führen und macht euch mit Variablen, Schleifen und Co. vertraut.2. So macht guter Code SpaßWie ihr.NET umfassend nutzt, eigene Datentypen und sinnvolle Objekte erstellt, richtig mit Fehlern und Ausnahmen umgeht, lernt ihr hier. Und zwar immer gleich so, dass sich euer Code in der Welt der Profis sehen lassen kann.3. GUIs, Design Patterns, AppsFür grafische Oberflächen lernt ihr XAML, für einen robusten Aufbau das Architekturmuster MVVM. Ob es um den Desktop geht oder um mobile Apps: So nehmt ihr eure Nutzer in den Blick und entwickelt ansprechende GUIs.4. Mitmachen und genießenZu jedem Kapitel gibt es viele Beispiele, die Spaß machen, und Aufgaben mit Lösungen. Schrödinger stellt die Fragen, die ihr auch stellen würdet, Bernhard Wurm hat den Code kommentiert, und Leo Leowald hat zu jedem Thema eine Zeichnung parat ... also, dann kann's ja losgehen!Aus dem InhaltOperatoren, Schleifen, DatentypenKlassen, Objekte und VererbungDatenbanken und LINQGUI-Entwicklung mit XAMLawait/async geschickt verwendenDateizugriffe und StreamsMultithreadingMit Ausnahmen und Fehlern umgehenÜber den Autor:Bernhard Wurm ist Softwareentwickler aus Leidenschaft und kann sich noch sehr gut an seine ersten Programmierversuche erinnern.Leseprobe (PDF-Link)
Blender 4
PRAXISNAHER EINSTIEG ANHAND VON WORKSHOPSMit diesem Buch erhalten Sie einen leichten und umfassenden Einstieg in Blender. Anhand von Workshops lernen Sie Schritt für Schritt, die einzelnen Funktionen direkt in der Praxis einzusetzen. Zahlreiche Tipps und Tricks helfen Ihnen dabei, schnell eigene Projekte umzusetzen.ALLE BEREICHE DER 3D-GRAFIK DETAILLIERT ERLÄUTERTDie fünf Teilbereiche der 3D-Grafik, d.h. Modellierung, Texturierung, Animation, Szenenaufbau und Rendern werden im Detail behandelt und in einem einzigen Filmprojekt zusammengeführt.FÜR EINSTEIGER UND UMSTEIGER GEEIGNETDie dem Buch zugrunde liegende Lernmethode basiert auf der jahrelangen Erfahrung des Autors als professioneller Trainer für 3D-Software. So sind alle Erläuterungen sehr gut für Einsteiger ohne Vorkenntnisse nachvollziehbar und ebenfalls für Umsteiger von anderen 3D-Applikationen geeignet.AUS DEM INHALT:* Alle Arten der Modellierung, inkl. Character-Modeling* Sculpting* Texturierung, inklusive UV-Bearbeitung und Paint* Character-Rigging* Szenenaufbau mit Kamera, Licht und Umgebung* 3D-Animation und Simulation* 2D-Animation* Die beiden Render-Engines EEVEE und Cycles* Compositing* Filmschnitt inklusive SoundZUM DOWNLOAD:* Alle Blender-Dateien der Projekte und Workshops* Alle benötigten Materialien wie Bild- und Sound-Dateien* Die fertigen Projekte zum VergleichMAIK ECKARDT ist selbstständiger 3D-Grafiker und Trainer für Cinema 4D und Blender u.a. am SAE-Institute, am Institute of Design (IN.D), an der Berliner Technischen Kunsthochschule (BTK) und an der HTK Academy Berlin. Er hat bereits zahlreiche Bücher zum Thema 3D-Grafik veröffentlicht, u.a. zu Cinema 4D.
The Definitive Guide to Modern Java Clients with JavaFX
Build enhanced visual experiences and design and deploy modern, easy-to-maintain, client applications across a variety of platforms. This book will show you how these applications can take advantage of JavaFX’s latest user interface components, 3D technology, and cloud services to create immersive visualizations and allow high-value data manipulation. This book is a professional reference for building Java applications for desktop, mobile, and embedded in the Cloud age. It offers end-to-end coverage of the latest features in JavaFX 21 and 23. This third edition has been updated to include new features introduced in JavaFX 21 and 23, including NEW APIs: Map, FlatMap, and OrElse fluent bindings for ObservableValue, along with the new Subscription API. Additionally, it's updated to account for new bug fixes and overall improvements to existing functionality in Java. After reading this book, you will be equipped to upgrade legacy client applications, develop cross-platform applications in Java, and build enhanced desktop and mobile native clients. What You Will Learn * Create modern client applications in Java using the latest JavaFX 17 and Java 17 LTS * Build enterprise clients that will enable integration with existing cloud services * Use advanced visualization and 3D features * Deploy on desktop, mobile, and embedded devices Build enhanced visual experiences and design and deploy modern, easy-to-maintain, client applications across a variety of platforms. This book will show you how these applications can take advantage of JavaFX’s latest user interface components, 3D technology, and cloud services to create immersive visualizations and allow high-value data manipulation. This book is a professional reference for building Java applications for desktop, mobile, and embedded in the Cloud age. It offers end-to-end coverage of the latest features in JavaFX 21 and 23. This third edition has been updated to include new features introduced in JavaFX 21 and 23, including NEW APIs: Map, FlatMap, and OrElse fluent bindings for ObservableValue, along with the new Subscription API. Additionally, it's updated to account for new bug fixes and overall improvements to existing functionality in Java. After reading this book, you will be equipped to upgrade legacy client applications, develop cross-platform applications in Java, and build enhanced desktop and mobile native clients. What You Will Learn * Create modern client applications in Java using the latest JavaFX 21 and 23 * Build enterprise clients that will enable integration with existing cloud services * Use advanced visualization and 3D features * Deploy on desktop, mobile, and embedded devices Who This Book Is For Professional Java developers who are interested in learning the latest client Java development techniques to fill out their skills set 1: Getting Started with Client Java.- 2: JavaFX Fundamentals.- 3: Properties and Bindings.- 4: JavaFX Controls Deep Dive.- 5: Mastering Visual and CSS Design.- 6: High Performance Graphics.- 7: Bridging Swing JavaFX Style.- 8: JavaFX 3D.- 9: JavaFX to Web and Cloud.- 10: Packaging Apps for the Desktop.- 11: Native Mobile Apps.- 12: JavaFX 11 on Raspberry Pi.- 13: Machine Learning and JavaFX.- 14: Java Science. Stephen Chin is VP of Developer Relations at Neo4j and author of additional titles, including Raspberry Pi with Java, Pro JavaFX Platform, and DevOps Tools for Java Developers. He has keynoted numerous conferences around the world, including AI DevSummit, Devoxx, DevNexus, JNation, JavaOne, Joker, swampUP, and Open Source India. Stephen is an avid motorcyclist who has done evangelism tours in Europe, Japan, and Brazil, interviewing hackers in their natural habitat. When he is not traveling, he enjoys teaching kids how to do AI, and embedded and robot programming, together with his daughters. Johan Vos started to work with Java in 1995. He was part of the Blackdown team, porting Java to Linux. His main focus is on end-to-end Java, combining backend systems and mobile/embedded devices. He received a Duke Choice award in 2014 for his work on Javafx on mobile. In 2015, he co-founded Gluon, which allows enterprises to create (mobile) Java Client applications leveraging their existing backend infrastructure. Gluon received a Duke Choice award in 2015. Johan is a Java Champion and an Oracle Developer Champion, a member of the BeJUG steering group and the Devoxx steering group, and he is a JCP member. He has been a speaker at numerous conferences on Java. James Weaver is a Java developer, author, and speaker with a passion for cloud-native applications, machine learning, and quantum computing. He is a Java Champion, and a JavaOne Rockstar. James has written books, including Inside Java, Beginning J2EE, the Pro JavaFX series, and Java with Raspberry Pi. As a Pivotal Developer Advocate, James speaks internationally at software technology conferences. He tweets as @JavaFXpert.
Fullstack-Entwicklung mit SAP
Erfahren Sie, was Sie brauchen, um eigene Apps in der Fullstack-Entwicklung zu erstellen. Erfahren Sie, wie OData und Core Data Services (CDS) im Backend mit SAP Fiori, SAPUI5 und TypeScript im Frontend zusammenspielen und lernen Sie bewährte Tools kennen. Ob moderne oder ältere Landschaften: Mit diesem Buch meistern Sie die Fullstack-Entwicklung. Aus dem Inhalt: SAPUI5SAP Fiori ElementsOData V4 und OData V2Core Data Services (CDS)TypeScriptSAP Cloud Application Programming ModelABAP RESTful Application Programming ModelSAP Gateway Service BuilderEntwicklung von BenutzeroberflächenFlexible Programming ModelErweiterbarkeit und Bereitstellung Einleitung ... 17 Einführung ... 25 TEIL I. Einführung ... 25 1. Einführung in die Fullstack-Entwicklung ... 27 1.1 ... Was ist ein Fullstack-Entwickler? ... 28 1.2 ... SAP-Programmiermodelle ... 33 1.3 ... HTTP-Grundlagen ... 52 1.4 ... Zusammenfassung ... 56 2. Einführung in SAPUI5 und SAP Fiori ... 57 2.1 ... SAPUI5 versus SAP Fiori ... 57 2.2 ... SAP Fiori Launchpad ... 67 2.3 ... SAP Fiori Design Guidelines ... 73 2.4 ... Entwicklungswerkzeuge ... 74 2.5 ... Zusammenfassung ... 81 3. Einführung in OData ... 83 3.1 ... Einführung ... 84 3.2 ... OData-Services entwickeln ... 102 3.3 ... OData testen ... 116 3.4 ... Zusammenfassung ... 131 4. Einführung in CDS ... 133 4.1 ... Entwicklung von Core Data Services ... 134 4.2 ... Assoziationen und Navigationseigenschaften ... 146 4.3 ... CDS-View-Erweiterung ... 150 4.4 ... Berechtigungen ... 153 4.5 ... Zusammenfassung ... 157 5. Einführung in TypeScript ... 159 5.1 ... TypeScript-Grundlagen ... 159 5.2 ... TypeScript der nächsten Generation ... 165 5.3 ... Klassen und Interfaces ... 174 5.4 ... Generics ... 182 5.5 ... Modulentwicklung ... 188 5.6 ... Zusammenfassung ... 190 TEIL II. Entwicklung ... 191 6. Entwicklung von OData-V4-Services mit dem ABAP RESTful Application Programming Model (Managed Scenario) ... 193 6.1 ... Entwicklung von Business-Objekten ... 194 6.2 ... Aktionen ... 224 6.3 ... Erweiterte Funktionen ... 228 6.4 ... Berechtigungsprüfung ... 237 6.5 ... Verschachtelte Business-Objekte ... 240 6.6 ... Zusammenfassung ... 242 7. Entwicklung von OData-V4-Services mit dem SAP Cloud Application Programming Model ... 243 7.1 ... Domänenmodellierung ... 244 7.2 ... Service-Bereitstellung ... 259 7.3 ... Aufsetzen einer SAP-Cloud-Application-Programming-Model-Anwendung ... 267 7.4 ... Autorisierungsprüfungen ... 281 7.5 ... Zusammenfassung ... 283 8. Entwicklung von OData-V2-Services mit dem SAP Gateway Service Builder ... 285 8.1 ... Servicemodellierung in der Transaktion SEGW ... 286 8.2 ... Create, Read, Update, Delete und Query ... 299 8.3 ... SADL-basierte OData-Services ... 328 8.4 ... Zusammenfassung ... 336 9. Entwicklung von SAPUI5-Freestyle-Anwendungen ... 337 9.1 ... SAPUI5 (Basic-)Projekt anlegen ... 339 9.2 ... View aufbauen und UI-Komponenten verwenden ... 350 9.3 ... Applikationslogik, Formatter und Event Handler implementieren ... 362 9.4 ... Datenbindung ... 367 9.5 ... Navigation und Routing ... 386 9.6 ... Mehrsprachigkeit/Internationalization (i18n) ... 396 9.7 ... Deployment ... 398 9.8 ... Zusammenfassung ... 403 10. Entwicklung von SAPUI5-Freestyle-Anwendungen mit OData-V4-Services ... 405 10.1 ... Projekt anlegen ... 407 10.2 ... OData-Model-V4 ... 412 10.3 ... Startseite implementieren ... 425 10.4 ... Navigation einbauen ... 432 10.5 ... Detailseite implementieren ... 434 10.6 ... Fragmente ... 435 10.7 ... SAPUI5-Projekte von einem Git Repository klonen ... 447 10.8 ... Zusammenfassung ... 450 11. Entwicklung von SAPUI5-Freestyle-Anwendungen mit OData-V2-Services ... 453 11.1 ... Projekt anlegen ... 455 11.2 ... OData-Model-V2 ... 460 11.3 ... Startseite implementieren ... 472 11.4 ... Navigation einbauen ... 481 11.5 ... Detailseite implementieren ... 484 11.6 ... Fragmente ... 488 11.7 ... SAPUI5-Projekte von einem Git Repository klonen ... 500 11.8 ... Zusammenfassung ... 503 12. Entwicklung von Benutzeroberflächen mit SAP Fiori Elements ... 505 12.1 ... List Report ... 506 12.2 ... Object Page ... 514 12.3 ... Overview Page ... 527 12.4 ... Generische Annotationen ... 540 12.5 ... Zusammenfassung ... 543 13. Entwicklung von Benutzeroberflächen mit dem Flexible Programming Model ... 545 13.1 ... Einleitung ... 545 13.2 ... Programming Model Explorer ... 546 13.3 ... Building Blocks ... 553 13.4 ... Implementieren des Flexible Programming Model ... 561 13.5 ... Zusammenfassung ... 579 TEIL III. Fortgeschrittene Themen ... 581 14. Datei-Upload ... 583 14.1 ... Media Entitys ... 583 14.2 ... OData V2 ... 584 14.3 ... OData V4 ... 597 14.4 ... Zusammenfassung ... 600 15. Formularvalidierung und Error Handling ... 601 15.1 ... Formularvalidierung ... 601 15.2 ... Fehlerbehandlung ... 619 15.3 ... Zusammenfassung ... 626 16. Entity Tags und Soft State ... 627 16.1 ... Soft-State-Aktivierung ... 627 16.2 ... ETags ... 631 16.3 ... Zusammenfassung ... 633 17. Erweiterbarkeit ... 635 17.1 ... Adaptation Projects ... 635 17.2 ... Key-User-Erweiterbarkeit ... 647 17.3 ... Zusammenfassung ... 653 18. Bereitstellung ... 655 18.1 ... Continuous Integration, Continuous Delivery und Continuous Deployment ... 656 18.2 ... Bereitstellung in SAP S/4HANA ... 672 18.3 ... Bereitstellung in der SAP Business Technology Platform ... 676 18.4 ... Zusammenfassung ... 680 Das Autorenteam ... 681 Index ... 683
Let's code!
Willkommen in TurtleCity! Du hast nicht nur ein Buch aufgeschlagen, du bist auch in Minecraft unterwegs und lernst dort Programmieren: Eine Robo-Schildkröte folgt genau deinen Befehlen. Du lässt sie verrückte Sachen bauen, nach Schätzen graben, und zusammen geht ihr so manche Challenge an. So lernst du das ABC der Programmierung von Schleifen über Variablen bis zu Unterprogrammen fast wie nebenbei. Lasse dich von den Aufgaben und Projekten überraschen! Sie haben in Workshops schon hunderte Kinder und Jugendliche begeistert und sind entsprechend erprobt. Programmieren zu lernen, fördert das logische Denken, Hartnäckigkeit und Kreativität. Aber vor allem – und das gilt auch für Große – macht es Spaß! Für Kinder, Jugendliche und alle, die Lust haben, ab 8 Jahren. Die Minecraft-Erweiterung ist kostenlos, einfach zu installieren und für Windows, Linux sowie macOS geeignet. Mit Kapiteln für Eltern und Lehrkräfte. Inklusive dem neuen ComputerCraft-Mod und wichtigen Lua-Grundlagen! Aus dem Inhalt: Installation nach AnleitungDie Schritte der Schildkröte fernsteuernWenn – dann: Bedingungen einbauenEinmal, zweimal, hundert Mal ... mit wenigen Befehlen viel erreichenImmer wieder, bis ... Schleifen programmierenInteraktion mit Redstone-SchaltungenBaumfäller, Schürf-Roboter und andere nützliche Helfer programmierenProgramme speichern und wieder ladenDer neue ComputerCraft-Mod: Steuere die Schildkröten mit LuaWeiterführende Infos zur ProgrammierungKapitel für Eltern und für Lehrkräfte Vorwort ... 11 Einführung ... 13 »ComputerCraftEdu« -- Basis für die Programmierung in Minecraft ... 14 Minetest -- Open Source, inspiriert von Minecraft ... 16 Installation & Vorbereitung ... 19 Vorbereitung und Installation ... 20 Erster Start ... 23 Level 1: Dein neues Haustier: Robokröti! ... 25 Minecraft starten und die Abenteuerwelt laden ... 25 Grundausstattung: Gibt es beim Butler ... 28 Robokröti muss an die frische Luft ... 29 Die Kröte mit der Fernbedienung steuern ... 31 Lauf los, Robokröti! ... 31 Deine Challenge: Finde den mysteriösen Gegenstand! ... 34 Lösung: der mysteriöse Gegenstand ... 35 Style mich! ... 35 Level 2: Wie komme ich hier nur wieder raus? Oder: Das erste Programm! ... 37 Dein erstes Programm ... 40 Neues Programm erstellen ... 40 Challenge: Schreibe ein Labyrinth-Programm! ... 41 Tipps & Tricks ... 42 Level 3: Lass die Kröten tanzen! Oder: Schleifen ... 45 Challenge 1: Wie viele Schildkröten passen gleichzeitig in dein Labyrinth? ... 51 Gemeinsame Disko -- ein Ausflug nach TurtleCity ... 53 Smaragdmäher! Oder: verschachtelte Schleifen ... 53 Lösung -- die ersten beiden Reihen ... 56 Schleifen in Schleifen ... 57 Challenge 2: Alternative Mähmethode ... 59 Level 4: Ich kann sehen! Oder: Ich bin zu faul zum Selberzählen ... 61 Das unbekannte Labyrinth -- Automatik-Kröte. Oder: »WENN ... DANN« ... 68 Challenge 1: Erkenne das Ende! ... 73 Challenge 2: Unterirdisch! ... 75 Level 5: Wir lassen bauen! ... 77 Bau mir was, Schildkröte! ... 77 Bau gleich mal richtig viel, Schildkröte! ... 80 Challenge: Todessprung-Treppenhaus ... 82 Lösung: Todessprung-Challenge ... 82 Baue bis zu den Wolken: Auswahl des richtigen Slots/Materials ... 83 Kann man das essen? Oder: Programme speichern und teilen ... 85 Ich brauche mehr Platz! Oder: Unterprogramme ... 91 Dein erstes Unterprogramm ... 91 Unterprogramme praktisch einsetzen: Schreibe deinen Namen! ... 93 So geht's: dein Name in Blöcken gebaut ... 95 Level 6: Binärer Alptraum! Oder: wahr oder falsch? ... 99 Variablen und Unterprogramme ... 103 Ich kann zählen! Oder: der schiefe Turm von Krötenburg ... 104 Variablen-Basics ... 104 Challenge: Schiefer Turm mit Variablen ... 107 Level 7: Übersinnliche Fähigkeiten: Redstone ... 109 Redstone erkennen und aktivieren ... 109 Challenge: Redstone erkennen und weitersagen ... 113 Weitere Redstone-Experimente ... 115 Level 8: End-Boss: Baumfäller-Roboter! ... 117 Teil 1: Finde Bäume! Der Baumfäller-Roboter ... 117 Teil 2: Ernte den Baum! ... 125 Wie fällt man einen Baum? ... 126 Challenge 1: Bau alles zusammen und teste es! ... 130 Das komplette Programm -- Teil 1 und 2 zusammen ... 130 Challenge 2: Ein noch besseres Baumfäller-Programm ... 132 Lösung: die bessere Baumfäller-Schildkröte ... 133 Challenge 3: Roboter in der Wildnis ... 134 TurtleCity ... 137 Was ist TurtleCity? ... 137 Zugang zu TurtleCity ... 138 Starthilfe -- wie bekomme ich alles, was ich brauche? ... 139 Spielmodus -- Abenteuer- und Überlebensmodus ... 140 Bauplätze -- eigene Grundstücke sichern ... 141 Kaufen, kaufen, kaufen! ... 142 Autobahnen -- schneller ist besser! ... 144 Du hast Post -- Briefe und Gegenstände verschicken ... 146 Übersicht: Karte von TurtleCity ... 147 Erstelle deine eigene Mod -- mit MCreator ... 149 MCreator installieren ... 149 Erstelle einen Arbeitsbereich ... 154 Erstelle den neuen Block ... 156 Drop-Eigenschaft -- was springt für mich dabei heraus? ... 160 Ausprobieren! ... 161 Deine Challenge: Droppe mehr als einen Dia! ... 164 Das Zufallsprogramm ... 164 Lust auf mehr? ... 169 Wie geht's weiter? ... 171 Lua -- die Sprache hinter den Blöcken ... 171 Noch mehr Schildkröten und Computer gefällig? ... 172 Danke und viel Spaß! ... 174 Weitere Infos, Hilfe, Fragen & Antworten ... 175 Welten verwalten, sichern & wiederherstellen ... 175 Bauen AFK (away from keyboard) ... 178 Fehler & Lösungen ... 179 Mods allgemein ... 180 Kontakt zum Autor, Updates und mehr ... 181 Tipps und Tricks für Eltern, Pädagogen & Lehrkräfte ... 183 Einsatz von Minecraft und der Schildkröte im Unterricht ... 184 Das KidsLab Mod-Pack ... 187 Minetest im Unterricht ... 188 Index ... 189
Programmieren lernen mit Java
Programmieren lernen leicht gemacht: Dieses Buch führt Sie auf besonders verständliche Weise in die Programmierung mit Java ein. Schritt für Schritt erfahren Sie alles, was Sie wissen müssen: angefangen bei der Installation und den absoluten Java-Basics bis zur objektorientierten Programmierung. Auch die Entwicklung von Benutzeroberflächen und die Arbeit mit Dateien wird ausführlich erläutert.Am Ende binden Sie sogar eine Datenbank ein.Anschauliche Beispiele stellen sicher, dass Sie den Stoff gut nachvollziehen können. Viele Übungsaufgaben mit Musterlösungen helfen Ihnen, Ihre neuen Kenntnisse zu festigen.So ausgerüstet, werden Ihnen Ihre ersten eigenen Java-Programme sicher gelingen!Aus dem Inhalt: Grundlagen Java und Eclipse Variablen und ihre Reichweite Bedingungen, Schleifen & Co. Die Welt der Objekte Klassen, Objekte, Methoden Zugriffsschutz richtig setzen Fehler und Ausnahmen Grafische Benutzeroberflächen Fenster, Schaltflächen & Co. GUI-Komponenten mit dem WindowBuilder Animationen erstellen Dateien und Datenbanken Lese- und Schreibzugriff Datenbanken mit JDBC Datensätze präsentieren
Einstieg in SQL
Den leichten Einstieg in SQL und die Modellierung von Daten finden Sie hier! Schritt für Schritt führt Sie Michael Laube in diesem Leitfaden durch die SQL-Kommandos und macht Sie mit allen wichtigen Befehlen vertraut. Auf diesem Fundament aufbauend lernen Sie, wie Sie Ihre Daten richtig modellieren, verknüpfen und bearbeiten. Mithilfe dieser Anleitungen wird die Datenmodellierung mit SQL einfach und unkompliziert: So schaffen Sie Ordnung und sorgen für performante Abfragen. Aus dem Inhalt: Grundlagen kennenlernen und verstehenGrundfunktionen der TabellenabfrageZeilen einfügen, ändern und löschen (INSERT, UPDATE und DELETE)Tabellen mit CREATE TABLE anlegenMengenoperationenDatenbanken modellierenDatenmodelle optimierenDatenmodelle in Tabellen überführenBeziehungen zwischen Tabellen: JOINsTransaktionenSkalarfunktionenBedingungslogikMit Zeit und Datum arbeitenSpaltenwerte mit GROUP BY gruppierenUnterabfragenVIEWS: Abfragen in virtuellen Tabellen speichernPerformance optimieren 1. Grundlagen kennenlernen und verstehen ... 21 1.1 ... Die Tabelle als zentrales Element ... 21 1.2 ... Eine kleine Historie von SQL ... 23 1.3 ... Datenbanksysteme ... 24 1.4 ... SQL -- ein Standard und seine Umsetzung ... 25 1.5 ... Zu diesem Buch ... 27 1.6 ... MySQL unter Windows installieren ... 28 1.7 ... Die MySQL-Übungsdatenbank anlegen ... 36 1.8 ... Eine erste Abfrage an die Datenbank senden ... 39 1.9 ... Kommentarfunktion ... 42 2. Los geht's: Die Grundfunktionen der Tabellenabfrage (SELECT) ... 47 2.1 ... Mit einer SELECT-Anweisung Tabellen abfragen ... 47 2.2 ... Zeilen in einer Abfrage mit WHERE filtern ... 51 2.3 ... Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen ... 91 2.4 ... Ergebniszeilen einer SELECT-Anweisung einschränken ... 109 2.5 ... Datensätze sortiert abfragen ... 111 2.6 ... Konstanten in die Spaltenauswahlliste aufnehmen ... 124 2.7 ... Spalten einen Alias zuordnen ... 127 2.8 ... Gleiche Ergebniszeilen ausschließen (DISTINCT) ... 131 3. Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE) ... 135 3.1 ... Zeilen mit einer INSERT-Anweisung einfügen ... 135 3.2 ... Zeilen mit einer UPDATE-Anweisung ändern ... 145 3.3 ... Zeilen mit einer DELETE-Anweisung löschen ... 156 3.4 ... Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen ... 161 4. Tabellen anlegen (CREATE TABLE) ... 165 4.1 ... Datentypen ... 165 4.2 ... Datentypen umwandeln ... 179 4.3 ... Explizite und implizite Typkonvertierung ... 180 4.4 ... Einfache Tabellen mit CREATE TABLE erstellen ... 187 4.5 ... Spalten Einschränkungen (CONSTRAINTS) zuordnen ... 199 4.6 ... Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen ... 214 5. Mengenoperationen anwenden ... 229 5.1 ... Mengenoperationen auf Ergebnistabellen anwenden ... 229 5.2 ... Eine Vereinigungsmenge bilden (UNION) ... 236 5.3 ... Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) ... 245 5.4 ... Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT) ... 250 5.5 ... Mengenoperationen in Kombination mit einer WHERE-Klausel verwenden ... 253 5.6 ... Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel ... 255 6. Benutzer, Rollen und ihre Berechtigungen ... 259 6.1 ... Benutzer anlegen (CREATE USER) ... 260 6.2 ... Benutzer entfernen ... 261 6.3 ... Eine Verbindung für einen Datenbankbenutzer erstellen ... 262 6.4 ... Berechtigungen verwalten ... 268 6.5 ... Mit Rollen Berechtigungen zuordnen ... 270 6.6 ... Übungen ... 273 7. Datenbanken modellieren ... 279 7.1 ... Anforderungskatalog ... 279 7.2 ... Entitäten identifizieren und modellhaft abbilden ... 280 7.3 ... Beziehungen zwischen Entitäten festlegen ... 287 7.4 ... Datenmodelle in der UML-Notation darstellen ... 302 7.5 ... Übungen ... 305 8. Datenmodelle optimieren (Normalisierung) ... 309 8.1 ... Redundanzen erkennen ... 309 8.2 ... Die 1. Normalform anwenden ... 312 8.3 ... Die 2. Normalform anwenden ... 314 8.4 ... Die 3. Normalform anwenden ... 316 8.5 ... Denormalisierung ... 318 8.6 ... Übungen ... 320 9. Datenmodelle in Tabellen überführen ... 323 9.1 ... Die Ausbildungsdatenbank anlegen ... 323 9.2 ... Tabellen mit Beziehungen zu anderen Tabellen erstellen ... 325 9.3 ... Übung ... 332 9.4 ... Die referenzielle Integrität verstehen ... 334 10. Operationen auf Tabellen in Beziehungen anwenden ... 341 10.1 ... Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen ... 341 10.2 ... Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen ... 351 10.3 ... Beziehungen (Schlüsselbeziehungen) ändern ... 388 10.4 ... Beziehungen (Schlüsselbeziehungen) aufheben oder löschen ... 399 11. Transaktionen ... 411 11.1 ... Forderungen an relationale Datenbanksysteme ... 412 11.2 ... Transaktionen verstehen ... 414 11.3 ... Übungen ... 421 12. Tabellenstrukturen verändern ... 423 12.1 ... Eine Tabelle umbenennen ... 423 12.2 ... Spalten einer Tabelle ändern ... 425 12.3 ... Spalten hinzufügen und entfernen ... 438 12.4 ... Beziehungen zwischen Tabellen herstellen und entfernen ... 440 12.5 ... Übungen ... 443 13. Mit SQL rechnen ... 451 13.1 ... Spaltenwerte addieren ... 452 13.2 ... Spaltenwerte subtrahieren ... 454 13.3 ... Spaltenwerte multiplizieren ... 455 13.4 ... Spaltenwerte dividieren ... 455 13.5 ... Den Restwert einer Division von Spaltenwerten berechnen ... 456 13.6 ... Nach dem Ergebnis einer Berechnung filtern ... 457 13.7 ... Nach dem Ergebnis einer Berechnung sortieren lassen ... 458 13.8 ... Übungen ... 459 14. Skalarfunktionen anwenden ... 463 14.1 ... Funktionen für Textwerte ... 464 14.2 ... Funktionen für Zahlenwerte ... 476 14.3 ... Verschachtelte Funktionsaufrufe ... 482 15. Bedingungslogik ... 487 15.1 ... Die CASE-Klausel ... 487 15.2 ... Bedingungslogik in einer Spaltenauswahlliste einer SELECT-Anweisung anwenden ... 488 15.3 ... Bedingungslogik in einer ORDER BY-Klausel anwenden ... 490 15.4 ... Übungen ... 492 16. Mit Zeit und Datum arbeiten ... 495 16.1 ... Datumsformate ... 496 16.2 ... Skalarfunktionen für Zeit- und Datumsangaben in SQL nutzen ... 496 16.3 ... Zeit- und Datumsangaben formatieren ... 499 16.4 ... Datumsangaben extrahieren (EXTRACT) ... 515 16.5 ... Mit Datumsangaben rechnen ... 520 17. Spaltenwerte gruppieren (GROUP BY) ... 529 17.1 ... Die Aggregatfunktion COUNT anwenden ... 530 17.2 ... Die Aggregatfunktion SUM anwenden ... 535 17.3 ... Die Aggregatfunktion AVG anwenden ... 537 17.4 ... Die Aggregatfunktion MAX anwenden ... 539 17.5 ... NULL-Werte berücksichtigen ... 541 17.6 ... Nach aggregierten Werten einer Gruppierung filtern (HAVING) ... 545 17.7 ... Nach zwei oder mehr Spalten gruppieren ... 548 18. Mächtiges Werkzeug: Die Unterabfragen (Subqueries) ... 553 18.1 ... Unterabfragen, die in Korrelation zueinander stehen ... 554 18.2 ... Unterabfragen, die nicht in Korrelation zueinander stehen ... 560 18.3 ... Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL anwenden ... 566 18.4 ... Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen (EXISTS) ... 571 19. Views: Abfragen in virtuellen Tabellen speichern ... 575 19.1 ... Einfache Views anlegen ... 576 19.2 ... Views und ORDER BY ... 581 19.3 ... INSERT, UPDATE und DELETE auf Views anwenden ... 584 19.4 ... Views entfernen oder ersetzen ... 596 20. Abfragen mit einem Index optimieren ... 599 20.1 ... Einführung ... 599 20.2 ... Syntax: Index erstellen ... 602 20.3 ... Eine Tabelle mit vielen Zeilen generieren ... 602 20.4 ... Einen Index für eine Tabelle anlegen ... 604 20.5 ... Einen Index über mehrere Spalten anlegen ... 606 20.6 ... Den Index einer Tabelle löschen ... 609 20.7 ... Fremdschlüsselspalten indexieren ... 609 20.8 ... Übungen ... 613 21. Skalarfunktionen entwickeln ... 617 21.1 ... Funktionen mit einem Rückgabewert erstellen ... 618 21.2 ... Funktionen mit Parameter entwickeln ... 623 21.3 ... Funktionen entfernen ... 627 21.4 ... Übungen ... 628 22. Prozeduren entwickeln ... 631 22.1 ... Prozeduren ausführen ... 631 22.2 ... Prozeduren anlegen ... 632 22.3 ... Übung ... 636 Index ... 639
Schrödinger programmiert C#
Schrödinger ist unser Mann fürs Programmieren. Er kann schon was, aber noch nicht C#. Zum Glück hat er einen richtigen Profi an seiner Seite, der auf jede Frage eine Antwort weiß. Und weil Schrödinger zwar schlau ist, aber auch ein wenig ungeduldig, gibt es nach der nötigen Theorie immer sofort etwas zu tun. Mit viel Code und Beispielen, die du nicht wieder vergisst. Ob es ums Einparken ohne Crash geht oder um Schuhschränke, die immer größer werden: Die Übungen schafft ihr (aber nicht immer mit links), die Pausen sind verdient, und am Ende jedes Kapitels dürft ihr euch einen Spickzettel einstecken – Achievement Unlocked, Ready for Next Level. Fantastisch illustriert. Für Einsteiger, Umsteiger und Fans. Aus dem Inhalt: Operatoren, Schleifen, DatentypenKlassen und VererbungWichtige EntwurfsmusterGUI-Entwicklung mit XAMLLINQ einsetzenasync/await geschickt verwendenDateizugriffe und StreamsMultithreadingInternetzugriffMit Fehlern und Ausnahmen umgehen 1. Ein guter Start ist der halbe Sieg. Compiler und Entwicklungsumgebungen ... 25 Compiler und Compiler ... 26 Du brauchst eine IDE! ... 30 Der Spaß geht los! ... 32 Dein erstes Projekt ... 33 Theorie und Praxis ... 39 Was gelernt! ... 41 2. Ein netter Typ. Datentypen und deren Behandlung ... 43 Dieses Glas für diesen Wein ... 44 Grundlagen im Kamelreiten ... 48 Übungen für den Barkeeper ... 50 Rechnen mit Transvestiten ... 50 Alles nur Klone! ... 56 Ja oder nein? ... 57 Was gibt's zu essen? ... 58 Das ständige Hin und Her zwischen ja und nein ... 60 Gut kommentieren! ... 61 Kommentare im Einsatz ... 62 Andere für sich denken lassen ... 62 Compiler-Spiele ... 63 Viele neue Freunde ... 64 3. Alles unter Kontrolle. Bedingungen, Schleifen und Arrays ... 65 Bedingungen ... 66 In der Kürze liegt die Würze ... 69 Durch Variationen bleibt es interessant ... 70 Der Herr der Fernbedienung ... 72 Ist noch Bier da? ... 74 Switch-Expressions ... 77 Pattern-Matching ... 78 Zwillinge ... 79 Zwillinge ... 79 Ein Schuhschrank muss her ... 82 Arbeiten in den Tiefen des Schuhschranks -- von Kopf bis Fuß ... 83 Die ganze Welt ist Mathematik und aller guten Dinge sind vier ... 85 Schau's dir an mit dem Debugger ... 86 Solange du nicht fertig bist, weitermachen ... ... 87 Ich habe es mir anders überlegt ... 88 Oder mach doch weiter ... ... 89 Zurück zu den Schuhschränken ... 90 Wenn aus einem Schuhschrank eine Lagerhalle wird ... 91 Wiederholung, Wiederholung! ... 93 Code muss man auch lesen können ... 94 Jetzt kommt das coole Zeug! ... 96 Arrays verbinden ab C# 12 ... 100 Der Blick durchs Fenster ... 102 ... oder einmal alles ... 103 4. Sexy Unterwäsche -- von kleinen Teilen bis gar nichts. Strings, Characters und Nullable Types ... 105 Zeichenketten -- Strings ... 106 Kleine Teile -- einzelne Zeichen ... 107 Kleine und große Teile ... 108 Einfacher und schneller ... 109 Noch einfacher: Variablen im Text verwenden ... 112 Etwas Besonderes sollte es sein ... 113 Verdrehte Welt ... 114 Sein oder nicht sein? ... 117 Verweise auf nichts ... 120 Nichts im Einsatz ... 122 Damit bei so viel null nichts verloren geht ... 123 5. Eine endliche Geschichte. Enumerationen ... 125 Rot -- Gelb -- Grün ... 126 Tageweise ... 128 Tell me why I don't like mondays ... ... 131 WoW-Völker ... 132 Eine Mischung aus Zahlen und Arrays ... 134 Stimmungsbilder in der Praxis ... 137 Haltet das Banner hoch! ... 140 Auf wenige Sätze heruntergebrochen ... 143 6. Teile und herrsche. Methoden ... 145 Teilen statt Kopieren ... 146 Originale und überteuerte Kopien ... 149 Eins ist nicht genug ... 153 Wenn sich nichts bewegt und alles statisch ist ... 155 Ich hätte gerne das Original! ... 155 Sommerschlussverkauf -- alles muss raus ... 156 Tauschgeschäfte, die nicht funktionieren ... 158 TryParse und Enums ... 159 Zum Schluss noch ganz kurz ... ... 161 Ich will das ganz anders oder auch gar nicht -- Methoden überladen ... 163 Das Ganze noch einmal umgerührt ... 166 Ein knurrender Magen spornt bestimmt zu Höchstleistungen an ... 168 Originale zurücksenden ... 169 Maximale Originale ... 171 Eine kleine Zusammenfassung für dich ... 172 7. Klassengesellschaft. Objekte, Eigenschaften und Sichtbarkeiten ... 173 Mein Alter, meine Augenfarbe, mein Geburtsdatum ... 174 Eine Aufgabe für den Accessor ... 178 Ich sehe was, was du nicht siehst ... 179 Eigenschaften aufpoliert und bereit für die Bühne ... 180 Tanzen mit Elvis -- wenn keiner da ist, ist keiner da ... 182 Geheimniskrämerei und Kontrollfreak ... 183 Darf ich jetzt oder nicht? ... 184 Zusammen, was zusammengehört! ... 188 Zusammen und doch getrennt ... 190 Laufen, kämpfen, sterben ... 192 Vom Leben und Sterben ... 193 Geburtenkontrolle und detektivisches Talent ... 197 Mehrlingsgeburt ... 201 Partielle Klassen ... 204 Meine partiellen Daten ... 206 Gemeinsame Werte von dicken Freunden ... 207 Eigene Wertetypen ... 208 Strukturen überall ... 210 Strukturen ohne Namen ... 214 Ich habe viele Namen ... 216 Eigene Typen nochmals vom Sofa aus betrachtet ... 217 Die Nachteile der Wertetypen ausgetrickst ... 220 Gelernt ist gelernt! ... 223 8. Es wird Zeit für Übersicht! Namespaces ... 225 Eine Ordnung für die Klassen ... 226 Was ist denn nur in diesem Namespace vorhanden? ... 229 Vorhandene Systembausteine ... 231 Visual Studio findet die Namespaces für dich ... 234 Statische Klassen einbinden ... 234 Mathematik für Einsteiger ... 235 Zum Mitnehmen ... 236 9. Erben ohne Sterben. Objektorientierte Programmierung ... 237 Geisterstunde ... 238 Schleimgeister sind spezielle Geister ... 240 Fünf vor zwölf ... 242 Geister fressen, Schleimgeister fressen, Kannibalen fressen -- alles muss man einzeln machen ... 248 Enterben ... 249 Geister haben viele Gestalten ... 249 Geister, die sich nicht an die Regeln halten ... 252 Gestaltwandler unter der Lupe ... 253 Nochmals drüber nachgedacht ... 254 Hier noch ein Merkzettel ... 258 10. Abstrakte Kunst. Abstrakte Klassen und Interfaces ... 259 Abstrakte Klassen ... 260 Unverstandene Künstler ... 262 Das Meisterwerk nochmals betrachtet ... 264 Abstrakte Kunst am Prüftisch ... 265 Allgemein ist konkret genug ... 267 Fabrikarbeit ... 268 Alles unter einem Dach ... 269 Kaffee oder Tee? Oder doch lieber eine Cola? ... 270 Kaffeemaschine im Einsatz ... 272 Eine Cola bitte ... 274 Freundin vs. Chef -- Runde 1 ... 276 Bei perfekter Verwendung ... ... 277 Freundin vs. Chef -- Runde 2 ... 278 Freundin vs. Chef -- Runde 3 ... 280 Interfaces außer Rand und Band ... 281 In der Praxis: Mehr als nur Beschreibungen ... 282 Abstraktion und Interfaces auf einen Blick ... 287 11. Gleich und doch ganz anders. Records, der Star unter den eigenen Datentypen ... 289 Immutability -- die Würfel sind gefallen ... 290 Orcs, Trolle und Elfen als Klassen, Strukturen und Records ... 293 12. Airbags können Leben retten. Exceptionhandling ... 297 Mach's stabil! ... 298 Einen Versuch war es wert ... 300 Nur unter bestimmten Umständen ... 303 Fehler über Fehler ... 304 Über das Klettern auf Bäume ... 308 Klettern auf nicht vorhandene Bäume -- NullReferenceException ... 308 Auf Sträucher klettern -- FormatException ... 309 Sträucher im Sägewerk -- ArgumentException ... 310 Bezahlung ohne Ware -- ArgumentNullException ... 310 Bewusste Fehler ... 311 Selbst definierte Fehler ... 312 Fehler in freier Wildbahn ... 313 Das Matruschka-Prinzip ... 314 Alles noch einmal aufgerollt ... 316 Dein Fehler-Cheat-Sheet ... 320 13. Ein ordentliches Ablagesystem muss her. Collections und Laufzeitkomplexität ... 321 Je größer der Schuhschrank, desto länger die Suche ... 322 Komplizierte Laufschuhe ... 323 Geschwindigkeitsprognosen ... 326 Es muss nicht immer gleich quadratisch sein ... 328 Geschwindigkeitseinschätzung und Buchstabensuppe ... 330 Selbstwachsende Schuhschränke ... 334 Eine Array-Liste ... 335 Ringboxen ... 336 Listige Arrays und ihre Eigenheiten ... 337 Listige Arrays und ihre Verwendung ... 337 The Need for Speed ... 338 The Need for Speed ... 338 The Need for Speed ... 338 The Need for Speed ... 338 Es wird konkreter ... 339 Sortieren bringt Geschwindigkeit -- SortedList ... 342 Listenreiche Arbeit ... 344 Es geht noch schneller! ... 346 Im Rausch der Geschwindigkeit ... 348 Alternative Initialisierungen ... 350 Wörterbücher in der Anwendung... oder was im Regelfall schiefgeht ... 351 Von Bäumen und Ästen ... 355 Ein Verwendungsbeispiel ... 356 Alles eindeutig -- das HashSet ... 357 Schnelles Arbeiten mit Sets ... 358 Das große Bild ... 360 Der große Test, das Geheimnis und die Verwunderung ... 363 Noch einmal durchleuchtet ... 368 Dein Merkzettel rund um die Collections aus Laufzeiten ... 373 14. Allgemein konkrete Implementierungen. Generizität ... 375 Konkrete Typen müssen nicht sein ... 376 Das große Ganze ... 377 Mülltrennung leicht gemacht ... 378 Der Nächste bitte ... 381 Allgemein, aber nicht für jeden! ... 383 Immer das Gleiche und doch etwas anderes ... 385 Fabrikarbeit ... 387 Aus allgemein wird konkret ... 388 Hier kommt nicht jeder Typ rein. ... 389 Ähnlich, aber nicht gleich! ... 390 Varianzen hin oder her ... 392 Varianzen in der Praxis ... 395 WoW im Simulator ... 398 Damit's auch hängen bleibt ... 400 15. Linke Typen, auf die man sich verlassen kann. LINQ ... 401 Shoppen in WoW ... 405 Gesund oder gut essen? ... 408 Listen zusammenführen ... 409 Fix geLINQt statt handverlesen ... 416 Merkzettel ... 420 16. Blumen für die Dame. Delegaten und Ereignisse ... 421 Ein Delegat übernimmt die Arbeit ... 422 Im Strudel der Methoden ... 425 Die Butlerschule ... 428 Die Wahl des Butlers ... 431 Ereignisreiche Tage ... 432 Eine Runde für alle ... 435 Auf in die Bar! ... 436 Wiederholung, Wiederholung ... 439 Die delegierte Zusammenfassung ... 442 17. Der Standard ist nicht genug. Extension-Methoden und Lambda-Expressions ... 443 Extension-Methoden ... 444 Auf die Größe kommt es an ... 448 Erweiterungen nochmals durchschaut ... 450 Softwareentwicklung mit Lambdas ... 452 Lambda-Expressions auf Collections loslassen ... 455 Ein Ausritt auf Lamas ... 456 Filtern ... 456 Gruppieren ... 458 Verknüpfen ... 459 Gruppieren und Verknüpfen kombiniert ... 460 Left Join ... 461 VerLINQte LAMbdAS ... 463 Lamas im Schnelldurchlauf ... 466 18. Die Magie der Attribute. Arbeiten mit Attributen ... 467 Die Welt der Attribute ... 468 Die Magie erleben ... 470 Das Ablaufdatum-Attribut ... 472 Die Magie selbst erleben ... 473 Eine magische Reise in dein Selbst ... 474 In den Tiefen des Kaninchenbaus ... 477 Der Attribut-Meister erstellt eigene Attribute! ... 480 Meine Klasse, meine Zeichen ... 482 Selbstreflexion ... 484 Die Psychologie lehrt uns: Wiederholung ist wichtig! ... 488 19. Ich muss mal raus. Dateizugriff und das Internet ... 489 Daten speichern ... 490 Rundherum oder direkt rein ... 491 Rein in die Dose, Deckel drauf und fertig ... 493 Deine Geheimnisse sind bei mir nicht sicher ... 494 Das Mysterium der Dateiendungen ... 497 Das Gleiche und doch etwas anders ... 500 Das Lexikon vom Erstellen, Lesen, Schreiben, Umbenennen ... 501 Ran an die Tastatur, rein in die Dateien ... 506 Von der Sandburg zum Wolkenkratzer ... 508 Fließbandarbeit ... 512 Wenn das Fließband nicht ganz richtig läuft ... 515 Dem Fließband vorgeschalteter Fleischwolf ... 519 Nutze die Attributmagie! ... 521 X(M)L entspricht XXL ... 522 Der Größenvergleich ... 523 Die kleinste Größe -- JSON ... 524 Wir sind viele ... 525 Schru00F6dinger ... 529 Das World Wide Web. Unendliche Weiten ... 532 Deine Seite, meine Seite ... 534 Probe, Probe, Leseprobe ... 536 Punkt für Punkt fürs Hirn ... 538 20. Komm zurück, wenn du fertig bist. Asynchrone und parallele Programmierung ... 539 Zum Beispiel ein Download-Programm ... 540 Was so alles im Hintergrund laufen kann ... 547 Gemeinsam geht es schneller ... 549 Jetzt wird es etwas magisch ... 553 Wenn jeder mit anpackt, dann geht alles schneller ... 555 Rückzug bei Kriegsspielen ... 558 async/await/cancel ... 560 Unkoordinierte Koordination ... 562 Anders und doch gleich ... 567 Gemeinsam Kuchen backen ... 568 Wenn das Klo besetzt ist ... 573 Das Producer-Consumer-Problem ... 573 Dein Spickzettel ... 579 21. Nimm doch, was andere schon gemacht haben. Die Paketverwaltung NuGet ... 581 Bibliotheken für Code ... 582 Fremden Code aufspüren ... 585 Eigene NuGet-Pakete erstellen ... 588 Pakete statt Projekte ... 591 Die Welt ist schon fertig ... 592 22. Die schönen Seiten des Lebens. Einführung in XAML ... 593 Unendliche Weiten ... 594 Hinzufügen der Komponenten für MAUI-Apps in Visual Studio ... 597 Die MAUI-Architektur ... 598 Diese X-Technologien ... 600 Grundstruktur des Projekts ... 602 Ruf deine Freundin an ... 608 Layouthelferlein ... 612 Tabellen über Tabellen ... 613 Schrödingers Notizen ... 617 Das ist alles eine Stilfrage ... 631 Von der Seite in die Anwendung ... 633 Sonne, Strand und XAML ... 636 23. Models sind doch schön anzusehen. Das Model-View-ViewModel-Entwurfsmuster ... 639 Mein erstes eigenes Model ... 644 Eine Technik, sie alle zu binden! ... 648 Eine Eigenschaft für alle Infos ... 650 Wenn nur jeder wüsste, was er zu tun hätte ... 651 Los geht's! Notify-Everybody ... 654 Ein Laufsteg muss es sein! ... 657 Über Transvestiten und Bindungsprobleme ... 666 Über Bindungsprobleme und deren Lösungen ... 667 Alleine oder zu zweit? ... 668 Aus Klein mach Groß und zurück ... 669 Klein aber fein ... 670 Notizen über Models ... 673 Auf mein Kommando ... 683 Dem Zufall das Kommando überlassen ... 689 MVVM Punkt für Punkt ... 694 24. Weniger ist mehr. MVVM Community Toolkit ... 695 Programmcode generieren lassen ... 696 Lass uns mal rechnen, aber möglichst ohne Aufwand ... 701 Das solltest du trotz Automatik noch wissen ... 710 25. Funktioniert das wirklich? Unit-Testing ... 715 Das Problem: Testen kann lästig werden ... 716 Die Lösung: Unit-Tests -- Klassen, die Klassen testen ... 717 Das Testprojekt erstellen ... 720 Die Ausführung ist das A und O! ... 722 Spezielle Attribute ... 723 Unit-Tests sind nicht alles ... 723 Testgetriebene Softwareentwicklung -- oder wie du Autofahren lernst ... 724 Darfst du schon fahren? ... 725 Let's do it! ... 730 Dein Test-Merkzettel ... 731 26. Schrödingers Zukunft. Vorschau auf C# 13 und .NET9 ... 733 Schrittweise verfeinert ... 733 Params für alle ... 734 Alles erweitern! ... 735 Lange Eigenschaften gekürzt ... 739 Neuerungen in LINQ ... 740 Warten auf Godot ... 742 Index ... 743