Software
Fullstack-Entwicklung mit SAP
Erfahren Sie, was Sie brauchen, um eigene Apps in der Fullstack-Entwicklung zu erstellen. Erfahren Sie, wie OData und Core Data Services (CDS) im Backend mit SAP Fiori, SAPUI5 und TypeScript im Frontend zusammenspielen und lernen Sie bewährte Tools kennen. Ob moderne oder ältere Landschaften: Mit diesem Buch meistern Sie die Fullstack-Entwicklung. Aus dem Inhalt: SAPUI5SAP Fiori ElementsOData V4 und OData V2Core Data Services (CDS)TypeScriptSAP Cloud Application Programming ModelABAP RESTful Application Programming ModelSAP Gateway Service BuilderEntwicklung von BenutzeroberflächenFlexible Programming ModelErweiterbarkeit und Bereitstellung Einleitung ... 17 Einführung ... 25 TEIL I. Einführung ... 25 1. Einführung in die Fullstack-Entwicklung ... 27 1.1 ... Was ist ein Fullstack-Entwickler? ... 28 1.2 ... SAP-Programmiermodelle ... 33 1.3 ... HTTP-Grundlagen ... 52 1.4 ... Zusammenfassung ... 56 2. Einführung in SAPUI5 und SAP Fiori ... 57 2.1 ... SAPUI5 versus SAP Fiori ... 57 2.2 ... SAP Fiori Launchpad ... 67 2.3 ... SAP Fiori Design Guidelines ... 73 2.4 ... Entwicklungswerkzeuge ... 74 2.5 ... Zusammenfassung ... 81 3. Einführung in OData ... 83 3.1 ... Einführung ... 84 3.2 ... OData-Services entwickeln ... 102 3.3 ... OData testen ... 116 3.4 ... Zusammenfassung ... 131 4. Einführung in CDS ... 133 4.1 ... Entwicklung von Core Data Services ... 134 4.2 ... Assoziationen und Navigationseigenschaften ... 146 4.3 ... CDS-View-Erweiterung ... 150 4.4 ... Berechtigungen ... 153 4.5 ... Zusammenfassung ... 157 5. Einführung in TypeScript ... 159 5.1 ... TypeScript-Grundlagen ... 159 5.2 ... TypeScript der nächsten Generation ... 165 5.3 ... Klassen und Interfaces ... 174 5.4 ... Generics ... 182 5.5 ... Modulentwicklung ... 188 5.6 ... Zusammenfassung ... 190 TEIL II. Entwicklung ... 191 6. Entwicklung von OData-V4-Services mit dem ABAP RESTful Application Programming Model (Managed Scenario) ... 193 6.1 ... Entwicklung von Business-Objekten ... 194 6.2 ... Aktionen ... 224 6.3 ... Erweiterte Funktionen ... 228 6.4 ... Berechtigungsprüfung ... 237 6.5 ... Verschachtelte Business-Objekte ... 240 6.6 ... Zusammenfassung ... 242 7. Entwicklung von OData-V4-Services mit dem SAP Cloud Application Programming Model ... 243 7.1 ... Domänenmodellierung ... 244 7.2 ... Service-Bereitstellung ... 259 7.3 ... Aufsetzen einer SAP-Cloud-Application-Programming-Model-Anwendung ... 267 7.4 ... Autorisierungsprüfungen ... 281 7.5 ... Zusammenfassung ... 283 8. Entwicklung von OData-V2-Services mit dem SAP Gateway Service Builder ... 285 8.1 ... Servicemodellierung in der Transaktion SEGW ... 286 8.2 ... Create, Read, Update, Delete und Query ... 299 8.3 ... SADL-basierte OData-Services ... 328 8.4 ... Zusammenfassung ... 336 9. Entwicklung von SAPUI5-Freestyle-Anwendungen ... 337 9.1 ... SAPUI5 (Basic-)Projekt anlegen ... 339 9.2 ... View aufbauen und UI-Komponenten verwenden ... 350 9.3 ... Applikationslogik, Formatter und Event Handler implementieren ... 362 9.4 ... Datenbindung ... 367 9.5 ... Navigation und Routing ... 386 9.6 ... Mehrsprachigkeit/Internationalization (i18n) ... 396 9.7 ... Deployment ... 398 9.8 ... Zusammenfassung ... 403 10. Entwicklung von SAPUI5-Freestyle-Anwendungen mit OData-V4-Services ... 405 10.1 ... Projekt anlegen ... 407 10.2 ... OData-Model-V4 ... 412 10.3 ... Startseite implementieren ... 425 10.4 ... Navigation einbauen ... 432 10.5 ... Detailseite implementieren ... 434 10.6 ... Fragmente ... 435 10.7 ... SAPUI5-Projekte von einem Git Repository klonen ... 447 10.8 ... Zusammenfassung ... 450 11. Entwicklung von SAPUI5-Freestyle-Anwendungen mit OData-V2-Services ... 453 11.1 ... Projekt anlegen ... 455 11.2 ... OData-Model-V2 ... 460 11.3 ... Startseite implementieren ... 472 11.4 ... Navigation einbauen ... 481 11.5 ... Detailseite implementieren ... 484 11.6 ... Fragmente ... 488 11.7 ... SAPUI5-Projekte von einem Git Repository klonen ... 500 11.8 ... Zusammenfassung ... 503 12. Entwicklung von Benutzeroberflächen mit SAP Fiori Elements ... 505 12.1 ... List Report ... 506 12.2 ... Object Page ... 514 12.3 ... Overview Page ... 527 12.4 ... Generische Annotationen ... 540 12.5 ... Zusammenfassung ... 543 13. Entwicklung von Benutzeroberflächen mit dem Flexible Programming Model ... 545 13.1 ... Einleitung ... 545 13.2 ... Programming Model Explorer ... 546 13.3 ... Building Blocks ... 553 13.4 ... Implementieren des Flexible Programming Model ... 561 13.5 ... Zusammenfassung ... 579 TEIL III. Fortgeschrittene Themen ... 581 14. Datei-Upload ... 583 14.1 ... Media Entitys ... 583 14.2 ... OData V2 ... 584 14.3 ... OData V4 ... 597 14.4 ... Zusammenfassung ... 600 15. Formularvalidierung und Error Handling ... 601 15.1 ... Formularvalidierung ... 601 15.2 ... Fehlerbehandlung ... 619 15.3 ... Zusammenfassung ... 626 16. Entity Tags und Soft State ... 627 16.1 ... Soft-State-Aktivierung ... 627 16.2 ... ETags ... 631 16.3 ... Zusammenfassung ... 633 17. Erweiterbarkeit ... 635 17.1 ... Adaptation Projects ... 635 17.2 ... Key-User-Erweiterbarkeit ... 647 17.3 ... Zusammenfassung ... 653 18. Bereitstellung ... 655 18.1 ... Continuous Integration, Continuous Delivery und Continuous Deployment ... 656 18.2 ... Bereitstellung in SAP S/4HANA ... 672 18.3 ... Bereitstellung in der SAP Business Technology Platform ... 676 18.4 ... Zusammenfassung ... 680 Das Autorenteam ... 681 Index ... 683
Let's code Lua!
Entdecke das Programmieren mit Lua! In diesem Buch lernst du spielerisch die Grundlagen der Programmierung und erschaffst dabei deine eigenen Games, ganz ohne Vorkenntnisse. Die Programmiersprache Lua ist ideal für Einsteiger, da sie leicht zu lernen ist und schnelle Erfolgserlebnisse bring. So programmierst du Schritt für Schritt unterhaltsame textbasierte Minispiele und tauchst ein in die spannende Fantasywelt des jungen Zauberers Marvin. Von einem Quiz über interaktive Geschichten bis zu einem 2D Actionspiel in der »Cave of Doom«. Spiel für Spiel eignest du dir die Grundlagen der Programmierung an – wie Variablen, Schleifen und Funktionen. Dieses Buch bringt dir alles bei, was du brauchst, um eigene Spielideen in coole Games zu verwandeln! Aus dem Inhalt: Der spielerische Einstieg in die ProgrammierungHow to Code: die Grundlagen lernen mit LuaSchritt für Schritt zum ersten eigenen GameVariablen und Ausdrücke, Arrays und FunktionenQuiz, interaktive Geschichten, Monster bekämpfen!Spiel für Spiel dazulernenEinführung in Löve2DSpiele mit Grafik, Sound und InputHier kommt alles zusammen: die Cave of Doom Vorwort ... 15 TEIL I. Reisevorbereitungen ... 19 1. Eine (sehr) kurze Geschichte der Programmierung ... 21 2. Richte deine Entwicklungsumgebung ein ... 25 Der Lua-Interpreter ... 25 Notepad für Coder ... 29 3. Hacker's Delight: das Terminal ... 31 Ordner und dir ... 31 Ordner wechsel dich! ... 33 Ein Ordner für unseren Code ... 33 Dein erstes Programm ... 34 Herzlichen Glückwunsch! ... 35 TEIL II. Reise nach Lua ... 37 4. Daten, Daten, Daten ... 39 Wie sehen Lua-Programme aus? ... 39 Kommentare ... 40 Variablen und Ausdrücke ... 41 Variablennamen ... 43 Mehrfachdeklaration und -zuweisung ... 44 Zahlen ... 45 Strings ... 48 Ein Datentyp für ... nichts ... 51 Zusammenfassung ... 51 Game: Marvin und der Mond ... 52 5. Der Computer lernt zuhören ... 55 Eingabe erwartet ... 55 Mehr Kontrolle über die Ausgabe ... 56 Escape-Sequenzen ... 56 Lua hilft gern ... 58 Fehlermeldungen ... 59 Zusammenfassung ... 60 Game: Der Abschied ... 61 6. Kleine Helfer für den Programmierer ... 63 Wie rufe ich eine Funktion auf? ... 63 Ein kleiner Spaziergang durch die Bibliothek ... 65 Zusammen stark ... 69 Zusammenfassung ... 70 Game: Marvin auf Reisen ... 71 7. Entscheidungen treffen ... 73 Wenn ja, dann Schwert ... 73 Ansonsten was? ... 75 Viele Bedingungen ... 75 Codeblöcke und die Lebensdauer von Variablen ... 77 Zur Formatierung ... 80 Zusammenfassung ... 80 Game: Ein Höhlenabenteuer ... 81 8. Rechnen mit Wahrheit ... 85 Wann erhältst du einen Boolean? ... 85 Und, oder, nicht? ... 87 Kompliziertere Bedingungen ... 88 Sind auch andere Ausdrücke als Bedingungen erlaubt? ... 89 Zusammenfassung ... 90 Game: Feuer, Wasser, Eis ... 91 9. Ich wiederhole mich sehr gern ... 97 while und repeat ... 97 Endlosschleifen und break ... 99 Die for-Schleife ... 100 Zusammenfassung ... 102 Game: Markt der Magier ... 103 10. Neue Helfer rekrutieren ... 111 Eigene Funktionen definieren ... 112 Call by Value ... 114 Funktionen und ihre Variablen ... 115 Eine Funktion für Zufallsnamen ... 116 Zahlen, Strings, Booleans ... und Funktionen? ... 117 Zusammenfassung ... 118 Game: Die Zauberschule ... 119 11. Daten am laufenden Band ... 127 Arrays und Indizes ... 127 Arrays wachsen und schrumpfen lassen ... 128 Das Array und die for-Schleife ... 130 Zauberhafter Umgang mit Arrays ... 131 Mehrdimensionale Arrays ... 134 Zusammenfassung ... 137 Game: Der Keller ... 138 12. Ein Held ist keine Zahl ... 145 Vom Array zur Table ... 145 Der Schlüssel zum Verständnis ... 146 Tables erweitern ... 147 Arrays sind auch nur Tables ... 148 Eine Table, zwei Variablen ... 149 for-Schleife revisited ... 150 Objektorientierte Programmierung ... 151 Ein Objekt für Ork-Krieger ... 152 Ork-Krieger haben ihre Methoden ... 153 Eine Fabrik für Charaktere ... 156 Meister aller Klassen ... 157 Charakter ist nicht gleich Charakter! ... 159 Zusammenfassung ... 162 Game: Die Rückkehr ... 163 13. Codemonster in Stücke schneiden ... 173 Unser erstes eigenes Modul ... 173 Module und die Hauptdatei ... 175 Variablen und Konstanten in Modulen ... 176 Module, Module, Module ... 178 Zusammenfassung ... 179 Game: Cave of Doom ... 180 14. Herzlichen Glückwunsch! ... 201 Epilog ... 202 TEIL III. Aufbruch in eine neue Welt ... 203 15. What is Löve? ... 205 Was ist ein Framework, und wozu brauchen wir es? ... 205 Installation ... 206 Ein kleiner Überblick über Löve ... 208 Zusammenfassung ... 215 16. Bewegung auf Tastendruck ... 217 Einrichten des Projekts ... 217 Wir laden das Spiel in Löve ... 218 Bei jedem Tastendruck eine neue Runde ... 219 Eine Löve-Anwendung beenden ... 222 Eine Hauptschleife, viele Zustände ... 222 Zusammenfassung ... 225 17. Cave of Doom wird bunt ... 227 Hübsche Kacheln für die Höhle ... 227 Charaktere und Animation ... 239 Textausgabe ... 249 Der Vollbildmodus ... 259 Zusammenfassung ... 259 18. Es ist so still im Dungeon ... ... 261 Sounds laden und abspielen ... 261 Spiel denselben Song noch mal! ... 265 Auch Sounds können Schlange stehen ... 267 Zusammenfassung ... 276 19. Zum Abschluss ... 277 Anhang ... 279 A ... Wie geht es von hier weiter? ... 279 B ... Der komplette Code für Cave of Doom ... 285 C ... Die Lua-Standardbibliothek ... 307 Index ... 313
Let's code!
Willkommen in TurtleCity! Du hast nicht nur ein Buch aufgeschlagen, du bist auch in Minecraft unterwegs und lernst dort Programmieren: Eine Robo-Schildkröte folgt genau deinen Befehlen. Du lässt sie verrückte Sachen bauen, nach Schätzen graben, und zusammen geht ihr so manche Challenge an. So lernst du das ABC der Programmierung von Schleifen über Variablen bis zu Unterprogrammen fast wie nebenbei. Lasse dich von den Aufgaben und Projekten überraschen! Sie haben in Workshops schon hunderte Kinder und Jugendliche begeistert und sind entsprechend erprobt. Programmieren zu lernen, fördert das logische Denken, Hartnäckigkeit und Kreativität. Aber vor allem – und das gilt auch für Große – macht es Spaß! Für Kinder, Jugendliche und alle, die Lust haben, ab 8 Jahren. Die Minecraft-Erweiterung ist kostenlos, einfach zu installieren und für Windows, Linux sowie macOS geeignet. Mit Kapiteln für Eltern und Lehrkräfte. Inklusive dem neuen ComputerCraft-Mod und wichtigen Lua-Grundlagen! Aus dem Inhalt: Installation nach AnleitungDie Schritte der Schildkröte fernsteuernWenn – dann: Bedingungen einbauenEinmal, zweimal, hundert Mal ... mit wenigen Befehlen viel erreichenImmer wieder, bis ... Schleifen programmierenInteraktion mit Redstone-SchaltungenBaumfäller, Schürf-Roboter und andere nützliche Helfer programmierenProgramme speichern und wieder ladenDer neue ComputerCraft-Mod: Steuere die Schildkröten mit LuaWeiterführende Infos zur ProgrammierungKapitel für Eltern und für Lehrkräfte Vorwort ... 11 Einführung ... 13 »ComputerCraftEdu« -- Basis für die Programmierung in Minecraft ... 14 Minetest -- Open Source, inspiriert von Minecraft ... 16 Installation & Vorbereitung ... 19 Vorbereitung und Installation ... 20 Erster Start ... 23 Level 1: Dein neues Haustier: Robokröti! ... 25 Minecraft starten und die Abenteuerwelt laden ... 25 Grundausstattung: Gibt es beim Butler ... 28 Robokröti muss an die frische Luft ... 29 Die Kröte mit der Fernbedienung steuern ... 31 Lauf los, Robokröti! ... 31 Deine Challenge: Finde den mysteriösen Gegenstand! ... 34 Lösung: der mysteriöse Gegenstand ... 35 Style mich! ... 35 Level 2: Wie komme ich hier nur wieder raus? Oder: Das erste Programm! ... 37 Dein erstes Programm ... 40 Neues Programm erstellen ... 40 Challenge: Schreibe ein Labyrinth-Programm! ... 41 Tipps & Tricks ... 42 Level 3: Lass die Kröten tanzen! Oder: Schleifen ... 45 Challenge 1: Wie viele Schildkröten passen gleichzeitig in dein Labyrinth? ... 51 Gemeinsame Disko -- ein Ausflug nach TurtleCity ... 53 Smaragdmäher! Oder: verschachtelte Schleifen ... 53 Lösung -- die ersten beiden Reihen ... 56 Schleifen in Schleifen ... 57 Challenge 2: Alternative Mähmethode ... 59 Level 4: Ich kann sehen! Oder: Ich bin zu faul zum Selberzählen ... 61 Das unbekannte Labyrinth -- Automatik-Kröte. Oder: »WENN ... DANN« ... 68 Challenge 1: Erkenne das Ende! ... 73 Challenge 2: Unterirdisch! ... 75 Level 5: Wir lassen bauen! ... 77 Bau mir was, Schildkröte! ... 77 Bau gleich mal richtig viel, Schildkröte! ... 80 Challenge: Todessprung-Treppenhaus ... 82 Lösung: Todessprung-Challenge ... 82 Baue bis zu den Wolken: Auswahl des richtigen Slots/Materials ... 83 Kann man das essen? Oder: Programme speichern und teilen ... 85 Ich brauche mehr Platz! Oder: Unterprogramme ... 91 Dein erstes Unterprogramm ... 91 Unterprogramme praktisch einsetzen: Schreibe deinen Namen! ... 93 So geht's: dein Name in Blöcken gebaut ... 95 Level 6: Binärer Alptraum! Oder: wahr oder falsch? ... 99 Variablen und Unterprogramme ... 103 Ich kann zählen! Oder: der schiefe Turm von Krötenburg ... 104 Variablen-Basics ... 104 Challenge: Schiefer Turm mit Variablen ... 107 Level 7: Übersinnliche Fähigkeiten: Redstone ... 109 Redstone erkennen und aktivieren ... 109 Challenge: Redstone erkennen und weitersagen ... 113 Weitere Redstone-Experimente ... 115 Level 8: End-Boss: Baumfäller-Roboter! ... 117 Teil 1: Finde Bäume! Der Baumfäller-Roboter ... 117 Teil 2: Ernte den Baum! ... 125 Wie fällt man einen Baum? ... 126 Challenge 1: Bau alles zusammen und teste es! ... 130 Das komplette Programm -- Teil 1 und 2 zusammen ... 130 Challenge 2: Ein noch besseres Baumfäller-Programm ... 132 Lösung: die bessere Baumfäller-Schildkröte ... 133 Challenge 3: Roboter in der Wildnis ... 134 TurtleCity ... 137 Was ist TurtleCity? ... 137 Zugang zu TurtleCity ... 138 Starthilfe -- wie bekomme ich alles, was ich brauche? ... 139 Spielmodus -- Abenteuer- und Überlebensmodus ... 140 Bauplätze -- eigene Grundstücke sichern ... 141 Kaufen, kaufen, kaufen! ... 142 Autobahnen -- schneller ist besser! ... 144 Du hast Post -- Briefe und Gegenstände verschicken ... 146 Übersicht: Karte von TurtleCity ... 147 Erstelle deine eigene Mod -- mit MCreator ... 149 MCreator installieren ... 149 Erstelle einen Arbeitsbereich ... 154 Erstelle den neuen Block ... 156 Drop-Eigenschaft -- was springt für mich dabei heraus? ... 160 Ausprobieren! ... 161 Deine Challenge: Droppe mehr als einen Dia! ... 164 Das Zufallsprogramm ... 164 Lust auf mehr? ... 169 Wie geht's weiter? ... 171 Lua -- die Sprache hinter den Blöcken ... 171 Noch mehr Schildkröten und Computer gefällig? ... 172 Danke und viel Spaß! ... 174 Weitere Infos, Hilfe, Fragen & Antworten ... 175 Welten verwalten, sichern & wiederherstellen ... 175 Bauen AFK (away from keyboard) ... 178 Fehler & Lösungen ... 179 Mods allgemein ... 180 Kontakt zum Autor, Updates und mehr ... 181 Tipps und Tricks für Eltern, Pädagogen & Lehrkräfte ... 183 Einsatz von Minecraft und der Schildkröte im Unterricht ... 184 Das KidsLab Mod-Pack ... 187 Minetest im Unterricht ... 188 Index ... 189
Programmieren lernen mit Java
Programmieren lernen leicht gemacht: Dieses Buch führt Sie auf besonders verständliche Weise in die Programmierung mit Java ein. Schritt für Schritt erfahren Sie alles, was Sie wissen müssen: angefangen bei der Installation und den absoluten Java-Basics bis zur objektorientierten Programmierung. Auch die Entwicklung von Benutzeroberflächen und die Arbeit mit Dateien wird ausführlich erläutert.Am Ende binden Sie sogar eine Datenbank ein.Anschauliche Beispiele stellen sicher, dass Sie den Stoff gut nachvollziehen können. Viele Übungsaufgaben mit Musterlösungen helfen Ihnen, Ihre neuen Kenntnisse zu festigen.So ausgerüstet, werden Ihnen Ihre ersten eigenen Java-Programme sicher gelingen!Aus dem Inhalt: Grundlagen Java und Eclipse Variablen und ihre Reichweite Bedingungen, Schleifen & Co. Die Welt der Objekte Klassen, Objekte, Methoden Zugriffsschutz richtig setzen Fehler und Ausnahmen Grafische Benutzeroberflächen Fenster, Schaltflächen & Co. GUI-Komponenten mit dem WindowBuilder Animationen erstellen Dateien und Datenbanken Lese- und Schreibzugriff Datenbanken mit JDBC Datensätze präsentieren
Einstieg in SQL
Den leichten Einstieg in SQL und die Modellierung von Daten finden Sie hier! Schritt für Schritt führt Sie Michael Laube in diesem Leitfaden durch die SQL-Kommandos und macht Sie mit allen wichtigen Befehlen vertraut. Auf diesem Fundament aufbauend lernen Sie, wie Sie Ihre Daten richtig modellieren, verknüpfen und bearbeiten. Mithilfe dieser Anleitungen wird die Datenmodellierung mit SQL einfach und unkompliziert: So schaffen Sie Ordnung und sorgen für performante Abfragen. Aus dem Inhalt: Grundlagen kennenlernen und verstehenGrundfunktionen der TabellenabfrageZeilen einfügen, ändern und löschen (INSERT, UPDATE und DELETE)Tabellen mit CREATE TABLE anlegenMengenoperationenDatenbanken modellierenDatenmodelle optimierenDatenmodelle in Tabellen überführenBeziehungen zwischen Tabellen: JOINsTransaktionenSkalarfunktionenBedingungslogikMit Zeit und Datum arbeitenSpaltenwerte mit GROUP BY gruppierenUnterabfragenVIEWS: Abfragen in virtuellen Tabellen speichernPerformance optimieren 1. Grundlagen kennenlernen und verstehen ... 21 1.1 ... Die Tabelle als zentrales Element ... 21 1.2 ... Eine kleine Historie von SQL ... 23 1.3 ... Datenbanksysteme ... 24 1.4 ... SQL -- ein Standard und seine Umsetzung ... 25 1.5 ... Zu diesem Buch ... 27 1.6 ... MySQL unter Windows installieren ... 28 1.7 ... Die MySQL-Übungsdatenbank anlegen ... 36 1.8 ... Eine erste Abfrage an die Datenbank senden ... 39 1.9 ... Kommentarfunktion ... 42 2. Los geht's: Die Grundfunktionen der Tabellenabfrage (SELECT) ... 47 2.1 ... Mit einer SELECT-Anweisung Tabellen abfragen ... 47 2.2 ... Zeilen in einer Abfrage mit WHERE filtern ... 51 2.3 ... Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen ... 91 2.4 ... Ergebniszeilen einer SELECT-Anweisung einschränken ... 109 2.5 ... Datensätze sortiert abfragen ... 111 2.6 ... Konstanten in die Spaltenauswahlliste aufnehmen ... 124 2.7 ... Spalten einen Alias zuordnen ... 127 2.8 ... Gleiche Ergebniszeilen ausschließen (DISTINCT) ... 131 3. Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE) ... 135 3.1 ... Zeilen mit einer INSERT-Anweisung einfügen ... 135 3.2 ... Zeilen mit einer UPDATE-Anweisung ändern ... 145 3.3 ... Zeilen mit einer DELETE-Anweisung löschen ... 156 3.4 ... Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen ... 161 4. Tabellen anlegen (CREATE TABLE) ... 165 4.1 ... Datentypen ... 165 4.2 ... Datentypen umwandeln ... 179 4.3 ... Explizite und implizite Typkonvertierung ... 180 4.4 ... Einfache Tabellen mit CREATE TABLE erstellen ... 187 4.5 ... Spalten Einschränkungen (CONSTRAINTS) zuordnen ... 199 4.6 ... Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen ... 214 5. Mengenoperationen anwenden ... 229 5.1 ... Mengenoperationen auf Ergebnistabellen anwenden ... 229 5.2 ... Eine Vereinigungsmenge bilden (UNION) ... 236 5.3 ... Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) ... 245 5.4 ... Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT) ... 250 5.5 ... Mengenoperationen in Kombination mit einer WHERE-Klausel verwenden ... 253 5.6 ... Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel ... 255 6. Benutzer, Rollen und ihre Berechtigungen ... 259 6.1 ... Benutzer anlegen (CREATE USER) ... 260 6.2 ... Benutzer entfernen ... 261 6.3 ... Eine Verbindung für einen Datenbankbenutzer erstellen ... 262 6.4 ... Berechtigungen verwalten ... 268 6.5 ... Mit Rollen Berechtigungen zuordnen ... 270 6.6 ... Übungen ... 273 7. Datenbanken modellieren ... 279 7.1 ... Anforderungskatalog ... 279 7.2 ... Entitäten identifizieren und modellhaft abbilden ... 280 7.3 ... Beziehungen zwischen Entitäten festlegen ... 287 7.4 ... Datenmodelle in der UML-Notation darstellen ... 302 7.5 ... Übungen ... 305 8. Datenmodelle optimieren (Normalisierung) ... 309 8.1 ... Redundanzen erkennen ... 309 8.2 ... Die 1. Normalform anwenden ... 312 8.3 ... Die 2. Normalform anwenden ... 314 8.4 ... Die 3. Normalform anwenden ... 316 8.5 ... Denormalisierung ... 318 8.6 ... Übungen ... 320 9. Datenmodelle in Tabellen überführen ... 323 9.1 ... Die Ausbildungsdatenbank anlegen ... 323 9.2 ... Tabellen mit Beziehungen zu anderen Tabellen erstellen ... 325 9.3 ... Übung ... 332 9.4 ... Die referenzielle Integrität verstehen ... 334 10. Operationen auf Tabellen in Beziehungen anwenden ... 341 10.1 ... Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen ... 341 10.2 ... Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen ... 351 10.3 ... Beziehungen (Schlüsselbeziehungen) ändern ... 388 10.4 ... Beziehungen (Schlüsselbeziehungen) aufheben oder löschen ... 399 11. Transaktionen ... 411 11.1 ... Forderungen an relationale Datenbanksysteme ... 412 11.2 ... Transaktionen verstehen ... 414 11.3 ... Übungen ... 421 12. Tabellenstrukturen verändern ... 423 12.1 ... Eine Tabelle umbenennen ... 423 12.2 ... Spalten einer Tabelle ändern ... 425 12.3 ... Spalten hinzufügen und entfernen ... 438 12.4 ... Beziehungen zwischen Tabellen herstellen und entfernen ... 440 12.5 ... Übungen ... 443 13. Mit SQL rechnen ... 451 13.1 ... Spaltenwerte addieren ... 452 13.2 ... Spaltenwerte subtrahieren ... 454 13.3 ... Spaltenwerte multiplizieren ... 455 13.4 ... Spaltenwerte dividieren ... 455 13.5 ... Den Restwert einer Division von Spaltenwerten berechnen ... 456 13.6 ... Nach dem Ergebnis einer Berechnung filtern ... 457 13.7 ... Nach dem Ergebnis einer Berechnung sortieren lassen ... 458 13.8 ... Übungen ... 459 14. Skalarfunktionen anwenden ... 463 14.1 ... Funktionen für Textwerte ... 464 14.2 ... Funktionen für Zahlenwerte ... 476 14.3 ... Verschachtelte Funktionsaufrufe ... 482 15. Bedingungslogik ... 487 15.1 ... Die CASE-Klausel ... 487 15.2 ... Bedingungslogik in einer Spaltenauswahlliste einer SELECT-Anweisung anwenden ... 488 15.3 ... Bedingungslogik in einer ORDER BY-Klausel anwenden ... 490 15.4 ... Übungen ... 492 16. Mit Zeit und Datum arbeiten ... 495 16.1 ... Datumsformate ... 496 16.2 ... Skalarfunktionen für Zeit- und Datumsangaben in SQL nutzen ... 496 16.3 ... Zeit- und Datumsangaben formatieren ... 499 16.4 ... Datumsangaben extrahieren (EXTRACT) ... 515 16.5 ... Mit Datumsangaben rechnen ... 520 17. Spaltenwerte gruppieren (GROUP BY) ... 529 17.1 ... Die Aggregatfunktion COUNT anwenden ... 530 17.2 ... Die Aggregatfunktion SUM anwenden ... 535 17.3 ... Die Aggregatfunktion AVG anwenden ... 537 17.4 ... Die Aggregatfunktion MAX anwenden ... 539 17.5 ... NULL-Werte berücksichtigen ... 541 17.6 ... Nach aggregierten Werten einer Gruppierung filtern (HAVING) ... 545 17.7 ... Nach zwei oder mehr Spalten gruppieren ... 548 18. Mächtiges Werkzeug: Die Unterabfragen (Subqueries) ... 553 18.1 ... Unterabfragen, die in Korrelation zueinander stehen ... 554 18.2 ... Unterabfragen, die nicht in Korrelation zueinander stehen ... 560 18.3 ... Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL anwenden ... 566 18.4 ... Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen (EXISTS) ... 571 19. Views: Abfragen in virtuellen Tabellen speichern ... 575 19.1 ... Einfache Views anlegen ... 576 19.2 ... Views und ORDER BY ... 581 19.3 ... INSERT, UPDATE und DELETE auf Views anwenden ... 584 19.4 ... Views entfernen oder ersetzen ... 596 20. Abfragen mit einem Index optimieren ... 599 20.1 ... Einführung ... 599 20.2 ... Syntax: Index erstellen ... 602 20.3 ... Eine Tabelle mit vielen Zeilen generieren ... 602 20.4 ... Einen Index für eine Tabelle anlegen ... 604 20.5 ... Einen Index über mehrere Spalten anlegen ... 606 20.6 ... Den Index einer Tabelle löschen ... 609 20.7 ... Fremdschlüsselspalten indexieren ... 609 20.8 ... Übungen ... 613 21. Skalarfunktionen entwickeln ... 617 21.1 ... Funktionen mit einem Rückgabewert erstellen ... 618 21.2 ... Funktionen mit Parameter entwickeln ... 623 21.3 ... Funktionen entfernen ... 627 21.4 ... Übungen ... 628 22. Prozeduren entwickeln ... 631 22.1 ... Prozeduren ausführen ... 631 22.2 ... Prozeduren anlegen ... 632 22.3 ... Übung ... 636 Index ... 639
Schrödinger programmiert C#
Schrödinger ist unser Mann fürs Programmieren. Er kann schon was, aber noch nicht C#. Zum Glück hat er einen richtigen Profi an seiner Seite, der auf jede Frage eine Antwort weiß. Und weil Schrödinger zwar schlau ist, aber auch ein wenig ungeduldig, gibt es nach der nötigen Theorie immer sofort etwas zu tun. Mit viel Code und Beispielen, die du nicht wieder vergisst. Ob es ums Einparken ohne Crash geht oder um Schuhschränke, die immer größer werden: Die Übungen schafft ihr (aber nicht immer mit links), die Pausen sind verdient, und am Ende jedes Kapitels dürft ihr euch einen Spickzettel einstecken – Achievement Unlocked, Ready for Next Level. Fantastisch illustriert. Für Einsteiger, Umsteiger und Fans. Aus dem Inhalt: Operatoren, Schleifen, DatentypenKlassen und VererbungWichtige EntwurfsmusterGUI-Entwicklung mit XAMLLINQ einsetzenasync/await geschickt verwendenDateizugriffe und StreamsMultithreadingInternetzugriffMit Fehlern und Ausnahmen umgehen 1. Ein guter Start ist der halbe Sieg. Compiler und Entwicklungsumgebungen ... 25 Compiler und Compiler ... 26 Du brauchst eine IDE! ... 30 Der Spaß geht los! ... 32 Dein erstes Projekt ... 33 Theorie und Praxis ... 39 Was gelernt! ... 41 2. Ein netter Typ. Datentypen und deren Behandlung ... 43 Dieses Glas für diesen Wein ... 44 Grundlagen im Kamelreiten ... 48 Übungen für den Barkeeper ... 50 Rechnen mit Transvestiten ... 50 Alles nur Klone! ... 56 Ja oder nein? ... 57 Was gibt's zu essen? ... 58 Das ständige Hin und Her zwischen ja und nein ... 60 Gut kommentieren! ... 61 Kommentare im Einsatz ... 62 Andere für sich denken lassen ... 62 Compiler-Spiele ... 63 Viele neue Freunde ... 64 3. Alles unter Kontrolle. Bedingungen, Schleifen und Arrays ... 65 Bedingungen ... 66 In der Kürze liegt die Würze ... 69 Durch Variationen bleibt es interessant ... 70 Der Herr der Fernbedienung ... 72 Ist noch Bier da? ... 74 Switch-Expressions ... 77 Pattern-Matching ... 78 Zwillinge ... 79 Zwillinge ... 79 Ein Schuhschrank muss her ... 82 Arbeiten in den Tiefen des Schuhschranks -- von Kopf bis Fuß ... 83 Die ganze Welt ist Mathematik und aller guten Dinge sind vier ... 85 Schau's dir an mit dem Debugger ... 86 Solange du nicht fertig bist, weitermachen ... ... 87 Ich habe es mir anders überlegt ... 88 Oder mach doch weiter ... ... 89 Zurück zu den Schuhschränken ... 90 Wenn aus einem Schuhschrank eine Lagerhalle wird ... 91 Wiederholung, Wiederholung! ... 93 Code muss man auch lesen können ... 94 Jetzt kommt das coole Zeug! ... 96 Arrays verbinden ab C# 12 ... 100 Der Blick durchs Fenster ... 102 ... oder einmal alles ... 103 4. Sexy Unterwäsche -- von kleinen Teilen bis gar nichts. Strings, Characters und Nullable Types ... 105 Zeichenketten -- Strings ... 106 Kleine Teile -- einzelne Zeichen ... 107 Kleine und große Teile ... 108 Einfacher und schneller ... 109 Noch einfacher: Variablen im Text verwenden ... 112 Etwas Besonderes sollte es sein ... 113 Verdrehte Welt ... 114 Sein oder nicht sein? ... 117 Verweise auf nichts ... 120 Nichts im Einsatz ... 122 Damit bei so viel null nichts verloren geht ... 123 5. Eine endliche Geschichte. Enumerationen ... 125 Rot -- Gelb -- Grün ... 126 Tageweise ... 128 Tell me why I don't like mondays ... ... 131 WoW-Völker ... 132 Eine Mischung aus Zahlen und Arrays ... 134 Stimmungsbilder in der Praxis ... 137 Haltet das Banner hoch! ... 140 Auf wenige Sätze heruntergebrochen ... 143 6. Teile und herrsche. Methoden ... 145 Teilen statt Kopieren ... 146 Originale und überteuerte Kopien ... 149 Eins ist nicht genug ... 153 Wenn sich nichts bewegt und alles statisch ist ... 155 Ich hätte gerne das Original! ... 155 Sommerschlussverkauf -- alles muss raus ... 156 Tauschgeschäfte, die nicht funktionieren ... 158 TryParse und Enums ... 159 Zum Schluss noch ganz kurz ... ... 161 Ich will das ganz anders oder auch gar nicht -- Methoden überladen ... 163 Das Ganze noch einmal umgerührt ... 166 Ein knurrender Magen spornt bestimmt zu Höchstleistungen an ... 168 Originale zurücksenden ... 169 Maximale Originale ... 171 Eine kleine Zusammenfassung für dich ... 172 7. Klassengesellschaft. Objekte, Eigenschaften und Sichtbarkeiten ... 173 Mein Alter, meine Augenfarbe, mein Geburtsdatum ... 174 Eine Aufgabe für den Accessor ... 178 Ich sehe was, was du nicht siehst ... 179 Eigenschaften aufpoliert und bereit für die Bühne ... 180 Tanzen mit Elvis -- wenn keiner da ist, ist keiner da ... 182 Geheimniskrämerei und Kontrollfreak ... 183 Darf ich jetzt oder nicht? ... 184 Zusammen, was zusammengehört! ... 188 Zusammen und doch getrennt ... 190 Laufen, kämpfen, sterben ... 192 Vom Leben und Sterben ... 193 Geburtenkontrolle und detektivisches Talent ... 197 Mehrlingsgeburt ... 201 Partielle Klassen ... 204 Meine partiellen Daten ... 206 Gemeinsame Werte von dicken Freunden ... 207 Eigene Wertetypen ... 208 Strukturen überall ... 210 Strukturen ohne Namen ... 214 Ich habe viele Namen ... 216 Eigene Typen nochmals vom Sofa aus betrachtet ... 217 Die Nachteile der Wertetypen ausgetrickst ... 220 Gelernt ist gelernt! ... 223 8. Es wird Zeit für Übersicht! Namespaces ... 225 Eine Ordnung für die Klassen ... 226 Was ist denn nur in diesem Namespace vorhanden? ... 229 Vorhandene Systembausteine ... 231 Visual Studio findet die Namespaces für dich ... 234 Statische Klassen einbinden ... 234 Mathematik für Einsteiger ... 235 Zum Mitnehmen ... 236 9. Erben ohne Sterben. Objektorientierte Programmierung ... 237 Geisterstunde ... 238 Schleimgeister sind spezielle Geister ... 240 Fünf vor zwölf ... 242 Geister fressen, Schleimgeister fressen, Kannibalen fressen -- alles muss man einzeln machen ... 248 Enterben ... 249 Geister haben viele Gestalten ... 249 Geister, die sich nicht an die Regeln halten ... 252 Gestaltwandler unter der Lupe ... 253 Nochmals drüber nachgedacht ... 254 Hier noch ein Merkzettel ... 258 10. Abstrakte Kunst. Abstrakte Klassen und Interfaces ... 259 Abstrakte Klassen ... 260 Unverstandene Künstler ... 262 Das Meisterwerk nochmals betrachtet ... 264 Abstrakte Kunst am Prüftisch ... 265 Allgemein ist konkret genug ... 267 Fabrikarbeit ... 268 Alles unter einem Dach ... 269 Kaffee oder Tee? Oder doch lieber eine Cola? ... 270 Kaffeemaschine im Einsatz ... 272 Eine Cola bitte ... 274 Freundin vs. Chef -- Runde 1 ... 276 Bei perfekter Verwendung ... ... 277 Freundin vs. Chef -- Runde 2 ... 278 Freundin vs. Chef -- Runde 3 ... 280 Interfaces außer Rand und Band ... 281 In der Praxis: Mehr als nur Beschreibungen ... 282 Abstraktion und Interfaces auf einen Blick ... 287 11. Gleich und doch ganz anders. Records, der Star unter den eigenen Datentypen ... 289 Immutability -- die Würfel sind gefallen ... 290 Orcs, Trolle und Elfen als Klassen, Strukturen und Records ... 293 12. Airbags können Leben retten. Exceptionhandling ... 297 Mach's stabil! ... 298 Einen Versuch war es wert ... 300 Nur unter bestimmten Umständen ... 303 Fehler über Fehler ... 304 Über das Klettern auf Bäume ... 308 Klettern auf nicht vorhandene Bäume -- NullReferenceException ... 308 Auf Sträucher klettern -- FormatException ... 309 Sträucher im Sägewerk -- ArgumentException ... 310 Bezahlung ohne Ware -- ArgumentNullException ... 310 Bewusste Fehler ... 311 Selbst definierte Fehler ... 312 Fehler in freier Wildbahn ... 313 Das Matruschka-Prinzip ... 314 Alles noch einmal aufgerollt ... 316 Dein Fehler-Cheat-Sheet ... 320 13. Ein ordentliches Ablagesystem muss her. Collections und Laufzeitkomplexität ... 321 Je größer der Schuhschrank, desto länger die Suche ... 322 Komplizierte Laufschuhe ... 323 Geschwindigkeitsprognosen ... 326 Es muss nicht immer gleich quadratisch sein ... 328 Geschwindigkeitseinschätzung und Buchstabensuppe ... 330 Selbstwachsende Schuhschränke ... 334 Eine Array-Liste ... 335 Ringboxen ... 336 Listige Arrays und ihre Eigenheiten ... 337 Listige Arrays und ihre Verwendung ... 337 The Need for Speed ... 338 The Need for Speed ... 338 The Need for Speed ... 338 The Need for Speed ... 338 Es wird konkreter ... 339 Sortieren bringt Geschwindigkeit -- SortedList ... 342 Listenreiche Arbeit ... 344 Es geht noch schneller! ... 346 Im Rausch der Geschwindigkeit ... 348 Alternative Initialisierungen ... 350 Wörterbücher in der Anwendung... oder was im Regelfall schiefgeht ... 351 Von Bäumen und Ästen ... 355 Ein Verwendungsbeispiel ... 356 Alles eindeutig -- das HashSet ... 357 Schnelles Arbeiten mit Sets ... 358 Das große Bild ... 360 Der große Test, das Geheimnis und die Verwunderung ... 363 Noch einmal durchleuchtet ... 368 Dein Merkzettel rund um die Collections aus Laufzeiten ... 373 14. Allgemein konkrete Implementierungen. Generizität ... 375 Konkrete Typen müssen nicht sein ... 376 Das große Ganze ... 377 Mülltrennung leicht gemacht ... 378 Der Nächste bitte ... 381 Allgemein, aber nicht für jeden! ... 383 Immer das Gleiche und doch etwas anderes ... 385 Fabrikarbeit ... 387 Aus allgemein wird konkret ... 388 Hier kommt nicht jeder Typ rein. ... 389 Ähnlich, aber nicht gleich! ... 390 Varianzen hin oder her ... 392 Varianzen in der Praxis ... 395 WoW im Simulator ... 398 Damit's auch hängen bleibt ... 400 15. Linke Typen, auf die man sich verlassen kann. LINQ ... 401 Shoppen in WoW ... 405 Gesund oder gut essen? ... 408 Listen zusammenführen ... 409 Fix geLINQt statt handverlesen ... 416 Merkzettel ... 420 16. Blumen für die Dame. Delegaten und Ereignisse ... 421 Ein Delegat übernimmt die Arbeit ... 422 Im Strudel der Methoden ... 425 Die Butlerschule ... 428 Die Wahl des Butlers ... 431 Ereignisreiche Tage ... 432 Eine Runde für alle ... 435 Auf in die Bar! ... 436 Wiederholung, Wiederholung ... 439 Die delegierte Zusammenfassung ... 442 17. Der Standard ist nicht genug. Extension-Methoden und Lambda-Expressions ... 443 Extension-Methoden ... 444 Auf die Größe kommt es an ... 448 Erweiterungen nochmals durchschaut ... 450 Softwareentwicklung mit Lambdas ... 452 Lambda-Expressions auf Collections loslassen ... 455 Ein Ausritt auf Lamas ... 456 Filtern ... 456 Gruppieren ... 458 Verknüpfen ... 459 Gruppieren und Verknüpfen kombiniert ... 460 Left Join ... 461 VerLINQte LAMbdAS ... 463 Lamas im Schnelldurchlauf ... 466 18. Die Magie der Attribute. Arbeiten mit Attributen ... 467 Die Welt der Attribute ... 468 Die Magie erleben ... 470 Das Ablaufdatum-Attribut ... 472 Die Magie selbst erleben ... 473 Eine magische Reise in dein Selbst ... 474 In den Tiefen des Kaninchenbaus ... 477 Der Attribut-Meister erstellt eigene Attribute! ... 480 Meine Klasse, meine Zeichen ... 482 Selbstreflexion ... 484 Die Psychologie lehrt uns: Wiederholung ist wichtig! ... 488 19. Ich muss mal raus. Dateizugriff und das Internet ... 489 Daten speichern ... 490 Rundherum oder direkt rein ... 491 Rein in die Dose, Deckel drauf und fertig ... 493 Deine Geheimnisse sind bei mir nicht sicher ... 494 Das Mysterium der Dateiendungen ... 497 Das Gleiche und doch etwas anders ... 500 Das Lexikon vom Erstellen, Lesen, Schreiben, Umbenennen ... 501 Ran an die Tastatur, rein in die Dateien ... 506 Von der Sandburg zum Wolkenkratzer ... 508 Fließbandarbeit ... 512 Wenn das Fließband nicht ganz richtig läuft ... 515 Dem Fließband vorgeschalteter Fleischwolf ... 519 Nutze die Attributmagie! ... 521 X(M)L entspricht XXL ... 522 Der Größenvergleich ... 523 Die kleinste Größe -- JSON ... 524 Wir sind viele ... 525 Schru00F6dinger ... 529 Das World Wide Web. Unendliche Weiten ... 532 Deine Seite, meine Seite ... 534 Probe, Probe, Leseprobe ... 536 Punkt für Punkt fürs Hirn ... 538 20. Komm zurück, wenn du fertig bist. Asynchrone und parallele Programmierung ... 539 Zum Beispiel ein Download-Programm ... 540 Was so alles im Hintergrund laufen kann ... 547 Gemeinsam geht es schneller ... 549 Jetzt wird es etwas magisch ... 553 Wenn jeder mit anpackt, dann geht alles schneller ... 555 Rückzug bei Kriegsspielen ... 558 async/await/cancel ... 560 Unkoordinierte Koordination ... 562 Anders und doch gleich ... 567 Gemeinsam Kuchen backen ... 568 Wenn das Klo besetzt ist ... 573 Das Producer-Consumer-Problem ... 573 Dein Spickzettel ... 579 21. Nimm doch, was andere schon gemacht haben. Die Paketverwaltung NuGet ... 581 Bibliotheken für Code ... 582 Fremden Code aufspüren ... 585 Eigene NuGet-Pakete erstellen ... 588 Pakete statt Projekte ... 591 Die Welt ist schon fertig ... 592 22. Die schönen Seiten des Lebens. Einführung in XAML ... 593 Unendliche Weiten ... 594 Hinzufügen der Komponenten für MAUI-Apps in Visual Studio ... 597 Die MAUI-Architektur ... 598 Diese X-Technologien ... 600 Grundstruktur des Projekts ... 602 Ruf deine Freundin an ... 608 Layouthelferlein ... 612 Tabellen über Tabellen ... 613 Schrödingers Notizen ... 617 Das ist alles eine Stilfrage ... 631 Von der Seite in die Anwendung ... 633 Sonne, Strand und XAML ... 636 23. Models sind doch schön anzusehen. Das Model-View-ViewModel-Entwurfsmuster ... 639 Mein erstes eigenes Model ... 644 Eine Technik, sie alle zu binden! ... 648 Eine Eigenschaft für alle Infos ... 650 Wenn nur jeder wüsste, was er zu tun hätte ... 651 Los geht's! Notify-Everybody ... 654 Ein Laufsteg muss es sein! ... 657 Über Transvestiten und Bindungsprobleme ... 666 Über Bindungsprobleme und deren Lösungen ... 667 Alleine oder zu zweit? ... 668 Aus Klein mach Groß und zurück ... 669 Klein aber fein ... 670 Notizen über Models ... 673 Auf mein Kommando ... 683 Dem Zufall das Kommando überlassen ... 689 MVVM Punkt für Punkt ... 694 24. Weniger ist mehr. MVVM Community Toolkit ... 695 Programmcode generieren lassen ... 696 Lass uns mal rechnen, aber möglichst ohne Aufwand ... 701 Das solltest du trotz Automatik noch wissen ... 710 25. Funktioniert das wirklich? Unit-Testing ... 715 Das Problem: Testen kann lästig werden ... 716 Die Lösung: Unit-Tests -- Klassen, die Klassen testen ... 717 Das Testprojekt erstellen ... 720 Die Ausführung ist das A und O! ... 722 Spezielle Attribute ... 723 Unit-Tests sind nicht alles ... 723 Testgetriebene Softwareentwicklung -- oder wie du Autofahren lernst ... 724 Darfst du schon fahren? ... 725 Let's do it! ... 730 Dein Test-Merkzettel ... 731 26. Schrödingers Zukunft. Vorschau auf C# 13 und .NET9 ... 733 Schrittweise verfeinert ... 733 Params für alle ... 734 Alles erweitern! ... 735 Lange Eigenschaften gekürzt ... 739 Neuerungen in LINQ ... 740 Warten auf Godot ... 742 Index ... 743
Qt mit C++
Sie beherrschen C++ und möchten lernen, GUI-Anwendungen zu entwickeln, die sich vor aktuellen User-Experience-Ansprüchen nicht verstecken müssen? Dann sind Sie hier richtig! Lernen Sie mit dem exklusiven E-Book von Thomas Theis, moderne GUIs mit attraktiven grafischen Effekten zu erstellen – sowohl mit den C++-Klassen von Qt Widgets als auch deklarativ mit QML und JavaScript in Qt Quick. Von der Installation über die ersten Datenbank-Projekte bis zum Einsatz wichtiger Bibliotheken lernen Sie mit vielen Beispielen, wie es geht, und starten direkt durch. Mit Übungen und Lösungen zur Vertiefung. Aus dem Inhalt: InstallationGUI-Anwendungen mit dem Qt CreatorWidgets, Layouts, Menüs, Dialogfelder und mehrDatenbank-AnbindungenIntuitive Gestaltung mit dem Qt DesignerQt Quick mit QML und JavaScriptListen, States, Transitionen und AnimationenPraxistipps und Übungen 1. Einführung ... 9 1.1 ... Inhalt dieses Buchs ... 9 1.2 ... Beispiele und Übungsaufgaben ... 10 2. Qt Widgets, Steuerelemente ... 11 2.1 ... Ein- und Ausgabe von Text ... 11 2.2 ... Auswahl über Schalter ... 24 2.3 ... Auswahl über Optionen ... 27 2.4 ... Auswahl aus einer Liste ... 31 2.5 ... Ein- und Ausgabe von Zahlen ... 36 2.6 ... Übungsaufgabe ... 42 3. Qt Designer, weitere Möglichkeiten ... 45 3.1 ... Layout mit GridLayout ... 45 3.2 ... Layout mit Registerkarten ... 48 3.3 ... Layout mit Stacks ... 53 3.4 ... Hauptmenü und Statusleiste ... 59 3.5 ... Nachrichtendialogfelder ... 68 3.6 ... Eingabedialogfelder ... 73 3.7 ... Standarddialogfelder ... 81 3.8 ... Übungsaufgabe ... 88 4. Datenbanken mit SQLite ... 91 4.1 ... Der Aufbau einer Datenbank ... 91 4.2 ... Datenbank erzeugen und füllen ... 92 4.3 ... Daten auswählen und sortieren ... 103 4.4 ... Daten hinzufügen, ändern und löschen ... 112 4.5 ... Übungsaufgabe ... 123 5. Qt Quick, Steuerelemente ... 127 5.1 ... Ein- und Ausgabe von Text ... 127 5.2 ... Auswahl über Schalter ... 135 5.3 ... Auswahl über Optionen ... 138 5.4 ... Auswahl aus einer Liste ... 140 5.5 ... Ein- und Ausgabe von Zahlen ... 143 5.6 ... Übungsaufgabe ... 146 6. Qt Quick, weitere Möglichkeiten ... 149 6.1 ... Layout mit GridLayout ... 149 6.2 ... Layout mit Registerkarten ... 156 6.3 ... Hauptmenü ... 158 6.4 ... Kontextmenü ... 162 6.5 ... Nachrichtendialogfelder ... 164 6.6 ... Komponenten ... 168 6.7 ... Animationen ... 173 6.8 ... Zustände eines Objekts ... 177 6.9 ... Animierte Zustandsänderung ... 179 6.10 ... Zeichnungen erstellen ... 181 6.11 ... Übungsaufgabe ... 183 Anhang ... 185 Download und Installation von Qt ... 185 Index ... 189
Meshtastic
Eigene Funknetze aufbauen mit LoRa, im heise shop als E-Book erhältlich.Mit der Funktechnologie LoRa als Basis können Sie drahtlose Maker-Projekte realisieren. So weit, so gut: Aber was ist, wenn Sie ein ganzes Netzwerk für den stabilen, dezentralen Austausch von Daten brauchen? Mit Meshtastic bauen Sie sowohl öffentliche als auch lokale Netze auf und sind unabhängig vom Handynetz und Kabelverbindungen. Im Batteriebetrieb oder mit Solarzellen funken Sie off-the-grid und erreichen echt Autarkie, wenn Sie Daten zuverlässig teilen müssen. Wie das geht, zeigt Ihnen Claus Kühnel in dieser Einführung. Aus dem Inhalt: Lokale IoT-Netze aufbauenMikrocontroller für MeshtasticFirmware aufspielen und Geräte konfigurierenEin Meshtastic-Netzwerk aufbauenVerbindungen ins InternetAnwendungstestsSpannungsversorgung mit Batterien und SolarOptimierung der FunkverbindungenBauliche GegebenheitenNetiquette und Traffic Observer
KI für Kreative
Durch die Integration von KI-Technologien in ihre Arbeit können Designer und Designerinnen heute auf eine völlig neue Art kreativ sein. Sie können schneller Daten sammeln und analysieren, Bilder, Texte oder sogar ganze Kreativkonzepte erstellen und vieles mehr. Doch was bedeutet das für die Zukunft des Grafikdesigns? Wie verändert sich die Rolle von Kreativschaffenden in einer Welt, in der KI nun für alle zugänglich ist? Dieses Buch zeigt, wie KI den Designprozess vereinfachen und verbessern kann und wie Sie KI-Systeme effektiv nutzen, um die eigene Kreativität zu beflügeln. Praxiskapitel beschäftigen sich mit den aktuellen KI-Modellen Midjourney, ChatGPT, Adobe Firefly, Stable Diffusion, Magnific AI und dem Einsatz von KI in Photoshop und Illustrator. Durch konkrete und bebilderte Einsatzbeispiele erfahren Sie, wie Sie mithilfe von KI z. B. Ihre Arbeit mit individuellen Mockups eindrucksvoll präsentieren, aufmerksamkeitsstarke Produktfotos kreieren, Bilder bearbeiten oder Bildvarianten erstellen und Schriftzüge entwickeln und generieren. Hilfreich sind auch die zahlreichen Tipps zum Prompten, zu fortgeschrittenen Techniken wie Seeds, durchgängigen Bildstilen und Charakteren, Parametern und zu Negativprompts. Dieses Buch ist Ihr perfekter Begleiter, um die Veränderungen durch KI zu verstehen und zu meistern! Aus dem Inhalt: Grundlegendes: Begriffsdefinitionen, wie lernt generative KI, wie entstehen Bilder und Texte, Möglichkeiten und GrenzenKI als Ideenmaschine für neue und innovative AnsätzeMögliche Rollen von KI im GrafikdesignEinführung in das Prompting und fortgeschrittene Techniken: Textprompts, Bildprompts, Promptgeneratoren im Test, Eigene Prompts entwickeln, Negativprompts, Seeds, Parameter u. v. m.Standardaufgaben mithilfe von KI lösen: Konzeption, Zielgruppenbeschreibung und Persona, Mockups, Recherche, ZielgruppendefinitionKI für die Gestaltung von Illustrationen, Fotos und Schrift nutzenPräsentationen mithilfe von KI gestaltenBilder mit KI optimieren: Bildretusche, Texturen, Composings, Freistellen, Vektorisierung, Upscaling und vieles mehrDie wichtigsten KI-Programme im Einsatz: Midjourney, ChatGPT, Adobe Firefly, Stable Diffusion und Magnific AIHinweise zu Urheberrecht und Nutzungsrechten sowie ethische Denkanstöße mit Blick in die ZukunftBest Practices und Fallstudien: Eigene Mockups erstellen – Bildstile und Bildserien mit Style References und Character Reference – Produktfotografie mit Adobe Firefly – Mit Schrift arbeiten in Adobe Firefly – Schriften suchen und ersetzen mit Illustrator – Storytelling mit ChatGPT – Bildbearbeitung in Photoshop mit KI – Moodboards mit Midjourney – Nahtlose Muster mit Midjourney – KI in der Konzeptionsphase einsetzen – Kreativbriefing mit ChatGPT –Kreativtechniken mit ChatGPT (und Midjourney) – Kreative Mockups mit Vektorgrafiken erstellen –Designvorlagen mit ChatGPT erstellen – Eigene GPTs erstellen – Logodesign und Schriftbilder mit Midjourney – Bildvarianten mit Bildprompts in Stable Diffusion – Vektorisieren von Pixelbildern mit Vectorizer.ai – Mit Magnific AI Bilder generieren, interpolieren und verbessern u. v. m. 1. Künstliche Intelligenz -- eine Einführung ... 12 KI -- ein neues Werkzeug ... 12 Künstliche Intelligenz verstehen ... 18 Einschränkungen und Probleme von KI-Systemen ... 29 Formen und Schnittstellen von KI ... 39 Relevanz von KI im Designbereich ... 46 2. Künstliche Intelligenz und Kreativität ... 52 Ist KI kreativ? ... 52 PRAXIS: KI-Bilder auf Kompositionsregeln analysiert ... 59 Auswirkungen von KI auf die eigene Kreativität ... 63 KI als Ideenmaschine ... 73 PRAXIS: Kreativbriefing mit ChatGPT ... 76 PRAXIS: Kreativtechniken mit ChatGPT (und Midjourney) ... 88 PRAXIS: Namensideen entwickeln mit ChatGPT ... 91 PRAXIS: Storytelling mit ChatGPT ... 94 PRAXIS: Design Thinking mit ChatGPT ... 96 Ist KI nun kreativ? ... 98 3. KI im Designworkflow einsetzen ... 102 Ansätze zur Integration von KI ... 102 PRAXIS: Moodboards mit Midjourney ... 108 PRAXIS: Beispiele zur Anwendung von ChatGPT in der Konzeptionsphase ... 114 KI-Tools mit System auswählen ... 117 4. Prompting für generative KI ... 134 Einführung in das Prompting ... 134 PRAXIS: Promptgenerator für Bild-KI im Test ... 140 PRAXIS: Promptformel für Textprompting -- Beispiel Storytelling ... 145 PRAXIS: Ein Prompt -- verschiedene KI-Modelle ... 150 Prompting für Fortgeschrittene ... 157 PRAXIS: Auflösung und Bildqualität ... 164 PRAXIS: Seeds und ihren Einfluss auf das Ergebnis verstehen ... 166 PRAXIS: Prompt vs. »kreative« Freiheit in drei KI-Bildgeneratoren ... 170 5. KI-Programme im Kreativalltag ... 178 Midjourney ... 178 PRAXIS: Promptinspiration aus der Community ... 188 PRAXIS: Prompthilfe in Midjourney ... 192 PRAXIS: Bildstile und Bildserien mit Style References und Character References ... 202 PRAXIS: Nahtlose Muster generieren ... 206 PRAXIS: Organize -- Bilder suchen, organisieren und filtern ... 208 PRAXIS: Logodesign und Schriftbilder mit Midjourney ... 209 ChatGPT 4o ... 212 PRAXIS: Zielgruppe und Persona mit ChatGPT und Midjourney ... 218 PRAXIS: Präsentationen mit Hilfe von KI erstellen ... 219 PRAXIS: Designs mit ChatGPT und Midjourney entwerfen ... 222 PRAXIS: Eigene GPTs erstellen ... 225 PRAXIS: Schriftzüge mit Ideogram generieren ... 231 PRAXIS: Vektorisieren von Pixelbildern mit Vectorizer.AI ... 232 Adobe Firefly (Webanwendung) ... 234 PRAXIS: Struktur- und Stilreferenzen in Firefly nutzen ... 240 PRAXIS: Produktfotografie mit Hilfe von Firefly ... 242 Adobe Photoshop (Firefly) ... 245 PRAXIS: Fotos retuschieren in Photoshop mit KI ... 251 PRAXIS: Produktmockups mit vorhandenen Produktbildern ... 254 Adobe Illustrator (Firefly) ... 258 PRAXIS: Kreative Mockups mit Vektorgrafiken erstellen ... 269 DreamStudio by stability.ai ... 272 Magnific AI ... 283 PRAXIS: Mockups und Produktbilder mit Magnific AI ... 293 PRAXIS: Bilder generieren mit Magnific AI ... 295 6. Recht und Ethik ... 298 Rechtliches in Verbindung mit KI ... 298 PRAXIS: Nutzung und Vergütung von KI-Bildern ... 309 Ethik und Umwelt ... 314 PRAXIS: Diversität und KI ... 317 7. KI als zukünftige Designassistenz ... 326 Das digitale Dilemma ... 326 Mögliche Entwicklungen in der Zukunft ... 332 Ein erstes Fazit ... 333 Glossar ... 336 Überblick über die im Buch verwendeten KI-Modelle ... 339 Index ... 340
Blender
Das große Handbuch zu allen wichtigen Funktionen von Blender. Dieses Buch bietet einen soliden Einstieg in die 3D-Software und in die Grundlagen des 3D-Designs. Aber es geht noch weiter: Es begleitet Sie vom Modelling über Texturing und Shading, die Beleuchtung, Rigging und Animation bis hin zu Simulation, Rendering und Postproduktion. In Schritt-für-Schritt-Anleitungen konstruieren, texturieren und animieren Sie Ihre eigenen 3D-Objekte und setzen das Gelernte direkt in die Praxis um. Das verlässliche Lern- und Nachschlagewerk für alle Anwender – aktuell zu Version 4.2. Aus dem Inhalt: Arbeitsoberfläche, Navigation und ObjekteModelling und SculptingShading, Texturing und MappingLichtquellen, Kameras und TrackingAnimationen mit Keyframes, Pfaden und DrivernCharacter AnimationPartikelsysteme, Haare und KollisionenRauch, Feuer und FlüssigkeitenGeometry Nodes und Simulation Nodes2D-Animationen mit Grease PencilRendering mit EEVEE Next und CyclesCompositing, Schnitt und Ton, Import und Export TEIL I. Grundlagen ... 17 1. Ihr Einstieg in Blender ... 19 1.1 ... Über Blender ... 19 1.2 ... Über dieses Buch ... 24 1.3 ... Blender installieren ... 26 2. Arbeitsoberfläche ... 29 2.1 ... Splash-Screen ... 29 2.2 ... Die Bedienoberfläche im Überblick ... 32 2.3 ... Fenster, Editoren, Tabs und Panels ... 34 2.4 ... Outliner, Properties Editor und 3D Viewport ... 40 2.5 ... Navigation im Viewport ... 54 2.6 ... Nodes ... 59 3. Arbeiten mit Objekten ... 63 3.1 ... Objekte erzeugen ... 63 3.2 ... Objekte transformieren ... 69 3.3 ... Duplikate, Links und Hierarchien ... 79 3.4 ... Collections ... 87 3.5 ... Annotation-Tool ... 95 4. Datenmanagement ... 97 4.1 ... Datenblöcke, Links und User ... 97 4.2 ... Blend-Files ... 101 4.3 ... Bibliotheken ... 104 4.4 ... Asset Browser ... 109 5. Blender optimal nutzen ... 113 5.1 ... Einstieg und Orientierung ... 113 5.2 ... Workflow optimieren ... 117 5.3 ... Einheiten ... 132 5.4 ... Scripting ... 134 5.5 ... Blender einrichten ... 140 TEIL II. Modelling ... 155 6. Objektarten ... 157 6.1 ... Mesh-Primitives ... 158 6.2 ... Curves und Surfaces ... 169 6.3 ... Metaballs ... 176 6.4 ... Text ... 179 6.5 ... Empty ... 181 6.6 ... Instances ... 184 7. Modelling-Tools ... 187 7.1 ... Selektion ... 189 7.2 ... Werkzeuge ... 194 7.3 ... Proportional Editing ... 207 7.4 ... Transform Snapping ... 209 7.5 ... Measure ... 211 8. Modifier ... 245 8.1 ... Funktionen der Modifier ... 247 8.2 ... Modifier Stack ... 248 8.3 ... Modifier-Arten ... 248 9. Sculpting ... 333 9.1 ... Vorbereitung ... 334 9.2 ... Sculpting-Werkzeuge ... 335 9.3 ... Masken und Face Sets ... 343 9.4 ... Painting ... 346 9.5 ... Dyntopo und Remesh ... 348 TEIL III. Texturing ... 363 10. Materialien und Texturen ... 365 10.1 ... Shading ... 365 10.2 ... Materialien ... 373 10.3 ... Shader ... 377 10.4 ... Texturen ... 390 10.5 ... Mapping ... 393 10.6 ... Material-Nodes ... 396 11. Textur-Mapping ... 431 11.1 ... UV-Abwicklung ... 432 11.2 ... UV-Editing ... 437 11.3 ... Texturing mit UV-Maps ... 441 11.4 ... Texture Painting ... 447 TEIL IV. Ausleuchtung und Inszenierung ... 487 12. Lichtquellen ... 489 12.1 ... Lichtquellen-Arten ... 490 12.2 ... Beleuchtungseffekte ... 507 13. Kamera ... 523 13.1 ... Kamera-Objekt ... 524 13.2 ... Kamera-Parameter ... 527 14. Tracking ... 549 14.1 ... Tracking-Arten ... 550 14.2 ... Tracking-Workflow ... 552 14.3 ... 2D-Stabilisierung ... 581 14.4 ... Linsenverzerrung ... 583 14.5 ... Masking und Rotoscoping ... 586 TEIL V. Animation und Simulation ... 609 15. Keyframe-Animation ... 611 15.1 ... Timeline und Keyframes ... 611 15.2 ... Dope Sheet Editor ... 618 15.3 ... Graph Editor ... 622 15.4 ... Pfad-Animation ... 633 15.5 ... Nonlinear Animation Editor ... 637 15.6 ... Driver ... 643 16. Character-Animation ... 657 16.1 ... Armatures und Bones ... 657 16.2 ... Forward und Inverse Kinematics ... 671 16.3 ... Skinning ... 676 16.4 ... Constraints ... 690 16.5 ... Shape Keys ... 696 16.6 ... Pose Library ... 698 17. Simulation ... 725 17.1 ... Ocean ... 726 17.2 ... Explode ... 729 17.3 ... Partikelsysteme ... 731 17.4 ... Physics ... 750 17.5 ... Volume-Objekt ... 787 17.6 ... Dynamic Paint ... 790 18. Geometry Nodes ... 793 18.1 ... Prozeduraler Ansatz ... 794 18.2 ... Geometry Node Editor ... 800 18.3 ... Node Types und Nodes ... 804 18.4 ... Spreadsheet Editor ... 809 18.5 ... Simulation Zone ... 811 18.6 ... Hair ... 816 19. 2D-Animation ... 841 19.1 ... Aufbau eines Grease Pencil-Objekts ... 842 19.2 ... Arbeitsmodi für Grease Pencil ... 850 19.3 ... Animation in Grease Pencil ... 855 TEIL VI. Rendering, Compositing und Ausgabe ... 863 20. Rendering ... 865 20.1 ... Allgemeine Render-Einstellungen ... 866 20.2 ... Workbench ... 873 20.3 ... EEVEE ... 874 20.4 ... Cycles ... 885 20.5 ... Color Management ... 895 20.6 ... Non-Photorealistic Rendering (NPR) ... 897 21. Compositing ... 901 21.1 ... View Layer ... 902 21.2 ... Passes ... 904 21.3 ... Compositing-Nodes ... 914 22. Schnitt und Ton ... 933 22.1 ... Strips und Channels ... 934 22.2 ... Modifier und Effekte ... 942 23. Import und Export ... 953 23.1 ... Import ... 953 23.2 ... Export ... 956 Index ... 969
Building Application with Spec 2.0
Spec is the default UI building framework for Pharo. With Spec, developers focus on user interaction and widget layout. Spec is built around the Model View Presenter pattern. Presenters are responsible for defining the interaction logic of the application. They enforce the interaction of their subelements as well as domain objects.With Spec, existing presenters or even complete UIs are reused and configured to form a new user interface. Spec is widget framework (GTK, Morphic, Toplo) agnostic. It makes desktop applications simple to build.This book shows the basics of Spec in Pharo 12 and how it enables reuse of user interface elements. It focuses on Spec 2.0 features such as new widget layouts, dynamic widget building and more advanced features such as transmissions or commands.The book contains:- Deep explanations of various Spec 2.0 facets.- A tutorial gets you started in less than 20 minutes.- A minimal email client revisiting all Spec 2.0 features.Stéphane Ducasse:Spec is the default UI building framework for Pharo. With Spec, developers focus on user interaction and widget layout. Spec is built around the Model View Presenter pattern. Presenters are responsible for defining the interaction logic of the application. They enforce the interaction of their subelements as well as domain objects.With Spec, existing presenters or even complete UIs are reused and configured to form a new user interface. Spec is widget framework (GTK, Morphic, Toplo) agnostic. It makes desktop applications simple to build.This book shows the basics of Spec in Pharo 12 and how it enables reuse of user interface elements. It focuses on Spec 2.0 features such as new widget layouts, dynamic widget building and more advanced features such as transmissions or commands.The book contains:- Deep explanations of various Spec 2.0 facets.- A tutorial gets you started in less than 20 minutes.- A minimal email client revisiting all Spec 2.0 features.
Building a minimal reflective kernel
What is the class Object? What is the class Class? Why the class Object is an instance of the class Class? If you ever ask yourself such questions, this book is for you.After explaining the impact of representing classes as objects, you will develop step by step a minimal reflective kernel.In this book you will learn:- object instantiation, allocation, and initialization, - classes as objects,- description of classes,- creation of classes,- method lookup and error handling,- examples of metaclasses,- bootstrap of a reflective system.The content of this book has been used to teach reflective architectures for more than 15 years.Stéphane Ducasse:I'm expert in language design and reengineering. I worked on traits. Traits have been introduced in Pharo, Perl, PHP and under a variant into Scala, Groovy and Fortress. I'm expert on software quality, program understanding, program visualisations, reengineering and metamodeling. I'm one of the father of Moose, an open-source software analysis platform http://www.moosetechnology.org/ and https://modularmoose.org. I created Synectique a company building dedicated tools for advanced software analyses. I'm one of creator and the leader of Pharo http://www.pharo.org/ a dynamic reflective object-oriented language supporting live programming. Since 2013, I built the industrial Pharo consortium http://consortium.pharo.org and I lead the consortium engineering team.Our objective is to deliver a highly robust, versatile, compact and productive environment to develop and deploy advanced applications.I work regularly with companies (Thales, Wordline, Siemens, Berger-Levrault, Arolla,...) on software evolution problems. I wrote couple hundred articles and several books. I'm editor of two book collections available at: http://books.pharo.org.
Applied Data Science Using PySpark
This comprehensive guide, featuring hand-picked examples of daily use cases, will walk you through the end-to-end predictive model-building cycle using the latest techniques and industry tricks. In Chapters 1, 2, and 3, we will begin by setting up the environment and covering the basics of PySpark, focusing on data manipulation. Chapter 4 delves into the art of variable selection, demonstrating various techniques available in PySpark. In Chapters 5, 6, and 7, we explore machine learning algorithms, their implementations, and fine-tuning techniques. Chapters 8 and 9 will guide you through machine learning pipelines and various methods to operationalize and serve models using Docker/API. Chapter 10 will demonstrate how to unlock the power of predictive models to create a meaningful impact on your business. Chapter 11 introduces some of the most widely used and powerful modeling frameworks to unlock real value from data.In this new edition, you will learn predictive modeling frameworks that can quantify customer lifetime values and estimate the return on your predictive modeling investments. This edition also includes methods to measure engagement and identify actionable populations for effective churn treatments. Additionally, a dedicated chapter on experimentation design has been added, covering steps to efficiently design, conduct, test, and measure the results of your models. All code examples have been updated to reflect the latest stable version of Spark.You will:* Gain an overview of end-to-end predictive model building* Understand multiple variable selection techniques and their implementations* Learn how to operationalize models* Perform data science experiments and learn useful tipsRAMCHARAN KAKARLA is currently Principal ML at Altice USA. He is a passionate data science and artificial intelligence advocate with 10 years of experience. He holds a master’s degree from Oklahoma State University with specialization in data mining. He is currently pursuing masters in management from University of California, LA. Prior to UCLA and OSU, he received his bachelor’s in electrical and electronics engineering from Sastra University in India. He was born and raised in the coastal town of Kakinada, India. He started his career working as a performance engineer with several Fortune 500 clients including State Farm, British Airways, Comcast and JP Morgan Chase. In his current role he is focused on building data science solutions and frameworks leveraging big data. He has published several papers and posters in the field of predictive analytics. He served as SAS Global Ambassador for the year 2015.SUNDAR KRISHNAN is a Senior Data Science Manager at CVS Health. He has 12+ years of extensive experience leading cross-functional Data Science teams and is an AI, ML, and cloud platform expert. He has a proven track record of building high-performing teams and implementing innovative AI strategies to optimize operational costs and generate substantial revenue. Expert in 0 to 1 product development, successfully led teams from conception to market-ready products in Gen AI & data science. Sundar was born and raised in Tamil Nadu, India, and has a bachelor's degree from the Government College of Technology, Coimbatore. He completed his master's at Oklahoma State University, Stillwater. He blogs about his data science works on Medium in his spare time.BALAJI DHAMODHARAN isanaward winning global Data Science leader, guiding teams to develop and implement innovative, scalable ML solutions. He currently leads the AI/ML and MLOps strategy initiatives with NXP Semiconductors. He has over a decade of experience delivering large-scale technology solutions across diverse industries. His expertise spans Software Engineering, Enterprise AI platforms, AutoML, MLOps, and Generative AI technologies. Balaji holds Masters degrees in Management Information Systems and Data Science from Oklahoma State University and Indiana University. Originally from Chennai, India, Balaji currently resides in Austin, TX, USA.VENKATA GUNNU is a Senior Executive Director of Knowledge Management and Innovation atJPM Chase. He is an executive with a successful background crafting enterprise-wide data anddata science solutions, GenAI, process improvements, and data and data science-centricproducts. Concept to implementation strategist with demonstrated success controlling multipleprojects that elevate organizational efficiency while optimizing resources. Data-focused andanalytical with a track record of automating functions, standardizing data management protocol,and introducing new business intelligence solutions.Chapter 1: Setting up the Pyspark Environment.- Chapter 2: PySpark Basics .- Chapter 3: Variable Selection.- Chapter 4: Variable Selection.- Chapter 5: Supervised Learning Algorithms.- Chapter 6: Model Evaluation.- Chapter 7: Unsupervised Learning and Recommendation Algorithms.- Chapter 8: Machine Learning Flow and Automated Pipelines.- Chapter 9: Deploying machine learning models.- Chapter 10: Experimentation.- Chapter 11: Modeling Frameworks.
Master Photo and Video Editing with Metal
Delve into the nuances of photo and video editing with Metal, a framework from Next Generation GPU APIs. Right now, the demand for media editors is growing exponentially, with multiple applications needing some form of image processing, including messengers, social networks, marketplace, and banking applications. This book provides detailed guidelines for reimplementation instruments from one of the more popular photo and video editors. Begin your journey by reviewing the rationale for using Metal, and an overview of the reasons why this this is the best performance solution. Rasterization is then covered to provide a basis for understanding how image editing in Metal works. You’ll look at aspects of image processing such as rendering, image transformations, and working with textures. This knowledge then leads you to image editing, where it is applied to make basic color adjustments, shadows, blur, vignette, and color correction with LUT filters. These are fundamental aspects of any media editing software. Layers make up the final section of the book, including different compositions and blend modes, both essential tools for any image editor. You’ll conclude the journey with a look at video editing with Metal. Through hands-on projects in each chapter, you will learn how to apply these techniques directly in real-world scenarios, giving a great starting point to implement any kind of media processing in your own applications. You will: * Understand fundamental concepts of GPU rendering to complex image and video processing techniques * See how shaders are accessed in the rendering pipeline * Create and import textures * Review image and video editing techniques, from simple color adjustment to complex filters, layer composition, and real-time video effects Delve into the nuances of photo and video editing with Metal, a framework from Next Generation GPU APIs. Right now, the demand for media editors is growing exponentially, with multiple applications needing some form of image processing, including messengers, social networks, marketplace, and banking applications. This book provides detailed guidelines for reimplementation instruments from one of the more popular photo and video editors. Begin your journey by reviewing the rationale for using Metal, and an overview of the reasons why this this is the best performance solution. Rasterization is then covered to provide a basis for understanding how image editing in Metal works. You’ll look at aspects of image processing such as rendering, image transformations, and working with textures. This knowledge then leads you to image editing, where it is applied to make basic color adjustments, shadows, blur, vignette, and color correction with LUT filters. These are fundamental aspects of any media editing software. Layers make up the final section of the book, including different compositions and blend modes, both essential tools for any image editor. You’ll conclude the journey with a look at video editing with Metal. Through hands-on projects in each chapter, you will learn how to apply these techniques directly in real-world scenarios, giving a great starting point to implement any kind of media processing in your own applications. What You Will Learn * Understand fundamental concepts of GPU rendering to complex image and video processing techniques * See how shaders are accessed in the rendering pipeline * Create and import textures * Review image and video editing techniques, from simple color adjustment to complex filters, layer composition, and real-time video effects Who This Book Is For Intermediate Swift developers interested in photo and video editing or diving deeper into understanding how GPU media processing works. Bogdan Redkin is an iOS Developer with over 10 years of experience in creating top-notch iOS applications. As a founder of Fancy Tech, he launched multiple photo-editing solutions, achieving leading positions in AppStore. Having written many articles on Medium about drawing using Metal he’s decided to combine his passion for writing and GPU image processing by writing his first book. Victor Yaskevich is an experienced GPU programmer specializing in Vulkan, Metal, and shaders. With a strong focus on low-level graphics and system programming, he contributes his expertise to guide readers in mastering GPU programming and architecture patterns throughout this book. Part 1: Rasterization.- Chapter 1: Getting Started with Apple Metal.- Chapter 2: Metal Fundamentals Overview. Rendering and Displaying Content.- Chapter 3: Understanding the Rendering Pipeline.- Chapter 4: Vertex Shader Function, Primitive Assembly.- Chapter 5: Transformations.- Chapter 6: Perspective Transformations.- Chapter 7: Working with Textures and Images.- Part 2: Image Editing with Metal.- Chapter 8: Basic color adjustments.- Chapter 9: Vignette.- Chapter 10: Blur.- Chapter 11: Lookup Table.- Chapter 12: Twirl.- Part 3: Multilayer rendering.- Chapter 13: Introduction to layer composition.- Chapter 14: Blend Modes.- Chapter 15: Layer Effects.-Part 4: Video Editing with Metal.- Chapter 16 - Video Editing with Metal.- Chapter 17 - Video Layers.- Appendix: Common Metal functions.
Mastering Spring AI
Dive into the future of programming with this comprehensive guide for Java developers to integrate large language models (LLMs) and Generative AI using the Spring Framework. This book comes at a revolutionary time when AI technology is transforming how we implement solutions in various fields, including natural language processing, content generation, and predictive analytics. With its widespread use in the Java community, the Spring Framework is a logical choice for this integration.By focusing on integrating LLMs and GenAI with Spring, this book bridges a significant gap between cutting-edge AI technologies and traditional Java development practices. The author uses a hands-on approach, guiding you through practical implementation to effectively show how to apply theory in real-world situations. Basic introductions of topics—Spring AI, Spring Framework, and other related AI technologies—evolve into advanced integrations to ensure that you find valuable insights regardless of your starting level. Additionally, this book dedicates sections to security and ethical considerations, addressing the pressing issues associated with AI.With a look at emerging trends and future developments, this book prepares you for what's next, ensuring that you are not just catching up with the current state of technology but are also ready for future advancements.WHAT YOU WILL LEARN• Master the integration of LLMs and GenAI with the Spring Framework• Develop practical skills in developing AI-driven applications using Java• Gain insights into handling data, security, and ethical considerations in AI applications• Apply strategies for optimizing performance and scalability in AI-enabled applications• Prepare for future AI trends and technologiesWHO THIS BOOK IS FORIntermediate to advanced Java developers who are familiar with the Spring Framework, including concepts such as dependency injection, Spring Boot, and building RESTful services. This foundational knowledge will help developers grasp the more advanced topics of integrating AI technologies with Spring. Prior knowledge of basic AI concepts and machine learning is helpful but not essential as the book covers these topics from the ground up.BANU PARASURAMAN is a distinguished AI-Enabled Cloud Solution Architect with over 30 years of experience in the IT industry, specializing in Generative AI, Machine Learning, and Large Language Models (LLMs) within cloud-native environments. As a trusted advisor to numerous companies across diverse sectors globally, he guides clients in transitioning to cloud platforms and implementing cutting-edge solutions such as Kubernetes and Cloud Foundry. His expertise spans major cloud platforms, and he's a passionate advocate for integrating AI and ML into cloud-native architectures. A frequent speaker at tech conferences and a prolific blogger, Banu bridges the gap between technical implementation and business strategy, helping organizations leverage the power of cloud computing enhanced by AI technologies. His comprehensive experience and forward-thinking approach make him a valuable asset in navigating the complex landscape of modern IT, particularly in harnessing the potential of Generative AI and LLMs in cloud-native solutions.1: Introduction to Generative AI and Large Language Models (LLMs).- 2; Exploring Spring.io, Spring Components for Gen AI: The Developer's Backbone .- 3: Spring AI and LLMs.- 4: Spring AI and RAG.- 5: Conversational AI with Spring AI.- 6: Function Calling with Spring AI.- 7: Productionizing Spring AI.- 8: Real-world Case Studies.
Autodesk Revit 2025
Autodesk Revit 2025 (1. Auflage)Dieses Grundlagen- und Lehrbuch zeigt Ihnen die typischen Befehle der Architektursoftware Revit 2025 anhand einer vollständigen Beispielkonstruktion sowie einzelner Demonstrationsbeispiele. Der Autor richtet sich insbesondere an Revit-Neulinge, die einen fundierten, praxisnahen Einstieg suchen. Mit dem Buch und einer 30-Tage-Revit-Testversion von der Autodesk-Webseite können Sie sofort beginnen und in Kürze Ihre ersten Grundrisse und Häuser erstellen. Die wichtigsten Vorgehensweisen werden sowohl mit einem vollständigen Projektbeispiel als auch anhand vieler einzelner Detailbeispiele erklärt und geübt. Bei Revit ist es besonders wichtig, die verschiedenen Befehlsoptionen und Bedienelemente über Beispiele kennenzulernen, weil bei deren Anwendung stets die Element-Eigenschaften und Typvorgaben sowie die Einstellungen der Optionsleiste und der Eingabeaufforderungen beachtet werden müssen, was viel praktische Übung erfordert. Am Ende jedes Kapitels finden Sie Testfragen mit dazugehörigen Lösungen im Anhang. Neben der traditionellen Konstruktionsweise für einzelne Stockwerke mit Wänden, Türen, Fenstern, Geschossdecken, Treppen und Dächern wird auch das konzeptionelle Design vorgestellt, bei dem zunächst als Basis die Gebäudeform als Volumenkörper entworfen wird. Schließlich führt ein Beispiel in den Familieneditor ein, der die Erstellung eigener Architekturkomponenten erlaubt. Abschließend wird auch die Vorgehensweise bei der Gebäudetechnik an einem Beispiel aus dem Sanitärbereich gezeigt. Aus dem Inhalt:Installation und BenutzeroberflächeDokumentiertes Beispielprojekt (Download)Elemente in andere Geschosse kopierenBearbeitungsfunktionen zum Ändern und AnpassenBemaßung und Beschriftung im Grundriss und im SchnittAusrichtung des Projekts: Gelände, Himmelsrichtung, HöheAußen-, Innen-, Detail- und SchnittansichtenStützen, Träger, Streben sowie Einführung in den StahlbauVerschiedene DachformenFotorealistische Darstellungen mit RendernAuswertungen mit Raumstempeln und ElementlistenWege über Routen-Analyse bestimmenAusgabe mehrerer Pläne und Ansichten als PDFAlternatives konzeptionelles DesignEinführung in den FamilieneditorBIM-Austausch von und zu InventorArbeiten mit Gebäudetechnik-KomponentenAutoreninfo:Detlef Ridder hat langjährige Erfahrung im Bereich CAD und bereits zahlreiche Bücher zu AutoCAD, Inventor, Revit und Archicad veröffentlicht. Er gibt Schulungen zu diesen Programmen und zu CNC und weiß daher, welche Themen für Einsteiger besonders wichtig sind.
Blender 4 - Das Praxisbuch
Blender 4 - Das Praxisbuch für Ein- und Umsteiger. In Erstauflage aus November 2024.Praxisnaher Einstieg anhand von WorkshopsMit diesem Buch erhalten Sie einen leichten und umfassenden Einstieg in Blender. Anhand von Workshops lernen Sie Schritt für Schritt, die einzelnen Funktionen direkt in der Praxis einzusetzen. Zahlreiche Tipps und Tricks helfen Ihnen dabei, schnell eigene Projekte umzusetzen.Alle Bereiche der 3D-Grafik detailliert erläutertDie fünf Teilbereiche der 3D-Grafik, d.h. Modellierung, Texturierung, Animation, Szenenaufbau und Rendern werden im Detail behandelt und in einem einzigen Filmprojekt zusammengeführt.Für Einsteiger und Umsteiger geeignetDie dem Buch zugrunde liegende Lernmethode basiert auf der jahrelangen Erfahrung des Autors als professioneller Trainer für 3D-Software. So sind alle Erläuterungen sehr gut für Einsteiger ohne Vorkenntnisse nachvollziehbar und ebenfalls für Umsteiger von anderen 3D-Applikationen geeignet.Aus dem Inhalt:Alle Arten der Modellierung, inkl. Character-ModelingSculptingTexturierung, inklusive UV-Bearbeitung und PaintCharacter-RiggingSzenenaufbau mit Kamera, Licht und Umgebung3D-Animation und Simulation2D-AnimationDie beiden Render-Engines EEVEE und CyclesCompositingFilmschnitt inklusive SoundZum Download (als .zip vom mitp-Server):Alle Blender-Dateien der Projekte und WorkshopsAlle benötigten Materialien wie Bild- und Sound-DateienDie fertigen Projekte zum VergleichInhalt und Leseprobe (PDF-Link)Über den Autor:Maik Eckardt ist selbstständiger 3D-Grafiker und Cinema 4D-Trainer u.a. am SAE-Institute, am Institute of Design (IN.D), an der Berliner Technischen Kunsthochschule (BTK) und an der HTK Acadamy Berlin.
Guidebook für Software Engineers
Guidebook für Software EngineersDas Guidebook für Software Engineers aller Karriere-Level, die einen guten Job machen und Erfolg haben wollenVom Autor von »The Pragmatic Engineer Newsletter«, dem meistgelesenen Technologie-Newsletter auf Substack.Beschreibt die typischen Karrierestufen vom Softwareentwickler über Positionen eines Senior oder Lead bis hin zum Staff, Principle oder Distinguished Level (Achtung: die Jobtitel variieren von Unternehmen zu Unternehmen).Deckt Softskill-Themen, technische Konzepte, aber auch Fragen zu Selbstmanagement und Produktivität ab.Interessante Branchen-Insights des Autors, der exzellent vernetzt ist und bei Uber, Skyscanner, Microsoft, Skype und JP Morgan gearbeitet hat.Software-Engineers sollten ihre berufliche Entwicklung unbedingt selbst in die Hand nehmen – eine Erkenntnis, die Gergely Orosz schon zu Beginn seiner Karriere gewonnen hat. In diesem Buch unterstützt er Software-Engineers bei ihrer Karriereplanung und teilt seine Erfahrungen und tiefgehenden Branchenkenntnisse. Das Guidebook orientiert sich dabei am »typischen« Karriereweg eines Software-Engineers: vom Junior-Entwickler über die Rolle des Senior-Engineers mit Vorbildfunktion bis hin zu Führungspositionen wie Staff-Engineer oder Principal-Engineer. Gergely Orosz beschreibt, welche Schlüsselkompetenzen unverzichtbar sind, und gibt zahlreiche Impulse und Anregungen.Das Buch erläutert u.a.:Grundlagen der EntwicklerkarriereTypische Karrierepfade, die eigene Karriere steuern, Leistungsbeurteilungen, Beförderungen, JobwechselDer kompetente SoftwareentwicklerDinge anpacken, die eigenen Programmierfähigkeiten vertiefen und hochwertigen Code schreiben, die Werkzeuge produktiver Entwickler*innenDer vielseitige Senior-EngineerAufgaben erfolgreich abschließen, durch Code-Reviews und Mentoring besser zusammenarbeiten, technische Schulden abbauen, eine hohe Testabdeckung sicherstellen, tragfähige Architekturentscheidungen treffenDer pragmatische Tech-LeadZiele, Phasen und Risiken beim Managen von Projekten, Software für den Produktivbetrieb bereitstellen, Stakeholder-Management betreiben, Fokus und Dynamik eines Teams verbessernStaff- und Principal-Engineers mit VorbildfunktionDurch KPIs und OKRs das Geschäft verstehen, hilfreiche Engineering-Prozesse etablieren, geschäftliche Ziele durch zukunftsfähige IT-Lösungen unterstützen
Autodesk Revit 2025
* Architekturkonstruktionen vom Grundriss bis zum 3D-Modell und Plot * Die wichtigsten Konstruktions- und Bearbeitungsbefehle mit zahlreichen Beispielen * Praxisnahe Beispielkonstruktion: Einfamilienhaus vom Keller bis zum Dach Fundierte und praxisnahe Einführung Dieses Grundlagen- und Lehrbuch zeigt Ihnen die typischen Befehle der Architektursoftware Revit 2025 anhand einer vollständigen Beispielkonstruktion sowie kleiner Demonstrationsbeispiele. Der Autor richtet sich insbesondere an Revit-Neulinge, die einen fundierten, praxisnahen Einstieg suchen. Sie können sofort beginnen und in Kürze Ihre ersten Grundrisse und Häuser erstellen. Für jedes Kapitel finden Sie Testfragen mit dazugehörigen Lösungen. Zahlreiche Praxisbeispiele Die wichtigsten Vorgehensweisen bei der Konstruktion werden sowohl mit einem vollständigen Projektbeispiel als auch anhand vieler Detailbeispiele erklärt und geübt. Bei Revit ist es besonders wichtig, die verschiedenen Befehlsoptionen und Bedienelemente über Beispiele kennenzulernen, weil dabei stets die Element-Eigenschaften und Typvorgaben sowie die Einstellungen der Optionsleiste und der Eingabeaufforderungen beachtet werden müssen. Alle wichtigen Konstruktionsmethoden Neben der traditionellen Konstruktionsweise für einzelne Stockwerke mit Wänden, Türen, Fenstern, Geschossdecken, Treppen und Dächern wird auch das konzeptionelle Design vorgestellt, bei dem als Basis die Gebäudeform als Volumenkörper entworfen wird. Schließlich wird die Erstellung eigener Architekturkomponenten mithilfe des Familieneditors demonstriert. Aus dem Inhalt: * Installation und Benutzeroberfläche * Elemente in andere Geschosse kopieren * Bearbeitungsfunktionen zum Ändern und Anpassen * Bemaßung und Beschriftung im Grundriss und im Schnitt * Ausrichtung des Projekts: Gelände, Himmelsrichtung, Höhe * Außen-, Innen-, Detail- und Schnittansichten * Stützen, Träger, Streben sowie Einführung in den Stahlbau * Verschiedene Dachformen * Fotorealistische Darstellungen mit Rendern * Auswertungen mit Raumstempeln und Elementlisten * Wege über Routen-Analyse bestimmen * Ausgabe mehrerer Pläne und Ansichten als PDF * Alternatives konzeptionelles Design * Einführung in den Familieneditor * BIM-Austausch von und zu Inventor Zum Download: Vollständig dokumentiertes Beispielprojekt: Einfamilienhaus Detlef Ridder hat bereits zahlreiche Bücher zu AutoCAD, Inventor, Revit und Archicad veröffentlicht und gibt Schulungen zu diesen Programmen und im Bereich CNC.
Excel's Not Dead
A new way of working with Excel spreadsheets never seen before that will transform how we work with Excel now and in the future. A game changing system of data manipulation based on a single discovery. This book will take you step by step from the discovery and it's simple application through to how to apply it to create fully dynamic dashboards. The things that you could previously only do with Pivot Tables are now available to everyone from Excel beginners to professionals. A comprehensive Excel toolkit to ensure you have all the tools you need to tackle all the exercises and complete your journey. I hear too often from IT professionals that "Excel is Dead" but every day I see It becoming more and more essential in every work environment from single person start ups to large corporations. This book will show that not only is excel not dead, with the system I will teach you it's getting stronger and stronger.
Learn Data Science Using Python
Harness the capabilities of Python and gain the expertise need to master data science techniques. This step-by-step book guides you through using Python to achieve tasks related to data cleaning, statistics, and visualization.You’ll start by reviewing the foundational aspects of the data science process. This includes an extensive overview of research points and practical applications, such as the insightful analysis of presidential elections. The journey continues by navigating through installation procedures and providing valuable insights into Python, data types, typecasting, and essential libraries like Pandas and NumPy. You’ll then delve into the captivating world of data visualization. Concepts such as scatter plots, histograms, and bubble charts come alive through detailed discussions and practical code examples, unraveling the complexities of creating compelling visualizations for enhanced data understanding.Statistical analysis, linear models, and advanced data preprocessing techniques are also discussed before moving on to preparing data for analysis, including renaming variables, variable rearrangement, and conditional statements. Finally, you’ll be introduced to regression techniques, demystifying the intricacies of simple and multiple linear regression, as well as logistic regression.WHAT YOU’LL LEARN* Understand installation procedures and valuable insights into Python, data types, typecasting* Examine the fundamental statistical analysis required in most data science and analytics reports* Clean the most common data set problems* Use linear progression for data predictionWHO THIS BOOK IS FORData Analysts, data scientists, Python programmers, and software developers new to data science.Engy Fouda is an adjunct lecturer at SUNY New Paltz teaching Intro to Data Science using SAS Studio and Introduction to Machine Learning using Python. She is an Apress and Packt Publishing author. Currently, she teaches SAS Fundamentals, Intermediate SAS, Advanced SAS, SAS SQL, Introduction to Python, Python for Data Science, Docker Fundamentals, Docker Enterprise for Developers, Docker Enterprise for Operations, Kubernetes, and DCA and SAS exams test-prep courses tracks at several venues as a freelance instructor.She also works as a freelance writer for Geek Culture, Towards Data Science, and Medium Partner Program. She holds two master’s degrees: one in journalism from Harvard University, the Extension School, and the other in computer engineering from Cairo University. Moreover, she earned a Data Science Graduate Professional Certificate from Harvard University, the Extension School. She volunteers as the chair of Egypt Scholars board and is former executive manager and former Momken team leader (Engineering for the Blind). She is the author of the books _Learn Data Science Using SAS Studio _and _A Complete Guide to Docker for Operations and Development _published by Apress and a co-author of _The Docker Workshop_ published by Packt.Chapter 1: Data Science in Action.- Chapter 2: Getting Started.- Chapter 3: Data Visualization.- Chapter 4: Statistical Analysis and Linear Models.- Chapter 5: Advanced Data Pre-processing and Feature Engineering.- Chapter 6: Preparing Data for Analysis.- Chapter 7: Regression.
Microsoft Power Platform For Dummies
BUILD BUSINESS INTELLIGENCE WITH INSIGHT FROM A PROFESSIONALMicrosoft Power Platform For Dummies covers the essentials you need to know to get started with Microsoft Power Platform, the suite of business intelligence applications designed to make your enterprise work smarter and more efficiently. You'll get a handle on managing and reporting data with Power BI, building no-code apps with Power Apps, creating simple web properties with Power Pages, and simplifying your day-to-day work with Power Automate. Written by a business consultant who's helped some of the world's largest organizations adopt, manage, and get work done with Power Platform, this book gets you through your work without working too hard to figure things out.* Discover the tools that come with Power Platform and how they can help you build business intelligence* Manage data, create apps, automate routine tasks, create web pages, and beyond* Learn the current best practices for launching Power Platform in an organization* Get step-by-step instructions for navigating the interface and setting up your toolsThis is a great quick-start guide for anyone who wants to leverage Power Platform's BI tools. JACK HYMAN is the founder and principal of IT consulting firm HyerTek, providing services to federal, state, local, and educational institutions. In that role, he helps organizations implement leading cloud platforms and analytics tools. Jack has authored several For Dummies titles, including Microsoft Power BI For Dummies.
SQL Alles-in-einem-Band für Dummies
WERDEN SIE ZUM SQL-PROFI!In diesem Buch erfahren Sie alles, was es über SQL zu wissen gibt. Angefangen mit den Grundlagen und der Frage, wie Sie Datenbanken erstellen, Daten ordnen und abfragen, lernen Sie zudem Entwicklungsumgebungen für die Datenbankenprogrammierung kennen. Auch das Thema Datensicherheit kommt nicht zu kurz: So lernen Sie, wie Sie Ihre Daten und Datenbanken schützen und wie Sie typische Fehler vermeiden. Sie erfahren außerdem, wie Sie andere Sprachen, wie XML und JSON, mit SQL integrieren und wie Sie die Leistung Ihrer Datenbank analysieren und optimieren. SIE ERFAHREN* Wie Datenbanksysteme aufgebaut sind* Was Sie beim Mehrbenutzerzugriff beachten sollten* Welche Schnittstellen zu prozeduralen Programmiersprachen es gibt* Wie Sie richtig auf Systemausfälle reagierenALLEN G. TAYLOR ist schon seit 40 Jahren in der Computerindustrie und Autor von über 40 Büchern, darunter SQL für Dummies. RICHARD BLUM hat als System- und Netzwerkadministrator mehr als 35 Jahre Erfahrung in der IT-Branche und auch bereits einige … für Dummies-Bücher geschrieben. Die Autoren 11Einleitung 33TEIL I: SQL – ERSTE SCHRITTE 37Kapitel 1: Relationale Datenbanken 39Kapitel 2: Modellierung eines Systems 57Kapitel 3: SQL kennenlernen 79Kapitel 4: SQL und das relationale Modell 91Kapitel 5: Die wichtigsten Komponenten von SQL 101Kapitel 6: SQL – das Wesentliche 121TEIL II: ENTWICKLUNG RELATIONALER DATENBANKEN 153Kapitel 7: Überblick über die Systementwicklung 155Kapitel 8: Aufbau eines Datenbankmodells 171Kapitel 9: Gleichgewicht zwischen Leistung und Korrektheit 189Kapitel 10: Eine Datenbank mit SQL erstellen 219TEIL III: SQL-ABFRAGEN 231Kapitel 11: Werte, Variablen, Funktionen und Ausdrücke 233Kapitel 12: SELECT-Anweisungen und modifizierende Klauseln 259Kapitel 13: Abfrage mehrerer Tabellen mit Unterabfragen 301Kapitel 14: Abfragen mehrerer Tabellen mit relationalen Operatoren 329Kapitel 15: Cursor 347TEIL IV: SICHERN SIE IHRE DATEN 359Kapitel 16: Schutz vor Hardwarefehlern und externen Bedrohungen 361Kapitel 17: Schutz vor Benutzerfehlern und Konflikten 391Kapitel 18: Rechte zuweisen 419Kapitel 19: Fehlerbehandlung 431TEIL V: PROGRAMMIEREN MIT SQL 445Kapitel 20: Datenbankentwicklungsumgebungen 447Kapitel 21: Die Schnittstelle zwischen SQL und einer prozeduralen Sprache 453Kapitel 22: Verwendung von SQL in einem Anwendungsprogramm 459Kapitel 23: Entwurf einer Beispielanwendung 473Kapitel 24: Eine Anwendung erstellen 491Kapitel 25: Die prozeduralen Funktionen von SQL 507Kapitel 26: Verbindung von SQL mit einer entfernten Datenbank 523TEIL VI: ERWEITERTE DATENTYPEN IN SQL: XML, JSON UND PGQ 535Kapitel 27: Verwendung von XML mit SQL 537Kapitel 28: XML-Daten in SQL-Tabellen speichern 561Kapitel 29: Daten aus XML-Dokumenten abrufen 583Kapitel 30: Verwendung von JSON mit SQL 599Kapitel 31: Eigenschaftsgraphen-Abfragen 613TEIL VII: DATENBANKEN OPTIMIEREN 625Kapitel 32: Datenbank-Tuning 627Kapitel 33: Tuning der Umgebung 639Kapitel 34: Leistungsengpässe auffinden und beseitigen 661Anhang 689Glossar 693Abbildungsverzeichnis 703Stichwortverzeichnis 707
SQL Essentials For Dummies
A RIGHT-TO-THE-POINT GUIDE ON ALL THE KEY TOPICS OF SQL PROGRAMMINGSQL Essentials For Dummies is your quick reference to all the core concepts of SQL—a valuable common standard language used in relational databases. This useful guide is straightforward—with no excess review, wordy explanations, or fluff—so you get what you need, fast. Great for a brush-up on the basics or as an everyday desk reference, this book is one you can rely on.* Strengthen your understanding of the basics of SQL* Review what you've already learned or pick up key skills* Use SQL to create, manipulate, and control relational databases* Jog your memory on the essentials as you work and get clear answers to your questionsPerfect for supplementing classroom learning, reviewing for a certification, and staying knowledgeable on the job, SQL Essentials For Dummies is the convenient, direct, and digestible reference you've been looking for.RICHARD BLUM is a network and systems administrator. He has worked with database systems such as Microsoft SQL Server, PostgreSQL, and MySQL. Rich also teaches online courses in programming. ALLEN G. TAYLOR is author of more than 40 books, including SQL For Dummies. He also teaches database development through a leading online education provider.