Programmierung
Programmierung in Python
Wer heute das Programmieren lernen möchte, kommt nicht daran vorbei, sich mit einer der beliebtesten Programmiersprachen für Einsteiger und Profis zu befassen: Python. Mit Python hat ihr Erfinder, Guido van Rossum, einen Nerv der Zeit getroffen, denn das Konzept dahinter bietet viele Ansätze, Lösungen und Vorgehensweise für Probleme, die andere Sprachen in dieser Form nicht integrieren. Dieses Buch ist ein idealer Einstieg in die Programmierung mit Python. Ausführlich erläutert der Autor die elementaren Grundlagen, die nötig sind, um mit dieser Sprache Programme zu erstellen und zu pflegen. Daneben zeigt er, wie sich die OOP (objektorientierte Programmierung) mit Python realisieren lässt und wie man Module und API-Schnittstellen integriert. Diverse weiterführende Themen wie die Erstellung grafischer Oberflächen oder der Zugriff auf Dateien und Datenbanken runden das Fachbuch ab. Einfache Beispiele veranschaulichen die grundsätzliche Anwendung der verschiedenenTechniken und machen das Buch dadurch zu einer unbedingten Empfehlung für Einsteiger und Praktiker, die die Programmierung mit Python lernen wollen. Der Inhalt * Grundlagen * Tools * Grundlegende Konzepte und die Syntax * Anweisungen * Datentypen, Variablen und Literale * Ausdrücke, Operatoren und Operanden * Funktionen * Sequenzielle Datenstrukturen * Objektorientierte Programmierung in Python * Exceptionhandling * String-Verarbeitung * Datei-, Datenträger- und Datenbankzugriffe * Umgang mit Datum und Zeit * Grafische Oberflächen (GUI) mit Python Die Zielgruppen * Praktiker, die Python lernen wollen * Einsteiger, die mit Python das Programmieren lernen wollen * Auszubildende zum Fachinformatiker Der Autor Ralph Steyer ist Diplom-Mathematiker und hat sich 1996 nach fünf Jahren als Programmierer bei einer Versicherung als Freiberufler im Bereich EDV-Schulung, Programmierung und Beratung selbstständig gemacht. Spezialgebiete sind die Internetprogrammierung und OOP. Er unterrichtet in Firmen und Fachhochschulen und veröffentlicht regelmäßig Zeitungsartikel, Videotrainings und Fachbücher. Wer heute das Programmieren lernen möchte, kommt nicht daran vorbei, sich mit einer der beliebtesten Programmiersprachen für Einsteiger und Profis zu befassen: Python. Mit Python hat ihr Erfinder, Guido van Rossum, einen Nerv der Zeit getroffen, denn das Konzept dahinter bietet viele Ansätze, Lösungen und Vorgehensweise für Probleme, die andere Sprachen so nicht integrieren. Das Potential dieser einfachen und übersichtlichen Programmiersprache haben auch viele Universitäten erkannt, die mittlerweile in den Anfängerkursen der Informatik-bezogenen Studiengänge Python statt Java als Einsteigersprache lehren. Der klare Programmierstil legt darüber hinaus eine hervorragende Grundlage für das spätere Erlernen weiterer Sprachen. Denn Python unterstützt nicht nur die objektorientierte und aspektorientierte, sondern auch die strukturierte und funktionale Programmierung. So wird der Programmierer nicht zu einem einzigen Programmierstil gezwungen, sondern kannflexibel das am besten geeignete Paradigma für die jeweilige Aufgabe wählen. Der universelle Zugang, der es möglich macht, die Erfahrungen aus anderen Programmierkonzepten mehr oder weniger direkt weiter zu nutzen, ist ein weiterer Grund für den Erfolg von Python. Dieses Buch ist ein idealer Einstieg in die Programmierung mit Python. Ausführlich erläutert der Autor die elementaren Grundlagen, die nötig sind, um mit dieser Sprache Programme zu erstellen und zu pflegen. Daneben zeigt er, wie sich die OOP mit Python realisieren lässt und wie man Module und API-Schnittstellen integriert. Diverse weiterführende Themen wie die Erstellung grafischer Oberflächen oder der Zugriff auf Dateien und Datenbanken runden das Fachbuch ab. Einfache Beispiele veranschaulichen die grundsätzliche Anwendung der verschiedenen Techniken und machen das Buch dadurch zu einer unbedingten Empfehlung für Einsteiger und Praktiker, die die Programmierung mit Python lernen wollen. Einleitung und Grundlagen – Bevor es richtig losgeht.- Erste Beispiele – Der Sprung ins kalte Wasser.-Built-in-Functions – Modularisierung durch Unterprogramme.- Grundlegende Begriffe – Kommentare, SheBang und Strukturanalysen.- Anweisungen – Dem Computer Befehle geben.- Datentypen, Variablen und Literale – Die Art der Information.- Ausdrücke, Operatoren und Operanden – Die Verarbeitung von Daten.- Kontrollstrukturen – Die Steuerung des Programmflusses.- Funktionen in Python – Modularisierung mit „Unterprogrammen“.- Sequenzielle Datenstrukturen – Mehrere Informationen gemeinsam verwalten.- Objektorientierte Programmierung in Python – Klassen, Objekte, Eigenschaften und Methoden.- Exceptionhandling – Ausnahmsweise.- String-Verarbeitung in Python – Programmierte Textverarbeitung.- Datei-, Datenträger- und Datenbankzugriffe – Dauerhafte Daten.- Umgang mit Datum und Zeit – Terminsachen.- Grafische Oberflächen (GUI) mit Python – tkinter & Co als GUI-Framework. Ralph Steyer ist Diplom-Mathematiker und hat sich 1996 nach fünf Jahren als Programmierer bei einer Versicherung als Freiberufler im Bereich EDV-Schulung, Programmierung und Beratung selbstständig gemacht. Spezialgebiete sind die Internetprogrammierung und OOP. Er unterrichtet in Firmen und Fachhochschulen und veröffentlicht regelmäßig Zeitungsartikel, Videotraining und Fachbücher.
Von Java zu C (2. Auflage)
Von Java zu C. 2. Auflage.Das Buch gibt eine Einführung in die Programmiersprache C und setzt dabei Kenntnisse in der Sprache Java voraus. Java wird nämlich oft als erste Programmiersprache gelehrt, während in weiterführenden Studienfächern und in der Berufspraxis auch C eine wichtige Rolle spielt. Kompakte Schnelleinstiege zu Beginn der einzelnen Kapitel ermöglichen eine rasche Orientierung über die Möglichkeiten von C im Vergleich zu Java. Die Besonderheiten von C werden dann jeweils im Detail diskutiert.Profitieren wird man daher auch, wenn man schon einmal mit C in Berührung gekommen ist und nun seine Kenntnisse vertiefen möchte. Zwei Schwerpunkte des Buchs sind die Programmierung mit Zeigern/Pointern, die es in Java so nicht gibt, und von dynamischen Datenstrukturen, die Java durch vordefinierte Klassen bereitstellt. Zudem werden einfache und strukturierte Datentypen, Kontrollstrukturen, Funktionen, Ein-/Ausgabe und die C-Standardbibliothek behandelt. Viele Programmbeispiele zeigen die Anwendung der Konzepte. Anhand von Übungsaufgaben kann man sein neu erworbenes Wissen praktisch ausprobieren.Aus dem Inhalt:Struktur und Übersetzung von C-ProgrammenKontrollstrukturenDatenorganisationZeigerFunktionenEin-/Ausgabe und DateizugriffeDynamische DatenstrukturenStandardbibliothekLeseprobe (PDF-Link)Prof. Dr. Carsten Vogt lehrt am Institute of Computer and Communication Technology der Technischen Hochschule Köln Betriebssysteme, Verteilte Systeme und Programmierung von Mobilgeräten.
Von Java zu C
- 2. Auflage des Klassikers „C für Java-Programmierer“ - Systematische Einführung in C mit Konzentration auf die Unterschiede von C zu Java - Schnelleinstiege für eilige Leser:innen sowie zahlreiche Beispiele und Übungen - Umfangreicher Anhang zum Nachschlagen - Mit Zusatzmaterial: die Beispielprogramme aus dem Buch, die Lösungen der Übungsaufgaben und weitere Informationen - Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten Buches Das Buch gibt eine Einführung in die Programmiersprache C und setzt dabei Kenntnisse in der Sprache Java voraus. Java wird nämlich oft als erste Programmiersprache gelehrt, während in weiterführenden Studienfächern und in der Berufspraxis auch C eine wichtige Rolle spielt. Kompakte Schnelleinstiege zu Beginn der einzelnen Kapitel ermöglichen eine rasche Orientierung über die Möglichkeiten von C im Vergleich zu Java. Die Besonderheiten von C werden dann jeweils im Detail diskutiert. Profitieren wird man daher auch, wenn man schon einmal mit C in Berührung gekommen ist und nun seine Kenntnisse vertiefen möchte. Zwei Schwerpunkte des Buchs sind die Programmierung mit Zeigern/Pointern, die es in Java so nicht gibt, und von dynamischen Datenstrukturen, die Java durch vordefinierte Klassen bereitstellt. Zudem werden einfache und strukturierte Datentypen, Kontrollstrukturen, Funktionen, Ein-/Ausgabe und die C-Standardbibliothek behandelt. Viele Programmbeispiele zeigen die Anwendung der Konzepte. Anhand von Übungsaufgaben kann man sein neu erworbenes Wissen praktisch ausprobieren. AUS DEM INHALT // - Struktur und Übersetzung von C-Programmen - Kontrollstrukturen - Datenorganisation - Zeiger - Funktionen - Ein-/Ausgabe und Dateizugriffe - Dynamische Datenstrukturen - Standardbibliothek
Mathematische Algorithmen mit Python
Tauchen Sie in die Welt der Algorithmen ein und erforschen Sie die Verbindung zwischen Programmierung und Mathematik. Dr. Veit Steinkamp löst mit Ihnen Aufgaben aus verschiedenen Bereichen und zeigt, wie Rechnungen in Code umgesetzt werden. Sie lernen die grundlegenden Programm- und Datenstrukturen Pythons kennen und erfahren, welche Module Ihnen viel Arbeit abnehmen können. Rasch programmieren Sie Algorithmen zum Lösen von Gleichungssystemen nach, automatisieren Kurvendiskussionen und berechnen Integrale. Abstrakte Zusammenhänge werden so deutlich, und ganz nebenbei verbessern Sie Ihre Python-Fähigkeiten und programmieren geschickter und gekonnter. Aus dem InhaltPython installieren und anwendenDaten- und ProgrammstrukturenModule: NumPy, SymPy, MatplotlibZahlenGleichungssystemeFolgen und ReihenFunktionenDifferenzial- und IntegralrechnungDifferenzialgleichungenAusgleichsrechnungenStatistikFraktale Geometrie Leseprobe (PDF-Link)Autor: Dr. Veit Steinkamp hat Elektrotechnik und Deutsch für das Lehramt studiert und dieses Wissen an beruflichen Schulen und Fachhochschulen weitergegeben.
Grundkurs Compilerbau
Compiler anschaulich und gründlich erklärt.Wer programmiert, nutzt Compiler! Der Compilerbau ist eine der ältesten Disziplinen der Informatik, und ohne Compiler gäbe es gar keine Programmiersprachen, Frameworks oder Anwendungen. In diesem Grundkurs aus der Reihe »Informatik verstehen« lernen Sie, wie Compiler funktionieren, und machen sich Schritt für Schritt mit dem Fundament der Programmiersprachen vertraut.Prof. Uwe Meyer bereitet Ihnen die Grundlagen und die Funktionsweise des Compilerbaus modern und zeitgemäß auf. Er führt Sie von den Begriffsdefinitionen, Paradigmen und Konzepten der Programmiersprachen bis hin zur Generierung von Assemblercode und seiner Optimierung. Übungen und Codebeispiele helfen Ihnen dabei, das Gelernte schnell in die Praxis umzusetzen und Ihr Wissen zu vertiefen.Aus dem Inhalt:Sprache und CompilerKonzepte und Paradigmen von ProgrammiersprachenLexikalische AnalyseSyntaxanalyseSemantische Analyse VariablenallokationCode generierenCode optimierenAusblick und ForschungsfragenLeseprobe (PDF-Link)
SAP Gateway und OData
Sie wollen externe Programme an Ihre SAP-Systeme anbinden? Dieses Buch zeigt Ihnen, wie Sie SAP Gateway einsetzen, um mobile Apps, SAP-Fiori-Apps, Social-Media-Auftritte oder HTML5-Anwendungen mit SAP-Systemen zu verknüpfen. Sie lernen, Gateway-Services mit dem OData-Protokoll zu entwickeln und an das Backend anzubinden. Zahlreiche Programmierbeispiele verdeutlichen, wie die Services in den verschiedenen Anwendungstypen konsumiert werden. In dieser vierten Auflage finden Sie zudem aktuelle Informationen zum ABAP RESTful Application Programming Model und zur Anbindung neuer Lösungen wie SAP Build Apps. Aus dem Inhalt: OData und RESTInstallation und KonfigurationArchitektur und SchnittstellenintegrationEntwicklungswerkzeugeServiceerstellung und -registrierungABAP RESTful Application Programming ModelSAPUI5 und SAP FioriSAP Business Application StudioMobile AnwendungsentwicklungSocial-Media-AnwendungsentwicklungAnbindung von Microsoft-AnwendungenServiceerweiterungen für SAP S/4HANAAdministration und Sicherheit Vorwort ... 19 Einleitung ... 21 Danksagung ... 25 TEIL I. Einstieg ... 29 1. Einführung in SAP Gateway ... 31 1.1 ... Moderne Geschäftsanwendungen ... 32 1.2 ... SAP Gateway für moderne Geschäftsanwendungen ... 44 1.3 ... SAP Gateway in SAP S/4HANA ... 49 1.4 ... Installation und Deployment ... 51 1.5 ... SAP Gateway im Kontext anderer relevanter SAP-Produkte ... 57 1.6 ... Zusammenfassung ... 63 2. Einführung in OData ... 65 2.1 ... OData und REST ... 65 2.2 ... Struktur eines OData-Service ... 74 2.3 ... OData-Operationen ... 83 2.4 ... OData-Abfrageoptionen ... 87 2.5 ... OData in SAP-Lösungen ... 105 2.6 ... OData-Funktionen von SAP Gateway ... 114 2.7 ... Was ist anders in OData 4.0? ... 118 2.8 ... Zusammenfassung ... 122 3. Architektur und Integration ... 123 3.1 ... Gateway-Prinzipien ... 124 3.2 ... SAP-Gateway-Architektur ... 125 3.3 ... Integration mit anderen SAP-Technologien ... 137 3.4 ... ABAP-Programmiermodell für SAP Fiori ... 141 3.5 ... ABAP RESTful Application Programming Model ... 150 3.6 ... Zusammenfassung ... 159 4. Deployment-Optionen, Installation und Konfiguration ... 161 4.1 ... Einführung in das Deployment von SAP Gateway ... 161 4.2 ... Vorbereitung für Installation und Konfiguration ... 174 4.3 ... Schnellstartanleitung ... 176 4.4 ... Installation und Konfiguration im Detail ... 184 4.5 ... Zusammenfassung ... 197 TEIL II. Serviceerstellung ... 199 5. Einführung in die Erstellung von OData-Services mit SAP Gateway ... 201 5.1 ... Serviceerstellung -- Möglichkeiten ... 202 5.2 ... Prozess der Serviceerstellung ... 206 5.3 ... SAP Gateway -- Entwicklungswerkzeuge ... 210 5.4 ... Serviceerstellung -- Schritt für Schritt ... 221 5.5 ... OData-Channel ... 245 5.6 ... Zusammenfassung ... 251 6. Serviceentwicklung ... 253 6.1 ... Definition des Datenmodells ... 254 6.2 ... Serviceregistrierung im SAP-Backend-System ... 284 6.3 ... Service-Stub-Erzeugung ... 290 6.4 ... Serviceverwaltung ... 292 6.5 ... Iterative Serviceimplementierung und Modellerweiterung ... 297 6.6 ... Zusammenfassung ... 374 7. Servicegenerierung ... 377 7.1 ... Generierung auf Basis einer RFC-/BOR-Schnittstelle ... 380 7.2 ... Generierung über Suchhilfen ... 417 7.3 ... Generierung über Redefinition ... 419 7.4 ... Generierung auf Basis einer analytischen Query ... 428 7.5 ... Zusammenfassung ... 440 8. ABAP-Programmiermodell für SAP Fiori ... 441 8.1 ... Entwicklung von CDS Views ... 443 8.2 ... Modellierte Datenquellen ... 450 8.3 ... Referenzierte Datenquellen ... 456 8.4 ... OData-Services annotieren ... 461 8.5 ... ABAP-Programmiermodell für SAP Fiori mit klassischen Schnittstellen ... 465 8.6 ... ABAP-Programmiermodell für SAP Fiori mit BOPF ... 475 8.7 ... Zusammenfassung ... 489 9. ABAP RESTful Application Programming Model ... 491 9.1 ... Datenmodellierung ... 494 9.2 ... Business-Service-Provisionierung ... 506 9.3 ... Servicekonsumierung ... 519 9.4 ... Transaktionales Verhalten ... 523 9.5 ... Eine App mithilfe der ADT generieren ... 544 9.6 ... Entity Manipulation Language ... 549 9.7 ... Business-Objekt-Merkmale ... 554 9.8 ... Zusammenfassung ... 559 TEIL III. Anwendungsentwicklung ... 561 10. SAPUI5-Applikationsentwicklung ... 563 10.1 ... Entwicklung von Webapplikationen ... 564 10.2 ... Einführung in SAP Fiori und SAPUI5 ... 565 10.3 ... Erstellung einer SAPUI5-Anwendung ... 571 10.4 ... Zusammenfassung ... 574 11. SAP Business Application Studio ... 575 11.1 ... SAP Business Application Studio einrichten ... 576 11.2 ... Verbindung mit SAP Gateway einrichten ... 580 11.3 ... SAP Business Application Studio Dev Space erstellen ... 583 11.4 ... OData-Beispielservices ... 587 11.5 ... SAPUI5-Anwendungsentwicklung ... 589 11.6 ... Zusammenfassung ... 604 12. Erweiterbarkeit ... 605 12.1 ... Redefinition und Erweiterung von SAP Gateway OData-Services ... 606 12.2 ... Erweitern von OData-Services in SAP S/4HANA und SAP S/4HANA Cloud Public und Private Edition ... 637 12.3 ... Erweitern von SAP-Fiori-Apps mit SAPUI5-Flexibilität ... 660 12.4 ... Zusammenfassung ... 666 13. Entwicklung mobiler Apps ... 669 13.1 ... Übersicht über Entwicklungsansätze ... 671 13.2 ... SAP Mobile Development Kit (SAP MDK) ... 672 13.3 ... Native mobile Applikationen ... 690 13.4 ... Zusammenfassung ... 707 14. Social-Media-Applikationsentwicklung ... 709 14.1 ... PHP ... 710 14.2 ... Facebook/Meta ... 715 14.3 ... X ... 723 14.4 ... Sina Weibo ... 728 14.5 ... Zusammenfassung ... 738 15. Entwicklung von Unternehmensanwendungen ... 739 15.1 ... Microsoft Excel ... 740 15.2 ... Microsoft SharePoint/Office 365 ... 749 15.3 ... Microsoft Visual C# Windows Desktop ... 757 15.4 ... Microsoft Active Server Pages .NET ... 762 15.5 ... Zusammenfassung ... 762 16. Lifecycle Management: Qualitätssicherung, Service-Deployment und Operations ... 765 16.1 ... Testen ... 766 16.2 ... Service-Deployment ... 775 16.3 ... Operations ... 786 16.4 ... DevOps und Entwicklung mit SAP Gateway ... 795 16.5 ... Zusammenfassung ... 797 17. Sicherheit ... 799 17.1 ... Sicherheit von Netzwerk und Kommunikation ... 799 17.2 ... Benutzerverwaltung und Berechtigungen ... 810 17.3 ... Single Sign-on und Authentifizierungsmechanismen ... 812 17.4 ... Empfohlene Authentifizierungsmechanismen ... 822 17.5 ... Zusammenfassung ... 840 Anhang ... 841 A ... Weiterführende Konzepte ... 841 Die Autoren ... 865 Index ... 869
Einführung in die moderne Assembler-Programmierung
Einführung in die moderne Assembler-Programmierung. RISC-V spielerisch und fundiert lernen.Wir nutzen dabei den offenen Prozessor-Standard RISC-V, der auch gezielt für Forschung und Lehre entwickelt wurde. Das macht die Sache für alle einfacher, denn der Kern-Befehlssatz, den wir hier vorstellen, umfasst weniger als 50 Instruktionen. Noch besser: Wer RISC-V lernt, lernt fürs Leben, denn der Befehlssatz ist »eingefroren« und ändert sich nicht mehr.Leseprobe (PDF-Link)Über den Autor:Scot W. Stevenson programmiert seit den Tagen von Acht-Bit-Prozessoren, wie dem 6502 in Assembler. Vom Bytegeschiebe konnten ihn weder sein Medizinstudium, ein Graduiertenkolleg Journalismus, mehr als zwei Jahrzehnte als Nachrichtenredakteur noch ein Blog über die USA abbringen. Er behauptet trotzdem, jederzeit damit aufhören zu können.Für alle, die speziell RISC-V-Assembler-Programmierung lernen wollen, gehen wir im Mittelteil den Aufbau des Prozessors durch, wobei der Schwerpunkt auf der Software liegt. Wir stellen die einzelnen Befehle vor, warnen vor Fallstricken und verraten Tricks. Die Schwachstellen des Standards werden beleuchtet und der Einsatz von KI als Hilfsmittel besprochen. Als offener, freier Standard wird RISC-V auch zunehmend für Hobby- und Studentenprojekte eingesetzt, wo der Compiler nur schlecht oder gar nicht an die Hardware angepasst ist, falls es überhaupt einen gibt.Der letzte Teil zeigt, dass dieses Buch auch aus schierer Begeisterung für Assembler heraus entstand. Wer sich diebisch über jedes eingesparte Byte freut, wird es lieben.
Machine Learning - kurz & gut
Der kompakte Schnelleinstieg in Machine Learning und Deep Learning - Die 3. Auflage des Bestsellers wurde ergänzt durch Kapitel zu Large Language Models wie ChatGPT und zu MLOps - Anhand konkreter Datensätze lernst du einen typischen Workflow kennen: vom Datenimport über Datenbereinigung, Datenanalyse bis hin zur Datenvisualisierung - Nicht nur für zukünftige Data Scientists und ML-Profis geeignet, sondern durch seine durchdachte Didaktik auch für Interessierte, die nur am Rande mit ML zu tun haben, wie z.B. Softwareentwickler*innen Machine Learning beeinflusst heute beinahe alle Bereiche der Technik und der Gesellschaft. Dieses Buch bietet Interessierten, die einen technischen Hintergrund haben, die schnellstmögliche Einführung in das umfangreiche Themengebiet des maschinellen Lernens und der statistischen Datenanalyse. Dabei werden folgende Themen behandelt und mit praktischen Beispielen veranschaulicht: - Datenvorbereitung, Feature-Auswahl, Modellvalidierung - Supervised und Unsupervised Learning - Neuronale Netze und Deep Learning - Reinforcement Learning - LLMs – moderne Sprachmodelle - MLOps – Machine Learning für die Praxis Anhand von Beispieldatensätzen lernst du einen typischen Workflow kennen: vom Datenimport über Datenbereinigung, Datenanalyse bis hin zur Datenvisualisierung. Mit den Codebeispielen kannst du in Jupyter Notebooks experimentieren. Sie basieren auf Python und den Bibliotheken Scikit-Learn, Pandas, NumPy, TensorFlow und Keras. Nach der Lektüre dieses Buchs hast du einen Überblick über das gesamte Thema und kannst Ansätze einordnen und bewerten. Das Buch vermittelt dir eine solide Grundlage, um erste eigene Machine-Learning-Modelle zu trainieren und vertiefende Literatur zu verstehen.
Generative Artificial Intelligence
This book explains the field of Generative Artificial Intelligence (AI), focusing on its potential and applications, and aims to provide you with an understanding of the underlying principles, techniques, and practical use cases of Generative AI models.The book begins with an introduction to the foundations of Generative AI, including an overview of the field, its evolution, and its significance in today’s AI landscape. It focuses on generative visual models, exploring the exciting field of transforming text into images and videos. A chapter covering text-to-video generation provides insights into synthesizing videos from textual descriptions, opening up new possibilities for creative content generation. A chapter covers generative audio models and prompt-to-audio synthesis using Text-to-Speech (TTS) techniques. Then the book switch gears to dive into generative text models, exploring the concepts of Large Language Models (LLMs), natural language generation (NLG), fine-tuning, prompt tuning, and reinforcement learning. The book explores techniques for fixing LLMs and making them grounded and indestructible, along with practical applications in enterprise-grade applications such as question answering, summarization, and knowledge-based generation.By the end of this book, you will understand Generative text, and audio and visual models, and have the knowledge and tools necessary to harness the creative and transformative capabilities of Generative AI.WHAT YOU WILL LEARN* What is Generative Artificial Intelligence?* What are text-to-image synthesis techniques and conditional image generation?* What is prompt-to-audio synthesis using Text-to-Speech (TTS) techniques?* What are text-to-video models and how do you tune them?* What are large language models, and how do you tune them?WHO THIS BOOK IS FORThose with intermediate to advanced technical knowledge in artificial intelligence and machine learningSHIVAM SOLANKI is an accomplished Senior Advisory Data Scientist leading the AI team for a worldwide partner ecosystem to solve challenging problems using Artificial Intelligence (AI). Shivam holds a master’s degree from Texas A&M University with major coursework in Applied Statistics. Throughout his career, he has delved into various AI fields, including Machine Learning, Deep Learning, and Natural Language Processing (NLP). His expertise extends to Generative AI, where his practical experience and in-depth knowledge empower him to navigate its intricacies. As a researcher in Artificial Intelligence, Shivam has filed two patents for Machine Learning and Natural Language Processing (NLP), co-authored a book on Deep Learning, and published a paper in Generative AI.DRUPAD KHUBLANI is a skilled Senior Data Scientist and part of the revenue management team in a real estate company. His leadership in partnering with teams across marketing, call center operations, product management, customer experience, and operations has cultivated a wealth of experience, empowering him to extract actionable insights and co-create innovative solutions Drupad completed his graduate and postgraduate studies from the Indian Institute of Technology (Indian School of Mines) and Texas A&M University. Collaborating with Dr. Jean-Francois Chamberland on the development of technology to identify obstacles and gauge distances using only a monocular camera highlights Drupad's inventive approach and dedication to real-world applications, alongside his accomplishments in both the commercial and academic arenas.Chapter 1: Introduction to Generative AI.- Chapter 2: Text-to-Image Generation.- Chapter 3: From Script to Screen: Unveiling Text-to-Video Generation .- Chapter 4: Bridging Text and Audio in Generative AI.- Chapter 5: Introduction to Language Models (LLMs).- Chapter 6: Generative LLMs.- Chapter 7: Advanced Techniques for LLMs.- Chapter 8: Building Demo Applications using LLMs.- Chapter 9: Enterprise-Grade Apps using LLMs.
Deep Reinforcement Learning with Python
Gain a theoretical understanding to the most popular libraries in deep reinforcement learning (deep RL). This new edition focuses on the latest advances in deep RL using a learn-by-coding approach, allowing readers to assimilate and replicate the latest research in this field.New agent environments ranging from games, and robotics to finance are explained to help you try different ways to apply reinforcement learning. A chapter on multi-agent reinforcement learning covers how multiple agents compete, while another chapter focuses on the widely used deep RL algorithm, proximal policy optimization (PPO). You'll see how reinforcement learning with human feedback (RLHF) has been used by chatbots, built using Large Language Models, e.g. ChatGPT to improve conversational capabilities.You'll also review the steps for using the code on multiple cloud systems and deploying models on platforms such as Hugging Face Hub. The code is in Jupyter Notebook, which canbe run on Google Colab, and other similar deep learning cloud platforms, allowing you to tailor the code to your own needs.Whether it’s for applications in gaming, robotics, or Generative AI, Deep Reinforcement Learning with Python will help keep you ahead of the curve.WHAT YOU'LL LEARN* Explore Python-based RL libraries, including StableBaselines3 and CleanRL * Work with diverse RL environments like Gymnasium, Pybullet, and Unity ML* Understand instruction finetuning of Large Language Models using RLHF and PPO* Study training and optimization techniques using HuggingFace, Weights and Biases, and Optuna WHO THIS BOOK IS FORSoftware engineers and machine learning developers eager to sharpen their understanding of deep RL and acquire practical skills in implementing RL algorithms fromscratch.Nimish is a seasoned entrepreneur and an angel investor, with a rich portfolio of tech ventures in SaaS Software and Automation with AI across India, the US and Singapore. He has over 30 years of work experience. Nimish ventured into entrepreneurship in 2006 after holding leadership roles at global corporations like PwC, IBM, and Oracle.Nimish holds an MBA from Indian Institute of Management, Ahmedabad, India (IIMA), and a Bachelor of Technology in Electrical Engineering from Indian Institute of Technology, Kanpur, India (IITK).Chapter 1: Introduction to Reinforcement Learning.- Chapter 2: The Foundation – Markov Decision Processes.- Chapter 3: Model Based Approaches.- Chapter 4: Model Free Approaches.- Chapter 5: Function Approximation and Deep Reinforcement Learning.- Chapter 6: Deep Q-Learning (DQN).- Chapter 7: Improvements to DQN.- Chapter 8: Policy Gradient Algorithms.- Chapter 9: Combining Policy Gradient and Q-Learning.- Chapter 10: Integrated Planning and Learning.- Chapter 11: Proximal Policy Optimization (PPO) and RLHF.- Chapter 12: Introduction to Multi Agent RL (MARL).- Chapter 13: Additional Topics and Recent Advances.
Pro Spring Boot 3
This book will teach you how to build complex Spring applications and microservices out of the box, with minimal concern over things like configurations. Pro Spring Boot 3 will show you how to fully leverage Spring Boot 3's robust features and how to apply them to create enterprise-ready applications, microservices, and web/cloud applications that just work.Special focus is given to what's been added in the new Spring Boot 3 release, including support for Java 17 and 19; changes to Spring Security; Spring Boot Actuator with Micrometer updates; GraalVM support; RSocket service interfaces; many dependency upgrades; more flexible support for Spring Data JDBC, the new AOT (Ahead-of-Time Transformation); and much more.This book is your authoritative, pragmatic guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It's a no-nonsense reference packed with casestudies that increase in complexity over the course of the book. The author, a senior solutions architect and Principal Technical instructor with VMware, the company behind the Spring Framework, shares his experience, insights, and firsthand knowledge about how Spring Boot technology works and best practices for getting the most out of it.This is an essential book for your Spring learning and reference library.WHAT YOU WILL LEARN* Build web/cloud, microservices, and enterprise applications with the Spring Boot 3 framework* Persist data with JDBC, JPA, and NoSQL databases* Message with JMS, RabbitMQ, WebSockets, and RSocket* Gain a review of Spring Cloud projects* Extend Spring Boot by creating your own Spring Boot Starter and @Enable feature* Test and deploy with Spring Boot with best practices* Understand the new AOT (Ahead-Of-Time Transformations) and the GraalVM support to go native* Use the latest version of Spring SecurityWHO THIS BOOK IS FORExperienced Spring and Java developers seeking increased productivity gains and decreased complexity and development time in their applications and software services.FELIPE GUTIERREZ is a solutions software architect with bachelor’s and master’s degrees in computer science from Instituto Tecnologico y de Estudios Superiores de Monterrey Campus Ciudad de Mexico. Felipe has over 25 years of IT experience and has developed programs for companies in multiple vertical industries, such as government, retail, healthcare, education, and banking. He is currently working as Staff Engineer for VMware, specializing in content development for Tanzu Learning and the new Spring Academy learning site, Spring Framework, Spring Cloud Native Applications, Groovy, and RabbitMQ, among other technologies. He has also worked as a solutions architect for big companies like Nokia, Apple, Redbox, IBM, and Qualcomm. He is the author of Spring Boot Messaging (Apress, 2017) and Spring Cloud Data Flow (Apress, 2020).1. Spring Boot - Quick Start.- 2. Spring Boot - Internals.- 3. Spring Boot - Web Development.- 4. Spring Boot – SQL Data Access.- 5. Spring Data with Spring Boot.- 6. Spring Data NoSQL with Spring Boot.-7. Spring Boot Reactive.- 8. Spring Boot Testing.- 9. Spring Boot Security.- 10. Messaging with Spring Boot.-11. Spring Boot Actuator.- 12. Spring Boot Native and AOT.- 13. Spring Cloud with Spring Boot.- 14. Extending Spring Boot.- 15. Spring Boot New Projects.- Appendix A. Spring Boot Migration.- Appendix B. Spring Boot GraphQL.
Beginning Mathematica and Wolfram for Data Science
Enhance your data science programming and analysis with the Wolfram programming language and Mathematica, an applied mathematical tools suite. This second edition introduces the latest LLM Wolfram capabilities, delves into the exploration of data types in Mathematica, covers key programming concepts, and includes code performance and debugging techniques for code optimization.You’ll gain a deeper understanding of data science from a theoretical and practical perspective using Mathematica and the Wolfram Language. Learning this language makes your data science code better because it is very intuitive and comes with pre-existing functions that can provide a welcoming experience for those who use other programming languages. Existing topics have been reorganized for better context and to accommodate the introduction of Notebook styles. The book also incorporates new functionalities in code versions 13 and 14 for imported and exported data.You’ll see how to use Mathematica, where data management and mathematical computations are needed. Along the way, you’ll appreciate how Mathematica provides an entirely integrated platform: its symbolic and numerical calculation result in a mized syntax, allowing it to carry out various processes without superfluous lines of code. You’ll learn to use its notebooks as a standard format, which also serves to create detailed reports of the processes carried out.WHAT YOU WILL LEARN* Create datasets, work with data frames, and create tables* Import, export, analyze, and visualize data* Work with the Wolfram data repository* Build reports on the analysis* Use Mathematica for machine learning, with different algorithms, including linear, multiple, and logistic regression; decision trees; and data clusteringWHO THIS BOOK IS FORData scientists who are new to using Wolfram and Mathematica as a programming language or tool. Programmers should have some prior programming experience, but can be new to the Wolfram language.JALIL VILLALOBOS ALVA is a Wolfram language programmer and Mathematica user. He graduated with a degree in engineering physics from the Universidad Iberoamericana in Mexico City. His research background comprises quantum physics, bionformatics, proteomics, and protein design. His academic interests cover the topics of quantum technology, bioinformatics, machine learning, artificial intelligence, stochastic processes, and space engineering. During his idle hours he likes to play soccer, swim, and listen to music.1. Introduction to Mathematica.- 2. Data Manipulation.- 3. Working with Data and Datasets.- 4. Import and Export.- 5. Data Visualization.- 6. Statistical Data Analysis.- 7. Data Exploration.- 8. Machine Learning with the Wolfram Language.- 9. Neural Networks with the Wolfram Language.- 10. Neural Network Framework.
SAP Integration Suite
Verbinden und automatisieren Sie Ihre Geschäftsanwendungen mit der SAP Integration Suite. Lernen Sie die Funktionen der Plattform kennen und finden Sie heraus, wie Sie damit eine integrierte Unternehmenslandschaft verwalten. Sie nutzen noch SAP PO oder PI? Die Experten zeigen Ihnen, wie Sie Ihre Schnittstellen migrieren und für den Einsatz in der SAP Integration Suite optimieren. Aus dem Inhalt: Plug-and-Play-IntegrationCloud IntegrationB2B- und DrittanbieterintegrationIntegration AdvisorTrading Partner ManagementAPI ManagementOpen ConnectorsSAP Event Mesh und Advanced Event MeshIntegration AssessmentEdge Integration CellCloud ConnectorPO/PI-Migration Einleitung ... 13 1. Einführung ... 19 1.1 ... Was ist Integration? ... 19 1.2 ... Konzept der Enterprise Application Integration ... 22 1.3 ... Integrationsmuster ... 24 1.4 ... SAP Integration Suite im Rahmen aktueller Trends ... 28 1.5 ... Historische Entwicklung der SAP-Integrationsplattformen ... 30 2. SAP Business Technology Platform ... 33 2.1 ... Funktionen und Lizenzierung ... 34 2.2 ... Laufzeitumgebungen ... 36 2.3 ... Grundkonfiguration eines Tenants ... 37 2.4 ... Verwaltung des SAP-BTP-Accounts ... 40 2.5 ... Services und Instanzen ... 46 2.6 ... Destinationen ... 56 2.7 ... Zusammenfassung ... 57 3. SAP Integration Suite auf einen Blick ... 59 3.1 ... Bedeutung der SAP Integration Suite ... 59 3.2 ... Architektur und Komponenten ... 60 3.3 ... Vorteile und Nachteile der SAP Integration Suite ... 69 3.4 ... Bedeutung des Apache Camel Frameworks in der SAP Integration Suite ... 70 3.5 ... SAP Integration Solution Advisory Methodology ... 73 3.6 ... Oberfläche ... 75 3.7 ... Zusammenfassung ... 97 4. Plug-and-Play-Integration ... 99 4.1 ... Vordefinierte Pakete mit dem SAP Business Accelerator Hub ... 99 4.2 ... SAP Discovery Center ... 104 4.3 ... GitHub-Integration für Best Practices und Code-Beispiele ... 109 4.4 ... Zusammenfassung ... 116 5. Cloud Integration ... 117 5.1 ... Artefakte, Integrationsobjekte und Adapter ... 117 5.2 ... Simulieren, Testen und Debuggen ... 190 5.3 ... Kundenspezifische Adapter entwickeln ... 198 5.4 ... Designrichtlinien zur Anwendung von Komponenten ... 209 5.5 ... Zusammenfassung ... 214 6. B2B- und B2G-Integration ... 215 6.1 ... Integration Advisor ... 216 6.2 ... Trading Partner Management ... 235 6.3 ... Zusammenfassung ... 250 7. Drittanbieterintegration ... 251 7.1 ... API Management ... 252 7.2 ... Open Connectors ... 287 7.3 ... Zusammenfassung ... 304 8. Enterprise Messaging ... 305 8.1 ... Eventgesteuerte Architektur ... 305 8.2 ... SAP Event Mesh ... 312 8.3 ... SAP Integration Suite, Advanced Event Mesh ... 334 8.4 ... Beispiel einer Industrie-4.0-Integration mit Event Mesh ... 336 8.5 ... Zusammenfassung ... 338 9. Cloud Connector ... 339 9.1 ... Grundlagen ... 339 9.2 ... Wichtigste Einstellungen ... 340 9.3 ... Principal Propagation ... 344 9.4 ... Zusammenfassung ... 346 10. Hybride Szenarien ... 347 10.1 ... Cloud Integration Content in SAP Process Orchestration ... 348 10.2 ... Edge Integration Cell ... 359 10.3 ... Zusammenfassung ... 373 11. Migration von SAP Process Orchestration nach SAP Integration Suite ... 375 11.1 ... Verbindung über den Cloud Connector einrichten ... 376 11.2 ... Einzelne Integrationsobjekte migrieren ... 382 11.3 ... Migration von ABAP-Proxys ... 389 11.4 ... Migration Assessment und Migration Tooling ... 396 11.5 ... Zusammenfassung ... 407 12. Praxisbeispiele ... 409 12.1 ... API für Aufträge anbieten ... 409 12.2 ... Metriken für das API Management ... 423 12.3 ... Groovy-Code-Snippets ... 426 12.4 ... Z-Feld-Erweiterung von Standardschnittstellen ... 431 12.5 ... Zusammenfassung ... 436 Anhang ... 437 A ... Glossar ... 437 B ... Abkürzungsverzeichnis ... 443 Autoren ... 445 Index ... 447
Einstieg in JavaScript
Lernen Sie Schritt für Schritt die Grundlagen der modernen JavaScript-Programmierung. Das Buch führt Sie in alle relevanten Bereiche ein: HTML und CSS, Objekte, anonyme Funktionen, Ereignisbehandlung, jQuery und Ajax. Zahlreiche anschauliche Beispielanwendungen erleichtern das Verständnis und dienen Ihnen als Vorlage für Ihre eigenen Projekte. Schon bald entwickeln Sie anspruchsvolle interaktive Programme für Ihre Website. Aus dem Inhalt: Für den EinstiegGrundlagen der ProgrammierungJavaScript-Basics: Objekte, Ereignisbehandlung, DOMJavaScript einsetzenFormulare erstellenValidierung von FormularenSchneller Datenaustausch (Ajax)CSS-Eigenschaften ändernAnimationen erstellenBrowserunabhängige Methoden verwenden (jQuery)HTML-Eigenschaften nutzenJavaScript mobilMethoden von Onsen UIWaytracking, Lage- und Beschleunigungssensoren Materialien zum Buch ... 15 1. Einführung ... 17 1.1 ... Was mache ich mit JavaScript? ... 17 1.2 ... Was kann JavaScript nicht? ... 18 1.3 ... Browser und mobile Browser ... 19 1.4 ... ECMAScript ... 19 1.5 ... Aufbau des Buchs ... 20 1.6 ... Erstes Beispiel mit HTML und CSS ... 21 1.7 ... Einige Sonderzeichen ... 28 1.8 ... JavaScript im Dokument ... 29 1.9 ... JavaScript aus externer Datei ... 31 1.10 ... Kommentare ... 32 1.11 ... Kein JavaScript möglich ... 33 2. Grundlagen der Programmierung ... 37 2.1 ... Speicherung von Werten ... 37 2.2 ... Berechnungen durchführen ... 46 2.3 ... Verschiedene Zweige eines Programms ... 53 2.4 ... Programmteile wiederholen ... 67 2.5 ... Fehler finden, Fehler vermeiden ... 80 2.6 ... Eigene Funktionen ... 89 3. Eigene Objekte ... 113 3.1 ... Objekte und Eigenschaften ... 113 3.2 ... Methoden ... 116 3.3 ... Private Member ... 118 3.4 ... Setter und Getter ... 120 3.5 ... Statische Member ... 122 3.6 ... Statische Blöcke ... 124 3.7 ... Verweis auf Nichts ... 125 3.8 ... Objekt in Objekt ... 127 3.9 ... Vererbung ... 129 3.10 ... Operationen mit Objekten ... 131 3.11 ... Objekte kopieren ... 137 4. Formulare und Ereignisse ... 141 4.1 ... Erstes Formular und erstes Ereignis ... 141 4.2 ... Senden und Zurücksetzen ... 144 4.3 ... Pflichtfelder und Kontrolle ... 149 4.4 ... Radiobuttons und Checkboxen ... 153 4.5 ... Auswahlmenüs ... 155 4.6 ... Weitere Formular-Ereignisse ... 158 4.7 ... Maus-Ereignisse ... 161 4.8 ... Wechsel des Dokuments ... 164 4.9 ... Weitere Typen und Eigenschaften ... 166 4.10 ... Dynamisch erstelltes Formular ... 183 5. Das Document Object Model (DOM) ... 187 5.1 ... Baum und Knoten ... 187 5.2 ... Knoten abrufen ... 189 5.3 ... Kindknoten ... 191 5.4 ... Knoten hinzufügen ... 193 5.5 ... Knoten ändern ... 196 5.6 ... Knoten löschen ... 200 5.7 ... Eine Tabelle erzeugen ... 201 6. Standardobjekte nutzen ... 205 6.1 ... Felder für große Datenmengen ... 205 6.2 ... Zeichenketten verarbeiten ... 234 6.3 ... Zahlen und Mathematik ... 246 6.4 ... Arbeiten mit Zeitangaben ... 257 6.5 ... Zeitliche Abläufe ... 268 6.6 ... Weitere Datenstrukturen ... 277 6.7 ... JSON ... 282 7. Änderungen mit Ajax ... 291 7.1 ... Hallo Ajax ... 291 7.2 ... Parameter senden ... 295 7.3 ... XML-Datei lesen ... 298 7.4 ... JSON-Datei lesen ... 308 8. Gestaltung mit Cascading Style Sheets (CSS) ... 313 8.1 ... Aufbau und Regeln ... 314 8.2 ... Ändern von Eigenschaften ... 321 8.3 ... Weitere Möglichkeiten ... 336 9. Zweidimensionale Grafiken und Animationen mit SVG ... 343 9.1 ... Eine SVG-Datei erstellen ... 343 9.2 ... Grundformen ... 346 9.3 ... Pfade ... 349 9.4 ... Animationen ... 354 9.5 ... Rotationen ... 358 9.6 ... SVG und JavaScript ... 360 9.7 ... Dynamische SVG-Elemente ... 361 10. Dreidimensionale Grafiken und Animationen mit Three.js ... 367 10.1 ... Eine erste 3D-Grafik ... 368 10.2 ... Verschieben der Kamera ... 373 10.3 ... Animation ... 375 10.4 ... Verschiedene Formen ... 376 11. jQuery ... 377 11.1 ... Aufbau ... 377 11.2 ... Selektoren und Methoden ... 380 11.3 ... Ereignisse ... 383 11.4 ... Animationen ... 386 11.5 ... Beispiel: sinusförmige Bewegung ... 390 11.6 ... jQuery und Ajax ... 392 12. Mobile Apps mit Onsen UI ... 397 12.1 ... Aufbau einer Seite ... 397 12.2 ... Elemente innerhalb einer Seite ... 404 13. Mathematische Ausdrücke mit MathML und MathJax ... 425 13.1 ... Grundelemente ... 425 13.2 ... Klammern und Tabellen ... 428 13.3 ... Zusammenfassende Ausdrücke ... 430 13.4 ... Brüche ... 432 13.5 ... Mathematische Zeichen ... 434 13.6 ... Dynamisch erzeugte Ausdrücke ... 436 14. Beispielprojekte ... 441 14.1 ... Geldanlage ... 441 14.2 ... Fitnesswerte ... 442 14.3 ... Volkslauf ... 443 14.4 ... Kreditkarte prüfen ... 445 14.5 ... Patience ... 445 14.6 ... Memory ... 446 14.7 ... Snake ... 447 15. Medien, Zeichnungen und Sensoren ... 449 15.1 ... Mediendateien abspielen ... 449 15.2 ... Canvas ... 455 15.3 ... Sensoren ... 464 Anhang ... 481 A ... Installation und Schlüsselwörter ... 481 Index ... 487
Python
Diese Python-Einführung konzentriert sich auf das Wesentliche: Sie erfahren, wie Sie die Sprache in eigenen Projekten einsetzen, und lernen alle Grundlagen kennen – Datenstrukturen und Typen, Programmierlogik, den Umgang mit Modulen, die Vorteile der funktionalen und objektorientierten Programmierung. So erfahren Sie praxisgerecht, wie Sie mit Python Daten verarbeiten, wiederkehrende Aufgaben automatisieren und viele andere Probleme lösen. Neu in dieser Auflage: Pair Programming mit ChatGPT und Python in Excel Aus dem Inhalt: Hello World! Python installieren und einrichtenPython lernen mit KI-UnterstützungVariablen, Datenstrukturen, Zeichenketten und OperatorenListen, Tupel, Arrays, Sets und DictionarysVerzweigungen und Schleifen, Umgang mit FehlernFunktionen und funktionale ProgrammierungObjektorientierte Programmierung: Klassen, Konstrukte, MethodenModule und Python-InternaDaten lesen, schreiben und verarbeitenPython und die SystemadministrationGrafikprogrammierung und OberflächenWissenschaftliches Arbeiten mit Python, Datenverarbeitung in Excel Vorwort ... 13 TEIL I. Python lernen ... 15 1. Hello, World! ... 17 1.1 ... Python installieren ... 17 1.2 ... »Hello, World!« in der Python-Shell ... 21 1.3 ... »Hello, World!« als eigenständiges Programm ... 24 1.4 ... Elementare Syntaxregeln ... 30 1.5 ... Wiederholungsfragen ... 36 2. Python lernen mit KI-Unterstützung ... 37 2.1 ... Mein Programm funktioniert nicht! Warum? ... 39 2.2 ... Mit welcher Funktion löse ich ein bestimmtes Problem? ... 46 2.3 ... Sprachkonzepte erklären ... 47 2.4 ... Programmieren mit ChatGPT ... 48 3. Variablen ... 55 3.1 ... Grundregeln ... 55 3.2 ... Datentypen ... 57 3.3 ... Gültigkeitsbereich von Variablen ... 58 3.4 ... Wiederholungsfragen ... 60 4. Operatoren ... 61 4.1 ... Überblick ... 61 4.2 ... Details und Sonderfälle ... 63 4.3 ... Wiederholungsfragen ... 70 5. Zahlen ... 71 5.1 ... Ganze Zahlen ... 72 5.2 ... FlieT1ss kommazahlen ... 74 5.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 76 5.4 ... Boolesche Werte ... 78 5.5 ... Wiederholungsfragen ... 79 6. Zeichenketten ... 80 6.1 ... Grundregeln ... 80 6.2 ... Zugriff auf Teilzeichenketten ... 84 6.3 ... Zeichenkettenfunktionen ... 86 6.4 ... Zeichenketten formatieren und konvertieren ... 89 6.5 ... Lokalisierung ... 94 6.6 ... Reguläre Ausdrücke ... 97 6.7 ... Wiederholungsfragen und Übungen ... 99 7. Datum und Zeit ... 100 7.1 ... Zeit ermitteln und darstellen ... 100 7.2 ... Mit Zeiten rechnen ... 105 7.3 ... Wiederholungsfragen und Übungen ... 107 8. Listen, Tupel, Sets und Dictionaries ... 108 8.1 ... Listen ... 109 8.2 ... Funktionen zur Verarbeitung von Listen ... 112 8.3 ... Tupel (Sequenzen) ... 119 8.4 ... Sets (Mengen) ... 122 8.5 ... Dictionaries ... 124 8.6 ... Arrays ... 128 8.7 ... Wiederholungsfragen und Übungen ... 130 9. Verzweigungen und Schleifen ... 131 9.1 ... »if«-Verzweigung ... 131 9.2 ... Beispiel: Schaltjahrtest ... 135 9.3 ... »for«-Schleife ... 136 9.4 ... »while«-Schleife ... 144 9.5 ... Beispiele für Schleifen ... 145 9.6 ... Pattern Matching ... 150 9.7 ... Wiederholungsfragen und Übungen ... 151 10. Funktionen ... 153 10.1 ... Eigene Funktionen definieren ... 154 10.2 ... Lokale und globale Variablen ... 158 10.3 ... Parameter ... 161 10.4 ... Rekursion ... 167 10.5 ... Lambda-Funktionen ... 169 10.6 ... Funktionale Programmierung ... 171 10.7 ... Generatoren ... 174 10.8 ... Wiederholungsfragen und Übungen ... 177 11. Umgang mit Fehlern (Exceptions) ... 180 11.1 ... Fehlerabsicherung mit »try« und »except« ... 181 11.2 ... Selbst Exceptions auslösen (»raise«) ... 187 11.3 ... Programmunterbrechungen abfangen ... 187 11.4 ... Wiederholungsfragen und Übungen ... 190 12. Objektorientierte Programmierung ... 192 12.1 ... Crashkurs ... 193 12.2 ... »Hello, Class!« ... 197 12.3 ... Klassen- und Instanzvariablen ... 201 12.4 ... Methoden ... 206 12.5 ... Operator Overloading ... 212 12.6 ... Datenklassen ... 216 12.7 ... Vererbung ... 218 12.8 ... Vererbungsbeispiel: Schachfiguren ... 220 12.9 ... Wiederholungsaufgaben und Übungen ... 226 13. Module ... 229 13.1 ... Module nutzen (»import«) ... 229 13.2 ... Modul-Interna ... 232 13.3 ... Module installieren (»pip«) ... 234 13.4 ... Eigene Module entwickeln ... 239 13.5 ... Wiederholungsfragen und Übungen ... 243 14. Interna ... 244 14.1 ... Python-Scripts ausführen ... 244 14.2 ... Interna der Variablenverwaltung ... 250 14.3 ... Garbage Collection ... 254 14.4 ... Shared References ... 256 14.5 ... Type Annotation ... 256 14.6 ... Namensräume erforschen ... 259 14.7 ... Python-Compiler ... 261 14.8 ... Systemfunktionen ... 262 14.9 ... Wiederholungsfragen ... 265 TEIL II. Python anwenden ... 267 15. Dateien lesen und schreiben ... 269 15.1 ... Verzeichnisse ... 269 15.2 ... Textdateien lesen und schreiben ... 275 15.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 279 15.4 ... Standardeingabe und Standardausgabe ... 281 15.5 ... JSON-Dateien verarbeiten ... 283 15.6 ... XML-Dateien verarbeiten ... 287 15.7 ... Wiederholungsfragen und Übungen ... 292 16. Netzwerkfunktionen ... 293 16.1 ... Download und Upload von Dateien ... 293 16.2 ... REST-APIs nutzen ... 297 16.3 ... Mails versenden ... 301 17. Systemadministration ... 305 17.1 ... Linux-Kommandos aufrufen ... 305 17.2 ... Linux-Accounts einrichten ... 308 17.3 ... MySQL/MariaDB-Datenbankzugriff ... 312 17.4 ... Mehrere gleichartige Datenbanken analysieren ... 317 18. Grafische Benutzeroberflächen ... 321 18.1 ... »Hello, Qt!« ... 322 18.2 ... Buttons platzieren und nutzen ... 324 18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 328 18.4 ... Dateiauswahl ... 333 18.5 ... Listenfelder ... 336 19. Grafikprogrammierung ... 340 19.1 ... Grafische Grundfunktionen ... 340 19.2 ... Grafik in einem Widget ... 347 19.3 ... SpaT1ss mit Sinus und Cosinus ... 350 19.4 ... Temperaturkurve zeichnen ... 357 20. Wissenschaftliche Anwendung ... 364 20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 364 20.2 ... NumPy ... 374 20.3 ... pandas ... 379 20.4 ... SciPy ... 384 20.5 ... Matplotlib ... 388 20.6 ... Python in Excel ... 396 A. Lösungen ... 405 A.1 ... Kapitel 1: »Hello, World!« ... 405 A.2 ... Kapitel 3: Variablen ... 406 A.3 ... Kapitel 4: Operatoren ... 407 A.4 ... Kapitel 5: Zahlen ... 408 A.5 ... Kapitel 6: Zeichenketten ... 409 A.6 ... Kapitel 7: Datum und Uhrzeit ... 411 A.7 ... Kapitel 8: Listen, Tupel, Sets und Dictionaries ... 413 A.8 ... Kapitel 9: Verzweigungen und Schleifen ... 417 A.9 ... Kapitel 10: Funktionen ... 421 A.10 ... Kapitel 11: Umgang mit Fehlern ... 426 A.11 ... Kapitel 12: Objektorientierte Programmierung ... 427 A.12 ... Kapitel 13: Module ... 432 A.13 ... Kapitel 14: Interna ... 433 A.14 ... Kapitel 15: Dateien lesen und schreiben ... 435 Index ... 439
Beginning Python
Gain a fundamental understanding of Python’s syntax and features with this revised introductory and practical reference. Covering a wide array of Python–related programming topics, including addressing language internals, database integration, network programming, and web services, you’ll be guided by sound development principles.Updated to reflect the latest in Python programming paradigms and several of the most crucial features found in Python 3, _Beginning Python, Fourth Edition_ also covers advanced topics such as extending Python and packaging/distributing Python applications. Ten accompanying projects will ensure you can get your hands dirty in no time.YOU WILL:* Become a proficient Python programmer by following along with a friendly, practical guide to the language’s key features* Write code faster by learning how to take advantage of advanced features such as magic methods, exceptions, and abstraction* Gain insight into modern Python programming paradigms including testing, documentation, packaging, and distribution* Work through several interesting projects, including a P2P file–sharing application, chat client, video game, remote text editor, and moreWHO THIS BOOK IS FORProgrammers, novice and otherwise, seeking a comprehensive introduction to the Python programming language.MAGNUS LIE HETLAND is an experienced Python programmer, having used the language since the late 1990s. He is also an associate professor of algorithms at the Norwegian University of Science and Technology, having taught algorithms for the better part of a decade. Hetland is the author of Practical Python and Beginning Python, first and second editions, as well as several scientific papers.FABIO NELLI is an IT Scientific Application Specialist at IRBM Science Park, a private research center in Pomezia, Roma, Italy. He has been a computer consultant for many years at IBM, EDS, Merck Sharp, and Dohme, along with several banks and insurance companies. He has an Organic Chemistry degree and many years of experience in Information technologies and Automation systems applied to Life Sciences (Tech Specialist at Beckman Coulter Italy and Spain). He is currently developing Java applications that interface Oracle databases with scientific instrumentation generating data and web server applications providing analysis of the results to researchers in real time.Ch. 1 Instant hacking : the basics.- Ch. 2 Lists and tuples.- Ch. 3 Working with strings.- Ch. 4 Dictionaries : when indices won't do.- Ch. 5 Conditionals, loops, and some other statements.- Ch. 6 Abstraction.- Ch. 7 More abstraction.- Ch. 8 Exceptions.- Ch. 9 Magic methods, properties, and iterators.- Ch. 10 Batteries included.- Ch. 11 Files and stuff.- Ch. 12 Graphical user interfaces.- Ch. 13 Database support.- Ch. 14 Network programming.- Ch. 15 Python and the Web.- Ch. 16 Testing, 1-2-3.- Ch. 17 Extending Python.- Ch. 18 Packaging your programs.- Ch. 19 Playful programming.- Ch. 20 Project 1 : instant markup.- Ch. 21 Project 2 : painting a pretty picture.- Ch. 22 Project 3 : XML for all occasions.- Ch. 23 Project 4 : in the news.- Ch. 24 Project 5 : a virtual tea party.- Ch. 25 Project 6 : remote editing with CGI.- Ch. 26 Project 7 : your own bulletin board.- Ch. 27 Project 8 : file sharing with XML-RPC.- Ch. 28 Project 9 : file sharing II - now with GUI!.- Ch. 29 Project 10 : do-it-yourself arcade game.- Appendix A: The Short Version.- Appendix B: Python Reference.
Neuronale Netze selbst programmieren (2. Auflage)
Neuronale Netze selbst programmieren. In 2., aktualisierter und erweiterter Auflage (erscheint Ende Juni)Neuronale Netze sind Schlüsselelemente des Deep Learning und der Künstlichen Intelligenz, die heute zu Erstaunlichem in der Lage sind. Dennoch verstehen nur wenige, wie Neuronale Netze tatsächlich funktionieren.Diese aktualisierte Neuauflage des Bestsellers nimmt Sie mit auf eine unterhaltsame Reise, die mit ganz einfachen Ideen beginnt und Ihnen Schritt für Schritt zeigt, wie Neuronale Netze arbeiten. Dafür brauchen Sie keine tieferen Mathematik-Kenntnisse, denn alle mathematischen Konzepte werden behutsam und mit vielen Illustrationen erläutert.Dann geht es in die Praxis: Sie programmieren Ihr eigenes Neuronales Netz mit Python und bringen ihm bei, handgeschriebene Zahlen zu erkennen, bis es eine optimale Performance erreicht. Zum Schluss erstellen Sie das Neuronale Netz mit PyTorch und lernen so eine professionelle Arbeitsumgebung kennen.Tariq Rashid hat eine besondere Fähigkeit, schwierige Konzepte verständlich zu erklären, dadurch werden Neuronale Netze für jeden Interessierten zugänglich und praktisch nachvollziehbar.Über den Autor:Tariq Rashid ist Physiker, hat einen Master in Machine Learning und Data Mining und leitet die Londoner Python-Meetup-Gruppe mit 3.000 Mitgliedern. Seine persönliche Mission ist es, spannende, aber komplexe technische Ideen besser zu vermitteln.Er hat eine besondere Gabe, schwierige Konzepte verständlich zu erklären. Dadurch werden neuronale Netze für alle technisch Interessierten zugänglich und praktisch nachvollziehbar.
Einstieg in JavaScript (5. Auflg.)
Lernen Sie Schritt für Schritt die Grundlagen der modernen JavaScript-Programmierung. Das Buch führt Sie in alle relevanten Bereiche ein: HTML und CSS, Objekte, anonyme Funktionen, Ereignisbehandlung, jQuery und Ajax. Zahlreiche anschauliche Beispielanwendungen erleichtern das Verständnis und dienen Ihnen als Vorlage für Ihre eigenen Projekte. Schon bald entwickeln Sie anspruchsvolle interaktive Programme für Ihre eigene Website.JavaScript programmieren lernen1. Sprachgrundlagen JavaScriptSchritt für Schritt lernen Sie die Grundlagen der JavaScript-Programmierung. Von der ersten einfachen Textausgabe im Browser bis zur fertigen Anwendung – alles anhand anschaulicher Beispiele aus der Praxis.2. Interaktive und mobile Anwendungen entwickelnSie erfahren, wie Sie XML- und JSON-Daten mit dem Webserver austauschen, CSS-Eigenschaften ändern, Animationen erstellen und was JavaScript auf Smartphones, Tablets und Co. alles kann.3. Viele Beispielprogramme, auch als ProjektvorlagenFeiertagsrechner, Fitnesswerte oder lieber ein Spiel wie Memory oder Snake? Wählen Sie aus über 200 Beispielprojekten aus, wie Sie in JavaScript einsteigen. Erlernen Sie schrittweise den Aufbau der Anwendungen und nutzen Sie sie als Vorlage für eigene Erweiterungen.Aus dem Inhalt:JavaScript-Basics: Sprachgrundlagen, Objekte, Ereignisbehandlung, DOMSchneller Datenaustausch (Ajax)CSS mit JavaScript erweiternHTML-Eigenschaften nutzenBrowserunabhängige Methoden verwenden (jQuery)Dynamische Grafiken erstellenJavaScript für mobile AnwendungenWaytracking, Lage- und BeschleunigungssensorenÜber den Autor:Thomas Theis ist Dipl.-Ing. Technische Informatik. Als Softwareentwickler verfügt er über langjährige Erfahrung, ebenso wie als IT-Dozent unter anderem an der Fachhochschule Aachen; er leitet Programmier-Schulungen zu JavaScript, C/C++, PHP und C# und ist Autor vieler erfolgreicher Fachbücher.Leseprobe (PDF-Link)
Software Development, Design, and Coding
Learn the principles of good software design and then turn those principles into great code. This book introduces you to software engineering — from the application of engineering principles to the development of software. You'll see how to run a software development project, examine the different phases of a project, and learn how to design and implement programs that solve specific problems. This book is also about code construction — how to write great programs and make them work.This new third edition is revamped to reflect significant changes in the software development landscape with updated design and coding examples and figures. Extreme programming takes a backseat, making way for expanded coverage of the most crucial agile methodologies today: Scrum, Lean Software Development, Kanban, and Dark Scrum. Agile principles are revised to explore further functionalities of requirement gathering. The authors venture beyond imperative and object-oriented languages, exploring the realm of scripting languages in an expanded chapter on Code Construction. The Project Management Essentials chapter has been revamped and expanded to incorporate "SoftAware Development” to discuss the crucial interpersonal nature of joint software creation.Whether you're new to programming or have written hundreds of applications, in this book you'll re-examine what you already do, and you'll investigate ways to improve. Using the Java language, you'll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of good programs.YOU WILL LEARN* Modern agile methodologies* How to work on and with development teams* How to leverage the capabilities of modern computer systems with parallel programming* How to work with design patterns to exploit application development best practices* How to use modern tools for development, collaboration, and source code controlsWHO THIS BOOK IS FOREarly career software developers, or upper-level students in software engineering coursesJOHN F. DOOLEY is the William and Marilyn Ingersoll Professor Emeritus of Computer Science at Knox College in Galesburg, Illinois. Before returning to teaching in 2001, Professor Dooley spent more than 16 years in the software industry as a developer, designer, and manager working for companies such as Bell Telephone Laboratories, McDonnell Douglas, IBM, and Motorola, along with an obligatory stint as head of development at a software startup. He has written more than two dozen professional journal and conference publications and seven books to his credit, along with numerous presentations. He has been a reviewer for the Association for Computing Machinery Special Interest Group on Computer Science Education (SIGCSE) Technical Symposium for the last 36 years and reviews papers for the IEEE Transactions on Education, the journal Cryptologia, and other professional conferences. He has created short courses in software development and three separate Software Engineering courses at the advanced undergraduate level.DR. VERA A. KAZAKOVA is a Computer Science educator and researcher, with expertise in artificial intelligence, experiential learning, and collaborative methodologies. With a PhD in AI focused on nature-inspired computation and emergent division of labor, her research spans CS Education, Evolutionary Computation, Narrative Generation, Decentralized Multi-Agent Systems, and Cyber Social Science. Dr. Kazakova also has extensive experience as a CS educator, having taught programming, artificial intelligence, research, and software development courses. Dr. Kazakova has coined the term "Soft-Aware Development" to encapsulate a holistic approach for building software, building stakeholder relationships, and building up each developer along the way. An ardent proponent of experiential learning and agile methodologies, Dr. Kazakova champions a multi-sprint learning architecture that enables students to adapt and iterate, fostering a shared environment of continuous growth. Her passion for collaboration, from simplistic autonomous agents to human developers, and members of large online communities, sets her apart as an advocate for a more interconnected, empathetic, and empowering approach to CS research, education, and software development.Chapter 1: Introduction to Software Development.- PART ONE: MODELS AND TEAM PRACTICES.- Chapter 2: Software Process Models.- Chapter 3: Project Management Essentials.- Chapter 4: Ethics and Professional Practice.- Chapter 5: Intellectual Property, Obligations, and Ownership.- Chapter 6: Requirements.- PART TWO: DESIGN PRACTICES.- Chapter 7: Software Architecture.- Chapter 8: Design Principles.- Chapter 9: Structured Design.- Chapter 10: Object-Oriented Overview.- Chapter 11: Object-Oriented Analysis and Design.- Chapter 12: Object-Oriented Design Principles.- Chapter 13: Design Patterns.- Chapter 14:Parallel Programming.- Chapter 15:Parallel; Design Patterns.- PART THREE: CODING PRACTICES.- Chapter 16: Code Construction.- Chapter 17: Debugging.- Chapter 18: Unit Testing.- Chapter 19:P Code Reviews and Inspections.- Chapter 20: Wrapping It All Up.
Clean Code Kochbuch
Clean Code Kochbuch. Rezepte für gutes Code Design und bessere Softwarequalität. In 1. Auflage (erscheint Ende Juni 2024)Code Smells erkennen und mithilfe inspirierender Rezepte beseitigenSoftware-Engineers und -Architekten, die mit großen, komplexen Code-Basen arbeiten, müssen diese skalieren und effektiv pflegen. In seinem Kochbuch geht Maximiliano Contieri über das Konzept des Clean Code hinaus: Er demonstriert, wie Sie Verbesserungsmöglichkeiten identifizieren und lernen, deren Auswirkungen auf den Produktionscode zu bewerten. Wenn es um Zuverlässigkeit und die Entwicklungsfähigkeit eines Systems geht, bieten diese Techniken Vorteile, die sich auf Dauer auszahlen werden.Anhand von Beispielen in JavaScript, PHP, Python, Java und vielen anderen Programmiersprachen bietet dieses Kochbuch bewährte Rezepte, die Sie bei der Skalierung und Wartung großer Systeme unterstützen. Jeder Teil behandelt grundlegende Konzepte wie Lesbarkeit, Kopplung, Testbarkeit, Sicherheit und Erweiterbarkeit sowie Code-Smells und Rezepte zu deren Beseitigung.Über den Autor: Maximiliano Contieri ist seit 25 Jahren in der Softwarebranche tätig und arbeitet gleichzeitig als Hochschullehrer. Im Laufe der Jahre war er ein eifriger Autor auf verschiedenen bekannten Blogging-Plattformen und veröffentlichte jede Woche mehrere Artikel zu einer Vielzahl von Themen wie Clean Code, Refactoring, Softwaredesign, testgetriebene Entwicklung und Code Smells.
Neuronale Netze selbst programmieren
Neuronale Netze und Grundlagen der Künstlichen Intelligenz verständlich dargestellt - Der Bestseller hat Furore gemacht, weil der Autor diese sowohl trockene als auch schwierige Materie außergewöhnlich klar erklärt. - Neu in der vollständig aktualisierten 2. Auflage: Das neuronale Netz wird abschließend mit PyTorch erstellt, um es in ein typisches professionelles Szenario zu überführen. - Neuronale Netze sind Grundlage vieler Anwendungen im Alltag wie Spracherkennung, Gesichtserkennung auf Fotos, das selbstfahrende Auto, Umwandlung von Sprache in Text etc. Neuronale Netze sind Schlüsselelemente des Deep Learning und der künstlichen Intelligenz, die heute zu Erstaunlichem in der Lage sind. Sie sind Grundlage vieler Anwendungen im Alltag wie beispielsweise Spracherkennung, Gesichtserkennung auf Fotos oder die Umwandlung von Sprache in Text. Dennoch verstehen nur wenige, wie neuronale Netze tatsächlich funktionieren. Dieser Bestseller, jetzt in erweiterter 2. Auflage, nimmt Sie mit auf eine unterhaltsame Reise, die mit ganz einfachen Ideen beginnt und Ihnen Schritt für Schritt zeigt, wie neuronale Netze arbeiten: - Zunächst lernen Sie die mathematischen Konzepte kennen, die den neuronalen Netzen zugrunde liegen. Dafür brauchen Sie keine tieferen Mathematikkenntnisse, denn alle mathematischen Ideen werden behutsam und mit vielen Illustrationen erläutert. Eine Kurzeinführung in die Analysis unterstützt Sie dabei. - Dann geht es in die Praxis: Nach einer Einführung in die populäre und leicht zu lernende Programmiersprache Python bauen Sie allmählich Ihr eigenes neuronales Netz mit Python auf. Sie bringen ihm bei, handgeschriebene Zahlen zu erkennen, bis es eine Performance wie ein professionell entwickeltes Netz erreicht. - Im nächsten Schritt verbessern Sie die Leistung Ihres neuronalen Netzes so weit, dass es eine Zahlenerkennung von 98 % erreicht – nur mit einfachen Ideen und simplem Code. Sie testen das Netz mit Ihrer eigenen Handschrift und werfen noch einen Blick in das mysteriöse Innere eines neuronalen Netzes. - Neu in der 2. Auflage: Sie erstellen das neuronale Netz abschließend mit PyTorch und überführen es damit in ein typisches professionelles Szenario.
Raspberry Pi programmieren mit Python (6. Auflg.)
Raspberry Pi – der Mini-Computer zum ExperimentierenDer Raspberry Pi ist ein preiswerter Computer in der Größe einer Kreditkarte. In Kombination mit der Programmiersprache Python bietet er eine hervorragende Umgebung für die schnelle Realisierung technischer Ideen und Projekte. In diesem Buch lernen Sie alle Grundlagen, die Sie brauchen, um mit dem Raspberry Pi oder dem Raspberry Pi Zero spannende Projekte zu realisieren.Zahlreiche Projekte mit Sensoren, Kamera u.v.m.Sie finden in diesem Buch eine Fülle von kleinen Projekten, die auf die besondere Hardware des Raspberry Pi und das Linux-Betriebssystem Raspberry Pi OS zugeschnitten sind. Dazu gehören sowohl Schaltungen mit Sensoren (Temperatur, Licht, Alkohol), Relais, AD-Wandlern und LEDs als auch die Verwendung des Kameramoduls und des 1-Wire- sowie SPI-Bus zur Datenkommunikation. Zahlreiche Illustrationen und einfache Beispiele zum Ausprobieren erleichtern das Verständnis.Die Programmiersprache Python als GrundlagePython ist – auch für Programmiereinsteiger – einfach zu lernen und deshalb Teil des Gesamtkonzepts des Raspberry Pi. Dieses Buch vermittelt Ihnen anhand anschaulicher Beispiele sowohl die Grundlagen von Python als auch fortgeschrittene Techniken wie Objektorientierung, Internetprogrammierung und grafische Benutzungsoberflächen. Am Ende jedes Kapitels finden Sie Aufgaben mit Lösungen zum Download, mit denen Sie Ihr Wissen festigen, erweitern und vertiefen können.Aus dem Inhalt:GerätesteuerungMesswerterfassung und -visualisierungInteraktive Spiele mit Schaltern und SensorenAnimationen und SimulationenAutomatische TextproduktionDigitale BildverarbeitungMorsezeichen senden und Signalmuster erkennenProjekte mit dem Sense HATFarben und Bewegung wahrnehmenSteuerung mit Potentiometer und AD-WandlerAuswertung von Daten aus dem InternetWebserver und Webcam Über den Autor:Michael Weigend hat an der Universität Potsdam in Informatik promoviert. Er war für mehr als 30 Jahre als Lehrer tätig und hat 20 Jahre lang an der FernUniversität Hagen Seminare zur Didaktik der Informatik gegeben. An der Universität Münster hält er im Rahmen eines Lehrauftrags Vorlesungen zur Python-Programmierung. Michael Weigend engagiert sich in mehreren nationalen und internationalen Communities für den Computer-Einsatz in der Bildung, darunter Constructionism, International Federation for Information Processing (TC 3 Computers in Education) , Bebras – International Contest on Informatics and Computational Thinking. Er hat über 60 wissenschaftliche Artikel veröffentlicht und mehrere Bücher zu den Themen Programmierung, Web Development und visuelle Modellierung geschrieben.Leseprobe (PDF-Link)
C++ (3. Auflage)
Modern C++ ist die zeitgemäße Art, in C++ zu programmieren. Dieses Standardwerk führt Sie in die Softwareentwicklung mit C++ ein. Sie lernen, wie Sie Programme mit höchsten Ansprüchen an Funktionalität, Effizienz und Sicherheit entwickeln. Torsten T. Will vermittelt Ihnen in diesem Buch ausführlich und praxisnah den Sprachkern, die objektorientierte Programmierung mit C++ sowie die Standardbibliothek. Dabei lernen Sie den aktuellen Standard und seine direkten Vorgänger kennen. Mit Best Practices für sauberen Code und zahlreichen Praxisbeispielen zum Nachprogrammieren. Alle Listings stehen zum Download bereit oder können im interaktiven Compiler-Explorer getestet und bearbeitet werden. Ein Handbuch für alle, die C++ richtig verstehen wollen.Hier lernen Sie1. C++-Grundlagen und OOPDie Sprachgrundlagen von C++ und die Konzepte der objektorientierten Programmierung werden ausführlich beschrieben. Auch C++-Einsteiger ohne Vorkenntnisse werden sich schnell zurechtfinden.2. Modern C++ – mehr als FeaturesSie lernen modernes C++ nach aktuellem Standard. Es wird erklärt, welche Sprachmittel ab welcher Version funktionieren – C++23, C++20 oder C++ 17. Wichtiger noch: Lernen Sie, wie Sie die neueren Features gewinnbringend einsetzen.3. Standardbibliothek und mehrDie Werkzeuge und Konzepte der Standardbibliothek werden umfassend behandelt. Lernen Sie zum Beispiel, die verschiedenen Container-Typen einzusetzen, mit Streams umzugehen und nebenläufige Anwendungen zu entwickeln.4. Besser CodenBesonderer Wert wird darauf gelegt, dass Sie von Anfang an guten, d. h. kompakten, sicheren und effizienten Code entwickeln. Dazu gibt es Extra-Kapitel, die jeweils bestimmte Aspekte behandeln, die für guten Code wichtig sind.Aus dem Inhalt:SprachgrundlagenFehlerbehandlungObjektorientierte ProgrammierungZeigerTemplatesContainerStandardbibliothekC++ Core GuidelinesÜber den Autor:Torsten T. Will, Jahrgang 1970, beschäftigte sich schon während seines Diploms in Informatik mit Programmiersprachen und ihren Konzepten. C++ hat ihn von Anfang an fasziniert und begleitet. Von Haskell über Java und Python zu Rust finden verschiedene Sprachen sein Interesse. Seit 2004 schreibt er im Fachmagazin c't gelegentlich über C++ und Python. Was dann noch an Zeit übrig bleibt, geht in die Fotografie.Leseprobe (PDF-Link)
Introduction to Python Network Automation Volume I - Laying the Groundwork
Welcome to _Introduction to Python Network Automation Volume I: Laying the Groundwork_. In this first part of our comprehensive guide, you'll embark on a transformative journey into the world of network automation. Whether you're new to the IT field or seeking to strengthen your existing skills, this book serves as your roadmap to mastering the foundational skills essential for success in network automation.You'll begin your exploration by delving into the fundamentals of Python network automation, laying a solid foundation for your learning journey. Equipped with essential Python skills, you'll leverage them for network administration tasks, particularly on the Windows platform. Reinforce your understanding through targeted exercises designed to enhance your proficiency and navigate the complexities of VMware Workstation as you master virtualization techniques crucial for setting up your network automation environment.You’ll then venture into Linux fundamentals, learning to set up and configure server environments tailored for network automation tasks while gaining a deep understanding of file systems and TCP/IP services in Linux. Explore the power of regular expressions as you streamline network automation tasks with precision and efficiency. Discover GNS3, a vital tool for network emulation, enabling you to test and validate network designs and put your skills to the test by tackling real-world network challenges in a comprehensive lab scenario. This book provides the essential knowledge and practical experience needed to thrive in the rapidly evolving field of network automation. Whether you're new to network automation or seeking to strengthen your existing skills, this book will unlock the vast potential of network automation and empower you to excel in this exciting field.WHAT YOU'LL LEARN* Learn Python fundamentals and effective network automation strategies.* Use Python for various network administration tasks, improving efficiency.* Understand Linux basics and IP service installation techniques.* Apply regular expressions in Python for data processing.* Create a network automation lab with VMware Workstation for hands-on practice.WHO THIS BOOK IS FORIT engineers and developers, network managers and students, who would like to learn network automation using Python.Brendan Choi is a highly accomplished Tech Lead at Secure Agility, possessing over 19 years of extensive hands-on experience in Enterprise Network Automation and diverse IT technologies. As a Certified Cisco, VMware, and Fortinet Engineer, Brendan has worked with globally renowned enterprises including Cisco Systems, Telstra, NTT (Dimension Data), Fujitsu and various reputable Enterprise IT integrators. He is dedicated to streamlining work processes and ensuring uninterrupted IT service delivery through infrastructure and business process automation. Brendan is the author of "Python Network Automation: By building an integrated virtual lab" for Acorn Publishing and has authored the 1st and 2nd editions of "Introduction to Python Network Automation: The first journey". He is currently writing “Introduction to Ansible Network Automation: KISS” for Apress and has trained over 200 Network and Systems Engineers on Python and Ansible Network Automation. Brendan's keen interest lies in Cloud, Enterprise Networking, Security, and Virtualization technologies, and he shares his knowledge, experience, and enthusiasm with the community through his blog and YouTube channel.Chapter 1: Introduction to Python Network Automation.- Chapter 2: Learning Python Fundamentals on Windows.- Chapter 3: Practicing More Python Exercises.- Chapter 4: Navigating VMware Workstation.- Chapter 5: Creating an Ubuntu Linux Server.- Chapter 6: Creating a Fedora Linux Server.- Chapter 7: Mastering File Systems in Linux.- Chapter 8: Understanding TCP/IP Services in Linux.- Chapter 9: Using Regular Expressions for Network Automation.- Chapter 10: Exploring GNS3 Essentials.- Chapter 11: Cisco IOS, Linux, TFTP, and Telnet Lab.- Chapter 12: Setting Up a Python Automation Lab.- Chapter 13: Basic Telnet Lab.-Chapter 14: SSH, Paramiko, and Netmiko Lab.- Chapter 15: Automating Tasks with Cron in Python Lab.- Chapter 16: SNMP Discovery with Python Lab.- Chapter 17: Ansible and pyATS in virtualenv Lab.- Chapter 18: Sendmail and Twilio Notifications via Docker Lab.- Chapter 19: Cisco IOS Upgrade Tools Development 1.- Chapter 20: Cisco IOS Upgrade Tools Development 2.- Chapter 21: Building a Cisco IOS Upgrade Application.- Chapter 22: Upgrading Cisco IOS Routers Lab.- Chapter 23: Installing NetBox with Python.