Software
Professionelle Videotechnik
Der tiefgreifende Übergang der Signalübertragung von analogen über digitale Systeme bis zur Verwendung von digitalen Netzwerken ist in der Videotechnik revolutionär: er führt vor allem zur immer intensiver werdenden Verknüpfung der Computer- und Telekommunikationstechnik. Das Buch behandelt in diesem Kontext alle Aspekte der modernen Video- und Videostudiotechnik, die für Studierende der Medientechnik, Nachrichten- und Telekommunikationstechnik sowie für Ingenieure und Medienpraktiker von Interesse sind: die Grundlagen der Wahrnehmung und Farbmetrik, das analoge und digitale Videosignal, die Fernsehsignalübertragung, die analoge und digitale Filmtechnik, Bildaufnahme- und Bildwiedergabesysteme, Bildaufzeichnungsgeräte, die Videosignalbearbeitung und Videostudiosysteme. In der Praxis als Referenzwerk anerkannt und in der beruflichen Aus- und Weiterbildung als Kompendium empfohlen, ist das Buch in allen Kapiteln der 7. Auflage der sehr schnellen Entwicklung im Medienbereich angepasst worden. Neu sind hinzugekommen sind die Themenbereiche High Dynamic Range und netzwerkbasierte Studiosysteme. Alle anderen Kapitel sind den neuesten Entwicklungen angepasst.
Gamedesign und Spieleentwicklung für Dummies
Sie wollten schon immer Ihre eigene Spielidee umsetzen? Gamedesign ist Ihr Traumberuf? Dieses Buch zeigt Ihnen, wie Sie eigenen Spielcharakteren Leben einhauchen und Spieler mit originellen Spielregeln lange begeistern. Das ganze Buch ist als Lernkampagne mit zahlreichen Questen und Boss Challenges organisiert: Sie lesen, lernen und üben spielend in der Charakterklasse "Gamedesigner" und erhalten Erfahrungspunkte und Belohnungen. Nutzen Sie die Liste der zu erlernenden Fähigkeiten und Entwicklungsmöglichkeiten sowie zahlreiche Übungen, um selbstbestimmt mit Spaß zu lernen. Als Kind der 80er ist Thorsten Zimprich mit Computerspielen groß geworden. Unvergessen der C64 und der Konkurrenzkampf zwischen Sega und Nintendo. Spiele sind für ihn bis heute ein essenzielles Kulturgut, das er täglich pflegt. Als Gamedesigner arbeitete er einige Jahre bei Gameforge, unterrichtete Gamedesign und Medienproduktion und entwickelte E-Learning-Module an der Dualen Hochschule Baden-Württemberg Mosbach. Thorsten Zimprichs Leidenschaften sind Storytelling, Medienproduktion, Gamification und Lehren und Lernen.Über den Autor 9Vorwort 19EINFÜHRUNG21Über dieses Buch 21Was Sie nicht lesen müssen 22Törichte Annahmen über den Leser 22Wie dieses Buch aufgebaut ist 22Teil I: Vorbereitungen für Ihre Buchqueste 23Teil II: Wie ein Gamedesigner sehen und denken lernen 23Teil III: Die Spieleidee verpacken und abrunden 23Teil IV: Die Spieleidee kommunizieren 23Teil V: Der Top-Ten-Teil 24Symbole, die in diesem Buch verwendet werden 24Wie es weitergeht 25TEIL I: VORBEREITUNGEN FÜR IHRE BUCHQUESTE 27KAPITEL 1 WAS MACHT EIN GAMEDESIGNER?29Einordnung von Spielen in Spielearten 29Unterschiedliche Spielearten – unterschiedliche Herausforderungen 32Aufgaben bei der Erstellung von Spielen 33Aktuelle Entwicklung des Berufsbilds »Gamedesigner« 34Was machen nun alle Gamedesigner? 35KAPITEL 2 DAS IST IHRE BUCHQUESTE39Was ist eine Buchqueste? 39Der Sinn und Nutzen der Buchqueste 40Übersicht 41Motivation 41Planung 41Spielerisch leben 42Der Gamedesignercharakterbogen 43Wie lässt sich der Charakterbogen am besten nutzen? 43Wahrnehmung, GD-Handwerk und Mindset & Ausdauer 47Wiederholungen und Erfahrungspunkte 50Liste möglicher Genres 50Liste möglicher Fähigkeiten für den Charakterbogen 52Fähigkeitensystematik 52Eine mögliche Fähigkeitenübersicht 53Boss Challenge: Get Ready to Gamedesign! 55TEIL II: WIE EIN GAMEDESIGNER SEHEN UND DENKEN LERNEN 57KAPITEL 3 REGELN ERKENNEN LERNEN59Was können Spielregeln alles definieren? 60Spielregeln definieren, was zum Spiel gehört 60Spielregeln definieren den Ausgangszustand 62Spielregeln definieren, wie Spieler und Spiel agieren dürfen 62Spielregeln definieren das Spielziel und das Spielende 66Spielregeln können sich im Spiel verändern 68Spielregeln bestimmen den Einfluss von Zufall und Strategie 69Spielregeln sind ein Vertrag unter den Spielern 74Schatzkiste für den Gamedesigner 74Warum gibt es Spielregeln? 76Einstiegsbeispiele – Schere, Stein, Papier & Co 76Schere, Stein, Papier (Variante für 2 Spieler) 7630 Tod 78Die Erkenntnisse aus den Beispielen 80Kleines Rätsel 82Wie können Sie die Regeln komplexerer Spiele beschreiben? 82Tetris (NES, 1989) 83Boss Challenge – Sie entwickeln Ihr erstes kleines Spiel 84Das erste Projekt 85Checkliste als Hilfestellung für Ihr Projekt 86KAPITEL 4 WAS MACHT SPAẞ? 87Was macht Spielern Spaß? 88Was arbeitet dem Spaß entgegen? 89Maslows Bedürfnishierarchie 89Was macht meinen Spielern Spaß? Zielgruppe beachten! 92Was bedeutet der Begriff »Zielgruppe«? 92Wie erstellt man eine Zielgruppe? 92Kritischer Hinweis zu den Spielererwartungen 103Boss Challenge: Upgrade I für die ersten Spieleideen 107KAPITEL 5 FAIR GEHT VOR – ABER DAS GEFÜHL NICHT VERGESSEN!109Spielerziele 110Frustfaktoren 111Ihr Kampf gegen Frustfaktoren 112Die Strategie gegen Frustfaktoren 113Frustfaktor: Das Spiel ist zu schwer! 114Entscheidung, welche Lösungswege umgesetzt werden sollen 125Erfolgskontrolle der Umsetzung 125Die praxisdominante Strategie 126Zusammenfassung 128Boss Challenge: Upgrade II für die erste Spieleidee 129KAPITEL 6 WIE ANALYSIERT MAN SPIELE?131Warum sollten Sie Spiele analysieren? 131Die Analysemethoden 135Analysemethode: Der grobe Genrescan 136Analysemethode: Einzelspielanalyse 137Analysemethode: Der Tiefenscan 139Wie Sie Excel lieben lernen 139Boss Challenge: Analysiere das! 142TEIL III: DIE SPIELEIDEE VERPACKEN UND ABRUNDEN 143KAPITEL 7 DES SPIELS NEUE KLEIDER – STORYTELLING145Was ist Storytelling? 145Storylastige und nicht storylastige Spiele 146Hilfe zur Selbsthilfe 146Storytelling und Genre 147Und am Ende war es doch nur ein getarnter Klon 148Die Magie der Coverstory 149Wie designt man eine Spielwelt? 154Die innere Logik 154Das organische Weltdesign 155Modenschau der Klonwelten 160Charaktere – Bitte, bitte mehr als nur ein Bildchen mit Funktion! 167Vergessen Sie bitte weder Ihre Zielgruppe nochdie Funktion des Charakters 169Haben Sie den Bogen raus? 170Die Geschichte 178Ihr Wissen bedeutet Konsistenz 178Lineares Erzählen 178Nichtlineares Erzählen – eine Herausforderung 182Auf Details achten 188Boss Challenge: World of erste Spieleidee 189KAPITEL 8 ENDGAME UND WIEDERSPIELWERT191Was bedeutet »Endgame«? 191Zusammenhang Endgame und Wiederspielwert 193Wiederspielwert bei endlichen Spielen 193Soziales Miteinander 194Alltagsausstieg (süffiges Spiel) 194Mehr erreichen 195Besser werden als die Konkurrenz 196Mehr entdecken 196Tradition 196Seelenkuss 197Persistente Spiele 198Neue Spieler schützen 199Neuen Spielern (Highscore-) Erfolge ermöglichen 204Neue Spieler für ältere Spieler im Teamspiel wertvoll machen 206Alte Spieler mit passenden Herausforderungen oder Aufgaben erfreuen 207Endgamekonzepte für persistente Spielwelten 207Wachstumsstufen des Spiels (neuer Content) 207Rollentausch 208Achievements (Metagame – 100 % erreichen) 208Aufgaben 209Events 210Highscore/Liga 210Sanfter Reset durch Loop 210Boss Challenge1: Looping Gamer – Wiederspielwert für Ihr endliches Spiel 212Boss Challenge2: Looping Gamer – Endgame für Ihr persistentes Spiel 213TEIL IV: DIE SPIELEIDEE KOMMUNIZIEREN 215KAPITEL 9 SPIELER: »IN DEINEM SPIEL KANN MAN WAS NOCH MAL?«217Klick und weg 217The Gamedesigner’s Journey to Teachdom 219Das Gehirn 219Entschlüsselungsversuche: Lerntheorien 222Lerntypen 227Wissen aufnehmen 228Wissen behalten 230Beispiele für Wissensvermittlung an Spieler 236Zuordnungsversuche zu Lerntypen 239Boss Challenge: Still, still, still, weil der Spieler Anleitung lesen will 240KAPITEL 10 TEAMKOLLEGEN: »WAS SOLL ICH UMSETZEN? UND WIE GENAU?«243Welche Ziele verfolgen Sie? 243Grundlagen guter Zusammenarbeit 244Mysterium Teamplay 244Art zu kommunizieren – Von Spatzen und Kanonen 245Moodboard 248Funktionen eines Moodboards 248Aussehen und Inhalt eines Moodboards 249Zu erreichende Ziele 249Das Gamedesigndokument 250Die Ziele des Gamedesigndokuments 251Welche Inhalte? Welche Leser? 251Welche Formen können GDD-Inhalte annehmen? 252Mockup, Prototyp 256Boss Challenge: GDD No.1 257KAPITEL 11 MARKETING: »WAS IST TOLL AN DEINEM SPIEL?«259Was ist Marketing? 259Warum Marketing für Gamedesigner? 260Ihre 4 wichtigen Marketingaufgaben 260Alleinstellungsmerkmale – Was ist das Besondere? 261Ansprache der Zielgruppe 263Suchmaschinenoptimierung (SEO) 265Marketingkanäle und Marketingmix 265Boss Challenge: Mein Spiel ist toll, weil … 268TEIL V: DER-TOP-TEN-TEIL 271KAPITEL 12 10-MAL ZAHLENMAGIE FÜR GAMEDESIGNER273Zahlen mit dem passenden Gefühl 273Balancing auf Spielzeit 274Balancing der Wartezeit auf Belohnungen 275Erfahrungspunkte für den Stufenanstieg 276Wahrscheinlichkeiten im Kampf 278Fairness im Kampf – Schaden pro Sekunde 279Fairness im Kampf – Schadensauswirkungen schätzen 281Fairness im Kampf – Matching 282Brötchen verdienen – Umsatz 285Mit Gold richtig umgehen – Inflation by design vermeiden 286KAPITEL 13 ZEHN EINSTEIGERFRAGEN ZUM GAMEDESIGN 289Wie wird man Gamedesigner? Muss man Gamedesign studieren? 289Was benötigt man, um Games zu entwickeln? 290Müssen Gamedesigner programmieren und zeichnen können? 290Was verdienen Gamedesigner? 291Wo sollte man Gamedesign studieren? 291Wo und wie arbeiten Gamedesigner? 292Gibt es Arbeitsplätze in Deutschland? 292Was müssen Gamedesigner können? 293Wird Spielen für Gamedesigner zur lästigen Arbeit? 293Wie lange muss man Gamedesign lernen, um AAA-Titel veröffentlichen zu können? 293ANHANG 295ANHANG A LÖSUNGSHILFEN ZU EINIGEN BUCHQUESTEN295Lösungshilfen zu ausgewählten Buchquesten aus Kapitel 3 295Queste (Kap3Q1): Gamedesigntücken – Nach Regellücken bücken 295Queste (Kap3Q4): Ich packe meine Gamedesignhandwerkskiste –Startbildschirm 298Lösungshilfen zu ausgewählten Questen aus Kapitel 4 302Queste (Kap4Q1): Spaß hoch 10 302Queste (Kap4Q4): Spielekasper: »So spiele ich mein Genre nicht.« 303Lösungshilfen zu ausgewählten Questen aus Kapitel 6 305Queste (Kap6Q1): Sei so richtig grob, Tiger! 305Queste (Kap6Q2): Tabellenkalkulation ist kein Hexcelwerk 306Lösungshilfen zu ausgewählten Questen aus Kapitel 7 307Queste (Kap7Q3): Guten Tag, Bogenkontrolle! 307ANHANG B WIE ANALYSIERT MAN SPIELE?309Shakes&Fidget 309LETTER 314Fluxx 318Overload 321Ursuppe 323Carcassonne 327Stichwortverzeichnis 333
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.
Kostenoptimierte Anwendungsentwicklung
Das Buch soll keine wissenschaftliche Abhandlungen über Theorien der Informatik oder der Organisationslehre liefern, sondern einen praxiserprobten Weg aufzeigen, wie man durch eine stufenweise, kostenoptimierte und risikoarme Erneuerung der bisherigen Anwendungen eine reaktionsfähige und kontinuierlich erneuerbare Anwendungslandschaft aufbauen und dadurch zu einer hochflexiblen und effizienten Anwendungslandschaft kommen kann.Mit den beschriebenen Methoden können die Kosten der Anwendungsentwicklung um die Hälfte reduziert werden, wenn alle Datenverwaltungsfunktionen in anwendungsneutrale Datentabellen ausgelagert und die Fachfunktionen als selbstständig ablauffähige Geschäftsfall-Apps mit vorgefertigten Softwarekomponenten bedarfsgerecht konfiguriert werden.Dadurch kann eine flexible IT-Unterstützung für die Abarbeitung aller Arbeitsvorgänge entlang den bereichs- und unternehmensübergreifenden Geschäftsprozessen sichergestellt werden, die schnell an die kurzfristigen Veränderungen des dynamischen und komplexen Geschäftsumfelds angepasst werden können. HEINZ APPENZELLER wurde in Esslingen geboren. Nach der Ausbildung zum Industriekaufmann hat er praktische Erfahrungen bei der Prozess- und Systemgestaltung in allen Unternehmensbereichen eines Industrieunternehmens erworben. 1968 wurde er von einem Konzern für den Aufbau und die Leitung des Bereichs Organisation und Datenverarbeitung eines großen Industrieunternehmens mit einem breiten in- und ausländischen Vertriebsnetz und mehreren Tochterfirmen in Brasilien berufen. In dieser Zeit war er zusätzlich auch für den Aufbau und die Leitung einer IT-Tochterfirma mit zuletzt ca. 1000 Beschäftigten verantwortlich.
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
Engineer Your Software!
Software development is hard, but creating good software is even harder, especially if your main job is something other than developing software. Engineer Your Software! opens the world of software engineering, weaving engineering techniques and measurement into software development activities. Focusing on architecture and design, Engineer Your Software! claims that no matter how you write software, design and engineering matter and can be applied at any point in the process. Engineer Your Software! provides advice, patterns, design criteria, measures, and techniques that will help you get it right the first time. Engineer Your Software! also provides solutions to many vexing issues that developers run into time and time again. Developed over 40 years of creating large software applications, these lessons are sprinkled with real-world examples from actual software projects. Along the way, the author describes common design principles and design patterns that can make life a lot easier for anyone tasked with writing anything from a simple script to the largest enterprise-scale systems.* Preface* Who Should Read This Book* How This Book is Built* Acknowledgments* Engineering is a Verb* Architecture Matters* Solve the Right Problem* Engineer Deliberately* Make Your Life Easier Down the Road* Conclusion* Bibliography* Author's Biography
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.
Handbook on Interactive Storytelling
HANDBOOK ON INTERACTIVE STORYTELLINGDISCOVER THE LATEST RESEARCH ON CRAFTING COMPELLING NARRATIVES IN INTERACTIVE ENTERTAINMENTElectronic games are no longer considered “mere fluff” alongside the “real” forms of entertainment, like film, music, and television. Instead, many games have evolved into an art form in their own right, including carefully constructed stories and engaging narratives enjoyed by millions of people around the world. In Handbook on Interactive Storytelling, readers will find a comprehensive discussion of the latest research covering the creation of interactive narratives that allow users to experience a dramatically compelling story that responds directly to their actions and choices. Systematically organized, with extensive bibliographies and academic exercises included in each chapter, the book offers readers new perspectives on existing research and fresh avenues ripe for further study. In-depth case studies explore the challenges involved in crafting a narrative that comprises one of the main features of the gaming experience, regardless of the technical aspects of a game’s production. Readers will also enjoy:* A thorough introduction to interactive storytelling, including discussions of narrative, plot, story, interaction, and a history of the phenomenon, from improvisational theory to role-playing games* A rigorous discussion of the background of storytelling, from Aristotle’s Poetics to Joseph Campbell and the hero’s journey* Compelling explorations of different perspectives in the interactive storytelling space, including different platforms, designers, and interactors, as well as an explanation of storyworldsPerfect for game designers, developers, game and narrative researchers, academics, undergraduate and graduate students studying storytelling, game design, gamification, and multimedia systems, Handbook on Interactive Storytelling is an indispensable resource for anyone interested in the deployment of compelling narratives in an interactive context. JOUNI SMED, PHD, holds his doctorate in Computer Science. He has twenty years of experience in the game development, from algorithms and networking in multiplayer games to game software construction, design, and interactive storytelling.TOMI 'BGT' SUOVUO focuses on the virtual barrier in mediated interaction, particularly between multiple users. He has taught Principles of Interaction Design for four years.NATASHA SKULT is an active member of the Finnish and international game developers community as the Chairperson of IGDA and founder of Hive – Turku Game Hub.PETTER SKULT, PHD, obtained his doctorate in 2019 in English language and literature from Åbo Akademi University. He is a game designer and writer.List of Figures ixList of Tables xiiiPreface xvAcknowledgements xvii1 INTRODUCTION 11.1 Interactive Storytelling 31.1.1 Partakers 51.1.2 Narrative, Plot, and Story 61.1.3 Interaction 81.2 History of Interactive Storytelling 101.2.1 Theatre 111.2.2 Multicursal Literature 121.3 Role-playing Games 131.3.1 Hypertext Fiction 141.3.2 Webisodics 141.3.3 Interactive Cinema 151.3.4 Television 171.3.5 Games 171.3.5.1 Interactive Fiction 181.3.5.2 Digital Games 191.4 Summary 21Exercises 222 BACKGROUND 252.1 Analysis of Storytelling 252.1.1 Aristotle's Poetics 252.1.1.1 Elements of Tragedy 262.1.1.2 Narrative Forms 272.1.1.3 Dramatic Arc 272.1.2 Visual Storytelling 292.1.2.1 Semiotics 302.1.2.2 Work of Art 312.1.2.3 Video Games as Visual Art 312.1.3 Structuralism 332.1.3.1 Propp's Morphology of Russian Folktales 332.1.3.2 Colby's Grammar of Alaska Natives' Folktales 352.1.3.3 Story Grammars 372.1.4 Joseph Campbell and the Hero's Journey 412.1.5 Kernels and Satellites 422.2 Research on Interactive Storytelling 442.2.1 Brenda Laurel and Interactive Drama 462.2.2 Janet Murray and the Cyberbard 472.2.3 Models for Interactive Storytelling 482.2.4 Narrative Paradox and Other Research Challenges 492.2.4.1 Platform 522.2.4.2 Designer 522.2.4.3 Interactors 532.2.4.4 Storyworld 532.2.4.5 Terminology 532.3 Summary 54Exercises 543 PLATFORM 573.1 Software Development 583.1.1 Model-View-Controller 593.1.2 Interactor's Interface 613.1.3 Designer's Interface 633.1.4 Modding 633.2 Solving the Narrative Paradox 653.2.1 Author-centric Approach 663.2.2 Character-centric Approach 683.2.3 Hybrid Approach 693.3 Implementations 713.3.1 Pioneering Storytelling Systems 713.3.2 Crawford's IDS Systems 733.3.3 Stern's and Mateas's Façade 743.3.4 Experimental Systems 753.3.5 Other Systems 763.4 Summary 77Exercises 784 DESIGNER 814.1 Storyworld Types 824.1.1 Linear Storyworlds 834.1.2 Branching Storyworlds 844.1.3 Open Storyworlds 874.2 Design Process and Tools 894.2.1 Concepting the Storyworld 904.2.1.1 Character Design 924.2.1.2 Plot Composition 934.2.1.3 Adapting Material from Other Media 944.2.1.4 Transmedia Design 954.2.1.5 Adams' Template for Requirements Specifications 964.2.2 Iterative Design Process 974.2.3 Evaluating Interactive Stories 984.3 Relationship with the Interactor 1004.3.1 Focalization 1004.3.2 Story as Message 1014.4 Summary 103Exercises 1035 INTERACTOR 1075.1 Experiencing an Interactive Story 1085.1.1 Onboarding -- From Amnesia to Awareness 1095.1.2 Supporting the Journey 1105.1.3 Is There an End? 1115.1.4 Re-experiencing an Interactive Story 1125.2 Agency 1135.2.1 Theoretical and Perceived Agency 1145.2.2 Local and Global Agency 1155.2.3 Invisible Agency 1155.2.4 Limited Agency and No Agency 1165.2.5 Illusion of Agency 1165.3 Immersion 1175.3.1 Immersion Types 1175.3.2 Models for Immersion 1185.3.3 Flow 1195.4 Transformation 1205.5 Interactor Types 1215.5.1 Top-down Analysis 1225.5.2 Bottom-up Analysis 1245.5.3 Discussion 1255.6 Summary 126Exercises 1266 STORYWORLD 1316.1 Characters 1326.1.1 Perception 1336.1.2 Memory 1336.1.3 Personality 1356.1.4 Decision-making 1386.2 Elemental Building Blocks 1416.2.1 Props 1416.2.1.1 Schrödinger's Gun 1426.2.1.2 Internal Economy 1436.2.2 Scenes 1446.2.3 Events 1446.3 Representation 1456.3.1 Visual 1476.3.2 Audio 1486.3.2.1 Diegetic 1486.3.2.2 Non-diegetic 1496.4 Summary 150Exercises 1517 PERSPECTIVES 1537.1 Multiple Interactors 1537.1.1 Multiple Focus 1537.1.2 Persistence 1547.2 Extended Reality 1557.2.1 Visual Considerations 1557.2.2 Developing a Language of Expression 1577.3 Streaming Media 1577.3.1 Problems 1577.3.2 Solution Proposals 1597.4 Other Technological Prospects 1607.4.1 Voice Recognition 1607.4.2 Locating 1607.4.3 Artificial Intelligence 1617.5 Ethical Considerations 1627.5.1 Platform 1637.5.2 Designer 1637.5.3 Interactor 1647.5.4 Storyworld 1647.6 Summary 165Exercises 165Bibliography 169Ludography 187Index 191
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)
Windows Server (2. Auflg.)
Das umfassende Handbuch zum Windows Server 2019 in 2., aktualisierte und erweiterte Auflage.Der Windows Server ist das Herzstück Ihrer Firmen-IT – und dieses umfassende Handbuch zeigt Ihnen, wie Sie den sicheren Betrieb gewährleisten. Dazu erläutert es Ihnen alle Serverrollen und gibt praxisorientierte Antworten auf alle Fragen des täglichen Betriebs. Das Autorenteam aus Microsoft Premier Field Engineers und erfahrenen Administratoren liefert Ihnen detaillierte Hintergrundinformationen und zahlreiche Praxistipps, die dafür sorgen, dass Ihnen die Konfiguration reibungslos gelingt. Aus dem Inhalt: Neuerungen und FunktionsumfangAlle Rollen und FeaturesNetzwerkgrundlagen und -TopologienActive Directory: Benutzer, Gruppen, Rechte und DelegationenMigration von ServerdienstenPowerShell-GrundkursVirtualisierung mit Hyper-VPatchmanagement mit WSUSRemotedesktopdiesnte, VPN und NPSIntegration in AzureTroubleshooting und Sicherheit Inhalt (PDF-Link)Leseprobe (PDF-Link)
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
Pinterest-Marketing
Pinterest ist der versteckte Stern am Marketing-Himmel. Nutze die Stärken von Pinterest und leite so mehr Traffic auf deine Website. Die Nutzerinnen und Nutzer lassen sich auf der Plattform inspirieren und verwenden sie als visuelle Suchmaschine. Das Gute daran? Marken-Content ist hier gern gesehen. Mit diesem Praxisbuch erhältst du das nötige Know-how, um erfolgreiches Pinterest-Marketing zu betreiben. Die beiden Autorinnen zeigen dir, wie die Plattform funktioniert und welche Möglichkeiten sich für dich bieten.Sie geben dir das Gesamtpaket in die Hand: vom verständlichen Einstieg, der Optimierung deiner Inhalte und Pins, der richtigen strategischen Planung bis zum Einsatz von Werbeanzeigen und der Auswertung der Zahlen mit Pinterest Analytics. So setzt du Pinterest gewinnbringend für deine Zwecke ein! Aus dem Inhalt: Die Einsatzmöglichkeiten von PinterestRundgang durch die PlattformOptimierung deiner Inhalte und PinsPinterest-SEODie unterschiedlichen Pin-FormateDie richtige Strategie für dein BusinessWebsite, Bilder und Videos optimierenWerbeanzeigen mit dem Ads ManagerPinterest Analytics: die Zahlen auswertenCommunity Management und Monitoring Geleitwort ... 13 1. Einführung in das Pinterest-Marketing ... 15 2. Über Pinterest ... 23 2.1 ... Eine Reise durch die Benutzeroberfläche von Pinterest ... 24 2.2 ... Die Customer Journey auf Pinterest ... 27 2.3 ... Warum Pinterest die ideale Plattform für Blogger, Unternehmerinnen und E-Commerce ist ... 32 2.4 ... Für welche Branchen ist Pinterest interessant? ... 38 2.5 ... Was du vor deinem Start über Pinterest wissen solltest ... 39 3. Mit strategischer Planung zum erfolgreichen Pinterest-Auftritt ... 45 3.1 ... Lerne die Zielgruppe auf Pinterest kennen ... 46 3.2 ... Erstelle deine Persona ... 55 3.3 ... Zieldefinition: Was möchtest du auf Pinterest erreichen? ... 60 3.4 ... Finde die passende Themenwolke für dein Unternehmen und deine Zielgruppe ... 61 4. Deine ersten Schritte auf Pinterest: die Profileinrichtung, Teil 1 ... 71 4.1 ... Unternehmenskonto einrichten ... 71 4.2 ... Rich Pins ... 82 5. SEO: Optimiere deine Inhalte für die visuelle Suchmaschine ... 87 5.1 ... Was sind die Ranking-Faktoren auf Pinterest? ... 87 5.2 ... So funktioniert die Keyword-Recherche auf Pinterest ... 89 5.3 ... Strategische Nutzung von Keywords auf Pinterest ... 95 5.4 ... Formulierungstipps für klickstarke Pin-Überschriften ... 101 6. Der perfekte Pin: Pin-Formate und Designtipps für klickstarke Pins ... 111 6.1 ... Pin-Formate im Überblick: Standard-Pin, Karussell-Pin, Video-Pin, Idea-Pin ... 113 6.2 ... Wie fallen deine Pins im Feed auf? ... 120 6.3 ... Best Practice: Designregeln, die auf jedem deiner Pins umgesetzt werden sollten ... 121 6.4 ... Designregeln für weitere Pin-Formate ... 136 6.5 ... 85 % mobil: Optimiere für mobile Endgeräte ... 160 7. Deine ersten Schritte auf Pinterest: die Profileinrichtung, Teil 2 ... 163 7.1 ... Funktionen und Einrichtung von Pinnwänden ... 163 7.2 ... So lädst du deine ersten Pins hoch ... 174 8. Pin-Strategie: So holst du das Bestmögliche aus deinen Inhalten heraus ... 191 8.1 ... Content Upcycling -- erstelle zeitsparend viel Content auf einmal ... 191 8.2 ... Strategische Verteilung der Pins auf deine Pinnwände ... 202 8.3 ... Scheduling auf Pinterest ... 210 8.4 ... Zeitsparend mit Planungstools: im Vergleich ... 212 9. Optimiere deine Website und deinen Blog für Pinterest ... 215 9.1 ... Pinterest-Nutzerinnen und -Nutzer da abholen, wo sie ankommen ... 216 9.2 ... Optimiere deine Website, um auf Pinterest aufmerksam zu machen ... 226 10. Pinterest Analytics: Werte deine Zahlen richtig aus ... 243 10.1 ... Was ist Pinterest Analytics? ... 244 10.2 ... Einfach erklärt: die Analytics-Metriken ... 244 10.3 ... Rundgang: die Analytics-Navigation ... 247 10.4 ... Gewusst wie: So wertest du deine Pinterest-Analytics-Zahlen aus ... 262 10.5 ... So erstellst du aus deinen Zahlen ein Reporting ... 269 10.6 ... Zusätzliche Erkenntnisse in Tailwind Insights ... 270 11. Werbeanzeigen ... 273 11.1 ... Kampagnen erstellen -- eine Anleitung für den Ads Manager ... 276 11.2 ... Werbekampagnen planen ... 289 11.3 ... Pinterest Ads: So erstellst du zielführende Werbeanzeigen ... 294 11.4 ... Kampagnen verwalten und optimieren ... 309 11.5 ... Praxistipps ... 318 12. Community-Management und -Monitoring ... 323 12.1 ... Die Entwicklungen im Community-Management ... 323 12.2 ... Community-Management ... 325 12.3 ... Community-Monitoring ... 333 13. Bonus: Hilfreiche Tipps und Tricks ... 335 13.1 ... Weitere Einsatzmöglichkeiten von Pinterest ... 335 13.2 ... Hilfreiche Tools und ihre Einsatzgebiete ... 342 13.3 ... Pinterest-Workflow -- alle wichtigen Aufgaben auf einen Blick ... 347 13.4 ... Pinterest und Recht -- was sollte ich wissen? ... 357 13.5 ... E-Commerce auf Pinterest ... 362 Index ... 373
Systematische Entwicklung von Dienstleistungsinnovationen
Dieser Sammelband zum Projekt „Augmented Reality in flexiblen Dienstleistungsprozessen" (ARinFLEX) zeigt Anwendungsfälle für Dienstleistungsinnovationen in Pflege und industrieller Wartung auf. Die Autoren entwickeln Ideen, Konzepte und Prototypen für innovative Dienstleistungen mittels Augmented Reality und evaluieren diese in verschiedenen Kontexten. Der Sammelband bietet Grundlagen, Kontext und methodische Unterstützung zur Digitalisierung von Dienstleistungen in Pflege und industrieller Wartung.
Basics Interactive Design: User Experience Design
By putting people at the centre of interactive design, user experience (UX) techniques are now right at the heart of digital media design and development. As a designer, you need to create work that will impact positively on everyone who is exposed to it. Whether it's passive and immutable or interactive and dynamic, the success of your design will depend largely on how well the user experience is constructed.User Experience Design shows how researching and understanding users' expectations and motivations can help you develop effective, targeted designs. The authors explore the use of scenarios, personas and prototyping in idea development, and will help you get the most out of the latest tools and techniques to produce interactive designs that users will love.With practical projects to get you started, and stunning examples from some of today's most innovative studios, this is an essential introduction to modern UXD.
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
Multi-Platform Graphics Programming with Kivy
Modern science requires computer graphics models to provide realistic visual renderings. Learning the appropriate programming tools for 2D and 3D modeling doesn’t have to be so difficult. This book reviews the best programming tools to achieve this and explains how to apply them to mobile platforms like Android.Multi-Platform Graphics Programming with Kivy provides a straightforward introductory approach for designing 2D, 3D, and stereoscopic applications, using analytical equations from vector algebra. Throughout the book you’ll look closely at this approach and develop scenes in Kivy, taking advantage of powerful mathematical functions for arrays by NumPy for Python.Unbuntu is used to develop the programs, which allows you to easily convert to Android platform. Each chapter contains step-by-step descriptions on each subject and provides complete program listings.WHAT YOU’LL LEARN* Work with Kivy, a modern, powerful multi-platform graphics system* Convert and run programs on Android devices* Program, fill faces, and rotate 2D and 3D polygons* Apply the concepts of 2D and 3D applications* Develop stereoscopic scenes* Review a straightforward introduction to 2D, 3D, and stereoscopic graphics applications* Use simple analytical equations from vector algebraWHO THIS BOOK IS FORThe primary audience is students and researchers in graphics programming with experience in analytical equations.Moisés Cywiak is a researcher in physical optical sciences with over 20 years of teaching experience in physics, mathematics, electronic engineering, and programming in C, C++, and python, in Centro de Investigaciones en Óptica A.C.David Cywiak received his Ph.D. degree in physics in 2014 from Universidad de Guanajuato. From 2012 to 2013 he collaborated as a guest researcher at the Dalton Cardiovascular Research Center, University of Missouri-Columbia, in the development of an optical-photoacoustic system intended for the detection of photoacoustic signals generated by cancerous cells. Since 2014 he has been working as a metrologist in the Thermometry Department at Centro Nacional de Metrologia, México. His research includes photoacoustics, optical engineering and radiation thermometry. He has over 7 years of experience teaching physics, mathematics and programming in C for undergraduate students. He also has over 5 years of experience teaching Temperature measurement techniques and calibration of instruments in the thermometry area for industry professionals.Chapter 1: Preliminaries. Software installation1.1. installing pip3 and IDLE1.2. Installing kivy1.3. Installing buildozerChapter 2: Polygon rotation in two dimensions2.1. Rotation equations2.2. Mapping equations to the screenChapter 3: Two dimensional polygon programming3.1. Polygon structure3.2. Drawing the edges of the polygon3.3. Filling the polygon with lines3.4. Rotating the polygon3.5. The kivy platform3.6. main.py listing3.7. File.kv lisitng3.8. Using buildozerChapter 4: Three-dimensional projections and rotations4.1. Projection of a three-dimensional point into a plane4.2. Rotation of a point in a planeChapter 5: Programming three-dimensional polygons5.1. Polygon structure5.2. Basic functions5.3. main.py listing5.4. File.kvChapter 6: Stereoscopic 3D Programming6.1. Basics of a stereoscopic view6.2. Programming and ORing the images6.3. Projections6.4. Polygon structure6.5. DrawAxes function6.6. Points of projection6.7. main.py listing6.8. File.kvChapter 7: 3D plots programming7.1. Program basic operations7.2. Function overview7.3. Generating the axes, the mesh and the function7.4. Plotting the function in the screen7.5. Rotating the plot7.6. main.py listing7.7. File.kv listingChapter 8: Stereoscopic 3D plots8.1. Creating the function, coordinates and mesh8.2. Creating two images for stereoscopic effects8.3. Drawing the plot8.4. main.py listing8.5. File.kv listing8.6. Surfaces with saddle pointsChapter 9: 3D parametric plots9.1. Parametric equations9.2. Plotting9.3. main.py9.4. File.kvChapter 10: Stereoscopic 3D parametric plots10.1. Generating the function10.2. Creating PIL images for the stereoscopic effect10.3. Plotting the function10.4. main.py10.5. File.kvChapter 11: Sympy11.1. Analytical expressions and symbols11.2. Declaring functions with analytical expressions11.3. Solving equations11.4. Solving simultaneous equations11.5. Differentiation11.6. IntegrationChapter 12: Plotting functions in spherical coordinates12.1. Spherical coordinates12.2. Spherical differential equation example12.3. The associated Legendre polynomials12.4. Plotting 3D spherical coordinates12.5. main.py listing12.6. File.kv listing12.7. Incorporating sympy into the Android projectChapter 13. Stereoscopic plots of spherical functions13.1. Creating the stereoscopic scenes13.2. main.py listing13.3. File.kv listingChapter 14. Stereoscopic simple numerical method for the gravitational N-body problem14.1. The gravitational N-body problem14.2. Motion equations14.3. Numerical approach of the dynamic equations14.4. Capturing numerical data14.5. Five planets example14.6. main.py listing14.7. File.kvChapter 15. Stereoscopic cylindrical coordinates plotting. Aberrations of optical lenses15.1. Ideal lens focusing. The Fresnel diffraction integral15.2. Departure from the ideal lens15.3. The wave aberration function in cylindrical coordinates15.4. Stereoscopic plot of the wave aberration terms in cylindrical coordinates15.5. main.py listing15.6. File.kv listingChapter 16. Stereoscopic plotting of three-dimensional conics16.1. Analytical approach16.2. Stereoscopic ellipsoid plotting16.3. main.py (Ellipsoid)16.4. File.kv16.5. HyperboloidChapter 1: Preliminaries. Software installation1.1. installing pip3 and IDLE1.2. Installing kivy1.3. Installing buildozerChapter 2: Polygon rotation in two dimensions2.1. Rotation equations2.2. Mapping equations to the screenChapter 3: Two dimensional polygon programming3.1. Polygon structure3.2. Drawing the edges of the polygon3.3. Filling the polygon with lines3.4. Rotating the polygon3.5. The kivy platform3.6. main.py listing3.7. File.kv lisitng3.8. Using buildozerChapter 4: Three-dimensional projections and rotations4.1. Projection of a three-dimensional point into a plane4.2. Rotation of a point in a planeChapter 5: Programming three-dimensional polygons5.1. Polygon structure5.2. Basic functions5.3. main.py listing5.4. File.kvChapter 6: Stereoscopic 3D Programming6.1. Basics of a stereoscopic view6.2. Programming and ORing the images6.3. Projections6.4. Polygon structure6.5. DrawAxes function6.6. Points of projection6.7. main.py listing6.8. File.kvChapter 7: 3D plots programming7.1. Program basic operations7.2. Function overview7.3. Generating the axes, the mesh and the function7.4. Plotting the function in the screen7.5. Rotating the plot7.6. main.py listing7.7. File.kv listingChapter 8: Stereoscopic 3D plots8.1. Creating the function, coordinates and mesh8.2. Creating two images for stereoscopic effects8.3. Drawing the plot8.4. main.py listing8.5. File.kv listing8.6. Surfaces with saddle pointsChapter 9: 3D parametric plots9.1. Parametric equations9.2. Plotting9.3. main.py9.4. File.kvChapter 10: Stereoscopic 3D parametric plots10.1. Generating the function10.2. Creating PIL images for the stereoscopic effect10.3. Plotting the function10.4. main.py10.5. File.kvChapter 11: Sympy11.1. Analytical expressions and symbols11.2. Declaring functions with analytical expressions11.3. Solving equations11.4. Solving simultaneous equations11.5. Differentiation11.6. IntegrationChapter 12: Plotting functions in spherical coordinates12.1. Spherical coordinates12.2. Spherical differential equation example12.3. The associated Legendre polynomials12.4. Plotting 3D spherical coordinates12.5. main.py listing12.6. File.kv listing12.7. Incorporating sympy into the Android projectChapter 13. Stereoscopic plots of spherical functions13.1. Creating the stereoscopic scenes13.2. main.py listing13.3. File.kv listingChapter 14. Stereoscopic simple numerical method for the gravitational N-body problem14.1. The gravitational N-body problem14.2. Motion equations14.3. Numerical approach of the dynamic equations14.4. Capturing numerical data14.5. Five planets example14.6. main.py listing14.7. File.kvChapter 15. Stereoscopic cylindrical coordinates plotting. Aberrations of optical lenses15.1. Ideal lens focusing. The Fresnel diffraction integral15.2. Departure from the ideal lens15.3. The wave aberration function in cylindrical coordinates15.4. Stereoscopic plot of the wave aberration terms in cylindrical coordinates15.5. main.py listing15.6. File.kv listingChapter 16. Stereoscopic plotting of three-dimensional conics16.1. Analytical approach16.2. Stereoscopic ellipsoid plotting16.3. main.py (Ellipsoid)16.4. File.kv16.5. Hyperboloid16.6. main.py (Hyperboloid)Chapter 17. Two-dimensional Fourier transform17.1. One-dimensional Fourier transform17.2. Rectangular and sinc functions17.3. Code for calculating the discrete one-dimensional Fourier transform17.4. Two-dimensional Fourier transform17.5. Discrete two-dimensional Fourier transform17.6. main.py lisitng17.7. File.kv listing17.8. The Fourier transform of the circular function17.9. Analytical formulation for the Fourier transform of the circular functionChapter 18. Stereoscopic two-dimensional Fourier transform18.1. Piloting the functions18.2. main.py listing18.3. File.kv listing16.6. main.py (Hyperboloid)Chapter 17. Two-dimensional Fourier transform17.1. One-dimensional Fourier transform17.2. Rectangular and sinc functions17.3. Code for calculating the discrete one-dimensional Fourier transform17.4. Two-dimensional Fourier transform17.5. Discrete two-dimensional Fourier transform17.6. main.py lisitng17.7. File.kv listing17.8. The Fourier transform of the circular function17.9. Analytical formulation for the Fourier transform of the circular functionChapter 18. Stereoscopic two-dimensional Fourier transform18.1. Piloting the functions18.2. main.py listing18.3. File.kv listing
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?.
Betriebswirtschaftliche KI-Anwendungen
Digitalisierung und Künstliche Intelligenz ermöglichen Unternehmen disruptive Erweiterungen ihrer Geschäftsmodelle. Wer rechtzeitig digitale KI-Geschäftsmodelle einführt, wird seinen Erfolg nachhaltig sichern können. Aber wie und wo können solche Modelle Anwendung finden? Diese Publikation gibt Antworten, wo KI-Geschäftsmodelle greifen können, und wie diese von der ersten Idee bis zur produktiven Anwendung realisiert werden können. KI-Anwendungen in der Betriebswirtschaft.- Grundlagen und Technik.- Digitale Geschäftsmodelle auf Basis Künstlicher Intelligenz.- Prototyp einer digitalen KI-Anwendung.- Beispielanwendung 1.- Beispielanwendung 2.- Beispielanwendung 3.- Der Weg zum Erfolg mit KI.
Visual Studio Code for Python Programmers
BECOME PROFICIENT AND EFFICIENT WITH VISUAL STUDIO CODE AND LEARN HOW TO INTEGRATE ALL YOUR EXTERNAL TOOLS!Visual Studio Code for Python Programmers helps Python developers become not just familiar, but productive in Visual Studio Code. To start, you’ll find the steps for installing Visual Studio Code on Windows, Mac and Linux platforms, along with an introduction to the editing features of the workspace. Coverage of more advanced functionality includes managing source code, debugging, unit testing, and Jupyter Notebook support. The book finishes with a walk-through of real-world projects which utilize Visual Studio Code features introduced in the book.For developers, the choice of an editor is a very personal one. You have idiosyncratic needs and wants that are unique to you as a developer. This book will help you learn how to customize Visual Studio Code to meet your needs and Python development workflow.* Introduces you to the features of the Visual Studio Code workspace and how those features can be customized* Demonstrates how Visual Studio Code allows you to choose your structure according to your needs* Covers editing code in Python, including syntax highlighting, code completion, object definition, refactoring, and code navigation* Describes Git integration and how to perform common Git functions (commits, checkouts, branches, and merges) from within Visual Studio Code* Highlights debugging features for Python developersA final section on Real World Applications will step you through several examples (and features integration with Django, Flask, Jupyter Notebook, Docker, and Azure), so you can hit the ground running with Visual Studio Code.APRIL SPEIGHT is a developer who specializes in Python and conversational design for chat bots and AI Assistants. Her passion for learning and teaching Python led to her first published title, Bite-Size Python: An Introduction to Python Programming. She currently works on content creation and developer community engagement for Spatial Computing and Mixed Reality at Microsoft. Introduction xixPART I WELCOME TO VISUAL STUDIO CODE 1CHAPTER 1 GETTING STARTED 3Installing Visual Studio Code 4The Visual Studio Code User Interface 4Activity Bar 5Side Bar 6Editor 7Panels 11Status Bar 12Command Palette 12Extensions 14Customizations 15Settings 16Color Themes and Icons 18Keybindings 18Display Langage 18Summary 19CHAPTER 2 HELLO WORLD FOR PYTHON 21Installing a Python Interpreter 21macOS 22Linux 22Windows 22Installing the Python Extension for Visual Studio Code 22Creating a Python File 23Selecting an Interpreter 24Setting a Default Interpreter 26Settings Editor 26settings.json File 26Selecting a Linter 26Editing a Python File 27Running a Python File 29Workflow Recap 30Summary 31CHAPTER 3 EDITING CODE 33Quick Fixes 34Code Completion, Definitions, and Declarations 35Formatting 38Edit Formatting Settings in the Settings Editor 39Edit Formatting Settings in settings.json 40Linting 41Enable and Disable Linting 41Run Linting 42Linting Settings 43Refactoring 44Extract Variable 44Extract Method 45Sort Imports 46Snippets 47Summary 48PART II ADDITIONAL VISUAL STUDIO CODE FEATURES 51CHAPTER 4 MANAGING PROJECTS AND COLLABORATION 53Files and Folders 53Open a Project 54Navigate Files 56Search across Files 57Close a File or Folder 60Environments 60Virtual Environments 61Conda Environments 61Source Control 63Initialize a Repository 65Commit Changes 66Branches 69Remotes 70Gutter Indicators 71View Diffs 71Push and Merge Commits 73Pull Requests 74Live Share 74Install Live Share 75Sign In to Live Share 76Share a Project 76Join a Session 78Editing and Collaboration 80Follow a Participant 80Share a Terminal 81Summary 82CHAPTER 5 DEBUGGING 83Starting a Debug Session 84Debug Commands 89Continue 89Step Over 90Step Into 90Step Out 91Stop 91Restart 92Call Stack 92Triggering a Breakpoint 93Logpoints 95Watch 96The Debug Console 98Launch Configurations 101Summary 104CHAPTER 6 UNIT TESTING 105Enable and Discover Tests 105Run Tests 109Debug Tests 113Summary 115CHAPTER 7 JUPYTER NOTEBOOK 117Creating and Opening a Jupyter Notebook 118Code Cell Modes 120Adding Cells 121Editing Cells 122Running a Cell 124Running a Single Cell 124Running All Code Cells 124Running Cells Above and Below a Code Cell 125Additional Commands 126Viewing Variables and Data 126Viewing Plots 128Debugging a Jupyter Notebook 129Connecting to a Remote Server 130Exporting a Notebook 131Summary 132CHAPTER 8 USING GIT AND GITHUB WITH VISUAL STUDIO CODE 135Getting Started 135GitHub Pull Requests and Issues Extension 136Publish a Project to GitHub 139Push Changes to GitHub 141Manage Pull Requests and Issues 143Pull Requests 144Issues 147Clone Repository 152Timeline View 154Summary 156CHAPTER 9 DEPLOY A DJANGO APP TO AZURE APP SERVICE WITH THE AZURE APP SERVICE EXTENSION 157Getting Started 157Creating a Django Project 159Creating an App 161Creating a Home Page 163Creating Website Pages 166Deploying to Azure 168Summary 175CHAPTER 10 CREATE AND DEBUG A FLASK APP 177Getting Started 177Create a Flask App 178Create and Render a Template 180Debug the Flask App 184Summary 187CHAPTER 11 CREATE AND DEPLOY A CONTAINER WITH AZURE CONTAINER REGISTRY AND AZURE APP SERVICE 189Getting Started 189Create a Container 191Add Docker Files to the Project 191Build an Image 193Build and Run a Container 195Debug a Container 197Push an Image to the Registry 197Create an Azure Container Registry 198Determine the Image’s Registry Location 199Deploy the Container Image to Azure 201Make Changes to the App and Deploy 205Multicontainer Apps 206Summary 207CHAPTER 12 DEPLOY AN AZURE FUNCTION TRIGGER BY A TIMER 209Getting Started 210Create an Azure Function 211Invoke the Function Locally 213Add the Code to the Function 214Deploy the Function to Azure 215Summary 220APPENDIX GETTING STARTED WITH AZURE 221Index 225
SPS-Programmierung mit dem Raspberry Pi und dem OpenPLC-Projekt
Einführung in die SPS-Programmierung mit dem Open-Source-Projekt auf dem Raspberry Pi und Modbus-Beispiele'mit dem'Arduino Uno und ESP8266Die SPS-Programmierung ist heute in der Industrie und in der Hausauto-mation sehr weit verbreitet. In diesem Buch beschreibt der Autor, wie der Raspberry Pi 4 als SPS eingesetzt werden kann. Angefangen mit der Softwareinstallation auf dem Raspberry Pi und dem SPS-Editor auf dem PC geht es nach einer Beschreibung der Hardware an das Programmieren.Es folgen interessante Beispiele nach IEC 61131-3 in den verschiedenen Programmiersprachen. Ausführlich wird auch erklärt, wie der SPS-Editor benutzt wird und wie die Programme auf den Raspberry Pi geladen und ausgeführt werden. Angefangen mit der Programmierung mit KOP (Kontaktplan) über ST (Structured Control Language) bis zu AS (Special Function Chart) werden alle IEC-Sprachen mit Beispielen behandelt. Diese können auf der Website des Autors heruntergeladen werden.Auch die Vernetzung kommt nicht zu kurz. Der Arduino Uno und der ESP8266 werden als ModbusRTU- bzw. ModbusTCP-Module program-miert, um ZugriŸ auf externe Peripherie zu erhalten. Damit ist es möglich, Sensoren einzulesen und Verbraucher zu schalten. Interessant dürften auch E/A-Schaltungen sein, die dem 24V-Industriestandard entsprechen.Befehlsübersichten für ST und KOP runden das Buch ab.Nach dem Durcharbeiten des Buches ist der Leser in der Lage, eigene SPS-Steuerungen mit dem Raspberry Pi zu verwirklichen.Josef Bernhardt hat sich schon früh mit Elektronik beschäftigt. Mit zwölf Jahren baute er seinen ersten Detektorempfänger. Die ersten Programmiererfahrungen sammelte er in den 80er-Jahren mit dem Commodore VC20. Auch Assemblerprogrammierung auf dem 8088-Prozessor ist ihm nicht fremd. Er kann auf über 30 Jahre Elektronikentwicklung an der Uni Regensburg zurückblicken. Dort war er im Bereich Elektronik- und Softwareentwicklung tätig. Mit der eigenen SMD-Fertigung setzt er auch Elektronikprojekte von Kunden um. Der Spaß an Elekt-ronik und Programmierung sowie sein Interesse an allem Neuen begleiten ihn schon sein ganzes Leben lang.
Praxishandbuch VMware vSphere 7 (5. Auflg.)
Leitfaden für Installation, Konfiguration und Optimierung.Sie brauchen praxisrelevante Informationen zur technischen Realisierung einer virtualisierten Infrastruktur mittels vSphere 7? Dann halten Sie mit dem »Praxishandbuch VMware vSphere 7.0« genau das richtige Buch in Ihren Händen. In diesem Handbuch finden Sie komprimiert alles, was Sie über Virtualisierung im Allgemeinen und vSphere 7 im Speziellen wissen müssen – samt unzähligen Tipps und Tricks aus der Praxis, Warnungen und Hinweisen zu angrenzenden Technologien.Schritt für Schritt zur optimalen virtualisierten UmgebungDas Buch gibt Ihnen schnell eine Übersicht über die einzelnen vSphere-Komponenten, deren Konfiguration und Optimierung. Sobald der Hypervisor (ESXi) installiert ist, können die ersten virtuellen Maschinen von Grund auf richtig eingerichtet und optimiert werden.Dann erfahren Sie, wie Sie Ihr Netzwerk am besten konfigurieren müssen und die ESXi Server an gemeinsamen Speicher anbinden. Was die Funktion Hostprofile, der VMware Lifecycle Manager oder der VMware Converter für Sie tun können, fehlt genauso wenig wie der Einsatz von vApps und Templates. Und auch wenn die vSphere-Umgebung steht, bleibt immer etwas zu tun: Backups und Sicherheitsstrategien (am Beispiel von Veeam Backup & Replication), die geschickte Verwaltung der Ressourcen und eine kontinuierliche Optimierung des laufenden Betriebs lassen sich mit den richtigen Werkzeugen und Konzepten besser in die Tat umsetzen. Auch die Kommandozeile und PowerCLI kommen nicht zu kurz.Aktualisierte fünfte AuflageDie fünfte Auflage wurde komplett auf VMware vSphere 7 aktualisiert. Zusätzlich aufgenommen wurden die Neuerungen von vSphere 7, z.B. vSAN, virtuelle Volumes, der HTML5-Client und die neue vSphere Appliance auf Photon Linux Basis. Weiterhin beinhaltet die fünfte Auflage die Themen Upgrade von einer Vorversion, NFS Storage unter Linux erstellen, Alarme, Hostprofile (erweitert), Troubleshooting (erweitert) und eine bestmögliche Netzwerkkonfiguration.