Programmierung
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.
Secure RESTful APIs
Secure your RESTful APIs with confidence and efficiency. This straightforward guide outlines the essential strategies and best practices for protecting sensitive data when developing RESTful APIs for your applications.Inside, you’ll explore the fundamental functionalities to implement industry-standard authentication authorization mechanisms for Java applications. With chapters covering key security concerns, data protection, and designing and testing secure APIs, this book provides a hands-on approach to protecting user data, validating inputs, and implementing security mechanisms such as JSON Web Tokens (JWT) and OAuth2 authentication.This book offers a focused introduction without unnecessary complexity. Whether you are a beginner or busy professional, this is the only book designed to help you secure your RESTful APIs in no time.WHAT YOU WILL LEARN* Understand the fundamentals of RESTful APIs and why it is critical to secure them* Identify common security risks concerning RESTful APIs and explore effective protection techniques* Know how to design and test RESTful APIs, including with input and response data validation* Review examples of how to secure JSON Web Token (JWT) and OAuth3 with RestFUL APIsWHO THIS BOOK IS FORWeb developer beginners who want to learn how to develop Security RESTful APIs applicationsMASSIMO 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. Introduction of RESTful APIs.- 2. Key Security Concerns and Risks for RESTFUL APIs.- 3. Data Protection and Validation for RESTful APIS.- 4. Securing JSON Web Token (JWT).- 5. Securing OAtuh2 Authentication Flow.
Embedded Systems
Embedded Systems entwickeln – von der Hardware über alle Ebenen bis zur konfigurierbaren Anwendung! Uwe Altenburg zeigt Ihnen in diesem Buch alles, was Sie brauchen, um ein Komplettsystem samt eigener Skriptsprache zu entwerfen und zu implementieren. Das praktische Konzept mit erprobten Lösungen, umfangreicher Software und vielen Hinweisen ist ideal für alle, denen fundierte, praxisrelevante Kenntnisse wichtig sind.Was Sie in diesem Buch lernenEigene Hardware entwerfen Hardware: Sie beginnen mit dem Schaltplan und entwerfen schließlich ein EMV-gerechtes Leiterplattenlayout für ein Breakout-Board mit dem Mikrocontroller STM32F412. Software entwickeln Komplexität: Am Anfang ist es nur ein Bootloader, dann ein einfaches Multitasking-Betriebssystem – und schließlich eine Skiptsprache mit Compiler. Schritt für Schritt werden die Aufgaben und Beispiele komplexer und interessanter. Externe Hardware ansteuern Zusammenspiel: Treiber für das weit verbreitete Modbus-RTU Protokoll sowie zum Ansteuern verschiedener LCD-Grafik-Displays runden die umfangreiche Software ab und ermöglichen vielfältige praktische Anwendungen. Testen und optimieren Qualität: Software ist immer nur so gut wie ihre Tests. Tausende davon auf Knopfdruck? Nutzen Sie die Möglichkeiten moderner Entwicklungswerkzeuge! Eine Software für ganz verschiedene Plattformen? Auch diese Herausforderung meistern Sie mit diesem Buch – und noch einige mehr! Aus dem InhaltEinführung in Embedded SystemsEntwicklungstools und TestumgebungSchaltungsentwurf und LeiterplattenlayoutBootloader-Funktion implementierenBetriebssystem mit MultitaskingEine Skriptsprache implementierenInterpreter und LaufzeitsystemLexikalische und syntaktische AnalyseCode-GenerierungLeseprobe (PDF-Link)
Oracle SQL
Wenn Sie sich professionell mit Oracle beschäftigen, sind umfassende Kenntnisse des entsprechenden SQL-Dialekts unverzichtbar. Jürgen Sieben, vielen bereits bekannt durch seine Bücher zu Oracle PL/SQL und Oracle APEX, hat nun auch sein Buch zu Oracle SQL aktualisiert. Er zeigt Ihnen darin, wie Oracle und SQL zusammenspielen und welche Strategien Sie nutzen können, um Daten in der Datenbank zu speichern, zu analysieren oder auch zu löschen. Die vierte Auflage berücksichtigt die umfassenden Erleichterungen und Syntaxänderung der Datenbankversion 23ai und gibt auch erfahrenen Anwendern einen profunden Einstieg in die verbesserten Möglichkeiten der Sprache SQL. Aus dem Inhalt: Konzept einer relationalen DatenbankGrundlagen: Auswahl und ProjektionDaten aus mehreren Tabellen lesen: JoinsZeilenfunktionen, Gruppenfunktionen, analytische FunktionenUnterabfragenDatenmanipulationViews, Tabellen und Indizes erstellenEinführung in die Rechteverwaltung von OracleHierarchische Abfragen und XML-AbfragenDie Model-KlauselRow Pattern MatchingPivotierung und AbfragetabellenArbeit mit großen DatenstrukturenPerformanzoptimierung von SQL-AbfragenNormalisierung von DatenmodellenHäufige Fehler der DatenmodellierungParameter verwaltenMultilinguale Daten 1. Materialien zum Buch ... 23 1. Einführung ... 25 1.1 ... Für wen ist dieses Buch geschrieben? ... 25 1.2 ... Aufbau des Buches ... 26 1.3 ... Anmerkung zur vierten Auflage ... 35 1.4 ... Anmerkung zur dritten Auflage ... 36 1.5 ... Anmerkung zur zweiten Auflage ... 37 1.6 ... Danksagung ... 38 TEIL I. Einführung und Grundlagen ... 39 2. Verwendete Werkzeuge und Skripte ... 41 2.1 ... Aufsetzen einer Beispieldatenbank ... 41 2.2 ... SQL Developer ... 44 2.3 ... Die Datenbankbenutzer ... 49 2.4 ... Online-Dokumentation und weiterführende Literatur ... 50 3. Konzept einer relationalen Datenbank ... 53 3.1 ... Die Idee der relationalen Speicherung ... 53 3.2 ... SQL -- die »Lingua franca« der Datenbank ... 70 3.3 ... Analyse vorhandener Datenmodelle ... 78 TEIL II. Die SELECT-Anweisung ... 85 4. Grundlagen: Auswahl und Projektion ... 87 4.1 ... Projektion ... 87 4.2 ... Auswahl ... 102 4.3 ... Sortieren von Zeilenmengen ... 116 4.4 ... Fallunterscheidungen ... 120 4.5 ... Die Klausel ROW LIMITING ... 128 4.6 ... Pseudospalten ... 131 4.7 ... Kommentare ... 137 4.8 ... Der NULL-Wert ... 139 4.9 ... Übungen ... 146 5. Daten aus mehreren Tabellen lesen: Joins ... 147 5.1 ... Einführung in Joins ... 148 5.2 ... Inner Join ... 149 5.3 ... Outer Join ... 160 5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 169 5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 175 5.6 ... Übungen ... 182 5.7 ... Zusatz: Weiterführende Join-Konzepte ... 183 6. Zeilenfunktionen ... 191 6.1 ... Grundsätzliches zu Funktionen ... 191 6.2 ... Zeichenfunktionen ... 195 6.3 ... Datumsfunktionen ... 219 6.4 ... Mathematische Funktionen ... 239 6.5 ... Allgemeine Funktionen ... 255 6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 274 7. Gruppenfunktionen ... 279 7.1 ... Die Standardgruppenfunktionen ... 280 7.2 ... Gruppierung von Gruppenfunktionen ... 285 7.3 ... Spezielle Gruppenfunktionen ... 300 7.4 ... Wenn ungefähr ausreicht ... 308 7.5 ... Übungen ... 309 8. Unterabfragen ... 311 8.1 ... Die Unterabfrage in der WHERE-Klausel ... 311 8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 322 8.3 ... Unterabfragen und Joins ... 329 8.4 ... Funktionen in der WITH-Klausel ... 334 8.5 ... Übungen ... 336 9. Analytische Funktionen ... 337 9.1 ... Die Idee der analytischen Funktionen ... 337 9.2 ... Gruppenfunktionen als analytische Funktionen ... 343 9.3 ... Analytische Rangfunktionen ... 354 9.4 ... Zusammenfassung ... 370 9.5 ... Übungen ... 371 TEIL III. Datenmanipulation und Erzeugung von Datenbankobjekten ... 373 10. Datenmanipulation ... 375 10.1 ... Die INSERT-Anweisung ... 376 10.2 ... Die UPDATE-Anweisung ... 382 10.3 ... Die DELETE-Anweisung ... 389 10.4 ... Die MERGE-Anweisung ... 390 10.5 ... Exkurs: Flashback ... 401 10.6 ... Sequenzen und Trigger ... 403 10.7 ... Ihr Sicherheitsnetz -- die Transaktion ... 409 10.8 ... Fehlerbehandlung während der Datenmanipulation ... 412 10.9 ... Multi-Table-Insert ... 420 11. Views erstellen ... 429 11.1 ... »Normale« Views ... 429 11.2 ... Einsatzbereiche von Views ... 440 11.3 ... Wer sollte Views verwenden? ... 445 11.4 ... Materialized View ... 447 12. Tabellen erstellen ... 463 12.1 ... Einfache Tabellen erstellen ... 463 12.2 ... Datentypen ... 480 12.3 ... Domänen ... 493 12.4 ... Annotationen und Kommentare ... 504 12.5 ... Weitere Tabellentypen ... 507 12.6 ... Erweiterung zur »aktiven Tabelle« ... 520 13. Indizes erstellen ... 527 13.1 ... Was ist ein Index? ... 528 13.2 ... Indextypen bei Oracle ... 532 13.3 ... Spezielle Indextypen ... 537 14. Aufbau einer Oracle-Datenbank ... 553 14.1 ... Wie arbeitet eine Oracle-Datenbank? ... 553 14.2 ... Datensicherheit ... 564 14.3 ... Zeichensatzcodierung ... 579 15. Anwendungsbeispiele ... 585 15.1 ... Delta-View ... 585 15.2 ... Dubletten bereinigen ... 596 15.3 ... Entscheidungstabellen ... 601 15.4 ... Entscheidungstabelle 2: »Expertensystem« ... 608 TEIL IV. Spezielle Abfragetechniken ... 613 16. Umgang mit Datum und Zeit ... 615 16.1 ... Erzeugung von Datumstypen ... 615 16.2 ... Erzeugung von Intervallen ... 622 16.3 ... Konvertierung von Zeichenketten in Datumstypen ... 626 16.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 632 16.5 ... Abfragen über die Zeit: Flashback ... 635 17. Hierarchische Abfragen ... 641 17.1 ... Das Problem ... 641 17.2 ... Lösung mit der CONNECT BY-Klausel ... 644 17.3 ... Erweiterungen der CONNECT BY-Klausel ... 651 17.4 ... Hierarchische Abfragen nach ISO-Standard ... 662 18. Arbeiten mit XML ... 675 18.1 ... XML-Instanzen mit SQL/XML erzeugen ... 678 18.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 696 18.3 ... Extraktion relationaler Daten aus XML ... 702 18.4 ... Speicherung von XML in der Datenbank ... 707 18.5 ... Der Datentyp XMLTYPE ... 716 19. JSON ... 725 19.1 ... Übersicht über JSON ... 725 19.2 ... Oracles JSON-Unterstützung ... 728 19.3 ... Abfragen gegen JSON-Instanzen ... 731 19.4 ... JSON-Funktionen und -Operatoren ... 736 19.5 ... Erzeugung von JSON aus relationalen Daten ... 742 19.6 ... Relationale Daten aus JSON extrahieren ... 752 19.7 ... JSON-Instanzen bearbeiten ... 758 19.8 ... JSON Data Guide ... 764 19.9 ... JSON-Schema ... 767 19.10 ... JSON Duality Views ... 770 20. Pivotieren von Daten ... 777 20.1 ... Pivotierung mit Gruppenfunktionen ... 778 20.2 ... Pivotierung mit der PIVOT-Klausel ... 780 20.3 ... Unpivotierung mit Gruppenfunktionen ... 787 20.4 ... Unpivotierung mit der UNPIVOT-Klausel ... 790 21. Row Pattern Matching ... 793 21.1 ... Die Grundlagen ... 793 21.2 ... Syntaktische Grundlagen ... 795 21.3 ... Erweiterungen zur Grundsyntax ... 801 21.4 ... Weitere Beispiele und Optionen ... 809 21.5 ... Zusammenfassung ... 817 22. Die MODEL-Klausel ... 819 22.1 ... Lösung des Problems mit der MODEL-Klausel ... 822 22.2 ... Partitionierung, Dimension und Messung ... 825 22.3 ... Regeln ... 828 22.4 ... Weiterführende Konzepte ... 838 22.5 ... Bewertung der MODEL-Klausel ... 846 23. SQL Property Graphen ... 849 23.1 ... Einführung in Graphen ... 849 23.2 ... Erstellen von Property-Graphen ... 851 23.3 ... SQL/PGQ ... 857 23.4 ... Beurteilung ... 863 24. Objektorientierung in der Oracle-Datenbank ... 865 24.1 ... Einführung in die Objektorientierung ... 866 24.2 ... SQL-Typen ... 873 24.3 ... Multiset-Operatoren und -Bedingungen ... 887 24.4 ... Objektorientierte Tabellen ... 890 24.5 ... Beurteilung ... 902 25. Performanzoptimierung von SQL ... 905 25.1 ... Sagen Sie der Datenbank, was Sie wollen! ... 905 25.2 ... Nutzen Sie alle verfügbaren Optionen von SQL ... 909 25.3 ... Vermeiden Sie Umgebungswechsel ... 913 25.4 ... Die Verwendung von Indizes ... 921 Datenbankmodellierung ... 933 26. Die Grundlagen der Datenmodellierung ... 935 26.1 ... Normalisierung ... 935 26.2 ... Tabellendesign ... 939 26.3 ... Primärschlüssel ... 942 26.4 ... Fremdschlüssel ... 946 26.5 ... Überlegungen zu Datentypen und zur Namenskonvention in Tabellen ... 947 26.6 ... Zusammenfassung ... 955 27. Datenmodellierung von Datum und Zeit ... 959 27.1 ... Datumsbereiche ... 959 27.2 ... Analyse gegen eine Zeitdimension ... 975 27.3 ... Historisierung und Logging ... 979 28. Speicherung hierarchischer Daten ... 995 28.1 ... Hierarchie mittels zusätzlicher Hierarchietabelle ... 995 28.2 ... Closure Table ... 999 28.3 ... Weitere Modelle ... 1003 28.4 ... Zusammenfassung ... 1004 29. Datenwarenhaus ... 1007 29.1 ... Star-Schema und Indizierung ... 1010 29.2 ... Dimensionen ... 1013 29.3 ... Arbeiten mit dem Star-Schema ... 1017 29.4 ... Analytische Views ... 1022 29.5 ... Zusammenfassung ... 1035 30. Abbildung objektorientierter Strukturen ... 1037 30.1 ... Vererbung ... 1038 30.2 ... Kollektionen ... 1043 30.3 ... Alternative Lösungsansätze ... 1044 30.4 ... Zusammenfassung ... 1046 31. Internationalisierung ... 1049 31.1 ... Oracle im multilingualen Kontext ... 1049 31.2 ... Datenmodelle zur Übersetzung von Stammdaten ... 1057 Index ... 1073
Pro RESTful APIs with Micronaut
Discover the RESTful technologies, including REST, JSON, XML, JAX-RS web services, SOAP, and more, for building today's Java-based microservices, big data applications, and web service applications using the Micronaut framework. This book is based on a course the Oracle-based author is teaching for UC Santa Cruz Silicon Valley which covers architecture, design best practices, and coding labs.This book gives you all the fundamentals from the top down: from the top (architecture) through the middle (design) to the bottom (coding). This third edition is updated with chapters on Micronaut JAX-RS and Micronaut Security, along with overall code updates to account for Micronaut 4. This book is a must have for any microservices or web services application programmer or developer building applications and services for today's enterprises.After reading and using this book, you'll be competent in using Micronaut and RESTful APIs for building today's microservices. Source code for the examples and case studies is provided.WHAT YOU WILL LEARN* Discover the key RESTful APIs, including REST, JSON, XML, JAX, SOAP, and more* Explore the Micronaut framework* Use RESTful APIs for microservices for today's modern web services and data exchanges* Harness Java, XML, JSON, REST, and JAX-RS in examples and case studies* Apply best practices to your solution architecture and moreWHO THIS BOOK IS FORExperienced Java and web programmers and developers who may be new to microservices and even cloud-native applications developmentSANJAY PATNI is a software applications and web services engineer. He develops and programs Java web applications, services, and microservices. He works with Micronaut and other frameworks as well. Sanjay is also a Technical Instructor for UC Santa Cruz in Silicon Valley. He is a former applications engineer with Oracle, Inc. He currently is located in/around the SF Bay Area.1. Fundamentals of RESTful APIs.- 2. Micronaut.- 3. Introduction to XML and JSON.- 4. API Design and Modeling.- 5. Introduction to JAX-RS.- 6. API Portfolio and Framework - Services.- 7. API Platform and Data Handler.- 8. API Management and CORS.- 9. Micronaut Security.
Blender Scripting with Python
Learn to automate tasks, develop custom extensions, and procedurally generate meshes in Blender. This book will show you how to streamline virtually every stage of the 3D modeling pipeline for your next game or animation project.Start with a hands-on introduction to the Blender Python API and dive right into basics like loading/running scripts and turning hand-modelling steps into Python by capturing them in the Info Editor. Then experiment with Blender menu options, typing them into the Python console and watch things move in the viewport. You’ll also dissect with Blender-shipped add-ons and take advantage of built-in templates to quickly create new scripts. With a firm grasp of scripting basics, you'll start to develop your own add-ons for editing and generating models. Then add more advanced mesh edits like extrude and loop cut-and-slides to your script, and essentials for shaping mesh elements like merge, bevel, and so on. Putting it altogether, you’ll create an extension to procedurally generate stylized fire hydrants with parametric controls.In addition to mesh editing, you’ll learn to develop production-quality extensions covering various stages of a 3D pipeline, such as retopology, UV mapping, texture painting, and more. Discover along the way how to implement just about any input widgets for your extension. Then package, distribute, and market your extensions through different channels, and produce impressive time-lapsed demos to showcase your procedural content generation (PCG) algorithms. Whether you are new to the Blender Python API or looking to take your add-ons to the next level, this book will support you in your journey in generating 3D content and automating your Blender workflow.WHAT YOU WILL LEARN● Develop add-ons for automating various stages of a 3D modeling pipeline● Edit meshes with the Blender Python API and procedurally generate models.● Master use of parametric controls in add-ons for mesh editing or procedural generation to govern the ranges and types of variation produced● Develop extensions complete with UI using various input methods, including drawing on meshes with the Grease Pencil.● Make time-lapsed and interactive demos of your procedural content generation algorithms.● Package, distribute, and market your Blender extensions through different channels.WHO THIS BOOK IS FORNew and seasoned users of the Blender Python API, that have either some experience with Blender or some experience with general Python development.ISABEL LUPIANI is a software engineer by day and maker by night, who enjoys handcrafting 3D models as much as procedurally generating them. She received her MS in Computer Science from Georgia Tech, and has worked at several game studios in the past as an AI engineer for PC/Xbox games. Isabel currently works as a Lead AI Engineer in the simulation industry.Chapter 1: Getting Started on Blender Scripting.- Chapter 2: Getting Started with Operators and Add-ons.- Chapter 3: Mesh Modeling Basics.- Chapter 4: Advanced Mesh Modeling.- Chapter 5: Procedurally Generating Stylized Fire Hydrants.- Chapter 6: Sculpting and Retopology.- Chapter 7: UV Mapping.- Chapter 8: Texture Painting.- Chapter 9: Showcasing and Publishing Your Add-ons and Scripts.
WordPress 6 (3. Auflg.)
Das umfassende Handbuch in aktualisierter 3. Auflage aus Februar 2025.Mit WordPress steht Ihnen ein ausgewachsenes Content-Management-System zur Verfügung, das über ein Drittel aller Websites weltweit antreibt. Mit diesem Buch bieten Ihnen die WordPress-Profis Florian Brinkmann und Simon Kraft das umfassende Rundumpaket für jedes Anwendungsszenario: Installationen lokal oder online, Administration des Backends, Erweiterung der Funktionen und Entwicklung eigener Funktionalitäten. Aktuell zu WordPress 6.7 mit allen wichtigen Infos zum Full-Site-Editing mit dem Website-Editor!WordPress von A bis Z Erstellen Sie ein Blog, eine Website oder einen Webshop Mit WordPress erstellen Sie ohne Programmierkenntnisse in wenigen Minuten eine Website mit optionalem Blog oder sogar einen Shop. In diesem Buch lernen Sie alles, was dafür erforderlich ist, angefangen bei der Planung und Konzeption über die Erweiterung mit den idealen Plugins bis zur täglichen Wartung. Out-of-the-box oder maßgeschneidert? In WordPress finden Sie für jeden Einsatzzweck ein passendes Plugin, um genau die Website aufzubauen, die Sie sich vorstellen. Und wenn nicht? Dann bauen Sie die fehlenden Funktionalitäten mit einem Plugin einfach selbst. Neben der Plugin-Entwicklung lernen Sie auch, wie Sie Themes anpassen und selbst erstellen. Dabei wird sowohl auf Classic Themes als auch auf Block-Themes eingegangen. So machen Sie Ihr Webprojekt erfolgreich Ist Ihre Website live, folgt der Feinschliff: Optimieren Sie Ihre Website für Suchmaschinen, holen Sie das Letzte aus der Performance heraus und gestalten Sie attraktiven Content. Mit Tipps für den täglichen Website-Betrieb platzieren Sie Ihre Website stabil im Internet und den Suchmaschinen-Indexes. Aus dem Inhalt: Installation in wenigen Minuten Websites einrichten Administration und Konfiguration Inhalte veröffentlichen Themes und Plugins nutzen Wartung und Pflege Performance- und Suchmaschinenoptimierung Sicherheit und Notfallmaßnahmen gegen Hacking Webshops mit WooCommerce Ihre Website im IndieWeb Entwicklung eigener Plugins und Themes Leseprobe (PDF-Link) Über die Autoren:Florian Brinkmann ist Webentwickler und langjähriges Mitglied der deutschsprachigen WordPress-Community. Er schreibt unter anderem für sein eigenes Blog (florianbrinkmann.com/blog), veröffentlicht Fachartikel auf KrautPress.de und sporadisch für t3n. Simon Kraft arbeitet seit 2008 mit WordPress. Er ist tief in der WordPress-Szene verwurzelt. Im WP Letter, seinem wöchentlichen Newsletter, hält er die wichtigsten Themen der WordPress-Welt fest.
Spring Boot 3 und Spring Framework 6
Enterprise-Anwendungen mit Java, ohne Ballast und voll auf der Höhe der Zeit? Willkommen in der Welt von Spring und Spring Boot! Christian Ullenboom zeigt Ihnen in diesem umfassenden Handbuch, was Sie über das Framework wissen sollten – zum Lernen und zum Nachschlagen. Unabhängig davon, ob Sie für die Cloud oder On Premises entwickeln, mit welcher Architektur und wie groß Ihre Projekte sind: Mit dem richtigen Know-how im Rücken sind Sie bereit für professionelle und moderne Softwareentwicklung mit Spring und Java. Aus dem Inhalt: Das erste Projekt aufsetzenSpring Core ContainerDependency Injection und Inversion of ControlTestgetriebene Entwicklung mit Spring BootCachingJava Persistency Query LanguageSpring DataRESTful WebservicesOpenAPI-DokumentationSpring SecurityMonitoringLoggingDeployment Vorwort ... 23 1. Einleitung ... 33 1.1 ... Einleitung und ein erstes Spring-Projekt ... 33 1.2 ... Dependencies und Starter eines Spring-Boot-Projekts ... 54 1.3 ... Einstieg in die Konfigurationen und das Logging ... 62 2. Container für Spring-managed Beans ... 67 2.1 ... Spring-Container ... 67 2.2 ... Design und Strukturierung einer Anwendung ... 75 2.3 ... Spring-managed Beans durch Classpath-Scanning aufnehmen ... 81 2.4 ... Interaktive Anwendungen mit der Spring Shell ... 95 2.5 ... Die Verweisspritze ... 101 2.6 ... Konfigurationsklassen und Fabrikmethoden ... 119 2.7 ... Abstraktion und Qualifizierungen ... 137 2.8 ... Lebenszyklus der Beans ... 158 2.9 ... Annotationen aus JSR 330, »Dependency Injection for Java« * ... 183 2.10 ... Autokonfiguration ... 185 2.11 ... Spring Expression Language (SpEL) ... 200 3. Ausgewählte Module des Spring Frameworks ... 207 3.1 ... Hilfsklassen im Spring Framework ... 207 3.2 ... Externe Konfiguration und das Environment ... 208 3.3 ... Am Anfang und Ende ... 258 3.4 ... Ereignisbehandlung ... 268 3.5 ... Ressourcen-Abstraktion mit Resource ... 283 3.6 ... Typkonvertierung mit ConversionService ... 288 3.7 ... Internationalisierung * ... 306 3.8 ... Testgetriebene Entwicklung mit Spring Boot ... 312 3.9 ... Scheibchen testen am Beispiel von JSON * ... 340 3.10 ... Scheduling * ... 352 3.11 ... Typen aus org.springframework.*.[lang|util] ... 356 4. Ausgewählte Proxies ... 365 4.1 ... Proxy-Pattern ... 366 4.2 ... Caching ... 372 4.3 ... Asynchrone Aufrufe ... 392 4.4 ... TaskExecutor * ... 400 4.5 ... Spring und Bean Validation ... 406 4.6 ... Spring Retry * ... 417 5. Relationale Datenbanken anbinden ... 427 5.1 ... Eine H2-Datenbank aufsetzen ... 427 5.2 ... Datenbankzugriffe mit Spring realisieren ... 436 5.3 ... Der Spring Boot Starter JDBC ... 438 5.4 ... JdbcTemplate ... 451 5.5 ... Datentypen zum Mapping auf Ergebnisse ... 457 5.6 ... NamedParameterJdbcTemplate ... 468 5.7 ... Batch-Operationen * ... 474 5.8 ... Es wird groß mit BLOB und CLOB * ... 483 5.9 ... Das Paket org.springframework.jdbc.core.simple * ... 487 5.10 ... Das Paket org.springframework.jdbc.object * ... 494 5.11 ... Transaktionen ... 497 6. Jakarta Persistence mit Spring ... 511 6.1 ... Welt der Objekte und der Datenbanken ... 511 6.2 ... Jakarta Persistence ... 517 6.3 ... Spring Data JPA ... 520 6.4 ... Die Jakarta-Persistence-Entity-Bean ... 523 6.5 ... Die Jakarta Persistence API ... 531 6.6 ... Die Jakarta Persistence Query Language (JPQL) ... 537 6.7 ... Datenbankfunktionen aufrufen und native SQL-Anfragen senden ... 560 6.8 ... Schreibender Zugriff mit dem EntityManager in Transaktionen ... 567 6.9 ... Persistence Context und weitere Transaktionssteuerungen ... 574 6.10 ... Weiterführende OR-Metadaten ... 579 6.11 ... Beziehungen zwischen Entitäten ... 600 6.12 ... FetchType: Lazy und Eager Loading ... 613 6.13 ... Cascading ... 619 6.14 ... Repositories ... 624 7. Spring Data JPA ... 635 7.1 ... Welche Aufgaben erfüllt Spring Data? ... 635 7.2 ... Spring Data Commons: CrudRepository ... 637 7.3 ... Untertypen von CrudRepository: JpaRepository etc. ... 642 7.4 ... Blättern und Sortieren mit [List]PagingAndSortingRepository ... 647 7.5 ... QueryByExampleExecutor * ... 658 7.6 ... Eigene Abfragen mit @Query formulieren ... 664 7.7 ... Stored Procedures (gespeicherte Prozeduren) * ... 675 7.8 ... Derived Query Methods ... 679 7.9 ... Die Criteria API und der JpaSpecificationExecutor ... 686 7.10 ... Alternativen zu JDBC Jakarta Persistence ... 698 7.11 ... Gutes Design mit Repositories ... 712 7.12 ... Projektionen ... 717 7.13 ... [Fetchable]FluentQuery * ... 723 7.14 ... Auditing * ... 725 7.15 ... Incremental Data Migration ... 729 7.16 ... Die Datenzugriffsschicht testen ... 736 8. Spring Data für NoSQL-Datenbanken ... 749 8.1 ... Not only SQL ... 749 8.2 ... MongoDB ... 750 8.3 ... Elasticsearch ... 764 9. Spring Web ... 777 9.1 ... Webserver ... 777 9.2 ... Dynamische Inhalte generieren ... 784 9.3 ... Spring Web MVC ... 789 9.4 ... Hot Code Swapping ... 796 9.5 ... Das Hypertext Transfer Protocol (HTTP) ... 797 9.6 ... Request Matching ... 800 9.7 ... Response senden ... 803 9.8 ... Request auswerten ... 815 9.9 ... Typkonvertierung der Parameter ... 841 9.10 ... Ausnahmebehandlung und Fehlermeldung ... 850 9.11 ... Webservices und RESTful API ... 865 9.12 ... GraphQL ... 868 9.13 ... Asynchrone Web-Requests * ... 897 9.14 ... Spring Data Web Support ... 901 9.15 ... Dokumentation einer RESTful API mit OpenAPI ... 908 9.16 ... Testen der Webschicht ... 919 9.17 ... Best Practices bei der Nutzung einer RESTful API ... 928 9.18 ... Webanwendungen mit Spring Security absichern ... 934 9.19 ... RESTful Webservices konsumieren ... 964 10. Spring AI ... 983 10.1 ... Was ist künstliche Intelligenz? ... 983 10.2 ... Ollama ... 985 10.3 ... Spring AI nutzen ... 987 10.4 ... Prompt aufbauen ... 990 10.5 ... Ausblick ... 993 11. Logging und Monitoring ... 995 11.1 ... Logging ... 995 11.2 ... Logging-Implementierung ... 996 11.3 ... Anwendungen mit dem Spring Boot Actuator überwachen ... 1004 11.4 ... Micrometer und Prometheus ... 1013 12. Build und Deployment ... 1021 12.1 ... Spring-Boot-Programme verpacken und ausführen ... 1021 12.2 ... Spring-Anwendungen im OCI-Container ... 1024 Index ... 1037
PowerShell Fast Track
Create complex scripts in PowerShell and learn how to connect them to cloud services like Azure and Azure AD. This updated version of the book will help you learn PowerShell by providing small “cheat” snippets that you can combine to write efficient and effective scripts.New to the book:* PowerShell 5 to PowerShell 7 upgrade throughout the text* New code Snippets for AWS and other technologies.* New Chapter on error reportingPowerShell Fast Track starts with the basics of PowerShell before moving on to discuss functions like date and logs, along with concepts such as inputs for your scripts. Author Vikas Sukhija then walks you through interactive input and Snapins modules, where you will learn GUI button prompts and how to import sessions. He’ll then show you how to report errors through email and log errors to a text file. Reporting CSV (Comma Separate Value) is discussed next, followed by a demonstration of miscellaneous functions, including how to connect your PowerShell scripts with Azure, SharePoint, Teams and other services. As you progress further, you’ll see how PowerShell provides powerful features for automation that can be leveragedfor managing your Teams workload. Finally, using practical examples, you will learn how to implement and create scripts for day-to-day usage.After reading this book, you will be able to hit the ground running and use PowerShell’s powerful features in your own work.WHAT YOU WILL LEARN:* Utilize code Snippets to perform practical tasks* Combine the code to create more complex scripts.* Logging and reporting* Connect to various products such as Exchange, SharePoint, Teams, and AzureADWHO THIS BOOK IS FOR:System administratorsVikas Sukhija has over a decade of IT infrastructure experience with expertise in Messaging, Collaboration & IT automations utilizing PowerShell, PowerApps , Power Automate and other tools. He is currently working as a Global Director at Golden Five Consulting in Canada. He is also a Blogger, Architect, Microsoft MVP and is known by the name TechWizard. As an experienced professional he is assisting small to large enterprises in architecting, implementing, and automating Microsoft 365 and Azure.Chapter 1. PowerShell Basics.- Chapter 2. Date & logs.- Chapter 3. Input to your scripts.- Chapter 4. Interactive Input.- Chapter 5. Adding Snap ins/ Modules.- Chapter 6. Sending Email.- Chapter 7. Error Reporting.- Chapter 8. Reporting CSV.- Chapter 9. Miscellaneous Keywords.- Chapter 10. Product Examples (Daily Use).- Appendix.
Codebasierte Post-Quanten-Kryptografie
Entdecken Sie die Zukunft der Kryptographie mit „Codebasierte Post-Quanten-Kryptografie - Goppa Codes und das McEliece Kryptosystem“. Dieses Buch bietet eine grundlegende und detaillierte Einführung in eines der sichersten Kryptosysteme unserer Zeit – das McEliece-Kryptosystem. Ursprünglich 1978 entwickelt, widersteht es den modernsten Bedrohungen durch Quantencomputer und setzt neue Maßstäbe in der Post-Quanten-Kryptografie. Mit einer umfassenden Analyse der Goppa Codes und einer verständlichen Darstellung sowohl der Theorie als auch der praktischen Implementierung, ist dieses Werk ein unverzichtbarer Begleiter für jeden, der sich für die nächste Generation der Datensicherheit interessiert. Neben tiefgehenden technischen Einblick erhält man mit dem Buch Zugriff auf eine Implementierung, die es Lesern ermöglicht, die Konzepte interaktiv zu erkunden. Ein Muss für Fachleute der IT-Sicherheit, Akademiker und jeden, der ein tiefes Verständnis für die Mechanismen quantensicherer Verschlüsselung entwickeln möchte. Einleitung. Quantencomputer und moderne Kryptografie. Goppa Codes. Das McEliece-Kryptosystem und seine Varianten. Zusammenfassung und Ausblick. FELIX PETER PAUL ist Informatiker und Mathematiker mit Abschlüssen in Pädagogik und Naturwissenschaften. Er studiert an der Johannes Gutenberg-Universität Mainz und hat sich auf Kryptographie spezialisiert. Seine aktuelle Arbeit konzentriert sich auf vollständig homomorphe Verschlüsselung und Post-Quantum-Kryptographie in Zusammenarbeit mit einem großen Technologieunternehmen, um sichere und zukunftsfähige Verschlüsselungstechnologien zu entwickeln.
Anwendungen mit GPT-4 und ChatGPT entwickeln (2. Auflg.)
Nutzen Sie die Leistungsfähigkeit von Large Language Models für wirklich innovative Anwendungen! In 2. Auflage von O'Reilly aus dem Januar 2025.Diese Einführung zeigt Python-Entwicklerinnen und -Entwicklern, wie sie Anwendungen mit Large Language Models erstellen. Olivier Caelen und Marie-Alice Blete erklären die wichtigsten Features von GPT-4 und GPT-3.5 und beschreiben, wie sie für eigene NLP-Aufgaben eingesetzt werden können. In nachvollziehbaren Schritten wird erläutert, wie Sie mithilfe der OpenAI-Python-Bibliothek Applikationen zur Textgenerierung, für das Question Answering oder für intelligente Assistenten entwickeln.Anschauliche Beispiele sowie klare und detaillierte Erklärungen unterstützen Sie dabei, die Konzepte zu verstehen und sie auf Ihre Projekte anzuwenden. Die Codebeispiele sind in einem GitHub- Repository verfügbar. Zudem enthält das Buch ein Glossar mit den wichtigsten Begriffen. Für diese 2. Auflage wurde das Buch aktualisiert und deutlich erweitert, es berücksichtigt die neuesten Entwicklungen in der KI-Technologie wie beispielsweise GPT-4o und Multimodalität.Sind Sie bereit, das Potenzial von Large Language Models in Ihren Anwendungen zu nutzen? Dann ist dieses Buch ein Muss für Sie.Es behandelt: Grundlagen und Stärken von GPT-4- und GPT-3.5-Modellen und deren Funktionsweise. Die Integration dieser Modelle in Python-basierte Anwendungen für Aufgaben im Natural Language Processing. Beispielprojekte, die den Einsatz der OpenAI-API für Aufgaben wie Texterstellung, Inhaltszusammenfassung, Dokumentenklassifikation oder Sentimentanalyse demonstrieren. Fortgeschrittene LLM-Themen wie das Prompt Engineering, das Optimieren von Modellen, RAG, Plug-ins, LangChain, LlamaIndex und KI-Assistenten. Über die Autoren:Olivier Caelen ist Machine Learning Researcher bei Worldline, einem Paytech-Pionier für nahtlose Zahlungslösungen. Er unterrichtet außerdem einen Einführungskurs für maschinelles Lernen und einen Kurs für fortgeschrittenes Deep Learning an der Université libre de Bruxelles. Er hat zwei Masterabschlüsse in Statistik und Informatik und einen Doktortitel in Machine Learning. Olivier Caelen ist Mitautor von 42 Veröffentlichungen in internationalen, von Experten begutachteten wissenschaftlichen Zeitschriften und Konferenzen und Co-Erfinder von sechs Patenten.Marie-Alice Blete arbeitet derzeit als Softwarearchitektin und Data Engineer in der Abteilung Research und Developement von Worldline. Sie predigt ihren Data-Scientist-Kolleginnen und -Kollegen Best Practices des Data Engineering und interessiert sich besonders für die Performance- und Latenzprobleme, die mit dem Einsatz von KI-Lösungen verbunden sind. Sie ist außerdem ein Developer Advocat und teilt ihr Wissen gerne mit der Community als Tech-Speakerin. Leseprobe (PDF-Link)
Concurrent Programming Interviews
Ace your software engineering job interviews by preparing yourself for the concurrent programming rounds. This book fills the gap in practical resources designated for concurrency interview prep. It simplifies complex concepts in C++ and provides example questions to help you approach your interview with confidence.Today, interviews for software engineering roles typically include several different rounds: coding, system design, behavioral, and domain knowledge. The domain knowledge round can vary based on the job description, but one extremely common focus is concurrent programming. While not intended to be a comprehensive reference, this book distills the essential interview insights drawn from author Bonan Liu’s personal experiences to stand out from the competition. Key topics include mutexes and locks, condition variables, thread abstraction, STL features, and lock-free implementations, with each concept reinforced through practical exercises like building a file handler cache and implementing read/write locks.Software interviews are more than just exams; they are hours-long conversations with real people. You'll not only develop a solid understanding of concurrency, but also learn how to best showcase your expertise to enhance your performance throughout the entire process, including general coding rounds.WHAT YOU WILL LEARN* Acquire foundational knowledge of concurrent programming in C++.* Practice relevant interview questions for each section of this knowledge.* Develop strategies for best demonstrating learned skills in the general coding round.WHO THIS BOOK IS FORSoftware engineers seeking new career opportunities, particularly SDE II, Senior SDE, and Staff SDE roles. Interviewers might also gain insight into concurrent programming to enhance the evaluation of their candidates, securing top talent.BONAN LIU is a software engineer specializing in distributed systems, cloud computing and backend development. He began his tech career after earning a Master’s degree in computer science from Columbia University, following his graduation from Sichuan University in China.Bonan's professional journey includes working alongside talented colleagues at Uber, Google, Microsoft, and Cruise, where he contributed to various large-scale, high-performance systems. He is passionate about sharing his knowledge and experience with others. Bonan served as an Adjunct Lecturer at The City University of New York from 2019 to 2020, teaching cloud computing to undergraduate students. Additionally, Bonan translated the Chinese edition of _Cracking the Coding Interview_ (6th edition), helping aspiring programmers in China achieve their career goals.Outside of his professional pursuits, Bonan is an avid runner, participating in events from 5Ks to full marathons. He lives in New York City with his wife and their two beloved cats, who bring joy and laughter to their home.1. Fundamentals of Concurrent Programming for Technical Interviews.- 2. Building Block 1: Mutexes and Locks.- 3. Building Block 2: Condition Variables.- 4. Building Block 3: More Thread Abstractions.- 5. Building Block 4: More STL features.- 6. Building Block 5: Lock-free Approach.-7. Testing, Troubleshooting and Useful Resources.- 8. Concurrent Programming in General Coding Interviews.
Machine Learning und KI kompakt
Vertiefendes Wissen von Deep Learning über Computer Vision bis Natural Language Processing Schließt die Lücke zwischen Grundlagen und Profiwissen Einfache, prägnante Erklärungen zu wichtigen und aktuellen Themen Mit Übungsaufgaben sowie Codebeispielen auf GitHub Sie verfügen bereits über Grundkenntnisse zu maschinellem Lernen und künstlicher Intelligenz, haben aber viele Fragen und wollen tiefer in wesentliche und aktuelle Konzepte eintauchen? ML- und KI-Experte Sebastian Raschka greift in diesem Buch die wichtigsten Schlüsselfragen auf und liefert sowohl prägnante als auch einfach verständliche Erklärungen zu komplexen und fortgeschrittenen Themen wie Deep Learning, Überanpassung, Self-Supervised Learning, generative KI, Computer Vision, Natural Language Processing und Modellevaluierung. Viele Beispiele, anschauliche Illustrationen und praktische Übungsaufgaben helfen Ihnen dabei, das Erlernte nicht nur schnell zu verstehen, sondern auch praktisch umzusetzen. Dabei werden weder fortgeschrittene Mathematik- noch Programmierkenntnisse vorausgesetzt – wer tiefer in den Code eintauchen will, findet jedoch im kostenlosen Zusatzmaterial einige Codebeispiele. Aus dem Inhalt: Umgang mit verschiedenen Zufallsquellen beim Training neuronaler Netze Unterscheidung zwischen Encoder- und Decoder-Architekturen in großen Sprachmodellen (LLMs) Verringerung von Überanpassung durch Daten- und Modellmodifikationen Konstruktion von Konfidenzintervallen für Klassifizierer und Optimierung von Modellen mit begrenzten gelabelten Daten Wählen zwischen verschiedenen Multi-GPU-Trainingsparadigmen und verschiedenen Arten von generativen KI-Modellen Verstehen von Performancemetriken für die Verarbeitung natürlicher Sprache