Programmierung
Java Testing with Selenium
Master the art of automated testing using Selenium with Java in this comprehensive guide. Whether you're a beginner or an experienced tester, the book equips you with the knowledge and techniques to build robust and maintainable test suites, ensuring the quality and reliability of your web applications.This book starts introducing the basics of automated testing and the importance of Selenium. It then covers the setup and configuration of the Selenium WebDriver in Java, providing a solid foundation for your testing environment. You'll learn essential aspects of Selenium testing in Java, including working with different browsers, locating web elements using locators, and performing actions on them. From there, you’ll explore how to handle dynamic web pages and effective wait mechanisms and verifications to ensure accurate and reliable test results. The book also guides you in setting up Selenium in Java for continuous integration and emphasizes best practices for test codeorganization and maintainability, such as the Page Object Model (POM) and structuring test suites effectively. By the end, you’ll have the expertise to address advanced scenarios, such as working with iframes, and know how TestNG enhances Selenium automation, enabling structured tests, data-driven insights, and swift parallel executions.Throughout the book, you'll benefit from real-world examples and practical exercises that reinforce the concepts. The clear explanations and step-by-step guidance make it easy to follow along and apply the knowledge to your own testing projects.WHAT YOU WILL LEARN* Understand the fundamentals of automated testing and the role of Selenium in web application testing* Set up the Selenium WebDriver in Java and configure the testing environment* Work with different web browsers and their drivers to perform cross-browser testing* Identify and locate web elements using various locators, such as IDs, class names, CSS selectors, and XPath expressions* Perform actions on web elements, such as clicking buttons, entering text, submitting forms, and navigating through web pages* Handle dynamic pages by implementing effective wait mechanisms, including implicit waits, explicit waits, and fluent waits* Verify and assert expected conditions and outcomes using assertions and verification techniques provided by Selenium in Java* Apply best practices for test code organization and maintainability, including using the Page Object Model (POM) design pattern* Handle advanced scenarios, such as working with iframes, and elevating Selenium automation through TestNG’s structured frameworks, data utilization, and parallel processingWHO THIS BOOK FORSoftware testers, quality assurance professionals, and developers interested in mastering automated testing with Selenium and Java. Suitable for various experience levels. Offers practical insights and techniques to automate web application testing accurately and reliably. Benefits testers, developers, and individuals familiar with Java and web testing, empowering them to write robust, maintainable test code and integrate Selenium seamlessly into their workflows.SUJAY RAGAHVENDRA is a distinguished expert in the field of machine learning and software testing, with a strong background in Python programming. With a deep passion for both disciplines, He has dedicated his career to exploring the intersection of these fields and delivering innovative solutions.Recognizing the critical role of testing in software development, Sujay expanded his expertise to include automated testing using Selenium with Python. With his books Python Testing with Selenium: Learn to Implement Different Testing Techniques Using the Selenium WebDriver and Beginner's Guide to Streamlit with Python: Build Web-Based Data and Machine Learning Applications, Sujay shares his extensive knowledge and practical insights into leveraging Selenium's capabilities with Python for efficient and reliable testing. This new book provides a comprehensive guide for professionals looking to master automated testing techniques, harnessing the power of Python and Selenium to ensure the quality and functionality of web applications.Sujay's expertise in both machine learning and software testing allows him to bring a unique perspective to the field of automated testing. He explores ways to integrate machine learning concepts into testing practices, enabling readers to discover innovative approaches to test analysis, anomaly detection, and intelligent test execution.With a solid foundation in programming, Sujay leverages his expertise to provide readers with practical examples, best practices, and coding techniques specific to Python and Selenium. His clear explanations and step-by-step guidance make it easy for readers to implement effective testing strategies and optimize their automation workflows.Beyond writing, Sujay actively contributes to the testing community through workshops, speaking engagements, and mentorship programs. He strive to empower professionals with the knowledge and skills needed to excel in automated testing, ensuring the delivery of high-quality software products. Through his work, Sujay continues to bridge the gap between machine learning, software testing, and programming, inspiring others to embrace the synergy of these disciplines and drive advancements in the field of automated testing.Chapter 1: Introduction to Selenium.- Chapter 2: Getting Started.- Chapter 3: Mouse and Keyboard Actions.- Chapter 4: Web Elements.- Chapter 5: Navigation.- Chapter 6: Buttons.- Chapter 7: Frames and Textboxes.- Chapter 8: Assertions.- Chapter 9: Exceptions.- Chapter 10: Waits.- Chapter 11: Page Object Models.- Chapter 12: Selenium with TestNG Framework.
Machine Learning For Network Traffic and Video Quality Analysis
This book offers both theoretical insights and hands-on experience in understanding and building machine learning-based Network Traffic Monitoring and Analysis (NTMA) and Video Quality Assessment (VQA) applications using JavaScript. JavaScript provides the flexibility to deploy these applications across various devices and web browsers.The book begins by delving into NTMA, explaining fundamental concepts and providing an overview of existing applications and research within this domain. It also goes into the essentials of VQA and offers a survey of the latest developments in VQA algorithms. The book includes a thorough examination of machine learning algorithms that find application in both NTMA and VQA, with a specific emphasis on classification and prediction algorithms such as the Multi-Layer Perceptron and Support Vector Machine. The book also explores the software architecture of the NTMA client-server application. This architecture is meticulously developed using HTML, CSS, Node.js, and JavaScript. Practical aspects of developing the Video Quality Assessment (VQA) model using JavaScript and Java are presented. Lastly, the book provides detailed guidance on implementing a complete system model that seamlessly merges NTMA and VQA into a unified web application, all built upon a client-server paradigm.By the end of the book, you will understand NTMA and VQA concepts and will be able to apply machine learning to both domains and develop and deploy your own NTMA and VQA applications using JavaScript and Node.js.What You Will Learn* What are the fundamental concepts, existing applications, and research on NTMA?* What are the existing software and current research trends in VQA?* Which machine learning algorithms are used in NTMA and VQA?* How do you develop NTMA and VQA web-based applications using JavaScript, HTML, and Node.js?Who This Book Is ForSoftware professionals and machine learning engineers involved in the fields of networking and telecommunicationsDR. TULSI PAWAN FOWDUR received his BEng (Hons) degree in Electronic and Communication Engineering with honors from the University of Mauritius in 2004. He was also the recipient of a Gold medal for having produced the best degree project at the Faculty of Engineering in 2004. In 2005 he obtained a full-time PhD scholarship from the Tertiary Education Commission of Mauritius and was awarded his PhD degree in Electrical and Electronic Engineering in 2010 by the University of Mauritius. He is also a Registered Chartered Engineer of the Engineering Council of the UK, Fellow of the Institute of Telecommunications Professionals of the UK, and a Senior Member of the IEEE. He joined the University of Mauritius as an academic in June 2009 and is presently an Associate Professor at the Department of Electrical and Electronic Engineering of the University of Mauritius. His research interests include mobile and wireless communications, multimedia communications, networking and security, telecommunications applications development, the Internet of Things, and AI. He has published several papers in these areas and is actively involved in research supervision, reviewing papers, and also organizing international conferences.LAVESH BABOORAM received his BEng (Hons) degree in Telecommunications Engineering with Networking with honors from the University of Mauritius in 2021. He was also awarded a Gold medal for having produced the best degree project at the Faculty of Engineering in 2021. Since 2022, he has been an MSc Applied Research student at the University of Mauritius. With in-depth knowledge of telecommunications applications design, analytics, and network infrastructure, he aims to pursue research in networking, multimedia communications, Internet of Things, artificial intelligence, and mobile and wireless communications. He joined Mauritius Telecom in 2022 and is currently working in the Customer Experience and Service Department as a Pre-Registration Trainee Engineer.Chapter 1: Introduction to NTMA and VQA.- Chapter 2: Network Traffic Monitoring and Analysis.- Chapter 3: Video Quality Assessment.- Chapter 4: Machine Learning Techniques for NTMA and VQA.- Chapter 5: NTMA Application with JavaScript.- Chapter 6: Video Quality Assessment Application Development with JavaScript.- Chapter 7: NTMA and VQA Integration.
Rust. Das umfassende Handbuch.
Rust. Das umfassende Handbuch (Juni 2024)Rust ist die neue erste Wahl für moderne, sichere Software – nicht nur im systemnahen Kontext. Cleveres Speichermanagement und eine hervorragende Safety sind die bekanntesten Vorzüge dieser vielseitigen Sprache. In umfassende und fundierte Kenntnisse zu investieren, lohnt sich!Wenn Sie die vielen beliebten Features genießen und in professionellen Code ummünzen möchten, ist dieses Buch Ihr idealer Begleiter. Mit vielen gut kommentierten Beispielen, Best Practices und gelegentlich auch Warnungen stellt es Sprachfeatures und Konzepte detailliert vor. Erfahrene Profis können alle Kapitel auch einzeln lesen, um sich gezielt mit fortgeschrittenen Themen zu befassen.Ihr Weg zum Rust-Profi1. Fundierter EinstiegWenn Sie noch nie mit Rust gearbeitet haben, steigen Sie hier einfach vorne ein. Nutzen Sie das Übungsbeispiel – ein Bestellsystem für Restaurants – , um nach und nach alle Sprachfeatures im Praxiskontext kennenzulernen.2. Detaillierte ErklärungenRust unterstützt anspruchsvolle Programmierweisen. Ob Sie systemnah, stark asynchron, objektorientiert oder funktional unterwegs sind: Marc Marburger erklärt die Konzepte mit Überblick und didaktischem Geschick.3. Über den TellerrandFreuen Sie sich auch auf weniger alltägliche Themen wie etwa Unsafe Rust, automatisierte Doku und Foreign Functions. Zum Beispiel implementieren Sie eine Library, um auf native iOS- und Android-Apps zuzugreifen und lernen, auch selbst APIs für mobile Apps anzubieten.Aus dem InhaltRust installieren, Toolchain aufsetzenFundierter EinstiegSpeichermanagementCollections und IteratorenMultithreadingI/O und NetzwerkprotokolleDoku und Tests automatisierenAPI für iOS und Android anbieten
EWM mit SAP S/4HANA - Architektur und Programmierung
EWM anpassen und erweitern, ganz nach Ihren Vorstellungen! Anhand praxisnaher Beispiele aus der Lagerverwaltung spielen Sie Lösungswege für Ihre Eigenentwicklungen durch – mit kommentiertem Code aus der Entwickler- und Beraterpraxis. Nutzen Sie Funktionsbausteine und BAdIs, um Benutzeroberflächen anzupassen, Prozesse zu automatisieren und Standardabläufe auf Ihre Anforderungen zuzuschneiden. Aktuell zu Embedded und Decentralized EWM in SAP S/4HANA! Aus dem Inhalt: Flexible LagerverwaltungLieferabwicklungLagerlogistikBestandsverwaltungQualitätsprüfungFrameworks und EntwicklungswerkzeugeIntegration mit ERP-SystemenFunktionsbausteine, Methoden und APIs Nützliche Business Add-insMigration Geleitwort ... 13 Einleitung ... 15 1. Flexible Lagerverwaltung mit Extended Warehouse Management ... 21 1.1 ... Lagerverwaltung mit standardisierter Software -- Deployment, Konfiguration und Erweiterung ... 22 1.2 ... Flexibilität von EWM ... 23 1.3 ... Zusammenfassung ... 28 2. Architektur ... 29 2.1 ... Lieferabwicklung ... 30 2.2 ... Lagerlogistik ... 53 2.3 ... Bestandsverwaltung ... 75 2.4 ... Qualitätsprüfung ... 86 2.5 ... Integration mit ERP-Systemen ... 109 2.6 ... Zusammenfassung ... 156 3. Frameworks und Entwicklungswerkzeuge in EWM ... 159 3.1 ... Lagerverwaltungsmonitor ... 159 3.2 ... Easy Graphics Framework und Kennzahlenservices ... 170 3.3 ... Radio Frequency Framework ... 189 3.4 ... Post Processing Framework ... 237 3.5 ... Key-User-Erweiterbarkeit für benutzerdefinierte Felder ... 250 3.6 ... Arbeitsplatz ... 260 3.7 ... Zusammenfassung ... 281 4. Erweiterungen der SAP Best Practices für Embedded EWM ... 283 4.1 ... Einführung in die SAP Best Practices für Embedded EWM ... 284 4.2 ... Einfacher Wareneingang vom Lieferanten: 1FS ... 292 4.3 ... Wareneingang vom Lieferanten mit Chargenverwaltung: 1V5 ... 310 4.4 ... Einfacher Warenausgang zum Kunden (Kommissionier-Handling-Units als Versand-Handling-Units): 1G2 ... 347 4.5 ... Erweiterter Warenausgang zum Kunden (Wellen, Kommissionier-Handling-Units, Verpacken, Bereitstellen und Verladen): 1V7 ... 374 4.6 ... Permanente Inventur: 1FW ... 401 4.7 ... Zusammenfassung ... 409 5. Funktionsbausteine, Methoden und APIs für EWM ... 411 5.1 ... Transaction Manager für eine Logical Unit of Work in EWM ... 412 5.2 ... API-Konzept für EWM ... 415 5.3 ... Externe APIs ... 416 5.4 ... Serviceklasse zum Füllen von Bestandsfeldern ... 417 5.5 ... Datum und Uhrzeit für die Zeitzone der Lagernummer ... 418 5.6 ... Anwendungsübergreifende Konstanten ... 419 5.7 ... Anwendungsprotokoll anlegen und erweitern ... 420 5.8 ... EWM-Lieferungen und -Lageranforderungen lesen ... 422 5.9 ... EWM-Lieferungen und -Lageranforderungen bearbeiten ... 424 5.10 ... Lagerproduktstamm lesen ... 426 5.11 ... Lagerproduktstamm anlegen/ändern ... 428 5.12 ... Serviceklasse für Chargenverwaltung ... 430 5.13 ... Lageraufgabe lesen ... 432 5.14 ... Lageraufgabe anlegen, quittieren und stornieren ... 432 5.15 ... Handling Units von der Datenbank selektieren ... 434 5.16 ... Handling Units lesen, anlegen und ändern ... 436 5.17 ... Bestand lesen ... 438 5.18 ... Bestand umbuchen ... 440 5.19 ... Wellen lesen, freigeben, splitten und zusammenführen ... 443 5.20 ... Transporteinheit lesen ... 447 5.21 ... Transporteinheit ändern ... 449 5.22 ... Packspezifikationen finden und lesen ... 450 5.23 ... Packspezifikationen anlegen, ändern, kopieren und löschen ... 451 5.24 ... Serviceklasse für RF-Framework ... 452 5.25 ... Zusammenfassung ... 453 6. Nützliche Business Add-ins in EWM ... 455 6.1 ... Lieferabwicklung ... 457 6.2 ... Wellenmanagement ... 467 6.3 ... Lageraufgaben ... 476 6.4 ... Lagerauftragserstellung ... 500 6.5 ... Ausnahmebehandlung ... 509 6.6 ... Zusammenfassung ... 510 Anhang ... 511 A ... Programmierrichtlinien für Erweiterungen in EWM ... 511 B ... Migration von SAP EWM nach EWM in SAP S/4HANA ... 519 Das Autorenteam ... 529 Index ... 531
Rust
Werden Sie Rust-Profi und entwickeln Sie moderne, sichere Software! Rust ist für sein cleveres Speichermanagement, hervorrangende Sicherheit und viele beliebte Features bekannt. Nutzen Sie das hervorrangende Design dieser Sprache, um moderne und robuste Software auf professionellem Niveau zu entwickeln! Dieses Handbuch begleitet Sie beim Einstieg und stellt Rust dann detailliert vor – sowohl für systemnahe Prorammierung als auch für Enterprise- und Cloud-Anwendungen. Mit vielen gut kommentierten Codebeispielen, Best Practices und einer durchgehenden Demo-Anwendung. Zugleich lassen sich alle Kapitel gut einzeln lesen und zum Nachschlagen verwenden. Der ideale Weg zu fundierten und umfassenden Kenntnissen! Aus dem Inhalt: Rust installieren, Toolchain aufsetzenFundierter EinstiegSpeichermanagementTraits und ClosuresCollections und IteratorenAsynchrone ProgrammierungMultithreadingArbeiten mit TextDokumentation und Test automatisierenSchnittstellen zu anderen Sprachen Materialien zum Buch ... 18 1. Über dieses Buch ... 19 1.1 ... Was Sie in diesem Buch lernen werden ... 20 1.2 ... Was dieses Buch Ihnen zeigen möchte ... 21 1.3 ... Noch mehr Informationen und Guides ... 22 1.4 ... Danksagung ... 24 2. Die Installation, die IDE und »Hallo Rust« ... 25 2.1 ... Wie Sie Rust installieren ... 25 2.2 ... Eine Entwicklungsumgebung wählen ... 28 2.3 ... Das erste Programm ... 30 2.4 ... Wie es weitergeht ... 33 3. Variablen und Datentypen ... 35 3.1 ... Prelude: Die Standardimporte ... 35 3.2 ... Variablen ... 36 3.3 ... Konstanten ... 56 3.4 ... Skalare Datentypen ... 60 3.5 ... Wie Rust mit »Option« auf null verzichtet ... 81 3.6 ... Zusammenfassung ... 84 4. Speichernutzung und Referenzen ... 87 4.1 ... Wichtige Speicherbereiche ... 87 4.2 ... Eigentumsverhältnisse im Speicher ... 89 4.3 ... Referenzen und der leihweise Zugriff ... 98 4.4 ... Mit Box Objekte im Heap ablegen ... 111 4.5 ... Zusammenfassung ... 121 5. Strings ... 123 5.1 ... Der String-Slice ... 123 5.2 ... Der String ... 134 5.3 ... Wie Sie Strings formatieren ... 147 5.4 ... Zusammenfassung ... 154 6. Collections ... 157 6.1 ... Tupel ... 157 6.2 ... Arrays ... 166 6.3 ... Elementbereiche ... 173 6.4 ... Vektoren ... 182 6.5 ... Slices ... 214 6.6 ... HashMap und BTreeMap ... 231 6.7 ... Hashes ... 245 6.8 ... Mengen verwalten ... 248 6.9 ... Die Entry API ... 251 6.10 ... Elemente verschiedener Datentypen in eine Collection einfügen ... 257 6.11 ... Zusammenfassung ... 260 7. Funktionen ... 263 7.1 ... Der Aufbau einer Funktion ... 264 7.2 ... Funktionszeiger ... 268 7.3 ... Referenzen und Lebenszeiten in Funktionen ... 271 7.4 ... Konstante Funktionen ... 280 7.5 ... Anonyme Funktionen und Closures ... 285 7.6 ... Funktions-Traits ... 302 7.7 ... Zusammenfassung ... 311 8. Anweisungen, Ausdrücke und Muster ... 313 8.1 ... Von der Anweisung zum Ausdruck und Muster ... 313 8.2 ... Die Zuweisung im Detail ... 316 8.3 ... Speicherausdrücke ... 319 8.4 ... Operatoren ... 325 8.5 ... Konditionale Ausdrücke ... 330 8.6 ... Schleifen ... 342 8.7 ... Muster ... 350 8.8 ... Zusammenfassung ... 364 9. Fehlerbehandlung ... 367 9.1 ... Fehler, von denen sich das Programm nicht erholen kann ... 367 9.2 ... Erwartbare Fehler behandeln ... 381 9.3 ... Zusammenfassung ... 418 10. Strukturen ... 421 10.1 ... Daten zusammenhängend ablegen ... 422 10.2 ... Records: Der Struktur-Urtyp ... 423 10.3 ... Strukturen und Instanzen ... 426 10.4 ... Lebenszeiten: Wenn Felder Referenzen enthalten ... 441 10.5 ... Wie Sie dem Compiler mit PhantomData wichtige Typinformationen übergeben ... 449 10.6 ... Eine Datenstruktur ohne feste Größe ... 460 10.7 ... Die drei Strukturen ... 462 10.8 ... Muster ... 466 10.9 ... Daten und Verhalten sind getrennt ... 468 10.10 ... Strukturen in der Praxis: Das Bestellsystem überarbeiten ... 475 10.11 ... Assoziierte Funktionen und die new-Konvention ... 480 10.12 ... Methoden ... 486 10.13 ... Referenzen in assoziierten Funktionen und Methoden ... 501 10.14 ... Praxisbeispiel: Simulationsfähigkeiten im Restaurant-System ... 503 10.15 ... Rekursion in Strukturen ... 507 10.16 ... Typ-Aliasse ... 510 10.17 ... Zusammenfassung ... 512 11. Traits ... 515 11.1 ... Marker-Traits ... 516 11.2 ... Trait-Implementierungsblöcke ... 517 11.3 ... Sie können ein Trait jeweils für T und &T implementieren ... 541 11.4 ... Super-Traits ... 546 11.5 ... Trait-Objekte ... 549 11.6 ... Beispielprojekt: Trait-Objekte von »Form« ... 564 11.7 ... Undurchsichtige Datentypen zurückgeben ... 574 11.8 ... Traits in der Praxis ... 578 11.9 ... Zusammenfassung ... 627 12. Enumerationen ... 631 12.1 ... Die Eigenschaften einer Enumeration ... 632 12.2 ... Verschiedene Variant-Typen ... 644 12.3 ... Enumerationen und Muster ... 656 12.4 ... Implementierungsblöcke und Verhalten ... 660 12.5 ... Zusammenfassung ... 667 13. Module, Pfade und Crates ... 669 13.1 ... Das Modul ... 669 13.2 ... Pfade ... 697 13.3 ... Vom Crate zum Paket, vom Paket zum Workspace ... 721 13.4 ... Zusammenfassung ... 777 14. Generische Programmierung ... 781 14.1 ... Von der Vorlage zur Konkretisierung: Monomorphisierung ... 781 14.2 ... Typparameter, generische Konstanten und Lebenszeiten ... 783 14.3 ... Syntaktische Elemente, die generisch sein können ... 785 14.4 ... Mehr zu Trait-Grenzen ... 789 14.5 ... Zusammenfassung ... 794 15. Iteratoren ... 797 15.1 ... Wie Sie einen Iterator beziehen ... 798 15.2 ... Iterator-Adapter ... 805 15.3 ... Einen Iterator konsumieren ... 816 15.4 ... Zusammenfassung ... 822 16. Nebenläufige und asynchrone Programmierung ... 823 16.1 ... Nebenläufige Programmierung ... 824 16.2 ... Smart Pointer ... 876 16.3 ... Asynchrone Programmierung ... 893 16.4 ... Zusammenfassung ... 915 17. Makros ... 917 17.1 ... Deklarative Makros ... 917 17.2 ... Prozedurale Makros ... 939 17.3 ... Zusammenfassung ... 950 18. Automatische Tests und Dokumentation ... 953 18.1 ... Tests ... 954 18.2 ... Rust-Projekte dokumentieren ... 966 18.3 ... Zusammenfassung ... 979 19. Unsafe Rust und das Foreign Function Interface ... 981 19.1 ... Unsafe Rust ... 981 19.2 ... Primitive Zeiger ... 987 19.3 ... Union ... 998 19.4 ... Foreign Function Interface ... 1001 19.5 ... Zusammenfassung ... 1005 Index ... 1007
C++
Dieses Standardwerk führt Sie in die moderne C++-Entwicklung ein. Entwickeln Sie Software mit hohen Ansprüchen an Funktionalität, Effizienz und Sicherheit. Ausführlich werden der Sprachkern, die objektorientierte Programmierung und die Standardbibliothek behandelt. Sie lernen zum Beispiel, mit Streams umzugehen, Containertypen zu nutzen und nebenläufige Anwendungen zu entwicklen. Nicht zuletzt geht es dem Autor um das Wie: Freuen Sie sich auf ein Lehrbuch über die Konzepte des Modern C++, die C++ Core Guidelines, Sprachversionen und vor allem über guten Code. Aus dem Inhalt: SprachgrundlagenFehlerbehandlungObjektorientierte ProgrammierungZeigerSchnittstelle zu CTemplatesContainerStandardbibliothekC++ Core GuidelinesExtra: Tutorials zum Thema „guter Code“ Vorwort ... 25 TEIL I. Grundlagen ... 29 1. Das C++-Handbuch ... 31 1.1 ... Neu und modern ... 32 1.2 ... »Dan«-Kapitel ... 32 1.3 ... Darstellung in diesem Buch ... 33 1.4 ... Verwendete Formatierungen ... 33 1.5 ... Sorry for my Denglish ... 34 2. Programmieren in C++ ... 37 2.1 ... Übersetzen ... 38 2.2 ... Übersetzungsphasen ... 39 2.3 ... Aktuelle Compiler ... 40 2.4 ... Entwicklungsumgebungen ... 41 2.5 ... Die Kommandozeile unter Ubuntu ... 43 2.6 ... Die IDE »Visual Studio Code« unter Windows ... 47 2.7 ... Das Beispielprogramm beschleunigen ... 54 3. C++ für Umsteiger ... 55 4. Die Grundbausteine von C++ ... 63 4.1 ... Ein schneller Überblick ... 66 4.2 ... Ohne Eile erklärt ... 71 4.3 ... Operatoren ... 100 4.4 ... Eingebaute Datentypen ... 116 4.5 ... Undefiniertes und unspezifiziertes Verhalten ... 157 5. Guter Code, 1. Dan: Lesbar programmieren ... 159 5.1 ... Kommentare ... 160 5.2 ... Dokumentation ... 160 5.3 ... Einrückungen und Zeilenlänge ... 161 5.4 ... Zeilen pro Funktion und Datei ... 162 5.5 ... Klammern und Leerzeichen ... 163 5.6 ... Namen ... 164 6. Höhere Datentypen ... 167 6.1 ... Der Zeichenkettentyp »string« ... 168 6.2 ... Streams ... 174 6.3 ... Behälter und Zeiger ... 181 6.4 ... Die einfachen Sequenzcontainer ... 183 6.5 ... Algorithmen ... 189 6.6 ... Zeiger und C-Arrays ... 189 7. Funktionen ... 191 7.1 ... Deklaration und Definition einer Funktion ... 192 7.2 ... Funktionstyp ... 193 7.3 ... Funktionen verwenden ... 194 7.4 ... Eine Funktion definieren ... 195 7.5 ... Mehr zu Parametern ... 197 7.6 ... Funktionskörper ... 201 7.7 ... Parameter umwandeln ... 203 7.8 ... Funktionen überladen ... 205 7.9 ... Defaultparameter ... 208 7.10 ... Beliebig viele Argumente ... 209 7.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 210 7.12 ... Spezialitäten ... 211 8. Anweisungen im Detail ... 215 8.1 ... Der Anweisungsblock ... 218 8.2 ... Die leere Anweisung ... 221 8.3 ... Deklarationsanweisung ... 221 8.4 ... Die Ausdrucksanweisung ... 224 8.5 ... Die »if«-Anweisung ... 224 8.6 ... Die »while«-Schleife ... 229 8.7 ... Die »do-while«-Schleife ... 231 8.8 ... Die »for«-Schleife ... 232 8.9 ... Die bereichsbasierte »for«-Schleife ... 234 8.10 ... Die »switch«-Verzweigung ... 236 8.11 ... Die »break«-Anweisung ... 240 8.12 ... Die »continue«-Anweisung ... 241 8.13 ... Die »return«-Anweisung ... 242 8.14 ... Die »goto«-Anweisung ... 243 8.15 ... Der »try-catch«-Block und »throw« ... 245 8.16 ... Zusammenfassung ... 247 9. Ausdrücke im Detail ... 249 9.1 ... Berechnungen und Seiteneffekte ... 250 9.2 ... Arten von Ausdrücken ... 251 9.3 ... Literale ... 253 9.4 ... Bezeichner ... 253 9.5 ... Klammern ... 254 9.6 ... Funktionsaufruf und Indexzugriff ... 254 9.7 ... Zuweisung ... 255 9.8 ... Typumwandlung ... 257 10. Fehlerbehandlung ... 259 10.1 ... Fehlerbehandlung mit Fehlercodes ... 261 10.2 ... Was ist eine Ausnahme? ... 264 10.3 ... Kleinere Fehlerbehandlungen ... 267 10.4 ... Weiterwerfen -- »rethrow« ... 268 10.5 ... Die Reihenfolge im »catch« ... 268 10.6 ... Typen für Exceptions ... 271 10.7 ... Wenn eine Exception aus »main« herausfällt ... 272 11. Guter Code, 2. Dan: Modularisierung ... 273 11.1 ... Programm, Bibliothek, Objektdatei ... 273 11.2 ... Bausteine ... 274 11.3 ... Trennen der Funktionalitäten ... 275 11.4 ... Ein modulares Beispielprojekt ... 277 TEIL II. Objektorientierte Programmierung und mehr ... 289 12. Von der Struktur zur Klasse ... 291 12.1 ... Initialisierung ... 294 12.2 ... Rückgabe eigener Typen ... 295 12.3 ... Methoden statt Funktionen ... 297 12.4 ... Das bessere »drucke« ... 300 12.5 ... Eine Ausgabe wie jede andere ... 302 12.6 ... Methoden inline definieren ... 303 12.7 ... Implementierung und Definition trennen ... 304 12.8 ... Initialisierung per Konstruktor ... 305 12.9 ... Struktur oder Klasse? ... 313 12.10 ... Zwischenergebnis ... 318 12.11 ... Eigene Datentypen verwenden ... 318 12.12 ... Typinferenz mit »auto« ... 335 12.13 ... Eigene Klassen in Standardcontainern ... 339 13. Namensräume und Qualifizierer ... 343 13.1 ... Der Namensraum »std« ... 344 13.2 ... Anonymer Namensraum ... 347 13.3 ... »static« macht lokal ... 349 13.4 ... »static« teilt gern ... 350 13.5 ... Ferne Initialisierung oder »static inline«-Datenfelder ... 353 13.6 ... Garantiert zur Compilezeit initialisiert mit »constinit« ... 354 13.7 ... »static« macht dauerhaft ... 354 13.8 ... »inline namespace« ... 356 13.9 ... Zusammenfassung ... 358 13.10 ... »const« ... 358 13.11 ... Flüchtig mit »volatile« ... 380 14. Guter Code, 3. Dan: Testen ... 383 14.1 ... Arten des Tests ... 383 14.2 ... Frameworks ... 391 14.3 ... Boost.Test ... 396 14.4 ... Hilfsmakros für Assertions ... 400 14.5 ... Ein Beispielprojekt mit Unittests ... 403 15. Vererbung ... 417 15.1 ... Beziehungen ... 418 15.2 ... Vererbung in C++ ... 421 15.3 ... Hat-ein versus ist-ein ... 422 15.4 ... Gemeinsamkeiten finden ... 422 15.5 ... Abgeleitete Typen erweitern ... 425 15.6 ... Methoden überschreiben ... 426 15.7 ... Wie Methoden funktionieren ... 427 15.8 ... Virtuelle Methoden ... 429 15.9 ... Konstruktoren in Klassenhierarchien ... 431 15.10 ... Typumwandlung in Klassenhierarchien ... 433 15.11 ... Wann virtuell? ... 434 15.12 ... Andere Designs zur Erweiterbarkeit ... 436 16. Der Lebenszyklus von Klassen ... 439 16.1 ... Erzeugung und Zerstörung ... 440 16.2 ... Temporary: kurzlebige Werte ... 442 16.3 ... Der Destruktor zum Konstruktor ... 444 16.4 ... Yoda-Bedingung ... 449 16.5 ... Konstruktion, Destruktion und Exceptions ... 450 16.6 ... Kopieren ... 452 16.7 ... Zuweisungsoperator ... 455 16.8 ... Streichen von Methoden ... 459 16.9 ... Verschiebeoperationen ... 461 16.10 ... Operatoren ... 466 16.11 ... Eigene Operatoren in einem Datentyp ... 470 16.12 ... Besondere Klassenformen ... 478 17. Guter Code, 4. Dan: Sicherheit, Qualität und Nachhaltigkeit ... 483 17.1 ... Die Nullerregel ... 483 17.2 ... RAII -- Resource Acquisition Is Initialization ... 489 18. Spezielles für Klassen ... 499 18.1 ... Dürfen alles sehen -- »friend«-Klassen ... 499 18.2 ... Non-public-Vererbung ... 504 18.3 ... Signaturklassen als Interfaces ... 510 18.4 ... Multiple Vererbung ... 514 18.5 ... Rautenförmige multiple Vererbung -- »virtual« für Klassenhierarchien ... 524 18.6 ... Literale Datentypen -- »constexpr« für Konstruktoren ... 528 19. Guter Code, 5. Dan: Klassisches objektorientiertes Design ... 531 19.1 ... Objekte in C++ ... 533 19.2 ... Objektorientiert designen ... 534 TEIL III. Fortgeschrittene Themen ... 555 20. Zeiger ... 557 20.1 ... Adressen ... 558 20.2 ... Zeiger ... 560 20.3 ... Gefahren von Aliasing ... 562 20.4 ... Heapspeicher und Stapelspeicher ... 563 20.5 ... Smarte Pointer ... 567 20.6 ... Rohe Zeiger ... 576 20.7 ... C-Arrays ... 582 20.8 ... Iteratoren ... 588 20.9 ... Zeiger als Iteratoren ... 590 20.10 ... Zeiger im Container ... 590 20.11 ... Die Ausnahme: wann das Wegräumen nicht nötig ist ... 591 21. Makros ... 595 21.1 ... Der Präprozessor ... 596 21.2 ... Vorsicht vor fehlenden Klammern ... 600 21.3 ... Featuremakros ... 601 21.4 ... Information über den Quelltext ... 602 21.5 ... Warnung vor Mehrfachausführung ... 603 21.6 ... Typvariabilität von Makros ... 604 21.7 ... Zusammenfassung ... 607 22. Schnittstelle zu C ... 609 22.1 ... Mit Bibliotheken arbeiten ... 610 22.2 ... C-Header ... 611 22.3 ... C-Ressourcen ... 614 22.4 ... »void«-Pointer ... 615 22.5 ... Daten lesen ... 616 22.6 ... Das Hauptprogramm ... 617 22.7 ... Zusammenfassung ... 618 23. Templates ... 619 23.1 ... Funktionstemplates ... 621 23.2 ... Funktionstemplates in der Standardbibliothek ... 631 23.3 ... Eine Klasse als Funktion ... 637 23.4 ... C++ Concepts ... 654 23.5 ... Templateklassen ... 662 23.6 ... Templates mit variabler Argumentanzahl ... 677 23.7 ... Eigene Literale ... 681 TEIL IV. Die Standardbibliothek ... 693 24. Container ... 695 24.1 ... Grundlagen ... 696 24.2 ... Iteratoren-Grundlagen ... 709 24.3 ... Allokatoren: Speicherfragen ... 714 24.4 ... Containergemeinsamkeiten ... 717 24.5 ... Ein Überblick über die Standardcontainerklassen ... 719 24.6 ... Die sequenziellen Containerklassen ... 723 24.7 ... Assoziativ und geordnet ... 769 24.8 ... Nur assoziativ und nicht garantiert ... 805 24.9 ... Containeradapter ... 837 24.10 ... Sonderfälle: »string«, »basic_string« und »vector« ... 840 24.11 ... Sonderfälle: »vector«, »array« und »bitset« ... 842 24.12 ... Sonderfall: Value-Array mit »valarray<>« ... 845 25. Containerunterstützung ... 855 25.1 ... Algorithmen ... 857 25.2 ... Iteratoren und Ranges ... 858 25.3 ... Iteratoradapter ... 860 25.4 ... Algorithmen der Standardbibliothek ... 861 25.5 ... Parallele Ausführung ... 863 25.6 ... Liste der Algorithmusfunktionen und Range-Adapter ... 866 25.7 ... Elemente verknüpfende Algorithmen aus »« und »« ... 892 25.8 ... Kopie statt Zuweisung -- Werte in uninitialisierten Speicherbereichen ... 899 25.9 ... Eigene Algorithmen ... 901 25.10 ... Eigene Views und Range-Adapter schreiben ... 903 26. Guter Code, 6. Dan: Für jede Aufgabe der richtige Container ... 907 26.1 ... Alle Container nach Aspekten sortiert ... 907 26.2 ... Rezepte für Container ... 913 26.3 ... Algorithmen je nach Container unterschiedlich implementieren ... 919 27. Streams, Dateien und Formatierung ... 921 27.1 ... Ein- und Ausgabekonzept mit Streams ... 922 27.2 ... Globale, vordefinierte Standardstreams ... 922 27.3 ... Methoden für die Aus- und Eingabe von Streams ... 925 27.4 ... Fehlerbehandlung und Zustand von Streams ... 929 27.5 ... Streams manipulieren und formatieren ... 933 27.6 ... Streams für die Dateiein- und Dateiausgabe ... 945 27.7 ... Streams für Strings ... 961 27.8 ... Streampuffer ... 966 27.9 ... »filesystem« ... 969 27.10 ... Formatieren ... 971 28. Standardbibliothek -- Extras ... 979 28.1 ... »pair« und »tuple« ... 979 28.2 ... Reguläre Ausdrücke ... 987 28.3 ... Zufall ... 997 28.4 ... Mathematisches ... 1006 28.5 ... Systemfehlerbehandlung mit »system_error« ... 1033 28.6 ... Laufzeittypinformationen -- »« und »« ... 1043 28.7 ... Hilfsklassen rund um Funktoren -- »« ... 1047 28.8 ... »optional« für einen oder keinen Wert ... 1055 28.9 ... »variant« für einen von mehreren Typen ... 1056 28.10 ... »any« hält jeden Typ ... 1058 28.11 ... Spezielle mathematische Funktionen ... 1059 28.12 ... Schnelle Umwandlung mit »« ... 1060 29. Threads -- Programmieren mit Mehrläufigkeit ... 1063 29.1 ... C++-Threading-Grundlagen ... 1064 29.2 ... Gemeinsame Daten ... 1082 29.3 ... Andere Möglichkeiten zur Synchronisation ... 1100 29.4 ... Im eigenen Speicher mit »thread_local« ... 1104 29.5 ... Mit »condition_variable« auf Ereignisse warten ... 1105 29.6 ... Einmal warten mit »future« ... 1110 29.7 ... Atomics ... 1122 29.8 ... Koroutinen ... 1127 29.9 ... Zusammenfassung ... 1133 A. Guter Code, 7. Dan: Richtlinien ... 1137 A.1 ... Guideline Support Library ... 1138 A.2 ... C++ Core Guidelines ... 1139 B. Cheat Sheet ... 1153 Index ... 1157
Clean Architecture Praxisbuch
Clean Architecture. Praxisbuch für saubere Software-Architektur und wartbaren Code. Übersetzung der 2. Auflage aus dem Juni 2024. Der Weg zu wartbarer SoftwareUm die Entwicklungskosten niedrig zu halten (und die Entwickler zufrieden zu stellen), ist eine wartungsfreundliche Architektur der Schlüssel zum Erfolg. Dieses Buch vermittelt Ihnen alle notwendigen Fähigkeiten und Kenntnisse, um wartbare und langlebige Software zu entwickeln, unabhängig davon, ob Sie ein erfahrener Entwickler oder neu auf diesem Gebiet sind.Domänen-zentrierte Architektur in der PraxisDieser umfassende Leitfaden zeigt die Vorteile domänen-zentrierter Softwarearchitektur auf – angelehnt an Robert C. Martins Clean Architecture und Alistair Cockburns hexagonaler Architektur. Anhand zahlreicher Beispiele erfahren Sie, wie Sie eine hexagonale Architektur in ihrem Code abbilden können. Sie lernen verschiedene Mapping-Strategien zwischen den Schichten einer hexagonalen Architektur kennen und erfahren, wie Sie die Architekturelemente zu einer Anwendung zusammensetzen.Komplexe Konzepte leicht verständlich erklärtMit anschaulichen Erläuterungen und anhand zahlreicher Codebeispiele schafft dieses Buch ein tiefes und praxistaugliches Verständnis des hexagonalen Architekturstils. So sind Sie perfekt darauf vorbereitet, wartbare Webanwendungen zu erstellen, die Geld und Zeit sparen.Über den Autor:Tom ist Softwareentwickler, Autor, und Simplicity Nerd. Er vereinfacht Code sowie Text und schreibt Artikel, Bücher, und Entwicklerdokumentationen, die begeistern. Aktuell arbeitet er bei Atlassian in Sydney, Australien, wo er für die Developer Experience der dort genutzten Technologie-Stacks verantwortlich ist.Leseprobe (PDF-Link)
Python von Kopf bis Fuß
Python so richtig lernen: fundiert und auch noch mit Spaß - Was? Alles, was relevant ist: von den Python-Grundlagen, dem Umgang mit komplexen Datenstrukturen, JSON, Webtechnologien wie Templating und Web-Scraping bis hin zu Pythons Bibliothek Panda zur Datenanalyse u.v.a.m. - Wie? Mit der gehirnfreundlichen Von-Kopf-bis-Fuß-Didaktik: einer spielerischen und visuell anregenden Wissensvermittlung rund um einen Schwimmcoach, der Klemmbrett und Stoppuhr gegen eine automatisch aktualisierte Web-App mit Datenanbindung tauscht - Wer? Alle, die Python richtig lernen wollen und erste Programmierkenntnisse mitbringen Sie wollen professionell Python programmieren, ohne öde Anleitungen und Manuals durchackern zu müssen? Mit »Python von Kopf bis Fuß« klappt das garantiert: Schnell verstehen Sie wichtige Grundlagen wie Datenstrukturen und Funktionen und schreiben lauffähigen Python-Code. Sie entwickeln Ihre eigene Webanwendung und stellen sie abschließend in der Cloud bereit. Sie lernen, wie Sie mit Python Daten verarbeiten, aus dem Web auslesen, an Pandas übergeben und mit Datenbanken interagieren. Die dritte Ausgabe von »Python von Kopf bis Fuß« ist ein komplettes Trainingsprogramm: In kürzester Zeit werden Sie souverän Python programmieren und einsetzen – nicht zuletzt im Data-Science-Umfeld. Was ist das Besondere an diesem Buch? Wenn Sie schon einmal ein »Von Kopf bis Fuß« gelesen haben, wissen Sie, was Sie erwartet: eine visuell ansprechende Darstellung, die auf die Arbeitsweise Ihres Gehirns abgestimmt ist. Wenn Sie die Reihe noch nicht kennen, werden Sie begeistert sein: keine einschläfernden Bleiwüsten, sondern abwechslungsreiche Elemente, die eine multisensorische Lernerfahrung ermöglichen und Kopf und Hirn auf Trab bringen. So wird Lernen zum Vergnügen.
Python von Kopf bis Fuß (3. Auflage)
Python von Kopf bis Fuß - Grundlagen und Praxis der Python-Programmierung. In 3., erweiterter und aktualisierter Auflage aus dem Mai 2024.Python so richtig lernen: fundiert und auch noch mit SpaßWas? Alles, was relevant ist: von den Python-Grundlagen, dem Umgang mit komplexen Datenstrukturen, JSON, Webtechnologien wie Templating und Web-Scraping bis hin zu Pythons Bibliothek Panda zur Datenanalyse u.v.a.m.Wie? Mit der gehirnfreundlichen Von-Kopf-bis-Fuß-Didaktik: einer spielerischen und visuell anregenden Wissensvermittlung rund um einen Schwimmcoach, der Klemmbrett und Stoppuhr gegen eine automatisch aktualisierte Web-App mit Datenanbindung tauschtWer? Alle, die Python richtig lernen wollen und erste Programmierkenntnisse mitbringenSie wollen Python richtig lernen, ohne öde Anleitungen und Manuals durchackern zu müssen? Mit »Python von Kopf bis Fuß« klappt das garantiert: Schnell verstehen Sie wichtige Python-Grundlagen wie Datenstrukturen und Funktionen und schreiben funktionierenden Python-Code. Sie entwickeln Ihre eigene Webanwendung, die - sobald sie einsatzbereit ist -, in der Cloud läuft. Sie lernen, wie Sie mit Python Daten verarbeiten, Daten aus dem Web auslesen, an Pandas übergeben und mit Datenbanken interagieren.Die dritte Ausgabe von »Python von Kopf bis Fuß« ist ein komplettes Trainingsprogramm: In kürzester Zeit werden Sie souverän Python programmieren und einsetzen – nicht zuletzt im Data-Science-Umfeld.Zielgruppe: Python-Einsteiger*innen mit Grundkenntnissen in einer anderen ProgrammierspracheÜber den Autor: Paul Barry lebt mit seiner Frau Deirdre in der irischen Kleinstadt Carlow etwa 80 Kilometer von der Hauptstadt Dublin entfernt. Ihre drei Kinder (Joseph, Aaron und Aideen) sind mittlerweile erwachsen und „flügge geworden“.Paul arbeitet an der South East Technological University (SETU). Sein Hauptarbeitsplatz ist der Kilkenny Road Campus Carlow, wo er als Mitarbeiter der Informatikabteilung der Universität seine Vorlesungen hält. Paul unterrichtet schon seit langer Zeit. Dabei setzt er seit fast 15 Jahren Python in allen Klassengruppen ein.Paul besitzt einen Master- und einen Bachelor-Abschluss in Informatik sowie Zusatzqualifikationen im Bereich Learning & Teaching. Er ist nie dazu gekommen, seinen Doktor zu machen, daher sollte man ihn auch nicht als „Professor“ bezeichnen (obwohl er sich darüber freut, wenn das trotzdem geschieht).Den größten Teil der 1980er- und 1990er-Jahre arbeitete Paul im IT-Sektor, und zwar hauptsächlich im kanadischen Gesundheitswesen. Er hat darüber hinaus weitere Bücher und – vor langer Zeit – Artikel für das Linux Journal geschrieben.All das bedeutet, dass Paul (leider) etwas in die Jahre gekommen ist. Bitte sagen Sie’s nicht weiter.
Clean Architecture Praxisbuch
Best Practices für die Entwicklung von anpassungsfähiger Software Lernen Sie neue Konzepte kennen und verbinden Sie diese mit Ihrem eigenen Softwareentwicklungsstil Entwickeln Sie ein Mindset für bewusste Architekturentscheidungen Der Weg zu wartbarer Software Eine wartungsfreundliche Architektur ist der Schlüssel, um Entwicklungsaufwand und -kosten niedrig zu halten. Dieses Buch vermittelt Ihnen alle notwendigen Fähigkeiten und Kenntnisse, um wartbare und langlebige Software zu entwickeln, ohne Vorkenntnisse vorauszusetzen. Domänen-zentrierte Architektur in der Praxis Dieser umfassende Leitfaden zeigt die Vorteile domänen-zentrierter Softwarearchitektur auf - angelehnt an Robert C. Martins Clean Architecture und Alistair Cockburns hexagonale Architektur. Anhand zahlreicher Beispiele erfahren Sie, wie Sie eine hexagonale Architektur in Ihrem Code abbilden können. Sie lernen verschiedene Strategien für das Mapping zwischen den Schichten einer hexagonalen Architektur kennen und erfahren, wie Sie die Architekturelemente zu einer Anwendung zusammensetzen. Komplexe Konzepte leicht verständlich erklärt Mit anschaulichen Erläuterungen und anhand zahlreicher Codebeispiele schafft dieses Buch ein tiefes und praxistaugliches Verständnis des hexagonalen Architekturstils. So sind Sie perfekt darauf vorbereitet, wartbare Anwendungen zu erstellen, die Zeit und Geld sparen. Aus dem Inhalt: Wartbare Software entwickeln Schwachstellen der herkömmlichen Schichtenarchitektur identifizieren Code sauber strukturieren Umkehren von Abhängigkeiten (Dependency Inversion) SOLID-Prinzipien für die hexagonale Architektur Use Cases implementieren Testmethoden für einzelne Architekturelemente Mapping-Strategien Architekturgrenzen durchsetzen Zahlreiche Codebeispiele in JavaTOM HOMBERGS ist Softwareentwickler, Autor, und Simplicity Nerd, der es liebt, Dinge zu vereinfachen. Aktuell arbeitet er bei Atlassian in Sydney, Australien, wo er für die Developer Experience der dort genutzten Technologie-Stacks verantwortlich ist.
Understanding Generative AI Business Applications
This guide covers the fundamental technical principles and various business applications of Generative AI for planning, developing, and evaluating AI-driven products. It equips you with the knowledge you need to harness the potential of Generative AI for enhancing business creativity and productivity.The book is organized into three sections: text-based, senses-based, and rationale-based. Each section provides an in-depth exploration of the specific methods and applications of Generative AI. In the text-based section, you will find detailed discussions on designing algorithms to automate and enhance written communication, including insights into the technical aspects of transformer-based Natural Language Processing (NLP) and chatbot architecture, such as GPT-4, Claude 2, Google Bard, and others. The senses-based section offers a glimpse into the algorithms and data structures that underpin visual, auditory, and multisensory experiences, including NeRF, 3D Gaussian Splatting,Stable Diffusion, AR and VR technologies, and more. The rationale-based section illuminates the decision-making capabilities of AI, with a focus on machine learning and data analytics techniques that empower applications such as simulation models, agents, and autonomous systems.In summary, this book serves as a guide for those seeking to navigate the dynamic landscape of Generative AI. Whether you’re a seasoned AI professional or a business leader looking to harness the power of creative automation, these pages offer a roadmap to leverage Generative AI for your organization’s success.WHAT YOU WILL LEARN* What are the technical elements that constitute the makeup of Generative AI products?* What are the practical applications of Generative AI?* How can algorithms be designed to automate and improve written communication?* What are the latest Generative AI architectures and algorithms?WHO THIS BOOK IS FORData scientists, data analysts, decision makers, and business executives interested in gaining an understanding of Generative AI productsIRENA CRONIN is SVP of Product for DADOS Technology, which is making an app for the Apple Vision Pro that does data analytics and visualization. She is also the CEO of Infinite Retina, which provides research to help companies develop and implement AI, AR and other new technologies for their businesses. Prior to this, she worked for several years as an equity research analyst and gained extensive experience in evaluating both public and private companies.Irena has a joint MBA/MA from the University of Southern California and an MS with Distinction in Management and Systems from New York University. She graduated with a BA from the University of Pennsylvania with a major in Economics (summa cum laude).Chapter 1: Introduction to the World of Generative AI.- Chapter 2: Core Technical Concepts.- Chapter 3: The Business Case for Generative AI.- Chapter 4: The World of Text-based Generative AI.- Chapter 5: Unpacking Transformer-based NLP.- Chapter 6: Exploring Chatbot Technologies.- Chapter 7: Advanced Applications of Text-based AI.- Chapter 8: Senses-based Generative AI Demystified.- Chapter 9: In-depth Look at Supportive Visual Algorithms and Computer Vision.- Chapter 10: The Auditory and Multisensory Experience.- Chapter 11: Autonomous AI Agents: Decision Making, Data, and Algorithms.- Chapter 12: Text-based Generative Intelligent Agents: Beyond Traditional Chatbots and Virtual Assistants.- Chapter 13: Applications and Real-world Case Studies.- Chapter 14: Summarizing Key Insights.- Chapter 15: The Evolving World of Generative AI.
C# und.NET 8
C# und.NET 8 - Grundlagen, Profiwissen und Rezepte (Mai 2024)Dieser komplett überarbeitete Klassiker der C#-/.NET-Programmierung bietet Ihnen Know-how und zahlreiche Rezepte, mit denen Sie häufig auftretende Probleme meistern. Einsteiger erhalten ein umfangreiches Tutorial zu den Grundlagen der C# 12-Programmierung mit Visual Studio, dem Profi liefert es fortgeschrittene Programmiertechniken zu allen wesentlichen Einsatzgebieten der Programmierung mit .NET 8. Zum sofortigen Ausprobieren finden Sie am Ende eines jeden Kapitels hochwertige Lösungen für nahezu jedes Problem.Das Buch gliedert sich in einen Grundlagenteil zur Programmierung, eine Einführung in die Desktop-Programmierung (WPF, MAUI (Multi-platform App UI), einen Technologieteil zu fortgeschrittenen Themen sowie einen Teil zur Web-Programmierung (ASP.NET Core, MVC, Razor, Web-API, Blazor).Es ist der ideale Begleiter für Ihre tägliche Arbeit und zugleich – dank der erfrischenden und unterhaltsamen Darstellung – eine spannende Lektüre, die Lust macht, Projekte auch in der Freizeit umzusetzen.Leseprobe (PDF-Link)Über die Autoren: Jürgen Kotz arbeitet seit über 20 Jahren als freiberuflicher Trainer, Berater, Entwickler und Autor. Mit .NET beschäftigt er sich seit der ersten Beta-Version. Mit seiner Firma PrimeTime Software in München entwickelt er .NET-Projekte und führt Schulungen in diesem Umfeld durch. Seine Hauptthemen sind dabei die Entwicklung von REST- bzw. SOAP-basierten Services und der Datenzugriff mittels Entity Framework. Darüber hinaus hat er zahlreiche Fachbücher und -artikel geschrieben.Christian Wenz arbeitet als Berater, Trainer und Autor mit Schwerpunkt auf Webtechnologien und ist Autor oder Co-Autor von über 100 Computerbüchern. Er schreibt regelmäßig Beiträge für verschiedene IT-Magazine und hält Vorträge auf Konferenzen rund um den Globus. In seiner täglichen Arbeit ist er einer der Gründer der Webagentur Arrabiata Solutions mit Büros in München und London.
C# und .NET 8 - Grundlagen, Profiwissen und Rezepte
- Für Einsteiger, Fortgeschrittene und Profis - Windows(WPF und .NET MAUI)- und Web-Programmierung (ASP.NET Core, Blazor und Co.) - Datenbankprogrammierung mit Entity Framework Core 8 - Online: Bonuskapitel u. a. zur GUI-Entwicklung mit Windows Forms sowie alle Beispiele aus dem Buch unter http://plus.hanser-fachbuch.de - Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten Buches Dieser überarbeitete Klassiker der C#-/.NETProgrammierung bietet Ihnen Know-how und zahlreiche Rezepte, mit denen Sie häufig auftretende Probleme meistern. Einsteiger erhalten ein umfangreiches Tutorial zu den Grundlagen der C# 12-Programmierung mit Visual Studio 2022, dem Profi liefert es fortgeschrittene Programmiertechniken zu allen wesentlichen Einsatzgebieten der Programmierung mit .NET 8. Zum sofortigen Ausprobieren finden Sie am Ende eines jeden Kapitels hochwertige Lösungen für nahezu jedes Problem. Das Buch gliedert sich in einen Grundlagenteil zur Programmierung, eine Einführung in die Desktop-Programmierung mit WPF und .NET MAUI(Multi-Platform App UI), einen Technologieteil zu fortgeschrittenen Themen sowie einen Teil zur Web-Programmierung (ASP.NET Core, Web API, Blazor). Es ist der ideale Begleiter für Ihre tägliche Arbeit und zugleich eine unterhaltsame Lektüre, die Lust macht, Projekte auch in der Freizeit umzusetzen. AUS DEM INHALT // - Grundlagen der Sprache - OOP-Konzepte - Arrays, Strings, Funktionen - Einführung in LINQ - Neuerungen in C# - Einführung in WPF - WPF Controls, WPF-Datenbindung - Einführung in .NET MAUI - Asynchrone Programmierung & Task Parallel Library - Debugging, Fehlersuche und -behandlung - Entity Framework Core 8 und JSON-Serialisierung - Webanwendungen und APIs mit ASP.NET Core - Single-Page Applications (SPAs) mit Blazor
Spieleentwicklung mit Unity
Unity – die geniale Plattform steckt hinter großen Games wie Among Us und Pokémon Go und wird in der Indie-Szene geliebt. Egal, ob du gerade einsteigst oder schon eine Karriere in der Games-Branche im Blick hast: Dieses Handbuch ist der perfekte Begleiter, wenn du die sagenhafte Engine meistern willst. Von den Grundkonzepten über Prefabs und Scripte bis zum komplexen 3D-Spiel mit coolen Mechaniken wirst du nach und nach zum Profi. Dieses Handbuch ist einstiegsfreundlich und umfassend zugleich. Max Schlosser zeigt dir von der Installation an, wie es geht, hält Praxisbeispiele bereit und hört auch bei anspruchsvollen Themen nicht auf, alles genau zu erklären. Du programmierst dabei nicht einfach Fertiges nach, sondern baust dir ein solides Repertoire auf, inklusive der Konzepte, Scripting mit C# und der Logik hinter den Effekten. Trainiere deine Skills und mach aus deinen besten Ideen spielbare Games! Aus dem Inhalt: Installation und erste SchritteAnimationen und SoundLebewesen automatisch navigierenKlassiker wie Pong, Flappy Bird und Tower Defense selbst entwickelnUI-Layouts optimierenDas Physik-System geschickt einsetzenScripting-Grundlagen mit C# Objektorientierung, Generics, LINQ u. v. m.Partikel und Modelle Materialien zum Buch ... 25 Vorwort ... 27 1. Einführung ... 29 1.1 ... Das Problem vieler Einsteiger ... 29 1.2 ... Wichtige Ansätze des Buches ... 30 1.3 ... Lernen mit dem Buch ... 32 1.4 ... Vorstellung der Kapitel ... 35 2. Die Unity-Engine ... 39 2.1 ... Was ist eigentlich Unity? ... 39 2.2 ... Installation ... 42 2.3 ... Erstellung des ersten Unity-Projekts ... 55 2.4 ... Mit den Downloadmaterialien zum Buch arbeiten ... 58 3. Grundlegende Konzepte in der Engine ... 61 3.1 ... Der erste Überblick über Unity ... 61 3.2 ... Game Objects und Components ... 74 3.3 ... Orientierung in der Scene View ... 95 3.4 ... Parenting ... 102 3.5 ... Musterlösungen für die Übungen ... 107 4. Das erste Script ... 109 4.1 ... Scripts und die Sprache C# ... 110 4.2 ... Das erste Script erstellen ... 110 4.3 ... Aufbau eines neu erstellten Scripts ... 115 4.4 ... Das erste Script zum Leben erwecken ... 120 4.5 ... Musterlösungen für die Übungen ... 127 5. Grundlegende Konzepte der Sprache C# ... 129 5.1 ... Einfache Methoden ... 130 5.2 ... Datentypen und Variablen ... 136 5.3 ... Datentypen für Zahlen und Textzeichen ... 152 5.4 ... Methoden mit Rückgabewerten und Parametern ... 167 5.5 ... Boolesche Logik ... 179 5.6 ... if-Abfragen ... 188 5.7 ... Arrays ... 201 5.8 ... Schleifen ... 209 5.9 ... Enumerationstypen ... 219 5.10 ... switch-Anweisung ... 223 5.11 ... Praktische Hilfsmittel für Zahlen und Text ... 227 5.12 ... Umgang mit Fehlern ... 231 5.13 ... Musterlösungen für die Übungen ... 243 6. Scripting in Unity ... 251 6.1 ... Über Scripts die Transform-Component verändern ... 251 6.2 ... Anwendungsbeispiel: Einen Spielcharakter steuern ... 266 6.3 ... Interaktion zwischen mehreren Scripts ... 282 6.4 ... Game Objects und weitere nützliche Funktionen ... 294 6.5 ... Weitere Kenntnisse zu Scenes ... 304 6.6 ... Musterlösungen für die Übungen ... 311 7. Übungskomplex 1 ... 315 7.1 ... Aufgaben ... 315 7.2 ... Tipps ... 317 7.3 ... Lösungen ... 318 8. Physik ... 323 8.1 ... Grundlagen physikalischer Simulationen ... 323 8.2 ... Physik und Scripting ... 335 8.3 ... Raycasting ... 349 8.4 ... Musterlösungen für die Übungen ... 357 9. Fortgeschrittene Scripting-Themen ... 361 9.1 ... Coroutines ... 361 9.2 ... PlayerPrefs ... 373 9.3 ... Attribute ... 375 9.4 ... Scriptable Objects ... 383 9.5 ... Musterlösungen für die Übungen ... 389 10. Prefabs ... 395 10.1 ... Prefabs erstellen ... 398 10.2 ... Prefabs über Code instanziieren ... 407 10.3 ... Musterlösungen für die Übungen ... 414 11. Übungskomplex 2 ... 417 11.1 ... Aufgaben ... 417 11.2 ... Tipps ... 419 11.3 ... Lösungen ... 421 12. Objektorientierte Programmierung ... 435 12.1 ... Grundlagen der objektorientierten Programmierung ... 435 12.2 ... Referenz- und Wertetypen ... 439 12.3 ... Der Konstruktor ... 454 12.4 ... Das Schlüsselwort »static« ... 460 12.5 ... Properties ... 466 12.6 ... Vererbung ... 474 12.7 ... Die Basisklasse »object« und ihre Möglichkeiten ... 491 12.8 ... Abstraktionen ... 497 12.9 ... Musterlösungen für die Übungen ... 513 13. 2D-Inhalte ... 519 13.1 ... Projekte mit dem 2D-Template erstellen ... 519 13.2 ... Sprites ... 522 13.3 ... 2D-Physik ... 542 13.4 ... Tilemaps ... 547 13.5 ... Musterlösungen für die Übungen ... 556 14. User Interfaces ... 561 14.1 ... Grundlagen zu UI in Unity ... 561 14.2 ... Grundlegende Anordnung von UI-Elementen ... 567 14.3 ... UI-Components ... 585 14.4 ... UI-Layouts zusammensetzen ... 619 14.5 ... Musterlösungen für die Übungen ... 637 15. Visualisierung ... 647 15.1 ... Einstellungen im Projekt ... 647 15.2 ... Licht ... 650 15.3 ... Arbeit mit 3D-Assets ... 661 15.4 ... Partikelsysteme (Shuriken) ... 673 15.5 ... Terrains ... 686 15.6 ... Bauen des Spiels ... 698 16. Animation ... 703 16.1 ... Beispiel: Einführung in das Animationssystem ... 703 16.2 ... Details -- Animation Clips ... 713 16.3 ... Details -- Animator Controller ... 733 16.4 ... Musterlösungen für die Übungen ... 766 17. Sound ... 771 17.1 ... Grundlagen von Sound ... 771 17.2 ... Sounds und Scripting ... 778 17.3 ... Anpassung von Sounds ... 785 17.4 ... Mikrofoneingaben ... 794 17.5 ... Musterlösung für die Übungen ... 796 18. Navigation ... 799 18.1 ... Einführung in das Navigationssystem ... 799 18.2 ... Weitere NavMesh-Components ... 811 18.3 ... Musterlösungen für die Übungen ... 817 19. Fortgeschrittene Konzepte der Sprache C# ... 819 19.1 ... Collections ... 819 19.2 ... Datenklassen und ihre Möglichkeiten ... 827 19.3 ... Generics ... 833 19.4 ... Delegates ... 840 19.5 ... Events ... 852 19.6 ... LINQ ... 860 19.7 ... Speicherung von Daten mit JSON ... 867 19.8 ... Musterlösungen für die Übungen ... 879 20. Übungskomplex 3 ... 883 20.1 ... Aufgaben ... 883 20.2 ... Tipps ... 886 20.3 ... Lösungen ... 888 21. Übungskomplex 4 ... 915 21.1 ... Aufgaben ... 916 21.2 ... Tipps ... 921 22. Ausblick ... 923 Index ... 925
Agiles IT-Projektmanagement
Verantwortung für digitale Produkte zu tragen, ist nicht leicht. Agilität hilft, ist aber auch anspruchsvoll: Mit Prototypen und kurzen Iterationen stehen Sie ständig im Kontakt auch mit Kritikern und sind für Team, Budget, Backlog und vieles mehr zuständig. Für jedes Problem gibt es im Dschungel der agilen Methoden gewiss eine Lösung – aber wie finden Sie die richtige für Ihr Projekt und Ihre Kunden? Unsere Autoren kennen die einschlägigen Methoden bestens und teilen ihre Expertise aus jahrzehntelanger Projekterfahrung mit Ihnen. Zum einen systematisch, zum anderen mit vielen Fallbeispielen. Lernen Sie aus kritischen Situationen in spannenden IT-Großprojekten ebenso wie aus Alltagssituationen in kleineren Teams und Unternehmen. Seien Sei dabei, lernen Sie dazu! Aus dem Inhalt: Für wen, wann und wo? Kontexte und Nutzende verstehenEinführung in Scrum, Kanban und Co.Methodischer LeitfadenRollen, Artefakte und MeetingsAnforderungen verstehen, beschreiben und managenProjekt- und Task-Management-Tools: das richtige auswählenCollaboration-Tools einsetzenReporting: Daten aus verschiedenen Quellen nutzenGelungen kommunizierenDigitale Projekte erfolgreich abschließenHäufige Denkfehler und FehlannahmenViele Fallbeispiele Zum Einstieg -- für wen ist dieses Buch? ... 13 1. Agiles Projektmanagement im digitalen Kontext ... 15 1.1 ... Warum lean und agil? ... 16 1.2 ... Besonderheiten und Merkmale eines digitalen Projekts ... 25 1.3 ... Rollen und Verantwortlichkeiten eines digitalen Projekts ... 28 1.4 ... Management- und Skillanforderungen eines digitalen Projekts ... 31 2. Von der Idee zum erfolgreichen digitalen Projekt ... 35 2.1 ... Der Start eines digitalen Projekts ... 37 2.2 ... Häufige Fehlannahmen und Probleme ... 39 2.3 ... Potenziale und Herausforderungen ... 46 2.4 ... Budget und Mittel im Projektmanagement ... 52 2.5 ... Roadmap und Ziele des Projektmanagements ... 59 2.6 ... Wichtige Projektarten und Ebenen im Projektmanagement ... 64 2.7 ... Relevante Rollen im Projektmanagement ... 70 2.8 ... Aufgaben und Verantwortung im Projektmanagement ... 78 2.9 ... Handlungsraum im Projektmanagement ... 89 2.10 ... Kommunikation im Projektmanagement ... 90 2.11 ... Den Kontext und den Nutzer verstehen ... 94 2.12 ... Anforderungen ableiten, beschreiben und managen ... 98 2.13 ... Ein digitales Projekt erfolgreich abschließen ... 104 3. Methodischer Leitfaden -- Werkzeuge des digitalen Projektmanagements ... 107 3.1 ... Time, Scope und Budget ... 108 3.2 ... Auftraggeber- und Stakeholdermanagement ... 127 3.3 ... Kommunikation ... 145 3.4 ... Ausrichtung und Zielerreichung ... 153 3.5 ... Tools, die Ihnen die Arbeit erleichtern ... 180 4. Fallbeispiele ... 185 4.1 ... Transformation der Arbeitsweise eines Telekommunikationskonzerns -- von Wasserfall zu agil ... 186 4.2 ... Redesign einer Enterprise-Resource-Planning(ERP)-Software ... 194 4.3 ... Aus vielen Programmen mache eins! ... 199 4.4 ... Relaunch eines Kundenportals ... 203 4.5 ... Stufenweise Portale vereinen ... 207 4.6 ... Eine Shop-Software in die Spur führen ... 210 4.7 ... Strategisches Kompetenzmanagement im Konzernkontext ... 214 4.8 ... Komplexitätsreduktion eines Consumer- und IT-Systems ... 218 4.9 ... Komplettaufbau eines Carsharing-Systems als Innovationsprojekt ... 222 Index ... 229
PHP 8 und MySQL - Das umfassende Handbuch (5. Auflage)
PHP 8 und MySQL - Das umfassende Handbuch. In 5., aktualisierter Auflage (2024).Dynamische Webseiten mit PHP und MySQL programmieren: Alles, was Sie dafür wissen müssen, steht in diesem bewährten Standardwerk. Profitieren Sie von einer praxisorientierten Einführung und lernen Sie auch alle neuen Sprachfeatures von PHP 8 kennen. Die Autoren Christian Wenz und Tobias Hauser sind erfahrene PHP-Programmierer und Datenbankspezialisten. Sie zeigen Ihnen, wie Sie MySQL und andere Datenbanksysteme effektiv einsetzen. Mit diesem Wissen machen Sie sich rundum fit für die Entwicklung dynamischer Websites. Aktuell zur Version 8.3.Webtechnologien im Zusammenspiel1. Lernen Sie die Grundlagen von PHPDie erfahrenen Autoren begleiten Sie sicher bei Ihren ersten Schritten: von der Installation (Linux, macOS und Windows), einer kompletten Spracheinführung bis hin zur Wahl des richtigen Datenbanksystems (SQLite, Microsoft SQL Server, PostgreSQL u. v. m.). Inkl. allen Neuerungen von PHP 8!2. Entwickeln Sie leistungsfähige WebsitesSie erfahren, wie Sie wichtige Basis-Webtechniken anwenden. Egal, ob Sie Formulare, Sessions oder Cookies einsetzen oder von PHP aus E-Mails versenden möchten. Anhand vieler Code- und Anwendungsbeispiele lernen Sie alles, was Sie im Alltag als PHP-Programmierer brauchen.3. Programmieren Sie sichere PHP-AnwendungenKommunizieren Sie mit der Außenwelt und greifen Sie via HTTP auf verschiedene Webdienste zu. Lernen Sie u. a. die Interaktion mit JavaScript kennen. Vermeiden Sie durch Benutzerauthentifizierung, PHP-Konfiguration, Fehlersuche und Debugging gefährliche Sicherheitslücken.Aus dem Inhalt:Installation von PHP und MySQLEinstieg in PHPAlle neuen Sprachfeatures von PHP 8Strings, Arrays, mathematische Funktionen und Datumsfunktionen, reguläre AusdrückeObjektorientiert programmieren, Namespaces, Traits und mehrFormulare, Cookies, Sessions, E-MailEinführung in SQLDatenbanken: MySQL, SQLite, Microsoft SQL Server, Oracle, PostgreSQL, MongoDBLeseprobe (PDF-Link)Über die Autoren: Christian Wenz ist Berater und Trainer mit Schwerpunkt Webtechnologien und Web-Security und führt Digitalisierungsprojekte im Unternehmensumfeld im In- und Ausland durch.Als Buchautor schreibt Tobias Hauser zu wichtigen Webthemen. Als Berater und Trainer unterstützt er Unternehmen mit seinem Schwerpunkt auf PHP-basierten Webanwendungen in allen Fragen von der Systemauswahl bis hin zur Schnittstellenarchitektur.
Spieleentwicklung mit Unity - Das umfassende Handbuch
Spieleentwicklung mit Unity - Das umfassende Handbuch (2024).Unity ist die Plattform für die Spieleentwicklung – egal, ob du gerade einsteigst oder schon eine Karriere in der Games-Branche im Blick hast. Unity steckt hinter großen Games wie Among Us und Pokémon Go und wird in der Indie-Szene geliebt. Lerne die sehr mächtigen und vielfältigen Möglichkeiten kennen! Dieses Handbuch ist dafür der perfekte Begleiter. Von den Grundkonzepten der Engine über Prefabs und Scripts bis zum komplexen 3D-Spiel mit coolen Features wirst du nach und nach zum Profi. Also: Wenn du Unity meistern willst und etwas Zeit und Ehrgeiz mitbringst, dann geht die Reise hier los.So baust du deine Skills auf1. Einsteigen und los – und dann immer weiter lernenDieses Handbuch ist einstiegsfreundlich und umfassend. Autor Max zeigt dir von der Installation an, wie es geht, hält Praxisbeispiele bereit und hört auch bei anspruchsvollen Themen nicht auf, alles genau zu erklären.2. Praxis – mehr als BeispielprojekteMit den vielen Übungen im Buch trainierst du deine Skills. Du programmierst dabei nicht einfach Fertiges nach, sondern lernst die Konzepte, das Scripting mit C# und die Logik dahinter gründlich kennen. Bau dir ein immer besseres Repertoire auf und mach aus deinen eigenen Ideen spielbare Games!3. Professionell in 2D wie 3DOb in zwei oder drei Dimensionen: Übersichtliche UIs, robuster und sauberer Code, aufregende Spielewelten und realistische Effekte kommen nicht von ungefähr. Auch zu den Profi-Themen gibt es haufenweise Material zum Üben. Und wohin führt bekanntlich Übung? Genau – zur Meisterschaft!Aus dem Inhalt:Installation und erste SchritteAnimationen und SoundLebewesen automatisch navigierenKlassiker wie Pong, Flappy Bird und Tower Defense selbst entwickelnUI-Layouts optimierenDas Physik-System geschickt einsetzenScripting-Grundlagen mit C#Objektorientierung, Generics, LINQ u.v.m.Partikel und ModelleLeseprobe (PDF-Link)Über den Autor:Max Schlosser ist Masterstudent und wissenschaftlicher Mitarbeiter in der Medieninformatik an der Hochschule Mittweida und durch und durch Games-Fan.
Einstieg in Flutter mit Dart
Dieses Buch vermittelt kompakt und praxisorientiert die wesentlichen Grundlagen von Flutter und Dart. Die Praxismodule, aufgebaut als Schritt-für-Schritt-Anleitungen, sind durchgehend mit Screenshots und Abbildungen illustriert und bieten eine fundierte Basis auch für die weitergehende Arbeit mit Flutter. Dartcodes veranschaulichen ergänzend Wort und Bild der Anleitungen, so kann das Programm durch praktische Arbeit erlernt werden.Die im Buch verwendeten Codedateien stehen zum Download auf GitHub bereit.PETER BÜHLER war viele Jahre als Lehrer für Mediengestaltung Digital und Print an der Johannes-Gutenberg-Schule in Stuttgart tätig. Gleichzeitig war er Fachberater im Berufsfeld Druck- und Medientechnik am Regierungspräsidium Stuttgart. Er war Mitglied in Rahmenlehrplankommissionen für Mediengestalter sowie für Industriemeister und Medienfachwirte in den Bereichen Print und Digital. Darüber hinaus in IHK-Prüfungsausschüssen, in der Koordinierungsgruppe Druck und Medien am Kultusministerium Baden-Württemberg sowie im Zentral-Fachausschuss für Druck und Medien.Peter Bühler ist Autor mehrerer Fachbücher im Bereich Medientechnik, unter anderem in der Reihe Bibliothek der Mediengestaltung, die ebenfalls bei Springer Vieweg erscheint.Installation.- New Flutter Project.- Erste App - Hallo Welt.- Layout.- Dart.- Interaktion - Projekte.- Navigation.- SQFLite - Offline-Datenbank.
Webseiten programmieren und gestalten - Das umfassende Handbuch
Webseiten programmieren und gestalten - Das umfassende HandbuchGute Webseiten zu entwickeln ist eine vielseitige Kunst: Ein Gespür für die Gestaltung ist ebenso gefragt wie solide Kenntnisse der Web-Sprachen HTML und JavaScript. Hinzu kommt die Serverseite, hier ist PHP die beliebteste Wahl. Der erfahrene Webexperte und Dozent Uwe Mutz beweist mit diesem Handbuch, dass sich lehren und lernen lässt, was Sie als Webseiten-Profi brauchen. Es ist der perfekte Begleiter für eine ganzheitliche Ausbildung und für den Beruf. Frisch ans Werk, programmieren und gestalten Sie professionelle Webauftritte! Ideal zum Lernen, Auffrischen und Nachschlagen.Ihr Weg zum Webseiten-Profi1. Grundlagen zuerstZum Einstieg ist ein gutes Fundament unverzichtbar: HTML, CSS und JavaScript wollen ebenso verstanden werden wie das Vorgehen beim Aufbau einer neuen Website. Dieses Buch nimmt Sie zu allen Themen an die Hand und hilft auch, Ihre Entwicklungsumgebung aufzusetzen.2. Technologie und MenschFarbeinsatz, User Experience, Inhaltsarchitektur ... in diesem Handbuch kommen auch die gestalterischen Themen nicht zu kurz. Auch Performanz und Barrierefreiheit spielen eine wichtige Rolle. Eignen Sie sich technisches Know-how an und blicken Sie über den Tellerrand – im Dienste wirklich guter Webentwicklung!3. Den Fullstack im BlickZum Frontend kommt ein Backend, wenn eine Website Funktionalitäten wie Buchungen oder Informationsdienste bieten soll. Nicht immer gibt es hier eine Arbeitsteilung – nutzen Sie die Chance und nehmen Sie die beliebte Backend-Sprache PHP sowie das Datenbanksystem MySQLi in Ihr Repertoire auf!4. Experten-NiveauLernen Sie wichtige Konzepte und Best Practices kennen und programmieren Sie effizient und effektiv. Werden Sie Profi für Webauftritte, die höchsten Ansprüchen genügen!Aus dem Inhalt:Eine Arbeitsumgebung einrichtenClientseitige Grundlagen: HTML, CSS und JavaScriptUser-Zentrierung und GestaltungsprinzipienEinblicke in Usability und BarrierefreiheitGrundlagen der ProgrammierungServerseitige Technologien: PHP und MySQLEin Datenbankschema entwerfenVerschlüsselungsstandardsSQL-Injections und anderen Angriffen vorbeugenBeispielprojekte: Bibliotheksverwaltung, Onlineshop, Mitgliederverwaltung, Dienstpläne u. v. m.Leseprobe(PDF-Link)Über den Autor: Uwe Mutz ist Web-Entwickler der ersten Stunde, Geschäftsführer der SYNE Marketing & Consulting GmbH, Autor zahlreicher Fachbücher und Vortragender an der Universität für Weiterbildung Krems.
Reinforcement Learning
In uralten Spielen wie Schach oder Go können sich die brillantesten Spieler verbessern, indem sie die von einer Maschine produzierten Strategien studieren. Robotische Systeme üben ihre Bewegungen selbst. In Arcade Games erreichen lernfähige Agenten innerhalb weniger Stunden übermenschliches Niveau. Wie funktionieren diese spektakulären Algorithmen des bestärkenden Lernens? Mit gut verständlichen Erklärungen und übersichtlichen Beispielen in Java und Greenfoot können Sie sich die Prinzipien des bestärkenden Lernens aneignen und in eigenen intelligenten Agenten anwenden. Greenfoot (M.Kölling, King’s College London) und das Hamster-Modell (D.Bohles, Universität Oldenburg) sind einfache, aber auch mächtige didaktische Werkzeuge, die entwickelt wurden, um Grundkonzepte der Programmierung zu vermitteln. Wir werden Figuren wie den Java-Hamster zu lernfähigen Agenten machen, die eigenständig ihre Umgebung erkunden. Die zweite Auflage enthält neue Themen wie "Genetische Algorithmen" und "Künstliche Neugier" sowie Korrekturen und Überarbeitungen.UWE LORENZ war nach seinem Studium der Informatik und Philosophie mit Schwerpunkt künstliche Intelligenz und maschinelles Lernen an der Humboldt-Universität in Berlin und einigen Jahren als Projektingenieur für 10 Jahr als Gymnasiallehrer für Informatik und Mathematik tätig. Seit seinem Erstkontakt mit Computern Ende der 80er Jahre hat ihn das Thema Künstliche Intelligenz nicht mehr losgelassen. Derzeit arbeitet er als wissenschaftlicher Mitarbeiter in der Arbeitsgruppe Didaktik der Informatik bei Prof. Dr. Romeike an der Freien Universität Berlin in einem Projekt zur Thematik "Verantwortungsvolle Künstliche Intelligenz in der Lehramtsausbildung".Bestärkendes Lernen als Teilgebiet des Maschinellen Lernens.- Grundbegriffe des Bestärkenden Lernens.- Optimale Entscheidungen in einem bekannten Umweltsystem.- Entscheiden und Lernen in einem unbekannten Umweltsystem.- Neuronale Netze als Schätzer für Zustandsbewertungen und Aktionspreferenzen.- Werden digitale Agenten bald intelligenter als Menschen sein?.- Leitbilder in der KI.
JavaScript Essentials For Dummies
THE CONCISE AND DIGESTIBLE GET-STARTED GUIDE TO JAVASCRIPT PROGRAMMINGJavaScript Essentials For Dummies is your quick reference to all the core concepts about JavaScript—the dynamic scripting language that is often the final step in creating powerful websites. This no-nonsense book gets right to the point, eliminating review material, wordy explanations, and fluff. Find out all you need to know about the foundations of JavaScript, swiftly and crystal clear. Perfect for a brush-up on the basics or as an everyday desk reference on the job, this is the reliable little book you can always turn to for answers.* Get a quick and thorough intro to the basic concepts of coding with JavaScript* Review what you've already learned or pick up essential new skills* Add interactive features to websites with JavaScript programming* Keep this concise reference book handy for jogging your memory as you workThis book is to the point, focusing on the key topics you need to know about this popular programming language. Great for supplementing classroom learning, reviewing for a certification, or staying knowledgeable on the job. PAUL MCFEDRIES is a longtime technical author with more than 100 published titles. His work includes Web Coding & Development All-in-One For Dummies, iPad and iPad Pro For Dummies, Alexa For Dummies, G Suite For Dummies, and Excel Data Analysis For Dummies.
Python Essentials For Dummies
THE NO-NONSENSE WAY TO GET STARTED CODING IN THE PYTHON PROGRAMMING LANGUAGEPython Essentials For Dummies is a quick reference to all the core concepts in Python, the multifaceted general-purpose language used for everything from building websites to creating apps. This book gets right to the point, with no excess review, wordy explanations, or fluff, making it perfect as a desk reference on the job or as a brush-up as you expand your skills in related areas. Focusing on just the essential topics you need to know to brush up or level up your Python skill, this is the reliable little book you can always turn to for answers.* Get a quick and thorough intro to the basic concepts of coding in Python* Review what you've already learned or pick up essential new skills* Create websites, software, machine learning, and automation for school or work* Keep this concise reference book handy for jogging your memory as you codeThis portable Dummies Essentials book focuses on the key topics you need to know about the popular Python language. Great for supplementing a course, reviewing for a certification, or staying knowledgeable on the job. JOHN C. SHOVIC, PHD, is a computer science faculty member specializing in robotics and artificial intelligence at the University of Idaho. ALAN SIMPSON is a web development professional and prolific tech author with more than 100 publications to his credit.
R für Data Science (2. Auflg.)
R für Data Science. Daten importieren, bereinigen, umformen und visualisieren. In 2., aktualisierter und erweiterter Auflage (März 2024).Erfahren Sie, wie Sie mit R aus Ihren Daten Erkenntnisse und Einsichten gewinnen. Dieses Buch führt Sie in R und RStudio ein sowie in Tidyverse, eine Sammlung von R-Paketen, mit denen Data-Science-Aufgaben effektiv und zeitsparend erledigt werden können. Auch wenn Sie keine Programmiererfahrung haben, können Sie mit diesem aktualisierten Standardwerk schnell in die Praxis der Data Science einsteigen.Sie lernen, Daten zu importieren, aufzubereiten, zu visualisieren und die Ergebnisse zu präsentieren. Darüber hinaus bekommen Sie einen umfassenden Überblick über den Data-Science-Zyklus und die Tools, die für die Detailarbeit erforderlich sind. Die zweite Auflage behandelt die neuesten Funktionen und Best Practices von Tidyverse und zeigt Ihnen in neu hinzugekommenen Kapiteln, wie Sie Daten aus Spreadsheets, Datenbanken und Websites nutzen. Zahlreiche Übungen unterstützen Sie dabei, das Gelernte praktisch auszuprobieren.Themen des Buchs sind:Visualisieren – Erstellen Sie Diagramme für die Datenauswertung und die Kommunikation von ErgebnissenTransformieren – Erkunden Sie Variablentypen und die Werkzeuge, um mit ihnen zu arbeitenImportieren – Lesen Sie Daten in R ein und bringen Sie sie in eine für die Analyse geeignete FormProgrammieren – Lernen Sie leistungsfähige R-Tools kennen, mit denen Sie Datenprobleme leichter lösen könnenKommunizieren – Verwenden Sie Quarto, um Text, Code und Ergebnisse kombiniert darzustellenLeseprobe (PDF-Link)Zielgruppe: Data Scientists, Datenanalyst*innen, Studierende der InformatikÜber die Autoren:Hadley Wickham ist Chief Scient ist bei Posit, PBC, Gewinner des COPSS-Preises 2019 und Mitglied der R Foundation. Er erstellt Tools (sowohl im Bereich der Datenverarbeitung als auch kognitive), die Data Science einfacher, schneller und unterhaltsamer machen. Zu seinen Arbeiten gehören Pakete für Data Science (Tidyverse: ggplot2, dplyr und tidyr) und die Entwicklung prinzipieller Software (beispielsweise roxygen2, testthat und pkgdown). Außerdem ist er Autor, Lehrer und gefragter Redner, der den Einsatz von R für Data Science propagiert. Mehr erfahren Sie auf seiner Website unter http://hadley.nz.Mine Çetinkaya-Rundel ist Professor of the Practice am Department of Statistical Science an der Duke University in Durham, North Carolina. Außerdem ist sie Developer Educator bei Posit, PBC. Mines Arbeit konzentriert sich auf Innovationen in der Statistik und der Data-Science-Pädagogik, wobei der Schwerpunkt auf Informatik, reproduzierbarer Forschung, studentenzentriertem Lernen und Open-Source-Bildung liegt. Sie hat im Rahmen des Open-Intro-Projekts einführende Statistik-Lehrbücher verfasst, sie ist die Initiatorin und Betreuerin von Data Science in a Box und unterrichtet die beliebte Statistics with R Specialization auf Coursera. Mine wurde 2021 mit dem Hogg Award for Excellence in Teaching Introductory Statistics, 2018 mit dem Harvard Pickard Award und 2016 mit dem ASA Waller Education Award ausgezeichnet. Mehr erfahren Sie auf ihrer Website (https://minecr.com).Garrett Grolemund ist Statistiker, Lehrer und Director of Learning bei der Posit Academy. Er ist Autor von Hands-On Programming with R (O’Reilly) und hat schon früh zu Tidyverse beigetragen.
Tidy First?
Unordentlicher Code ist ein Ärgernis und schwer zu lesen. In diesem praktischen Leitfaden demonstriert Kent Beck, Schöpfer von Extreme Programming, wann und wie Sie kleinere Aufräumarbeiten durchführen können, um Ihren Code zu optimieren und dabei die Gesamtstruktur Ihres Systems immer besser zu verstehen.Anstatt sich mit zu viel Aufräumen auf einmal zu überfordern, zeigt Kent Beck, wie Sie pragmatisch vorgehen. Sie lernen etwa, wie Sie eine Funktion mit vielen Codezeilen logisch in kleinere Stücke aufteilen. Und nebenbei verstehen Sie wichtige Aspekte der Theorie wie Kopplung, Kohäsion, abgezinste Zahlungsströme und Optionalität.Dieses Buch unterstützt Sie dabei:• die grundlegende Theorie zu verstehen, wie SoftwareDesign funktioniert und welche Kräfte darauf einwirken• unterschiedliche Auswirkungen bei Änderungen am Verhalten eines Systems und bei Änderungen an seiner Struktur einzuschätzen• Ihr Programmiererlebnis zu verbessern, indem Sie manchmal zuerst aufräumen und manchmal später• zu lernen, wie Sie große Veränderungen in kleinen, sicheren Schritten vornehmen• Softwareentwicklung als ein Pflegen menschlicher Beziehungen zu verstehenKent Beck ist Programmierer, Erfinder von Extreme Programming, Pionier im Bereich der Software Patterns, Mitautor von JUnit, Wiederentdecker der testgetriebenen Entwicklung und engagierter Beobachter von 3X: Explore/Expand/Extract. Beck ist – in der alphabetischen Reihenfolge – der erste Unterzeichner des Agilen Manifests. Er lebt in San Francisco, Kalifornien, und ist Chief Scientist bei Mechanical Orchard. Dort vermittelt er Entwicklerinnen und Entwicklern Fähigkeiten, die Geeks dabei helfen sollen, sich in der Welt sicher zu fühlen. Kents Website ist hier zu finden: https://www.kentbeck.com