Programmierung
PHP, MySQL, & JavaScript All-In-One For Dummies
LEARN THE ESSENTIALS OF CREATING WEB APPS WITH SOME OF THE MOST POPULAR PROGRAMMING LANGUAGESPHP, MySQL, & JavaScript All-in-One For Dummies bundles the essentials of coding in some of the most in-demand web development languages. You'll learn to create your own data-driven web applications and interactive web content. The three powerful languages covered in this book form the backbone of top online apps like Wikipedia and Etsy. Paired with the basics of HTML and CSS—also covered in this All-in-One Dummies guide—you can make dynamic websites with a variety of elements. This book makes it easy to get started. You'll also find coverage of advanced skills, as well as resources you'll appreciate when you're ready to level up.* Get beginner-friendly instructions and clear explanations of how to program websites in common languages* Understand the basics of object-oriented programming, interacting with databases, and connecting front- and back-end code* Learn how to work according to popular DevOps principles, including containers and microservices* Troubleshoot problems in your code and avoid common web development mistakesThis All-in-One is a great value for new programmers looking to pick up web development skills, as well as those with more experience who want to expand to building web apps. RICHARD BLUM is a highly experienced programmer and systems administrator. He is also author of the most recent editions of Linux For Dummies and Linux All-in-One For Dummies.
Praxisbuch Windows-Sicherheit
Das Lehr- und Experimentierwerk zur Windows-SicherheitsarchitekturDieses Buch ist ein Muss für alle, die die Low-Level-Implementierungen des Windows-Betriebssystems verstehen müssen, um neue Schwachstellen zu entdecken oder sich gegen bekannte zu schützen. Entwickler*innen, DevOps und Sicherheitsforschende finden hier einen unvergleichlichen Einblick in die Schlüsselelemente und Schwachstellen des Betriebssystems, der sogar die offizielle Dokumentation von Microsoft übertrifft. James Forshaw, renommierter Bug Hunter und Sicherheitsexperte, stellt anhand von sorgfältig ausgearbeiteten PowerShell-Beispielen, mit denen experimentiert und modifiziert werden kann, die wichtigsten Themen der Windows-Sicherheit vor. Er deckt dabei alles von der grundlegenden Analyse der Ressourcensicherheit bis hin zu fortgeschrittenen Techniken wie der Verwendung der Netzwerkauthentifizierung ab. Interaktive PowerShell-Beispiele helfen Ihnen, das Systemverhalten aktiv zu testen und zu manipulieren. Sie lernen dabei, wie Windows Dateien und die Registrierung sichern, Zugriff auf eine Ressource gewährt oder die Authentifizierung sowohl lokal als auch über ein Netzwerk implementiert.Es behandelt:Die Sicherheitsarchitektur von Windows, einschließlich des Kernels und der Anwendungen im BenutzermodusDer Windows Security Reference Monitor (SRM), einschließlich Zugriffstoken, Abfrage und Einstellung des Sicherheitsdeskriptors einer Ressource sowie Zugriffskontrolle und AuditingInteraktive Windows-Authentifizierung und Speicherung von Anmeldeinformationen im Security Account Manager (SAM) und Active DirectoryMechanismen von Netzwerk-Authentifizierungsprotokollen, einschließlich NTLM und KerberosÜber den Autor:James Forshaw ist ein renommierter Experte für Computersicherheit im Project-Zero-Team von Google. In seiner mehr als 20-jährigen Erfahrung bei der Analyse und Ausnutzung von Sicherheitsproblemen in Microsoft Windows und anderen Produkten hat er Hunderte Sicherheitslücken in Microsoft-Plattformen entdeckt. Andere zitieren häufig seine Forschungsergebnisse, die er in Blogs, in Vorträgen oder durch neuartige Tools präsentiert, und er hat zahlreiche Forscher in der Branche inspiriert. Wenn er nicht gerade die Sicherheit andere Produkte knackt, arbeitet James als „Abwehrspieler“, berät Teams bei ihrem Sicherheitsdesign und verbessert die Chromium Windows Sandbox, um Milliarden von Nutzern weltweit zu schützen.Richtet sich an:System- und NetzwerkadminsMitarbeitende in der IT-SicherheitProgrammierer*innenStudierende (Informatik, IT-Sicherheit)
Barrierefreie Webentwicklung
Barrierefreie Websites gemäß Barrierefreiheitsstärkungsgesetz – technische Umsetzung und Best PracticesSpätestens zum 28. Juni 2025 muss das Barrierefreiheitsstärkungsgesetz angewendet werden. Dies bedeutet nicht nur eine gesetzliche Verpflichtung für viele Unternehmen, sondern bietet auch Vorteile: Barrierefreie Websites erreichen eine größere Zielgruppe, sorgen für eine bessere UX und stärken das Markenimage.Dieses praxisorientierte Buch ist essenziell für alle, die sich mit der Erstellung barrierefreier Webinhalte befassen. Maria Korneeva vermittelt die Grundlagen der digitalen Barrierefreiheit und die relevanten rechtlichen Rahmenbedingungen und Richtlinien, darunter das Barrierefreiheitsstärkungsgesetz (BFSG), die Web Content Accessibility Guidelines (WCAG) und EN 301 549. Anhand von anschaulichen Beispielen lernen Sie, Barrieren im Web selbst zu erleben und zu verstehen. Zudem erhalten Sie verständliche Anleitungen und praxisnahe Codebeispiele, die Ihnen helfen, Barrierefreiheit erfolgreich in Ihre Projekte zu integrieren. Automatisierte Tests unterstützen Sie schließlich dabei, die langfristige Einhaltung der Barrierefreiheitsanforderungen sicherzustellen.Bedeutung und Vorteile digitaler BarrierefreiheitGesetzliche Vorgaben, Normen und Richtlinien (inkl. BFSG, EAA und WCAG)Umgang mit ScreenreadernGrundsätze der Barrierefreiheit: Responsiveness, Farbgestaltung, Tastaturbedienbarkeit, AlternativtexteSemantisches HTML, ARIA, Accessibility Tree, zugänglicher Name und BeschreibungBarrierefreie Implementierung von Navigation, Links, Buttons, Bildern, Cookie-Bannern, Tabellen, Formularen und weiteren UI-ElementenBarrierefreiheit von Web Components und Single Page ApplicationsTools für automatisierte BarrierefreiheitschecksLinters und Plug-ins für Unit- und End-to-End-TestsIntegration in CI/CD-PipelinesKünstliche Intelligenz, zukunftsweisende Entwicklungen und aktuelle Einschränkungen Maria Korneeva ist Frontend Technology Lead und Google Developer Expert mit Fokus auf Angular und Barrierefreiheit. Sie arbeitet freiberuflich an der Entwicklung von Frontend-Anwendungen und leitet Workshops zu Web-Technologien. Ihre Erkenntnisse aus dem Coding-Alltag teilt sie gerne auf Konferenzen und Meetups.Richtet sich an:Webentwickler*innenInformatikstudierendeTeam-LeadsTech-Leads
Unlocking Python
A FUN AND PRACTICAL GUIDE TO LEARNING PYTHON WITH A SPECIAL FOCUS ON DATA SCIENCE, WEB SCRAPING, AND WEB APPLICATIONSIn Unlocking Python: A Comprehensive Guide for Beginners, veteran software engineer, educator, and author Ryan Mitchell delivers an intuitive, engaging, and practical roadmap to Python programming. The author walks you through the vocabulary, tools, foundational knowledge, and occasional pop-culture references you'll need to hone your skills with this popular programming language. You'll learn how to install and run Python on your own machine, get up and coding with the language quickly, and best practices for programming both independently and in the workplace. You'll also find:* Key concepts in computer and data science explained from the ground up* Advanced Python topics such as logging, unit testing, multiprocessing, and interacting with databases.* Introductions to some of Python's most popular third-party libraries: Flask, Django, Scrapy, Scikit-Learn, Numpy, and Pandas* Amusing anecdotes from the trenches of industryPerfect for tech-savvy professionals at any stage of their careers who are interested in diving into Python programming. Unlocking Python is also a must-read for readers who work in a technical role but are interested in getting more directly involved with programming, as well as non-Python programmers who want to apply their technical skill to a new language. RYAN MITCHELL is the author of Unlocking Python (Wiley), Web Scraping with Python (O’Reilly), and multiple courses on LinkedIn Learning including Python Essential Training. She holds a master’s degree in software engineering from Harvard University Extension School and has worked as principal software engineer and data scientist on the search team at the Gerson Lehrman Group for the last six years. PART I: PROGRAMMINGCHAPTER 1: INTRODUCTION TO PROGRAMMING 3Programming as a Career 4Myths About Programmers 4How Computers Work 7A Brief History of Modern Computing 12The Unix Operating System 12Modern Programming 13Talking About Programming Languages 14Problem-Solving as a Programmer 17CHAPTER 2: PROGRAMMING TOOLS 21Shell 21Version Control Systems 25Authenticating with GitHub with SSH Keys 27Integrated Development Environments 33Web Browsers 34CHAPTER 3: ABOUT PYTHON 37The Python Software Foundation 38The Zen of Python 39The Python Interpreter 40The Python Standard Library 41Third-Party Libraries 42Versions and Development 43PART II: PYTHONCHAPTER 4: INSTALLING AND RUNNING PYTHON 47Installing Python 47Windows 48macOS 48Linux 49Installing and Using pip 50Windows 51macOS 51Linux 51Installing and Using Jupyter for IPython files 52Virtual Environments 54Anaconda 56CHAPTER 5: PYTHON QUICKSTART 59Variables 59Data Types 62Operators 67Arithmetic Operators 67Operators and Assignments 69Comparison Operators 70Identity Operators 71Boolean Operators 73Membership Operators 73Control Flow 74If and Else 75For 76While 76Functions 78Classes 80Everything Is an Object 82Data Structures 82Lists 83Dictionaries 84Tuples 86Sets 86Exercises 88CHAPTER 6: LISTS AND STRINGS 91String Operations 91String Methods 92List Operations 95Slicing 97List Comprehensions 100Exercises 103CHAPTER 7: DICTIONARIES, SETS, AND TUPLES 105Dictionaries 105Dictionary Comprehensions 108Reducing to Dictionaries 110Sets 112Tuples 114Exercises 116CHAPTER 8: OTHER TYPES OF OBJECTS 119Other Numbers 119Dates 124Bytes 129Exercises 132CHAPTER 9: ITERABLES, ITERATORS, GENERATORS, AND LOOPS 135Iterables and Iterators 135Generators 137Looping with Pass, Break, Else, and Continue 139Assignment Expressions 143Walrus Operators 143Recursion 144Exercises 148CHAPTER 10: FUNCTIONS 149Positional Arguments and Keyword Arguments 149Functions as First-Class Objects 155Lambda Functions 158Namespaces 160Decorators 163Exercises 168CHAPTER 11: CLASSES 171Static Methods and Attributes 173Inheritance 175Multiple Inheritance 178Encapsulation 182Polymorphism 186Exercises 188CHAPTER 12: WRITING CLEANER CODE 189PEP 8 and Code Styles 189Comments and Docstrings 190Documentation 194Linting 196Formatting 199Type Hints 200PART III: ADVANCED TOPICSCHAPTER 13: ERRORS AND EXCEPTIONS 207Handling Exceptions 207Else and Finally 210Raising Exceptions 212Custom Exceptions 214Exception Handling Patterns 217Exercises 223CHAPTER 14: MODULES AND PACKAGES 225Modules 225Import This 228Packages 229Installing Packages 235Exercises 240CHAPTER 15: WORKING WITH FILES 243Reading Files 243Writing Files 247Binary Files 250Buffering Data 252Creating and Deleting Files and Directories 254Serializing, Deserializing, and Pickling Data 256Exercises 259CHAPTER 16: LOGGING 261The Logging Module 261Handlers 266Formatting 269Exercises 272CHAPTER 17: THREADS AND PROCESSES 275How Threads and Processes Work 275Threading Module 276Locking 280Queues 283Multiprocessing Module 285Exercises 292CHAPTER 18: DATABASES 293Installing and Using SQLite 294Installing SQLite 294Using SQLite 296Query Language Syntax 297Using SQLite with Python 300Object Relational Mapping 303Exercises 306CHAPTER 19: UNIT TESTING 307The Unit Testing Framework 309Setting Up and Tearing Down 312Mocking Methods 314Mocking with Side Effects 318PART IV: PYTHON FRAMEWORKSCHAPTER 20: REST APIS AND FLASK 323HTTP and APIs 323Getting Started with Flask Applications 327APIs in Flask 330Databases 333Authentication 336Sessions 338Templates 342CHAPTER 21: DJANGO 345Installing Django and Starting Django 346Databases and Migrations 351Django Admin Interface 353Models 355More Views and Templates 358More Resources 361CHAPTER 22: WEB SCRAPING AND SCRAPY 363Installing and Using Scrapy 364Parsing HTML 366Items 371Crawling with Scrapy 372Item Pipelines 376CHAPTER 23: DATA ANALYSIS WITH NUMPY AND PANDAS 379NumPy Arrays 380Pandas DataFrames 383Cleaning 387Filtering and Querying 391Grouping and Aggregating 393CHAPTER 24: MACHINE LEARNING WITH MATPLOTLIB AND SCIKIT-LEARN 397Types of Machine Learning Models 398Exploratory Analysis with Matplotlib 400Building Supervised Models with Scikit-Learn 409Evaluating Classification Models with Scikit-Learn 415Index 421
3D-Spiele programmieren mit Unity
Komplette 2D- und 3D-Spiele Schritt für Schritt entwickelnFiguren animieren sowie Landschaften und Gebäude gestaltenSpielend programmieren lernen für Einsteiger Ganz einfach eigene 3D-Spiele entwickeln Hans-Georg Schumann zeigt detailliert und leicht verständlich, wie Einsteiger mit der beliebten Spiele-Engine Unity eigene 3D-Spiele entwickeln können. Folgen Sie dem Autor Schritt für Schritt, wie verschiedene Elemente eines 3D-Spiels erstellt werden: sowohl 2D- als auch 3D-Landschaften und Bauwerke, verschiedenste Charaktere mit diversen Eigenschaften und Bewegungsfähigkeiten, Features wie Sound und Effekte u.v.m. Landschaften und Charaktere entwerfen Sie beginnen mit einem kleinen Jump & Run-Spiel in 2D und lernen dann Schritt für Schritt, eigene Spielwelten in 3D zu erschaffen. Dabei erfahren Sie, wie man Landschaften mit Vegetation und Seen gestaltet. Außerdem bauen Sie einfache Gebäude und erschaffen einen Gegner, den Sie animieren und der mit der Zeit todbringende Eigenschaften erhält. Dabei eignen Sie sich ganz nebenbei das Programmieren in C# an und lernen alle Bausteine kennen, um eigene Ideen umzusetzen. Realitätsnah mit hervorragenden Effekten Das Unity-Entwicklungssystem erzeugt tolle Effekte, die dem Spiel das nötige Reality-Gefühl geben. Alles, was Sie zum Programmieren Ihrer Projekte benötigen, gibt es als Paket zum kostenlosen Download. Aus dem Inhalt: Unity starten und ein erstes kleines Spiel in 2D erstellenIn die Script-Programmierung mit C# einsteigenEinen Charakter entwerfen und ihm Eigenschaften gebenEin Jump & Run-Spiel entwickelnDas Prinzip von 3D verstehen und ein Terrain mit Bäumen und Wasser gestaltenGanze Bauwerke entstehen lassenDie Figur klettern, schwimmen und sogar tauchen lassenEine Fantasie-Kreatur entwerfen und durch Animation lebendig werden lassenStrahlen, Partikel und Sound einbindenKünstliche Intelligenz nutzenEnergiekontrolle und andere Features aufrüstenInstallationshilfe und Fehlerbehebung Zum Download unter www.mitp.de/0923: Die wichtigsten Projekte aus dem Buch Systemvoraussetzungen: Windows 10 oder 11 Hans-Georg Schumann war Informatik- und Mathematiklehrer und ist erfolgreicher Fachbuchautor zu den Themen Programmierung und PC-Anwendungen.
Vorgehensmuster für Softwarearchitektur (4. Auflg.)
Vorgehensmuster für SoftwarearchitekturEgal ob »Agile«, »Lean«, »Cloud« oder »Flow« – moderne Vorhaben in der Softwareentwicklung arbeiten dynamisch, hoch flexibel und ergebnisorientiert. Auch Softwarearchitektur kann zielorientiert und pragmatisch entstehen, durch Entwicklungsteams gemeinsam getrieben sein oder »Just-in-time« festgelegt werden. Einen Konflikt zwischen Dynamik und Architektur gibt es nicht. Alles, was es braucht, sind zeitgemäße Praktiken und das richtige Mindset. Dieses Buch beinhaltet kein weiteres Vorgehensmodell für die Softwareentwicklung. Stattdessen werden leichtgewichtige Bausteine guter Architekturarbeit vorgestellt, die problemorientiert eingesetzt werden können, um das eigene Vorhaben zu verbessern.Das ermöglicht ein schrittweises Lernen und Adaptieren neuer Praktiken, ohne große Einstiegshürde. In der bewährten Struktur von Mustern wird ein übliches Problem aus dem Alltag von Entwicklungsvorhaben geschildert und mit einer methodischen Lösung versehen. Die Lösungen referenzieren aufeinander, sind kombinierbar und ergeben insgesamt das Bild einer neuen Architekturdisziplin. Aus dem InhalAus dem InhaltRisikogetriebene SoftwarearchitekturDie Rolle Architecture OwnerArchitekturarbeit in BacklogsArchitekturvisionWalking SkeletonArchitekturprinzipienDer Pfad des geringsten Widerstands2-Speed-ArchitectureArchitektur-RadarNFR-Tests und Chaos EngineeringArchitektur-CommunitiesArchitektur-KataÜber den AutorStefan Toth ist Gesellschafter und Geschäftsführer der embarc GmbH. Er unterstützt Entwicklungsvorhaben und -organisationen als Softwarearchitekt, agiler Coach und Berater. Die Verzahnung von technischen, methodischen und organisatorischen Themen steht dabei oft im Zentrum seiner Arbeit.
Quantencomputing
In Erstauflage aus dem Mai 2025: Grundlagen, Algorithmen, Anwendung. Mit Python-Beispielen zur direkten Umsetzung.Was ist ein Qubit? Können sie wirklich zwei Zustände gleichzeitig annehmen? Und was bedeutet Quantenüberlegenheit? Quantencomputing schafft eine neue Dimension in der Verarbeitung von Informationen und liefert Ansätze für Probleme, die bisher nicht effizient gelöst werden können.In diesem Leitfaden gibt Ihnen Dr. Kaveh Bashiri einen ausführlichen Einblick in die Grundlagen und Anwendungsszenarien des Quantencomputings. Sie lernen zunächst das theoretische Fundament kennen, bevor Sie auf diesem Verständnis bahnbrechende Quantenalgorithmen nachvollziehen. Dabei erwartet Sie ein praxisorientierter Zugang mit vielen Beispielen, die Sie selbst in Qiskit programmieren können.Mehr als Einsen und Nullen. Grundlagen verstehen Qubits, Gatter, Superposition: Die mathematischen Grundlagen des Quantencomputings werden verständlich erklärt und eingeordnet. Auf diesem Fundament starten Sie eigene Programmierexperimente. Mit Qiskit arbeiten Wenn Sie mit Quantencomputern arbeiten wollen, brauchen Sie nicht unbedingt die Ausstattung eines Forschungslabors. Mit Qiskit emulieren Sie die Funktion echter Quantenrechner und probieren Quantenalgorithmen ganz einfach aus. Von der Theorie zur Anwendung Viele Aspekte des Quantencomputings sind noch Zukunftsmusik, und trotzdem ist der Einfluss groß. In einem Ausblick erfahren Sie, welche Auswirkungen die Quantentheorie auf die Informatik hat und wie Sie die Entwicklung von Kryptografie-Algorithmen beeinflusst. Aus dem Inhalt: Hintergründe und Theorie Warum brauchen wir überhaupt Quantencomputer? Mathematische Grundlagen: Lineare Algebra, Dirac-Notation, Wahrscheinlichkeitstheorie Von der klassischen Informatik zu den Quanten Elemente der Quantenmechanik Quantenschaltkreismodelle und Qubits Quantenverschränkungen Algorithmen und Anwendung: Deutsch-Jozsa, Simon, Shor, Grover und mehr Post-Quanten-Kryptografie Über den Autor: Dr. Kaveh Bashiri arbeitet in der IT-Sicherheit und beschäftigt sich hauptsächlich mit kryptografischen Auswirkungen von Quantenalgorithmen sowie mit Post-Quanten-Verfahren.
Softwaredesign und Entwurfsmuster
Ein sauberes, nachhaltiges und erweiterbares Softwaredesign ist die Grundlage professioneller Softwareentwicklung – ob Sie bereits als Softwareentwickler oder -entwicklerin tätig sind, oder sich noch in Ausbildung oder Studium befinden. In diesem umfassenden Handbuch vermittelt Kristian Köhler praxisnah und modern, wie sich die klassischen Patterns auf der Code-Ebene mit Ansätzen auf Architektur- bzw. Strukturebene verbinden lassen. So erfahren Sie alles über gutes Softwaredesign, wie es in der modernen Softwareentwicklung tatsächlich angewendet wird. Ergänzt wird das Buch durch diverse Code-Beispiele, Best Practices und typische Kontexte, die es als Lehr- und Nachschlagewerk unabdingbar machen. Aus dem Inhalt: Clean Code & Clean ArchitectureDomain Driven DesignMicroservice-PatternEntwurfsmusterbeschreibungenPrinzipien für gutes SoftwaredesignDokumentationErzeugungs-, Struktur-, Verhaltens-, Architektur- und DatenmusterAnwendungsorganisationSystemarchitekturmusterCloud-native Patterns Materialien zum Buch ... 11 1. Einleitung ... 13 1.1 ... Programmierparadigmen ... 16 1.2 ... Was sind Design-Patterns und wie sind sie entstanden? ... 26 1.3 ... Was sind Softwarearchitektur und Softwaredesign? ... 31 1.4 ... Die Evolution in der Softwareentwicklung und -architektur ... 38 2. Prinzipien für gutes Softwaredesign ... 65 2.1 ... Grundkonzepte der objektorientierten Programmierung ... 66 2.2 ... Clean-Code-Prinzipien ... 78 2.3 ... Die SOLID-Prinzipien ... 114 2.4 ... Information Hiding ... 138 2.5 ... Inversion of Control und Dependency Injection ... 139 2.6 ... Separation of Concerns und Aspektorientierung ... 141 2.7 ... Mit Unit-Tests die Qualität sicherstellen ... 145 3. Sourcecode und Dokumentation der Softwareentwicklung ... 151 3.1 ... Kommentare im Sourcecode ... 152 3.2 ... Dokumentation der Softwarearchitektur ... 166 3.3 ... UML zur Darstellung von Software ... 179 3.4 ... C4 Model zur Darstellung von Softwarearchitektur ... 190 3.5 ... Doc-as-Code ... 199 4. Softwaremuster ... 207 4.1 ... Factory-Method/Fabrikmethode ... 208 4.2 ... Builder/Erbauer ... 217 4.3 ... Strategy/Strategie ... 227 4.4 ... Chain of Responsibility/Zuständigkeitskette ... 235 4.5 ... Command/Kommando ... 244 4.6 ... Observer/Beobachter ... 256 4.7 ... Singleton/Einzelstück ... 266 4.8 ... Adapter/Wrapper ... 274 4.9 ... Iterator ... 284 4.10 ... Composite/Kompositum ... 292 4.11 ... Der Begriff der Anti-Patterns ... 300 5. Softwarearchitektur, -stile und -Patterns ... 307 5.1 ... Die Rolle des Softwarearchitekten ... 308 5.2 ... Softwarearchitekturstile ... 311 5.3 ... Stile zur Anwendungsorganisation und Codestruktur ... 330 5.4 ... Patterns für die Unterstützung der Architekturstile ... 345 6. Kommunikation zwischen Services ... 369 6.1 ... Stile der Anwendungskommunikation ... 371 6.2 ... Resilience Patterns ... 379 6.3 ... Messaging Patterns ... 413 6.4 ... Patterns zur Schnittstellenversionierung ... 438 7. Patterns und Konzepte für verteilte Anwendungen ... 449 7.1 ... Konsistenz ... 450 7.2 ... Das CAP-Theorem ... 451 7.3 ... Das PACELC-Theorem ... 453 7.4 ... Eventual Consistency ... 454 7.5 ... Stateless Architecture Pattern ... 457 7.6 ... Database per Service Pattern ... 463 7.7 ... Optimistic Locking Pattern ... 466 7.8 ... Saga Pattern -- das Verteilte-Transaktionen-Pattern ... 475 7.9 ... Transactional Outbox Pattern ... 480 7.10 ... Event Sourcing Pattern ... 486 7.11 ... Command Query Responsibility Segregation Pattern ... 492 7.12 ... Distributed Tracing Pattern ... 498 Index ... 509
GenAI Security
Neue Technologien, neue Risiken – das gilt auch für Unternehmensanwendungen mit generativer KI und großen Sprachmodellen. Erfahren Sie in diesem digitalen Buch, wie Sie Schwachstellen erkennen und Angriffe auf Ihre GenAI-Apps verhindern. Security-Experte Paul Zenker zeigt Ihnen, worauf Sie bei Konzeption, Entwicklung und Betrieb achten müssen. Mit vielen Praxisbeispielen und Abbildungen zu Bedrohungsszenarien und Anwendungsarchitekturen sowie Schritt-für-Schritt-Anleitungen, die Ihnen Prompt Injections, Jailbreaks und andere Techniken erläutern. So machen Sie Ihre GenAI-Anwendungen fit gegen Angreifer!Aus dem Inhalt: Aufbau und Angriffspunkte von GenAI-AppsAuswahl und Schutz von TrainingsdatenSicherheit bei Konzeption und Entwicklung berücksichtigenPrompt Injections und JailbreaksGenAI-gestütztes PentestingFuzzing von GenAI-AnwendungenWeb Security Basics
Magical Haskell
Discover a unique and fun approach to adopting modern typed functions programming patterns. This book uses playful metaphors and examples to help you learn Haskell through imagination, building on math without relying on imperative crutches or technical complexity. You’ll use math to build completely different Typed Functional patterns from the ground up and understand the link between building Mathematics through Types and constructing Haskell as a programming language.Intended for working with various applications, especially AI-powered apps, the book gently builds up to what are normally considered complex and difficult concepts all without needing a PhD to understand them. Illustrative explanations will guide you to tackle monads, using monad transformer stacks to structure real programs, foldable and traversable structures, as well as other Type classes. This book will also help you structure programs efficiently and apply your own abstractions to real-life problem domains. Next, you’ll explore exciting advancements in AI, including building with OpenAI APIs, creating a terminal chatbot, adding web functionality, and enhancing with retrieval-augmented generation. Finally, you’ll delve into AI multi-agents and future directions using Arrows abstraction, reinforcing Haskell’s design._Magical Haskell_ is a solution for programmers who feel limited by imperative programming languages but are also put off by excessively mathematical approaches.WHAT YOU WILL LEARN* Grasp a solid math foundation without complex technicalities for Types and Typeclasses.* Solve problems via a typed functional approach and understand why it’s superior to what’s available in the imperative language world (“if it compiles, it runs”).* Build your own abstractions to efficiently resolve problems in any given domain.* Develop AI frameworks in Haskell, including chatbots, web functionality, and retrieval-augmented generation.WHO THIS BOOK IS FORHaskell programmers of all levels and those interested in Type Theory.ANTON ANTICH is a serial entrepreneur and AI/Type Theory researcher, who majored initially in physics. In various executive roles, he was instrumental in building Veeam Software from 0 to over 1B USD in annual sales in under ten years – making Veeam the fastest-growing European company ever. Upon exiting Veeam, he invested in and helped scale over 20 startups and in the recent years got back to the roots and is currently building Integrail (https:// integrail.ai) – a no-code Agentic AI platform. Haskell has been an integral part of many of the projects undertaken during Anton’s tenure, and his current startup will use it as an optional backend for AI multi-agent execution..Chapter 1: Wizards, Types, and Functions.- Chapter 2: Type Constructions.- Chapter 3: Very Gentle Type Theory and Category Theory Introduction.- Chapter 4: Basic Typeclasses or “Show me a Monoid”.- Chapter 5: Functor, Bifunctor and Applicative Functor Enter an Elevator.- Chapter 6: O Monad, Help me Compose.- Chapter 7: Input, Transformer Stack, Output.- Chapter 8: Blackjack - Full Haskell Program.- Chapter 9: Let’s AI.- Chapter 10: Terminal AI Chatbot.- Chapter 11: Web-enabled AI Framework.- Chapter 12: Adding RAG (Retrieval Augmented Generation).- Chapter 13: AI Multi-Agents and the Future.
Beginning Solidity
UNLOCK THE FUTURE OF PROGRAMMING ON THE ETHEREUM BLOCKCHAIN WITH SOLIDITY SMART CONTRACTSExplore and learn smart contract development on the Ethereum blockchain with Beginning Solidity: Learn to Program Smart Contracts with Solidity by Alexandros Dolgov.This book is a guide to taking your first steps and becoming comfortable with Solidity programming, providing accessible learning material for existing and aspiring programmers who wish to build decentralised applications on the Ethereum platform. This book provides insights into the creation, compilation and deployment of smart contracts and decentralised applications.Beginning Solidity demystifies the complexities of the Ethereum blockchain and the Solidity language. From understanding the origins and use of money to basic blockchain concepts such as accounts, transactions, block explorers, wallets and consensus mechanisms, to applications like understanding and creating fungible (ERC-20) and Non-fungible tokens (NFTs) or developing a decentralized auction platform, Alexandros Dolgov covers it all. Through practical examples and real-world scenarios, this book equips you with the knowledge to design, develop, and deploy smart contracts and decentralized apps, positioning you at the forefront of the blockchain revolution. You'll also:* Learn Solidity programming through the Foundry framework making Solidity programming incredibly accessible for those with or without prior coding experience* Become comfortable with the development of Ethereum smart contracts and the deployment of decentralized applications across various sectors* Stay up to date in the rapidly evolving field of blockchain technology with cutting-edge practices and adaptable learning strategiesFor both practicing and aspiring programmers and developers eager to explore the possibilities of the Ethereum blockchain and Solidity programming, Beginning Solidity is an essential read. Embark on an exciting journey to become proficient in creating blockchain-based applications that can transform the digital world. Grab your copy today and take the first step towards mastering the future of decentralized technology.CHAPTER 1: WHAT IS MONEY AND A BRIEF HISTORY OF IT? 1What Is Money? 1Money as a Technology 2Medium of Exchange 3Store of Value 4Unit of Account 5The History and Evolution of Money 5Barter 6Primitive Money 7Primitive Money: Conclusion 10Modern Types of Money 10Coins 11Paper Money 11Bretton Woods Conference 12Modern Types of Money: Conclusion 12Cryptocurrencies 13Bitcoin 13Bitcoin’s Monetary Properties 14Bitcoin’s “Monetary Policies” 14Ethereum and Smart Contracts 16What Are Smart Contracts? 17Tokenization of Real-World Assets 17Decentralized Autonomous Organizations 22Decentralized Exchanges 22Lending/Borrowing: Aave 23Travala 23VitaDAO 24BeerDAO 24CityDAO 24Cryptocurrencies and Smart Contracts: Conclusion 24Chapter 1 Questions 25CHAPTER 2: AN INTRODUCTION TO ETHEREUM’S ARCHITECTURE 27Basics of Ethereum 27The Blockchain Trilemma 31Smart Contracts 31The Ethereum Virtual Machine 34The Ether Coin 34The Byzantine General’s Problem and Ethereum’s Consensus Mechanism 35Gas Fees 36The Scaling Problem of Ethereum 38Layer 2 Solutions 40Rollups 40Validiums 42Side-Chains 42Sharding 43Danksharding 44Layer 3 Solutions 44Ethereum: Toward Finalization 44Chapter 2 Questions 45CHAPTER 3: WALLETS, METAMASK, AND BLOCK EXPLORERS 47Understanding Wallets 48Hosted Wallets 48Advantages, Disadvantages, Best Practices, and Case Studies 48Browser Wallets 51Advantages, Disadvantages, and Case Studies 51Desktop Wallet (Full Nodes) 52Advantages and Disadvantages 53Desktop Wallet (Lightweight) 53Advantages and Disadvantages 53Mobile Wallets 54Advantages, Disadvantages, and Case Studies 54Cold Storage/Hardware Wallet 55Advantages, Disadvantages, and Best Practices 55Convert Your Old Phone into a Hardware Wallet 57Multisignature Wallets 59Hierarchical Deterministic Wallets 59Installing MetaMask 60Logging In Again with the Seed Phrase 62Changing Networks 64Engaging with Faucets 65Sending Your First Transaction 71Block Explorers 74Test Network (Testnet) Block Explorer 77Block Explorer: Transaction Anatomy 78Block Explorer: Block Anatomy 78Connecting to DApps 82Block Explorer: Anatomy of a Wallet 88Chapter 3 Questions 98CHAPTER 4: REMIX, DATA TYPES, VISIBILITY, AND HELLOWORLD 101What Is Programming? 101Starting with Solidity, Remix, and HelloWorld 102Creating the HelloWorld.sol File in Remix 103SPDX-License-Identifier 106Solidity Versions and the pragma Line 107Contract HelloWorld {} 110Data Types and Variables in Solidity 111int 111uint 112string 112address 113bool 113bytes 114Function Visibility Levels 116Function Anatomy 116Visibility Levels 116View and Pure Keywords 117HelloWorld Contract 117Chapter 4 Questions 120CHAPTER 5: ZOOMANAGEMENT 123Setting Up the ZooManagement Contract 123Structs 130Arrays 132Dynamic Arrays 134Fixed-Size Arrays 135addAnimal 137getAnimal 138Mappings 139Creating a Mapping 140Contract Importing 144Inheritance 149Single Inheritance 150Multilevel Inheritance 152Multiple Inheritance 154Hierarchical Inheritance 156Deploying and Running a Contract from Another Contract 158Chapter 5 Questions 166CHAPTER 6: INSTALLING MICROSOFT VISUAL STUDIO CODE AND FOUNDRY 169What Is Microsoft VS Code? 169Microsoft Visual Studio Code Layout 172Explorer Pane 172Search Pane 174Extensions 176Night Owl 177Polacode 179Bookmarks 179Cloak 180Solidity Juan Blanco 180Even Better TOML 180GitHub Copilot 181VS Code Keyboard Shortcuts 181Working on Different Files at the Same Time 184Mirror/Mini-Map 186Zen Mode 187VS Code Terminal 187Installing Foundry 191Installing libusb and Homebrew 192Starting a Foundry Project 196Chapter 6 Questions 202CHAPTER 7: FOUNDRY ZOOMANAGEMENT 205The Foundry Project Files 205Compiling a Contract 208Introduction to Anvil 211Local Smart Contract Deployment 215Using Scripting to Deploy a Contract 218Contract Interaction with Foundry 224Deploying a Smart Contract to a Test Network Through Foundry 227Chapter 7 Questions 235CHAPTER 8: FUNDRAISING CONTRACT 237Setting Up a Fundraising Contract 237Oracles 240Deploying the Price Feed Contract Through Remix 251Solidity Interfaces 254Creating Libraries 259Withdraw Function 262Resetting the Mappings 263Resetting the listOfSenders Array 264Sending ETH from a Contract 265Transfer 265Send 265Call 266Constructor 267Modifiers 269Testing the Contract by Deploying It on a Test Network 270Immutability and Constants 278Custom Errors 283Receive and Fallback Functions 284Chapter 8 Questions 285CHAPTER 9: BUILDING AN ERC-20 CRYPTOCURRENCY 287Introduction to ERC-20 287The Process of Creating an Ethereum Improvement Proposal 289Building an ERC-20 Token with OpenZeppelin 290Building an ERC-20 Manually 299Deploy Your ERC-20 Cryptocurrency 307Chapter 9 Questions 311CHAPTER 10: BORROWING AND LENDING PROTOCOL 313What Is a Stablecoin? 313Types of Stablecoins 316Creating the Stablecoin 322The Stablecoin Skeleton 327Chapter 10 Questions 338CHAPTER 11: BUILDING AN ERC-721 NONFUNGIBLE TOKEN 341What Is an NFT? 341Setting Up the NFT Project 343ERC-721 Contract Breakdown 347Introduction to IPFS 362Downloading, Installing, and Using IPFS 363Downloading IPFS 363Installing the Browser Extension 368Using IPFS 371OpenSea 377Creating the ERC-721 Contract 382Writing a Deployment Script and Deploying on Sepolia 384Deploying the Contract 387Chapter 11 Questions 394CHAPTER 12: UPGRADABLE SMART CONTRACTS 397Introducing Upgradable Contracts 397Preset Versatility Upgrades 398Introduction to CertiK 399Contract Succession Upgrade 405Proxy Delegated Upgrade 406Using Delegatecall 410OpenZeppelin UUPS Proxies 417Importing UUPSUpgradeable.sol 422Initializer 426Deploying the Proxy Contract 431Chapter 12 Questions 433CHAPTER 13: DECENTRALIZED AUTONOMOUS ORGANIZATIONS 435What Is a DAO? 435Exploring the Aave Protocol 439Snapshot 444Potential Voting Architectures for a DAO 447The DAO Toolkit 448Setting Up the DAO Project 448Adding the RetrievableNumber.sol Contract 451Voting Token Contract 454OpenZeppelin’s Contracts Wizard 457The Governance Contract 460Timelock Contract 469Chapter 13 Questions 470CHAPTER 14: INTRODUCTION TO SMART CONTRACT SECURITY 471The Importance of Smart Contract Security 471Smart Contract Auditing and Security Best Practices 472Security Techniques Used for Auditing 478Having High Confidence and Assurance That Your Smart Contract Is Safe 479Chapter 14 Questions 480CHAPTER 15: THE FIRST (OR ONE OF THE FIRST) STEPPING STONES 481Uploading Projects to GitHub 481Finding a Job in the Crypto Industry 484Continuing with Solidity Education 484APPENDIX: ANSWERS TO CHAPTER QUESTIONS 487Chapter 1 What Is Money and a Brief History of It? 487Chapter 2 An Introduction to Ethereum’s Architecture 491Chapter 3 Wallets, MetaMask, and Block Explorers 494Chapter 4 Remix, Data Types, Visibility, and HelloWorld 499Chapter 5 ZooManagement 502Chapter 6 Installing Microsoft Visual Studio Code and Foundry 505Chapter 7 Foundry ZooManagement 508Chapter 8 Fundraising Contract 511Chapter 9 Building an ERC-20 Cryptocurrency 515Chapter 10 Borrowing and Lending Protocol 519Chapter 11 Building an ERC-721 Nonfungible Token 522Chapter 12 Upgradable Smart Contracts 524Chapter 13 Decentralized Autonomous Organizations 528Chapter 14 Introduction to Smart Contract Security 531Index 535
Softwareentwicklung mit ChatGPT und Copilot
Der Praxisleitfaden für die Zukunft der Softwareentwicklung mit KI-Assistenz. Erfahren Sie, wie Sie KI-Tools Schritt für Schritt in Ihre täglichen Arbeitsabläufe integrieren Anhand konkreter Beispiele zeigt Ihnen Nathan B. Crocker, wie Sie Code und Designideen generieren und dabei in jeder Phase des Entwicklungsprozesses KI-Assistenten einsetzen Themen sind Softwaredesign und -entwicklung, Datenmanagement, Testing, Deployment, Dokumentation und Sicherheit KI-Assistenten verändern die Art und Weise, wie wir Code schreiben und Software entwickeln, grundlegend. Dieses Buch stellt effektive Techniken und Best Practices vor, um mit Tools wie Copilot und ChatGPT das Beste aus der KI-gestützten Programmierung herauszuholen. Jenseits des Hypes erfahren Sie anhand von Praxisbeispielen, wie KI-Assistenten die Softwareentwicklung effizienter machen, die Qualität des Codes verbessern und damit Ihre Arbeit erleichtern und Sie kreativer werden lassen. Das Themenspektrum des Buchs umfasst den kompletten Entwicklungszyklus von Software: vom Entwurf und der Codegenerierung über das Debugging und die Dokumentation bis zum Deployment.Über den Autor:Nathan B. Crocker ist Mitgründer und CTO bei Checker, einer API-First-Lösung, die traditionelle Kapitalmarktinfrastrukturen mit dem Blockchain-Ökosystem verbindet. Mit über 20 Jahren Erfahrung in den Bereichen Technologie und Finanzen ist er sehr daran interessiert, die komplexen Herausforderungen der Kapital- und Kryptomärkte zu lösen.
Softwareentwicklung mit ChatGPT und Copilot
Der Praxisleitfaden für die Zukunft der Softwareentwicklung mit KI-Assistenz Erfahren Sie, wie Sie KI-Tools Schritt für Schritt in Ihre täglichen Arbeitsabläufe integrieren Anhand konkreter Beispiele zeigt Ihnen Nathan B. Crocker, wie Sie Code und Designideen generieren und dabei in jeder Phase des Entwicklungsprozesses KI-Assistenten einsetzen Themen sind Softwaredesign und -entwicklung, Datenmanagement, Testing, Deployment, Dokumentation und Sicherheit KI-Assistenten verändern die Art und Weise, wie wir Code schreiben und Software entwickeln, grundlegend. Dieses Buch stellt effektive Techniken und Best Practices vor, um mit Tools wie Copilot und ChatGPT das Beste aus der KI-gestützten Programmierung herauszuholen. Jenseits des Hypes erfahren Sie anhand von Praxisbeispielen, wie KI-Tools die Softwareentwicklung effizienter machen, die Qualität des Codes verbessern, Ihnen Ihre Arbeit erleichtern und Sie kreativer werden lassen. Das Themenspektrum des Buchs umfasst den kompletten Entwicklungszyklus von Software: von der Designidee und der Codegenerierung über das Debugging und die Dokumentation bis zum Deployment. Aus dem Inhalt Nutzen Sie KI, um Ihre Software zu entwerfen und zu planen Führen Sie KI in jeden Schritt des Workflows ein Entwickeln Sie eine selbstdokumentierende Anwendung Lernen Sie, gute Prompts zu formulieren, um komplexe Probleme mit KI zu lösen Erfahren Sie, wie KI beim Testen Ihres Codes, der Infrastruktur und bei Sicherheitsfragen helfen kann
Einstieg in Unity
Nutzen Sie die geniale Game Engine Unity, um eigene Spiele zu entwickeln! Erfolgsautor Thomas Theis zeigt Ihnen Schritt für Schritt, wie es geht – von der ersten Scene bis zum komplexen Multiplayer-Spiel. Mit dem integrierten C#-Kurs lernen Sie ohne Vorkenntnisse und ohne externe Software alle Objekte und Befehle direkt so kennen, wie Sie in Unity-Skripten aussehen. Unity bietet eine Fülle von Techniken und Effekten, die Sie nur einzubinden brauchen. Ob es um Zusammenstöße, Flugkurven, Explosionen oder die Kameraperspektive geht: Lernen Sie erst mit 2D- und dann mit 3D-Spielen, die mächtigen Werkzeuge zu nutzen und Ihre eigenen Ideen umzusetzen. Mit 18 vollständigen Spieleprojekten aus vielen Genres. Aus dem Inhalt: Unity installierenProjekte, Scenes und Assets verwaltenFlummi oder Stahlkugel? Objekteigenschaften festlegenKräfte und Drehmomente nutzenSkripte schreiben und gut strukturierenCollider und Trigger einsetzenSound und Animation hinzufügenMaterialien gestalten und Texturen verwendenMit Kameras und Perspektiven umgehenJump 'n Run, Breakout, Multiplayer, Shooter, Geschicklichkeitsspiel, Gedächtnistraining, Rennen, Adventure u. v. m. 1. Einführung ... 19 1.1 ... Was machen wir mit Unity? ... 19 1.2 ... Wie entsteht der programmierte Spielablauf? ... 20 1.3 ... Dateiendungen anzeigen lassen ... 20 1.4 ... Den Unity Hub installieren ... 21 1.5 ... Eine Unity-Lizenz erhalten ... 22 1.6 ... Eine Unity-Version installieren ... 22 1.7 ... Beispielprojekte und Assets ... 23 1.8 ... Nutzung der Materialien ... 24 1.9 ... Upgrade eines Unity-Projekts ... 25 2. Das erste 2D-Projekt ... 27 2.1 ... Ein neues Projekt erstellen ... 27 2.2 ... Wichtige Bereiche im Unity Editor ... 28 2.3 ... Das Spielobjekt »Main Camera« ... 30 2.4 ... Assets importieren ... 31 2.5 ... Spielobjekte einfügen ... 32 2.6 ... Die Hierarchie ändern ... 33 2.7 ... Eine Szene speichern ... 35 2.8 ... Die Komponente »Transform« ... 35 2.9 ... Die Ansicht in der »Scene View« ... 38 3. Spielen Sie ein 2D-Jump&Run-Spiel ... 43 3.1 ... Wie geht das Spiel? ... 43 3.2 ... Unsere ersten Unity-Elemente ... 45 4. Entwickeln Sie ein 2D-Jump&Run-Spiel ... 53 4.1 ... Erzeugen Sie das Projekt und die Assets ... 53 4.2 ... Fügen Sie Spielobjekte ein ... 54 4.3 ... Erstellen Sie den Spielablauf ... 60 4.4 ... Gestalten Sie die Benutzeroberfläche ... 82 4.5 ... Erzeugen Sie eine ausführbare Version ... 101 5. Ein 2D-Breakout-Spiel ... 105 5.1 ... Führen Sie das Spiel aus ... 105 5.2 ... Erzeugen Sie das Projekt und die Assets ... 106 5.3 ... Fügen Sie Spielobjekte ein ... 111 5.4 ... Erstellen Sie den Spielablauf ... 118 5.5 ... Gestalten Sie die Benutzeroberfläche ... 128 6. Ein 2D-Spiel für zwei Spieler ... 141 6.1 ... Führen Sie das Spiel aus ... 141 6.2 ... Bereiten Sie das Spiel vor ... 143 6.3 ... Erstellen Sie den Spielablauf ... 149 6.4 ... Künstliche Intelligenz ... 159 7. Ein Gedächtnistrainer als 2D-Projekt ... 161 7.1 ... Führen Sie das Training aus ... 161 7.2 ... Bereiten Sie das Training vor ... 162 7.3 ... Das Training für drei Zahlen ... 163 7.4 ... Das Training erweitern ... 172 8. Ein 2D-Space-Shooter ... 181 8.1 ... Bereiten Sie das Spiel vor ... 182 8.2 ... Erstellen Sie den Spielablauf ... 188 9. Das erste 3D-Projekt ... 203 9.1 ... Grundlagen eines 3D-Projekts ... 203 9.2 ... Verschieben und Drehen ... 209 10. Eine 3D-Animation ... 221 10.1 ... Schaffen Sie die Voraussetzungen ... 221 10.2 ... Erstellen Sie die Animation ... 224 10.3 ... Arbeiten Sie mit dem »Animator Controller« ... 229 10.4 ... Fügen Sie das C#-Script hinzu ... 232 11. Ein 3D-Balancer ... 235 11.1 ... Führen Sie das Spiel aus ... 235 11.2 ... Bereiten Sie das Spiel vor ... 236 11.3 ... Erstellen Sie den Spielablauf ... 240 12. Ein 3D-Tetris ... 247 12.1 ... Führen Sie das Spiel aus ... 247 12.2 ... Bereiten Sie das Spiel vor ... 248 12.3 ... Erstellen Sie den Spielablauf ... 250 13. Ein Kopfrechentrainer als 3D-Projekt ... 261 13.1 ... Führen Sie das Training aus ... 261 13.2 ... Bereiten Sie das Training vor ... 262 13.3 ... Erstellen Sie den Trainingsablauf ... 263 14. Golf spielen auf einem 3D-Terrain ... 275 14.1 ... Führen Sie das Spiel aus ... 275 14.2 ... Bereiten Sie das Spiel vor ... 276 14.3 ... Erstellen Sie den Spielablauf ... 286 14.4 ... Ein weiteres Terrain ... 292 15. Jagen auf einem 3D-Terrain ... 301 15.1 ... Führen Sie das Spiel aus ... 301 15.2 ... Bereiten Sie das Spiel vor ... 304 15.3 ... Erstellen Sie den Spielablauf ... 312 16. Eine Schlange aus 3D-Joints ... 325 16.1 ... Führen Sie das Spiel aus ... 325 16.2 ... Bereiten Sie das Spiel vor ... 326 16.3 ... Erstellen Sie den Spielablauf ... 329 17. Ein Renntraining und ein Autorennen ... 339 17.1 ... Führen Sie das Renntraining aus ... 339 17.2 ... Führen Sie das Autorennen aus ... 341 17.3 ... Bereiten Sie das Renntraining vor ... 342 17.4 ... Erstellen Sie den Ablauf des Renntrainings ... 347 17.5 ... Erweitern Sie das Renntraining zum Autorennen ... 358 18. Erkunden Sie das Verlies ... 369 18.1 ... Führen Sie das Spiel aus ... 369 18.2 ... Bereiten Sie das Spiel vor ... 373 18.3 ... Erstellen Sie den Spielablauf ... 382 19. Ein Programmierkurs in C# ... 401 19.1 ... Das Unity-Projekt »Programmierkurs« ... 401 19.2 ... Grundlagen ... 403 19.3 ... Datenfelder ... 416 19.4 ... Zeichenketten ... 419 19.5 ... Methoden ... 421 19.6 ... Generische Listen ... 427 19.7 ... Daten auf der Festplatte ... 430 19.8 ... Objektorientierung ... 433 20. Speichern Sie eine Highscore-Liste ... 439 20.1 ... Definition der eigenen Klasse ... 439 20.2 ... Die eigene Klasse nutzen ... 442 21. Arbeiten Sie mit mehreren Szenen ... 451 21.1 ... Der Ablauf des Projekts ... 451 21.2 ... Der Aufbau der ersten Szene ... 452 21.3 ... Weitere Szenen ... 456 22. Allgemeine Hinweise ... 459 22.1 ... Projekte bearbeiten ... 459 22.2 ... Unity Packages ... 461 22.3 ... Unity unter anderen Betriebssystemen ... 463 22.4 ... Browser-Anwendungen erstellen ... 464 22.5 ... Android-Apps erstellen ... 466 22.6 ... Bonusprojekte ... 471 Index ... 475
Computergeschichte(n) (2. Auflg.)
Zuse, IBM, Atari, Browserkrieg: Wenn Sie bei diesen Worten in Nostalgie verfallen oder von Entdeckerlust gepackt werden, dann sind Sie hier genau richtig. Jürgen Wolf nimmt Sie mit auf eine spannende Zeitreise durch die Geschichte der IT.Erleben Sie die Entwicklung der Computer, vom gigantischen Rechnerklotz, der einen ganzen Raum ausfüllt, bis zu smarten Geräten, die in die Hosentasche passen. Erfahren Sie, wie der Millennium-Bug die Welt in Panik versetzte, und staunen Sie, wie jahrhundertealte Verschlüsselungstechniken die Programmierwelt noch bis heute beeinflussen. Dabei können Sie nicht nur Faszinierendes über vergangene Zeiten lernen, sondern sogar selbst aktiv werden und die Geschichte wieder aufleben lassen! Probieren Sie sich an alten Programmiersprachen aus, emulieren Sie den C64-Homecomputer und tauchen Sie ein in die pixelige Welt der Retrogames. Eine kurzweilige Zeitreise durch die Geschichte der Computer, garantiert nicht nur für Nerds!Eine Reise in die VergangenheitIT-Geschichte von der Antike anLernen Sie die Vorreiter unserer heutigen IT-Welt kennen: Abakus, Mechanismus von Antikythera, Chiffrierscheiben, Logarithmentafeln und vieles mehr.Computer, Software und InternetJürgen Wolf bereist mit Ihnen alle Meilensteine der IT-Geschichte, von den ersten Computern und Programmen bis zu sozialen Netzwerken, 5G und Smart Home.Die Anfänge der KIMcCulloch und Pitts, Turing-Test, ELIZA, Deep Blue & Co.: Entdecken Sie die Anfänge der Künstlichen Intelligenz. Bereits Jahrzehnte vor ChatGPT legten die Vordenker der KI den Grundstein für diese revolutionäre Technologie.Ideen zum MitmachenRetrogames zocken, programmieren, emulieren: Zahlreiche Anregungen zum Mitmachen laden Sie dazu ein, in die Computergeschichte einzutauchen.Aus dem Inhalt:Wie der Computer in den Haushalt kamMobile Computer: vom »Ziegelstein« zum SmartphoneUnix, Windows und Co. – Geschichte der Betriebssysteme8-Bit-Helden: Retrokonsolen und -spieleVon Plankalkül und anderen ProgrammiersprachenAuf einmal ist alles eine AppDie Anfänge der Künstlichen IntelligenzDer erste Spam und andere Übel des InternetsAls die Browser in den Krieg zogen ...Die junge Geschichte der sozialen Medien
3D-Spiele programmieren mit Unity
Ganz einfach eigene 3D-Spiele entwickelnHans-Georg Schumann zeigt detailliert und leicht verständlich, wie Einsteiger mit der beliebten Spiele-Engine Unity eigene 3D-Spiele entwickeln können. Folgen Sie dem Autor Schritt für Schritt, wie verschiedene Elemente eines 3D-Spiels erstellt werden: sowohl 2D- als auch 3D-Landschaften und Bauwerke, verschiedenste Charaktere mit diversen Eigenschaften und Bewegungsfähigkeiten, Features wie Sound und Effekte u.v.m.Landschaften und Charaktere entwerfenSie beginnen mit einem kleinen Jump & Run-Spiel in 2D und lernen dann Schritt für Schritt, eigene Spielwelten in 3D zu erschaffen. Dabei erfahren Sie, wie man Landschaften mit Vegetation und Seen gestaltet. Außerdem bauen Sie einfache Gebäude und erschaffen einen Gegner, den Sie animieren und der mit der Zeit todbringende Eigenschaften erhält. Dabei eignen Sie sich ganz nebenbei das Programmieren in C# an und lernen alle Bausteine kennen, um eigene Ideen umzusetzen.Realitätsnah mit hervorragenden EffektenDas Unity-Entwicklungssystem erzeugt tolle Effekte, die dem Spiel das nötige Reality-Gefühl geben. Alles, was Sie zum Programmieren Ihrer Projekte benötigen, gibt es als Paket zum kostenlosen Download.Aus dem Inhalt:Unity starten und ein erstes kleines Spiel in 2D erstellenIn die Script-Programmierung mit C# einsteigenEinen Charakter entwerfen und ihm Eigenschaften gebenEin Jump & Run-Spiel entwickelnDas Prinzip von 3D verstehen und ein Terrain mit Bäumen und Wasser gestaltenGanze Bauwerke entstehen lassenDie Figur klettern, schwimmen und sogar tauchen lassenEine Fantasie-Kreatur entwerfen und durch Animation lebendig werden lassenStrahlen, Partikel und Sound einbindenKünstliche Intelligenz nutzenEnergiekontrolle und andere Features aufrüstenInstallationshilfe und FehlerbehebungÜber den Autor:Hans-Georg Schumann ist pensionierter Informatik- und Mathematiklehrer und erfolgreicher Fachbuchautor.
Creating ChatGPT Apps with JavaScript
Transform your JavaScript expertise through the power of Open AI API models using “Creating ChatGPT Apps with JavaScript.” This book will guide JavaScript developers to build smart applications while providing tangible knowledge of OpenAI’s API for text summarization, creating transcripts from audio files, generating images, and running models locally on your machine.Through hands-on projects and code examples, readers will discover how to build AI-powered apps from scratch, such as using embeddings to train a Discord bot to answer customers’ questions in multiple languages. Readers will also learn to dictate text for writing articles or blogs with a localized integration of Whisper and generate hero images with Dall-E. What’s more, in the final chapter of this book, you’ll be able to maximize productivity by creating a Smart Assistant like Alexa or Siri with JavaScript and the new Raspberry Pi 5.From seasoned developers to newcomers, this book offers something for everyone. Not only will readers learn to build apps with ChatGPT and JavaScript, but they will also learn best practices for prompt engineering. They’ll understand how AI models can enhance workplace efficiency and utilize natural language processing (NLP) to make interactions with applications feel…well, natural. The end result is expert knowledge in leveraging ChatGPT programmatically and incorporating the technology into diverse applications.WHAT YOU WILL LEARN:* Gain a deeper understanding of ChatGPT and how OpenAI’s models work, and different ways to implement each of their various features.* Authenticate with ChatGPT and OpenAI’s API and learn to send prompts with best practices with prompt engineering.* Streamline productivity and content creation by leveraging transcription generation for dictation and image generation for creating hero images.* Stay ahead of the game by incorporating different new features of OpenAI’s API and understanding more complex concepts like using GPT-4 to train a Discord bot with an FAQ to assist with multilingual tech support.WHO THIS BOOK IS FOR:This book is written for JavaScript developers and hobbyists that want to use OpenAI and ChatGPT to create intelligent applications and streamline productivity. No prior experience with ChatGPT or OpenAI APIs is required.BRUCE HOPKINS JR. is a JavaScript, Typescript, and Rust developer. He has worked in both R&D and professional capacities with ChatGPT and other LLMs (large language model) such as Meta’s LLama and LLama 2.BRUCE HOPKINS SR. is an accomplished author and technical writer. His focus has been on pioneering research in natural language processing (NLP) and artificial intelligence (AI), particularly in the domain of speech and chatbot applications. He holds the distinguished title of an Intel Innovator for AI and IoT.Chapter 1: Introducing ChatGPT for JavaScript Developers.- Chapter 2: Using ChatGPT as Your JavaScript Pair-Programmer.- Chapter 3: Creating a Basic ChatGPT Client in JavaScript.- Chapter 4: Using AI in the Enterprise! Creating a Text Summarizer for Slack Messages.- Chapter 5: Multimodal AI: Creating a Podcast Visualizer with Whisper and DALL·E 3.- Chapter 6: Creating an Automated Community Manager Bot with Discord and JavaScript.- Chapter 7: Adding Intelligence to our Discord Bots, Part 1: Improving Our Q&A Bot.- Chapter 8: Adding Intelligence to our Discord Bots, Part 2: Improving Our Moderator Bot.
API-Design
Schnittstellen-Know-how für die Programmierung - Das Standardwerk zur API-Programmierung - Effektive APIs entwerfen - APIs für professionelle Projekte entwickeln Application Programming Interfaces (APIs) sind allgegenwärtig, denn Softwareentwickler benutzen sie nicht nur ständig, sondern entwerfen sie häufig auch. Dieses Buch bietet erstmals eine umfassende Anleitung für das vielfältige Thema API-Design. Neben theoretischen Konzepten werden zahlreiche praktische Hinweise und Programmbeispiele für Java-APIs gegeben. Remote APIs in Form von RESTful HTTP, GraphQL und Messaging, die für moderne Webanwendungen und andere verteilte Systeme enorm wichtig sind, spielen in diesem Buch ebenfalls eine zentrale Rolle. Aus dem Inhalt: - Entwurf leicht benutzbarer APIs - Kompatibilität und Versionierung - Objektkollaboration, Fluent APIs und Thread-Sicherheit - Dokumentation - Skalierbarkeit, Caching - API-Management Nach der erfolgreichen Lektüre dieses Buches kennen Sie die Grundlagen von APIs und sind in der Lage, objektorientierte APIs für Softwarekomponenten und Remote APIs für verteilte Systeme zu entwerfen. In der dritten Auflage sind u. a. der API-first-Ansatz und Sicherheitsthemen wie Authentifizierung, API-Keys, Distributed Denial of Service (DDos) und Injection-Angriffe hinzugekommen.
Time Series Forecasting Using Generative AI
"_Time Series Forecasting Using Generative AI_ introduces readers to Generative Artificial Intelligence (Gen AI) in time series analysis, offering an essential exploration of cutting-edge forecasting methodologies."The book covers a wide range of topics, starting with an overview of Generative AI, where readers gain insights into the history and fundamentals of Gen AI with a brief introduction to large language models. The subsequent chapter explains practical applications, guiding readers through the implementation of diverse neural network architectures for time series analysis such as Multi-Layer Perceptrons (MLP), WaveNet, Temporal Convolutional Network (TCN), Bidirectional Temporal Convolutional Network (BiTCN), Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM), Deep AutoRegressive(DeepAR), and Neural Basis Expansion Analysis(NBEATS) using modern tools.Building on this foundation, the book introduces the power of Transformer architecture, exploring its variants such as Vanilla Transformers, Inverted Transformer (iTransformer), DLinear, NLinear, and Patch Time Series Transformer (PatchTST). Finally, The book delves into foundation models such as Time-LLM, Chronos, TimeGPT, Moirai, and TimesFM enabling readers to implement sophisticated forecasting models tailored to their specific needs.This book empowers readers with the knowledge and skills needed to leverage Gen AI for accurate and efficient time series forecasting. By providing a detailed exploration of advanced forecasting models and methodologies, this book enables practitioners to make informed decisions and drive business growth through data-driven insights.● Understand the core history and applications of Gen AI and its potential to revolutionize time series forecasting.● Learn to implement different neural network architectures such as MLP, WaveNet, TCN, BiTCN, RNN, LSTM, DeepAR, and NBEATS for time series forecasting.● Discover the potential of Transformer architecture and its variants, such as Vanilla Transformers, iTransformer, DLinear, NLinear, and PatchTST, for time series forecasting.● Explore complex foundation models like Time-LLM, Chronos, TimeGPT, Moirai, and TimesFM.● Gain practical knowledge on how to apply Gen AI techniques to real-world time series forecasting challenges and make data-driven decisions.Who this book is for:Data Scientists, Machine learning engineers, Business Aanalysts, Statisticians, Economists, Financial Analysts, Operations Research Analysts, Data Analysts, Students.Bangalore Vijay Kumar Vishwas (B.V. Vishwas) is a seasoned Principal Data Scientist and AI researcher with over 11 years of experience in the IT industry. Currently based in San Diego, California, he works at NTT DATA. Vishwas holds a Master of Technology in Software Engineering from Birla Institute of Technology & Science, Pilani, India. He specializes in developing innovative solutions for large enterprises, with expertise in Machine Learning, Deep Learning, Time Series Forecasting, Natural Language Processing, Reinforcement Learning, and Generative AI. He is also the author of _Hands-On Time Series Analysis with Python: From Basics to Bleeding-Edge Techniques_, published by Apress.Sri Ram Macharla, is a consultant and architect in the areas of AI and ML with over 19 years of experience in IT. He holds an M.Tech from BITS Pilani and has experience working with clients in domains such as finance, retail, life sciences, defense, and manufacturing. Additionally, he has worked as a mentor, corporate trainer, and guest faculty teaching AI and ML. He has papers published and works as a reviewer with leading journals and publishers. He is passionate about mathematical modeling and applying AI for social good.Chapter 1: Time Series Meets Generative AI.- Chapter 2: Neural Network For Time Series.- Chapter 3: Transformers For Time Series.- Chapter 4: Time-LLM: Reprogramming Large Language Model.- Chapter 5: Chronos: Pretrained Probabilistic Time Series Model.- Chapter 6: TimeGPT: The First Foundation Model For Time Series.- Chapter 7: Moirai: A Time Series Foundation Model For Universal Forecasting.- Chapter 8: TimesFM: Decoder-Only Foundation Model For Time Series.
Beginning Spring AI
Discover how to use Large Language Models in the Spring Framework. This quick guide equips developers with insights into the strengths and limitations of Spring AI and how to leverage the model for typical use cases.First, you will orient yourself to the new and exciting landscape of AI and Spring integration. You will learn how to issue simple queries, asking the right questions to get the results you want. From there, you will be empowered to select the right model for functionality and refinement, building a simple yet effective chat bot using real-world examples. Additionally, the book explores how to generate images, refine them, and how to send source images when appropriate. Lastly, the book focuses on how Spring AI and LLMs affect the developer landscape, including pitfalls and ethical concerns.Designed for fast adoption, this book provides targeted guidance on integrating AI and LLMs into your projects within days. Through a pragmatic approach, it emphasizes direct utilization of the API.WHAT YOU WILL LEARN* Explore popular use cases for LLMs* Gain insight into the Spring AI module, including its capabilities and limitations* Know how to create effective queries and interactions for AI-driven conversations and image generation* Discover strategies for selecting an appropriate LLM service and model* Acquire skills to AI-proof your job and understand why it is NOT a replacementWHAT THIS BOOK ISSpring developers who are new to AI and focused on the essentials without exhaustive framework details. This is an optional supplement to the more comprehensive Apress book, _Beginning Spring 6_.ANDREW LOMBARDI is a veteran entrepreneur and software engineer. He has been running the consulting firm Mystic Coders for 25 years, authored multiple kick-ass books on Spring for Apress and WebSocket for O'Reilly, coding, speaking internationally and offering technical guidance to companies as large as Airbus and companies as controversial and unique as Twitter 1.0. He firmly believes that the best thing he has done so far is being a great dad.JOSEPH B. OTTINGER is a distributed systems architect with experience in many cloud platforms. He was the editor-in-chief of both Java Developer Journal and TheServerSide.com, and has also contributed to many publications, open source projects, and commercial projects over the years, using many different languages (but primarily Java, Python, and JavaScript). He was also a previously published author online (with too many publications to note individually) and in print, through Apress.Chapter 1: Introduction.- Chapter 2: Getting Started.- Chapter 3: Asking Questions and Using Data.- Chapter 4: Working with Audio.- Chapter 5: Generating Images.- Chapter 6: Navigating AI in Engineering: Challenges and Best Practices.
Spring Security 6 Recipes
Ensure robust web security for your Java applications in just a few days. This recipe-driven, practical pocketbook provides a straightforward guide to quickly developing and deploying secure enterprise applications using the Spring 6 Framework, Spring Boot 3, and the H2 database.The book is organized into problems and corresponding recipes, offering solutions for both small and large challenges. First, you will learn how to install all essential development tools, such as IntelliJ IDEA, JDK v17, and Maven. Then you will dive into recipes on using Spring Security 6 with JSP tags and Thymeleaf and integrating security features through Spring Boot 3 Initializr. Finally, you'll be equipped to build your own Spring Boot project using Spring Security, Spring Data JDBC, and the H2 database.This recipes guide is ideal for readers who want to get up and running with only the essential security features in a fraction of time. Its simplified approach offers immediate results for securing Java applications.WHAT YOU WILL LEARN* Set up and configure Spring Security 6 installation tools* Explore the basics of integrating Spring Security 6 with JSP tags, Thymeleaf, and Spring Boot 3 Initializr* Build and deploy a secure Spring Boot application using Spring Data JDBC and the H2 databaseWHO THIS BOOK IS FORBeginners in Spring Security 6, Boot 3 Initializr, and H2 DB, and assumes you have some basic web development and security experience. It is suitable for busy readers who are seeking a simple, focused approach for immediate results. For more comprehensive coverage, detailed explanations, and advanced topics, we recommend _Pro Spring Security: Securing Spring Framework 6 and Boot 3-based Java Applications_.MASSIMO NARDONE has more than 29 years of experience in information and cybersecurity for IT/OT/IoT/IIoT, web/mobile development, cloud, and IT architecture. His true IT passions are security and Android. He holds an MSc degree in computing science from the University of Salerno, Italy. Throughout his working career, he has held various positions, starting as a programming developer, and then security teacher, PCI QSA, auditor, assessor, lead IT/OT/SCADA/SCADA/cloud architect, CISO, BISO, executive, program director, OT/IoT/IIoT security competence leader, VP OT security, etc. In his last working engagement, he worked as a seasoned cyber and information security executive, CISO and OT, IoT and IIoT security competence leader helping many clients to develop and implement cyber, information, OT, IoT security activities. He is currently working as Vice President of OT Security for SSH Communications Security. He is an Apress co-author of numerous books, including _Pro Spring Security_, _Pro JPA 2 in Java EE 8_ ,_Pro Android Games_, and has reviewed more than 70 titles.1. Development Tools.- 2. Spring Security, JSP Tags ad Thymeleaf.- 3. Java Web application and Spring Boot 3 Initializr.- 4. Spring Data JDBC and H2 Database.
Softwaretesting kompakt
Softwaretests sind unverzichtbar für jede robuste Software. Dies zeigt sich durch nahezu wöchentliche Bugbedingte Ausfälle. Doch wie lassen sich diese effektiver verhindern? Nach dem Lesen dieses Buches sind Sie in der Lage, eigene Softwaretests in den unterschiedlichsten Industriebereichen mit Java umzusetzen.Dieses Buch richtet sich an alle, die in die Disziplin des Testens eintauchen möchten. Es nimmt Sie direkt an die Hand und führt Sie Schritt für Schritt durch die unterschiedlichen Bereiche, es sind keine Vorkenntnisse im Testing oder Programmierung notwendig. Lernen Sie essenzielle Testtheorie kennen und wie Sie in der Praxis verschiedene Testarten einsetzen.Die notwendigen Java-Grundkenntnisse zur Testimplementierung werden Ihnen anhand von Beispielen immer aus der Sicht eines Testers praxisnah vermittelt. Erfahren Sie mehr über Testautomatisierung mit JUnit, Oberflächentests mit Selenium und Mocking von APIs mit WireMock. Lernen Sie die Anwendung von Behaviour Driven Development mit Cucumber kennen sowie exploratives Testen.PASCAL MOLL ist freiberuflicher Berater. 2021 wurde er Zweiter beim „Freelancer des Jahres“-Wettbewerb. Seine Schwerpunkte liegen im Bereich der Java-Entwicklung, des Testmanagements und der Testautomatisierung von Web- und Desktopapplikationen, insbesondere SAP. Er ist „ISTQB Certified Tester, Full Advanced“ sowie zertifizierter Softwarearchitekt. Sein Wissen teilt er regelmäßig in Podcasts, Webinaren, Artikeln und Blogposts. Seit 2024 ist er zudem Dozent an der Technische Hochschule Würzburg-Schweinfurt (THWS) für die Vorlesung Software Testing.DANIEL SONNET ist Hochschullehrer für Data Science an der Fresenius University of Applied Sciences und IT-Unternehmer mit einem Faible für den nachhaltigen Einsatz von IT inkl. Softwaretesting. Grundlagen des Softwaretestings. Java Grundlagen für Softwaretesting. Welcome to Apache Maven. Grundlagen der Testautomatisierung. Mocking & API Testing. Oberflächen und deren automatisierte Tests mit Selenium. Behaviour Driven Development mit Cucumber.
Python Adventures for Young Coders
This book takes young readers on an exciting adventure with a child named Kai. One day, Kai wakes up trapped inside a giant robot. He can't talk to anyone outside, and the only way to communicate is through the robot. Inside the robot, Kai finds many books and documents written in a strange language—it's the robot's language, which is Python. Kai realizes he needs to learn this language to control the robot and talk to the outside world. In each chapter in this book, we will join Kai on a new adventure to learn something that helps us control the robot better and communicate with the real world. This fun and interactive book is designed to introduce young minds to the basics of programming while encouraging creativity and problem-solving skills.In the introductory chapters, readers discover Python as a friendly and accessible programming language. The book guides them through setting up their programming environment and crafting their initial lines of code, laying the foundation for an exciting coding adventure. As the exploration unfolds, it delves into fundamental programming concepts essential for any budding coder. From variables and data types to loops and conditionals, these building blocks empower readers to create their programs, fostering a solid understanding of the core principles of coding. It seamlessly integrates these concepts with previously learned fundamentals, providing a comprehensive view of Python's capabilities. Fueling creativity, it inspires readers to unleash their imagination through engaging projects. From crafting games to developing useful applications, young coders learn to apply their programming skills in innovative ways, transforming abstract coding concepts into real and interactive projects.With a focus on accessibility, engagement, and real-world application, this book paves the way for the next generation of Python enthusiasts.What you will learn:* Understand Python programming fundamentals, including syntax, variables, data types, loops, conditionals, lists, functions, and handling files.* Learn to break down complex problems into smaller, manageable tasks and apply coding concepts to find creative solutions.* How to create their interactive coding projects using Python.* Understand strategies for debugging and troubleshooting common programming problems, which are essential skills for any programmerWho this book is for:This book caters primarily for high school students and individuals keen on delving into programming with minimal or zero coding background. It's structured to be both accessible and captivating for young readers, immersing them in the realm of coding through entertaining and interactive journeys. Moreover, it extends its reach to educators and coding enthusiasts alike.Alaa Tharwat Othman is a distinguished PostDoc and Research Group Leader at Bielefeld University of Applied Sciences in Germany. He earned his Ph.D. in Electrical Engineering from Ain Shams University in Egypt. His research focuses on machine learning with small data, active learning, and explainable AI for Industry 4.0 applications. Actively engaged in academia, Alaa has contributed to conferences like AISI and organized workshops and tutorials at prestigious events such as ECML PKDD, IEEE WCCI, and WUML. His numerous publications and tutorials, easily accessible for students, underscore his commitment to knowledge dissemination. Recognized for his exceptional presentations, Alaa has received awards, including Best Presenter, Best Paper, and Best Teaching Assistant. Motivated by a passion for simplifying complex concepts, he extends his expertise to authoring a book aimed at imparting fundamental programming knowledge to readers, reflecting his dedication to spreading knowledge and facilitating learning.Chapter 1: Welcome to the world of programming!.- Chapter 2: Variable fundamentals, an introduction to storing and manipulating data.- Chapter 3: Controlling program flow, understanding the if statement.- Chapter 4: Repeating actions with for loops.- Chapter 5: Checkpoint: Strengthening your programming Skills.-Chapter 6: Exploring Lists: Operations and Manipulations.- Chapter 7: Using the For Loop for Searching, Removing, and Updating Lists.- Chapter 8: Using Functions for Robust and Flexible Code.- Chapter 9: Function Deep Dive: Uncovering Functionality and Built-in Function Usage.- Chapter 10: Checkpoint: Revisiting Lists, Functions, and Core Programming Concepts.- Chapter 11: Level Up Your Skills: Constructing Your First Game from Scratch.- Chapter 12: Managing Files: Exploring Reading, Saving, Updating, and Deleting Operations.- Chapter 13: Code Training 1: Developing a Game or App for Improving Programming Skills.- Chapter 14: Code Training 2: Developing a Game or App for Improving Programming Skills.- Chapter 15: Code Training 3: Developing a Game or App for Improving Programming Skills.
When Docker Meets Java
Discover how to become a more efficient Java developer using Docker. This book will help you streamline your development process, boost portability, and enhance the efficiency of your applications.Docker has transformed the landscape of application and deployment by simplifying the creation and management of development environments, saving valuable time and reducing compatibility issues. With this book, you will learn how to package Java applications into Docker containers, making them consistent and portable across different environments. As a result, you’ll gain the expertise to efficiently scale and manage your applications, ensuring they run smoothly in production to boost development efficiency.This book sets itself apart through its emphasis on Java developers’ specific needs and challenges, providing relevant examples and use cases. The hands-on practical approach provides you with the necessary skills to be a more valuable Java developer.WHAT YOU WILL LEARN* Understand the fundamental concepts of Docker and containerization* Package Java applications into Docker containers* Gain hands-on experience in Dockerizing Java applications* Efficiently test, debug, deploy, and scale Java applications using Docker* Acquire skills that will make you a more valuable and efficient Java developerWHO THIS BOOK IS FORJava developers who want to make their applications more portable and easier to manageASHISH CHOUDHARY is a senior software engineer and published author. He has over 14 years of experience in the IT industry. He has experience in designing, developing, and deploying web applications. His technical expertise includes Java, Spring Boot, Docker, Kubernetes, IMDG, distributed systems, microservices, DevOps, and the cloud. Ashish is an active blogger and technical writer. He has delivered talks at renowned conferences such as GitHub Satellite India and Fosdem. He is a strong advocate of Open Source technologies. He has been contributing to various open source projects for quite some time. Ashish believes in continuous learning and knowledge sharing.Chapter 1: Overview of Containers.- Chapter 2: Docker High-Level Overview.- Chapter 3: Up and Running with Docker.- Chapter 4: Learning Advanced Docker Concepts.- Chapter 5: Containerizing Java Applications with Dockerfile.- Chapter 6: Working with Container Builder Tools for Java Applications.- Chapter 7: Deploying Docker Containers using GitHub Actions.- Chapter 8: Exploring Docker Alternatives.- Chapter 9: Building Native Images with GraalVM.- Chapter 10: Testing Java Applications using Testcontainers.- Chapter 11: Docker Best Practices for Java Developers.