Software
SAP Interactive Forms by Adobe
Maßgeschneiderte Formulare für Ihre Geschäftsprozesse! Lernen Sie, wie Sie mit SAP Interactive Forms by Adobe interaktive Formulare erstellen, die Anwender später am Bildschirm ausfüllen können. In dieser 4. Auflage unseres Standardwerks erfahren Sie auch, welche Besonderheiten bei der Formularausgabe in SAP S/4HANA zu beachten sind und welche Alternativen Ihnen SAP Cloud Platform Forms by Adobe bietet. Aus dem Inhalt: PDF-basierte PrintformulareAdobe Reader Adobe LiveCycle DesignerAdobe Document ServicesBarrierefreie PDF-FormulareEtikettendruckWebservicesABAP-Offline-InfrastrukturSkriptprogrammeMasterseiten und Rich-Text-FelderSchnittstellen und ZertifikateOutput Management in SAP S/4HANASAP Cloud Platform Forms by Adobe Einleitung ... 19 1. Einsatz von SAP Interactive Forms by Adobe ... 27 1.1 ... PDF, PDF-basierte Druckformulare und interaktive PDF-Formulare ... 27 1.2 ... Adobe Acrobat Reader und Adobe Acrobat Pro ... 34 1.3 ... Beispiele für PDF-basierte Druckformulare und interaktive PDF-Formulare ... 39 1.4 ... Verwendung von interaktiven Formularen in Geschäftsprozessen ... 45 1.5 ... Softwarekomponenten und Architektur ... 52 1.6 ... Formularvorlagen in SAP S/4HANA ... 65 1.7 ... Zusammenfassung ... 68 2. Systemvorbereitung ... 71 2.1 ... Installation des Adobe LiveCycle Designer ... 71 2.2 ... Installation des Adobe Acrobat Reader DC ... 74 2.3 ... Zusammenfassung ... 76 3. Installation und Konfiguration der Adobe Document Services ... 77 3.1 ... Automatische Konfiguration ... 77 3.2 ... Grundkonfiguration ... 79 3.3 ... Szenarioabhängige Konfiguration ... 84 3.4 ... Konfiguration für die Parallelisierung ... 100 3.5 ... Optionale Konfiguration ... 107 3.6 ... Betrieb der Adobe Document Services ... 115 3.7 ... Hub-Konzept ... 119 3.8 ... Zusammenfassung ... 122 4. Schnittstelle und Formularkontext ... 123 4.1 ... Aufbau eines Formulars ... 123 4.2 ... Schnittstelle eines Formulars ... 124 4.3 ... Kontext eines Formulars ... 141 4.4 ... Dokumentation eines Formulars ... 175 4.5 ... Zusammenfassung ... 176 5. Erstellung von Formularvorlagen ... 177 5.1 ... Aufbau des Adobe LiveCycle Designer ... 177 5.2 ... Grundlagen der Formularvorlagenerstellung ... 184 5.3 ... Datenbindungen für Formularfelder ... 198 5.4 ... Strukturierung von Formularvorlagen durch Teilformulare ... 202 5.5 ... Verwendung von Masterseiten und Rich-Textfeldern ... 213 5.6 ... Wiederverwendung von Formularobjekten ... 218 5.7 ... Implizite Datenbindung ... 222 5.8 ... Tipps zur Arbeit mit dem Adobe LiveCycle Designer ... 227 5.9 ... Zusammenfassung ... 235 6. Formularausgabe ... 237 6.1 ... Druckprogramm ... 238 6.2 ... Spool-System ... 253 6.3 ... Gerätetypen für die Ausgabe ... 256 6.4 ... Zusätzliche Druckoptionen ... 259 6.5 ... Spezielle Ausgabeszenarien ... 265 6.6 ... Fehleranalyse ... 273 6.7 ... Performanceoptimierung durch Bündelung ... 282 6.8 ... Parallelisierung von Druckaufträgen ... 291 6.9 ... XFP-Datenströme ... 301 6.10 ... Zusammenfassung ... 303 7. Fortgeschrittene Formularvorlagenerstellung ... 305 7.1 ... Fortgeschrittene Techniken für Druckformulare ... 305 7.2 ... Interaktive PDF-Formulare ... 331 7.3 ... Verwendung von Skriptprogrammen ... 363 7.4 ... Verwendung von Barcodes ... 385 7.5 ... Verwendung von Etikettendruckern ... 387 7.6 ... Tipps zur Leistungsverbesserung ... 388 7.7 ... Einführung in barrierefreie PDF-Formulare ... 390 7.8 ... Weiterführende Informationen ... 393 7.9 ... Zusammenfassung ... 395 8. ABAP Offline Infrastructure ... 397 8.1 ... Offline-Szenarien mittels E-Mail-Nachrichten ... 397 8.2 ... Beispielszenario: Adressenaktualisierung im Flugbuchungsmodell ... 398 8.3 ... Konfiguration des E-Mail-Eingangs ... 400 8.4 ... Verwendung der ABAP Offline Infrastructure ... 401 8.5 ... Testen des Offline-Szenarios ... 422 8.6 ... Zusammenfassung ... 426 9. ABAP-PDF-Objekt ... 427 9.1 ... Instanziieren des PDF-Objekts ... 428 9.2 ... Erzeugung eines PDF-Dokuments ... 431 9.3 ... Verarbeitung eines interaktiven PDF-Dokuments ... 443 9.4 ... Zertifizierung von PDF-Dokumenten ... 452 9.5 ... Weitere Methoden des PDF-Objekts ... 462 9.6 ... Zusammenfassung ... 463 10. Offline-Szenarien mittels Webservices ... 465 10.1 ... Verwendung von WSDL-Datenverbindungen ... 466 10.2 ... Verwendung des SOAP-Objekts in JavaScript ... 483 10.3 ... Tipps für die Verwendung von Webservices ... 496 10.4 ... Zusammenfassung ... 497 11. Formularvorlagen in SAP S/4HANA ... 499 11.1 ... Adobe LiveCycle Designer für SAP als eigenständige Anwendung ... 499 11.2 ... Fragmentbasierte und Standalone-Formularvorlagen ... 501 11.3 ... Download von Formularvorlagen und Hochladen in die Designumgebung ... 504 11.4 ... Bearbeitung von Formularvorlagen im Adobe LiveCycle Designer ... 509 11.5 ... Upload von Formularvorlagen in der SAP-Fiori-App »Formularvorlagen pflegen« ... 533 11.6 ... Transportanbindung ... 540 11.7 ... Zusammenfassung ... 551 12. Übersetzung von Formularvorlagen ... 553 12.1 ... Übersetzung klassischer Formularvorlagen ... 553 12.2 ... Übersetzung von SAP-S/4HANA-Formularvorlagen ... 565 12.3 ... Probleme bei Übersetzungen behandeln ... 585 12.4 ... Customizing-Lösungen zur Pflege von Übersetzungen ... 586 12.5 ... Herkunft einer Übersetzung ... 589 12.6 ... Zusammenfassung ... 593 13. Einrichtung des SAP-Gateway-Service ... 595 13.1 ... Datenversorgung der Formularvorlagen in SAP S/4HANA ... 595 13.2 ... SAP-Gateway-Services ... 596 13.3 ... SAP-Fiori-App »Benutzerdefinierte Felder und Logik« ... 613 13.4 ... Zusammenfassung ... 640 14. Ausgabesteuerung in SAP S/4HANA konfigurieren ... 641 14.1 ... Grundlegende Einstellungen ... 641 14.2 ... bgRFC konfigurieren ... 655 14.3 ... Ablagesystem und Ablagekategorie einrichten ... 656 14.4 ... Aktivierung der Ausgabeverwaltung ... 659 14.5 ... Customizing der Ausgabearten ... 664 14.6 ... Geschäftsregeln für die Ausgabeparameterfindung definieren ... 672 14.7 ... Ausgabekanäle zuordnen ... 696 14.8 ... Findungsregeln für Master-Formularvorlage definieren ... 698 14.9 ... Formularvorlagen zuordnen ... 705 14.10 ... E-Mail-Vorlagen zuordnen ... 711 14.11 ... Customizing und Datenpflege in den Produktivsystemen ... 712 14.12 ... Problemlösung und Fehlerbehandlung ... 713 14.13 ... Zusammenfassung ... 723 15. SAP Cloud Platform Forms by Adobe ... 725 15.1 ... Architektur von SAP Forms by Adobe ... 726 15.2 ... Konfiguration von SAP Forms by Adobe ... 727 15.3 ... SAP Forms by Adobe REST API ... 752 15.4 ... Erweiterte Konfiguration von SAP Forms by Adobe ... 754 15.5 ... Einsatz von SAP Forms by Adobe ... 758 15.6 ... Zusammenfassung ... 759 A. Wichtige SAP-Hinweise ... 763 B. Weiterführende Informationen und Quellen ... 767 C. Der Autor ... 771 Index ... 773
Custom-Code-Migration nach SAP S/4HANA
In Ihrem SAP-System gibt es jede Menge Eigenentwicklungen und Erweiterungen? Lassen Sie sich dadurch bei der SAP-S/4HANA-Migration nicht ausbremsen! Emily Celen und Lutz Rosenpflanzer lassen Sie an ihren Erfahrungen aus zahlreichen Migrationsprojekten teilhaben und zeigen Ihnen Schritt für Schritt, wie Sie den Code analysieren, adaptieren und optimieren. Sie erfahren, worauf Sie im Einzelnen achten müssen, und erlernen den Umgang mit allen wichtigen Werkzeugen. Aus dem Inhalt: Projektplanung und -vorbereitungSimplification Items Compatibility ViewsABAP Test Cockpit und PrüftitelCustom Code ManagementÄnderungszeitpunkte bei der Ausführung des Software Update Managers (SUM)Anpassungen für SAP HANA und SAP S/4HANAPerformanceoptimierungProgrammierrichtlinienFallstricke und Best Practices Vorwort ... 15 Einleitung ... 19 1. Was kommt mit SAP S/4HANA auf Sie zu? ... 23 1.1 ... SAP S/4HANA im Vergleich zur klassischen SAP Business Suite ... 25 1.2 ... Transformationsszenarien ... 34 1.3 ... Zusammenfassung ... 44 2. Das Konvertierungsprojekt im Überblick ... 45 2.1 ... Ablauf eines Konvertierungsprojekts ... 45 2.2 ... Beispiel für einen groben Projektplan ... 51 2.3 ... Welche Änderungen am Anwendungscode sind erforderlich? ... 54 2.4 ... Die wichtigsten Vorbereitungen für die Konvertierung ... 83 2.5 ... Zusammenfassung ... 97 3. Umfang der Custom-Code-Migration bestimmen ... 99 3.1 ... Welcher Code muss migriert werden? ... 99 3.2 ... Verwendungsprotokollierung ... 102 3.3 ... Custom Code Lifecycle Management im SAP Solution Manager ... 116 3.4 ... Die App »Custom Code Migration« ... 124 3.5 ... Manuelle Auswertung der Verwendung kundeneigener Objekte ... 128 3.6 ... Zusammenfassung ... 138 4. Analyse der erforderlichen Anpassungen ... 141 4.1 ... Welche Tools helfen bei der Analyse? ... 141 4.2 ... ABAP Test Cockpit ... 144 4.3 ... Standardprüfvarianten ... 156 4.4 ... Prüfung fremder Namensräume ... 168 4.5 ... Prüfungen von SAP-Fiori-Apps aus SAP ERP ... 170 4.6 ... Prüfungen mit der App »Custom Code Migration« ... 173 4.7 ... Dateibasierte Werkzeuge ... 182 4.8 ... Weitere Prüfungen und Aktivitäten im Rahmen der Systemkonvertierung ... 188 4.9 ... Zusammenfassung ... 193 5. Custom-Code-Anpassung für SAP HANA ... 195 5.1 ... Technische Grundlagen zur Custom-Code-Anpassung für SAP HANA ... 196 5.2 ... Beispiele für Prüffehler ... 206 5.3 ... Beispiele für den Prüftitel »Voraussetzungen für den Test« ... 209 5.4 ... Beispiele für den Prüftitel »Kritische Anweisungen« ... 212 5.5 ... Beispiele für den Prüftitel »Problematische Anweisungen« ... 215 5.6 ... Beispiele für den Prüftitel »DB-Operationen in Pool-/Cluster-Tabellen suchen« ... 229 5.7 ... Beispiele für den Prüftitel »Verwendung der ADBC-Schnittstelle« ... 235 5.8 ... Suche von ABAP-Anweisungsmustern ... 239 5.9 ... Zusammenfassung ... 246 6. Custom-Code-Anpassung für SAP S/4HANA ... 247 6.1 ... Technische Grundlagen zur Custom-Code-Anpassung für SAP S/4HANA ... 248 6.2 ... Versionen der SAP-S/4HANA-Prüfvarianten ... 257 6.3 ... Beispiele für den Prüftitel »S/4HANA: Feldlängenerweiterungen« ... 258 6.4 ... Beispiele für den Prüftitel »S/4HANA: Nach ABAP-Dictionary-Erweiterungen suchen« ... 274 6.5 ... Beispiele für den Prüftitel »S/4HANA: Nach Basistabellen der ABAP-Dictionary-Views suchen« ... 281 6.6 ... Beispiele für den Prüftitel »S/4HANA: Suche nach Datenbankoperationen« ... 288 6.7 ... Beispiele für den Prüftitel »S/4HANA: Suche nach Verwendungen der vereinfachten Objekte« ... 293 6.8 ... Beispiele für den Prüftitel »S/4HANA: Readiness Check für SAP Queries« ... 305 6.9 ... Zusammenfassung ... 309 7. Quick Fixes ... 311 7.1 ... Systemvoraussetzungen ... 311 7.2 ... Funktionsumfang der SAP-S/4HANA-Quick-Fixes ... 313 7.3 ... Quick Fixes in den ABAP Development Tools verwenden ... 316 7.4 ... Eigene Quick Fixes anlegen ... 325 7.5 ... Zusammenfassung ... 329 8. Custom-Code-Optimierung nach der Migration ... 331 8.1 ... Optimierungswerkzeuge ... 333 8.2 ... Optimierung der Datenbankzugriffe ... 344 8.3 ... Neue Sprachelemente und Programmierobjekte ... 356 8.4 ... Umbau des Custom Codes auf neue Objekte ... 371 8.5 ... Erweiterungskonzepte und Clean Core ... 372 8.6 ... Zusammenfassung ... 382 9. Best Practices für Transformationsprojekte ... 385 9.1 ... Typische Herausforderungen und Fallstricke ... 385 9.2 ... Spezielle Lösungsansätze und zusätzliche Tools ... 400 9.3 ... Partnertools und -services ... 416 9.4 ... Zusammenfassung ... 420 Anhang ... 423 A. Wichtige Transaktionen ... 425 B. Checkliste zur Vorbereitung der Custom-Code-Migration ... 429 C. Das Autorenteam ... 431 Index ... 433
Sketchnotes!
Den Stift in die Hand und los geht’s! Komplexe Ideen schnell und einfach vermitteln? Mit Sketchnotes kein Problem. Ob Mitschrift, Präsentation oder Kochrezept – der Anwendung von Sketchnotes sind keine Grenzen gesetzt! Entdecken Sie, wie Sie einfache Symbole, Zeichnungen, Überschriften und Verzierungen erstellen, um Inhalte schneller und besser festzuhalten, Gedanken zu strukturieren oder neue Ideen zu entwickeln. „Ich kann nicht zeichnen!“ gibt es nicht! Die professionelle Sketchnoterin Emily Mills holt dabei sowohl Einsteiger als auch Fortgeschrittene ab: Ob es um die verschiedenen Arten von visuellen Notizen, das aktive Zuhören oder die Durchsicht von Material sowie Tipps für die Veröffentlichung geht, kein Thema wird in diesem unterhaltsamen und lehrreichen Buch ausgelassen. Und das Beste ist: Jeder kann Sketchnotes lernen – auch Sie! Sketchnotes? So geht's! Was sind visuelle Notizen?Sketchnotes für Vorträge, Besprechungen, Kochrezepte ...Aktives Zuhören lernenFiguren, Gesichter, Hände zeichnenVerschiedene Schriften ausprobierenContainer, Rahmen, Pfeile, VerzierungenFarbe und SchattierungenEigene Bildsprache finden undBildideen entwickelnVisuelle Bibliotheken anlegen und pflegen, mit visuellen Metaphern arbeitenGraphic RecordingSketchnotes analog und digital Einleitung ... 6 So verwenden Sie dieses Buch ... 7 Die Grundlagen: Was sind Sketchnotes? ... 8 Warum sind Sketchnotes wichtig? ... 13 Wer kann Sketchnotes machen? ... 15 Arten von Sketchnotes ... 16 Wie kann ich Sketchnotes verwenden? ... 18 Werkzeuge: ein ganzes Arsenal an Fähigkeiten ... 19 Materialien ... 19 Schreib- und Zeichenwerkzeuge ... 24 Nützliches Zubehör ... 26 Überlegungen zur Auswahl Ihrer Werkzeuge ... 28 Ihre Einstellung ... 28 Vorbereitung: Bevor Sie anfangen ... 29 Den besten Platz wählen ... 29 Zeitplan besorgen ... 29 Zuhören ... 30 Drei Schritte zum guten Zuhören ... 30 Hinweise für das Zuhören ... 32 Schreiben ... 34 Schrift ... 34 Kursiv-Schreibschrift ... 36 Blockschrift ... 37 Serifenbuchstaben ... 38 Verzierungen ... 39 Hierarchie & Gestaltung ... 44 Zeichnen ... 48 Die Grundlagen ... 49 Phantasie und Assoziation ... 50 Levelung up -- Aufwerten ... 51 Menschen und Figuren ... 52 Hände ... 55 Gesichter im Cartoonstil ... 58 Alles zusammenfügen ... 67 Blickrichtung ... 70 Container ... 70 Zahlen ... 72 Pfeile ... 73 Informationen schnell finden ... 76 Symbole ... 76 Informationen mit Diagrammen visualisieren ... 80 Ihre visuelle Bibliothek ... 84 Bauen Sie Ihre Bibliothek auf ... 84 Visuelle Metaphern ... 86 Kopfzeilen -- Header ... 90 So erstellen Sie Kopfzeilen ... 92 Layouts ... 96 Arten von Layouts ... 96 Das beste Layout wählen ... 97 Zeitblöcke definieren ... 99 Verfeinern ... 104 Was sollten Sie verfeinern? ... 105 Rechtschreibung ... 106 Leitformen ... 109 Schatten ... 110 Farbe ... 112 Was macht visuelle Notizen »gut«? ... 115 »Gut« aussehen ... 116 Visuelle Notizen mit anderen Teilen ... 118 Machen Sie gute Fotos ... 119 Der Wert des Teilens ... 121 Der richtige Zeitpunkt ... 122 Besser werden: Beobachten Sie sich selbst ... 124 Tipps für Linkshänder ... 125 Visuelle Notizen in Beruf und Bildung ... 126 Erste Schritte ... 126 Ein Rundgang ... 127 Über die Autorin ... 128
Die Kunst des Game Designs
* GRUNDLAGEN DER KONZEPTION UND ENTWICKLUNG ERFOLGREICHER COMPUTERSPIELE VON EINEM DER WELTWEIT FÜHRENDEN GAME DESIGNER* ÜBER 100 REGELN UND ZENTRALE FRAGEN ZUR INSPIRATION FÜR DEN KREATIVEN PROZESS* ZAHLREICHE WERTVOLLE DENKANSTÖẞE UND BEST PRACTICES AUS DEM GAME DESIGNJeder kann erfolgreiche Spiele entwickeln – dazu bedarf es keines technischen Fachwissens. Dabei zeigt sich, dass die gleichen psychologischen Grundprinzipien, die für Brett-, Karten- und Sportspiele funktionieren, ebenso der Schlüssel für die Entwicklung beliebter Videospiele sind.Mit diesem Buch lernen Sie, wie Sie im Prozess der Spielekonzeption und -entwicklung vorgehen, um perfekt durchdachte Games zu kreieren. Jesse Schell zeigt, wie Sie Ihr Game durch eine strukturierte methodische Vorgehensweise Schritt für Schritt deutlich verbessern.Mehr als 100 gezielte Fragestellungen und zahlreiche Beispiele aus klassischen und modernen Spielen eröffnen Ihnen neue Perspektiven, so dass Sie für Ihr eigenes Spiel die Features finden, die es erfolgreich machen. Hierzu gehören z.B. Fragen wie: Welche Herausforderungen stellt mein Spiel an die Spieler? Fördert es den Wettbewerb unter den Spielern? Werden sie dazu motiviert, gewinnen zu wollen?Im Buch erfahren Sie, worauf es bei einem Game ankommt, das die Erwartungen Ihrer Spieler erfüllt und gerne gespielt wird. Zugleich liefert der Autor Ihnen jede Menge Inspiration – halten Sie beim Lesen Zettel und Stift bereit, um Ihre neuen Ideen sofort festhalten zu können.AUS DEM INHALT:* Ein Erlebnis erschaffen* Elemente des Spiels* Die Spielidee* Prototypentwicklung* Spieler motivieren und Bedürfnisse erfüllen* Spielmechaniken wie Aktionen, Regeln, Fähigkeiten, Wahrscheinlichkeiten* Game Balancing* Das Interface* Best Practices aus Virtual Reality und Augmented Reality* Die Story* Spielwelten und -charaktere* Spieletests* Profit erzielen-Magazin des MIT als einer der 100 führenden Nachwuchsinnovatoren der Welt ausgezeichnet.
Advanced Platform Development with Kubernetes
Leverage Kubernetes for the rapid adoption of emerging technologies. Kubernetes is the future of enterprise platform development and has become the most popular, and often considered the most robust, container orchestration system available today. This book focuses on platforming technologies that power the Internet of Things, Blockchain, Machine Learning, and the many layers of data and application management supporting them._Advanced Platform Development with Kubernetes_ takes you through the process of building platforms with these in-demand capabilities. You'll progress through the development of Serverless, CICD integration, data processing pipelines, event queues, distributed query engines, modern data warehouses, data lakes, distributed object storage, indexing and analytics, data routing and transformation, query engines, and data science/machine learning environments. You’ll also see how to implement and tie together numerous essential and trending technologies including: Kafka, NiFi, Airflow, Hive, Keycloak, Cassandra, MySQL, Zookeeper, Mosquitto, Elasticsearch, Logstash, Kibana, Presto, Mino, OpenFaaS, and Ethereum.The book uses Golang and Python to demonstrate the development integration of custom container and Serverless functions, including interaction with the Kubernetes API. The exercises throughout teach Kubernetes through the lens of platform development, expressing the power and flexibility of Kubernetes with clear and pragmatic examples. Discover why Kubernetes is an excellent choice for any individual or organization looking to embark on developing a successful data and application platform.WHAT YOU'LL LEARN* Configure and install Kubernetes and k3s on vendor-neutral platforms, including generic virtual machines and bare metal* Implement an integrated development toolchain for continuous integration and deployment* Use data pipelines with MQTT, NiFi, Logstash, Kafka and Elasticsearch* Install a serverless platform with OpenFaaS* Explore blockchain network capabilities with Ethereum * Support a multi-tenant data science platform and web IDE with JupyterHub, MLflow and Seldon Core* Build a hybrid cluster, securely bridging on-premise and cloud-based Kubernetes nodes WHO THIS BOOK IS FORSystem and software architects, full-stack developers, programmers, and DevOps engineers with some experience building and using containers. This book also targets readers who have started with Kubernetes and need to progress from a basic understanding of the technology and "Hello World" example to more productive, career-building projects.Craig Johnson currently holds the positions of CTO and partner in Deasil Cognitive, Inc. and Chief Architect at Deasil Works, Inc and has been developing software for over 25 years. Craig’s expertise revolves around microservices, artificial intelligence, algorithms, machine learning and blockchain technologies.Craig has helped lead his team to significantly improved productivity and return on investment across many client projects; leveraging Kubernetes, Docker, Golang, Cassandra, Kafka and Elastic to name a few. The team and he are developing more productive, stable, clean and faster applications than ever in the past, and the results are beautiful and innovative IoT management systems, IoT implementations, mobile applications, business intelligence, data management and machine learning platforms.As the former Director of R&D at Napster and later a hand full of Universal and Sony subsidiaries, Craig has been fortunate to spend many of my early days on the bleeding edge, in the open green fields of new media and disruptive technology.Craig is successfully operating multiple commercial Kubernetes platforms utilizing nearly all the technology and concepts proposed in Platform Development with Kubernetes. Over the next 8-12 months he will be developing the next iteration of these concepts for a number of clients. Platform Development with Kubernetes will be based on successful real-world systems currently in development and production.ADVANCED PLATFORM DEVELOPMENT WITH KUBERNETESPart 1: InfrastructureChapter 1: Platform as InfrastructureChapter 2: DevOpsChapter 3: Development EnvironmentChapter 4: CI/CDPart 2: Data PlatformChapter 5: PipelineChapter 6: Indexing, Analysis, and VisualizationChapter 7: Lakes and WarehousesChapter 8: Routing and TransformationPart 3: ApplicationChapter 9: Blockchain PlatformChapter 10: Blockchain EventsChapter 11: AI/ML AutomationChapter 12: Kubernetes API
Beginning Quarkus Framework
Harness the power of Quarkus, the supersonic subatomic cloud-native Java platform from Red Hat. This book covers everything you need to know to get started with the platform, which has been engineered from the ground up for superior performance and cloud-native deployment.You’ll start with an overview of the Quarkus framework and its features. Next, you'll dive into building your first microservice using Quarkus, including the use of JAX-RS, Swagger, Microprofile, REST, reactive programming, and more. You’ll see how to seamlessly add Quarkus to existing Spring framework projects. The book continues with a dive into the dependency injection pattern and how Quarkus supports it, working with annotations and facilities from both Jakarta EE CDI and the Spring framework. You’ll also learn about dockerization and serverless technologies to deploy your microservice.Next you’ll cover how data access works in Quarkus with Hibernate, JPA, Spring Boot, MongoDB, and more. This will also give you an eye for efficiency with reactive SQL, microservices, and many more reactive components. You’ll also see tips and tricks not available in the official documentation for Quarkus.Lastly, you'll test and secure Quarkus-based code and use different deployment scenarios to package and deploy your Quarkus-based microservice for the cloud, using Amazon Web Services as a focus. After reading and using Beginning Quarkus Framework, you'll have the essentials to build and deploy cloud-native microservices and full-fledged applications.Author Tayo Koleoso goes to great lengths to ensure this book has up to date material including brand new and some unreleased features!WHAT YOU WILL LEARN* Build and deploy cloud-native Java applications with Quarkus* Create Java-based microservices* Integrate existing technologies such as the Spring framework and vanilla Java EE into the Quarkus frameworkWork with the Quarkus data layer on persistence with SQL, reactive SQL, and NoSQL* Test code in Quarkus with the latest versions of JUnit and Testcontainers* Secure your microservices with JWT and other technologies* Package your microservices with Docker containers and GraalVM native image tooling* Tips and techniques you won't find in the official Quarkus documentationWHO THIS BOOK IS FORIntermediate Java developers familiar with microservices, the cloud in general, and REST web services, but interested in modern approaches.TAYO KOLEOSO is a full-time technical lead and consulting architect with a burning passion for learning - because he knows there’s too much he doesn’t know; and teaching - because it’s the best way to reinforce knowledge. He’s an in-person instructor and author, dedicated to topics and technologies he’ll have to study religiously to deliver. His journey started from Lagos, in Nigeria, bringing him to the United States as an immigrant software engineer. Across industries, from finance to cybersecurity, he has led teams; architected complicated integrations; broken and built many fun and mission-critical projects in the enterprise space, with Java and Python, in the cloud. Quarkus is his latest victim.Outside of technology, he’s very passionate about personal finance and the securities market. Throw a couple of habanero peppers in, and he’s happy! You can watch and follow his courses on LinkedIn Learning.1. Welcome to Quarkus – Gives the reader a high-level overview of the Quarkus platform, the goals, features and a comparison with alternatives- Supersonic Subatomic!- Quarkus Feature Tour- Quarkus vs Springboot vs JavaEE- Getting started with Quarkus2. Microservices – Gets the reader started with building microservices with Quarkus, including production-grade features- Getting started with microservices in Quarkus- Swagger Support- OpenAPI Documentation- SwaggerUI- Microprofile Support (I might add a few more microprofile-specific components if there’s any Quarkus-flavored twist to them)- REST Client- Security- Validation- Reactive Programming- Vert.x- Reactive Routes- Reactive Filters- Configuration - Configuration Options- Configuration Management with HashiCorp Vault3. Dependency Injection - Shows the reader how Quarkus works with existing DI frameworks in the Java ecosystem- CDI- Spring4. Quarkus Data Layer – Introduce the reader to handling data using Quarkus- Reactive SQL- JSON- Flyway- DynamoDB- MongoDB5. Batch Processing – Show the reader how to perform batch operations in Quarkus6. Testing – Show the reader how to test Quarkus-based code7. Quarkus Security – Implement Quarkus-specific security features (might roll this into the Microservice chapter)8. Deployment and Packaging – Introduce the reader to different deployment scenarios that Quarkus is engineered for (might whittle down/collapse some of these as the writing progresses)- Basic Deployment- Native Packaging- Kubernetes- GraalVM - Hot Reloading Code- Serverless
Spring Quick Reference Guide
Quickly gain the insight necessary to address a multitude of Java-based Spring Framework and Spring Boot coding challenges using this succinct reference guide. Short, focused code examples will help you master many of the Spring elements such as AOP, data access, MVC for web development, security, web services/REST for microservices development, Batch for large data sets, and more. You’ll also get a rundown of the increasingly popular Spring Boot microframework as well.You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point, and highly accessible. The book is packed with useful information and is a must-have for any Java programmer.WHAT YOU WILL LEARN* Discover the Spring Framework and its many sub-projects* Work with the Spring Boot microframework* Program with the Spring Boot framework to build Java-based* microservices, native cloud applications, and more* Use some of the lesser-known but still important frameworks and tools such as REST Docs, HATEOAS, Cloud, and more* Leverage these Spring frameworks and tools for building your next Java-based cloud applicationWHO THIS BOOK IS FORThose with prior experience with Java who want a quick and handy reference to using Spring.Adam L. Davis makes software. He’s spent many years developing in Java (since Java 1.2) and has enjoyed using Spring and Hibernate for more than a decade. Since 2006 he’s been using Groovy, Grails, HTML, CSS, and JavaScript, in addition to Java to create SaaS web applications that help track finances for large institutions (among other things).Adam has a Masters and a Bachelors degree in Computer Science from Georgia Tech. He is also the author of Reactive Streams in Java (Apress, 2019) and Learning Groovy: Second Edition (Apress, 2019).1. Introduction2. Core3. Libraries4. Spring AOP5. Spring Data6. Spring MVC7. Spring Mobile8. Spring Security9. Spring Web Services10. Spring REST11. Reactor12. Spring XD13. Spring Batch14. Spring Social15. Spring Boot16. Spring Boot with WebFlux17. Spring IO18. Spring Shell19. Spring Cloud
GANs mit PyTorch selbst programmieren
GANs mit PyTorch selbst programmieren - Ein verständlicher Einstieg in Generative Adversarial NetworksNeues von Bestsellerautor Tariq Rashid: Eine Einführung in die innovative Deep-Learning-Technik GANsGANs sind »die coolste Idee im Deep Learning in den letzten 20 Jahren« – sagt Yann LeCun, einer der weltweit führenden Forscher auf dem Gebiet neuronaler Netze, über Generative Adversarial Networks. Bei dieser noch neuen KI-Technik treten zwei neuronale Netze gegeneinander an mit dem Ziel, realistisch wirkende Fotos, Videos oder Texte neu zu generieren. Die Netze trainieren sich gegenseitig: Auf Basis realer Daten erzeugt der Generator künstliche Inhalte, der Diskriminator weist Daten mit schlechter Qualität zurück.Mit diesem Buch können Sie selbst ganz praktisch ausprobieren, wie GANs funktionieren. Wie in seinem Bestseller Neuronale Netze selbst programmieren, auf den dieses Buch aufbaut, erläutert Tariq Rashid jede Technik Schritt für Schritt mit vielen anschaulichen Abbildungen. Sie erfahren, wie Sie mit dem populären Framework PyTorch Ihre eigenen GANs erstellen und trainieren:Sie lernen die Grundlagen von PyTorch und programmieren damit Ihr erstes neuronales Netz auf Google ColabSie starten dann mit einem einfachen GAN, um einen typischen Workflow einzurichten, und üben erste Techniken anhand der MNIST-Datenbank mit handgeschriebenen ZahlenMit diesem Wissen programmieren Sie ein GAN, das realistische menschliche Gesichter erzeugen kannSie finden heraus, wo das GAN versagt, schaffen Abhilfe und verbessern die Leistung und Stabilität Ihres ModellsAbschließend erkunden Sie auch anspruchsvollere Themen wie Convolutional und Conditional GANsLeseprobe (PDF-Link)Inhaltsverzeichnis (PDF-Link) Tariq Rashids besondere Fähigkeit, komplexe Ideen verständlich zu erklären, macht diese schwierige Materie für jeden Interessierten zugänglich und praktisch nachvollziehbar.
Rust for the IoT
Get started programming Rust applications for the Internet of Things (IoT). This book is a programming skills migration book that teaches you the Rust programming techniques most useful for IoT applications. You'll step through from server to board development in creating a set of IoT applications.In Rust for the IoT, you'll learn how to build a modern server-side application using Rust on the backend. Then you'll use docker and Kubernetes to deploy these to a managed cloud. Finally you will use a Raspberry Pi with a SenseHat and Camera to capture the world around you and send that information to the cloud.While you will be able to follow along without any cloud or hardware, to make the most of it we recommend a few cloud pieces and hardware that is designed to integrate with the software in this book. After reading and using this book, you'll see how to apply Rust to the Internet of Things.WHAT YOU WILL LEARN* Create a modern Rust backend complete with handling eventual consistency and interacting via a GraphQL interface* Use the Raspberry PI to serve as a cheap IoT device that one can easily deploy around the house* Capture temperature, video, and use the interactive joystick to interact with the software you’ve created* Use OpenCV to perform facial detection from the PI’s camera and save that information to the cloud.* Create deployable helm charts for the cloud, and for the device create complete ISOs that allow you to easily deploy the Pi’s OS + custom softwareWHO THIS BOOK IS FORYou will need to have a basic understanding of cloud application development at a minimum and the basics of Rust coding. This book is for those interested in or working with the IoT and the Raspberry Pi who want to learn how Rust can work for them.JOSEPH FAISAL NUSAIRAT is a a senior partner at Integrallis Software and is a software developer who has been working full-time in the Columbus, Ohio, area since 1998, primarily focused on Java and most recently Rust application development. His career has taken him into a variety of Fortune 500 industries, including military applications, data centers, banking, Internet security, pharmaceuticals, and insurance. Throughout this experience, he has worked on all varieties of application development from design to architecture to development. Joseph, like most Java developers, is particularly fond of open source projects and tries to use as much open source software as possible when working with clients. Joseph is a graduate of Ohio University with dual degrees in computer science and microbiology and a minor in chemistry. While at Ohio University, Joseph also dabbled in student politics and was a research assistant in the virology labs.* Introduction, covers what this book is going to solve, we tackle the issues and problems surrounding IoT applications and their architecture. We also go over the hardware that is needed for this book and the chapter ends with some simple Rust examples.* Server Side, starts with setting up and creating our first microservice the retrieval_svc, this will set up simple calls to it and integrate and set up the database for it.* File Uploading and Parsing, this chapter is more heavily focused on the upload_svc and in here we learn how to upload images and video files to store locally. We then parse the metadata out of the files and call the retrieval_svc to store their metadata.* Messaging and GraphQL, back to the retrieval_svc we add GraphQL to use on top of the web tier instead of pure RESTful endpoints. We also create the mqtt_service that will serve as our bridge to communicate between the backend and the Pi using MQTT.* Performance, enhancing both the retrieval_svc and the mqtt_service by instead having the communication between the two be REST calls, instead they will use serialized binary data via Cap’n Proto to talk. Also on the retrieval_svc side we add CQRS and eventual consistency to our graph mutations for comments.* Security, this adds using Auth0 to authenticate the user so that our database can identify a device to a user. We also add self signed certificates to secure the communication of the MQTT.* Deployment, this chapter we learn how to create Docker images of all our microservices, combining them with Kubernetes and deploying to a cloud provider with Helm charts.* Sense HAT, our first hands on chapter with the Raspberry Pi we will set up the heartbeat to communicate to the MQTT backend we created earlier.* Sense HAT, this incorporates the Sense HAT device to gather data about our environment to the Pi. The SenseHat provides us a visual LED display, temperature sensors, and a joystick for interactions.* Camera, this chapter we add a camera to the device which will allow us to do facial tracking and recording.* Integration, one of the last chapters we incorporate the video camera to send data back to the cloud as well as allowing the Pi to receive recording commands from the cloud and finally we allow the Pi to be used as a HomeKit device to show temperature and motion.* Final Thoughts, this final short chapter discusses how we would build an ISO image for our given application and other bundling issues.
Modeling of Real Fuels and Knock Occurrence for an Effective 3D-CFD Virtual Engine Development
To drastically reduce the emission of greenhouse gases, the development of future internal combustion engines will be strictly linked to the development of CO2 neutral fuels (e.g. biofuels and e-fuels). This evolution implies an increase in development complexity, which needs the support of engine 3D-CFD simulations. Francesco Cupo presents approaches to accurately describe fuel characteristics and knock occurrence in SI engines, thus improving the current simulation capability in investigating alternative fuels and innovative combustion processes. The developed models are successfully used to investigate the influence of ethanol-based fuels and water injection strategies on knock occurrence and to conduct a virtual fuel design for and engine operating with the innovative SACI combustion strategy. Detailed description of real fuels.- Locally-distributed auto-ignition model and knock detection.- Influence of ethanol-based fuels and water injection on combustion and knock.- Virtual fuel design for SACI combustion strategy.
Benutzerzentrierte Unternehmensarchitekturen
Unternehmensarchitektur-Management unterstützt die Planung und Durchführung von Geschäftstransformation. Existierende Ansätze können in portfolio- und projekt-orientierte Ansätze eingeteilt werden. Die Synthese dieser Ansätze bietet das Beste aus beiden Welten. Das Buch stellt den kombinierten Ansatz vor.Der Inhalt gliedert sich in ausgewählte Best-Practice-Szenarien. Der Fokus liegt jeweils auf dem Thema Benutzererfahrung – ein Schwerpunkt, der in Transformationsprojekten oftmals vernachlässigt wird.Zur Evaluierung von Unternehmensarchitekturen aus Sicht der Benutzer steht unter ww.omilab.org/usercentricassessment ein Online-Service zur Verfügung.DIE HERAUSGEBERO. UNIV.-PROF. PROF.H.C. DR. DIMITRIS KARAGIANNIS ist an der Universität Wien tätig, wo er die Forschungsgruppe Knowledge Engineering der Fakultät für Informatik leitet.DR. CHRISTOPH MOSER ist Produktmanager von ADOIT, der von Analystenhäusern als Leader eingestuften EA-Suite.DR. ANKE HELMES ist als Senior Management Consultant bei der BOC Gruppe tätig und trägt die Regionalverantwortung für den süddeutschen Raum.Geschäftstransformation – Eine Notwendigkeit.- Das Zusammenspiel zwischen TOGAF®, ArchiMate® und EA-Szenarien.- Transformationsportfolio-Management.- Capability-Portfolio-Management.- Applikationsportfolio-Management.- Datenportfolio-Management.- Technologieportfolio-Management.- Compliance-Portfolio-Management.- Benutzererfahrung als Wegweiser in der Geschäftstransformation.
Designing Internet of Things Solutions with Microsoft Azure
Build a strong and efficient IoT solution at industrial and enterprise level by mastering industrial IoT using Microsoft Azure. This book focuses on the development of the industrial Internet of Things (IIoT) paradigm, discussing various architectures, as well as providing nine case studies employing IoT in common industrial domains including medical, supply chain, finance, and smart homes.The book starts by giving you an overview of the basic concepts of IoT, after which you will go through the various offerings of the Microsoft Azure IoT platform and its services. Next, you will get hands-on experience of IoT applications in various industries to give you a better picture of industrial solutions and how you should take your industry forward. As you progress through the chapters, you will learn real-time applications in IoT in agriculture, supply chain, financial services, retail, and transportation. Towards the end, you will gain knowledge to identify and analyze IoT security and privacy risks along with a detailed sample project.The book fills an important gap in the learning of IoT and its practical use case in your industry. Therefore, this is a practical guide that helps you discover the technologies and use cases for IIoT. By the end of this book, you will be able to build industrial IoT solution in Microsoft Azure with sensors, stream analytics, and serverless technologies.WHAT YOU WILL LEARN* Provision, configure, and connect devices with Microsoft Azure IoT hubStream analytics using structural data and non-structural data such as images * Use stream analytics, serverless technology, and IoT SaaS offerings* Work with common sensors and IoT devicesWHO THIS BOOK IS FORIoT architects, developers, and stakeholders working with the industrial Internet of Things.NIRNAY BANSAL is certified solution architect and working at Microsoft Corp, Redmond, WA since 2015. He graduated in computer science from BITS, Pilani and MBA from Louisiana State University (S). He has been working for over 15 years on large and complex IT projects. He is a technical specialist in providing architecture, development, and consultancy, using Microsoft technologies including Microsoft Azure. Among his past clients are Frontier communication, Fidelity, PricewaterHouseCoopers and Dell.Nirnay is one of the well-known experts when it comes to designing cloud-based solution and data scenarios. Additionally, he participates in public events as speaker for Code Camps. Along with various Microsoft certifications, he is a Microsoft Certified Trainer (MCT) and a certified Solution Architect from IASA. He is Co-founder and CTO of Mobile application development company www.TechValens.com, helping small to mid size client across the globe.He loves trekking and skating. He spends his spare time and holidays with wife Dharna, son Neev along with his father Rajkishore and mother Kusumlata in the India.You can contact Nirnay through his Twitter handle @nirnaybansal, on LinkedIn at www.linkedin.com/in/nirnaybansal or by sending him an e-mail at nirnaybansal@gmail.comCHAPTER 1: BASIC IOT CONCEPTS 15This chapter provides overview of exciting and relevant technical areas essential to professionals in the IoT industry. Chapter provides an introduction to Internet of Things (IoT) and covers the concepts, hardware, and platforms of an IoT solution available in the market.IntroductionBuilding blocksDesign PrinciplesIoT Devices and SensorsIoT PlatformsIndustrial IoTCHAPTER 2: MICROSOFT AZURE IOT PLATFORM 20This chapter introduces with various offerings of Microsoft Azure IoT platform and its service offerings. Reader will learn various solution architecture suiting with different business needs, like single and bi-directional communication Architecture.IntroductionIoT ServicesArchitectCHAPTER 3: STREAMING IOT DATA TO MICROSOFT AZURE 20This chapter provides hands-on experience registering and configuring device, setting up IoT environment and invoking messages. Students will learn to stream data (ingesting the telemetry) from simulated device to IoT hub.Manage IoT hubDevice registrationStream structural data and non-structural dataStoring dataLab - Using simulated deviceCHAPTER 4: IOT APPLICATIONS IN MANUFACTURING 25This chapter introduces possible real-time applications of IoT in Manufacturing business. Managers will learn How to run an IoT enabled Manufacturing business using Microsoft Azure. Developers will gain hands-on experience in Stream Analytics by analyzing stream of data in real-time using a SQL-like language. This makes it possible for monitor asset, detecting anomalies, checking conditions and displaying real-time data for preventive maintenance.IntroductionApplicationsLab - Asset Monitoring and Preventive maintenanceCHAPTER 5: IOT APPLICATIONS IN AGRICULTURE 25This chapter introduces possible real-time applications of IoT in Agriculture business. Managers will learn How to run an IoT enabled Agriculture business using Microsoft Azure. Developers will gain hands-on experience on getting information from various sensors. We will focus on the most common ones like the humidity, temperature and Location sensor.IntroductionApplicationsLab - Working with sensorsCHAPTER 6: IOT APPLICATIONS IN ENERGY 25This chapter introduces possible real-time applications of IoT in Energy business. Managers will learn How to run an IoT enabled Energy business using Microsoft Azure. Developers will gain hands-on experience of analyzing most common nonstructural data source like images from drone camera.IntroductionApplicationsLab - Camera-mounted dronesIoT enabled solar panelsCHAPTER 7: IOT APPLICATIONS IN HOME AUTOMATION AND SMART HOMES 25This chapter introduces possible real-time applications of IoT in smart home business. Managers will learn How to run an IoT enabled home automation business using Microsoft Azure. Developers will gain hands-on experience with the smart smoke detector, smart lock and like.IntroductionApplicationsLab - Working with Personal assistants like Amazon’s EchoCHAPTER 8: IOT APPLICATIONS IN SUPPLY CHAIN 25This chapter introduces possible real-time applications of IoT in supply chain business. Managers will learn How to run an IoT enabled home supply chain business using Microsoft Azure. Developers will gain hands-on experience of inventories tracking using structured data of RFID tag systems.SUB -TOPICSIntroductionApplicationsLab - Working with Radio-frequency identification (RFID)CHAPTER 9: IOT APPLICATIONS IN FINANCIAL SERVICES 25This chapter introduces possible real-time applications of IoT in financial services business. Managers will learn How to run an IoT enabled security system in financial services business using Microsoft Azure. Developers will gain hands-on experience of building real-time face recognition and weapon recognition security system.SUB -TOPICSIntroductionApplicationsLab - IoT as vehicle for greater securityCHAPTER 10: IOT APPLICATIONS IN HEALTHCARE 25This chapter introduces possible real-time applications of IoT in healthcare services business. Managers will learn How to run an IoT enabled patient care in healthcare business using Microsoft Azure. Developers will gain hands-on experience of working with wearable devices.SUB -TOPICSIntroductionApplicationsLab - audio devices and WearablesCHAPTER 11: IOT APPLICATIONS IN RETAIL 25This chapter introduces possible real-time applications of IoT in Retail business. Managers will learn How to run an IoT enabled Retail business using Microsoft Azure. Developers will gain hands-on experience querying and visualizing data and learn visual analytics using use case of Retail businesses.SUB -TOPICSIntroductionApplicationsLab - Visual analyticsCHAPTER 12: IOT APPLICATIONS IN TRANSPORTATION 25This chapter introduces possible real-time applications of IoT in transportation business. Managers will learn How to run an IoT enabled transportation business using Microsoft Azure. Developers will gain hands-on experience working with offline devices due to no signal zones and how to get data in batch.SUB -TOPICSIntroductionApplicationsLab - logistics monitoring and routingCHAPTER 13: RISK 10In this chapter, reader will gain knowledge to identify and analyze IoT security and privacy risks, and concept design secure hardware and software. Learn how to design a secure system.SUB -TOPICSPrivacySafetyIoT Standards & RegulationsSAMPLE PROJECT 2Sample project for you to engage fully in the process of designing an IoT solution, from initial analysis to planning out the product, design, and implement.CONCLUSION 1INDEX 3
Raku Fundamentals
Gain the skills to begin developing Raku applications from the ground up in this hands-on compact book, which includes a foreword from Larry Wall, creator of Perl. You’ll learn enough to get started building with Raku, using Raku's gradual typing, handy object orientated features, powerful parsing capabilities, and human-usable concurrency. This book has been updated to include the latest version of Raku based upon the Perl 6.d major version which includes over 3,400 new commits in its specification.After a short introduction, each chapter develops a small example project, explaining the Raku features used. When the example is done, you’ll explore another aspect, such as optimizing further for readability or testing the code. Along the way you’ll see Raku basics, such as variables and scoping; subroutines; classes and objects; regexes; and code testing.When you’ve mastered the basics, Raku Fundamentals moves onto more advanced topics to give you a deeper understanding of the language. You’ll learn, amongst other things, how to work with persistent storage, how to generate good error messages, and how to write tricky applications such as a file and directory usage graph and a Unicode search tool.WHAT YOU WILL LEARN* Get coding with latest version of Raku* Work on several hands-on examples and projectsIntegrate Python libraries into your Raku-based programs * Parse INI files using regexes and grammars* Build a date-time converter * Carry out refactoring and other automated testsWHO THIS BOOK IS FORIf you already know one or more programming languages, and want to learn about Raku, then this book is for you. MORITZ LENZ is a Perl 6, now Raku, core developer. He has contributed significantly to the official test suite, the Rakudo Perl compiler, and is the initiator of the official Raku documentation project. He has also authored several modules, and runs infrastructure for the Raku community. In his day job, he develops Perl 5 and Python code, and maintains a continuous delivery system for his employer.1. What is Raku?1.1 Perl 5, the Older Sister1.2 Library Availability1.3 Why Should I Use Raku?2. Running Rakudo Raku2.1 Installers2.2 Docker2.3 Building from Source2.4 Testing your Rakudo Star Installation3. Formatting a Sudoku Puzzle3.1 Making the Sudoku Playable3.2 Shortcuts, Constants, and more Shortcuts3.3 IO and other Tragedies3.4 Get Creative!4. Datetime Conversion for the Command Line4.1 Libraries To The Rescue4.2 DateTime Formatting4.3 Looking the Other Way4.4 Dealing With Time4.5 Tighten Your Seat Belt4.6 MAIN magic4.7 Automatic Tests4.8 Summary5. Testing say()5.1 Summary6. Silent Cron, a Cron Wrapper6.1 Running Commands Asynchronously6.2 Implementing Timeouts6.3 More on Promises6.4 Possible Extensions6.5 Refactoring and Automated TestsRefactoringMocking and TestingImproving Reliability and TimingInstalling a Module6.6 Summary7. Stateful Silent Cron7.1 Persistent Storage7.2 Developing the Storage Backend7.3 Using the Storage Backend7.4 Room for Expansion7.5 Summary8. Review of the Raku Basics8.1 Variables and Scoping8.2 Subroutines8.3 Classes and Objects8.4 Concurrency8.5 Outlook9. Parsing INI files using Regexes and Grammars9.1 Regex BasicsCharacter ClassesQuantifiersAlternatives9.2 Parsing the INI primitives9.3 Putting Things Together9.4 Backtracking9.5 Grammars9.6 Extracting Data from the Match9.7 Generating Good Error MessagesFailure is NormalDetecting Harmful FailureProviding ContextShortcuts for Parsing Matching Pairs9.8 Write Your Own Grammars9.9 Summary10. A File and Directory Usage Graph10.1 Reading File Sizes10.2 Generating a Tree Map10.3 Flame Graphs10.4 Functional Refactorings10.5 More Language Support for Functional Programming10.6 More Improvements10.7 Explore!10.8 Summary11. A Unicode Search Tool11.1 Code Points, Grapheme Clusters and Bytes11.2 Numbers11.3 Other Unicode Properties11.4 Collation11.5 Summary12. Plotting Using Inline::Python and Matplotlib13. What's Next?
Basiswissen Automotive Softwaretest
Kompaktes Grundlagenwerk für den Certified Automotive Software Tester.Das Buch gibt einen fundierten Überblick über die Besonderheiten von Softwaretests im automobilen Umfeld und vermittelt das notwendige Praxiswissen für den Automotive Software Tester. Es erläutert ausführlich, wie bei der Auswahl von angemessenen Testverfahren die grundlegenden Anforderungen der relevanten Normen und Standards wie Automotive SPICE, ISO 26262 und AUTOSAR berücksichtigt werden.Auch auf das Testen in virtuellen Testumgebungen wird im Detail eingegangen. Zur Vertiefung finden sich im Anhang weiterführende Informationen zu ISO 26262 und Automotive SPICE.»Basiswissen Automotive Softwaretest« eignet sich mit vielen erläuternden Beispielen gleichermaßen für das Selbststudium, zur Vorbereitung auf die Zertifizierung sowie als kompaktes Basiswerk zum Thema in der Praxis und an Hochschulen.Über die Autoren:Ralf Bongard ist Geschäftsführer und Trainer der ISARTAL akademie und war über 15 Jahre in der Automobilindustrie als Entwickler und Projektleiter sowie als Consultant für Anforderungs- und Testmanagement tätig. Er ist Mitglied des GTB und stellvertretender Leiter der GTB- Arbeitsgruppe „Certified Automotive Software Tester“.Klaudia Dussa-Zieger ist leitende Beraterin bei der imbus AG und verfügt über 20 Jahre Berufserfahrung in den Bereichen Softwaretest, Testmanagement und Testprozessberatung. Seit 2018 ist sie die Vorsitzende des GTB.Prof. Dr. Ralf Reißing ist Informatiker und seit über 17 Jahren im Automobilbereich tätig - aktuell als Professor für Automobilinformatik an der Hochschule Coburg. Er ist Gründer und Leiter des Steinbeis-Transferzentrums Automotive Software Engineering sowie Mitglied des GTB.Alexander Schulz arbeitet bei der BMW Group in der Fahrzeugentwicklung im Bereich der Funktionssicherheit. Er ist seit 2012 schwerpunktmäßig im Bereich der Funktionalen Sicherheit nach IEC 61508 und ISO 26262 tätig.Alle Autoren dieses Buchs waren aktiv an der Entwicklung des Lehrplans zum „ISTQB Certified Automotive Software Tester“ beteiligt.
Practical Blockchains and Cryptocurrencies
Create cryptocurrency and blockchain applications by examining the key algorithms and concepts pertaining to blockchains, transaction processing, mining, distributed consensus, and anonymous currencies. In this book, you’ll develop a fully functional cryptocurrency from scratch in the Python language. PRACTICAL BLOCKCHAINS AND CRYPTOCURRENCIES is a reference for development of blockchain applications and provides you with rigorous information on cryptography and the theory underlying blockchains.This book consists of small chapters that focus on particular topics. You’ll start with a short history of money. Next, you will survey the bitcoin and altcoin ecosystem before delving into cryptographic hash functions, symmetric encryption, public key cryptography, and digital signatures. All the mathematics required to develop blockchain applications is covered. The emphasis is on providing a lucid and rigorous exposition on the nature and working of these constructs.The next major segment of the book discusses the key concepts and algorithms required to develop blockchain and cryptocurrency applications. There are expositions on blockchain construction, Merkle trees, peer-to-peer networks, cryptocurrency addresses, transactions, and mining. You’ll take a deep dive into the formation of consensus in distributed systems.In this book you’ll develop a fully functional cryptocurrency called Helium from scratch in Python. The language requirements are modest since it is presumed that most readers will not be acquainted with Python. The entire source code and unit test code is included in this book.PRACTICAL BLOCKCHAINS AND CRYPTOCURRENCIES interleaves theory and Helium program code chapters in order to demonstrate the practical application of theory in working Helium program code.WHAT YOU WILL LEARN* Gain the mathematical foundations as well as the concepts and algorithms of blockchains and cryptocurrencies* Implement a cryptocurrency from scratch in Python* Master the design of distributed blockchain applications WHO THIS BOOK IS FORAnyone interested in creating cryptocurrency and blockchain applicationsKARAN SINGH GAREWAL is an attorney at law in Canada. He has over 20 years of software development experience in C, C++, Go, JavaScript, Node, Ruby/Rails, Python/Django, Vue, PostgresSQL, MySQL, and Cassandra. His current interests are in financial engineering and real-time algorithmic trading systems. He is developing a neural network cryptocurrency trading platform on a C++, Go, Cassandra, and Vue stack.CHAPTER 1: THE HISTORY OF MONEY AND ALTERNATE CURRENCIESChapter Goal: Explain the historical evolution of money and alternate currencies prior to bitcoinSub-Topics1. Characteristics of money2. Gold and silver backed currencies3. Gold standard and fiat currencies4. Alternate currencies prior to bitcoin (Liberty coin, etc.)5. Bitcoin6. The Darknet7. Future evolution of cryptocurrenciesCHAPTER 2: BITCOIN AND ALTCOINSChapter Goal: Discussion of bitcoin and altcoins in circulation and their properties and their raison d’etre.Sub-Topics1. Introduction2. Bitcoin3. Ethereum4. Monero5. Ripple6. Stellar, Tron, and other cryptocurrenciesCHAPTER 3: CRYPTOGRAPHIC HASH FUNCTIONSChapter Goal: Explain cryptographic hash functions, their characteristics, and why they are important in blockchain and cryptocurrency application development.Sub-Topics1. Introduction2. Cryptographic hash functions3. The collision free property of cryptographic hash functions4. Proving the tamper free property5. The irreversible property6. The unique range property7. Hash pointers and data structures8. Proving authenticity with crytpographic hashes9. The SHA-256 cryptographic hash10. Common cryptographic hash functionsCHAPTER 4: SYMMETRIC ENCRYPTIONChapter Goal: Explain what symmetric encryption is and it’s deficiency in secure key distributionSub-Topics:1. Introduction2. How symmetric encryption works3. The key distribution problem4. Common symmetric encryption algorithmsCHAPTER 5: PUBLIC KEY CRYPTOGRAPHYChapter Goal: Explain what public key cryptography is and how it worksSub-Topics:1. Introduction2. Algorithms to generate public private key pairs3. RSA and elliptic curve cryptography4. Using public–private key pairs for encryption and decryption5. Identity formation and proof with public keys6. Generating globally unique IDsCHAPTER 6: DIGITAL SIGNATURESChapter Goal: Show how the digital signature algorithm is implemented and how it can be used to prove authorship and authenticity of documentsSub-Topics:1. Introduction2. Creating digital signatures3. Proving authorship and authenticity of documentsCHAPTER 7: BLOCKCHAIN CONSTRUCTIONChapter Goal: Discuss properties of a blockchain and how to create a blockchainSub-Topics:1. Introduction2. Properties of blockchain3. How to create a blockchain4. The bitcoin blockchain5. Scalability issues in blockchain6. Blockchain databases7. The genesis block8. Creating a simple cryptocurrencyCHAPTER 8: THE MERKLE TREE ALGORITHMChapter Goal: A discussion of the Merkle tree algorithm along with source code implementationsSub-Topics:1. Introduction2. Implementation of the Merkle tree algorithmCHAPTER 9: TOPOLOGY OF CRYPTOCURRENCY NETWORKSChapter Goal: What is a peer-to-peer network and the use of such P2P networks in blockchain applications to broadcast and verify transactions.Sub-Topics:1. Introduction2. Peer-to-peer networks3. Node identity and supernodes4. The bitcoin blockchain5. Block and transaction propagationCHAPTER 10: CRYPTOCURRENCY PARAMETERS AND CONFIGURATIONChapter Goal: Enumerate some common configuration parameters that are used when creating a cryptocurrency and their implications.Sub-Topics:1. Introduction2. Common cryptocurrency parametersCHAPTER 11: CRYPTOCURRENCY ADDRESSESChapter Goal: Creating and using cryptocurrency addressesSub-Topics:1. Introduction2. How to make a cryptocurrency address3. How bitcoin uses addresses4. Key generation algorithms5. Hierarchical deterministic key generationCHAPTER 12: CRYPTOCURRENCY TRANSACTIONSChapter Goal: How transactions are implemented and broadcast in a cryptocurrency network.Sub-Topics:1. Introduction2. Transaction mechanics3. Canonical transaction structures4. Broadcasting transactions5. Transaction validation6. How bitcoin implements transactions7. Locking and unlocking transactions8. Transaction feesCHAPTER 13: CRYPTOCURRENCY STORAGEChapter Goal: Discuss methods for storing cryptocurrenciesSub-Topics:1. Introduction2. Cold storage and hot storage3. Wallets and local storage4. Storage on the blockchain5. Online wallets6. ExchangesCHAPTER 14: MININGChapter Goal: Explain how blocks are mined in a cryptocurrency networkSub-Topics:1. Introduction2. How mining works3. Incentives for block formation4. Bitcoin mining5. Chainstate database6. Proof of work and the difficulty number7. Energy consumption8. ASIC resistant mining9. Mining attacks10. Proof of stake and virtual mining11. Hash power computationsCHAPTER 15: THE BITCOIN DISTRIBUTED CONSENSUS ALGORITHMChapter Goal: Discussion of the distributed consensus algorithm in bitcoinSub-Topics:1. Introduction2. Consensus formation in bitcoin3. Blockchain forks4. Double spend resolution in the bitcoin networkCHAPTER 16: ALTERNATE DISTRIBUTED CONSENSUS ALGORITHMSChapter Goal: Discussion of distributed consensus algorithm that is not based on bitcoin’s proof of work algorithmSub-Topics:1. Introduction2. Proof of stake distributed consensus3. Delegated proof of stake4. Proof of weight algorithms5. The Byzantine Generals problem6. Byzantine Fault tolerance7. Federated Byzantine agreement algorithm8. Proof of weight, DAGs, and other algorithmsCHAPTER 17: WORKING AT SCALEChapter Goal: How to build blockchain and cryptocurrency applications that scaleSub-Topics:1. Introduction2. Scalability in the bitcoin network3. Subchains4. The lightening network5. Sharded networks6. Other solutionsCHAPTER 18: ANONYMOUS CRYPTOCURRENCY NETWORKSChapter Goal: Discussion of anonymity in cryptocurrency networksSub-Topics:1. Introduction2. Why bitcoin is not an anonymous currency3. Some simple precautions for bitcoin transactions4. Mixers5. Implementing anonymity for a cryptocurrency6. Using TorCHAPTER 19: DESIGNING A CRYPTOCURRENCYChapter Goal: Architecture and logical design principles in cryptocurrency creationSub-Topics:1. Introduction2. Network architectures3. Blockchain specification and implementation4. Database implementation5. Transaction specification6. Selecting a distributed consensus algorithm7. The mining algorithm8. The money supply9. The velocity of money10. Creating the genesis block11. Founder’s reserve12. Language selection13. Bon voyageAPPENDIX: INSTALLING AND USING A BITCOIN NODEChapter Goal: Install a full Bitcoin node on a Linux machine
Reinforcement Learning
In uralten Spielen wie Schach oder Go können sich die brillantesten Spieler verbessern, indem sie die von einer Maschine produzierten Strategien studieren. Robotische Systeme üben ihre Bewegungen selbst. In Arcade Games erreichen lernfähige Agenten innerhalb weniger Stunden übermenschliches Niveau. Wie funktionieren diese spektakulären Algorithmen des bestärkenden Lernens? Mit gut verständlichen Erklärungen und übersichtlichen Beispielen in Java und Greenfoot können Sie sich die Prinzipien des bestärkenden Lernens aneignen und in eigenen intelligenten Agenten anwenden. Greenfoot (M.Kölling, King’s College London) und das Hamster-Modell (D.Bohles, Universität Oldenburg) sind einfache aber auch mächtige didaktische Werkzeuge, die entwickelt wurden, um Grundkonzepte der Programmierung zu vermitteln. Wir werden Figuren wie den Java-Hamster zu lernfähigen Agenten machen, die eigenständig ihre Umgebung erkunden.Nach seinem Studium der Informatik und Philosophie mit Schwerpunkt künstliche Intelligenz und maschinelles Lernen an der Humboldt-Universität in Berlin und einigen Jahren als Projektingenieur ist Uwe Lorenz derzeit als Gymnasiallehrer für Informatik und Mathematik tätig. Seit seinem Erstkontakt mit Computern Ende der 80er Jahre hat ihn das Thema Künstliche Intelligenz nicht mehr losgelassen.Bestärkendes Lernen als Teilgebiet des Maschinellen Lernens.-Grundbegriffe des Bestärkenden Lernens.-Optimale Entscheidungen in einem bekannten Umweltsystem.-Dynamische Programmierung.- rekursive Tiefensuche.-Entscheiden und Lernen in einem unbekannten Umweltsystem.-Q- und Sarsa Learning, Eignungspfade, Dyna-Q.-Policy Gradient und Actor Critic.- Monte Carlo-Evaluationen und Monte Carlo-Baumsuche (MCTS).-Künstliche neuronalen Netze als Schätzer für Zustandsbewertungen und Handlungspreferenzen.-Werden digitale Agenten bald intelligenter als Menschen sein?.-Leitbilder in der K.I..
Machine Learning für Softwareentwickler
* Eine Einführung in das maschinelle Lernen für Entwickler * Alle wesentlichen Ideen, Werkzeuge und Konzepte des supervised Learning, von neuronalen Netzen und des Deep Learning werden präsentiert * Der gesamte Programmcode ist in Python geschrieben
Das ultimative DAX-Handbuch
Die DAX-Referenz von den DAX-Koryphäen* Meistern Sie die Formelsprache von Power Pivot, Power BI und Microsoft Analysis Services.* Mit vielen praxisnahen Beispielen für den praktischen Einsatz* inkl. kostenlosem Zusatzmaterial wie einer Beispieldatenbank und Power BI-Modellen für alle BeispieleDie bekannten DAX-Experten Marco Russo und Alberto Ferrari führen Sie mit diesem Leitfaden tief in die Formelsprache DAX (Data Analysis Expressions) ein und helfen Ihnen dabei, alles von einfachen Tabellenfunktionen bis zu komplexer Code- und Modelloptimierung zu beherrschen. Erfahren Sie genau, was unter der Haube passiert, wenn Sie einen DAX-Ausdruck ausführen, und nutzen Sie dieses Wissen, um schnelle, robuste Codes zu schreiben.Diese Ausgabe konzentriert sich auf Beispiele, die Sie mit der kostenlosen Power BI Desktop-Version erstellen und ausführen können, und hilft Ihnen, die leistungsstarke Syntax von Variablen (VAR) in Power BI, Excel oder Analysis Services optimal zu nutzen.Marco Russo und Alberto Ferrari sind die Gründer von sqlbi.com und veröffentlichen dort regelmäßig Artikel über Microsoft Power Pivot, Power BI, DAX und SQL Server Analysis Services. Beide Autoren beraten Unternehmen zu BI und sprechen häufig auf bedeutenden internationalen Konferenzen wie Microsoft Ignite, PASS Summit und SQLBits.
Java Challenge
Ihr persönlicher Java-Coach !* Ihr Java-Trainingsbuch mit Musterlösungen* Lernen Sie Tipps und Kniffe vom Java-Experten kennen* Erweitern Sie Ihr Java-Knowhow in praxisrelevanten BereichenDieses Buch bietet Ihnen ein breit gefächertes Spektrumvon über 100 Übungsaufgaben und Programmierpuzzlesinklusive Lösungen zum Knobeln und Erweitern IhrerKenntnisse zu unterschiedlichen praxisrelevantenThemengebieten wie Arrays, Datenstrukturen, Rekursion,Date and Time API usw.Jedes Themengebiet wird in einem eigenen Kapitelbehandelt, das zunächst mit einer Einführung in dieGrundlagen beginnt. Danach finden sich zumeist10 bis 15 Übungsaufgaben verschiedenerSchwierigkeitsgrade, sodass von Anfänger bisFortgeschrittenen immer etwas dabei ist undsich die Programmierkenntnisse effektiv verbessernlassen. Dabei helfen am Kapitelabschluss insbesonderedetaillierte Musterlösungen inklusive der genutztenAlgorithmen zu allen Aufgaben. Vielfach werdenzudem alternative Lösungswege aufgezeigt, aberauch mögliche Fallstricke und typische Fehlerthematisiert.Abgerundet wird das Buch durch zwei Anhänge.Einer gibt einen Überblick in wesentliche Neuerungenvon Java 8. Der zweite beschäftigt sich mit derJShell, die zum Ausprobieren der Codeschnipselund Beispiele des Buchs oftmals hilfreich ist.Dipl.-Inform. Michael Inden ist Oracle-zertifizierter Java-Entwickler. Nach seinem Studium in Oldenburg hat er bei diversen internationalen Firmen in verschiedenen Rollen etwa als Softwareentwickler und -architekt, als Consultant, Teamleiter, CTO und Leiter Academy sowie Trainer gearbeitet. Zurzeit ist er freiberuflich in Zürich tätig.Michael Inden hat über zwanzig Jahre Berufserfahrung beim Entwurf komplexer Softwaresysteme gesammelt, an diversen Fortbildungen und mehreren Java-One-Konferenzen teilgenommen. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen mit ergonomischen GUIs sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der Java User Group Switzerland, bei der JAX/W-JAX, ch.open und den IT-Tagen.
String Algorithms in C
Implement practical data structures and algorithms for text search and discover how it is used inside other larger applications. This unique in-depth guide explains string algorithms using the C programming language. String Algorithms in C teaches you the following algorithms and how to use them: classical exact search algorithms; tries and compact tries; suffix trees and arrays; approximative pattern searches; and more.In this book, author Thomas Mailund provides a library with all the algorithms and applicable source code that you can use in your own programs. There are implementations of all the algorithms presented in this book so there are plenty of examples.You’ll understand that string algorithms are used in various applications such as image processing, computer vision, text analytics processing from data science to web applications, information retrieval from databases, network security, and much more.WHAT YOU WILL LEARNUse classical exact search algorithms including naive search, borders/border search, Knuth-Morris-Pratt, and Boyer-Moor with or without Horspool * Search in trees, use tries and compact tries, and work with the Aho-Carasick algorithmProcess suffix trees including the use and development of McCreight’s algorithm * Work with suffix arrays including binary searches; sorting naive constructions; suffix tree construction; skew algorithms; and the Borrows-Wheeler transform (BWT)Deal with enhanced suffix arrays including longest common prefix (LCP) * Carry out approximative pattern searches among suffix trees and approximative BWT searches WHO THIS BOOK IS FORThose with at least some prior programming experience with C or Assembly and have at least prior experience with programming algorithms.Thomas Mailund is an associate professor in bioinformatics at Aarhus University, Denmark. He has a background in math and computer science, including experience programming and teaching in the C and R programming languages. For the last decade, his main focus has been on genetics and evolutionary studies, particularly comparative genomics, speciation, and gene flow between emerging species. 1. Introduction.-2. Classical Algorithms for Exact Search3. Suffix Trees4. Suffix Arrays5. Approximate Search6. ConclusionsAppendix A: VectorsAppendix B: ListsAppendix C: Queues
Das Buch für Ideensucher
Wie schaffen Sie es, sich Ihre Kreativität im Alltag und zwischen engen Zeitplänen zu bewahren? Was Ihnen dabei helfen wird, sind neue Denkanstöße und Impulse für eine erfolgreiche Ideensuche! Nach 13 Jahren als Texter und Creative Director bei Jung von Matt verrät Philipp Barth nun die inspirierendsten Methoden, mit denen es Ihnen gelingen wird, (wieder) leichter auf gute Ideen zu kommen. Ein Buch aus der Praxis für die Praxis! Aus dem Inhalt: Aller Anfang ist schwer: Keine Angst vor dem weißen BlattIdeenfindung über das BriefingDer Blick über den TellerrandIdeen kommen aus Dir selbstAuch der Zufall hat IdeenIdeen-Techniken für den täglichen Einsatz- Die Berater-Technik- Die Abweichen-vom-Gewöhnlichen-Technik- Die DNA-der-Marke-Technik- Die Flow-Technik- Die Chaos- und Ordnung-Technik- Die Andere-Perspektive-Technik- Die Schlagzeilen-Technik- Die Zeitdruck-Technik- Die Neues-entsteht-durch-Neues-Technik- Die Design-Thinking-Technik- Die Akkordeon-Technik- Die Bullshit-Technik- Die Ping-Pong-Technik- Immer wieder wichtig: Die Brainstorming- und Brainwriting-Technik10 Tipps für Ideensucher- Halte die Augen offen- Kompliziert verliert. Vereinfache- Riskier was- Sei hartnäckig- Sei ehrgeizig- Haushalte mit Deiner Kreativkraft- Bring deinen Ideen Wertschätzung entgegen- Sei ein Stehaufmännchen- Geh Deinen eigenen Weg- Glaube an Dich selbstIdeen bewerten und präsentierenMotivationsschub: Was tun, wenn man absolut keine Idee hat?Kreativ bleiben: Wie man den Biss behält Ideen muss man haben. Der Treibstoff, der die Menschheit voranbringt. ... 7 Die richtige Einstellung finden. So sind Sie bereit für große Ideen. ... 27 Die Kunst, einfach anzufangen. Wie Sie, ohne Zeit zu verlieren, loslegen. ... 65 Ideen kommen von allen Seiten. Wie Sie sich von außen Unterstützung holen. ... 89 Kreativtechniken für die Praxis. So kommen Sie auf Ideen. ... 119 Storytelling-Techniken. So kommen Sie auf Ideen für Geschichten. ... 211 Tipps für Ideensucher. So werden Sie leichter fündig. ... 235 10 Leitsätze für mehr Kreativität. Anregungen für Ideensucher. ... 249 Ideen präsentieren. So entfalten Ideen Ihre Kraft. ... 277 Nachhaltig erfolgreich sein. So etablieren Sie Ihre eigene Ideenkultur. ... 289 Index ... 299
Exploring C++20
Discover everything you need to know about C++ in a logical progression of small lessons that you can work through as quickly or as slowly as you need. This book divides C++ up into bite-sized chunks that will help you learn the language one step at a time. Fully updated to include C++20, it assumes no familiarity with C++ or any other C-based language.Exploring C++20 acknowledges that C++ can be a complicated language, so rather than baffle you with complex chapters explaining functions, classes, and statements in isolation you’ll focus on how to achieve results. By learning a little bit of this and a little of that you’ll soon have amassed enough knowledge to be writing non-trivial programs and will have built a solid foundation of experience that puts those previously baffling concepts into context.In this fully-revised third edition of Exploring C++, you’ll learn how to use the standard library early in the book. Next, you’ll work with operators, objects, and data-sources in increasingly realistic situations. Finally, you’ll start putting the pieces together to create sophisticated programs of your own design confident that you’ve built a firm base of experience from which to grow.WHAT YOU WILL LEARN* Grasp the basics, including compound statements, modules, and moreWork with custom types and see how to use them * Write useful algorithms, functions, and more* Discover the latest C++ 20 features, including concepts, modules, and ranges* Apply your skills to projects that include a fixed-point numbers and body-mass index applicationsCarry out generic programming and apply it in a practical project * Exploit multiple inheritance, traits/policies, overloaded functions, and metaprogrammingWHO THIS BOOK IS FORExperienced programmers who may have little or no experience with C++ who want an accelerated learning guide to C++20 so they can hit the ground running.Ray Lischner has a bachelor's degree in computer science from Caltech and a master's in computer science from Oregon State University. He worked as a software developer for a dozen years, at big and small companies across the US, using PL/I, C, C++, Delphi, Smalltalk, and various assembly languages on both large and small systems. He has been self-employed as a consultant, trainer, and author for the last ten years. Ray taught computer science at Oregon State University for several years and specialized in teaching introductory computer programming. He taught courses in C and C++ and software engineering.Part I: The Basics.-1. Honing your tools.-2. Reading C++ Code.-3. Integer Expressions.-4. Strings.-5. Simple Input.-6. Error Messages.-7. For Loops.-8. Formatted Output.-9. Arrays and Vectors.-10. Algorithms and Ranges.-11. Increment and Decrement.-12. Conditions and Logic.-13. Compound Statements.-14. Introduction to File I/O.-15. The Map Data Structure.-16. Type Synonyms.-17. Characters.-18. Character Categories.-19. Case-Folding.-20. Writing Functions.-21. Function Arguments.-22. Using Ranges.-23. Using Iterators.-24. Unnamed Functioins.-25. Overloading Function Names.-26. Big and Little Numbers.-27. Very Big and Very Little Numbers.-28. Documentation.- 29. Project 1: Body-Mass IndexPart II: Custom Types.-30. Custom Types.-31. Overloading Operators.-32. Custom I/O Operators.-33. Assignment and Initialization.-34. Writing Classes.- 35. More About Member Functions.-36. Access Levels.-37. Understanding Object-Oriented Programming.-38. Inheritance.-39. Virtual Functions.-40. Classes and Types.-41. Declarations and Definitions.- 42. Modules.-43. Old-Fashioned "Modules".-44. Function Objects.-45. Useful Algorithms.-46. More About Iterators.-47. Ranges, Views and Adaptors.-48. Exceptions.-49. More Operators.-50. Project 2: Fixed-Point Numbers.-Part III: Generic Programming.-51. Function Templates.-52. Class Templates.-53. Template Specialization.-54. Partial Template Specialization.-55. Template Constraints.-56. Names and Namespaces.-57. Containers.-58. Locales and Facets.-59. International Characters.-60. TextI/O.-61. Project3: Currency Type.-Part IV: Real Programming.-62. Pointers.-63. Regular Expressions.-64. Moving Data with Rvalue References.-65. Smart Pointers.-66. Files and File Names.-67. Working with Bits.-68. Enumerations.-69. Multiple Inheritance.-70. Concepts, Traits and Policies.-71. Names, Namespaces, and Templates.-72. Overloaded Functions and Operators.-73. Programming at Compile Time.-74. Project 4: Calculator.
Practical Numerical C Programming
Master the C code appropriate for numerical methods and computational modeling, including syntax, loops, subroutines, and files. Then, this hands-on book dives into financial applications using regression models, product moment correlation coefficients, and asset pricing.Next, Practical Numerical C Programming covers applications for engineering/business such as supermarket stock reordering simulation as well as flight information boards at airports and controlling a power plant. Finally, the book concludes with some physics including building simulation models for energy and pendulum motion. Along the way, you’ll learn center-of-mass calculations, Brownian motion, and more.After reading and using this book, you'll come away with pragmatic case studies of actual applications using C code at work. Source code is freely available and includes the latest C20 standard release.WHAT YOU WILL LEARN* Apply regression techniques to find the pattern for depreciation of the value of cars over a period of years* Work with the product moment correlation coefficient technique to illustrate the accuracy (or otherwise) of regression techniques* Use the past stock values of an asset to predict what its future values may be using Monte Carlo methods* Simulate the buying of supermarket stock by shoppers and check the remaining stock: if it is too low print a message to reorder the stock* Create a file of arrivals for an airport and send data to the airport’s display boards to show the current situation for the incoming flights* Simulate the patterns of particles moving in gases or solids WHO THIS BOOK IS FORProgrammers and computational modelers with at least some prior experience with programming in C as well as programming in general.Philip Joyce has 28 years experience as a software engineer – working on control of steel production, control of oil refineries, communications software (pre-Internet), office products (server software), and computer control of airports. Programming in Assembler, COBOL, Coral66, C, and C++. Mentor to new graduates in the company. He also has a MSc in computational physics (including augmented matrix techniques and Monte Carlo techniques using Fortran) - Salford University 1996. Chartered scientist, chartered physicist, member of the Institute of Physics (member of the higher education group).Chapter 1 Review of CReview of C and SDK with reference to the topics in this book.Reminds the reader of C syntax.Use loops, subroutines, file access.Create typical programs in C using SDK ExercisesPART 1 – FINANCIAL APPLICATIONSChapter 2 Regression:Use regression techniques to find the pattern for depreciation of the value of cars over a period of years.Program written will create graphical displays to illustrate the topic.ExercisesChapter 3 Product Moment Correlation Coefficient (PMCC):Use this technique to illustrate the accuracy (or otherwise) of regression techniques.ExercisesChapter 4 : Asset PricingUse the past stock values of an Asset to predict what its future values may be using Monte Carlo methods.Graphics displays to illustrate the topic.ExercisesPART 2 – ENGINEERING/INDUSTRIAL/COMMERCIAL APPLICATIONSChapter 5: Supermarket Stock Reordering SimulationCreate a file of stock for a supermarket. Simulate the buying of stock by shoppers. Check the remaining stock. If it is too low print a message to reorder the stock.ExercisesChapter 6: Flight Information Boards at AirportsCreate a file of arrivals for an airport. Send data to the airport’s display boards to show the current situation for the incoming flights. Update a flight and refresh the information to the display boards.ExercisesChapter 6 : Power Plant ControlProgram receives messages about pressures, temperatures, flow rates etc for a power plant. The program checks for values outside safety ranges and acts upon any problem values by sending messages to both the gauges and the managers responsible for them.ExercisesPART 3 – PHYSICS APPLICATIONSChapter 8 Potential Energy and Kinetic Energy SimulationUse formulas for Potential Energy and Kinetic Energy to show how one falls at the same rate as the other rises.ExercisesChapter 9 Pendulum Simulation Use formulas for the motion of a pendulum to create a graph to illustrate the mathematical relationship on a graph .ExercisesChapter 10: Centre of Mass CalculationCalculate the centre of mass of unusually-shaped objects.ExercisesChapter 11 : Brownian MotionSimulate the patterns of particles moving in gases or solids.Graphical displays to illustrate the topic.ExercisesChapter 12 Vacancy Model of Atoms Moving in SolidsDemonstrate the Vacancy Model of atoms moving in solids where they can move into empty sites within the solid. Graphical displays will show the movement of the atoms within a 2D site.ExercisesAPPENDICESA. C Programming Code GuideB. Answers to exercisesThese could be contained in an included CD which could also contain some data files the students could use in their examples
Raspberry Pi Full Stack
This book will take you on a whirlwind tour of full-stack web application development using Raspberry Pi. You will learn how to build an application from the ground up.You will gain experience and know-how of technologies including:- The Linux operating system and command line.- The Python programming language.- The Raspberry Pi General Purpose Input Output pins (GPIOs).- The Nginx web server.- Flask Python web application microframework.- JQuery and CSS for creating user interfaces.- Dealing with time zones.- Creating charts with Plotly and Google Charts.- Data logging with Google Sheet.- Developing applets with IFTTT.- Securing your application with SSL.- Receiving SMS notifications to your phone using Twilio.This book will also teach you how to set up a remote wireless Arduino sensor node and collect data from it. Your Raspberry Pi web application will be able to process Arduino node data in the same way it processes data from its onboard sensor.Raspberry Pi Full Stack will teach you many skills essential to building Web and Internet of Things applications.The application you will build in this project is a platform that you can extend upon. This is just the start of what you can do with a Raspberry Pi and the software and hardware components that you will learn about.This book is supported by the author via a dedicated discussion space.Dr. Peter Dalmaris is an educator, an electrical engineer and Maker. Creator of online video courses on DIY electronics andauthor of several technical books. As a Chief Tech Explorer since 2013 at Tech Explorations, the company he founded in Sydney, Australia, Peter's mission is to explore technology and help educate the world.