Software
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.
Level Up! The Guide to Great Video Game Design
WANT TO DESIGN YOUR OWN VIDEO GAMES? LET EXPERT SCOTT ROGERS SHOW YOU HOW!If you want to design and build cutting-edge video games but aren't sure where to start, then the THIRD EDITION of the acclaimed Level Up! is for you! Written by leading video game expert Scott Rogers, who has designed for the hits Pac-Man World, God of War, Maximo and SpongeBob SquarePants, this updated edition provides clear and well-thought-out examples that forgo theoretical gobbledygook with charmingly illustrated concepts and solutions based on years of professional experience. Level Up! 3rd Edition has been NEWLY EXPANDED to teach you how to develop marketable ideas, learn what perils and pitfalls await during a game's pre-production, production and post-production stages, and provide even more creative ideas to serve as fuel for your own projects including:* Developing your game design from the spark of inspiration all the way to production* Learning how to design the most exciting levels, the most precise controls, and the fiercest foes that will keep your players challenged* Creating games for console, mobile, and VR/AR/MR—including detailed rules for game play design and controls* Monetizing your game from the design up* Play test your game to get the best feedback from your playersLevel Up! 3rd Edition features all-new content, including two new chapters and even a brand-new chili recipe—making it the most indispensable guide for video game designers both “in the field” and the classroom. Foreword xxiiiIntroduction Press Start! xxvNo, You Can’t Have My Job xxviiiWho is This Book For? xxxLEVEL 1 WELCOME N00BS! 1A (Somewhat) Brief History of Video Games 4The Brave New World of Gaming: Mobiles, Online Distribution and Touchscreens 9What’s the Difference Between AAA and Indy? 10Game Genres 11Who Makes This Stuff? 14Programmer 15Artist 15Designer 17Producer 17Tester 18Composer 19Sound Designer 21Narrative Designer/Writer 22Community Manager 23Have You Thought About Publishing? 23Product Manager 23Creative Manager 23Art Director 24Technical Director 24Marketing Team 24And the Rest 25LEVEL 2 IDEAS 27Ideas: Where to Get Them and Where to Stick Them 27Getting Ahead of the Game 30What Do Gamers Want? 33Brainstorming 34Breaking Writer’s Block 37Why I Hate “Fun” 38LEVEL 3 WRITING THE STORY 43Once Upon a Time 44Narrative Design 47Anything is Gameplay 50The Triangle of Weirdness 51A Likely Story 53Time to Wrap It Up 56A Note About “Lore” 57A Game by Any Other Name 59Creating Characters Your Players Care About 61Games Are About Everyone 66A Few Pointers on Writing for Kids of All Ages 67Writing for Licenses 68LEVEL 4 YOU CAN DESIGN A GAME, BUT CAN YOU DO THE PAPERWORK? 71The Game Design Document 73Game Design Document (again) 74Writing the GDD, Step 1: The One-Sheet 75ESRB Ratings 77The Core Loop 78Unique Selling Points 79Competitive Products 79Writing the GDD, Step 2: The Ten-Pager 79The Rule of Threes 81The Ten-Pager Outline 81Writing the GDD, Step 3: The Beat Chart 88Writing the GDD, Step 4: The Game Design Document 90Writing the GDD, Step 4 1: Now, Unlearn What You Have Learned 91Writing the GDD, Step 5: Be Responsible 94Writing the GDD, Step 6 – Other Game Genres 96Role-Playing Games 96Real-Time Strategy Games 97First-Person Shooters 98Battle Royale 99Match Three Games 100Sports Games 101LEVEL 5 THE THREE CS, PART 1: CHARACTER 103Who Do You Want to Be Today? 104Personality: Do We Really Need Another Kratos? 105Let’s Get Personal 108Using All the Parts 112Games Without Characters 113We Are Not Alone 114When More Is More 117Who Are the People in Your Neighborhood? 119Finally, We Talk About Gameplay 121Metrics for Other Player Types 124Why Walk When You Can Run? 124The Art of Doing Nothing 128Might as Well Jump 129Hoists and Teeters 133What Goes Up Must Fall Down 134Me and My Shadow 135The Water’s Fine or Is It? 136LEVEL 6 THE THREE CS, PART 2: CAMERA 139Get It Right: Camera Views 139First-Person Camera 144Virtual Reality 146Third Person Camera 147Giving Up Control 150So, You’ve Decided to Let the Player Control the Camera 151So, You’ve Decided Not to Let the Player Have Control over the Camera 152So, You’ve Decided to Let Players Sometimes Have Control over the Camera 154Two and a Half d 154Isometric Camera 154Top-Down Camera 156AR Cameras 157Special Case Cameras 157Tunnel Vision 158Camera Shot Guide 158Camera Angle Guide 161Camera Movement Guide 162Other Camera Notes 165Always Point the Camera to the Objective 166Never Let the Character Get out of the Camera’s Sight 166Multiple-Player Cameras 167LEVEL 7 THE THREE CS, PART 3: CONTROLS 171Control Is in Your Hand 172You’ve Got the Touch 175Dance, Monkey, Dance 177Poetry in motion 180All the right moves 182Character or Camera Relative? 183Shake, Rattle, and Roll 185LEVEL 8 SIGN LANGUAGE: UI, HUD, AND ICON DESIGN 189How to Create UI 191Heads Up! 192Health Bar 193Targeting Reticule 194Ammo Gauge 195Inventory 196Score/Experience 196Positive Messaging 197Money/Resources 198Radar/Map 198Context-Sensitive Prompts 200Timer 201Player Name/Portrait 201The Clean Screen 202Iconography 203Creating Icons for Mobile Games 206Don’t Get QTE 208HUDs and Where to Stick ‘Em 210There Are Other Screens Than the HUD 211Starting with the Start Screen 211Let’s Pause (Screen) for a Moment 213Let Me Load (Screen) that For You 216Getting in Control 217What’s the Score? 218The Rest of the Stuff 219A Final Word on Fonts 219Game Over 220Wrapping it up 221LEVEL 9 EVERYTHING I LEARNED ABOUT LEVEL DESIGN, I LEARNED FROM LEVEL 9 223The Top 10 Cliché Video Game Themes 226The Name Game 232Everything I Learned About Level Design, I Learned from Disneyland 234Mapping the World 235Foreshadowing 236Goal Setting 237Following Procedure 239You’ve Got the Beat 240Re-using Re-use 243The Gary Gygax Memorial Mapping Section 243Sandbox Play 246Illusional Narrative 249The Dave Arneson Memorial Mapping Section 250Wrapping Up Mapping 261Gray Matters 264Let’s Get Fighty 266Leave the Training Level for Last 266Levels without Characters 267LEVEL 10 THE ELEMENTS OF COMBAT 269400 Quatloos on the Newcomer! 271Put ‘Em Up! 274And a One and a Two 278The Big Finish 280Live by the Sword 282Now You Have to Kiss Me 285Let’s Get Defensive 285Dodging the Bullet 288On Guarding 289Watch Out! 289State of the Art Bang Bang 293The Best Gun for You 298Run and Gun 302Not Just Shooting 305Dang it, Jones! Where Doesn’t It Hurt? 309Death: What Is It Good For? 311Conflict Without Combat 313LEVEL 11 THEY ALL WANT YOU DEAD 317Sizing Up the Enemy 319Bad Behavior 320How Rapid is Rapid? 324Movement Style 327Bring on the Bad Guys 329I Love Designing Enemies 338I Hate You to Pieces 340Non-Enemy Enemies 342How to Create the World’s Greatest Boss Battle 343Who’s the Boss? 344Size Matters 346Location, Location, Location 350Why Not to Create the World’s Greatest Boss Battle 352LEVEL 12 THE NUTS AND BOLTS OF MECHANICS 355The Mechanics of Mechanics 355Other Types of Mechanics 359Match Three Mechanics 359Racing Game Mechanics 361Holy Death Trap! 362What I Learned from Making Kids Cry 365Time to Die 366The Music of Mechanics 369Chip Off the Old Block 372A Nice Little Calm Spot 375Riddle Me This 376Puzzle Me That 380Minigames and Microgames 382LEVEL 13 NOW YOU’RE PLAYING WITH POWER 385Powering Up 385“Love Thy Player” 392Seriously “Love Thy Player” 394More Wealth Than You Can Imagine! 395High Score 398Achievements 399Money! Money! Money! 400Souvenirs 403Bonus Section about Bonus Features 404How to Win at Losing 407LEVEL 14 MULTIPLAYER—THE MORE THE MERRIER 411How Many Is the Right Number? 416MMORPGS, or Hell Is Other People 417Designing Multiplayer Levels 422Planning Your Level 422Mapping Your Level 423Building Your Level 424The Dirty Half Dozen 424LEVEL 15 REALITY CHECK: VR, AR, XR, AND BEYOND 427Designing for VR 431Practically Unreal 433The Many Worlds of Virtual Reality 435Real Life, but Better 437Augment This 439The X Factor 440Reality Is the Best Virtual World 441The Happiest Places on Earth 442LEVEL 16 EVERYBODY WINS: MONETIZATION AND MARKETING 445Back to Business 448Cashing In 449Money Is the Root of Something Something 451Designing It In 455Marketing: A Million Voices Yelling “Look at Me” 458Catch and Release 459LEVEL 17 SOME NOTES ON MUSIC 463Pitch Perfect Design 464I Know It When I Hear It 465Music with Style 466And the Beat Goes On 467Sounds Like a Game to Me 470Orchestrating it all 474LEVEL 18 NO ONE’S GOING TO WATCH THEM ANYWAY 477A Cut Above 478How to Write a Screenplay in Eight Easy Steps 480Finding Your Voice 483LEVEL 19 THE PLAY’S THE THING 487Thinking in Systems 487A Delicate Balancing Act 492Emergence, Eschmergence 493Up to the Test 494Play’s the Thing 495LEVEL 20 AND NOW THE HARD PART 499The Pitch 499No One Cares About Your Stupid Little World 502Who’s Paying? 505Video Games Is a Haaaard Business 507When Reality Gets in the Way 507Vertical or Horizontal? 510Expectations of the Game Designer Position 513What to Do for an Encore? 514LEVEL 21 CONTINUE? 517BONUS LEVEL 1 THE ONE-SHEET SAMPLE 519BONUS LEVEL 2 THE TEN-PAGE DESIGN DOCUMENT SAMPLE 523Page 1: Title Page 524Page 2: Story and Gameplay 525Page 3: Character(s) and Controls 526Page 4: Gameplay Overview 527Page 5: Gameplay Overview (continued) 528Page 6: Gameplay Experience 529Page 7: Mechanics and Modes 530Page 8: Enemies and Bosses (If Applicable) 531Page 9: Expandability and Replay 532Page 10: Monetization 533BONUS LEVEL 3 GAME DESIGN DOCUMENT TEMPLATE 535Cover 536Your Game’s Title 536GDD Outline 537BONUS LEVEL 4 HIGH-CONCEPT PITCH PRESENTATION 543Slide 1: Title Page 543Slide 2: Company Profile 544Slide 3: Target Specs 545Slide 4: Game Story 545Slide 5: Game Features 546Slide 6: Gameplay Summary 547Slide 7: Gameplay Details 548Slide 8: Monetization and Download Strategy 549Slide 9: Production Specs 549BONUS LEVEL 5 PLAYTEST QUESTIONNAIRE 551BONUS LEVEL 6 ACHIEVEMENT UNLOCKED: EXACTLY LIKE MAKING CHILI 553Index 555
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.
Java Essentials For Dummies
SWIFTLY BRUSH UP ON THE FOUNDATIONS OF JAVA PROGRAMMINGJava Essentials For Dummies is a reliable and succinct reference on the core components of Java—the multifaceted general-purpose language used for desktop, mobile, and web applications. This straightforward book gets right to the point—eliminating review material and wordy explanations—so you get what you need, fast.* Strengthen your understanding of the basics of coding with Java* Review what you've already learned or pick up key skills* Use Java to build a variety of applications and more* Jog your memory on the essentials as you work and get clear answers to your questionsPerfect for supplementing classroom learning, reviewing for a certification, or staying knowledgeable on the job, Java Essentials For Dummies is a direct reference that's great to keep on hand as an everyday desk reference. DOUG LOWE is a computer programming guru and author of more than 30 tech books, including Java All-in-One For Dummies. PAUL MCFEDRIES is a long-time technical author with more than 100 published titles, including Web Coding & Development All-in-One For Dummies.
Python für Ingenieure und Naturwissenschaftler (5. Auflg.)
Python für Ingenieure und NaturwissenschaftlerIdeal für Einsteiger:innen und Umsteiger:innenSie möchten Python als erste Programmiersprache erlernen oder die grundlegenden mathematisch-naturwissenschaftlichen Python-Bibliotheken kennen lernen? Dieses Buch bietet einen Einstieg in die Programmierung und die mathematischen Anwendungen von Python.Es eignet sich besonders für Studierende im Nebenfach Informatik, z.B. Ingenieur:innen oder Naturwissenschaftler:innen, und setzt keine Vorkenntnisse voraus. Auch Personen mit Programmiererfahrung finden in diesem Buch einen Einstieg in die wichtigsten mathematisch-naturwissenschaftlichen Python-Bibliotheken.Schwerpunkte des Buches sind die mathematischen Anwendungen sowie die Arbeit mit Numpy, Matplotlib, Sympy, Scipy, Scikit-Image und VPython. Mit zahlreichen Aufgaben und ausführlich kommentierten Lösungen.Neu in der 5. Auflage: Kapitel "Funktionales Programmieren" und "Einführung in die Gestaltung grafischer Benutzeroberflächen mit Tkinter" sowie neue Unterkapitel bei "Numerische Berechnungen mit Numpy" und "Numerische Analysen mit Scipy".Über den Autor:Prof. Dr. Hans-Bernhard Woyand lehrt Maschinenbau-Informatik an der Bergischen Universität Wuppertal und ist Autor zahlreicher Bücher.