Programmierung
Beginning C
Learn how to program using C, beginning from first principles and progressing through step-by-step examples. This seventh edition is fully updated to reflect new features of C23, and addresses deprecated functions and features that are no longer supported.You’ll discover that C is a foundation language that every programmer ought to know. Beginning C is written by renowned author Ivor Horton and expert programmer German Gonzalez-Morris. This book increases your programming expertise by guiding you through the development of fully working C applications that use what you've learned in a practical context. Examples of how to use deprecated functions are also provided, along with new examples for replacing them when a simple solution is possible.By the end of the book you'll be confident in your skills with all facets of the widely-used and powerful C language and be able to strike out on your own by trying the exercises included at the end of each chapter. All you need are this book and any of the widely available C compilers, and you'll soon be writing real C programs.WHAT YOU WILL LEARN* Discover the C programming language* Program using C starting with first steps, then making decisions* Use loops, arrays, strings, text, pointers, functions, I/O, and more* Code applications with strings and text* Structure your programs efficiently* Work with data, files, facilities, and moreWHO THIS BOOK IS FORThose new to C programming who may or may not have some prior programming experience.GERMAN GONZALEZ-MORRIS is a software architect/engineer working with C/C++, Java, and different application containers, in particular, with WebLogic Server. He has developed different applications including JEE/Spring/Python. His areas of expertise also include OOP, design patterns, Spring Core/MVC, and microservices.IVOR HORTON is self-employed in consultancy and writes programming tutorials. He worked for IBM for many years and holds a bachelor's degree, with honors, in mathematics. Horton's experience at IBM includes programming in most languages (such as assembler and high-level languages on a variety of machines), real-time programming, and designing and implementing real-time closed-loop industrial control systems. He has extensive experience teaching programming to engineers and scientists (Fortran, PL/1, APL, etc.). Horton is an expert in mechanical, process, and electronic CAD systems; mechanical CAM systems; and DNC/CNC systems.1. Programming in C2. First Steps in Programming3. Making Decisions4. Loops5. Arrays6. Applications with Strings and Text7. Pointers8. Structuring Your Programs9. More on Functions10. Essential Input and Output Operations11. Structuring Data12. Working with Files13. Supporting Facilities14. Advanced and Specialized TopicsA. Computer ArithmeticB. ASCII Character Code DefinitionsC. Reserved Words in CD. Input and Output Format SpecificationsE. Standard Library Headers
Systemnahe Programmierung mit C und Linux
Alles zur systemnahen Anwendungsprogrammierung: von den E/A-Funktionen, dem Zugriff auf Systeminformationen über Prozesse, Signale, Interprozesskommunikation und Threads bis hin zu Netzwerkprogrammierung, Datenbanken und GUIs. Für alle, die Programme schreiben wollen und alte Software warten oder portieren müssen. Alle Beispiele sind auch auf dem Raspberry Pi ausführbar. Solide C- und Linux-Kenntnisse werden vorausgesetzt. Aus dem Inhalt: E/A-FunktionenAttribute von Dateien und VerzeichnissenZugriff auf SysteminformationenDevices – eine einfache Verbindung zur HardwareSystem- und BenutzerdateienDämonen, Zombies und ProzesseSignaleIPC – InterprozesskommunikationThreadsNetzwerkprogrammierungDatenbanken (MySQL, PostgreSQL)GUIs mit GTK+Werkzeuge für Programmierer Materialien zum Buch ... 23 1. Einführung ... 25 1.1 ... Anforderungen an den Leser ... 25 1.2 ... Anforderungen an das Betriebssystem ... 26 1.3 ... UNIX, der Vorgänger von Linux ... 27 1.4 ... Die Entwicklung von Linux ... 29 1.5 ... Der Compiler GCC -- eine kurze Einführung ... 31 1.6 ... POSIX, X/OPEN und ANSI C ... 37 1.7 ... Übersicht zu diesem Buch ... 40 1.8 ... Schreibkonventionen ... 42 1.9 ... Weitere Hilfen ... 43 2. E/A-Funktionen ... 45 2.1 ... Elementare E/A-Funktionen ... 45 2.2 ... Filedeskriptoren ... 47 2.3 ... Funktionen, die einen Filedeskriptor verwenden ... 50 2.4 ... Standard-E/A-Funktionen ... 99 2.5 ... Die Arbeit mit Verzeichnissen ... 113 2.6 ... Fehlerbehandlung ... 134 2.7 ... Ausblick ... 137 3. Attribute von Dateien und Verzeichnissen abfragen und ändern ... 139 3.1 ... Die Struktur stat ... 139 4. Zugriff auf Systeminformationen ... 157 4.1 ... Informationen aus dem /proc-Verzeichnis herausziehen ... 157 4.2 ... Hardware-/Systeminformationen ermitteln ... 160 4.3 ... Prozessinformationen auslesen ... 166 4.4 ... Kernel-Informationen in /proc ... 171 4.5 ... Verschiedene Dateisysteme unter Linux verwalten ... 180 4.6 ... Weiterführendes ... 181 5. Devices -- eine einfache Verbindung zur Hardware ... 183 5.1 ... Die Gerätedateitypen ... 183 5.2 ... Die Gerätedateinummern ... 185 5.3 ... Zugriff auf die Gerätedateien ... 186 5.4 ... Gerätenamen ... 188 5.5 ... Spezielle Gerätedateien ... 190 5.6 ... Gerätedateien in der Praxis einsetzen ... 191 6. System- und Benutzerdateien ... 227 6.1 ... Die Datei /etc/passwd ... 227 6.2 ... Die Datei /etc/shadow ... 234 6.3 ... Die Datei /etc/group ... 239 6.4 ... uname -- Informationen zum lokalen System erfragen ... 243 6.5 ... Das Verzeichnis /etc/skel und Network Information Service (NIS) ... 245 6.6 ... Dateien für Netzwerkinformationen ... 246 7. Prozesse, Dämonen und Zombies ... 247 7.1 ... Was ist ein Prozess? ... 247 7.2 ... Prozesskomponente ... 248 7.3 ... Prozesse überwachen mit ps, top und kpm ... 258 7.4 ... Der Lebenszyklus eines Prozesses ... 261 7.5 ... Umgebungsvariablen eines Prozesses ... 263 7.6 ... Ressourcenlimits eines Prozesses ... 271 7.7 ... Prozesserkennung ... 275 7.8 ... Erzeugung von neuen Prozessen mit fork() ... 277 7.9 ... Warten auf einen anderen Prozess ... 288 7.10 ... Die exec-Familie ... 296 7.11 ... Kommandoaufrufe aus dem Programm -- system() ... 302 7.12 ... Dämonprozesse ... 304 7.13 ... Mehr über die Ausführung von Prozessen ... 315 7.14 ... Zusammenfassung und Ausblick ... 330 8. Signale ... 331 8.1 ... Grundlagen zu den Signalen ... 331 8.2 ... Das neue Signalkonzept ab Kernel 2.6.18 ... 338 8.3 ... Die Signalmenge initialisieren ... 339 8.4 ... Elemente zu der Signalmenge hinzufügen oder aus ihr entfernen ... 339 8.5 ... Signale einrichten und abfragen ... 340 8.6 ... Signale an andere Prozesse senden mit kill() ... 347 8.7 ... Eine Zeitschaltuhr einrichten mit alarm() ... 348 8.8 ... Prozesse stoppen, bis ein Signal eintritt, mit pause() ... 349 8.9 ... Prozesse für eine bestimmte Zeit stoppen mit sleep() und usleep() ... 349 8.10 ... Die Signalmaske erfragen oder ändern mit sigprocmask() ... 350 8.11 ... Einen Prozess während einer Änderung der Signalmaske stoppen mit sigsuspend() ... 351 8.12 ... Prozesse synchronisieren ... 351 9. IPC -- Interprozesskommunikation ... 355 9.1 ... Unterschiedliche Interprozesskommunikations-Techniken im Überblick ... 356 9.2 ... Gründe für IPC ... 364 9.3 ... Pipes ... 365 9.4 ... System-V-Interprozesskommunikation ... 408 9.5 ... Semaphore ... 410 9.6 ... Message Queues ... 419 9.7 ... Shared Memory ... 432 10. Threads ... 443 10.1 ... Unterschiede zwischen Threads und Prozessen ... 443 10.2 ... Thread-Bibliotheken ... 444 10.3 ... Kernel- und User-Threads ... 445 10.4 ... Scheduling und Zustände von Threads ... 445 10.5 ... Die grundlegenden Funktionen der Thread-Programmierung ... 447 10.6 ... Die Attribute von Threads und das Scheduling ... 459 10.7 ... Threads synchronisieren ... 465 10.8 ... Threads abbrechen (canceln) ... 493 10.9 ... Erzeugen von threadspezifischen Daten (TSD) ... 498 10.10 ... Mit pthread_once() einen Codeabschnitt auf einmal ausführen ... 501 10.11 ... Thread-safe-Funktionen (thread-sichere Funktionen) ... 504 10.12 ... Threads und Signale ... 505 10.13 ... Zusammenfassung und Ausblick ... 510 11. Netzwerkprogrammierung ... 513 11.1 ... Einführung ... 513 11.2 ... Aufbau von Netzwerken ... 514 11.3 ... TCP/IP -- Aufbau und Struktur ... 520 11.4 ... TCP-Socket ... 524 11.5 ... Das Kommunikationsmodell der Sockets ... 525 11.6 ... Grundlegende Funktionen zum Zugriff auf die Socket-Schnittstelle ... 525 11.7 ... Aufbau eines Clientprogramms ... 535 11.8 ... Aufbau des Serverprogramms ... 540 11.9 ... IP-Adressen konvertieren, manipulieren und extrahieren ... 545 11.10 ... Namen und IP-Adressen ineinander umwandeln ... 552 11.11 ... Pufferung bei Netzwerk-Sockets ... 562 11.12 ... Standard-E/A-Funktionen verwenden ... 563 11.13 ... Parallele Server ... 565 11.14 ... Synchrones Multiplexing mit select() ... 582 11.15 ... POSIX-Threads und Netzwerkprogrammierung ... 604 11.16 ... Optionen für Sockets setzen und abfragen ... 610 11.17 ... Das UDP-Protokoll (User Datagram Protocol) ... 615 11.18 ... Unix Domain Sockets ... 624 11.19 ... Multicast-Socket ... 630 11.20 ... Nicht blockierende I/O-Sockets ... 639 11.21 ... Streams, TLI, Raw Socket und XTI ... 642 11.22 ... IPv4 und IPv6 ... 644 11.23 ... Netzwerksoftware nach IPv6 portieren ... 646 11.24 ... Sicherheit und Verschlüsselung ... 647 12. MySQL und PostgreSQL ... 649 12.1 ... Relationale Datenbanksysteme ... 649 12.2 ... Der relationale Datenbankserver ... 653 12.3 ... SQL-Server im Überblick ... 653 12.4 ... Die MySQL-Datenbank ... 654 12.5 ... Die MySQL-C-API ... 684 12.6 ... Beispiel: Ein einfaches Newssystem ... 728 12.7 ... Neue SQL-Funktionen für die Shell -- MySQL erweitern ... 759 12.8 ... MySQL-Funktionen mit der UDF-Schnittstelle entwerfen ... 760 12.9 ... PostgreSQL: Ein objektrelationales Datenbankverwaltungssystem ... 771 13. Terminal-E/A und Benutzerschnittstellen für die Konsole ... 813 13.1 ... termios ... 813 13.2 ... Terminalinformationen in terminfo ... 837 13.3 ... Halbgrafik erstellen mit ncurses ... 847 14. GTK+ ... 891 14.1 ... Was ist GTK+? ... 891 14.2 ... GTK+-Anwendungen übersetzen ... 896 14.3 ... Eine Einführung in die GLib-Bibliothek ... 897 14.4 ... Grundlagen der GTK+-Programmierung ... 923 14.5 ... Fenster anlegen mit GtkWindow ... 935 14.6 ... Anzeigeelemente ... 944 14.7 ... Behälter für Widgets ... 953 14.8 ... Buttons und Toggled-Buttons ... 967 14.9 ... Dateneingaben auswerten ... 977 14.10 ... Menüs und Toolbars erstellen ... 989 14.11 ... Mehrzeiligen Text erstellen ... 1009 14.12 ... Auswählen von Widgets (Selection) ... 1023 14.13 ... Events auswerten ... 1033 14.14 ... Weitere Widget- und GTK+-Elemente im Überblick ... 1039 15. Übersicht über weitere beliebte GUI-Bibliotheken ... 1043 15.1 ... gtkmm -- GTK+ für C++ ... 1043 15.2 ... wxWidgets ... 1047 15.3 ... FLTK ... 1051 15.4 ... Qt ... 1053 15.5 ... Die niedrige Ebene: X-Window-Programmierung ... 1056 15.6 ... Multimediabibliotheken ... 1057 16. Werkzeuge für Programmierer ... 1065 16.1 ... Der Compiler GCC ... 1065 16.2 ... make ... 1074 16.3 ... Eigene Bibliotheken erstellen ... 1091 16.4 ... RPM-Pakete ... 1101 16.5 ... RCS und CVS ... 1114 16.6 ... Laufzeitmessung von Programmen ... 1143 16.7 ... Debuggen mit GDB und DDD ... 1151 16.8 ... STRACE -- Systemaufrufe verfolgen ... 1164 16.9 ... Memory Leaks und unerlaubte Speicherzugriffe ... 1167 16.10 ... Ausblick ... 1175 Anhang ... 1177 A ... Sicherheit unter Linux ... 1179 B ... Funktionsreferenz ... 1201 C ... Linux/UNIX-Kommandoreferenz ... 1283 Index ... 1365
Systemnahe Programmierung mit C und Linux (5. Auflg.)
Das umfassende Handbuch in 5. aktualisierter Auflage aus Januar 2024.Alles zur systemnahen Programmierung unter Linux! Von E/A-Funktionen, dem Zugriff auf Systeminformationen über Prozesse, Signale und Threads bis hin zu Netzwerkprogrammierung, Datenbanken und GUIs. Entwickler*innen mit soliden Kenntnissen von Linux-Betriebssystemen und der Sprache C kommen hier voll auf ihre Kosten. Alle Beispiele sind auch auf dem Raspberry Pi ausführbar.Zum Inhalt:E/A-FunktionenDämonen, Zombies und ProzesseThreadsIPC – InterprozesskommunikationNetzwerkprogrammierungMySQL und PostgreSQLGUI-Programmierung mit GTKWerkzeuge für ProgrammiererLeseprobe (PDF-Link)Zu den Autoren:Jürgen Wolf ist Softwareentwickler und Autor aus Leidenschaft. Er programmiert seit Jahren auf Linux- und Unix-Systemen.René Krooß ist Diplom-Informatiker, begeisterter Programmierer und Experte für Prozessorstrukturen, Betriebssysteme, Hardware-Programmierung und Algorithmen.
Technische Probleme lösen mit C/C++ (6. Auflg.)
Technische Probleme lösen mit C+/C++. Von der Analyse bis zur Dokumentation. In 6., aktualisierter und erweiterter Auflage. Januar 2024. Anhand von konkreten Beispielen aus dem technisch-wissenschaftlichen und mathematischen Bereich vermittelt dieses Lehrbuch Programmier- und Dokumentationstechniken mit C/C++. Aufbauend auf einer gut verständlichen und fundierten Einführung in die Arbeit mit C/C++ geht es Schritt für Schritt zur professionellen Softwareentwicklung.Die Probleme sind nach steigendem Schwierigkeitsgrad geordnet - von einfachen Anwendungen wie der Reihung von Widerständen bis hin zu komplexen Fragestellungen aus der Schaltalgebra. Vorkenntnisse sind nicht erforderlich. Sie lösen unter anderem Probleme wie die Umrechnung von Temperatursystemen oder die Programmierung eines eigenen Funktionsplotters. Die Beispiele werden mit Microsoft Visual C++ umgesetzt, das kostenlos verfügbar ist. Auf plus.hanser-fachbuch.de finden Sie zu diesem Titel die im Buch dargestellten Codebeispiele zum Download.Für die Neuauflage wurde das gut eingeführte Lehrbuch aktualisiert und um weitere Beispiele ergänzt.Die gut verständliche Einführung und die vielen technischen Beispiele machen dieses Lehrbuch zum idealen Begleiter für Fachschüler:innen und Bachelor-Studierende. Dipl.-Math. Norbert Heiderich arbeitet als Lehrer u.a. für Programmierung am Berufskolleg des Kreises Kleve in Kleve.Dipl.-Ing. Wolfgang Meyer war Leiter des Heinz-Nixdorf-Berufskollegs. Er unterrichtete Datenverarbeitungstechnik und Programmieren. Er ist Beauftragter für Ingenieur-Studiengänge der FOM Hochschule.Leseprobe (PDF-Link)
Java Schritt für Schritt
Die Programmiersprache Java von Anfang bis Ende durchzuarbeiten und zu erlernen scheint für viele Studierende eine große Hürde zu sein. Nicht mit diesem Arbeitsbuch. Es führt Schritt für Schritt und leicht verständlich in die Programmiersprache ein. Das Buch umfasst 14 Kapitel: Einführung in Java; Variablen, Datentypen, Operatoren; Kontrollstrukturen; Felder / Arrays; Methoden; Sichtbarkeit / Gültigkeit; Objektorientierte Konzepte; Ausnahmen / Exceptions; Zeichenketten / Strings; Lineare Datenstrukturen; Datenströme / Streams; Datenbanken mit Java; Graphische Benutzeroberflächen mit Swing: Einführung; komplexere Oberflächen. Zahlreiche Übersichten und Zusammenfassungen erleichtern das Verständnis. utb+: Begleitend zum Buch steht den Leser:innen ein eLearning-Kurs für die Prüfungsvorbereitung zur Verfügung. Erhältlich über utb.de.Prof. Dr. Marcus Deininger lehrt Informatik an der Hochschule für Technik Stuttgart.Prof. Dr. Thomas Kessel lehrt Wirtschaftsinformatik an der Dualen Hochschule Baden-Württemberg in Stuttgart.VorwortInhaltsübersichtInhaltsverzeichnisSchritt 1: Einführung in JavaSchritt 2: Variablen, Datentypen, OperatorenSchritt 3: KontrollstrukturenSchritt 4: Felder / ArraysSchritt 5: MethodenSchritt 6: Sichtbarkeit / GültigkeitSchritt 7: Objektorientierte KonzepteSchritt 8: Ausnahmen / ExceptionsSchritt 9: Zeichenketten / StringsSchritt 10: Lineare DatenstrukturenSchritt 11: Datenströme / StreamsSchritt 12: Datenbanken mit JavaSchritt 13: Graphische Benutzeroberflächen mit Swing: EinführungSchritt 14: Graphische Benutzeroberflächen mit Swing: komplexere OberflächenStichwortverzeichnisSchritt 1: Einführung in Java1.1 Historie1.2 Begriffe1.3 Besonderheiten von Java1.4 Konventionen und Notationen1.5 Das erste Java-ProgrammSchritt 2: Variablen, Datentypen, Operatoren2.1 Datentypen2.2 OperatorenSchritt 3: Kontrollstrukturen3.1 Anweisungen3.2 Sequenz3.3 Auswahl3.4 Schleifen / WiederholungenSchritt 4: Felder / Arrays4.1 Werte in Arrays anordnenSchritt 5: Methoden5.1 Anweisungen in Methoden zusammenfassenSchritt 6: Sichtbarkeit / Gültigkeit6.1 Java-Komponenten6.2 Das Geheimnisprinzip und Zugriffsmodifier6.3 Qualifikation und Import6.4 Gültige und sichtbare Elemente6.5 Innere ElementeSchritt 7: Objektorientierte Konzepte7.1 Klassen und Objekte7.2 Erweiterung / Vererbung7.3 Abstrakte Klassen und Methoden7.4 Schnittstellen / Interfaces7.5 Aufzählungstypen / Enumerations7.6 Polymorphismus7.7 Best Practices der objektorientierten ProgrammierungSchritt 8: Ausnahmen / Exceptions8.1 Ausnahmen auslösen und behandelnSchritt 9: Zeichenketten / Strings9.1 Die Klassen String und StringBuilder9.2 Erzeugung von Strings9.3 Vergleich von Strings9.4 Extraktion von Zeichen oder Teilstrings9.5 Umwandeln von Strings9.6 Umwandlung von elementaren Datentypen in Strings9.7 Verarbeitung von Zeichenketten mit der Klasse StringBuilderSchritt 10: Lineare Datenstrukturen10.1 Überblick10.2 Typisierung von Collections10.3 Das Interface Collection10.4 Die Liste / List10.5 Die Menge / Set10.6 Die Schlange / Queue10.7Der Keller / Stapel / Stack10.8 Die Assoziationsliste / MapSchritt 11: Datenströme / Streams11.1 Datenquellen und -senken11.2 Daten- und Stream-Arten11.3 Lesen und Schreiben von Strömen in Java11.4 Lesen und Schreiben von Byte-Strömen11.5 Lesen und Schreiben von Textdateien11.6 Lesen und Schreiben von Java-Daten11.7 Objekte speichern und lesenSchritt 12: Datenbanken mit Java12.1 Java und Datenbanken12.2 Relationale Datenbanken und SQL12.3 Datenbankzugriff mit JDBCSchritt 13: Graphische Benutzeroberflächen mit Swing: Einführung13.1 Benutzeroberflächen13.2 Aufbau von Swing-Oberflächen13.3 Einfache Widgets13.4 Interaktion mit WidgetsSchritt 14: Graphische Benutzeroberflächen mit Swing: komplexere Oberflächen14.1 Komplexere Oberflächen14.2 Übersicht über das Anwendungsbeispiel14.3 MVC: Trennung von Oberfläche und Anwendung14.4 Weitere Widgets: Auswahllisten14.5 Layout-Manager14.6 Strukturierung der Oberfläche14.7 Weitere WidgetsStichwortverzeichnis
C Programmieren lernen für Einsteiger - In einfachen Schritten zum Programmier-Experten: Der leicht verständliche und praxisnahe Leitfaden zum professionellen Programmieren im Handumdrehen
C-Programmierung für Einsteiger: Wie Sie mit den richtigen Skills in kürzester Zeit zum absoluten Programmier-Profi werden – ganz ohne Vorkenntnisse! Möchten Sie sich für Ihren Job oder Ihr Studium einen Vorteil verschaffen und Programmieren mit der Programmiersprache C erlernen? Wollen Sie Ihre eigenen Codes schreiben, auch wenn Sie noch keine Ahnung von Programmiersprachen haben? Brauchen Sie eine Schritt-für Schritt Anleitung, mit der Sie mühelos Ihre ersten eigenen Befehle erstellen können? Dann haben Sie jetzt das perfekte Buch gefunden! Dieser umfassende praxisorientierte Ratgeber nimmt Sie an die Hand und bietet Ihnen das gesamte Wissen, das Sie als Anfänger benötigen, um sofort loszulegen und Ihre eigenen Anwendungen zu programmieren! •Objekte, Klassen, Attribute: Erfahren Sie alle notwendigen Begriffe, Grundlagen und Hintergrundinformationen für einen reibungslosen Einstieg in die Programmierwelt! •Lernen Sie komplett ohne Vorwissen die wesentlichen Merkmale der Programmiersprachen C und JavaScript, sowie der JavaScript Bibliothek jQuery und schreiben Sie im Handumdrehen Ihr erstes eigenes JavaScript! •Entdecken Sie smarte Methoden zur Fehlersuche in erstellten Codes – für ein frustfreies Programmieren! •Strukturieren Sie in kürzester Zeit mit HTML und CSS elektronische Dokumente übersichtlich und effizient! Mit den professionellen Tipps und Tricks von Informatik Experten und den anschaulichen Beispielen und Übungen werden Sie schon bald unfassbar gute Codes schreiben, komplexe Systeme effektiv strukturieren und solide Designs entwerfen! Außerdem wird es Ihnen in Zukunft deutlich einfacher fallen, weitere Programmiersprachen (wie Python oder Java) zu erlernen. Die Inhalte in diesem Ratgeber sind leicht verständlich aufbereitet und somit für wirklich jeden anwendbar! Sie können sich sicher sein: Um dieses Buch kommen Sie nicht herum, wenn Sie als Anfänger Programmieren lernen wollen! Sichern Sie sich gleich Ihr Exemplar und werden Sie ohne Vorerfahrung noch heute zum Experten der Softwareentwicklung!
HTML5 und CSS3 für Einsteiger - In einfachen Schritten zum Programmier-Experten: Der leicht verständliche und praxisnahe Leitfaden zum professionellen Programmieren im Handumdrehen
Mit HTML und CSS professionelle Webseiten erstellen! Sie möchten Ihre eigene Webseite erstellen? Sie wollen Ihre bestehende Webseite optimieren oder in einem neuen Design erstrahlen lassen? Dann ist dies der ideale Ratgeber für Sie! In Zeiten des Internets kommt keiner mehr an einer Webseite vorbei. Ganz gleich, ob Sie Produkte oder Dienstleistungen anbieten, Sie benötigen eine eigne Webseite für Ihren Erfolg. Das haben auch viele Webdesigner erkannt, welche sich auf den profitablen Bereich der Webseitenerstellung, beispielsweise mit Wordpress, spezialisiert haben. Aber immer mehr Menschen beschäftigen sich selbst mit HTML und CSS, um ihre Webseite zu programmieren. Mit dem richtigen Wissen und den passenden Anleitungen ist das auch gar kein Problem. Alle notwendigen Details für die Erstellung Ihrer Website, von Grundlagen bis zu fortgeschrittenen Techniken, wie die Einbindung von Formularen und Tabellen, finden Sie in diesem Buch. Schritt für Schritt erhalten Sie tiefgreifende Einblicke in HTML und CSS und werden im Handumdrehen in der Lage sein, Ihre eigene Webseite zum Leben zu erwecken! Dieses Buch sollten Sie auf jeden Fall lesen, wenn: •Sie eine eigene Webseite benötigen •Sie Ihre Webseite gerne selbst erstellen möchten •Sie mehr über die Grundlagen des Webdesigns erfahren wollen •Sie sich für HTML und CSS interessieren Dieser Ratgeber nimmt Sie mit hinter die Kulissen des Internets? Hier werden Fragen beantwortet, auf welche Sie bisher keine passende Antwort hatte, beispielsweise: •Wie funktioniert das World Wide Web? •Welche Struktur hat HTML? •Welche HTML-Elemente und HTML-Attribute gibt es? •Wie kann man ein HTML-Element erstellen und aufrufen? •Was ist ein semantisches Markup? •Wie programmiert man Listen und Aufzählungen mit HTML? •Wie ist die Anatomie von CSS? •Wie werden in CSS Farben und Schrift umgesetzt? •Was bedeutet Font-weight und Font-style im CSS? •Was sind Pseudo-Elemente und Psedo-Klassen? •Welche verschiedenen Symbole können für Listen verwendet werden? •Was ist ein Bootstrap? •Was sind die Vorteile und welches die Nachteile von Bootstrap? •Wie macht man Webdesign? •Und weit mehr... Dieser Ratgeber zum Webseitendesign mit HTML und CSS basiert auf dem notwendigen Fachwissen und hilfreichen Veranschaulichungen. Dank der Tipps und Tricks von Experten profitieren nicht nur Anfänger sondern auch Fortgeschrittene von diesem Webdesign-Handbuch. Diese können Sie sofort anwenden und für ein professionelles Webdesign Ihrer Homepage für Ihren Erfolg einsetzen. Nur noch einen Mausklick sind Sie von den detaillierten Einblicken in HTML und CSS entfernt. Mit einem Klick auf "JETZT KAUFEN" können Sie noch heute die ersten Schritte Ihres neuen Webdesigns für Ihre Webseite umsetzen. Warum teure Webdesigner beauftragen? Mit diesem Buch gestalten Sie Ihre Webseite nicht nur selbst, sondern ganz nach Ihrer persönlichen Vorstellung! Werden Sie erfolgreich mit Ihrer eigenen selbst erstellten Webseite!
JavaScript für Einsteiger - In einfachen Schritten zum Programmier-Experten: Der leicht verständliche und praxisnahe Leitfaden zum professionellen Programmieren im Handumdrehen
Wie Sie mit den richtigen Skills in kürzester Zeit zum absoluten Programmier-Profi werden – ganz ohne Vorkenntnisse! Möchten Sie sich für Ihren Job oder Ihr Studium einen Vorteil verschaffen und objektorientiertes Programmieren lernen? Wollen Sie Ihre eigenen Codes schreiben, auch wenn Sie noch keine Ahnung von Programmiersprachen haben? Brauchen Sie eine Schritt-für Schritt Anleitung, mit der Sie mühelos Ihre ersten eigenen Befehle in Java erstellen können? Dann haben Sie jetzt das perfekte Buch gefunden! Dieser praxisorientierte Ratgeber nimmt Sie an die Hand und bietet Ihnen das gesamte Wissen, das Sie als Anfänger benötigen, um sofort loszulegen und Ihre eigenen Anwendungen zu programmieren! •Erfahren Sie alle Grundlagen und Hintergrundinformationen zum objektorientierten Programmieren - für einen reibungslosen Einstieg! •Lernen Sie komplett ohne Vorwissen die wesentlichen Merkmale der Programmiersprache Java, sowie der JavaScript Bibliothek jQuery und schreiben Sie im Handumdrehen Ihr erstes JavaScript! •Entdecken Sie smarte Methoden zur Fehlersuche in erstellten Codes – für ein frustfreies Programmieren! •Strukturieren Sie in kürzester Zeit mit HTML und CSS elektronische Dokumente übersichtlich und effizient! Mit den professionellen Tipps und Tricks der Programmier-Experten werden Sie schon bald unfassbar gute Codes schreiben, komplexe Systeme effektiv strukturieren und solide Designs entwerfen! Außerdem wird es Ihnen in Zukunft deutlich einfacher fallen, weitere Programmiersprachen zu erlernen. Die Inhalte in diesem Ratgeber sind leicht und verständlich aufbereitet und somit für wirklich jeden anwendbar! Sie können sich sicher sein: Dieses Buch ist ein ultimatives Must-Have, wenn Sie als Anfänger in das objektorientierte Programmieren einsteigen wollen! Sichern Sie sich gleich Ihr Exemplar und werden Sie ohne Vorerfahrung noch heute zum Experten der Softwareentwicklung!
Funktionale Programmierung verstehen
Funktionale Programmierung verstehen. Konzepte und Entwurfsmuster für guten Code. Januar 2024.Möchten Sie sauberen, wartbaren und eleganten Code schreiben? Dann lernen Sie das Paradigma der funktionalen Programmierung kennen! Tauchen Sie in eine neue Denkweise ein und schreiben Sie eleganten Code auf die funktionale Art. Die meisten Codebeispiele in diesem Buch sind in leicht verständlichem Scala formuliert und außerdem in Python übersetzt. Mit Codebeispielen in Java, JavaScript und C# geht der Autor außerdem auf sprachabhängige Aspekte ein. So nutzen Sie funktionale Programmierung in Ihren Projekten – auch in einem objektorientierten Kontext.Grundlagen, Design Patterns und Lösungen für die PraxisElegante Wege zu robustem, leicht wartbarem CodeUnabhängig von der Programmiersprache nutzbar, mit Beispielen in Scala, Python und mehrMit Python-Special nur in der deutschen AusgabeFunktional Denken und Coden1. Grundlagen und ProblemlösungLernen Sie die Grundlagen kennen – und damit eine neue Denkweise, wenn es darum geht, Probleme zu lösen. Gehen Sie die Dinge auf die funktionale Art an!2. Funktionale Programmierung und ObjektorientierungFP und OOP – sie unterscheiden sich, und sie ergänzen sich wunderbar. Lassen Sie sich durch Konzepte, Entwurfsmuster und Lösungsansätze führen, um beides miteinander zu nutzen.3. Von der Denkweise zum CodeKonzepte sind wichtig, aber Ihren Code schreiben Sie in Python, Java oder einer anderen Sprache. Jack Widman nutzt Scala, aber nicht nur: Er zeigt, welche Besonderheiten in gängigen Sprachen zu beachten sind, und bringt Codebeispiele auch in Java, Python und C#.4. Inklusive Python-SpecialFür die Python-Community gehen wir noch weiter: In der deutschen Ausgabe hat Torsten Will alle wichtigen Codebeispiele übertragen und gibt zusätzliche Tipps für Python. Wer möchte, kann das Buch damit komplett im »Python-Modus« lesen.Aus dem Inhalt: Die Denkweise kennenlernenEin paar (einfache) mathematische GrundlagenEntwurfsmusterDatenstrukturenUnveränderlichkeitNebenläufigkeitKombination mit OOPBesonderheiten verschiedener ProgrammiersprachenLeseprobe (PDF-Link)
Node-RED - Das umfassende Handbuch (3. Auflage)
Node-Red. Das umfassende Handbuch. 3., aktualisierte Auflage. Januar 2024.Bauen Sie komplexe Schaltungen auf, ohne eine einzige Zeile Code zu schreiben – Node-RED macht es möglich. Mit dem visuellen Programmierkonzept erstellen Sie Flows und Logiken, die Ihre Projekte steuern. Udo Brandes stellt Ihnen dazu in diesem Handbuch alle Nodes vor und zeigt Ihnen, wie Sie Ihre Anforderungen übersichtlich modellieren und passende Dashboards erstellen. So lesen Sie im Handumdrehen automatisiert Sensoren aus, speichern Messwerte ab oder teilen Daten über das Netzwerk mit anderen Systemen.Von den Grundlagen zum fertigen DashboardSteuerungen und Logik visuell programmierenDaten in der Heimautomation, in Maker- und IoT-Projekten verarbeiten1. Ohne Vorkenntnisse einsteigenWer sich mit komplexen Systemen beschäftigt, weiß, dass nichts über KISS geht: Keep it Simple, Stupid. Und was könnte einfacher sein als Programmierlogik visuell direkt im Browser zu erstellen? Vermeiden Sie Code-Chaos und bauen Sie ohne viel Aufwand erste Tests und Prototypen.2. Für Maker, Bastler und ProgrammiereinsteigerSie finden für alle Aufgaben die passenden Werkzeuge, ob in der Heimautomation, dem IoT-Prototyping oder in Maker-Projekten. Speichern Sie beispielsweise Daten performant in InfluxDB ab, integrieren Sie Ihre FRITZ!Box ins Setup oder lesen Sie Sensoren über den Raspberry Pi aus: Ihrer Fantasie werden keine Grenzen gesetzt.3. Node-RED für Ihre ProjekteMit Node-RED setzen Sie auch anspruchsvolle Szenarien um: Programmieren Sie eigene Nodes, gestalten Sie professionelle Dashboards oder steuern Sie Ihr Setup mobil per App. Dieses Handbuch gibt Ihnen einen umfassenden Einstieg und begleitet Sie auf den ersten Schritten.Aus dem Inhalt:Installation und GrundlagenDas zentrale Tool: Der Node-RED-EditorDie Basics: Nodes und FlowDas Dashboard von Node-REDFunktionen programmierenGrundlagenwissen für JavaScript, Node.js und gutes ProgrammierenDaten abrufen und speichernDatenaustausch über MQTT und TCP/IPHacks: Fortgeschrittene Nodes nutzenAppsteuerung und externe AnbindungEigene Nodes entwickelnMikrocontroller-Steuerung mit Node-REDLeseprobe (PDF-Link)
Professional C++
EXPAND YOUR C++ TOOLKIT QUICKLY AND EFFICIENTLY WITH THIS ADVANCED RESOURCEIn the newly revised sixth edition of Professional C++, veteran software engineer and developer Marc Gregoire delivers yet another volume that raises the bar for advanced programming manuals. Covering the major new revisions contained in the new C++ standard codenamed C++23, the book offers case studies with working code that’s been tested in Windows and Linux. The leading resource for dedicated and knowledgeable professionals seeking to advance their C++ skills, this book provides resources that help readers:* Maximize C++ capabilities with effective design solutions* Master little-known elements and learn what practices to avoid* Adopt new workarounds and testing/debugging best practices* Use real-world program segments in your own applicationsC++ is a complex and unforgiving language. Professional C++, 6th Edition, allows dedicated practitioners to remain current and abreast of the latest developments and advances. MARC GREGOIRE is a software engineer and developer of C/C++ applications for both Windows and Linux. He is a Microsoft MVP, the founder of the Belgian C++ users group, and is currently working on X-ray, CT, and 3-D geometric inspection software for Nikon Metrology. He previously worked on critical 2G and 3G telecom software for Siemens and Nokia Siemens Networks. Marc is the author of Professional C++ 2nd, 3rd, 4th, and 5th editions, co-author of C++ Standard Library Quick Reference, technical editor on numerous books and articles, and maintains a blog at NUONSOFT.COM/BLOG.
Beginning C++ Compilers
This book focuses on how to install C/C++ compilers on Linux and Windows platforms in a timely and efficient way. Installing C/C++ compilers, especially Microsoft compilers, typically takes quite a lot of time because it comes with Microsoft Visual Studio for the vast majority of users. Installing Visual Studio requires usually about 40 GB of disk space and a large amount of RAM, so it is impossible to use weak hardware.The authors provide an easy way to deploy Microsoft C/C++ compiler: with no disk space headache and hardware resources lack. The method described saves significant time since software can even be deployed on removable devices, such as flash sticks, in an easy and portable way.It is achieved by using Enterprise Windows Driver Kit (EWDK), single big ISO image, which can be mounted as virtual device and used directly without any installation. EWDK contains everything from Visual Studio except IDE. EWDK also allows to use MASM64 (Microsoft Macro-Assembly) and C# compilers.With the aid of the MSBuild System, one can compile Visual Studio Projects (.vcxproj) and Solutions (.sln) without even using Visual Studio! Similarly, MinGW compilers can be deployed from 7z/zip archives, simply by unpacking into appropriate location. Both Microsoft C/C++ and MinGW compilers can be used as portable software—an approach that does not require administrative privileges at all.WHAT YOU’LL LEARN* Rapid installation of modern Microsoft C/C++ and MinGW compilers.* How to prepare reusable and portable Microsoft C/C++ and MinGW compilers suite on removable media (flash stick, CD/DVD).* How to use Microsoft C/C++ and MinGW compilers even on old/slow computers without standard installation.* How to build under Windows the libraries originally designed for Unix-systems.* Learn to run multiple versions of these compilers at the same time.WHO THIS BOOK IS FORReader of all skills who wants to save time and efforts to start to work with C++. Also useful for scientists who are not familiar with software installation.BERIK TULEUOV is a Senior Lecturer at L. N. Gumilyov Eurasian National University, Nur-Sultan, Kazakhstan. He’s a researcher and mathematician who uses computers for scientific computations and designing algorithms. He runs a topic on The AIFC Tech Hub (a meeting point for global startups, entrepreneurs, investors, industry’s top experts and talent pool) about Microsoft C/C++ compilers. This forum has more than two million registered participants. He regularly takes part in academic and industry conferences, mainly on computer science topics. Interests include programming languages, algorithms and data structures, concurrent (parallel) programming, scientific programming, (La)TeX Typesetting System, and data visualization.Ademi B. Ospanova is an Associate Professor in the Department of Information Security at L. N. Gumilyev Eurasian National University. She is the author of many courses in the field of IT technologies. She is developer of educational programmes of all levels of the university on information security. In the educational process and projects she uses her own software and libraries in C/C++, C#, Java, Prolog, R, Python, Solidity, works in Mathematica, Maple, Sage packages. She also has her own website, including hosting on her own server. She manages grant and initiative research projects, and her Masters and PhD students are winners of national scientific competitions. Ademi also gives courses and consultations on cryptography and programming to specialists from various companies."Part I. Operating Systems and PlatformsIntroductionChapter 1. Files and DevicesChapter Goal: General Information on Files and DevicesFile types and formatsExecutable and batch filesSystem commandsMounting DevicesVirtual DevicesChapter 2. Software InstallationChapter Goal: Description of Software Installation WaysInstallation packages (msi)Installing with archivesInstalling from sourcesPortable InstallationOverview of Installation MethodsBest Software Installation Practices for Windows systemsChapter 3. Programming Languages and SoftwareChapter Goal: Overview of Programming LanguagesProgramming LanguagesC/C++FortranAssemblyPart II. Programming EnvironmentsChapter 4. General Build InformationChapter Goal: Description of Software Building on Various Platforms with Various CompilersUnix systemsGNU Autotools (GNU Build System)Windows systemsnmake UtilityVisual Studio .vcxproj and .sln filesMSBuild Build SystemCygwinCross-platform topicsChapter 5. Some Useful Open Source UtilitiesChapter Goal: Overview of Handy ToolsFar ManagerDefault InstallationEasy InstallationUsage7zDefault InstallationEasy InstallationUsageNotepad++Default InstallationEasy InstallationUsagelessmsiEasy InstallationUsageWinCDEmuEasy InstallationUsageChapter 6. Command-Line InterfaceChapter Goal: Description of Important Shell EnvironmentCommand InterpreterEnvironment VariablesAccess managementChapter 7. Integrated Development Environments and EditorsChapter Goal: Various Visual Development ToolsMicrosoft Visual StudioQt CreatorCode::BlocksGeanyKateChapter 8. Minimal SystemsChapter Goal: Overview of Handy Build SubsystemsMSYSEasy InstallationSome TipsMSYS2Default InstallationEasy InstallationCMakeDefault InstallationEasy InstallationChapter 9. CompilersChapter Goal: Various Ways of Compilers InstallationsGCC/MinGWDefault InstallationBuilding from the sourcesEasy InstallationMicrosoft C/C++Default InstallationEasy Installation (without Visual Studio) with EWDKIntel C/C++Part III. Building and Using Libraries (A. B. Ospanova, co-author)Chapter 10. LibrariesChapter Goal: Libraries, How to Treat ThemDynamic and Static LibrariesBuilding LibrariesCreating User LibrariesChapter 11. Using LibrariesChapter Goal: Overview of Using LibrariesLinking with Static LibrariesLinking with Dynamic LibrariesUsing Libraries from Source CodeChapter 12. GMP (GNU Multiprecision Library)Chapter Goal: Using GMP LibraryBuildingExample: Computation of 10 000 000!Chapter 13. Crypto++Chapter Goal: Using Crypto++ LibraryBuilding with MinGWBuilding with Microsoft C/C++ CompilerExample: AES ImplementationChapter 14. Process HackerChapter Goal: Using Process Hacker UtilityBuilding with Microsoft C/C++ CompilerBuilding DriverBuilding Utility
Quantum Computing by Practice
Learn to write algorithms and program in the new field of quantum computing. This second edition is updated to equip you with the latest knowledge and tools needed to be a complex problem-solver in this ever-evolving landscape. The book has expanded its coverage of current and future advancements and investments by IT companies in this emerging technology. Most chapters are thoroughly revised to incorporate the latest updates to IBM Quantum's systems and offerings, such as improved algorithms, integrating hardware advancements, software enhancements, bug fixes, and more.You’ll examine quantum computing in the cloud and run experiments there on a real quantum device. Along the way you’ll cover game theory with the Magic Square, an example of quantum pseudo-telepathy. You’ll also learn to write code using QISKit, Python SDK, and other APIs such as QASM and execute it against simulators (local or remote) or a real quantum computer. Then peek inside the inner workings of the Bell states for entanglement, Grover’s algorithm for linear search, Shor’s algorithm for integer factorization, and other algorithms in the fields of optimization, and more. Finally, you’ll learn the current quantum algorithms for entanglement, random number generation, linear search, integer factorization, and others.By the end of this book, you’ll understand how quantum computing provides massive parallelism and significant computational speedups over classical computersWHAT YOU'LL LEARN* Write algorithms that provide superior performance over their classical counterparts* Create a quantum number generator: the quintessential coin flip with a quantum twist* Examine the quantum algorithms in use today for random number generation, linear search, and more* Discover quantum teleportation* Handle the counterfeit coin problem, a classic puzzle * Put your knowledge to the test with more than 150 practice exercises WHO THIS BOOK IS FORDevelopers, programmers, computer science researchers, teachers, and students.Vladimir Silva was born in Quito, Ecuador. He received a System's Analyst degree from the Polytechnic Institute of the Army in 1994. In the same year, he came to the United States as an exchange student pursuing an M.S. degree in Computer Science at Middle Tennessee State University. After graduation, he joined the IBM WebAhead technology think tank. His interests include Grid Computing, Neural Nets, and Artificial Intelligence. He also holds numerous IT certifications including OCP, MCSD, and MCP. He has written many technical articles for IBM developerWorks and books in the fields of grid computing, and security. His previous books include: Grid Computing for Developers (Charles River Media), Practical Eclipse Rich Client Platform (Apress), Pro Android Games (Apress), and Advanced Android 4 Games (Apress).CHAPTER 1: QUANTUM FIELDS - THE BUILDING BLOCKS OF REALITYEnter Max Planck, the Father of Quantum MechanicsPlanck Hits the Jackpot, Einstein collects a Novel PrizeQuantum Mechanics comes in many flavors. Which is your favorite?Many Worlds InterpretationSupplementary InterpretationsFrom Quantum Mechanics to Quantum Fields: Evolution or RevolutionChapter 1 ExercisesCHAPTER 2: RICHARD FEYNMAN, DEMIGOD OF PHYSICS, FATHER OF THE QUANTUM COMPUTERMysteries of QFT: The Plague on InfinitiesFeynman Diagrams: Formulas in DisguiseAntimatter as Time Reverse Matter and the Mirror UniverseChapter 2 ExercisesCHAPTER 3: THE QUBIT REVOLUTION IS AT HANDYour Friendly Neighborhood Quantum ComputerLinear Optics vs Super Conducting LoopsThe Many Flavors of QubitChapter 3 ExercisesCHAPTER 4: ENTER THE IBM QUANTUM: A ONE OF A KIND PLATFORM FOR QUANTUM COMPUTING IN THE CLOUDGetting your feet wet with IBM QuantumOpus 1: Variations on Bell and GHZ StatesRemote Access via the REST APIChapter 4 ExercisesCHAPTER 5: MATHEMATICAL FOUNDATION: TIME TO DUST UP THAT LINEAR ALGEBRAQubit 101: Vector, Matrices and Complex NumbersEuler’s Identity: A Wonderful MasterpieceAlgebraic Representation of the QubitChanging the State of a Qubit with Quantum GatesUniversal Quantum Computation delivers shortcuts over Classical ComputationChapter 5 ExercisesCHAPTER 6: QISKIT, AWESOME SDK FOR QUANTUM PROGRAMMING IN PYTHONInstalling the QISKitYour First Quantum ProgramQuantum Assembly: The Power behind the ScenesChapter 6 ExercisesCHAPTER 7: START YOUR ENGINES: FROM QUANTUM RANDOM NUMBERS TO TELEPORTATION, PIT STOP AT SUPER DENSE CODINGQuantum Random Number GenerationSuper Dense CodingQuantum TeleportationCHAPTER 8: GAME THEORY: WITH QUANTUM MECHANICS ODDS ARE ALWAYS IN YOUR FAVORCounterfeit Coin PuzzleMermin-Peres Magic SquareAnswers for the Mermin-Peres Magic Square ExerciseCHAPTER 9: FASTER SEARCH PLUS THREATENING THE FOUNDATION OF ASYMMETRIC CRYPTOGRAPHY WITH GROVER AND SHORQuantum Unstructured SearchInteger Factorization with Shor’s AlgorithmCHAPTER 10: ADVANCED ALGORITHMS FOR QUANTUM CHEMISTRYWhat in an Eigenvalue and why should I careVariational Quantum EigensolverMolecule Ground State ExperimentProtein Folding Experiment
Practical Spring LDAP
This revised edition is your practical, hands-on guide to developing Java-based enterprise applications with big data or batches of data using the Spring LDAP and the Spring Data LDAP frameworks. The book covers these popular Spring project modules and explains the purpose and fundamental concepts of LDAP before giving a comprehensive tour of the latest version of Spring LDAP and Spring Data LDAP as found in Spring Framework 6.The book provides a detailed treatment of LDAP controls and the new features of Spring LDAP such as Object Directory Mapping and LDIF parsing. LDAP has become the de facto standard for storing and accessing information in enterprises. Despite its widespread adoption, developers often struggle when it comes to using this technology effectively. The traditional Java LDAP and JNDI approaches have proven to be painful and have resulted in complex, less modular applications. The Spring LDAP framework provides an ideal alternative.After reading and using this book, you'll come away with a level of comfort for working with large batches of data or big data in your enterprise Spring applications development.WHAT YOU'LL LEARN* Explore "What is Java LDAP?" and understand the Spring LDAP and Spring Data LDAP frameworks* Search LDAP resources* Sort and page your LDAP results* Dive into object directory mapping* Handle LDAP transactions and moreWHO THIS BOOK IS FORIntermediate to advanced Java and Spring software developers; programmers with at least some prior experience in Java, especially the Spring FrameworkBALAJI VARANASI is a software development manager and technology entrepreneur. He has over 13 years of experience architecting and developing Java/.NET applications and, more recently, iPhone apps. During this period, he has worked in the areas of security, web accessibility, search, and enterprise portals. He has a master's degree in computer science and serves as adjunct faculty, teaching programming and information system courses. When not programming, he enjoys spending time with his lovely wife in Salt Lake City, Utah.ANDRES SACCO has been working as a developer since 2007 in different languages, including Java, PHP, Node.js, Scala, and Kotlin. His background is mostly in Java and the libraries or frameworks associated with this language. At most of the companies he worked for, he researched new technologies to improve the performance, stability, and quality of the applications of each company. In 2017, he started to find new ways to optimize the transference of data between applications to reduce the cost of infrastructure. He suggested some actions, some applicable in all of the manual microservices and others in just a few. All of this work includes creating a series of theoric-practical projects (available on Manning.com). Recently, he co-authored an Apress book on Beginning Scala 3. He also, published a set of theoric-practical projects about uncommon ways of testing, such as architecture tests and chaos engineering.
Python Debugging for AI, Machine Learning, and Cloud Computing
This book is for those who wish to understand how Python debugging is and can be used to develop robust and reliable AI, machine learning, and cloud computing software. It will teach you a novel pattern-oriented approach to diagnose and debug abnormal software structure and behavior.The book begins with an introduction to the pattern-oriented software diagnostics and debugging process that, before performing Python debugging, diagnoses problems in various software artifacts such as memory dumps, traces, and logs. Next, you’ll learn to use various debugging patterns through Python case studies that model abnormal software behavior. You’ll also be exposed to Python debugging techniques specific to cloud native and machine learning environments and explore how recent advances in AI/ML can help in Python debugging. Over the course of the book, case studies will show you how to resolve issues around environmental problems, crashes, hangs, resource spikes, leaks, and performance degradation. This includes tracing, logging, and analyziing memory dumps using native WinDbg and GDB debuggers.Upon completing this book, you will have the knowledge and tools needed to employ Python debugging in the development of AI, machine learning, and cloud computing applications.WHAT YOU WILL LEARN* Employ a pattern-oriented approach to Python debugging that starts with diagnostics of common software problems* Use tips and tricks to get the most out of popular IDEs, notebooks, and command-line Python debugging* Understand Python internals for interfacing with operating systems and external modules* Perform Python memory dump analysis, tracing, and loggingWHO THIS BOOK IS FORSoftware developers, AI/ML engineers, researchers, data engineers, as well as MLOps and DevOps professionals. DMITRY VOSTOKOV is an internationally recognized expert, speaker, educator, scientist, inventor, and author. He founded the pattern-oriented software diagnostics, forensics, and prognostics discipline (Systematic Software Diagnostics) and Software Diagnostics Institute (DA+TA: DumpAnalysis.org + TraceAnalysis.org). Vostokov has also authored multiple books on software diagnostics, anomaly detection and analysis, software, and memory forensics, root cause analysis and problem-solving, memory dump analysis, debugging, software trace and log analysis, reverse engineering, and malware analysis. He has over thirty years of experience in software architecture, design, development, and maintenance in various industries, including leadership, technical, and people management roles. In his spare time, he presents multiple topics on Debugging.TV and explores Software Narratology and its further development as Narratology of Things and Diagnostics of Things (DoT), Software Pathology, and Quantum Software Diagnostics. His current interest areas are theoretical software diagnostics and its mathematical and computer science foundations, application of formal logic, artificial intelligence, machine learning, and data mining to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, diagnostics workflow, and interaction. Recent interest areas also include cloud native computing, security, automation, functional programming, applications of category theory to software development and big data, and artificial intelligence diagnostics. Chapter 1: Fundamental Vocabulary.- Chapter 2: Pattern-Oriented Debugging.- Chapter 3: Elementary Diagnostics Patterns.- Chapter 4: Debugging Analysis Patterns.- Chapter 5: Debugging Implementation Patterns.- Chapter 6: IDE Debugging in Cloud.- Chapter 7: Debugging Presentation Patterns.- Chapter 8: Debugging Architecture Patterns.- Chapter 9: Debugging Design Patterns.- Chapter 10: Debugging Usage Patterns.- Chapter 11: Case Study: Resource Leaks.- Chapter 12: Case Study: Deadlock.- Chapter 13: Challenges of Python Debugging in Cloud Computing.- Chapter 14: Challenges of Python Debugging in AI and Machine Learning.- Chapter 15: What AI and Machine Learning Can Do for Python Debugging.- Chapter 16: The List of Debugging Patterns.
Building Real-Time Marvels with Laravel
Dive into the diverse facets of the Laravel ecosystem. This comprehensive guide will put you on the fast track to becoming an expert in Laravel development.Starting with the fundamentals, you’ll explore essential concepts, enabling you to grasp the framework's structure. Subsequent chapters cover intricate topics, such as advanced routing techniques, database management, and eloquent object relational mapping (ORM), allowing developers to build robust applications. The book offers comprehensive insights into building secure applications with authentication and authorization mechanisms, as well as constructing efficient APIs and employing caching techniques for enhanced performance.Chapters on real-time applications and queues offer practical knowledge to optimize application responsiveness. Advanced package development and performance monitoring provide valuable tools for developing high-quality Laravel packages and debugging. You’ll also gain expertise in internationalization, front-end development, and database optimization.Building Real-Time Marvels with Laravel doesn't shy away from the latest trends, featuring chapters on serverless computing, progressive web applications (PWAs), and UI/UX design patterns. It also emphasizes security, DevOps, and infrastructure automation. Bonus appendixes feature a handy Laravel cheat sheet, recommended resources, and a glossary of essential terms, making it a comprehensive reference for Laravel enthusiasts.WHAT YOU WILL LEARN* Gain a comprehensive understanding of advanced routing, database management with eloquent ORM, authentication, and API development.* Study caching, database query optimization, queuing, and scaling strategies for high-traffic applications* Explore advanced middleware, real-time applications, testing, and package development WHO THIS BOOK IS FORIntermediate to advanced developers.SIVA SELVARAJ work focuses on modern technologies and industry best practices. These topics include frontend development techniques using HTML5, CSS3, and JavaScript frameworks; implementing responsive web design and optimizing user experience across devices; building dynamic web applications with server-side languages such as PHP, WordPress, and Laravel; and Database management and integration using SQL and MySQL databases He loves to share his extensive knowledge and experience to empower readers to tackle complex challenges and create highly functional and visually appealing websites.Chapter 1: Understanding the Laravel Ecosystem.- Chapter 2: Advanced Routing Techniques.- Chapter 3: Database Management and Eloquent ORM.- Chapter 4: Authentication and Authorization.- Chapter 5: Building APIs with Laravel.- Chapter 6: Caching and Performance Optimization.- Chapter 7: Advanced Middleware Techniques.- Chapter 8: Real-Time Applications with Laravel.- Chapter 9: Testing and Test-Driven Development.- Chapter 10: Queues and Job Scheduling.- Chapter 11: Advanced Package Development.-Chapter 12: Performance Monitoring and Debugging.- Chapter 13: Scaling Laravel Applications.- Chapter 14: Security Best Practices.- Chapter 15: Advanced Performance Optimization.- Chapter 16: Continuous Integration and Deployment.- Chapter 17: Laravel and Microservices.- Chapter 18: Advanced Laravel Debugging and Troubleshooting.-Chapter 19: Building Internationalized Applications with Laravel.- Chapter 20: Advanced Frontend Development with Laravel.- Chapter 21: Advanced Error Handling and Exception Management.- Chapter 22: Advanced Database Techniques and Optimization.- Chapter 23: Laravel and Serverless Computing.- Chapter 24: Building Progressive Web Applications (PWAs) with Laravel.- Chapter 25: Advanced UI/UX Design Patterns for Laravel.- Chapter 26: Advanced Analytics and Reporting in Laravel.- Chapter 27: Building Microservices with Laravel and Docker.- Chapter 28: Advanced Third-Party Integrations.- Chapter 29: Securing Laravel Applications.- Chapter 30: Advanced DevOps and Infrastructure Automation Appendix A: Laravel Cheat Sheet .- Appendix B: Recommended Resources.- Appendix C: Glossary of Terms
Pro Spring Security
Build and deploy secure Spring Framework and Spring Boot-based enterprise Java applications with the Spring Security Framework. This book explores a comprehensive set of functionalities to implement industry-standard authentication and authorization mechanisms for Java applications.Pro Spring Security, Third Edition has been updated to incorporate the changes in Spring Framework 6 and Spring Boot 3. It is an advanced tutorial and reference that guides you through the implementation of the security features for a Java web application by presenting consistent examples built from the ground up.This book also provides you with a broader look into Spring security by including up-to-date use cases such as building a security layer for RESTful web services and JSON Web Token applications.WHAT YOU WILL LEARN* Explore the scope of security and how to use the Spring Security Framework* Master Spring security architecture and design * Secure the web tier in Spring * Work with alternative authentication providers* Take advantage of business objects and logic security* Extend Spring security with other frameworks and languages* Secure the service layer* Secure the application with JSON Web TokenWHO THIS BOOK IS FORExperienced Spring and Java developers with prior experience in building Spring Framework or Boot-based applicationsMASSIMO NARDONE has more than 27 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 has been programming and teaching how to program with Android, Perl, PHP, Java, VB, Python, C/C++, and MySQL for more than 27 years. He holds an M.Sc. degree in computing science from the University of Salerno, Italy. Throughout his working career, he has held various positions starting as programming developer, 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, 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.His technical skills include Security, OT/IoT/IIoT, Android, Cloud, Java, MySQL, Drupal, Cobol, Perl, web and mobile development, MongoDB, D3, Joomla!, Couchbase, C/C++, WebGL, Python, Pro Rails, Django CMS, Jekyll, and Scratch. He has served as a visiting lecturer and supervisor for exercises at the Networking Laboratory of the Helsinki University of Technology (Aalto University).He stays current to industry and security trends, attending events, being part of a board such as the ISACA Finland Chapter Board, ISF, Nordic CISO Forum, Android Global Forum, etc.He holds four international patents (PKI, SIP, SAML, and Proxy areas). He currently works as a Cyber Security Freelancer for IT/OT and IoT. He has reviewed more than 55 IT books for different publishers and has coauthored Pro JPA 2 in Java EE 8 (Apress, 2018), Beginning EJB in Java EE 8 (Apress, 2018), and Pro Android Games (Apress, 2015).CARLO SCARIONI is a passionate software developer, motivated by learning and applying innovative and interesting software development tools, techniques, and methodologies. He has worked for more than 18 years in the field and moved across multiple languages, paradigms, and subject areas. He also has many years of experience working with Java and its ecosystem. He has been in love with Spring since the beginning and he is fascinated by how Spring allows building complex applications out of discrete, focused modules and by the clever use of decorators to add cross-cutting functionalities. In the last few years he has been working mostly with data engineering solutions. He has been creating solutions around the use of modern data stack components in cloud environments, while at the same time developing software using technologies such as Spark, Python, and others.
Frontend Development with JavaFX and Kotlin
Build elegant, responsive, and stable Java Virtual Machine-based client applications (Fat Clients) with modern user interfaces. This book introduces JavaFX as a frontend technology and utilizes Kotlin instead of Java for coding program artifacts to boost code expressiveness and maintainability. Author Peter Späth employs a hands-on approach, providing practical examples and code to demonstrate each concept. Mid-level Java programming knowledge and a basic understanding of Kotlin are the only prerequisites; experience with JavaFX and frontend coding is not essential.JavaFX is a modern frontend programming toolkit equipped with containers, menus, buttons, sliders, text fields, and various other controls necessary for communicating with your users, all of which are covered here. Despite its name, JavaFX applications can be coded with programming languages other than Java. The central requirement is that any language targeting JavaFX compiles to artifacts runnable on a Java Virtual Machine. Over the course of this book, you’ll learn firsthand why Kotlin, with its elegant and concise syntax, is a perfect match.After completing Frontend Development With JavaFX and Kotlin, you will be able to build frontends of mid-to-high level complexity, depending on present Java skills, and use Kotlin as a language for addressing GUI programming needs and accessing the JavaFX API.WHAT YOU WILL LEARN* Create a JavaFX + Kotlin development pipeline for Gradle, Eclipse and IntelliJ* Use JavaFX scenes, stages, and nodes/controls* Master JavaFX event handling, effects, and animation using Kotlin* Understand the JavaFX Concurrency Framework and Kotlin Coroutines for JavaFXWHO THIS BOOK IS FORLow- to mid-level Java or Kotlin developers with or without JavaFX experience who wish to learn how to build JavaFX applications with Kotlin.Peter Späth graduated in 2002 as a physicist and soon afterward became an IT consultant, mainly for Java-related projects. In 2016, he decided to concentrate on writing books on various aspects, but with the main focus on software development. With two books about graphics and sound processing, three books on Android app development, and a beginner’s book on Jakarta EE development, the author continues his effort in writing software development-related literature.Chapter 1: Getting started.- Chapter 2: Properties, Bindings, and Observable Collections.- Chapter 3: Stages and Scenes.- Chapter 4 : Nodes and Controls.- Chapter 5 : Lists and Tables.- Chapter 6 : Event Handling.- Chapter 7: Effects and Animation.- Chapter 8: Concurrency.
Python for Teenagers
This book, which is designed for middle-school through college-aged students, will arm beginners with solid programming foundations they can carry throughout life. It uses fun and simple language (and programming examples) to teach the fundamentals needed to start the down path of becoming a programmer. Python is a highly flexible language, allowing developers to enter any number of technical fields and is a welcome addition to any resume. With its low learning curve, it makes a great introductory language, as new developers can take the coding fundamentals they learn in Python and apply them to any other language.The second edition builds upon the foundation of the first book, revising all the chapters where the language has changed, updating the commands, code, and examples to bring it up to date with the current version of Python.Since Python is the most popular programming language in the world and can be used in conjunction with other languages - across multiple platforms - it can increase the reader's ability to qualify for a wider range of jobs than other languages. Finally, Python is fun - something not every programming language can boast!WHAT YOU WILL LEARN* Install and configure Python* Grasp basic software development principles and syntax* Understand the best practices for coding in Python* Create applications and debug codeWHO THIS BOOK IS FORThe book’s target audience is primarily middle school to college aged students looking to learn how to program computers and develop software. Older individuals and computer programmers who know other languages and want to add Python to their repertoire can also benefit from the book.James R. Payne was introduced to programming when he was just 10 years old. He started off hacking text-based games like Lemonade Stand to gain an advantage while playing and soon started creating his own text-based role-playing games in the style of Dungeons and Dragons and inspired by his favorite comic books. The enjoyment of those early days stuck with him, and he continues to be drawn back into the programming world throughout his career.Payne is the former Editor-in-Chief/Community Manager of Developer Shed, an online publication and community consisting of 14 websites and forums dedicated to programming, web development, and internet marketing. Presently, he is the Editor of Developer at TechnologyAdvice. He's written over a thousand articles on coding and marketing, covering virtually every language and platform available. His first book, Beginning Python (Wrox Press) was published in 2010. In addition, he has published over 3,000 articles covering topics ranging from gaming to aerospace/aeronautics, and also writes adult horror and young adult fantasy books.Payne decided to write this book to pass on his love of development in the hopes that it would inspire future generations to code.
ABAP - Das umfassende Handbuch
Dieses Buch ist ein unverzichtbares Hilfsmittel, ob als Begleiter während einer Einstiegsschulung oder als Nachschlagewerk. Es erklärt Ihnen alle Techniken, Sprachelemente und Werkzeuge der ABAP-Programmierung. Sie erlernen den Umgang mit ABAP Workbench und ABAP Development Tools und verstehen die wichtigen Konzepte von der objektorientierten Programmierung bis zu den neuen Programmiermodellen für SAP S/4HANA. Aus dem Inhalt: ABAP Workbench und ABAP Development Tools (Eclipse)ABAP DictionaryDatenbankzugriffe und neue Open SQL-FunktionenCDS und BOPFReports und SelektionsbildschirmeTests und PerformanceanalyseTransporte und JobverwaltungSchnittstellen, RFC und ErweiterungstechnikenKlassen, Methoden, Ereignisse und InterfacesABAP-Programmiermodell für SAP Fiori und ABAP-RESTful-ProgrammiermodellABAP Channels und ABAP Daemon FrameworkSAP NetWeaver 7.57Nützliche Übersichten und Glossar Einleitung ... 33 TEIL I. Die Werkzeugkiste des ABAP-Entwicklers ... 43 1. Die ABAP Workbench ... 45 1.1 ... Die Werkzeuge der ABAP Workbench ... 46 1.2 ... Der Object Navigator ... 47 1.3 ... Der Repository Browser ... 50 1.4 ... Der ABAP Editor ... 52 2. Die ABAP Development Tools ... 69 2.1 ... SAPs Eclipse-Strategie ... 69 2.2 ... Installation und Konfiguration ... 71 2.3 ... Ein System anbinden ... 75 2.4 ... Einen Report anlegen ... 76 2.5 ... Die Menüleiste und wichtige Tastaturkürzel ... 77 2.6 ... Der Pretty Printer und weitere Quellcodefunktionen ... 81 2.7 ... Die Musterfunktion ... 81 2.8 ... Der Debugger ... 83 2.9 ... Dokumentation mit ABAP Doc ... 89 2.10 ... Refactoring-Funktionen ... 93 3. Das ABAP Dictionary ... 97 3.1 ... Domänen ... 99 3.2 ... Datenelemente ... 104 3.3 ... Strukturen ... 107 3.4 ... Tabellentypen ... 109 3.5 ... Datenbanktabellen ... 112 3.6 ... Indizes ... 118 3.7 ... Typgruppen ... 119 3.8 ... Views ... 120 3.9 ... Pflegedialoge ... 124 3.10 ... Suchhilfen ... 128 3.11 ... Datenbank-Utility-Tool ... 131 3.12 ... Das Sperrkonzept ... 132 4. Transaktionen ... 135 4.1 ... Transaktionen anlegen ... 136 4.2 ... Transaktionen mit ABAP aufrufen ... 140 5. Der Function Builder ... 143 5.1 ... Der Aufbau eines Funktionsbausteins ... 143 5.2 ... Einen Funktionsbaustein anlegen ... 146 5.3 ... Funktionsbausteine testen ... 147 5.4 ... Funktionsgruppen ... 148 6. Der Class Builder ... 151 6.1 ... Klassen anlegen ... 151 6.2 ... Ausnahmeklassen anlegen ... 163 6.3 ... Interfaces anlegen ... 164 TEIL II. Der Kern der Sprache ABAP ... 165 7. Die ABAP-Grundbefehle ... 167 7.1 ... Syntaxregeln ... 168 7.2 ... Kommentare ... 169 7.3 ... Die SAP-Hilfe ... 170 7.4 ... Datendeklaration ... 171 7.5 ... Inline-Deklarationen ... 183 7.6 ... Typdefinitionen ... 185 7.7 ... Initialisierung ... 188 7.8 ... Steueranweisungen ... 189 7.9 ... Rechenoperationen ... 196 7.10 ... Ausgabeanweisungen ... 199 7.11 ... Meldungen ... 201 7.12 ... Mit Zeichenketten arbeiten ... 203 7.13 ... Konstruktorausdrücke ... 216 7.14 ... Operandenpositionen ... 227 7.15 ... Änderungen und Neuerungen bis ABAP 7.57 ... 229 8. Mit internen Tabellen arbeiten ... 231 8.1 ... Tabellenarten ... 232 8.2 ... Interne Tabellen definieren ... 234 8.3 ... Interne Tabellen initialisieren ... 238 8.4 ... Zeilen hinzufügen ... 239 8.5 ... Inhalt auslesen ... 250 8.6 ... Einträge löschen ... 264 8.7 ... Inhalt ändern ... 265 8.8 ... Interne Tabellen kopieren ... 270 8.9 ... Interne Tabellen aufbereiten ... 272 8.10 ... Eingebaute Funktionen für interne Tabellen ... 279 8.11 ... Änderungen und Neuerungen im Umfeld von internen Tabellen bis ABAP 7.57 ... 281 9. Zugriff auf Datenbanken ... 285 9.1 ... Die fünf goldenen Regeln ... 286 9.2 ... Die Open-SQL-Anweisung SELECT ... 288 9.3 ... Open-SQL-Ausdrücke ... 315 9.4 ... Open-SQL-Funktionen ... 321 9.5 ... Ändernde Open-SQL-Anweisungen ... 334 9.6 ... Sekundäre Datenbankverbindungen ... 343 9.7 ... Natives SQL ... 343 9.8 ... ABAP Core Data Services (CDS) ... 346 9.9 ... Änderungen und Neuerungen im Umfeld von Open SQL bis ABAP 7.57 ... 378 9.10 ... Änderungen und Neuerungen im Umfeld von CDS bis ABAP 7.57 ... 381 10. Zugriff auf SAP-HANA-Entwicklungsobjekte ... 385 10.1 ... Aufruf von SAP-HANA-Views ... 385 10.2 ... Aufruf von Datenbankprozeduren ... 388 10.3 ... ABAP Managed Database Procedures (AMDP) ... 391 10.4 ... Änderungen und Neuerungen beim Zugriff auf SAP-HANA-Entwicklungsobjekte bis ABAP 7.57 ... 396 11. Die ABAP-Objects-Syntax ... 399 11.1 ... Grundaufbau einer Klasse ... 400 11.2 ... Sichtbarkeiten ... 403 11.3 ... Datentypen und Attribute ... 404 11.4 ... Methoden ... 405 11.5 ... Konstruktoren ... 412 11.6 ... Ereignisse ... 415 11.7 ... Vererbung ... 418 11.8 ... Klassenarten ... 420 11.9 ... Ausnahmen für Methoden ... 422 11.10 ... Freunde ... 428 11.11 ... Interfaces ... 428 11.12 ... Das ABAP-Objects-Muster ... 432 11.13 ... Casting ... 433 11.14 ... Objekttyp überprüfen ... 434 11.15 ... Änderungen und Neuerungen in ABAP Objects bis ABAP 7.57 ... 436 12. Reports und Selektionsbildschirme ... 437 12.1 ... Ereignisse eines Reports ... 438 12.2 ... Eingabeelemente ... 439 12.3 ... Strukturierungselemente für den Selektionsbildschirm ... 449 12.4 ... Ereignisse eines Selektionsbildschirms ... 453 12.5 ... Textelemente ... 457 12.6 ... Nachrichtenklassen ... 461 12.7 ... Einen Report mit ABAP aufrufen ... 464 12.8 ... SPA-/GPA-Parameter ... 466 13. Strukturierungselemente in ABAP ... 469 13.1 ... Unterprogramme ... 470 13.2 ... Makros ... 476 13.3 ... Includes ... 478 13.4 ... Funktionsbausteine ... 481 13.5 ... Datenkonsistenz ... 487 14. Die Dynpro-Programmierung ... 489 14.1 ... Dynpros anlegen ... 490 14.2 ... Ablauflogik eines Dynpros ... 494 14.3 ... SAP Control Framework ... 502 14.4 ... Pop-up-Fenster ... 506 TEIL III. Techniken zur Qualitätssicherung ... 511 15. Tests und Qualitätskontrolle ... 513 15.1 ... Der ABAP Debugger ... 513 15.2 ... Das Debugging-Skript ... 532 15.3 ... Der Code Inspector ... 538 15.4 ... ABAP Unit ... 542 15.5 ... Das ABAP Test Cockpit ... 551 16. Werkzeuge und Tipps zur Performanceanalyse ... 555 16.1 ... Richtlinien für die ABAP-Entwicklung ... 556 16.2 ... Transaktion SAT: Laufzeitanalyse ... 558 16.3 ... Transaktion SE30: Die alte Laufzeitanalyse ... 562 16.4 ... SQL-Monitor ... 564 16.5 ... SQL Performance Tuning Worklist ... 568 16.6 ... Transaktion ST05 ... 569 16.7 ... Laufzeitanalyse mithilfe der ABAP-Programmierung ... 573 16.8 ... Application Log ... 575 17. Das Transportwesen ... 581 17.1 ... Die SAP-Systemlandschaft ... 582 17.2 ... Transportaufträge ... 585 18. Die Jobverwaltung ... 597 18.1 ... Transaktion SM36: Jobs definieren ... 597 18.2 ... Transaktion SM37: Jobs überwachen und freigeben ... 604 18.3 ... Ereignisse für Jobs ... 605 18.4 ... Jobs mit ABAP definieren ... 606 TEIL IV. Fortgeschrittene Programmiertechniken ... 609 19. Tabellenanzeige mit dem SAP List Viewer (ALV) ... 611 19.1 ... Die alte ALV-Anzeige ... 613 19.2 ... Die neue ALV-Anzeige ... 632 19.3 ... SAP List Viewer mit integriertem Datenzugriff (IDA) ... 647 19.4 ... Mehrere ALV-Tabellen auf einer Oberfläche ... 662 20. SAP-Schnittstellen ... 665 20.1 ... RFC-Funktionsbausteine ... 666 20.2 ... Business-Objekte und BAPIs ... 668 20.3 ... Flat Files ... 679 20.4 ... Webservices (SOAP) ... 686 20.5 ... Batch Input ... 702 20.6 ... Einführung in die Legacy System Migration Workbench (LSMW) ... 709 21. SAP-Erweiterungen ... 711 21.1 ... User Exits ... 711 21.2 ... Customer Exits ... 714 21.3 ... Klassische Business Add-ins (BAdIs) ... 718 21.4 ... Enhancement Framework ... 722 21.5 ... Neue Business Add-ins (BAdIs) ... 742 21.6 ... Switch Framework ... 755 21.7 ... Suche nach Erweiterungen ... 757 22. SAP-Formularentwicklung ... 759 22.1 ... Der Druckdialog ... 761 22.2 ... SAPscript ... 762 22.3 ... SAP Smart Forms ... 770 22.4 ... SAP Interactive Forms by Adobe ... 780 22.5 ... Generierung von PDFs ... 785 23. Business Object Processing Framework ... 791 23.1 ... Aufbau von Geschäftsobjekten ... 794 23.2 ... Anwendung der Consumer-API ... 805 24. Fortgeschrittene Programmiertechniken ... 821 24.1 ... Object Services ... 822 24.2 ... Mit XML und JSON arbeiten ... 830 24.3 ... Daten im Memory ablegen ... 835 24.4 ... Parallelisierung ... 842 24.5 ... Dynamische Erzeugung von Datenobjekten ... 844 24.6 ... Runtime Type Services (RTTS) ... 850 24.7 ... Dynamisches SQL ... 860 24.8 ... Das ABAP Daemon Framework (ADF) ... 862 24.9 ... ABAP Channels ... 870 TEIL V. Objektorientierte Programmierung ... 883 25. Grundlagen der Objektorientierung ... 885 25.1 ... Einführung für ABAP-Entwickler ... 885 25.2 ... Klassen und Objekte ... 891 25.3 ... Instanziierung ... 894 25.4 ... Datenkapselung ... 897 25.5 ... Ereignisse ... 900 25.6 ... Vererbung ... 902 25.7 ... Klassenarten ... 907 25.8 ... Interfaces ... 908 25.9 ... Polymorphie ... 912 25.10 ... Zusammenfassung ... 914 26. Unified Modeling Language (UML) ... 917 26.1 ... Anwendungsfalldiagramm ... 918 26.2 ... Klassendiagramm ... 923 27. Anwendungsentwicklung -- wo fange ich an? ... 933 27.1 ... Anforderungsermittlung ... 935 27.2 ... Analyse ... 940 27.3 ... Entwurf ... 944 28. Entwurfsmuster ... 947 28.1 ... Singleton ... 948 28.2 ... Fabrikmethode ... 950 28.3 ... Model View Controller ... 955 28.4 ... Fassade ... 963 28.5 ... Observer ... 964 28.6 ... Objektorientierte Reports ... 971 TEIL VI. Ein Blick über den Tellerrand: Was Sie als ABAP-Entwickler sonst noch kennen sollten ... 975 29. ABAP-Programmiermodelle ... 977 29.1 ... Das klassische Programmiermodell ... 980 29.2 ... Die Innovation für die Zukunft ... 982 29.3 ... Das ABAP-Programmiermodell für SAP Fiori ... 983 29.4 ... Das ABAP RESTful Application Programming Model ... 987 30. SAP HANA ... 999 30.1 ... Überblick ... 1000 30.2 ... Architektur ... 1001 30.3 ... Migration auf SAP HANA ... 1005 30.4 ... SAP-HANA-Objekte ... 1006 30.5 ... Volltextsuchen ... 1010 31. SAPUI5, SAP Fiori und SAP Gateway ... 1019 31.1 ... SAPUI5 ... 1020 31.2 ... SAP Fiori ... 1022 31.3 ... OData ... 1024 31.4 ... SAP Gateway ... 1030 31.5 ... Entwicklung eines OData-Service ... 1032 31.6 ... Überblick über die Implementierung der CRUDQ-Methoden ... 1044 32. Andere SAP-Webtechnologien ... 1053 32.1 ... Business Server Pages (BSP) ... 1054 32.2 ... Web Dynpro ABAP ... 1061 32.3 ... Internet Communication Framework ... 1079 Anhang ... 1083 A ... Das SAP-Flugdatenmodell ... 1085 B ... Übersicht der ABAP-Anweisungen ... 1087 C ... Eingebaute Datentypen ... 1097 D ... Transaktionscodes ... 1099 E ... Wichtige Systemfelder ... 1103 F ... Technische Tabellen ... 1105 G ... Nützliche Funktionsbausteine ... 1107 H ... Klassen ... 1111 I ... Namenskonventionen für die Programmierung ... 1113 J ... Systemglossar und Suche nach fremdsprachigen SAP-Begriffen ... 1117 K ... Glossar ... 1119 Der Autor ... 1125 Index ... 1127
XML
Dieses Buch liefert Ihnen fundiertes Wissen zu den XML-Grundlagen und zum Einsatz von XML in der Software- und Webentwicklung, im E-Publishing und im Office-Bereich. Das Buch ist modular aufgebaut, sodass Sie XML von Grund auf lernen oder gezielt nachschlagen können, was Sie wissen möchten. Profitieren Sie von den vielen Praxisbeispielen und entwickeln Sie Ihre individuellen Anwendungen.
Python Graphics
This book shows how to use Python’s built-in graphics primitives - points, lines, and arrows – to create complex graphics for the visualization of two- and three-dimensional objects, data sets, and technical illustrations.This updated edition provides more detailed explanations where required, especially regarding Python code, and explores scientific applications to topics of contemporary importance. You’ll learn how to create any 2D or 3D object or illustration, as well as how to display images, use color, translate, rotate, shade, add shadows that are cast on other objects, remove hidden lines, plot 2D and 3D data, fit lines and curves to data sets, display points of intersection between 2D and 3D objects, and create digital art. Demonstrations are included which illustrate graphics programming techniques by example, the best way to learn a language.Also brand new to this edition are demonstrations on how to visualize electron probability clouds around a nucleus, climate change, ecological diversity, population dynamics, and resource management. Python source code, including detailed explanations, is included for all applications, making the book more accessible to novice Python programmers.After completing this book, you will be able to create compelling graphic images without being limited to functions available in existing Python libraries.WHAT YOU WILL LEARN* Create 2D and 3D graphic images* Add text and symbols to images* Shade 3D objects* Display cast shadows* Use color for maximum effect* View 2D and 3D data sets* Fit lines and curves to data setsWHO THIS BOOK IS FORPython developers, scientists, engineers, and students who use Python to produce technical illustrations and display and analyze data sets. Assumes familiarity with vectors, matrices, geometry and trigonometry.DR. BERNARD J. KORITES holds degree from Tufts and Yale. He has been involved in engineering and scientific applications of computers for his entire career. He has been an educator, consultant, and author of more than ten books on geometric modeling, computer graphics, simulation of physical processes, and the application of computers in science and engineering.He has been employed by Northrop Aviation, the Woods Hole Oceanographic Institute, Arthur D. Little, and Itek. He has consulted for the US Navy, Aberdeen Proving Grounds, and others. He was Chief Engineer on an expedition to take the longest sediment core sample in the North Atlantic aboard the Canadian Icebreaker John Cabot. He has made numerous dives aboard the submersible Alvin and has spent time aboard the USBCF Albatross. Early in his Career, he developed software to find physical interference between systems of solid objects. This found wide application in the design of power plants, submarines, and other systems with densely packed spaces.CHAPTER 1: ESSENTIAL PYTHON COMMANDS AND FUNCTIONSProgramming style, the plotting area, Size of the plotting area, importing plottingcommands, displaying the plotting area, the plotting grid, saving a plot, grid color,tick marks, custom grid lines, labelling the axes, plot title, colors - mixing, intensity,overplotting, background color, plotting area shape, correcting shape distortions, coordinate exes, commonly used plotting commands and functions, point, dots, lines,arrows, text in plots, lists, tuples and arrays.CHAPTER 2: GRAPHICS IN TWO DIMENSIONSMaking lines from dots, dot art, circular arcs from dots, circular arcs from line segments, circles, dot circles, ellipses, 2D translation, 2D rotation.CHAPTER 3: GRAPHICS IN THREE DIMENSIONSThe 3-dimensional coordinate system, projections onto the coordinate planes, rotationsaround the y, x and z directions, separate rotations around the coordinate directions,sequential rotations around the coordinate directions, matrix concatenation, keyboarddata entry with functional program structure.CHAPTER 4: PERSPECTIVE3D objects with perspective transformation.CHAPTER 5: INTERSECTIONS3D Lines intersecting 3D rectangular plane, triangular planes, circle, circular sector,sphere, plane intersecting a sphere.CHAPTER 6: HIDDEN LINE REMOVALbox, pyramid, planes, sphere.CHAPTER 7: SHADINGShading a box, a sphere.CHAPTER 8: 2D DATA PLOTTINGLinear regression, function fitting, splines.CHAPTER 9: 3D DATA PLOTTING3D surfaces, surface shading.CHAPTER 10: DEMONSTRATION - SATURNCHAPTER 11: DEMONSTRATION - THE SUNsolar radiation, photons and the Sun, Max Planck’s black body radiation, the Sun’stotal power output, Earth’s irradiance, the Sun Earth model.CHAPTER 12: DEMONSTRATION - ELECTRON PROBABILITY CLOUDSCHAPTER 13: DEMONSTRATION - CLIMATE CHANGECHAPTER 14: DEMONSTRATION - ECOLOGICAL DIVERSITYCHAPTER 15: DEMONSTRATION - POPULATION DYNAMICSCHAPTER 16: DEMONSTRATION - RESOURCE MANAGEMENTCHAPTER 17: DEMONSTRATION - MORE IMAGES OF SATURNAppendix A: Where to Get PythonAppendix B: Planck’s Radiation Law and the Stefan-Boltzmann EquationAppendix C: A Primer on Python ProgrammingAppendix D: Standard Python Programming Functions
Handbuch Data Science mit Python (2. Auflage)
Handbuch Data Science mit Python. Grundlegende Tools für die Arbeit mit Daten. Übersetzung der 2. Auflage. November 2023.Für viele Data Scientists ist Python die Sprache der Wahl, weil zahlreiche ausgereifte Bibliotheken zum Speichern, Bearbeiten und Auswerten von Daten verfügbar sind. Jake VanderPlas versammelt in dieser 2. Auflage seines Standardwerks alle wichtigen Datenanalyse Tools in einem Band und erläutert deren Einsatz in der Praxis. Beschrieben werden IPython, Jupyter, NumPy, Pandas, Matplotlib, Scikit Learn und verwandte Werkzeuge.Für Datenanalystinnen und analysten und Data Cruncher mit Python Kenntnissen ist dieses umfassende Handbuch von unschätzbarem Wert bei der Erledigung ihrer täglichen Aufgaben. Dazu gehören die Manipulation, Umwandlung und Bereinigung von Daten, die Visualisierung verschiedener Datentypen sowie die Nutzung von Daten zum Erstellen von Statistiken und Machine Learning Modellen.Dieses Handbuch beschreibt die folgenden Tools: IPython und Jupyter bieten eine Umgebung für Berechnungen, die von vielen Data Scientists genutzt wirdNumPy stellt das ndarray zum effizienten Speichern und Bearbeiten dicht gepackter Datenarrays bereitPandas verfügt über das DataFrameObjekt für die Speicherung und Manipulation gelabelter und spaltenorientierter DatenMatplotlib ermöglicht die flexible und vielseitige Visualisierung von DatenScikitLearn unterstützt bei der Implementierung der wichtigsten und gebräuchlichsten Algorithmen für das Machine Learning.Jake VanderPlas ist Software Engineer bei Google Research und arbeitet an Tools, die datenintensive Forschung unterstützen. Er entwickelt Python-Tools für den Einsatz in der Data Science, darunter Pakete wie Scikit-Learn, SciPy, AstroPy, Altair, JAX und viele andere. Er engagiert sich in der Data-Science-Community, konzipiert Tutorials zu Themen des wissenschaftlichen Computings und hält Vorträge auf vielen verschiedenen Konferenzen in der Data-Science-Welt.Leseprobe (PDF-Link)
Creating Responsive Websites Using HTML5 and CSS3
Learn to implement web designs using HTML5 and CSS3. This book focuses on the need for responsive web design and how you can leverage HTML5 and CSS3 to create interactive websites that work in the real world. You do not need be a technology expert or have a prior coding background to benefit from this book. All you need is a want to learn and a curious mind to explore the full spectrum of features HTML5 and CSS3 have to offer.You'll see how to migrate legacy websites to responsive websites in a very easy-to-understand, step-by-step, manner. Additionally, you will learn to use supportive software to create, run, and debug any issues that may arise during the development process. This book will also show you how to implement websites that work on multiple devices, and on various browsers such as Opera, Chrome, internet Explorer, or Edge. All this will be explored with supporting files, open-source software, as well as a practical guide to creating your demo website along with learning new technologies.From the basics to more advanced topics, Creating Responsive Websites Using HTML and CSS is for anyone who wants to learn about and build beautiful responsive websites.WHAT YOU'LL LEARN* Code and design websites using HTML5 and CSS3 * Design professional-looking websites using colors, margins, images, and other aspects* Create a responsive design that will work on laptops, PCs, and any kind of mobile device* Troubleshoot and fix code errors independently using developer tools* Solve cross-browser responsiveness issues and the challenges that come with different operating systemsWHO THIS BOOK IS FORStudents and/or website designers who want to upskill their talentsVARUN GOR has over 14 years of experience in creating websites using java, HTML, CSS, and JavaScript technologies worked with major IT with exposure to a global clientele. Varun graduated in Computer Science from Visvesvaraya Technological University in2007 and has been part of the corporate world ever since. Along with his innate nature to explore technology, Varun is interested in outdoor activities and has been part of club cricket and played division 3 league matches, been on a night trek near Bengaluru, and explored the city (less city more food) on his bike. Apart from outdoor activities, he enjoys binge-watching good movies and tv shows (recently on web series) and at times he disconnects himself from the world around him using a device named headphones. Recently he has developedChapter 1 Introduction to Web Development.- Chapter 2 HTML5 and Responsive Web Design.- Chapter 3 Cascading Style Sheets & Layouts.- Chapter 4 Media Queries.- Chapter 5 CSS Selectors, Color Modes & More.- Chapter 6 Animations & Transitions in CSS3.- Chapter 7 Background and Shadows in CSS.- Chapter 8 Forms with HTML.- Chapter 9 Cross Browser Challenges and How to resolve it.