Programmierung
Functional Programming in R 4
Master functions and discover how to write functional programs in R. In this book, updated for R 4, you'll learn to make your functions pure by avoiding side effects, write functions that manipulate other functions, and construct complex functions using simpler functions as building blocks.In Functional Programming in R 4, you’ll see how to replace loops, which can have side-effects, with recursive functions that can more easily avoid them. In addition, the book covers why you shouldn't use recursion when loops are more efficient and how you can get the best of both worlds.Functional programming is a style of programming, like object-oriented programming, but one that focuses on data transformations and calculations rather than objects and state. Where in object-oriented programming you model your programs by describing which states an object can be in and how methods will reveal or modify that state, in functional programming you model programs by describing how functions translate input data to output data. Functions themselves are considered to be data you can manipulate and much of the strength of functional programming comes from manipulating functions; that is, building more complex functions by combining simpler functions.WHAT YOU'LL LEARN* Write functions in R 4, including infix operators and replacement functions* Create higher order functions* Pass functions to other functions and start using functions as data you can manipulate* Use Filer, Map and Reduce functions to express the intent behind code clearly and safely* Build new functions from existing functions without necessarily writing any new functions, using point-free programming* Create functions that carry data along with themWHO THIS BOOK IS FORThose with at least some experience with programming in R.THOMAS MAILUND is Senior Software Architect at Kvantify, a quantum computing company from Denmark. He has a background in math and computer science. He now works on developing algorithms for computational problems applicable for quantum computing. He previously worked at the Bioinformatics Research Centre, Aarhus University, on genetics and evolutionary studies, particularly comparative genomics, speciation, and gene flow between emerging species. He has published Beginning Data Science in R with Apress, as well as other books out there.1. Functions in R2. Pure Functional Programming3. Scope and Closures4. Higher-order Functions5. Filer, Map, and Reduce6. Point-free Programming Afterword
C von A bis Z (5. Auflg.)
Das umfassende Handbuch. Hochdosiertes C-Wissen in 5. Auflage.Der beliebte Klassiker unter den Programmierbüchern neu aufgelegt! Aktuell zum Standard C23, von einem Autorenteam aus Praxis und Lehre. Lassen Sie sich umfassend einführen oder nutzen Sie das Buch als Nachschlagewerk. Von den Grundlagen über die dynamische Speicherverwaltung bis zur plattformübergreifenden Entwicklung. Randvoll mit hilfreichen Übungen, Beispielen und Praxistipps – C-Wissen pur!C von A bis ZLernen Sie C:C vereint die Eigenschaften Maschinennähe und Portabilität. Seit Jahren ist sie damit eine Programmiersprache erster Wahl. Hier erhalten Sie einen ausführlichen Einstieg.Einsteigen, programmieren, nachschlagen:Zu jedem C-Thema finden Sie ausführliche Erklärungen. Sowohl Einsteiger als auch Profis kommen voll auf ihre Kosten.Datentypen, Operatoren, Funktionen... :... Arrays, Pointer, dynamische Speicherverwaltung und Zeitroutinen bleiben kein Geheimnis. Praktische Beispiele veranschaulichen das Gelernte.Vollständiges C-Wissen:Threadprogrammierung, Sicherheit, Netzwerkprogrammierung und Datenbanken – auch anspruchsvolle Themen lässt dieses Buch nicht aus.Aus dem InhaltDatenstrukturenAlgorithmenSicherheitDynamische SpeicherverwaltungNetzwerkprogrammierungCross-Plattform-EntwicklungParallele ProgrammierungAuf Datenbanken zugreifenÜber den Autor:Jürgen Wolf ist Programmierer, Digitalfotograf und Autor aus Leidenschaft. C/C++, Linux und die Bildbearbeitung mit Photoshop Elements und GIMP sind seine Themen.René Krooß ist Diplom-Informatiker, begeisterter Programmierer und Experte für Prozessorstrukturen, Betriebssysteme, Hardware-Programmierung und Algorithmen.Leseprobe (PDF-Link)
C von A bis Z
Unser beliebter Klassiker in fünfter Auflage. Zum aktuellen Standard C23 und mit einem Autorenteam aus Praxis und Lehre. Lassen Sie sich umfassend einführen oder nutzen Sie das Buch als Nachschlagewerk. Von den Grundlagen über die dynamische Speicherverwaltung bis zur plattformübergreifenden Entwicklung. Randvoll mit hilfreichen Beispielen und Praxistipps – C-Wissen pur! Aus dem Inhalt: DatenstrukturenAlgorithmenSicherheitDynamische SpeicherverwaltungNetzwerkprogrammierungCross-Plattform-EntwicklungParallele ProgrammierungAuf Datenbanken zugreifenCodebeispiele und Praxistipps Vorwort ... 25 1. Einstieg in C ... 27 1.1 ... Übersicht zu C ... 27 1.2 ... Der ANSI-C-Standard ... 29 1.3 ... Der POSIX-Standard ... 32 1.4 ... Vor- und Nachteile der Programmiersprache C ... 33 1.5 ... C in diesem Buch ... 34 1.6 ... Was benötigen Sie für C? ... 35 1.7 ... Welcher Compiler und welches Betriebssystem? ... 37 1.8 ... Unterschiede zwischen Windows und Linux ... 38 1.9 ... Eine Programmierumgebung einrichten am Beispiel von Pelles C 8.00 für Windows ... 38 1.10 ... Eine Programmierumgebung einrichten - Nano/GCC für Linux ... 47 2. Eine günstige Programmierplattform - der Raspberry Pi ... 49 2.1 ... Was genau ist der Raspberry Pi? ... 50 2.2 ... Installation eines Linux-Betriebssystems am Beispiel von Raspberry Pi OS ... 54 2.3 ... Die Konfiguration des Raspberry Pi im Detail ... 63 2.4 ... Das Tool raspi-config ... 63 3. Das erste Programm ... 69 3.1 ... Was leistet der Editor? ... 70 3.2 ... Was leistet der Compiler? ... 70 3.3 ... Was sind Include-Dateien, und wozu benötigt man sie? ... 71 3.4 ... Das erste Programm - die Ausgabe eines Textes in der Konsole ... 71 3.5 ... Das Hallo-Welt-Programm im Detail ... 72 3.6 ... Wie kompiliert man ein Programm und führt es anschließend aus? ... 75 4. Grundlagen ... 77 4.1 ... Symbole ... 77 4.2 ... Zeichensätze ... 84 4.3 ... Strings ... 89 4.4 ... Das Einführungsbeispiel mit Strings ... 90 5. Basisdatentypen ... 91 5.1 ... Was ist ein Byte, und wie werden Zahlen in C gespeichert? ... 91 5.2 ... Was ist eine Variable, und was ist ein Variablentyp? ... 92 5.3 ... Was ist ein Operand? ... 93 5.4 ... Was ist ein Parameter? ... 93 5.5 ... Wie speichert ein Prozessor Variablen, Parameter und Operanden? ... 93 5.6 ... Was sind Speicheradressen, und warum sind sie wichtig für C? ... 93 5.7 ... Deklaration und Definition von Variablen ... 94 5.8 ... Array-Datentypen (Datenfelder) ... 96 5.9 ... Standard-Datentypen ... 96 5.10 ... Ganzzahlige Typen mit vorgegebener Breite - ... 103 5.11 ... Die Gleitpunkttypen »float« und »double« ... 107 5.12 ... Komplexe Gleitpunkttypen - ... 115 5.13 ... Der Datentyp »char«, Standardgröße 1 Byte ... 117 5.14 ... Nationale contra internationale Zeichensätze ... 123 5.15 ... Boolesche Werte - ... 127 5.16 ... Der Unterschied zwischen vorzeichenlosen und vorzeichenbehafteten Zahlen ... 128 5.17 ... Limits für Ganzzahl- und Gleitpunktdatentypen ... 130 5.18 ... Der Typ »void« ... 134 5.19 ... Numerische Konstanten ... 134 5.20 ... Umwandlungsvorgaben für formatierte Ein-/Ausgabe ... 136 6. Formatierte Ein-/Ausgabe mit »scanf()« und »printf()« ... 145 6.1 ... Formatierte Eingabe mit »scanf()« ... 145 6.2 ... Formatierte Ausgabe mit »printf()« ... 155 7. Operatoren ... 159 7.1 ... Was sind Operatoren, und wozu benötigt man sie in C? ... 159 7.2 ... Arithmetische Operatoren ... 160 7.3 ... Erweiterte Darstellung arithmetischer Operatoren ... 164 7.4 ... Inkrement- und Dekrement-Operatoren ... 165 7.5 ... Bit-Operatoren ... 167 7.6 ... Makros für logische Operatoren und Bit-Operatoren - ... 175 7.7 ... Der »sizeof«-Operator ... 176 8. Typumwandlung ... 179 8.1 ... Automatische implizite Datentypumwandlung durch den CCompiler ... 179 8.2 ... Wozu benötigt man das benutzerdefinierte explizite Typecasting? ... 184 8.3 ... Explizite Datentypumwandlung mit Typecasting an Beispielen ... 184 9. Kontrollstrukturen ... 187 9.1 ... Verzweigungen mit der »if«-Bedingung ... 188 9.2 ... Die Verzweigung mit »else if« ... 192 9.3 ... Die Verzweigung mit »else« ... 194 9.4 ... Der !-Operator (logischer NOT-Operator) ... 198 9.5 ... Logisches UND (&&) - logisches ODER (||) ... 200 9.6 ... Der Bedingungsoperator »?:« ... 203 9.7 ... Fallunterscheidung: die »switch«-Verzweigung ... 205 9.8 ... Die »while«-Schleife ... 210 9.9 ... Die »do while«-Schleife ... 214 9.10 ... Die »for«-Schleife ... 219 9.11 ... Kontrollierter Ausstieg aus Schleifen mit »break« ... 227 9.12 ... Direkte Sprünge mit »goto« ... 229 9.13 ... Einige Anmerkungen zum Notationsstil, ehe Sie weiterlesen ... 229 9.14 ... Einige Anmerkungen zu einem guten Programmierstil ... 230 10. Funktionen ... 233 10.1 ... Was sind Funktionen? ... 233 10.2 ... Wozu dienen Funktionen? ... 234 10.3 ... Definition von Funktionen ... 234 10.4 ... Funktionsaufruf ... 235 10.5 ... Funktionsdeklaration ... 237 10.6 ... Lokale Variablen ... 239 10.7 ... Globale Variablen ... 241 10.8 ... Statische Variablen ... 243 10.9 ... Schlüsselwörter für Variablen - Speicherklassen ... 244 10.10 ... Typ-Qualifizierer ... 245 10.11 ... Geltungsbereich von Variablen ... 246 10.12 ... Speicherklassen-Spezifizierer für Funktionen ... 248 10.13 ... Datenaustausch zwischen Funktionen ... 249 10.14 ... Wertübergabe an Funktionen (Call-by-Value) ... 250 10.15 ... Der Rückgabewert von Funktionen ... 254 10.16 ... Die Hauptfunktion »main()« ... 256 10.17 ... Was bedeutet der Rückgabewert beim Beenden eines Programms? ... 258 10.18 ... Funktionen der Laufzeitbibliothek ... 262 10.19 ... Getrenntes Kompilieren von Quelldateien ... 263 10.20 ... Rekursive Funktionen (Rekursion) ... 265 10.21 ... »inline«-Funktionen ... 278 11. Präprozessor-Direktiven ... 281 11.1 ... Mit »#include« Dateien einbinden ... 282 11.2 ... Wichtige vordefinierte Headerdateien für C ... 283 11.3 ... Makros und Konstanten - »#define« ... 285 11.4 ... Bedingte Kompilierung mit »#ifdef« ... 294 11.5 ... Vordefinierte Präprozessor-Direktiven (ANSI C) ... 300 11.6 ... Einen Makroparameter durch einen String ersetzen ... 302 11.7 ... »#undef« - Makronamen wieder aufheben ... 304 11.8 ... Fehlermeldungen ausgeben mit »#error« ... 304 11.9 ... »#pragma« (gilt nur für Windows) ... 306 12. Arrays ... 307 12.1 ... Arrays deklarieren ... 308 12.2 ... Initialisierung und Zugriff auf Arrays ... 309 12.3 ... Arrays vergleichen ... 316 12.4 ... Anzahl der Elemente eines Arrays ermitteln ... 318 12.5 ... Übergabe von Arrays an Funktionen ... 319 12.6 ... Arrays aus Funktionen zurückgeben ... 322 12.7 ... Programmbeispiel zu Arrays ... 323 12.8 ... Array-Werte über die Tastatur einlesen ... 327 12.9 ... Mehrdimensionale Arrays ... 328 12.10 ... Arrays in eine Tabellenkalkulation einlesen (CSV-Dateien) ... 343 12.11 ... Strings/Zeichenketten (»char«-Array) ... 345 12.12 ... Einlesen von Strings ... 352 12.13 ... Die Standard-Bibliothek ... 355 13. Zeiger (Pointer) ... 369 13.1 ... Der Unterschied zwischen einer normalen Variablen und einem Zeiger ... 369 13.2 ... Zeiger deklarieren ... 370 13.3 ... Zeiger initialisieren ... 371 13.4 ... Zeigerarithmetik ... 384 13.5 ... Zeiger, die auf andere Zeiger verweisen ... 385 13.6 ... Typensicherung bei der Dereferenzierung ... 388 13.7 ... Zeiger als Funktionsparameter (Call-by-Reference) ... 389 13.8 ... Array und Zeiger ... 396 13.9 ... Zeiger auf Strings ... 403 13.10 ... Zeiger auf Zeiger und Stringtabellen ... 405 13.11 ... Zeiger auf Funktionen ... 415 13.12 ... void-Zeiger ... 420 13.13 ... Äquivalenz zwischen Zeigern und Arrays ... 424 13.14 ... Der »restrict«-Zeiger ... 426 14. Kommandozeilenargumente ... 429 14.1 ... Argumente an die Hauptfunktion übergeben ... 430 14.2 ... Argumente aus der Kommandozeile auswerten ... 435 15. Dynamische Speicherverwaltung ... 441 15.1 ... Das Speicherkonzept ... 442 15.2 ... Speicherallokation mit »malloc()« ... 444 15.3 ... Das NULL-Mysterium ... 447 15.4 ... Speicherreservierung und ihre Probleme ... 451 15.5 ... »free()« - Speicher wieder freigeben ... 452 15.6 ... Dynamische Arrays ... 460 15.7 ... Speicher dynamisch reservieren mit »realloc()« und »calloc()« ... 464 15.8 ... Speicher vom Stack anfordern mit »alloca()« (nicht ANSI C) ... 468 15.9 ... Ergänzende Anmerkungen zu »free()« ... 468 15.10 ... Zweidimensionale dynamische Arrays ... 469 15.11 ... Was muss man tun, wenn die Speicherallokation fehlschlägt? ... 472 16. Strukturen ... 479 16.1 ... Benutzerdefinierte Typendefinitionen mit »typedef« ... 479 16.2 ... Was ist ein strukturierter Datentyp, und wozu benötigt man ihn in C? ... 479 16.3 ... Strukturen mit »typedef struct« deklarieren ... 480 16.4 ... Initialisierung und Zugriff auf Strukturen ... 482 16.5 ... Strukturen als Wertübergabe an eine Funktion benutzen ... 491 16.6 ... Strukturen als Rückgabewert einer Funktion benutzen ... 493 16.7 ... Strukturen miteinander vergleichen ... 495 16.8 ... Arrays von Strukturen erstellen ... 497 16.9 ... Strukturen in Strukturen (Nested Structures) ... 504 16.10 ... Weitere spezielle Datentypen ... 514 16.11 ... Attribute von Strukturen verändern ... 524 16.12 ... Bitfelder ... 528 16.13 ... Das »offsetof«-Makro ... 535 17. Ein-/Ausgabe-Funktionen ... 537 17.1 ... Was ist eine Datei aus Sicht der Programmiersprache C? ... 537 17.2 ... Formatierte und unformatierte Ein-/Ausgabe ... 538 17.3 ... Höhere Ein-/Ausgabe-Funktionen mit ... 538 17.4 ... Streams (Ein-/Ausgabe-Datenströme) ... 566 17.5 ... Spezielle Ein-/Ausgabe-Funktionen für Streams ... 595 17.6 ... Low-Level-Datei-I/O-Funktionen (nicht ANSI C) ... 641 18. Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C) ... 673 18.1 ... Die Attribute einer Datei mit »stat()« ermitteln ... 673 18.2 ... Prüfen des Zugriffsrechts mit »access()« ... 691 18.3 ... Verzeichnisfunktionen ... 693 19. Arbeiten mit variabel langen Argumentlisten - ... 705 19.1 ... Was ist eine Ellipse, und wie werden mit ihr Parameter übergeben? ... 705 19.2 ... Wie kann man mit die Parameterliste abfragen? ... 706 19.3 ... Makros in - »va_list«, »va_arg«, »va_start« und »va_end« ... 706 19.4 ... Die Argumentliste am Anfang oder Ende kennzeichnen ... 707 19.5 ... »vprintf()«, »vsprintf()«, »vfsprintf()« und »vsnsprintf()« ... 712 19.6 ... Variadic Makros - __VA_ARGS__ ... 716 20. Zeitroutinen ... 721 20.1 ... Die Headerdatei ... 721 20.2 ... Laufzeitmessung (Profiling) ... 734 20.3 ... Besonderheiten beim Raspberry Pi ... 735 21. Weitere Headerdateien und ihre Funktionen (ANSI C) ... 737 21.1 ... Testmöglichkeiten und Fehlersuche - ... 738 21.2 ... Zeichenklassifizierung und Umwandlung - ... 739 21.3 ... Mathematische Funktionen - , und ... 744 21.4 ... Einige nützliche Funktionen in ... 758 21.5 ... Länderspezifische Eigenheiten - ... 778 21.6 ... Nichtlokale Sprünge - ... 782 21.7 ... Einige nützliche Funktionen in ... 786 21.8 ... Die »mem...«-Funktionen zur Speichermanipulation - ... 791 22. Dynamische Datenstrukturen ... 797 22.1 ... Lineare Listen (einfach verkettete Listen) ... 797 22.2 ... Doppelt verkettete Listen ... 832 22.3 ... Stacks nach dem LIFO-(Last-in-first-out-)Prinzip ... 849 22.4 ... Queues nach dem FIFO-Prinzip ... 870 22.5 ... Dynamisches Array mit flexiblen Elementen ... 879 23. Algorithmen ... 881 23.1 ... Was sind Algorithmen? ... 881 23.2 ... Einige einfache Beispiele für Algorithmen ... 883 23.3 ... Kryptografische Algorithmen ... 969 24. MySQL und C ... 1027 24.1 ... Aufbau eines Datenbanksystems ... 1027 24.2 ... MySQL installieren ... 1033 24.3 ... Crashkurs SQL ... 1037 24.4 ... Die MySQL-C-API ... 1052 24.5 ... MySQL und C mit CGI ... 1083 24.6 ... Funktionsübersicht ... 1101 24.7 ... Datentypenübersicht der C-API ... 1105 24.8 ... Weiterführende Literatur zu Datenbanken ... 1105 25. Netzwerkprogrammierung und Cross-Plattform-Entwicklung ... 1107 25.1 ... Begriffe zur Netzwerktechnik ... 1107 25.2 ... Was sind Sockets und wie legt man sie in C an? ... 1114 25.3 ... Headerdateien für die Netzwerkprogrammierung ... 1115 25.4 ... Das Client-Server-Prinzip ... 1118 25.5 ... Erstellen einer Client-Anwendung ... 1120 25.6 ... Erstellen einer Server-Anwendung ... 1130 25.7 ... Ein einfacher TCP-Echo-Server ... 1135 25.8 ... Cross-Plattform-Development ... 1143 25.9 ... Weitere Anmerkungen zur Netzwerkprogrammierung und Literaturempfehlungen ... 1166 26. Paralleles Rechnen ... 1173 26.1 ... Was ist Multitasking und wie wird es realisiert? ... 1173 26.2 ... Braucht man spezielle Prozessoren für Multitasking? ... 1174 26.3 ... Braucht man spezielle Multitasking-Betriebssysteme? ... 1177 26.4 ... Programmiertechniken der Parallelisierung ... 1177 26.5 ... Vom Prozess zum Thread ... 1179 26.6 ... Mit POSIX-Threads programmieren ... 1182 27. Sicheres Programmieren ... 1193 27.1 ... Buffer Overflow (Speicherüberlauf) ... 1194 27.2 ... Warum sind Buffer Overflows kritisch für die Sicherheit? ... 1195 27.3 ... Wie man Buffer Overflows vermeidet ... 1202 27.4 ... Gegenmaßnahmen zum Buffer Overflow, wenn das Programm fertig ist ... 1205 27.5 ... Stack Overflow (Stapelüberlauf) ... 1210 27.6 ... Was verursacht Stack Overflows? ... 1210 27.7 ... Warum ist ein Stapelüberlauf kritisch für die Sicherheit? ... 1210 27.8 ... Wie man Stack Overflows verhindert ... 1211 27.9 ... Memory Leaks (Speicherlecks) ... 1212 27.10 ... Bibliotheken und Tools zu Memory Leaks ... 1216 27.11 ... Tipps zu Sicherheitsproblemen ... 1217 28. Wie geht's jetzt weiter? ... 1219 28.1 ... GUI-Programmierung - grafische Oberflächen ... 1220 28.2 ... Grafikprogrammierung unter Windows ... 1223 Anhang ... 1241 A ... Operatoren ... 1241 Index ... 1247
Designing Applications for Google Cloud Platform
Learn how to use Google Cloud Platform (GCP) and its services to design, build, and deploy applications. This book includes best practices, practical examples, and code snippets written in Java, making it a key resource for developers seeking hands-on experience with GCP.You'll begin with an introduction to GCP services and a review of what Java offers while developing applications for GCP. Next, you'll be walked through how to set up Google App Engine, Google Storage Cloud, and Google Cloud SQL with use cases, as well as application development and deployment. As the book progresses, you'll be exposed to advanced GCP services, deploying and scaling applications on GCP services, and troubleshooting and optimization of Java applications on GCP. The book uses real-world examples to help you understand how GCP services can solve everyday problems.After completing this book, you will understand Google Cloud Platform and its services, and will have the knowledge needed to design, build, and deploy your own applications on GCP using Java.WHAT YOU'LL LEARN* Create a GCP project, configure authentication and authorization, and deploy a sample application.* Use GCP services to solve common problems and apply them to real-world scenarios* Implement GCP services such as Datastore, SQL, and Spanner* Leverage GCP tools such as the SDK and Cloud ShellWHO THIS BOOK IS FORSoftware developers, Cloud architects, and managers looking to design and build applications for Google Cloud Platform. This book is for those with software development experience who are familiar with Java programming. It is also suitable for those new to GCP who have a basic understanding of cloud computing concepts.ASHUTOSH SHASHI is a TOGAF 9 certified enterprise architect, a seasoned software engineer, and a cloud architect with over 18 years of experience in the industry. He has worked on multiple projects using various technologies and platforms, from small startups to large enterprise systems. He has helped many organizations design and build robust and scalable applications on GCP. Apart from GCP, he has extensive experience and expertise in AWS and Azure cloud platforms. Ashutosh lives in Duluth, Georgia, US. In his free time, he enjoys hiking and spending time with his family. He also loves to travel and explore different cultures.Chapter 1: Introduction to Google Cloud Platform.- Chapter 2: Setting up the Development Environment.- Chapter 3: Google App Engine.- Chapter 4: Data Storage in Google Cloud.- 5: Google Cloud SQL.- Chapter 6: Advanced GCP Services.- Chapter 7: Deployment and Scaling.- Chapter 8: Troubleshooting and Optimization.- Chapter 9: Conclusion.
Pro Jakarta EE 10
Welcome to your in-depth professional guide to the open source Eclipse Jakarta EE 10 platform. This book will help you build more complex native enterprise Java-based cloud and other applications that can run in corporate and other mission-critical settings. The majority of the key Jakarta EE 10 APIs or features are dissected in this book, including JSF, JSP, JPA, CDI, REST, Microprofiles, WebSockets, and many more. Along the way, various open source Apache, Eclipse, and other projects are integrated and used for more complete workflows and treatment in general.Jakarta EE 10 comes with a significant number of improvements over Java EE 9 technologies and adopts a series of new technologies. This book starts out with a concise development procedure proposal and shows NetBeans as an alternative IDE to Eclipse. It also talks about versioning, software repositories, and continuous integration techniques. The web tier of enterprise application architectures is covered, including state-of-the-art techniques such as web sockets and front end (JavaScript) related frameworks.The book presents a survey of architecture-related advanced topics, including micro profiles. In a supporting technologies chapter, JSON and XML processing methods are revisited and deepened, and the usage of scripting engines is introduced.A resources chapter discusses enterprise resource integration, such as resource adapters and Hibernate as a mapper between the SQL and the Java world. Also covered is the usage of no-SQL databases. A security chapter shows advanced security enhancement techniques for use of Jakarta EE in corporate environments. The last chapter talks about advanced logging and monitoring techniques, serving both developers and operations staff.WHAT YOU WILL LEARN* Build complex Jakarta EE applications that run in corporate or other enterprise settings* Create a professional development workflow using Jakarta EE* Build more advanced web development applications* Work with more advanced supporting technologies to increase application maturity and stability in a corporate environment * Do enterprise resource integration, including custom resource adapters* Utilize security enhancements of enterprise-level Jakarta EE applications* Leverage techniques to monitor and log in a corporate environment, including memory usage and performance troubleshootingWHO THIS BOOK IS FORExperienced Java programmers and web developers, especially those with some prior experience with the Java EE platformPETER SPÄTH graduated in 2002 as a physicist and soon after became an IT consultant, mainly for Java-related projects. In 2016 he decided to concentrate on writing books, with his main focus set on software development. He has written two books on graphics and sound processing and two books on Android and Kotlin programming. His new book addresses Jakarta EE developers who want to develop enterprise-level Java applications using Java 8.1. About MVC - Model, View, Controller* History of MVC* MVC in Web Applications* MVC for Java* Finally, Java MVC (JSR-371)* Why MVC* Where is Hello World?2. Prerequisite - Jakarta EE / Java EE* The Nature of Java for Enterprise Applications* Glassfish, a Free Java Server* Using a Preinstalled Java Server* Learning Java for Enterprise Applications* RESTful Services3. Development Workflow* Using Gradle as a Build Framework* Using Eclipse as an IDE* More About Gradle* Developing Using the Console* Installing MVC4. Hello World for Java MVC* Starting The Hello World Project* The Hello World Model* The Hello World View* The Hello World Controller* Using Gradle to Build Hello World* Starting a Jakarta EE Server* Deploying and Testing Hello World5. Start Working With Java MVC* Handling User Input From Forms* Exception Handling in Java MVC* Non-String Post Parameters6. In-Depth Java MVC* The Model* The View: JSPs* The View: Facelets* The Controller7. In-Depth Java MVC - Part II* Injectable Context* Handling State* Dealing With Page Fragments* Observers* Accessing the Context* Configuration8. Internationalization* Formatting of Data in the View* Localized Messages* Localized Data Conversion9. Connecting Java MVC to a Database* Using Plain JDBC* Using JPA10. Java MVC and EJBs* What are EJBs* Starting an EAR Project* Defining EJBs* Referring to EJBs from Java MVC11. Logging Java MVC Applications* Using Java Standard Logging* Using Log4j2* Using SLF4J12. A Java MVC Example Application* The BooKlubb Member Administration* The BooKlubb Model* The BooKlubb Controller* The BooKlubb View* Deploying and Testing BooKlubb(13. Debugging Java MVC Applications* Debugging From Eclipse* Starting a Debugging Session* Breakpoints14. Security in Java MVC* Standard Security Means* Built-In Additional Security Means)
COBOL - Altsysteme warten und erweitern
Altsysteme warten und erweitern. 416 Seiten als ePub oder PDF erhältlich.Dieses Buch richtet sich an erfahrene Entwickler objektorientierter Sprachen wie C++ oder Java. Es vermittelt die Funktionsweise der Programmiersprache COBOL, um die in zahlreichen Implementierungen auf unterschiedlichen Plattformen immer noch produktiv laufenden COBOL-Programme zu verstehen, zu warten und bei Bedarf mit zusätzlichen Funktionalitäten zu erweitern. Dafür bietet es Ihnen sowohl eine grundlegende Einführung in die Programmierung mit COBOL als auch eine thematisch gegliederte Referenz der Befehle mit praktischen Beispielen.Da reine COBOL-Programme in der Praxis selten zu finden sind, geht ein weiterführendes Kapitel speziell auf die Anbindung an relationale Datenbanken und hierarchische Datenbanksysteme wie IMS ein. Auch COBOL auf Host-Systemen und die Besonderheiten der CICS-Programmierung werden thematisiert.Mit diesem praktischen Handbuch sind Sie in der Lage, COBOL-Programme in Produktivumgebungen selbstständig zu warten und weiterzuentwickeln.Aus dem Inhalt:Grundlegende SprachelementeDatenfelder, Daten-strukturen und DatensätzeOperationen und KontrollstrukturenTabellenverarbeitungInterne und externe UnterprogrammeSequenzielle und index-sequenzielle DateienDatenbankanbindung (SQL, IMS)Host-Systeme und CISLeseprobe (PDF-Link)Kostenlose Downloads zum Buch (zip-File vom mitp-Server)
App-Entwicklung mit Flutter für Dummies
Wie Sie mit dem Flutter-Framework Android- und iOS-Apps mit nur einer Code Base und ohne Qualitätsverlust entwickeln, das erfahren Sie hier! Nach einer Einführung in die Programmiersprache Dart lernen Sie das User Interface Design, die Anbindung an Schnittstellen oder Datenbanken, State-Management und Routing in der App kennen, bevor Sie die App auf Fehler testen und in den Stores von Google und Apple veröffentlichen. Alle Schritte vollziehen Sie im Buch an einer durchgängigen Beispiel-App nach. Cross-Plattform-App-Entwicklung? Mit diesem Buch echt einfach! Mira Jago ist Quereinsteigerin in die Programmierung, Tech-Mentorin für Startups und Unternehmerin mit eigener Flutter-Agentur in Hannover. Außerdem gibt sie Kurse zu Flutter. Die Nachfrage ist so hoch, dass sie sich am liebsten klonen würde.Verena Zaiser baute mit 11 Jahren ihre erste eigene Website. Schon in der Schulzeit programmierte sie für Kunden. Sie studierte Informatik und ist heute freiberufliche Mobile-App-Entwicklerin in Stuttgart - natürlich immer mit Flutter.
Spektrum Kompakt - Künstliche Gespräche
Bis vor wenigen Jahren waren Unterhaltungen mit Maschinen mühselig: Häufig musste man das richtige Schlagwort treffen, um verstanden zu werden – und selbst dann war der Erfolg nicht garantiert. Ganz andere Erfahrungen macht man hingegen mit dem im November 2022 erschienenen KI-Chat-bot »ChatGPT«. Nur allzu schnell kann man vergessen, dass es sich dabei um einen Algorithmus handelt. Auch wenn das System gelegentlich Fehler macht, ertappe ich mich häufg dabei, dass ein Gespräch in mir Emotionen wie Dankbarkeit (wenn ChatGPT mir weiterhelfen konnte) oder Ärger (wenn die KI mich doch missversteht) hervorruft. Aber wie viel können wir von den künstlichen Gesprächspartnern erwarten? In dieser Ausgabe ergründen wir die Funktionsweise der neuen Technologien und zeigen ihre Potenziale und ihre Grenzen auf. Dieses Editorial habe ich übrigens selbst geschrieben – keine KI. Viel Spaß bei der Lektüre wünscht Ihnen Manon Bischoff, Redaktion Spektrum der Wissenschaft
Visual Studio Code Distilled
Use Visual Studio Code to write and debug code quickly and efficiently on any platform, for any device, using any programming language, and on the operating system of your choice.Visual Studio Code is an open source and cross-platform development tool that focuses on code editing across a variety of development scenarios, including web, mobile, and cloud development. This third edition has been updated to match the latest releases of the environment. Additional updates relate to .NET 7 and explain how to consume AI services from code you write in Visual Studio Code. This new edition is also refreshed with the latest updates, such as enhanced merge editor, creating extensions, support for the Julia language, and much more.The book teaches you how to be immediately productive with Visual Studio Code, from the basics to some of the more complex topics. You will learn how to work on individual code files, complete projects, and come away with an understanding of advanced code-editing features that will help you focus on productivity, and source code collaboration with Git.WHAT YOU WILL LEARN* Get started with practical guidance on Visual Studio Code, including expansive guidance on writing apps with C# and Python* Understand how to edit individual files and how to work with folders by working on the latest workspace trust and multi-root workspaces* Debug code on multiple platforms through real-world guidance, such as working under corporate networks* Package code into Docker containers and deploy these to Azure* Acquire valuable tips, tricks, and suggestions from hard-earned, real-world experience to be more productiveWHO THIS BOOK IS FORAll developers (including JavaScript, Java, NodeJS), not just those with a Microsoft background, who will benefit from learning and using VS code as a cross-platform and cross-language toolALESSANDRO DEL SOLE is Senior Software Engineer for a healthcare company, building mobile apps for doctors and dialysis patients. He has been in the software industry for more than 20 years, focusing on Microsoft technologies such as .NET, C#, Visual Studio, and Xamarin. He has been a trainer, consultant, and a Microsoft MVP since 2008 and is the author of many technical books. He is a Xamarin Certified Mobile Developer, Microsoft Certified Professional, and a Microsoft Programming Specialist in C#.Chapter 1: Introducing Visual Studio CodeChapter Goal: this chapter will introduce Visual Studio Code as a development tool from Microsoft, discussing its open source and cross-platform nature, its goals and most typical usage scenarios, explaining how it works on Windows, macOS and Linux distributions.Chapter 2: Getting to know the WorkspaceChapter Goal: this chapter will explain the VS Code workspace, its menus, commands, toolbars, shortcuts and areas in the user interface the developer must know to get familiar with the environment.Chapter 3: Language support and code editing featuresChapter Goal: this chapter will explain what languages are supported out of the box and which are instead supported through extensibility and, more important, it will cover all the powerful code editing features that represent the core of this tool. This is definitely the most important chapter. This is updated according to the latest releases (e.g. support for Julia language).Chapter 4: Working with files and foldersChapter Goal: this chapter explains how to edit individual files and how to work with folders that contain multiple files (or projects) in a structured way, making the natural step forward after learning about code editing features. This is updated according to the releases of the latest 15 months (e.g. workspace trust, multi-root workspaces).Chapter 5: Customizing VS CodeChapter Goal: this chapter will talk about customizing preferences in the VS Code environment, such as themes, keyboard shortcuts, the code editor, network preferences and much more. This is updated according to the releases of the latest 15 monthsChapter 6: Managing extensionsChapter Goal: this chapter will explain how to extend Visual Studio Code by installing extensions such as additional languages, debuggers, code snippets and team collaboration tools. It will also provide a list of must-have extensions and it will explain how to customize extension settings. As a new topic, guidance on how to create extensions will be provided (this is also the reason why this chapter has been renamed).Chapter 7: Source control with GitChapter Goal: this chapter will discuss source control with Git, which is about how people in the development team can collaborate over the code. Common features such as committing changes, merging and branching will be discussed. As a bonus, this chapter will also discuss how to leverage the integrated Git support against Microsoft Azure DevOps and GitHub via an extension. This is updated according to the releases of the latest 15 months (e.g. enhanced merge editor)Chapter 8: Automating tasksChapter Goal: this chapter will discuss how to execute external tools and commands from VS Code (such as compilers), explaining how this goes beyond being a simple code editor. This is updated according to the releases of the latest 15 monthsChapter 9: Building and debugging codeChapter Goal: this is another key chapter, as it explains how powerful VS Code is as a development tool and not as a simple code editor, due to its capability of running and debugging code with integrated debuggers for .NET and Node.JS and with debuggers that can be installed as extensions. Examples of running and debugging code will be provided for .NET (C#), Node.JS (Java) and Docker. This has been renamed to appear less specific, but it will be updated to target .NET 7.Chapter 10: Writing applications with PythonChapter Goal: this chapter explains how VS Code can be used to build apps with the popular Python language, leveraging all the enhanced editing features described in Chapter 3 and the task automation features described in Chapter 8. It comes with fully working code examples.Chapter 11: Building applications for the CloudChapter Goal: this chapter explains how to set up VS Code to work with Microsoft Azure, installing the appropriate extensions and with practical examples about writing and deploying Azure functions. As a new topic, this chapter also describes how to package code into Docker containers and deploy these to Azure.Chapter 12: Consuming AI Services with VS CodeChapter Goal: this is a brand new chapter that wants to address a trending topic of these days: consuming AI services. In this chapter, code examples will be provided about consuming some of the AI services offered by MS Azure (e.g. Computer Vision API).
Fokus!
Du bist Product Owner. Die Aufgabe könnte kaum komplexer sein: Die Qualität eures Produkts hängt von deiner Arbeit ebenso ab wie ein wertschätzendes Miteinander. Auch Infrastruktur, Stakeholder und Terminpläne brauchen deine Aufmerksamkeit. Ihr liefert häufig und du musst stets wissen, wie es um den Fortschritt bestellt ist. Dieses Handbuch hilft dir, die Rolle in allen Facetten gut auszufüllen. Es bietet einen Überblick über Prinzipien, Aufgaben und Artefakte in Scrum, lehrt Grundlagen gelungener Kommunikation und eine Fülle ganz konkreter Vorgehensweisen. Du profitierst von der vielseitigen Erfahrung der Autor*innen im Coaching und in der Produktentwicklung. Lerne pfiffige Abläufe und robuste Methoden für verschiedene Projektsituationen kennen. Für den Einstieg und als Begleiter in der Praxis. Aus dem Inhalt: Weshalb Unternehmen agil arbeitenAufgaben in der Product-Owner-RolleMeetings und Retrospektiven gestaltenProduktstrategie und ZieleStory Mapping und ReleaseplanungKommunikation: POs als VermittlerGekonnt priorisierenDesign Thinking: Nutzer*innen beobachten und verstehenDatengetriebene ProduktentwicklungRisiken erkennenAgilität für ganze Unternehmen Vorwort ... 17 1. Gesucht: Product Owner (m/w/d) ... 19 1.1 ... Scrum - eine agile Allzweckmethode? ... 20 1.2 ... Product Owner*in - was ist das eigentlich? ... 25 1.3 ... Fünf Dinge, um die du dich wirklich kümmern musst ... 31 1.4 ... Was ist NICHT dein Job?! ... 40 2. Alles im Blick: die Produktübersicht ... 43 2.1 ... Viele verschiedene Perspektiven einbeziehen ... 44 2.2 ... Alles auf einem Blatt ... 45 2.3 ... Deine Vision zählt ... 48 2.4 ... Die Bedürfnisse der Kundschaft kennenlernen ... 50 2.5 ... Die Produktstruktur entwickeln ... 52 2.6 ... Der Return muss stimmen: Nutzen und wirtschaftliche Anreize ... 58 2.7 ... Unwägbarkeiten und Risiken konstruktiv wenden ... 60 2.8 ... Rechtliche Rahmenbedingungen einbeziehen ... 65 2.9 ... Die Abhängigkeiten ermitteln ... 66 2.10 ... Die Kommunikation mit den Stakeholder*innen aufbauen ... 70 2.11 ... Experimentiere dich an den Auftrag ran ... 73 2.12 ... Deine persönliche Überblicksroutine ... 75 3. Das Fundament: Projektmanagement ... 77 3.1 ... Meilensteine, Iterationen und das Produkt-Ziel ... 78 3.2 ... Deine Vorgehensstrategie entwickeln ... 83 3.3 ... Wie sag ich es den anderen? ... 88 3.4 ... Vom ersten Meilenstein zum Product Backlog ... 90 3.5 ... Produktarten und ihre Herausforderungen ... 93 4. Zeit für Feedback ... 99 4.1 ... Die Wissensspirale ... 100 4.2 ... Feedback: ehrliche Rückmeldungen für die Weiterentwicklung nutzen ... 102 4.3 ... Voraussetzungen für gute Feedback-Gespräche ... 104 4.4 ... Feedback-Regeln ... 107 4.5 ... Der Feedback-Canvas ... 108 4.6 ... Vom Umgang mit Feedback und Fehlern ... 110 4.7 ... Lernmomente gestalten ... 111 4.8 ... Impulse im Entwicklungsalltag aufgreifen ... 111 5. Product Discovery: Raten oder Daten? ... 123 5.1 ... Was ist Product Discovery? ... 124 5.2 ... Immer ist ein guter Zeitpunkt ... 126 5.3 ... Die Haltung entscheidet ... 126 5.4 ... Methoden zur Product Discovery ... 128 5.5 ... Design Thinking ... 139 5.6 ... Serendipität ... 141 5.7 ... Vorsicht vor Denkfehlern! ... 142 5.8 ... Hypothesen bilden und testen ... 143 5.9 ... Wie weiter? ... 144 6. Zuhören, verstehen, ansprechen: dein Kommunikationsjob ... 147 6.1 ... Verständlichkeit und Verständigung herstellen ... 149 6.2 ... Zusammenarbeit durch angemessene Kommunikation initiieren ... 154 6.3 ... Agil kommunizieren ... 159 6.4 ... Gesprächsführung übernehmen in alltäglichen und herausfordernden Situationen ... 161 6.5 ... Kreative Prozesse moderieren ... 171 6.6 ... Schneller entscheiden, statt immer zu warten ... 175 7. Frisch sortiert ist halb gewonnen: das Refinement ... 187 7.1 ... Hol dein Team zusammen ... 188 7.2 ... Stories und Backlog-Einträge schreiben ... 188 7.3 ... Geschickt schneiden ... 195 7.4 ... Akzeptanzkriterien finden ... 200 7.5 ... Definition of Done ... 204 7.6 ... Gut geschätzt: Story Points & Co. ... 207 7.7 ... Sortieren und priorisieren (und mal Nein sagen können) ... 214 7.8 ... Das Refinement ritualisieren: Wie machen wir das regelmäßig? ... 217 8. Interview: Auf einen Kaffee mit Product Ownerin Jil ... 221 8.1 ... Die Product-Owner-Rolle in der Praxis ... 222 8.2 ... Mit Daten arbeiten ... 223 8.3 ... Kommunikation ist das A und O ... 223 8.4 ... Fragen sind »The Only Way«! ... 225 8.5 ... Dein allerbester Freund aus dem Tech-Team ... 226 8.6 ... Geh mit dem Problem ins Team, nicht mit der Lösung ... 226 8.7 ... Tools helfen, den Überblick zu behalten ... 227 8.8 ... Der Blick ins Product Backlog ... 228 8.9 ... Scrum? Kanban? Scrumban! ... 230 8.10 ... Ein gutes Reporting-Tool ist Pflicht ... 231 9. Was liegt an? Planning und Daily ... 233 9.1 ... Das Sprint Planning vorbereiten ... 235 9.2 ... Das Sprint-Ziel formulieren ... 239 9.3 ... Aushandeln: Was kommt in den Sprint? ... 243 9.4 ... Daily zur Information nutzen ... 246 9.5 ... Dem Team Orientierung geben ... 248 9.6 ... Sind wir done done? Die Definition of Done nutzen ... 249 9.7 ... Wertvoll und nützlich? Features abnehmen ... 249 9.8 ... Refinement: Anforderungen erkennen ... 250 9.9 ... Sprint-Wechsel vorbereiten ... 252 9.10 ... Den Sprint abbrechen ... 252 9.11 ... Dann machen wir eben was anderes: der Pivot ... 256 10. Gemeinsam führen ... 259 10.1 ... Wer macht was? ... 260 10.2 ... Die Grundlagen im Agilen Manifest ... 261 10.3 ... Führen und Managen ... 262 10.4 ... Cynefin Framework ... 265 10.5 ... Dich selbst führen ... 268 10.6 ... Mit anderen führen ... 273 11. Tech für Anfänger*innen ... 281 11.1 ... Zuverlässig und mit hoher Qualität entwickeln und liefern ... 282 11.2 ... Anwendungen professionell betreiben ... 294 11.3 ... Rechtliche und Sicherheitsanforderungen sicherstellen ... 298 11.4 ... Aus- und Weiterbildung ... 303 12. Kurs anpassen: das Review ... 305 12.1 ... Das Sprint Review ... 306 12.2 ... Das Review Meeting vorbereiten ... 307 12.3 ... Zum Start ... 314 12.4 ... Der Stand der Dinge ... 317 12.5 ... Die Entwicklungen im Umfeld ... 322 12.6 ... Wie weiter? ... 325 12.7 ... Was nicht ins Review gehört ... 327 13. Auf eine gute Zusammenarbeit! Die Retrospektive ... 329 13.1 ... Wie wird's gemacht? ... 330 13.2 ... Die richtigen Rahmenbedingungen ... 331 13.3 ... Psychologische Sicherheit ... 331 13.4 ... Lass uns über Gefühle sprechen ... 333 13.5 ... Die Retrospektive für kritisches Feedback nutzen ... 334 13.6 ... Ein typischer Ablauf ... 335 13.7 ... Nach der Retro ist vor der Retro ... 337 14. Guter Rat von Lennart ... 339 14.1 ... Was macht ein Agile Coach? ... 339 14.2 ... Der Unterschied zur Scrum-Master-Rolle ... 340 14.3 ... Wie ein agiler Coach unterstützt ... 340 14.4 ... Tipps für das Stakeholder-Management ... 341 14.5 ... Es gibt keine schlechten Nachrichten ... 342 14.6 ... Wenn Führung fordert ... 343 14.7 ... Der Weg zum Agile Coach ... 344 15. Heiße Konflikte willkommen! ... 347 15.1 ... Konflikte für Innovationen nutzen ... 348 15.2 ... Die Basis für Austausch schaffen ... 353 15.3 ... Höflich miteinander umgehen ... 363 15.4 ... Das Kritische ansprechen: der Elefant im Raum ... 365 15.5 ... Nein sagen (können/dürfen/müssen) ... 370 15.6 ... Grenzen der Kommunikation anerkennen und für sich selbst sorgen ... 372 16. Liefern mit Stil ... 377 16.1 ... Wie oft liefern? ... 379 16.2 ... Was ist alles zu tun? ... 381 16.3 ... Liefern ist kein Endpunkt ... 390 17. Umfeld und Unterstützung: die Sicht aufs Unternehmen ... 391 17.1 ... Warum Organisationsentwicklung? ... 392 17.2 ... Vom ersten Scrum Team zum agilen Unternehmen ... 399 17.3 ... Hypothesengeleitete Entwicklung ... 415 18. Gut gemacht! ... 421 18.1 ... Probiere es einfach aus! ... 421 18.2 ... Danke ... 422 Anhang ... 423 A ... Elefanten-Carpaccio (Beispiellösung) ... 423 B ... Literaturverzeichnis ... 427 Das Team, das dieses Buch geschrieben hat ... 437 Index ... 439
Python lernen - kurz & gut
Der praktische Schnelleinstieg in die Python-Programmierung- Kompakt und verständlich vermittelt dieses Buch den Umgang mit Python 3- Ein interaktiver Einstieg erlaubt direktes Ausprobieren und verschafft schnelle Erfolgserlebnisse- Sie lernen die Python-Grundlagen und einen guten Stil beim Entwickeln- Der Sourcecode, die Beispiele und ergänzende umfangreiche Praxisprojekte sind als Download verfügbar und erleichtern das VerständnisDieses Buch ist für vielbeschäftigte Programmierer:innen, die eine knappe und dennoch gut verständliche Einführung in Python als immer populärer werdende Programmiersprache suchen. Python lernen – kurz & gut bietet einen unterhaltsamen Einstieg und informiert Sie über viele Python-Bestandteile, die Ihnen helfen werden, schnell durchzustarten:- Installation von Python- Schnelleinstieg in die wichtigsten Aspekte- Basisbausteine wie Strings, Enums, Zufallszahlen, Fallunterscheidungen und Schleifen- Klassen und objektorientierte Programmierung- Datencontainer wie Listen, Mengen und Tupel- Fortgeschrittene Themen zu Collections wie Iteratoren, Generatoren, Slicing, Sortierungen und Comprehensions- Datumsverarbeitung inklusive Berechnungen- Dateiverarbeitung und JSON sowie Behandlung von FehlernTrotz seines kompakten Formats liefert dieses Buch eine fundierte Einführung und eine Fülle an leicht nachvollziehbaren Beispielen, die zum Experimentieren einladen. Es unterstützt Sie optimal dabei, Ihre Python-Kenntnisse auf- und auszubauen. Insbesondere wenn Sie bereits ein wenig mit z.B. Java oder C++ vertraut sind, ist dieses Buch die ideale Wahl, um solide in Python einzusteigen.Zum Autor:Michael Inden ist Java- und Python-Enthusiast mit über zwanzig Jahren Berufserfahrung. Nach seinem Studium in Oldenburg hat er bei diversen internationalen Firmen in verschiedenen Rollen etwa als Softwareentwickler, -architekt, Consultant, Teamleiter, CTO sowie Leiter Academy gearbeitet. Seit Anfang 2022 ist er als Head of Development in Zürich tätig. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen sowie externen Schulungen und auf Konferenzen weiter, etwa bei der JAX/W-JAX, JAX London, Oracle Code One, ch.open sowie bei der Java User Group Switzerland. Zudem hält er Vorlesungen zum Thema Einstieg in Python im Rahmen eines CAS Machine Learning for Software Engineers.
Spring 6 Recipes
This in-depth Spring-based Java developer code reference has been updated and now solves many of your Spring Framework 6 problems using reusable, complete and real-world working code examples. SPRING 6 RECIPES (5th Edition) now includes Spring Native which speeds up your Java-based Spring Framework built enterprise, native cloud, web applications and microservices. It also has been updated to now include Spring R2DBC for Reactive Relational Database Connectivity, a specification to integrate SQL databases, like PostgreSQL, MySQL and more, using reactive drivers.Furthermore, this book includes additional coverage of WebFlux for more reactive Spring web applications. Reactive programming allows you to build systems that are resilient to high load, especially common in the more complex enterprise, native cloud applications that Spring Framework lets you build. This updated edition also uses code snippets and examples based on newest available standard long term support release of Java. When you start a new project, you’ll be able to copy the code and configuration files from this book, and then modify them for your specific Spring Framework-based application needs. This can save you a great deal of work over creating a project from scratch.This powerful code reference is a "must have" for your print or digital library. This developer cookbook comes with accompanying source code that is freely available on GitHub under latest Creative Commons open source licensing.WHAT YOU'LL LEARN* Get re-usable code recipes and snippets for core Spring, annotations and other development tools* Dive into Spring Native which merges the popular Spring and GraalVM for increased performance, speed and reliability of your Spring Framework 6 applications* Explore Spring R2BC for reactive relational database connectivity with SQL* Build reactive Spring MVC-based web applications and microservices using WebFlux* Enhance your enterprise or native cloud applications using Spring Transaction Management* Test, secure and deploy your Spring applications using reusable code templates availableWHO THIS BOOK IS FORThis book is for experienced Java programmers, software developers with experience using the Spring Framework.Marten Deinum is a submitter on the open source Spring Framework project. He is also a Java/software consultant working for Conspect. He has developed and architected software, primarily in Java, for small and large companies. He is an enthusiastic open source user and longtime fan, user and advocate of the Spring Framework. He has held a number of positions including Software Engineer, Development Lead, Coach, and also as a Java and Spring Trainer.Daniel Rubio is an independent consultant with over 10 years of experience in enterprise and web-based software. More recently, Daniel is founder and technical lead at MashupSoft.com. He has co-authored the best selling Spring Recipes as well as other books for Apress Media, LLC. Daniel's expertise lies in Java, Spring, Python, Django, JavaScript/CSS and HTML.Josh Long is the Spring Developer Advocate at Pivotal. Josh is a Java Champion, author of 5 books (including O'Reilly's upcoming "Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry") and 3 best-selling video trainings (including "Building Microservices with Spring Boot Livelessons" w/ Phil Webb), and an open-source contributor (Spring Boot, Spring Integration, Spring Cloud, Activiti and Vaadin).1. Spring Development Tools2. Spring Core Tasks3. Spring Native: Spring + GraalVM4. Spring MVC5. Spring REST6. Spring MVC - Async Processing7. Spring WebFlux8. Spring Security9. Data Access10. Spring R2DBC11. Spring Transaction Management12. Spring Batch13. Spring with NoSQL14. Spring Java Enterprise Services and Remoting Technologies15. Spring Messaging16. Spring Integration17. Spring TestingA. Spring Deployment to the CloudB. Caching.
Coding Alles-in-einem-Band für Dummies
Wenn Sie Webseiten oder mobile Apps entwickeln möchten, dann ist dieses Buch für Sie gemacht! Auch ganz ohne Vorkenntnisse steigen Sie einfach ein und lernen die einzelnen Programmiersprachen und Technologien jeweils für sich und im Zusammenspiel kennen und einsetzen. Angefangen beim grundlegenden Aufbau einer Webseite mit HTML, CSS und JavaScript über die Entwicklung mobiler Apps für iOS- und Android-Geräte mit Flutter bis hin zur Verarbeitung der Daten mit Python: Hier ist einfach mehr für Sie drin! Wenn Sie sich einen breiten Überblick über die Webentwicklung und Programmierung verschaffen wollen, dann werfen Sie am besten gleich einen Blick in dieses Buch ...Die inhaltliche Breite dieses Werkes ist nur möglich durch die Zusammenarbeit verschiedener erfahrener Programmiererinnen und Programmierlehrer. Unter der Federführung von Chris Minnick, Autor zahlreicher IT-Fachbücher haben Eva Holland, Nikhil Abraham, John Paul Mueller, Luca Massaron und Barry Burd - allesamt Autoren anderer Dummies-Bücher - dieses Handbuch für angehende und fortgeschrittene Webentwicklerinnen geschrieben.
Job Ready SQL
LEARN THE MOST IMPORTANT SQL SKILLS AND APPLY THEM IN YOUR JOB—QUICKLY AND EFFICIENTLY!SQL (Structured Query Language) is the modern language that almost every relational database system supports for adding data, retrieving data, and modifying data in a database. Although basic visual tools are available to help end-users input common commands, data scientists, business intelligence analysts, Cloud engineers, Machine Learning programmers, and other professionals routinely need to query a database using SQL. Job Ready SQL provides you with the foundational skills necessary to work with data of any kind. Offering a straightforward ‘learn-by-doing’ approach, this concise and highly practical guide teaches you all the basics of SQL so you can apply your knowledge in real-world environments immediately. Throughout the book, each lesson includes clear explanations of key concepts and hands-on exercises that mirror real-world SQL tasks.* Teaches the basics of SQL database creation and management using easy-to-understand language* Helps readers develop an understanding of fundamental concepts and more advanced applications such as data engineering and data science* Discusses the key types of SQL commands, including Data Definition Language (DDL) commands and Data Manipulation Language (DML) commands* Includes useful reference information on querying SQL-based databasesJob Ready SQL is a must-have resource for students and working professionals looking to quickly get up to speed with SQL and take their relational database skills to the next level. KIMBERLY A. WEISS is Senior Manager of Curriculum Operations for Wiley Edge. She has extensive experience developing interactive instructional content for a wide variety of learners. HAYTHEM BALTI, PHD, is Associate Dean at Wiley Edge (formerly mthree), a software development and data science education platform.
Kubernetes (3. Auflg.)
Eine kompakte EinführungKubernetes hat radikal die Art und Weise verändert, wie Softwareentwicklung und Systemadministration Anwendungen in der Cloud bauen, deployen und warten. Die aktualisierte dritte Auflage dieses Buches zeigt Ihnen, wie dieser beliebte Container-Orchestrierer dabei helfen kann, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen – egal ob Ihnen verteilte Systeme neu sind oder ob Sie schon längere Zeit Cloud-native Anwendungen deployen.Die Kubernetes-Veteranen Brendan Burns, Joe Beda, Kelsey Hightower und Lachlan Evenson erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sind Sie aus der Softwareentwicklung, Architektur oder Administration, erfahren Sie, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren.Erstellen Sie ein einfaches Cluster, um zu lernen, wie Kubernetes funktioniert.Tauchen Sie in die Details des Deployments mit Kubernetes ein.Arbeiten Sie mit den spezialisierten Objekten in Kubernetes wie zum Beispiel DaemonSets, Jobs, ConfigMaps und Secrets.Erfahren Sie mehr über Deployments, die den Lebenszyklus einer vollständigen Anwendung zusammenhalten.Sichern Sie Ihre Deployments ab.Deployen Sie Anwendungen auf mehrere Cluster und greifen Sie auf Kubernetes über Programmiersprachen zu.Autoren:Brendan Burns, Distinguished Engineer in Microsoft Azure, hat zusammen mit Joe Beda und Craig McLuckie das Kubernetes-Projekt bei Google mitbegründet. Aktuell ist er Director of Engineering bei Microsoft Azure.Joe Beda ist CTO von Heptio, einem Start-up, das er zusammen mit Craig McLuckie gegründet hat. Zuvor hat er bei Google die Google Compute Engine aus der Taufe gehoben und zusammen mit Brendan Burns und Craig McLuckie Kubernetes geschaffen.Kelsey Hightower ist Staff Developer Advocate für die Google Cloud Platform. Er ist ein großer Freund von Open Source und sein Schwerpunkt liegt darin, einfache Werkzeuge zu bauen, die die Menschen glücklich machen.Lachlan Evenson ist leitender Produktmanager des Container Compute Teams bei Microsoft Azure. Er hat durch praktische Trainings vielen Leuten dabei geholfen, Kubernetes zu integrieren.Inhaltsverzeichnis (PDF-Link)
Beginning Java Objects
Learning to design objects effectively with Java is the goal of Beginning Java Objects: From Concepts to Code, Second Edition. Plenty of titles dig into the Java language in massive detail, but this one takes the unique approach of stepping back and looking at fundamental object concepts first. Mastery of Java—from understanding the basic language features to building complete industrial-strength Java applications—emerges only after a thorough tour of thinking in objects.The first edition of _Beginning Java Objects_ has been a bestseller; this second edition includes material on the key features of J2SE 5, conceptual introductions to JDBC and J2EE, and an in-depth treatment of the critical design principles of model-data layer separation and model-view separation.Despite the plethora of beginning Java titles on the market, this book is truly unique in its coverage of three critical topic—sobject concepts, UML modeling, and Java programming—within a single cover. It’s ideal for both individual self-study and as a university-level textbook. Let Beginning Java Objects, Second Edition be your guide!JACQUIE BARKER is a professional software engineer, author, and former adjunct faculty member at both George Mason University in Fairfax, VA and The George Washington University in Washington, DC. With over 30 years of experience as a software developer and project manager, Jacquie has spent the past 15 years focused on object technology, and is proficient as an object modeler and Sun Microsystems Certified Java programmer.Jacquie earned a bachelor of science degree in computer engineering with highest honors from Case Institute of Technology/Case Western Reserve University in Cleveland, Ohio, and a master of science degree in computer science, emphasizing software systems engineering, from the University of California, Los Angeles. She has subsequently pursued postgraduate studies in information technology at George Mason University in Fairfax, VA. Jacquie’s winning formula for teaching object fundamentals continues to receive praise from readers around the world, and her Apress book Beginning Java Objects: From Concepts to Code has been adopted by many universities as a key textbook in their core IT curricula.On a personal note, Jacquie’s passions include her husband Steve and their three cats Walter, Rocky, and Tanner; serving as founder and executive director of Pets Bring Joy, a 501(c)(3) non-profit animal rescue organization (pbj.org); and her recent launch of a pro bono IT consulting service for start-up non profits (probonoit.org).Part I: The ABCs of ObjectsChapter 1: Abstraction and ModelingChapter Goal: Introducing the mechanism of abstraction as a natural way for humans to interpret the world, and how this relates to object modeling in the software realm.Subtopics:• Simplification through abstraction• Generalization through abstraction• Reusing abstractionsChapter 2: Some Java BasicsChapter Goal: Provide the reader with an immediate introduction to Java language fundamentals so that object concepts can be illustrated using Java code examples as soon as we begin introducing them in chapter 3.Subtopics:• Strengths of the Java language• Primitive Java types• The anatomy of a Java program• Mechanics of compiling and running a Java program• Java’s block structured nature• Elements of Java programming styleChapter 3: Objects and ClassesChapter Goal: Explain the basic building blocks of an OO application – classes as mini-abstractions aka templates for creating object instances.Subtopics:• Advantages of an OO approach to software development over a non-OO approach• How classes are used to specify a type of object’s data• How objects are created (instantiated) at run time• The use of reference variables to refer to objects symbolicallyChapter 4: Object InteractionsChapter Goal: Explain how object behaviors are defined as methods within classes, and how objects collaborate by invoking one another’s methods to accomplish the overall mission of the system.Subtopics:• How methods are used to specify an object’s behaviors• The anatomy of a Java method• How objects send messages to one another to accomplish collaboration• How classes use public and private visibility to publicize what services a type of object can perform while hiding both the logic for how the service is accomplished and the internal data structure needed to support the service• The use of constructors to instantiate the state of an object when first instantiatedChapter 5: Relationships Between ObjectsChapter Goal: Explains the notion of a structural relationship between two objects, wherein the data structures of the classes to which they belong are designed to maintain lasting relationships between objects once instantiated. The two main approaches to accomplishing this are (a) encoding associations between two classes of objects as reference variables within their data structures, (b) having one class inherit and extend the capabilities of another.Subtopics:• Types of structural relationships maintained by objects: associations, aggregations, inheritance• The inheritance mechanism, and guidelines for what we can and cannot achieve when deriving new classes via inheritance• Revisiting constructors regarding some complexities that must be understood when inheritance is involvedChapter 6: Collections of ObjectsChapter Goal: Introduce a special category of objects (classes) known as collections, to be used for efficiently managing an indefinite number of objects of the same type.Subtopics:• The properties of three generic collection types: ordered lists, sets, and dictionaries• The specifics of several different commonly-used built-in Java collection types• The concept of Java packages as logical groupings of classes, and the use of import statements• The power of collections in modeling very sophisticated real-world scenarios• Design techniques for programmer-defined collection typesChapter 7: Some Final Object ConceptsChapter Goal: Covers several key but often misunderstood advanced language features that are essential to taking full advantage of Java’s object-oriented nature: polymorphism (how a single line of code representing a method invocation can exhibit a variety of different behaviors at run time); abstract methods, classes, and interfaces; and static features (data/methods belonging to an entire class of objects versus objects individually).Subtopics:• The runtime mechanism of polymorphism• Abstract classes and methods• The incredible power of interfaces in streamlining Java code• Static featuresPart II: Object Modeling 101Chapter 8: The Object Modeling Process in a NutshellChapter Goal: A high-level overview of how to approach the requirements of a system so as to structure it from the ground up to take advantage of all of the strengths of an OO language like Java.Subtopics:• The goals of and philosophy begin object modeling• Flexibility in terms of selecting or devising a modeling methodology• The pros and cons of using object modeling software toolsChapter 9: Formalizing Requirements Through Use CasesChapter Goal: Explains the importance of developing use cases when establishing requirements for an application, to ensure that (a) all categories of intended user are identified, (b) all of the services that each user category will expect the system to provide, and (c) what their expectations are of the desired outcome for each of the service types.Subtopics:• Introduction to use cases• The notion of actors• Involving users in defining use cases• Approaches to documenting/diagramming use casesChapter 10: Modeling the Data Aspects of the SystemChapter Goal: Illustrate the process by which the types of classes, their respective data structures, and their interrelationships can be discovered and rendered graphically using UML notation.Subtopics:• Technique for identifying the appropriate classes and their respective attributes• Technique for determining the structural relationships that exist among these classes• How to graphically portray this information in proper UML notationChapter 11: Modeling the Behavioral Aspects of the SystemChapter Goal: Revisiting the evolving object model of chapter 10 to reflect the services/behaviors/methods required of each identified class to ensure that the overall requirements of the application will be satisfied.Subtopics:• How the behaviors (method execution) of an object affects its state (data)• Developing scenarios for how use cases (defined in chapter 9) might play out• Creating sequence diagrams based on scenarios• Using sequence diagrams to determine methodsChapter 12: Wrapping Up Our Modeling EffortsChapter Goal: This chapter focuses on ways to test a model before coding begins, as well asSubtopics:• Testing the model• Revisiting requirements and adapting the model as necessary• Reusing models in the form of design patternsPart III: Translating an Object Blueprint into Java CodeChapter 13: A Few More Key Java Details (retitled from 2nd edition)Chapter Goal: Covering a variety of important Java topics that were not essential to illustrating the object concepts of Part I per se, but which are nonetheless key to a rounding out a beginning level Java programmer’s facility with the language. I plan on eliminating a few sections from this chapter if I determine that any of the topics covered are *not* essential to understanding the Student Registration System (SRS) code of chapter 14.Subtopics:• Java application architecture, revisited• Nature and purpose of Java Archive (JAR) files• Java documentation comments• Object nature of Strings• Java enums (enumerations)• Object self-referencing via the “this” keyword• The nature of run-time exceptions, how to handle them, and how to define and use custom exception types• Important features of the built-in Object class• Techniques for command line input• Remove: discussion of inner classes (no longer needed since we are eliminating the chapter on the Swing API)• Remove: narrative regarding Java version 5 language enhancementsChapter 14: Transforming Your Model into Java CodeChapter Goal: In this chapter, I pull together all that we’ve covered in Part I of the book to render the UML model created in Part II of the book into a complete, fully functioning model layer for the Student Registration System. This code can be run from the command line, and will be downloadable from the Apress website.Subtopics: How to code …• … associations of varying multiplicities (one-to-one, one-to-many, many-to-many)• … inheritance relationships• … association classes• … reflexive associations• … abstract classes• … metadata• … static attributes and methodsChapter 15: Three Tier Architectures: Considerations for Adding a User Interface and Data Layer to Your ApplicationChapter Goal: Conceptually introduce the notion of model – presentation layer – data layer separation, using pseudocode examples to illustrate how these layers interact with the model layer code of chapter 14.Subtopics:• Overview of the power of model – presentation layer – data layer separation• Concept of operations for the Student Registration System user interface• Detailed walk-through of pseudocode illustrating (a) how the data layer is used to validate and persist model layer logic, (b) how the user interface/presentation layer is used to receive data and operational requests from a user
Kubernetes
Kubernetes einfach und schnell erklärt Alles, was Sie über Kubernetes wissen müssen Für Einsteiger und Admins ohne Kubernetes-Vorkenntnisse Mit zahlreichen Beispielen aus der Praxis Kubernetes hat radikal die Art und Weise verändert, wie Softwareentwicklung und Systemadministration Anwendungen in der Cloud bauen, deployen und warten. Die aktualisierte dritte Auflage dieses Buches zeigt Ihnen, wie dieser beliebte Container-Orchestrierer dabei helfen kann, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen – egal ob Ihnen verteilte Systeme neu sind oder ob Sie schon längere Zeit Cloud-native Anwendungen deployen. Die Kubernetes-Veteranen Brendan Burns, Joe Beda, Kelsey Hightower und Lachlan Evenson erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sind Sie aus der Softwareentwicklung, Architektur oder Administration, erfahren Sie, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren. Aus dem Inhalt: Erstellen Sie ein einfaches Cluster, um zu lernen, wie Kubernetes funktioniert. Tauchen Sie in die Details des Deployments mit Kubernetes ein. Arbeiten Sie mit den spezialisierten Objekten in Kubernetes, wie zum Beispiel DaemonSets, Jobs, ConfigMaps und Secrets. Erfahren Sie mehr über Deployments, die den Lebenszyklus einer vollständigen Anwendung zusammenhalten. Sichern Sie Ihre Deployments ab. Deployen Sie Anwendungen auf mehrere Cluster und greifen Sie auf Kubernetes über Programmiersprachen zu. "Geschrieben von vier der weltweit angesehensten Experten für Cloud-native Systeme, ist ›Kubernetes‹ das Buch der Wahl, um eine solide Grundlage für Kubernetes-Konzepte zu schaffen, mit Beispielen, die Sie dabei unterstützen, Kubernetes selbst zu erkunden." — Liz Rice, Isovalent
Beginning Ethereum Smart Contracts Programming
Use this book to write an Ethereum blockchain smart contract, test it, deploy it, and create a web application to interact with your smart contract. This new edition has been expanded and updated to cover web3.js APIs, additional Consensus Protocols, non-Fungible Tokens (NFTs), developing NFT tokens using ERC-721, and more!BEGINNING ETHEREUM SMART CONTRACTS PROGRAMMING, SECOND EDITION is your fastest and most efficient means of getting started if you are unsure where to begin and how to connect to the Ethereum blockchain. The book begins with a foundational discussion of blockchain and the motivation behind it. From there, you will get up close and personal with the Ethereum blockchain, learning how to use an Ethereum client (geth) to create a private Ethereum blockchain to perform transactions such as sending Ethers to another account on another node.You will learn about smart contracts without having to wade through tons of documentation. Author Lee’s “learn-by-doing” approach will allow you to be productive and feel confident in your ability in no time. The last part of this book covers tokens, a topic that has taken the cryptocurrency market by storm.Sample code in Python, Solidity, and JavaScript is provided in the book and online.WHAT YOU'LL LEARN* Understand the basic premise of blockchain and “record keeping” in a peer-to-peer network* Experience blockchain in action by creating your own blockchain using Python* Know the foundation of smart contracts programming and how to deploy and test smart contracts* Work on a case study to illustrate the use of blockchain* Be familiar with tokens, and how to create and launch your own ICO digital token* Write smart contracts that transact using tokensWHO THIS BOOK IS FORThose who want to get started quickly with Ethereum smart contracts programming. Basic programming knowledge and an understanding of Python or JavaScript is recommended.WEI-MENG LEE is the founder of Developer Learning Solutions, a technology company specializing in hands-on training of blockchain and other emerging technologies. He has many years of training expertise and his courses emphasize a learn-by-doing approach. He is a master at making learning a new programming language or technology less intimidating and fun. He can be found speaking at conferences worldwide such as NDC and he regularly contributes to online and print publications such as DevX.com, MobiForge.com, and CoDe Magazine. He is active on social media on his blog learn2develop.net, on Facebook at DeveloperLearningSolutions, on Twitter @weimenglee, and on LinkedIn at leeweimeng.---NEW Chapter----CHAPTER 1 - TECHNOLOGIES BEHIND BLOCKCHAINBASIC CRYPTOGRAPHYTYPES OF CRYPTOGRAPHIC ALGORITHMSSYMMETRICASYMMETRICHASHINGDIGITAL SIGNATURESUMMARYChapter 2 - Understanding Blockchain---NEW SECTION---CONSENSUS PROTOCOLSPROOF OF STAKE (POS)PROOF OF ELAPSED TIMEPROOF OF SPACE...-----------------Chapter 3 - Implementing Your Own Blockchain using PythonChapter 4 - Connecting to the Ethereum Blockchain using GethChapter 5 - Creating Your Own Private Ethereum Test NetworksChapter 6 - Using the Crypto Wallet - MetaMaskChapter 7 - Getting Started with Solidity Smart ContractsChapter 8 - Testing Smart Contracts using GanacheChapter 9 - Building Decentralized Apps using the web3.js APIsChapter 10 - Handling Smart Contract EventsChapter 11 - Project - Online LotteryChapter 12 - Creating Tokens using ERC-20---REVISED USING OPENZEPPLIN’S CONTRACT------NEW CHAPTERS----CHAPTER 13 - CREATING NON-FUNGIBLE TOKENS USING ERC-721WHAT IS A NFT?STORING DIGITAL ASSETS USING IPFSWHAT IS IPFSUPLOADING A FILE TO IPFSACCESSING A FILE FROM IPFSNFT AND IPFSCREATING THE NFT TOKEN CONTRACTDEPLOYING THE CONTRACTMINTING THE NFT TOKEN CONTRACTGETTING THE OWNER OF THE NFTGETTING THE NAME AND SYMBOL OF NFTFINDING THE BALANCE OF NFT FOR AN ADDRESSGETTING THE OWNER OF THE NFTGETTING THE TOKENURITRANSFERRING A NFTTRANSFERRING OWNERSHIP OF THE NFT CONTRACTCHAPTER 14 – INTRODUCTION TO DEFIWHAT IS DECENTRALIZED FINANCESTABLECOINSTYPES OF STABLECOINSUSDCDAISERVICES IN DEFICOMPONENTS IN DEFIAPPLICATIONS OF DEFI------------------
Terraform
Das Praxisbuch für DevOps-Teams und Administratoren. »Infrastructure as Code« richtig umgesetzt.Mit Terraform errichten Sie komplexe Infrastrukturen automatisiert in der Cloud und orchestrieren Deployments, die genau Ihren Anforderungen entsprechen. Tim Beermann, Johannes Kastl, Christian Rost, Thorsten Schifferdecker und Eike Waldt zeigen Ihnen, wie Sie Deployments verwalten, Ressourcen mit HCL skripten und den State Ihres Setups verwalten. So gerüstet entwerfen Sie wiederverwendbaren Code, vermeiden Fallstricke und schaffen einen komfortablen Arbeitsweg zur Verwaltung Ihrer Cloud-Landschaften.Inkl. umfassender Kommandoreferenz und Best Practices für den alltäglichen Betrieb.Aus dem Inhalt:Infrastructure as CodeWas ist Terraform? Installation und alle GrundlagenProvider: Konfiguration und Beispiel-SetupsState – Der Zustand der UmgebungVariablen und DatenquellenHCL: Terraform programmierenUpdates und Day-2-OperationsTerragrunt und weitere ToolsBest Practices: Terraform richtig nutzenMulti-Cloud-DeploymentsLeseprobe (PDF-Link)Zu den Autoren: Tim Beermann ist seit frühester Jugend begeisterter Linuxadministrator. Während seiner Laufbahn hat er ein ERP-System mitentwickelt und Serverlandschaften sowie Cloudumgebungen betreut.Johannes Kastl ist seit frühen SUSE-Tagen begeisterter Linuxnutzer. Er war mehrere Jahre in der Administration einer großen privaten Cloud-Landschaft tätig, unter anderem als Administrator, technischer Product Owner, Scrum Master und Teamkoordinator.Christian Rost begleitet und verantwortet große und kleine Projekte im Container- und Kubernetesumfeld, plant und baut Logging- und Monitoringlösungen mit Elasticstack und steht für das ein oder andere ownCloud-Projekt zur Verfügung.Thorsten Schifferdecker ist seit mehr als 20 Jahren begeisterter Linuxnutzer und in der IT als Architekt tätig.Eike Waldt hat während seiner Laufbahn viele SUSE- und SAP-Projekte begleitet und geleitet. Innerhalb dieser Projekte entwarf er komplexe Mechanismen zur Verwaltung von gewachsenen Landschaften und strukturierte gewachsene Code-Sammlungen mittels DevOps und CI.
React - Das umfassende Handbuch (2. Auflage)
Grundlagen und Profiwissen in 2. aktualisierter und erweiterter Auflage, April 2023Welcher Frontendentwickler hat noch nicht von React gehört? Diese ursprünglich von Facebook entwickelte JavaScript-Bibliothek hat innerhalb kurzer Zeit eine steile Karriere hingelegt. Sie bildet eine wichtige Grundlage für viele Unternehmensanwendungen, Single-Page-Applikationen sowie für viele Apps für iPhone und Android. Erfahren Sie in dem neuen Buch des JavaScript-Experten Sebastian Springer, wie Sie performante Oberflächen gestalten. Mit einfachen und leicht verständlichen Beispielen erlernen Sie die Grundlagen von React, React Native und Redux. Und auch als fortgeschrittener JavaScript-Entwickler profitieren Sie von den vielen Profithemen wie Tests, Animationen, Material Design Components, Server Side Renderung über Debugging bis hin zur Entwicklung von vollständigen mobilen Anwendungen. Dieses Buch ist ein Muss für jeden JavaScript-Entwickler und für jeden, der React lernen möchte!Aus dem Inhalt:Erste Schritte mit ReactTypsicherheit in React mit TypeScriptStyling von KomponentenAbsicherung durch automatisierte TestsInteraktion über FormularePerformance sicherstellenMaterial Design ComponentsArbeit mit dem React RouterZentrales Statemanagement mit ReduxAsynchronität und Seiteneffekte in Redux Internationalisierung, Server Side RenderingServerkommunikation mit GraphQL, React Query und dem Apollo ClientLeseprobe (PDF-Link)Zum Autor:Sebastian Springer ist als JavaScript Engineer bei MaibornWolff tätig. Neben der Entwicklung und Konzeption von Applikationen liegt sein Fokus auf der Vermittlung von Wissen.
Einstieg in ABAP
Lernen Sie ABAP schnell und effizient! Mit diesem Standardwerk feiern Sie im Handumdrehen erste Erfolge mit selbst geschriebenem Quellcode. Es behandelt alle relevanten ABAP-Sprachelemente in kompakten Lerneinheiten. Mit kommentierten Codebeispielen, vielen Screenshots und wertvollen Tipps. Aus dem Inhalt: Erste Schritte im SAP-SystemABAP Dictionary und ABAP EditorABAP Development Tools in EclipseFelder und BerechnungenDebugging von ProgrammenDatenbanktabellen und CDS-ViewsProgrammablaufsteuerung und logische AusdrückeSelektionsbildschirme und SAP FioriInterne TabellenModularisierung von Programmen Einleitung ... 15 1. ABAP und die ersten Schritte im SAP-System ... 21 1.1 ... Architektur des SAP-Systems im Überblick ... 23 1.2 ... Anwendungsprogramme und Laufzeitumgebung ... 31 1.3 ... Anmelden am und Abmelden vom System ... 37 2. ABAP Dictionary ... 49 2.1 ... Einstieg in das ABAP Dictionary ... 49 2.2 ... Datenelemente und Domänen ... 56 2.3 ... Datensätze erfassen ... 70 3. Programmieren im ABAP Editor ... 73 3.1 ... ABAP-Report anlegen ... 73 3.2 ... ABAP Editor im Überblick ... 77 3.3 ... ABAP-Programme verstehen und bearbeiten ... 81 3.4 ... ABAP-Report ausführen ... 84 3.5 ... Datenbanktabelle lesen und ausgeben ... 85 3.6 ... Aufbereitung von Listen ... 89 3.7 ... Quellcode schreiben und editieren ... 91 4. Felder und Berechnungen ... 101 4.1 ... Report vorbereiten ... 101 4.2 ... Felder deklarieren ... 105 4.3 ... Grundrechenarten ... 110 4.4 ... Inline-Variablendeklarationen ... 115 4.5 ... Codebeispiel zu Feldern und Berechnungen ... 117 5. Mit Zeichenketten arbeiten ... 125 5.1 ... Zeichenketten deklarieren ... 125 5.2 ... Zeichenkettenoperationen ... 128 5.3 ... Codebeispiel zu String-Operationen ... 137 6. Debugging von Programmen ... 145 6.1 ... Aufruf des ABAP Debugger ... 146 6.2 ... Mit dem ABAP Debugger arbeiten ... 149 6.3 ... Schicht für Schicht: Layer-aware Debugging ... 161 6.4 ... Codebeispiel zum Layer-aware Debugging ... 168 7. Transparente Datenbanktabellen bearbeiten ... 171 7.1 ... Datenbanktabelle kopieren ... 172 7.2 ... Nicht-Schlüsselfelder ergänzen ... 177 7.3 ... Tabellen erweitern ... 190 7.4 ... Schlüsselfelder von Tabellen manipulieren ... 199 7.5 ... Tabellenfelder löschen ... 203 7.6 ... Tabellen löschen ... 204 8. Rechnen mit Datum und Zeit, Mengen und Währungen ... 207 8.1 ... Felddeklarationen ... 207 8.2 ... Rechnen mit Datumsfeldern ... 210 8.3 ... Rechnen mit Zeitfeldern ... 216 8.4 ... Rechnen mit Mengen- und Währungsfeldern ... 220 8.5 ... Codebeispiel zu Datums-, Zeit- und Währungsfeldern ... 222 9. Mit Daten in einer Datenbanktabelle arbeiten ... 235 9.1 ... Berechtigungskonzept ... 236 9.2 ... Sperrkonzept ... 238 9.3 ... Open-SQL-Anweisungen ... 240 9.4 ... Codebeispiel zu INSERT ... 248 9.5 ... Codebeispiel zu UPDATE ... 252 9.6 ... Codebeispiel zu MODIFY ... 256 9.7 ... Codebeispiel zu DELETE ... 259 10. Programmablaufsteuerung und logische Ausdrücke ... 263 10.1 ... Kontrollstrukturen ... 263 10.2 ... Arbeiten mit Mustern ... 264 10.3 ... Verzweigungen ... 268 10.4 ... Schleifen ... 274 10.5 ... Logische Ausdrücke ... 282 10.6 ... Codebeispiel zu IF ... 289 10.7 ... Codebeispiel zu CASE ... 294 10.8 ... Codebeispiel zu DO und Abbruchbedingungen ... 299 10.9 ... Codebeispiel zu WHILE und logischen Ausdrücken ... 305 11. Selektionsbildschirme ... 313 11.1 ... Ereignisse ... 316 11.2 ... Einfache Selektionen ... 319 11.3 ... Komplexe Selektionen ... 327 11.4 ... Selektionstexte verwenden ... 332 11.5 ... Selektionsbild speichern ... 337 11.6 ... Ergänzende Textobjekte ... 344 11.7 ... Selektionsbilder frei gestalten ... 350 11.8 ... Codebeispiel zum Selektionsbild (einfache Form) ... 354 11.9 ... Codebeispiel zum Selektionsbild (erweiterte Form) ... 360 12. Interne Tabellen ... 371 12.1 ... Sinn und Zweck interner Tabellen ... 372 12.2 ... Aufbau und Arten interner Tabellen ... 374 12.3 ... Interne Standardtabelle deklarieren ... 377 12.4 ... Interne Standardtabelle füllen ... 380 12.5 ... Interne Tabelle zeilenweise verarbeiten ... 384 12.6 ... Inhalte von internen Tabellen löschen ... 393 12.7 ... Codebeispiel zum Arbeiten mit internen Tabellen ... 394 13. Modularisierung von Programmen ... 405 13.1 ... Modularisierungstechniken ... 405 13.2 ... Quelltextmodule ... 408 13.3 ... Unterprogramme ... 411 13.4 ... Funktionsbausteine ... 421 13.5 ... ABAP-Klassen ... 437 13.6 ... Speicherbereiche für die Datenübergabe ... 445 13.7 ... Codebeispiele zur Modularisierung ... 449 13.8 ... Codebeispiele zum Aufruf fremder Reports ... 461 14. ABAP in Eclipse ... 467 14.1 ... Eclipse als alternative Entwicklungsumgebung ... 467 14.2 ... Installation von ABAP in Eclipse ... 469 14.3 ... Erste Schritte mit ABAP in Eclipse ... 473 14.4 ... ABAP in Eclipse oder im SAP GUI? ... 482 15. Core Data Services zur Abbildung von Datenmodellen ... 485 15.1 ... Datenbank-Views in der Anwendungsentwicklung ... 485 15.2 ... Klassische Datenbank-Views im ABAP Dictionary ... 487 15.3 ... CDS Views in Eclipse ... 492 16. Weiterführende Themen ... 517 16.1 ... Interessante Zeiten für die Programmiersprache ABAP ... 517 16.2 ... SAP HANA ... 519 16.3 ... Wichtige Frameworks im SAP-Standard ... 519 16.4 ... Cloudbasierte Entwicklung ... 527 16.5 ... Auf zu neuen Ufern! ... 531 Anhang ... 533 A ... Icons auf einen Blick ... 533 B ... Abkürzungsverzeichnis ... 535 Die Autoren ... 537 Index ... 539
Apps entwickeln mit SAP Build Apps
Apps bauen kann ganz leicht sein – das verspricht die neue No-Code-Plattform SAP Build Apps. Mit diesem Praxishandbuch steigen Sie ohne Vorkenntnisse in die Appentwicklung ein und lernen Schritt für Schritt, wie Sie Anwendungen erstellen, die Ihre Kolleginnen und Kollegen begeistern. Im Handumdrehen werden Sie für Ihre Abteilung Apps aufbauen, gestalten, mit Daten versorgen und veröffentlichen. Aus dem Inhalt: No-Code und Low-CodeEntwicklungsumgebung Composer ProAppGyver-PlattformDatenhaltungBenutzeroberfläche gestaltenControlsREST und ODataMobile Apps und Web-AppsBeispielapps für häufige Anforderungen Vorwort des Autorenteams ... 17 Einleitung ... 19 1. Employee Central -- Überblick und Implementierung ... 25 1.1 ... Employee Central auf einen Blick ... 26 1.2 ... Employee Central in die Systemlandschaft einbinden ... 34 1.3 ... Implementierung vorbereiten ... 37 2. Grundlagen der Arbeit in Employee Central ... 51 2.1 ... Mitarbeiterstatus ... 51 2.2 ... Ereignisse und Ereignisgründe ... 54 2.3 ... Workflows nutzen ... 66 2.4 ... Geschäftsregeln ... 101 3. Grundlagenobjekte ... 115 3.1 ... Was sind Grundlagenobjekte? ... 115 3.2 ... Kategorien von Grundlagenobjekten ... 117 3.3 ... Verknüpfungen und Vererbung bei Grundlagenobjekten ... 123 3.4 ... Grundlagenobjekte konfigurieren ... 125 3.5 ... Daten für Grundlagenobjekte erstellen ... 134 4. Planstellenmanagement ... 141 4.1 ... Mit Planstellen arbeiten ... 142 4.2 ... Planstellenmanagement einrichten ... 155 4.3 ... Planstellenmanagement im Zusammenspiel mit weiteren SAP-SuccessFactors-Modulen ... 164 4.4 ... Übersicht über die Firmenstruktur ... 166 5. Mitarbeiterdaten ... 171 5.1 ... Zeitscheiben und Historie nutzen ... 172 5.2 ... Ansichten auf Mitarbeiterdaten ... 174 5.3 ... Self-Services für Mitarbeitende und Vorgesetzte ... 198 5.4 ... Transaktionen zur Pflege des Mitarbeiterlebenszyklus ... 203 5.5 ... Konfiguration ... 209 6. Zusatzleistungen ... 213 6.1 ... Globale Zusatzleistungen ... 213 6.2 ... Grundlagen der Konfiguration ... 214 6.3 ... Globale Zusatzleistungen in ESS ... 218 6.4 ... Länderspezifische Zusatzleistungen ... 222 6.5 ... US-spezifische Zusatzleistungen ... 224 7. Zeitmanagement ... 227 7.1 ... Übersicht über das Zeitmanagement ... 227 7.2 ... Abwesenheit ... 238 7.3 ... Arbeitszeiterfassungsbogen ... 259 7.4 ... Employee Central Time Tracking ... 261 8. Weitere Beschäftigungsarten abbilden ... 271 8.1 ... Grundlegende Konzepte ... 272 8.2 ... Auslandseinsatz ... 272 8.3 ... Mehrfachbeschäftigung ... 285 8.4 ... Auswirkungen von mehreren Beschäftigungsverhältnissen auf andere Module und Prozesse ... 290 8.5 ... Kontingentarbeitende ... 296 9. Dokumentgenerierung ... 301 9.1 ... Dokumentgenerierungsvorlage erstellen ... 302 9.2 ... E-Mail-Einstellungen für eine Dokumentgenerierungsvorlage erstellen ... 305 9.3 ... Inhalte von Feldern in der Dokumentvorlage zuordnen ... 306 9.4 ... Ein Dokument generieren ... 309 10. Reporting ... 317 10.1 ... Bericht-Center ... 318 10.2 ... Überblick verfügbarer Reporttypen im Bericht-Center ... 319 11. Rollenbasierte Berechtigungen ... 355 11.1 ... Einführung in rollenbasierte Berechtigungen ... 356 11.2 ... Berechtigungsgruppen verwalten ... 362 11.3 ... Berechtigungsrollen verwalten ... 366 11.4 ... Berechtigungspflege für MDF-Objekte ... 374 11.5 ... Berechtigungen im Kontext von Employee Central ... 376 11.6 ... Best Practice: Einfachheit, Klarheit und Skalierbarkeit ... 382 12. Erweiterbarkeit ... 387 12.1 ... Metadata Framework ... 388 12.2 ... MDF-Erweiterungen ... 391 12.3 ... Eine Erweiterung erstellen ... 394 12.4 ... Daten mit einer Standarderweiterung pflegen ... 418 12.5 ... Erweiterung einer Standard-MDF-Erweiterung ... 420 12.6 ... SAP Business Technology Platform ... 422 13. Daten und Schnittstellen für Employee Central ... 427 13.1 ... Vorüberlegungen zu Datenimporten für die Migration ... 428 13.2 ... Daten importieren ... 432 13.3 ... Daten exportieren ... 465 13.4 ... Berechtigungen für Importe und Exporte pflegen ... 472 13.5 ... Daten aus SAP ERP Human Capital Management migrieren ... 476 14. Employee Central mit anderen SAP-SuccessFactors-Modulen integrieren ... 477 14.1 ... Benutzerdatendatei ... 479 14.2 ... SAP SuccessFactors Recruiting ... 481 14.3 ... SAP SuccessFactors Onboarding ... 484 14.4 ... SAP SuccessFactors Succession ... 485 14.5 ... SAP-SuccessFactors-Stellenprofile ... 485 14.6 ... SAP SuccessFactors Learning ... 487 14.7 ... SAP SuccessFactors Compensation/Variable Pay ... 487 14.8 ... SAP SuccessFactors Workforce Analytics ... 489 14.9 ... SAP SuccessFactors Employee Central Payroll ... 490 15. Employee Central Payroll ... 493 15.1 ... Vorabüberlegungen zur Einbindung von Employee Central Payroll ... 494 15.2 ... Daten aus Employee Central zur Nutzung in Employee Central Payroll ... 504 15.3 ... Kerndaten von Employee Central Payroll ... 518 15.4 ... Abrechnungsaufgaben in Employee Central zur Pflege von Daten in Employee Central Payroll verwenden ... 533 15.5 ... Gehaltsabrechnung über das Payroll Control Center verwalten ... 537 15.6 ... Besonderheiten beim Einsatz von Employee Central Payroll ... 550 16. Tipps für den Betrieb und Ausblick ... 557 16.1 ... Tipps für den Betrieb ... 557 16.2 ... Aktueller Einsatz und Ausblick ... 562 Das Autorenteam ... 567 Index ... 569
Einstieg in PHP 8 und MySQL
Mit diesem Buch lernen Sie schnell und praxisnah, wie Sie dynamische Webseiten mit PHP und MySQL (oder mit MariaDB) entwickeln. Schritt für Schritt zeigt Ihnen unser Autor Thomas Theis anhand leicht nachvollziehbarer und sofort einsetzbarer Beispiele, wie Sie mit PHP programmieren und auf Datenbanken zugreifen. Es werden alle Themen behandelt, die Sie zum Erstellen von Blogs, Webshops, Chats, Foren u. Ä. benötigen. Ein Programmierkurs am Anfang des Buches stellt sicher, dass auch Programmieranfänger problemlos einsteigen können. Aus dem Inhalt: GrundlagenPHP-ProgrammierkursDaten senden und auswertenDatenbanken anlegenObjektorientiert programmierenFortgeschrittene TechnikenPrepared StatementsConstructor Property PromotionCallbacksMultibyte-FunktionenXML und AjaxSicherheit erhöhen VerschlüsselungenHilfenInstallation des lokalen WebserversHinweise für Windows-, Mac- und Ubuntu-Nutzer Materialien zum Buch ... 18 Einführung ... 19 1. PHP-Programmierkurs ... 23 1.1 ... Einbettung von PHP ... 23 1.2 ... Variablen, Datentypen und Operatoren ... 27 1.3 ... Einfache Formularauswertungen ... 38 1.4 ... Verzweigungen ... 47 1.5 ... Mehr über Verzweigungen ... 62 1.6 ... Schleifen ... 72 1.7 ... Funktionen ... 83 1.8 ... Behandlung von Fehlern ... 98 1.9 ... Felder ... 103 1.10 ... Mehr über Funktionen ... 109 1.11 ... Beispiele ... 131 2. Daten senden und auswerten ... 139 2.1 ... Textelemente ... 139 2.2 ... Auswahlelemente ... 147 2.3 ... Aktionselemente ... 155 2.4 ... Weitere Möglichkeiten ... 159 2.5 ... Beispiele ... 172 2.6 ... PHP-Programme publizieren ... 176 3. Datenbanken mit MySQL ... 177 3.1 ... Einführung ... 177 3.2 ... Verwaltung mit phpMyAdmin ... 179 3.3 ... Datensätze anzeigen ... 185 3.4 ... Datensätze auswählen ... 190 3.5 ... Ausgabe in Tabellenform ... 194 3.6 ... Auswahl über Formulare ... 196 3.7 ... Prepared Statements ... 200 3.8 ... Datensätze erzeugen ... 208 3.9 ... Datensätze ändern ... 215 3.10 ... Datensätze löschen ... 223 3.11 ... SQL-Funktionen für Zeichenketten ... 225 3.12 ... Aggregatfunktionen ... 227 3.13 ... Gruppierung ... 230 3.14 ... Benutzeroberfläche mit JavaScript und CSS ... 231 3.15 ... Beispiel Eventplanung ... 232 3.16 ... Eine Datenbank mit mehreren Tabellen ... 232 3.17 ... Ein Datenbankbrowser ... 237 3.18 ... Datenbanken publizieren ... 238 4. Objektorientierung in PHP ... 243 4.1 ... Was ist objektorientierte Programmierung? ... 243 4.2 ... Klassen und Objekte ... 244 4.3 ... Konstruktor und Ausgabe ... 249 4.4 ... Destruktor ... 252 4.5 ... Schreibgeschützte Eigenschaften ... 253 4.6 ... Optionale und benannte Parameter ... 255 4.7 ... Konstanten und statische Elemente ... 258 4.8 ... Kopie und Referenz ... 261 4.9 ... Typhinweise ... 264 4.10 ... Objekte und Felder ... 266 4.11 ... Vererbung ... 271 4.12 ... Schnittstellen ... 275 4.13 ... Enumerationen ... 279 4.14 ... Serialisierung ... 281 4.15 ... Beispiel »Scheck« ... 284 4.16 ... Kopfrechnen, objektorientiert ... 285 5. Fehler behandeln, Sicherheit erhöhen ... 287 5.1 ... Anzeige von Fehlern ... 287 5.2 ... Dauerhafte Konfiguration der Anzeige von Fehlern ... 287 5.3 ... Änderung der Anzeige ... 290 5.4 ... Angriffe und Sicherheit ... 291 6. Zeichenketten ... 295 6.1 ... Eigenschaften und Umwandlungen ... 295 6.2 ... Suchen und Ersetzen ... 297 6.3 ... Positionen und Teilzeichenketten ... 299 6.4 ... Zeichenketten und Felder ... 301 6.5 ... Zeichen und Codenummern ... 302 6.6 ... Verschlüsselung ... 303 7. Dateien und Verzeichnisse ... 309 7.1 ... Eine Textdatei schreiben ... 309 7.2 ... Eine Textdatei lesen ... 311 7.3 ... Ein einfacher Webcounter ... 314 7.4 ... Eine CSV-Datei schreiben ... 315 7.5 ... Eine CSV-Datei lesen ... 317 7.6 ... Informationen über Dateien ... 318 7.7 ... Informationen über ein Verzeichnis ... 319 7.8 ... Informationen über einen Verzeichnisbaum ... 322 8. Felder ... 325 8.1 ... Ein Feld entpacken ... 325 8.2 ... Ein Feld kopieren ... 326 8.3 ... Ein Feld als Parameter ... 327 8.4 ... Ein Feld als Rückgabewert ... 328 8.5 ... Zufällige Werte aus einem Feld ... 329 8.6 ... Typhinweise ... 331 8.7 ... foreach-Schleife, Kopie und Referenz ... 331 8.8 ... Operationen für numerisch indizierte Felder ... 333 8.9 ... Sortierung eines assoziativen Feldes ... 341 8.10 ... Zweidimensionale Felder ... 343 8.11 ... Callback-Funktionen ... 352 8.12 ... Benutzerdefinierte Sortierung ... 354 8.13 ... Dekonstruktion ... 357 8.14 ... Mengenlehre ... 360 9. Datum und Zeit ... 365 9.1 ... Zeit ermitteln und ausgeben ... 365 9.2 ... Zeit formatiert ausgeben ... 366 9.3 ... Zeitangabe prüfen ... 369 9.4 ... Absolute Zeitangabe erzeugen ... 370 9.5 ... Relative Zeitangabe erzeugen ... 372 9.6 ... Mit Zeitangaben rechnen ... 373 9.7 ... Zeitstempel in Datenbanken ... 377 9.8 ... SQL-Funktionen für Zeitangaben ... 379 9.9 ... Ermittlung von Feiertagen ... 382 9.10 ... Kopfrechnen mit Zeitmessung ... 383 10. Mathematische Funktionen ... 385 10.1 ... Ganze Zahlen und Fließkommazahlen ... 385 10.2 ... Exponentialoperator ** ... 387 10.3 ... PHP als Taschenrechner ... 388 10.4 ... Ganze Zahlen, Runden ... 390 10.5 ... Ganzzahlige Division und Modulo ... 392 10.6 ... Extremwerte ... 393 10.7 ... Winkelfunktionen ... 394 10.8 ... Mischen ... 395 10.9 ... Stellenwertsysteme ... 397 10.10 ... Bit-Operatoren ... 399 11. Sessions und Cookies ... 403 11.1 ... Session-Management ... 404 11.2 ... Zugriffszähler mit Sessions ... 404 11.3 ... Geschützte Website mit Sessions ... 406 11.4 ... Webshop mit Sessions ... 411 11.5 ... Cookies ... 419 11.6 ... Die Existenz von Cookies prüfen ... 419 11.7 ... Daten speichern mit Cookies ... 421 12. Datenbanken mit SQLite3 und PDO ... 425 12.1 ... SQLite3 ... 425 12.2 ... PDO ... 435 13. XML ... 439 13.1 ... Einlesen eines einzelnen Objekts ... 439 13.2 ... Sammlung von gleichartigen Objekten ... 442 13.3 ... Zugriff auf Attribute ... 444 13.4 ... Interne XML-Daten ... 446 13.5 ... Speicherung von Objekten ... 447 14. Ajax ... 449 14.1 ... Hallo Ajax ... 449 14.2 ... Parameter senden ... 452 14.3 ... XML-Dateien lesen ... 455 14.4 ... JSON-Dateien lesen ... 459 14.5 ... Zugriff auf eine MySQL-Datenbank ... 465 14.6 ... Weitere Ereignisse ... 468 15. Grafiken programmieren ... 471 15.1 ... Installation testen ... 471 15.2 ... Grafik anzeigen ... 472 15.3 ... Texte anzeigen ... 476 15.4 ... Bilder anzeigen ... 479 15.5 ... Zeichnungen erzeugen ... 485 15.6 ... Beispielanwendungen ... 492 16. PDF-Dateien erstellen ... 495 16.1 ... Installation ... 495 16.2 ... PDF-Dokument erzeugen ... 495 16.3 ... Text in Zelle ... 497 16.4 ... Fließtext, Schriftparameter ... 499 16.5 ... Tabellen ... 501 16.6 ... Kopf- und Fußzeile ... 503 16.7 ... Ein Bild aus einer Datei laden ... 506 16.8 ... Hyperlinks ... 507 16.9 ... Linie, Rechteck, Position ... 510 17. Automatisierter E-Mail-Versand ... 513 17.1 ... Eine erste E-Mail ... 513 17.2 ... Weitere Header ... 514 17.3 ... Ein E-Mail-Formular ... 515 17.4 ... E-Mails mit PHPMailer ... 517 18. Beispielanwendungen ... 519 18.1 ... Die Anwendung »Chat« ... 519 18.2 ... Die Anwendung »Blog« ... 520 18.3 ... Die Anwendung »Forum« ... 521 18.4 ... Die Anwendung »Multiplayer« ... 523 18.5 ... Die Anwendung »Steganografie« ... 527 Anhang ... 531 A ... Installationen und Hilfestellungen ... 531 Index ... 545
JavaScript All-in-One For Dummies
A DEVELOPER’S RESOURCE TO LEARNING ONE OF THE MOST-USED SCRIPTING LANGUAGESJavaScript All-in-One For Dummies saves you shelf space by offering a complete introduction to JavaScript and how it’s used in the real world. This book serves up JavaScript coding basics before diving into the tools, libraries, frameworks, and runtime environments new and experienced coders need to know. Start by learning the basics of JavaScript and progress through the techniques and tools used by professional JavaScript developers, even if you’ve never written code before. You also get the details of today’s hottest libraries and frameworks—React.js, Vue.js, Svelte, and Node.js.* Learn the basics of web and application development with the JavaScript language* Grasp the similarities and differences between React.js, Vue.js, and Svelte* Discover how to write server-side JavaScript and how to access databases with Node.js* Gain a highly marketable skill, with one of the most popular coding languages* Launch or further your career as a coder with easy-to-follow instruction* This is the go-to Dummies guide for future and current coders who need an all-inclusive guide JavaScript.This is the go-to Dummies guide for future and current coders who need an all-inclusive guide to the world of JavaScript.CHRIS MINNICK is a programmer, coding educator, course creator, and writer. He is the author of Beginning React.js Foundations, Coding with JavaScript For Dummies, JavaScript For Kids For Dummies, and more than a dozen other books about coding. He has taught web and mobile development, React, and JavaScript to thousands of programmers worldwide.