Programmierung
Practical System Programming with C
This book teaches system programming with the latest versions of C through a set of practical examples and problems. It covers the development of a handful of programs, implementing efficient coding examples.Practical System Programming with C contains three main parts: getting your hands dirty with multithreaded C programming; practical system programming using concepts such as processes, signals, and inter-process communication; and advanced socket-based programming which consists of developing a network application for reliable communication.You will be introduced to a marvelous ecosystem of system programming with C, from handling basic system utility commands to communicating through socket programming. With the help of socket programming you will be able to build client-server applications in no time.The “secret sauce” of this book is its curated list of topics and solutions, which fit together through a set of different pragmatic examples; each topic is covered from scratch in an easy-to-learn way. On that journey, you’ll focus on practical implementations and an outline of best practices and potential pitfalls. The book also includes a bonus chapter with a list of advanced topics and directions to grow your skills.WHAT YOU WILL LEARN* Program with operating systems using the latest version of C * Work with Linux* Carry out multithreading with C Examine the POSIX standards* Work with files, directories, processes, and signals* Explore IPC and how to work with itWHO THIS BOOK IS FORProgrammers who have an exposure to C programming and want to learn system programming. This book will help them to learn about core concepts of operating systems with the help of C programming..Sri Manikanta Palakollu is a programmer and software developer with experience in C, C++, Java, and Python as well as Linux, POSIX, and other operating system-level programming. He is a tech reviewer for various tech book publishers. Sri also contributes to various open source projects.1. Introduction to Linux Environment• Getting familiar with Linux Kernel• Linux Kernel V/S Other OS Kernels.• File Handling Utilities• Process Utilities• Network Utilities• Backup Utilities.2. Implementation of Multithreading with C• Introduction to Threads• Threads V/S process• Introduction to Multithreading.• Importance of Multithreading.• Support of Multithreading in C• Creation of threads.• Practical Examples of Multithreading.• Use cases of Multithreading.3. Getting Started with System Programming• Understanding the POSIX Standard.• Introduction to API’s• Importance of API’s• Inbuilt API’s in C4. Files and Directories• Basic concepts in files• Files meta i-nodes• System Calls for Files• I/O Operations for Files• File Permissions.• Soft and Hard Links• System call for Directories.5. Processes and Signals• Introduction to process Environment• Environment Variables• Kernel Support for Processes• Process Creation• Concept of the Zombie process• Concept of Orphan Process• System Calls for Process management• Introduction to Signals• System calls for signals• Types of Signals6. Inter process Communication (IPC)• Introduction to IPC• Types of IPC• Creation of Named PIPES• Creation of UN-Named PIPES• Concept of Message Queues• Implementation of Message Queues• Concept of Semaphore• Implementation of Semaphore.• API for Named and unnamed PIPES• API for Message Queues• API for Semaphore.7. Shared Memory• Introduction to Shared Memory.• Kernel Support for Shared Memory.• Implementation of Shared Memory.• API for Shared Memory.8. Socket Programming• Introduction to Sockets• IPC Over Networks• API for Socket Programming• OSI Layer Protocol• TCP/IP Protocol• Client Server Architecture.• System calls for Socket Programming.• Implementation of Single Client Server Architecture.• Implementation of Multiple Client Server Architecture.9. Advanced Topics and Directions.
Practical Python Data Visualization
Quickly start programming with Python 3 for data visualization with this step-by-step, detailed guide. This book’s programming-friendly approach using libraries such as leather, NumPy, Matplotlib, and Pandas will serve as a template for business and scientific visualizations.You’ll begin by installing Python 3, see how to work in Jupyter notebook, and explore Leather, Python’s popular data visualization charting library. You’ll also be introduced to the scientific Python 3 ecosystem and work with the basics of NumPy, an integral part of that ecosystem. Later chapters are focused on various NumPy routines along with getting started with Scientific Data visualization using matplotlib. You’ll review the visualization of 3D data using graphs and networks and finish up by looking at data visualization with Pandas, including the visualization of COVID-19 data sets.The code examples are tested on popular platforms like Ubuntu, Windows, and Raspberry Pi OS. With Practical Python Data Visualization you’ll master the core concepts of data visualization with Pandas and the Jupyter notebook interface.WHAT YOU'LL LEARN* Review practical aspects of Python Data Visualization with programming-friendly abstractions * Install Python 3 and Jupyter on multiple platforms including Windows, Raspberry Pi, and Ubuntu * Visualize COVID-19 data sets with PandasWHO THIS BOOK IS FORData Science enthusiasts and professionals, Business analysts and managers, software engineers, data engineers.Ashwin Pajankar holds a Master of Technology from IIIT Hyderabad, and has over 25 years of programming experience. He started his journey in programming and electronics at the tender age of 7 with BASIC programming language and is now proficient in Assembly programming, C, C++, Java, Shell Scripting, and Python. Other technical experience includes single board computers such as Raspberry Pi and Banana Pro, and Arduino.He is currently a freelance online instructor teaching programming bootcamps to more than 60,000 students from tech companies and colleges. His Youtube channel has an audience of 10000 subscribers and he has published more than 15 books on programming and electronics with many international publications.CHAPTER 1: DATA VISUALIZATION WITH LEATHERChapter Goal: Introduce readers to the data visualization with a simple library leatherNo of pages: 15Sub - Topics:1. Introduction to leather2. Installation to leather3. Various types of graphs with leatherCHAPTER 2: INTRODUCTION TO THE SCIENTIFIC PYTHON ECOSYSTEM AND NUMPYChapter Goal: Explore Scientific Python 3 ecosystem and constituent member libraries. We will also learn basics of the NumPy multidimensional data structure Ndarrays.No of pages: 15Sub - Topics:1. Scientific Python 3 Ecosystem2. Member libraries3. Installation of NumPy4. NumPy basics5. NdarraysCHAPTER 3: NUMPY ROUTINES AND VISUALIZATION WITH MATPLOTLIBChapter goal – Learn to visualize data with Matplotlib. Readers working in the data science and scientific domains will be thrilled to get started with this.No of pages: 15Sub - Topics:1. NumPy Ndarray creation Routines2. Installation of Matplotlib3. Visualization with Matplotlib4. Multiple graphs5. Axis, colors, and markersCHAPTER 4 : VISUALIZING IMAGES AND 3D SHAPESChapter goal – Learn to visualize greyscale and color images. We will explore basic image processing operations. We will also learn to visualize 3D shapes and wireframes.No of pages: 20Sub - Topics:1. Visualize images with Matplotlib2. Basic Operations on images3. 3D visualizationsCHAPTER 5 : VISUALIZE NETWORKS AND GRAPHSChapter goal – Network and Graph Data structures. We will learn to install network library and visualize network.No of pages: 15Sub - Topics:1. Networks and Graphs2. Installation of network library3. Visualize graphsCHAPTER 6 : GETTING STARTED WITH PANDASChapter goal – Learn to work with Pandas Series and Dataframe data structures.No of pages: 15Sub - Topics:1. Pandas library and installation2. Series3. Dataframes4. Reading data from a URLCHAPTER 7: PROCESSING AND VISUALIZING COVID-19 DATAChapter goal – Learn to work with COVID-19 Data. Visualize the number of COVID-19.No of pages: 20Sub - Topics:1. COVID-19 Pandemic2. COVID 19 data sources3. COVID 19 python libraries4. Visualization of dataAPPENDIX:
Beginning R 4
Learn how to use R 4, write and save R scripts, read in and write out data files, use built-in functions, and understand common statistical methods. This in-depth tutorial includes key R 4 features including a new color palette for charts, an enhanced reference counting system (useful for big data), and new data import settings for text (as well as the statistical methods to model text-based, categorical data).Each chapter starts with a list of learning outcomes and concludes with a summary of any R functions introduced in that chapter, along with exercises to test your new knowledge. The text opens with a hands-on installation of R and CRAN packages for both Windows and macOS. The bulk of the book is an introduction to statistical methods (non-proof-based, applied statistics) that relies heavily on R (and R visualizations) to understand, motivate, and conduct statistical tests and modeling.Beginning R 4 shows the use of R in specific cases such as ANOVA analysis, multiple and moderated regression, data visualization, hypothesis testing, and more. It takes a hands-on, example-based approach incorporating best practices with clear explanations of the statistics being done.You will:* Acquire and install R and RStudio* Import and export data from multiple file formats* Analyze data and generate graphics (including confidence intervals)* Interactively conduct hypothesis testing* Code multiple and moderated regression solutionsWHO THIS BOOK IS FORProgrammers and data analysts who are new to R. Some prior experience in programming is recommended.MATT WILEY is a tenured, associate professor of mathematics with awards in both mathematics education and honor student engagement. He earned degrees in pure mathematics, computer science, and business administration through the University of California and Texas A&M systems. He serves as director for Victoria College’s quality enhancement plan and managing partner at Elkhart Group Limited, a statistical consultancy. With programming experience in R, C++, Ruby, Fortran, and JavaScript, he has always found ways to meld his passion for writing with his joy of logical problem solving and data science. From the boardroom to the classroom, Matt enjoys finding dynamic ways to partner with interdisciplinary and diverse teams to make complex ideas and projects understandable and solvable.JOSHUA F. WILEY is a lecturer in the Monash Institute for Cognitive and Clinical Neurosciences and School of Psychological Sciences at Monash University and a senior partner at Elkhart Group Limited, a statistical consultancy. He earned his PhD from the University of California, Los Angeles, and his research focuses on using advanced quantitative methods to understand the complex interplays of psychological, social, and physiological processes in relation to psychological and physical health. In statistics and data science, Joshua focuses on biostatistics and is interested in reproducible research and graphical displays of data and statistical models. Through consulting at Elkhart Group Limited and former work at the UCLA Statistical Consulting Group, he has supported a wide array of clients ranging from graduate students, to experienced researchers, and biotechnology companies. He also develops or co-develops a number of R packages including varian, a package to conduct Bayesian scale-location structural equation models, and MplusAutomation, a popular package that links R to the commercial Mplus software.1: Installing R2: Installing Packages and Using Libraries3: Data Input and Output4: Working with Data5: Data and Samples6: Descriptive Statistics7: Understanding Probability and Distribution8: Correlation and Regression9: Confidence Intervals10: Hypothesis Testing11: Multiple Regression12: Moderated Regression13: Analysts of VarianceBibliography
The Common Lisp Condition System
Discover the functioning and example uses of the Common Lisp condition system. This book supplements already existing material for studying Common Lisp as a language by providing detailed information about the Lisp condition system and its control flow mechanisms; it also describes an example ANSI-conformant implementation of the condition system.In part 1 of The Common Lisp Condition System, the author introduces the condition system using a bottom-up approach, constructing it piece by piece. He uses a storytelling approach to convey the foundation of the condition system, dynamically providing code to alter the behavior of an existing program. Later, in part 2, you’ll implement a full and complete ANSI-conformant condition system while examining and testing each piece of code that you write.Throughout, the author demonstrates how to extend Lisp using Lisp itself by using the condition system as an example. This is done while paying proper attention to the CL restart subsystem, giving it attention on a par with the handler subsystem. After reading and using this book, you'll have learned about the inner functioning of the condition system, how to use it in your own Common Lisp coding and applications, and how to implement it from scratch, should such a need arise.WHAT YOU WILL LEARN* Examine the condition system and see why it is important in Common Lisp* Construct the condition system from scratch using foundational mechanisms provided by Common Lisp* Program the condition system and its control flow mechanisms to achieve practical results* Implement all parts of a condition system: conditions, restarts, handler- and restart-binding macros, signalling mechanisms, assertions, a debugger, and moreWHO THIS BOOK IS FORBeginning and intermediate Lisp programmers, as well as intermediate programmers of other programming languages.MICHAŁ "PHOE" HERDA is a programmer with contributions to multiple parts of the Common Lisp ecosystem: CL implementations, existing and widely-used CL utilities, documentation, and some of the new library ideas that he slowly pushes forwards and works on. The book The Common Lisp Condition System is his first work -- an attempt to create a tutorial on the condition system that was missing, even all the years after which ANSI Common Lisp was standardized.1: Basic Concepts2: Introducing the Condition System3: Implementing the Common Lisp Condition System4: Wrapping UpAppendix A: Implementation of Dynamic Variables in CAppendix B: Additional Utilities for Working with Common Lisp ConditionsAppendix C: Lisp Macros 101Appendix D: Condition System Reference
Technisches Konstruieren mit OpenSCAD
Das Design dreidimensionaler Modelle mit Werkzeugen wie Blender oder 3D Studio Max ist eine Aufgabe, die ingenieurwissenschaftlich begabte Personen nur allzu gern delegieren.OpenSCAD wählt einen erfrischend anderen Zugang. Anstatt ein Objekt als Punktwolke zu betrachten, schreibt der Modellerzeuger in einer an Javascript erinnernden Sprache ein Programm. Dieses beschreibt die zu erzeugende Geometrie als eine Serie von Arbeitsschritten. Dreidimensionale Modelle entstehen so in einem Workflow, der an die Entwicklung klassischer ingenieurwissenschaftliche Güter erinnert. Wegen der Nähe zur manuellen Fertigung mit Werkzeug ist das ein Prozess, der Ingenieuren gut in die Hände spielt.Aber Achtung: trotz der Einfachheit der Syntax ist OpenSCAD kein primitives Modellierungsprogramm. Umfangreiche Scriptingmöglichkeiten sorgen dafür, dass sich die Modelle dynamisch an geänderte Situationen anpassen.Dieses Lehrbuch demonstriert die Möglichkeiten von OpenSCAD anhand praktischer Beispiele. Freuen Sie sich auf Ersatzknöpfe für ein LeCroy-Oszilloskop, Garderobenstangenhalter, einen Halter für Seifenspender und diverse andere Beispiele aus dem realen Leben.Der mit mehr als 15 Dienstjahren Erfahrung ausgestattete Autor entwickelte dieses für Linux und Windows gleichermaßen geeignete Buch explizit für informatikaffine Personen. Wenn Sie mit irgendeiner Programmiersprache Erfahrung haben, ist dieses Buch ihr Weg zum schnellen und unbürokratischen Erzeugen dreidimensionaler Modelle.Tam Hanna programmiert und entwickelt seit mehr als 15 Jahren Microcontroller und Prozessrechnersysteme für verschiedene Anwendungsfälle. Neben seiner Consultingtätigkeit hält er Vorträge auf Kongressen, verfasst Fachartikel für diverse Magazine und agiert als Tutor. Sein viel beachteter Instagram-Kanal liefert Hintergrundinformationen zu Messtechnik und Elektronik.
Raku Recipes
Explore Raku problems and solutions using the latest version of the Raku programming language. In Raku Recipes, the emphasis is on applying Raku code to various important tasks and applications including data science, analytics, microservices, and desktop/console applications. There are also fun one-liner script recipes and instructions on how to create mini-languages of your very own.All in all, over 70 recipes cover a broad range of the tasks and problems encountered by a modern Raku developer. You’ll be able to solve problems starting from basics such as input/output and math, to more complex domains such as microservices web sockets, web hooks, and mini-bots.WHAT YOU WILL LEARN* Put Raku to use in a real world environment* Work with Raku modules, including design classes, roles, and more* Query a GeoIP database and extract information from the web* Carry out text processing such as creating a dictionary with fast searches over it and scraping markdown documents* Work with MongoDB, WikiData, and other data sources* Build data science and analytics applications using Raku* Integrate with Python, C, and other languages and libraries* Create mini-languages and shell scripting languages WHO THIS BOOK IS FORWhile some prior experience in Raku may be useful, it is not required. Prior programming experience using other scripting languages, such as Perl, is recommended, however.J.J. Merelo is a professor at the university of Granada, where he has been teaching since 1988. He has been using Perl since 1994, and Perl 6/Raku intensively since December 2016. He trains, teaches, and consults on Perl and Raku projects.* How do I start to put (Perl 6|Raku|Camelia) to use in a real world environment.* Get your tools ready.Put concepts from other languages to use in Perl 6. * Get involved in the community.* Install some external and useful modules.* Detect OS environment and change program behavior according to it.* Input and outputRead files handled as arguments * Read and process files asynchronously* Connect input and output of external utilities and files.* Read and process binary files.* Watch a file for changes* Data science and data analytics* How do I extract unique email addresses/user names from several files.* How do I create a weighted random number generator.How do I work with a spreadsheet, filtering by row or column, or sorting, or converting row into columns or the other way round. * How do I apply a series of transformations to a group of elements and then extract a single quantity from them.* How do I create a random data generator* How do I process big, structured files.* MathHow can you generate mathematical sequences and extract random elements from it. * Program a divide-and-conquer algorithm.* Work with matrices.* Compute Mandelbrot’s and Julia’s set* Look for pairs of integers with a certain property, such as friendly numbers or contiguous primes, to use infinite precision integers.Configuration and execution of programs.* Configure a program using JSON/YAML/.ini files.* Configure a command line command with flags and arguments.* Use shell environment variables in my program.* Advanced/distributed configuration with etcdCreate a Docker container for an application to distribute it easily* Automation of system tasks.* Check log for certain events.* Check logs interactively on the console.* Check git commits for patterns, metadata, or store them.Clean up your Docker image store. * Process the last persons logged to our system* Perl 6 modules* Design classes, roles and modules in Perl 6.* Document your module.* Test your module.* Release it as an open source module for every one.* Use multiple dispatch to speed up applications.Dealing with errors* Design an exception hierarchy.* Deliver meaningful error messages to the user.* Catch and deal with errors in your program.* Debug your application in CommaIDE.* Make grammars fail graciously with pretty errors.* Web and microservices on the client side* Query a GeoIP databaseDownload and extract information from a web site. * Use a web API to get information from a site.* Check IP and addresses by querying Internet services.* Text processing* Scrape markdown documents.* Generate a set of static web pages* Create a dictionary and do fast searches over it* Compute differences in plain textsMicroservices* Create a microservice.* Work with web sockets, connecting to a client.* Respond to web hooks.* Create a mini-bot for Telegram or Slack.* Test your microservice.* Work with data sources.* Work with relational databases.Interface with Redis. * Use an ORM for hight-level data description and access.* Work with MongoDB.* Extract information from WikiData* Create a desktop/console applicationUse full-console UI. * Create an application that uses system windows.* Package your application for release.* Make it work with other desktop applications by using service buses.* Use a common desktop application framework.Interface with libraries and code in other languages* Embed Python programs.* Embed Perl programs.* Run external programs and capture output.* Wrap external libraries in C with NativeCall.* Work with image processing libraries.* Speed up processing* Use data parallelism with hyper/race.Work with asynchronous input/output * Work with concurrency using channels and threads.* Create powerful concurrent programs* Monitor concurrency using CommaIDE.* Create mini-languages* Use mini-languages that show off their possibilities* Create and process a mini-language for recipes.* Process recipes and generate reports.Resume common language patterns. * Convert grammar into a full recipe-processing application that generates HTML or other external format.* Fun one-liners* How do I write a guessing name in a single line of code.* How do I compute the nth element in a sequence with a single line.How do I perform system administration task repeatedly using a single line of code.
Einstieg in Java mit Eclipse
EINSTIEG IN JAVA MIT ECLIPSE //- Einrichtung der Entwicklungsumgebung (Java, Eclipse)- Grundlagen der objektorientierten Programmierung- Einführung in Eclipse- Beschreibung der Java-Sprachelemente (Variablen, Anweisungen, einfache Datentypen, Klassen und Objekte, Aufzählungen, Arrays, Methoden, Operatoren, Verzweigungen, Schleifen, Pakete und Module)- Überblick über die Plattform Java (Bytecode, Laufzeitumgebung mit Garbage Collector, Interpreter und JIT-Compiler, Klassenbibliotheken)- Beispiele und ein Bonuskapitel unter plus.hanser-fachbuch.deBernhard Steppan hat mit diesem Buch einen ausführlichen Einstieg in Java mit Eclipse geschrieben. Das Buch ist vor allem für Leser ohne Programmierkenntnisse geeignet.Der erste Teil des Buches vermittelt das Java- und Eclipse-Basiswissen und führt in die objektorientierteProgrammierung ein.Im zweiten Teil dreht sich alles um die Feinheiten der Sprache Java. Hier entstehen die ersten kleinen Java-Anwendungen. Jedes Kapitel bietet eine Mischung aus Wissensteil und praktischen Übungen und endet mit Aufgaben, die Sie selbstständig durchführen können.Die Technologie Java bildet den Schwerpunkt des dritten Teils. Zudem werden Ihnen Klassenbibliotheken und Algorithmen vorgestellt.Ein größeres Java-Projekt steht im Mittelpunkt des vierten Teils. Anhand einer Anwendung mit grafischer Oberfläche werden Sie hier alle Elemente der vorigen Teile kennenlernen.Im fünften Teil nden Sie die Lösungen zu den Aufgaben im zweiten und dritten Teil des Buches.Ein Buch für alle, die die Java-Programmierung mithilfe der Eclipse-Entwicklungsumgebung erlernenund beherrschen wollen.AUS DEM INHALT //- Programmiergrundlagen- Objektorientierte Programmierung- Entwicklungsumgebung- Programmaufbau- Variablen- Anweisungen- Einfache Datentypen- Klassen und Objekte- Aufzählungen- Arrays- Methoden- Operatoren- Verzweigungen- Schleifen- Pakete und Module Bernhard Steppan ist ein Java-Entwickler der ersten Stunde und hat mehrere C++- und Java-Bücher geschrieben sowie zahlreiche Artikel verfasst. Er arbeitet als IT-Chefarchitekt bei DB Systel, dem Systemhaus der Deutschen Bahn.
Einstieg in SwiftUI
• Der umfangreiche Einstieg in SwiftUI• Detaillierte Beschreibungen zum Einsatz von Views, Controls und Status• Aktuell zu Xcode 12• Mit Update inside: Erhalten Sie aktuelle Infos zu kommenden SwiftUI-Updates und weiteren SwiftUI-Funktionen.Lernen Sie Apples neues SwiftUI-Framework kennen und erfahren Sie, wie Sie plattformübergreifende Nutzeroberflächen für Mac, iPhone, iPad, Apple Watch und Apple TV erstellen. Das Framework vereinfacht den Prozess der UI-Erstellung deutlich, damit Sie sich als Entwickler primär auf die Kernfunktionen Ihrer Apps konzentrieren können.SwiftUI funktioniert gänzlich anders als die bisherigen Mechanismen zur Gestaltung von Views für Apple-Plattformen. Es ist zudem tief in die Entwicklungsumgebung Xcode integriert.Für Entwickler ergeben sich so eine Vielzahl an Neuerungen, die es langfristig in der UI-Erstellung zu beachten gilt und die in diesem Buch ausführlich und detailliert beschrieben werden. Dazu gehören die grundlegende Funktionsweise von SwiftUI, das Vorgehen beim Erstellen von Views, der Austausch von Daten und Best Practices beim Einsatz des Frameworks. Auch die Integration von SwiftUI in bereits bestehende Projekte ist ein Thema.Aus dem Inhalt:• Funktionsweise von SwiftUI• Views und Controls• View-Hierarchien mit Stacks, Listen und Grids• Navigationsstrukturen• Status mittels State, Binding, ObservedObject und mehr• Integration in bestehende Projekte mittels Representable und Hosting• Effizienter Einsatz der Preview Thomas Sillmann ist leidenschaftlicher Autor, Apple-Entwickler und Trainer. Mit seiner Begeisterung für das Schreiben hat er bereits mehrere erfolgreiche Fachbücher veröffentlicht. Thomas lebt und arbeitet in Aschaffenburg.
C++ mit Visual Studio 2019 und Windows Forms-Anwendungen
C++ hat sich in den letzten Jahren rasant entwickelt: C++11, C++14, C++17 und C++20 haben viele Verbesserungen und neue Möglichkeiten gebracht. Vieles, was vor 10 Jahren noch gut und empfehlenswert war, kann heute besser und sicherer gemacht werden.Dieses Buch stellt C++ mit Visual Studio 2019 auf dem Stand von Mai 2020 umfassend dar. Das ist nicht nur der Umfang von C++17, sondern auch schon ein Teil von C++20.Es entstand aus zahlreichen Vorlesungen und Firmenseminaren. Dementsprechend richtet es sich einerseits an STUDIERENDE, die C++ lernen wollen. Der Aufbau, die vielen Beispiele und Übungsaufgaben sind erprobt und bewährt. Es eignet sich zum Selbststudium und als Lehrbuch für Vorlesungen an Fachhochschulen und Universitäten.Dieses Buch zeigt aber ebenso PROFESSIONELLEN SOFTWARE-ENTWICKLERN mit einer jahrelangen C++-Praxis den aktuellen Stand der Technik. Viele der Spracherweiterungen machen elementare Programmiertechniken einfacher und sicherer. Dazu kommen neue Konzepte, die bessere und effizientere Lösungen als noch vor einigen Jahren ermöglichen. Das kann unnötigem Aufwand und Fehlern führen, die sich leicht vermeiden lassen. Viele dieser neuen Möglichkeiten haben sich in der industriellen Praxis noch nicht etabliert.Dieses Buch erscheint in zwei weitgehend identischen Ausgaben:– IN DER VORLIEGENDEN AUSGABE werden Programme geschrieben, in denen alle Ein- und Ausgaben über eine Windows-Benutzeroberfläche erfolgen.– IN DER ANDEREN AUSGABE „C++ mit Visual Studio 2019“ werden Programme ohne eine graphische Benutzeroberfläche geschrieben. Alle Ein- und Ausgaben erfolgen mit cin und cout über die Konsole.Nach seinem Mathematikstudium an der Universität Tübingen war RICHARD KAISER einige Jahre in der Lehrerausbildung tätig, Trainer in der Industrie, Software-Entwickler (vor allem für technische Anwendungen) und Leiter der Software-Abteilung. Seit 1991 ist er Professor an der Dualen Hochschule Baden-Württemberg (Lörrach), wo er vor allem Vorlesungen über Programmiersprachen (C/C++/C#) und Mathematik hält. In den letzten Jahren hat er viele Seminare über C++ und C# für Firmen durchgeführt.Die Entwicklungsumgebung.- Steuerelemente für die Benutzeroberfläche.- Elementare Datentypen und Anweisungen in C und C++.- Sie Stringklassen string und wstring.- Arrays und Container.- Einfache selbstdefinierte Datentypen.- Zeiger, Strings und dynamisch erzeugte Variablen.- Überladene Funktionen und Operatoren.- Objektorientierte Programmierung.- Namensbereiche.- Exception-Handling.- Containerklassen der C++-Standardbibliothek.- Dateibearbeitung mit den Stream-Klassen.- Funktionsobjekte und Lambda-Ausdrücke.- Templates und STL.- C++11 Smart Pointer: shared_ptr, unique_ptr und weak_ptr.- Literatur.- Index.
Foundation Dynamic Web Pages with Python
Discover the concepts of creating dynamic web pages (HTML) with Python. This book reviews several methods available to serve up dynamic HTML including CGI, SSI, Django, and Flask.You will start by covering HTML pages and CSS in general and then move on to creating pages via CGI. It is easy to use and can serve as a foundation for the more advanced services available for launching dynamic web pages. Next you'll explore the SSI (Server Side Interface) method. This is a slightly more advanced interface included in mots web servers that adds functionality to modify static HTML pages to add such things as the current date or time, include additional HTML, and other features to a static web page before it is delivered to the user.The book also covers some of the key the Django module features, which must be added to the web server. These features include creating dynamic web pages and calling a database to provide additional information to the web page. Lastly you will explore the Flask module. While it has limited functionality on its own, it provides a very flexible environment to create a self designed system for delivery of dynamic web pages.By the time you finish this book, you will be able to choose the appropriate methodology for delivering dynamic information using fast HTML creation services.WHAT YOU'LL LEARN* Use HTML pages and CSS together to control the style of your web site.* Install and configure SSI, Django, and Flask for Apache.* Create dynamic web pages using CGI and creating a library of partial HTML pages to use in this task.* Build dynamic web pages using SSI and auxiliary Python programs to enhance the SSI functionality.* Develop dynamic web pages using Django.WHO THIS BOOK IS FORSoftware Developers with basic Python programming skills interested in learning Web DevelopmentW. David Ashley is a technical writer for SkillSoft where he specializes in open source, particularly Linux. As a member of the Linux Fedora documentation team he recently led the Libvert project documentation, and wrote the Python programs included with it. He has developed in 20 different programming languages during his 30 years as a software developer and IT consultant, including more than 18 years at IBM and 12 years with American Airlines. Chapter 1: Introduction to Web ServersChapter Goal: An introduction to web servers – specifically the Apache web server.No. of Pages: 5Sub-Topics:Glossary of termsIntroduction to the Apache web serverIntroduction to other web serversConfiguring your web serverOrganizing your web serverChapter 2: HTML Pages and CSSChapter Goal: Describes the main principles of web pages and style sheetsNo. of Pages: 20Sub-Topics:HTML tagsOrganizing HTML sectionsLinking HTML pages to a style sheetCreating a library of partial HTML pagesEnsuring coordination between the HTML page, the CSS stylesheet, and you libraryChapter 3: Using CGI and PythonChapter Goal: Using Python to create an HTML pageNo. of Pages: 25Sub-Topics:Configure CGI for use by PythonCreate a dummy page just for creating the layout of the page major elementsHTML sectionsUsing Python to create a dynamic HTML pageWhere to split a web page into multiple partsTechniques for managing the web page for use by PythonThe good and the bad of using CGIChapter 4: Using SSI and PythonChapter Goal: Configure Apache for use by SSI and PythonNo. of Pages: 45Sub-Topics:Configure SSI for use by PythonCreate a dummy page just for creating the layout of the page major elementsHTML sectionsUsing SSI and Python to create a dynamic HTML pageWhere to split a web page into multiple partsTechniques for managing the web page for use by SSI and PythonThe good and the bad of using SSIChapter 5: Using Django and PythonChapter Goal: Using Django and Python to create an HTML pageNo. of Pages: 40Sub-Topics:Configure Apache for use by Django and PythonCreate a dummy page just for creating the layout of the page major elementsHTML sectionsUsing Django and Python to create a dynamic HTML pageWhere to split a web page into multiple partsTechniques for managing the web page for use by Django and PythonThe good and the bad of using DjangoChapter 6: Using Flask and JinjaChapter Goal: Using Flask and Python to create an HTML pageNo. of Pages: 40Sub-Topics:Configure Apache for use by Flask and PythonCreate a dummy page just for creating the layout of the page major elementsHTML sectionsUsing Flask and Python to create a dynamic HTML pageWhere to split a web page into multiple partsTechniques for managing the web page for use by Flask and PythonThe good and the bad of using FlaskChapter 7: Comparing CGI, SSI, Django, and Flask Chapter Goal: Choosing the correct dynamic page creation systemNo. of Pages: 50Sub-Topics:List the advantages of each systemList the disadvantages of each systemChapter 8: Usage Options - CGI, SSI, Django, and FlaskChapter Goal: Choosing the correct dynamic page creation systemNo. of Pages: 50Sub-Topics:Discuss options for using multiple systemsSome things to remember
Supervised Learning with Python
Gain a thorough understanding of supervised learning algorithms by developing use cases with Python. You will study supervised learning concepts, Python code, datasets, best practices, resolution of common issues and pitfalls, and practical knowledge of implementing algorithms for structured as well as text and images datasets.You’ll start with an introduction to machine learning, highlighting the differences between supervised, semi-supervised and unsupervised learning. In the following chapters you’ll study regression and classification problems, mathematics behind them, algorithms like Linear Regression, Logistic Regression, Decision Tree, KNN, Naïve Bayes, and advanced algorithms like Random Forest, SVM, Gradient Boosting and Neural Networks. Python implementation is provided for all the algorithms. You’ll conclude with an end-to-end model development process including deployment and maintenance of the model.After reading Supervised Learning with Python you’ll have a broad understanding of supervised learning and its practical implementation, and be able to run the code and extend it in an innovative manner.WHAT YOU'LL LEARN* Review the fundamental building blocks and concepts of supervised learning using Python* Develop supervised learning solutions for structured data as well as text and images * Solve issues around overfitting, feature engineering, data cleansing, and cross-validation for building best fit models* Understand the end-to-end model cycle from business problem definition to model deployment and model maintenance * Avoid the common pitfalls and adhere to best practices while creating a supervised learning model using PythonWHO THIS BOOK IS FORData scientists or data analysts interested in best practices and standards for supervised learning, and using classification algorithms and regression techniques to develop predictive models.VAIBHAV VERDHAN has 12+ years of experience in Data Science, Machine Learning and Artificial Intelligence. An MBA with engineering background, he is a hands-on technical expert with acumen to assimilate and analyse data. He has led multiple engagements in ML and AI across geographies and across retail, telecom, manufacturing, energy and utilities domains. Currently he resides in Ireland with his family and is working as a Principal Data Scientist. Chapter 1: Introduction to Supervised LearningChapter Goal: Start the journey of the readers on supervised learningNo of pages: 30-40Sub -Topics1. Machine learning and how is it different from software engineering?2. Discuss reasons for machine learning being popular3. Compare between supervised, semi-supervised and unsupervised algorithms4. Statistical methods to get significant variables5. The use cases of machine learning and respective use cases for each of supervised, semi-supervised and unsupervised algorithmsChapter 2: Supervised Learning for Regression AnalysisChapter Goal: Embrace the core concepts of supervised learning to predict continuous variablesNo of pages: 40-50Sub - Topics1. Supervised learning algorithms for predicting continuous variables2. Explain mathematics behind the algorithms3. Develop Python solution using linear regression, decision tree, random forest, SVM and neural network4. Measure the performance of the algorithms using r square, RMSE etc.5. Compare and contrast the performance of all the algorithms6. Discuss the best practices and the common issues faced like data cleaning, null values etc.Chapter 3: Supervised Learning for Classification ProblemsChapter Goal: Discuss the concepts of supervised learning for solving classification problemsNo of pages : 30-40Sub - Topics:1. Discuss classification problems for supervised learning2. Examine logistic regression, decision tree, random forest, knn and naïve Bayes. Understand the statistics and mathematics behind each3. Discuss ROC curve, akike value, confusion matrix, precision/recall etc4. Compare the performance of all the algorithms5. Discuss the tips and tricks, best practices and common pitfalls like a bias-variance tradeoff, data imbalance etc.Chapter 4: Supervised Learning for Classification Problems-AdvancedChapter Goal: cover advanced classification algorithms for supervised learning algorithmsNo of pages:30-40Sub - Topics:1. Refresh classification problems for supervised learning2. Examine gradient boosting and extreme gradient boosting, support vector machine and neural network3. Compare the performance of all the algorithms4. Discuss the best practices and common pitfalls, tips and tricksChapter 5: End-to-End Model DeploymentChapter Goal: guide the reader on the end-to-end process of deploying a supervised learning model in productionNo of pages:25-301. Meaning of model deployment2. Various steps in the model deployment process3. Preparations to be made like settings, environment etc.4. Various use cases in the deployment5. Practical tips in model deployment
Modern Arm Assembly Language Programming
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly language topics that are relevant to modern software development. It is designed to help you quickly understand Armv8-A assembly language programming and the computational resources of Arm’s SIMD platform. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential Armv8-A assembly language constructs and SIMD programming concepts. After reading this book, you will be able to code performance-optimized functions and algorithms using Armv8- A 32-bit and 64-bit assembly language.Modern Arm Assembly Language Programming accentuates the coding of Armv8-A 32-bit and 64-bit assembly language functions that are callable from C++. Multiple chapters are also devoted to Armv8-A SIMD assembly language programming. These chapters discuss how to code functions that are used in computationally intense applications such as machine learning, image processing, audio and video encoding, and computer graphics.The source code examples were developed using the GNU toolchain (g++, gas, and make) and tested on a Raspberry Pi 4 Model B running Raspbian (32-bit) and Ubuntu Server (64-bit). It is important to note that this is a book about Armv8-A assembly language programming and not the Raspberry Pi.What You Will Learn* See essential details about the Armv8-A 32-bit and 64-bit architectures including data types, general purpose registers, floating-point and SIMD registers, and addressing modesUse the Armv8-A 32-bit and 64-bit instruction sets to create performance-enhancing functions that are callable from C++ * Employ Armv8-A assembly language to efficiently manipulate common data types and programming constructs including integers, arrays, matrices, and user-defined structures* Create assembly language functions that perform scalar floating-point arithmetic using the Armv8-A 32-bit and 64-bit instruction sets* Harness the Armv8-A SIMD instruction sets to significantly accelerate the performance of computationally intense algorithms in applications such as machine learning, image processing, computer graphics, mathematics, and statistics.* Apply leading-edge coding strategies and techniques to optimally exploit the Armv8-A 32-bit and 64-bit instruction sets for maximum possible performance WHO THIS BOOK IS FORSoftware developers who are creating programs for Armv8-A platforms and want to learn how to code performance-enhancing algorithms and functions using the Armv8-A 32-bit and 64-bit instruction sets. Readers should have previous high-level language programming experience and a basic understanding of C++.Daniel Kusswurm has over 35 years of professional experience as a software developer and computer scientist. During his career, he has developed innovative software for medical devices, scientific instruments, and image processing applications. On many of these projects, he successfully employed assembly language to significantly improve the performance of computationally intense algorithms or solve unique programming challenges. His educational background includes a BS in electrical engineering technology from Northern Illinois University along with an MS and PhD in computer science from DePaul University. Daniel Kusswurm is also the author of Modern X86 Assembly Language Programming (ISBN-13: 978-1484200650) and Modern X86 Assembly Language Programming, Second Edition (ISBN-13: 978-1484240625), both published by Apress.Modern Arm Assembly Language ProgrammingF:\ModArmAsm\Chapters\Outline\ModernArmAsm_Outline (V2).docx Page 1 of 6Daniel KusswurmIntroductionBook overviewTarget audienceContent overviewSource codeTerminology and conventionsAdditional resourcesChapter 1 – Armv8-32 ArchitectureArmv8-32 OverviewData typesFundamental data typesNumerical data typesSIMD data typesInternal architectureGeneral-purpose register fileApplication Program Status Register (APSR)Instruction set overviewInstruction operandsMemory addressing modesChapter 2 – Armv8-32 Core Programming – Part 1Integer arithmeticAddition and subtraction (Ch02_01)Multiplication (Ch02_02)Division (Ch02_03)Integer operationsLoad instructions (Ch02_04)Move instructions (Ch02_05, Ch02_06)Logical operations (Ch02_07)Chapter 3 – Armv8-32 Core Programming – Part 2Basic stack argumentsStack arguments (Ch03_01)Stack arguments using mixed data types (Ch03_02)Advanced stack useModern Arm Assembly Language ProgrammingF:\ModArmAsm\Chapters\Outline\ModernArmAsm_Outline (V2).docx Page 2 of 6Daniel KusswurmStack use with local storage (Ch03_03)Stack use with frame pointer (Ch03_04)Using the APSR condition flagsCompare instructions (Ch03_05)Looping (Ch03_06)Chapter 4 – Armv8-32 Core Programming – Part 3Integer arraysArray arithmetic (Ch04_01)Array arithmetic using mixed-type integers (Ch04_02)Integer matricesMatrix example #1 (Ch04_03)Matrix example #2 (Ch04_04)Advanced programmingAdvanced array operations (Ch04_05)Structures (Ch04_06)Chapter 5 – Armv8-32 Floating-Point ArchitectureFloating-point programming conceptsBinary encodingsNaNsDenormalsFlush to zeroFloating-point registersSingle-precision registersDouble-precision registersFPSCR (floating-point status and control register)Rounding modesExceptionsChapter 6 – Armv8-32 Floating-Point ProgrammingFloating-point arithmeticFP arithmetic example #1 (Ch06_01)FP arithmetic example #2 (Ch06_02)FP arithmetic example #3 (Ch06_03)Floating-point compares and conversionsFP compares (Ch06_04)FP conversions (Ch06_05)Floating-point arrays and matricesModern Arm Assembly Language ProgrammingF:\ModArmAsm\Chapters\Outline\ModernArmAsm_Outline (V2).docx Page 3 of 6Daniel KusswurmFP arrays (Ch06_06)FP matrices (Ch06_07)Advanced floating-point programmingUsing C++ floating-point library functions (Ch06_08)Chapter 7 – Armv8-32 SIMD ArchitectureArmv8-32 SIMD Architecture OverviewSIMD programming conceptsWraparound and saturated arithmeticSIMD architectureRegister setsData typesSIMD arithmetic operationsPacked integer arithmeticPacked floating-point arithmeticChapter 8 – Armv8-32 SIMD Integer ProgrammingPacked integer arithmeticAddition and subtraction (Ch08_01)Multiplication (Ch08_02)Shift and logical operations (Ch08_03)Packed integer image processingPixel minimum and maximum (Ch08_04)Mean intensity (Ch08_05)Image thresholding (Ch08_06)Chapter 9 – Armv8-32 SIMD Floating-Point ProgrammingPacked floating-point arithmeticAddition, subtraction, multiplication, division (Ch09_01)Compares (Ch09_02)Conversions (Ch09_03)Packed floating-point arraysMinimum and maximum (Ch09_04)Least squares (Ch09_05)Packed floating-point matrices4x4 matrix transposition (Ch09_06)4x4 matrix multiplication (Ch09_07)Modern Arm Assembly Language ProgrammingF:\ModArmAsm\Chapters\Outline\ModernArmAsm_Outline (V2).docx Page 4 of 6Daniel KusswurmChapter 10 – Armv8-64 ArchitectureArmv8-64 OverviewData typesNumerical data typesSIMD data typesInternal architectureGeneral-purpose register fileFloating-point and SIMD registersStatus flags and condition codesInstruction set overviewOperandsMemory addressing modesChapter 11 – Armv8-64 Core Programming – Part 1Integer arithmeticAddition & subtraction (Ch11_01)Multiplication (Ch11_02)Division (Ch11_03)Integer operationsLoad and store instructions (Ch11_04)Move instructions (Ch11_05)Logical instructions (Ch11_06)Shift instructions (Ch11_07)Chapter 12 – Armv8-64 Core Programming – Part2Stack arguments and local storageStack arguments using mixed data types (Ch12_01)Stack arguments with local storage (Ch12_02)Using condition codesCompare instructions (Ch12_03)Looping (Ch12_04)Integer arrays and matricesArray programming example (Ch12_05)Matrix programming example (Ch12_06)Chapter 13 – Armv8-64 Floating-Point ProgrammingFloating-point arithmeticSingle-precision arithmetic (Ch13_01)Modern Arm Assembly Language ProgrammingF:\ModArmAsm\Chapters\Outline\ModernArmAsm_Outline (V2).docx Page 5 of 6Daniel KusswurmDouble-precision arithmetic example #1 (Ch13_02)Double-precision arithmetic example #2 (Ch13_03)Floating-point compares and conversionsCompare instructions (Ch13_04)Conversion instructions (Ch13_05)Floating-point arrays and matricesArray programming example (Ch13_06)Matrix programming example (Ch13_07)Advanced floating-point programmingUsing C++ floating-point library functions (Ch13_08)Chapter 14 – Armv8-64 SIMD Integer ProgrammingPacked integer arithmeticAddition and subtraction (Ch14_01)Shift operations (Ch14_02)Multiplication (Ch14_03)Packed integer image processingPixel min/max (Ch14_04)Gray-scale pixel clipping (Ch14_05)Image statistics (Ch14_06)Chapter 15 – Armv8-64 SIMD Floating-Point ProgrammingPacked floating-point arithmeticAddition subtraction, multiplication, division (Ch15_01)Compares (Ch15_02)Conversions (Ch15_03)Packed floating-point arraysCorrelation coefficient (Ch15_04)Image conversion – RGB to grayscale (Ch15_05)Packed floating-point matrices4x4 matrix multiplication (Ch15_06)4x4 matrix-vector multiplication (Ch15_07)Chapter 16 – Armv8-64 Advanced SIMD ProgrammingArmv8 microarchitecture overviewOptimization guidelinesSignal processingFMA convolution (Ch16_01)Modern Arm Assembly Language ProgrammingF:\ModArmAsm\Chapters\Outline\ModernArmAsm_Outline (V2).docx Page 6 of 6Daniel KusswurmVector and matrix operationsVector cross products (Ch16_02)Matrix-vector products (Ch16_03)Matrix inversion (Ch16_04)Appendix A – Source Code and Software Development ToolsSource codeHardware platformHost operating systemsSetup and configurationSoftware toolsg++gasmakeBuilding and executing the source code projectsAppendix B – References and Additional ResourcesArmv8 programming referencesAlgorithm referencesSoftware development resourcesAdditional resources
Learn PHP 8
Write solid, secure, object-oriented code in the new PHP 8. In this book you will create a complete three-tier application using a natural process of building and testing modules within each tier. This practical approach teaches you about app development and introduces PHP features when they are actually needed rather than providing you with abstract theory and contrived examples.In Learn PHP 8, programming examples take advantage of the newest PHP features; you’ll follow a learn-by-doing approach, which provides you with complete coding examples. “Do It” exercises in each chapter provide the opportunity to make adjustments to the example code. The end-of-chapter programming exercises allow you to develop your own applications using the algorithms demonstrated in the chapter.Each tier is logically and physically separated using object-oriented and dependency injection techniques, thus allowing independent tiers that can be updated with little or no effect on the other tiers. In addition to teaching good programming practices through OOP, there is a strong emphasis on creating secure code.As each chapter is completed, you’ll have the opportunity to design and create an application reinforcing the concepts learned.WHAT YOU WILL LEARN* Program PHP 8 web applications* Use interfaces, containers, and platforms* Apply modular programming * Manage data objects and use MySQL and other databasesWork with multi-functional and secure user interfaces * Handle logging exceptions and moreWHO THIS BOOK IS FORThose new to web development, specifically PHP programming. Also, this book can be useful to those who have some PHP/web development experience who are new to PHP 8.Steve Prettyman is a college instructor on PHP programming, web development, and related technologies. He is and has been a practicing web developer and is a book author.1. Introduction to PHP 82. Interfaces, Platforms, Containers: Three-Tiers Programming3. Modular Programming4. Secure User Interfaces5. Handling and Logging Exceptions6. Data Objects7. Authentication8. Multi-functional Interfaces
Beginning C++20
Begin your programming journey with C++ , starting with the basics and progressing through step-by-step examples that will help you become a proficient C++ programmer. This book includes new features from the C++20 standard such as modules, concepts, ranges, and the spaceship operator. All you need are Beginning C++20 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge.All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Free source code downloads are provided for all examples from the text and solutions to the exercises.This latest edition has been fully updated to the latest version of the language, C++20, and to all conventions and best practices of modern C++. Beginning C++20 also introduces the elements of the C++ Standard Library that provide essential support for the C++20 language.WHAT YOU WILL LEARN* Begin programming with the C++20 standard* Carry out modular programming in C++* Work with arrays and loops, pointers and references, strings, and more* Write your own functions, types, and operators* Discover the essentials of object-oriented programming* Use overloading, inheritance, virtual functions, and polymorphism* Write generic function and class templates, and make them safer using concepts * Learn the ins and outs of containers, algorithms, and ranges* Use auto type declarations, exceptions, move semantics, lambda expressions, and much moreWHO THIS BOOK IS FORProgrammers new to C++ and those who may be looking for a refresh primer on C++ in general.IVOR HORTON is self-employed in consultancy and writes programming tutorials. He is the author of many programming books. Ivor 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 (including 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.PETER VAN WEERT works for Danaher in its R&D unit for digital dentistry software, developing software for the dental practice of tomorrow. In his spare time, he has co-authored two books on C++ and two award-winning Windows 8 apps and is a regular expert speaker at, and board member of, the Belgian C++ Users Group. He is a software engineer whose main interests and expertise are application software development, programming languages, algorithms, and data structures.He received his master of science degree in computer science summa cum laude with congratulations of the Board of Examiners from the University of Leuven. In 2010, he completed his PhD thesis there on the design and efficient compilation of rule-based programming languages at the research group for declarative programming languages and artificial intelligence. During his doctoral studies, he was a teaching assistant for object-oriented programming (Java), software analysis and design, and declarative programming. After graduating, Peter worked at Nikon Metrology for more than six years on large-scale, industrial application software in the area of 3D laser scanning and point cloud inspection. He learned to master C++ and refactoring and debugging of very large code bases, and he gained further proficiency in all aspects of the software development process, including the analysis of functional and technical requirements, and agile and scrum-based project and team management.1. Basic Ideas2. Introducing Fundamental Types of Data3. Working Fundamental Types4. Making Decisions5. Arrays and Loops6. Pointers and References7. Working with Strings8. Defining Functions9. Vocabulary Types10. Function Templates11. Modules and Namespaces12. Defining your own Data Types13. Operator Overloading14. Inheritance15. Polymorphism16. Runtime Errors and Exceptions17. Class Templates18. Move Semantics19. First-Class Functions20. Containers and Algorithms21. Constrained Templates and ConceptsAppendix A (online only; to be offered as part of source code download)
Learn Android Studio 4
Build and deploy your Java-based Android apps using the popular and efficient Android Studio 4 suite of tools, an integrated development environment (IDE) for today's Android developers. With this book, you’ll learn the latest and most productive tools in the Android tools ecosystem, ensuring quick Android app development and minimal effort on your part.Among these tools, you'll use the new Android Studio 4 features, including an upgraded CPU profiler UI, a new build speed window, the multi-preview feature, and the live layout inspector.After reading and using this book, you'll be able to efficiently build complete Java-based Android apps that run on any Android smartphone, tablet, smart watch and more. You’ll also be able to publish those apps and sell them online and in the Google Play store.WHAT YOU WILL LEARN* Use Android Studio 4 to quickly and confidently build your first Android apps* Build an Android user interface using activities and layouts, event handling, images, menus, and the action bar* Work with new tools in Android Studio 4: Jetpack compose support, a smart editor for ProGuard rules, a new motion layout editor, a new Android Gradle plugin, and a fragment wizard with new fragment templates * Integrate data with data persistence * Access the cloud WHO THIS BOOK IS FORThose who may be new to Android Studio 4 or Android Studio in general. You may or may not be new to Android development. Some prior experience with Java is recommended.Ted Hagos is currently heading the software development group of a Dublin-based software development company. He is a certified Java programmer and enterprise architect. He has over 15 years of software development experience, and many years of experience in corporate training. He held a post as instructor in IBM Advanced Career Education, Ateneo ITI and Asia Pacific College, and has trained hundreds of programmers in various languages and platforms.1. Overview2. Android Studio3. Project Basics4. Android Studio IDE5. Android Programming Basics6. Activities and Layouts7. Event Handling8. Intents9. Fragments10. Navigation Components11. Running in the background12. Debugging13. Testing14. Working with Files15. BroadcastReceivers16. Jetpack LiveData, ViewModel, LiveData and Room17. App Distribution18. Appendix : Java Refresher
PyTorch für Deep Learning
PyTorch für Deep Learning - Anwendungen für Bild-, Ton- und Textdaten entwickeln und deployenMit diesem Praxisbuch meistern Sie die Methoden des Deep Learning, einer Teildisziplin des Machine Learning, die die Welt um uns herum verändert. Machen Sie sich mit PyTorch, dem populären Python-Framework von Facebook, vertraut, und lernen Sie Schlüsselkonzepte und neueste Techniken kennen, um eigene neuronale Netze zu entwickeln.Ian Pointer zeigt Ihnen zunächst, wie Sie PyTorch in einer Cloud-basierten Umgebung einrichten. Er führt Sie dann durch die einzelnen Schritte der Entwicklung von neuronalen Architekturen, um typische Anwendungen für Bilder, Ton, Text und andere Datenformate zu erstellen. Er erläutert auch das innovative Konzept des Transfer Learning und das Debuggen der Modelle. Sie erfahren zudem, wie Sie Ihre Deep-Learning-Anwendungen in den Produktiveinsatz bringen.Aus dem Inhalt:Ergründen Sie modernste Modelle für das Natural Language Processing, die mit umfangreichen Textkorpora wie dem Wikipedia-Datensatz trainiert wurdenVerwenden Sie das PyTorch-Paket torchaudio, um Audiodateien mit einem neuronalen Konvolutionsmodell zu klassifizierenLernen Sie, wie man Transfer Learning auf Bilder anwendetDebuggen Sie PyTorch-Modelle mithilfe von TensorBoard und FlammendiagrammenDeployen Sie PyTorch-Anwendungen im Produktiveinsatz in Docker-Containern und Kubernetes-Clustern, die in der Google Cloud laufenErkunden Sie PyTorch-Anwendungsfälle von führenden UnternehmenFür die deutsche Ausgabe wurde das Buch in Zusammenarbeit mit Ian Pointer von Marcus Fraaß aktualisiert und um einige Themen erweitert.Leseprobe (PDF-Link)Inhaltsverzeichnis (PDF-Link)Über den Autor:Ian Pointer ist Data Engineer. Er hat sich auf Lösungen für Fortune-100-Kunden spezialisiert, die auf Methoden des Machine Learnings (insbesondere Deep Learning) basieren. Ian arbeitet derzeit bei Lucidworks, wo er sich innovativen NLP-Anwendungen und dem Engineering widmet.
Programmieren ganz einfach
So leicht kann Programmieren sein! Der ultimative Einstieg in die Welt des Programmierens! Dieses Programmier-Buch führt Sie mit anschaulichen Anleitungen, Grafiken & benutzerfreundlichen Bausteinen Schritt für Schritt in die wichtigsten Programmiersprachen ein – ob Python oder Scratch. In praktischen Projekten bauen Sie Webseiten, programmieren Spiele, designen Apps, arbeiten mit Raspberry Pi und lernen die gängigen Fachbegriffe wie Algorithmus & Variable – mit leicht verständlichen Erklärungen. Basis-Wissen rund ums Programmieren: • Die wichtigsten Programmiersprachen: Ob Sie HTML oder Scratch nutzen, Python oder Java lernen möchten – diese Sprachen werden anschaulich und leicht verständlich erklärt. • Programmieren lernen Schritt-für-Schritt: Vom Spiel bis zur Website – in detaillierten Projekten mit einfachen Anleitungen setzen Sie das Gelernte in die Praxis um und lernen so die Hauptanwendungen jeder Programmiersprache kennen. Informationen zum Lernziel vermitteln die benötigte Zeit sowie den Schwierigkeitsgrad. Symbole, farbige Fenster mit Rastern und Ablaufpläne, die die Programmstruktur erklären, leiten durch die Projekte. • Visuelle & leicht verständliche Aufbereitung: Durch Einteilung in benutzerfreundliche Bausteine und grafische Erklärungen werden selbst komplexe Zusammenhänge begreifbar gemacht.
C Programming For Dummies
GET AN A GRADE IN CAs with any major language, mastery of C can take you to some very interesting new places. Almost 50 years after it first appeared, it's still the world's most popular programming language and is used as the basis of global industry's core systems, including operating systems, high-performance graphics applications, and microcontrollers. This means that fluent C users are in big demand at the sharp end in cutting-edge industries—such as gaming, app development, telecommunications, engineering, and even animation—to translate innovative ideas into a smoothly functioning reality.To help you get to where you want to go with C, this 2nd edition of C Programming For Dummies covers everything you need to begin writing programs, guiding you logically through the development cycle: from initial design and testing to deployment and live iteration. By the end you'll be au fait with the do's and don'ts of good clean writing and easily able to produce the basic—and not-so-basic—building blocks of an elegant and efficient source code.* Write and compile source code* Link code to create the executable program* Debug and optimize your code* Avoid common mistakesWhatever your destination: tech industry, start-up, or just developing for pleasure at home, this easy-to-follow, informative, and entertaining guide to the C programming language is the fastest and friendliest way to get there!DAN GOOKIN has been writing about technology for more than 30 years—and wrote the very first For Dummies book in 1991! Since then he's written gizmo- and tech innovation-focused bestseller after bestseller, including Word 2019 For Dummies, Android For Dummies, 2nd Edition, and many more! INTRODUCTION 1Why the C Language? 1The C Programming For Dummies Approach 2How This Book Works 3Icons Used in This Book 4Parting Thoughts 5PART 1: THE ABS OF C 7CHAPTER 1: A QUICK START FOR THE IMPATIENT 9What You Need to Program 9Command Prompt Programming 10IDE Programming 11Installing Code::Blocks 12Touring the Code::Blocks workspace 13Your First Program 14Coding at the command prompt 15Building a new Code::Blocks project 16Building and running 18CHAPTER 2: THE PROGRAMMING THING 21The History of Programming 21Reviewing early programming history 21Introducing the C language 22The Programming Process 23Understanding programming 23Writing source code 24Compiling and linking 26Running and testing 27CHAPTER 3: ANATOMY OF C 29Parts of the C Language 29Keywords 30Functions 31Operators 33Variables and values 33Statements and structure 33Comments 35Behold the Typical C Program 37Understanding C program structure 37Setting the main() function 38Returning something to the operating system 39Adding a function 40PART 2: C PROGRAMMING 101 43CHAPTER 4: TRIALS AND ERRORS 45Display Stuff on the Screen 45Displaying a humorous message 45Introducing the puts() function 46Adding more text 47Commenting out a statement 49Goofing up on purpose 49More Text Output Nonsense 51Displaying text with printf() 52Introducing the printf() function 52Understanding the newline 53Employing escape sequences 54Goofing up on purpose again 55CHAPTER 5: VALUES AND SIMPLE MATH 57A Venue for Various Values 57Understanding values 58Displaying values with printf() 59Minding the extra zeros 61The Computer Does the Math 61Doing simple arithmetic 61Reviewing the float-integer thing 63Pretending integers are floats 64CHAPTER 6: A PLACE TO PUT STUFF 67Values That Vary 67Setting up a quick example 68Introducing data types 69Using variables 70Variable Madness! 73Using more-specific data types 73Working with several variables 75Assigning a value upon creation 77Reusing variables 77Constants Always the Same 79Using the same value over and over 79Constants in your code 80Putting constants to use 81CHAPTER 7: INPUT AND OUTPUT 83Character I/O 83Understanding input and output devices 83Fetching characters with getchar() 84Using the putchar() function 86Working with character variables 87Text I/O, but Mostly I 88Storing strings 89Introducing the scanf() function 90Reading a string with scanf() 91Reading values with scanf() 93Using fgets() for text input 94CHAPTER 8: DECISION MAKING 97What If? 97Making a simple comparison 97Introducing the if keyword 99Comparing values in various ways 100Knowing the difference between = and == 102Forgetting where to put the semicolon 103Multiple Decisions 104Making more-complex decisions 104Adding a third option 105Multiple Comparisons with Logic 106Building a logical comparison 106Adding some logical operators 107The Old Switch Case Trick 108Making a multiple-choice selection 108Understanding the switch-case structure 110Taking no breaks 111The Weird ?: Decision Thing 112CHAPTER 9: LOOPS, LOOPS, LOOPS 115A Little Déjà Vu 115The Thrill of for Loops 116Doing something x number of times 116Introducing the for loop 117Counting with the for statement 119Looping letters 120Nesting for loops 121The Joy of the while Loop 123Structuring a while loop 123Using the do while loop 125Loopy Stuff 126Looping endlessly 126Looping endlessly but on purpose 127Breaking out of a loop 128Adding multiple for loop conditions 129Screwing up a loop 130CHAPTER 10: FUN WITH FUNCTIONS 133Anatomy of a Function 133Constructing a function 133Prototyping (or not) 136Functions and Variables 139Using variables in functions 139Sending a value to a function 140Sending multiple values to a function 142Creating functions that return values 143Returning early 145Constants of the Global Kind 147Introducing defined constants 147Putting defined constants to use 148PART 3: BUILD UPON WHAT YOU KNOW 151CHAPTER 11: THE UNAVOIDABLE MATH CHAPTER 153Math Operators from Beyond Infinity 153Incrementing and decrementing 154Prefixing the ++ and -- operators 156Discovering the remainder (modulus) 158Saving time with assignment operators 158Math Function Mania 160Exploring some common math functions 161Suffering through trigonometry 163It’s Totally Random 166Spewing random numbers 166Making the numbers more random 167The Holy Order of Precedence 170Getting the order correct 170Forcing order with parentheses 171CHAPTER 12: GIVE ME ARRAYS 173Behold the Array 173Avoiding arrays 173Understanding arrays 174Initializing an array 177Playing with character arrays (strings) 177Working with empty char arrays 179Sorting arrays 181Multidimensional Arrays 183Making a two-dimensional array 183Going crazy with three-dimensional arrays 186Declaring an initialized multidimensional array 188Arrays and Functions 189Passing an array to a function 189Returning an array from a function 191CHAPTER 13: FUN WITH TEXT 193Character Manipulation Functions 193Introducing the CTYPEs 193Testing characters 195Changing characters 197String Functions Galore 198Reviewing string functions 198Comparing text 199Building strings 200Fun with printf() Formatting 202Formatting floating point 202Setting the output width 204Aligning output 206Gently Down the Stream 207Demonstrating stream input 207Dealing with stream input 208CHAPTER 14: STRUCTURES, THE MULTIVARIABLE 211Hello, Structure 211Introducing the multivariable 211Understanding struct 213Filling a structure 215Making an array of structures 216Weird Structure Concepts 218Putting structures within structures 218Passing a structure to a function 219CHAPTER 15: LIFE AT THE COMMAND PROMPT 221Conjure a Terminal Window 221Starting a terminal window 222Running code in text mode 223Arguments for the main() Function 225Reading the command line 225Understanding main()’s arguments 227Time to Bail 229Quitting the program 229Running another program 230CHAPTER 16: VARIABLE NONSENSE 233Variable Control 233Typecasting into disbelief 233Creating new things with typedef 235Making static variables 238Variables, Variables Everywhere 241Using external variables 241Creating an external structure variable 243Enumerating 245CHAPTER 17: BINARY MANIA 249Binary Basics 249Understanding binary 249Outputting binary values 251Bit Manipulation 253Using the bitwise | operator 253Using bitwise & 256Operating exclusively with XOR 257Understanding the ~ and ! operators 259Shifting binary values 259Explaining the binbin() function 263The Joy of Hex 264PART 4: THE ADVANCED PART 267CHAPTER 18: INTRODUCTION TO POINTERS 269The Biggest Problem with Pointers 269Sizing Up Variable Storage 270Understanding variable storage 270Reading a variable’s size 271Checking a variable’s location 275Reviewing variable storage info 278The Hideously Complex Topic of Pointers 279Introducing the pointer 279Working with pointers 282CHAPTER 19: DEEP INTO POINTER LAND 285Pointers and Arrays 285Getting the address of an array 285Working pointer math in an array 287Substituting pointers for array notation 293Strings Are Pointer-Things 294Using pointers to display a string 294Using a pointer to declare a string 295Building an array of pointers 296Sorting strings 300Pointers in Functions 302Passing a pointer to a function 302Returning a pointer from a function 303CHAPTER 20: MEMORY CHUNKS AND LINKED LISTS 305Give Me Memory! 306Introducing the malloc() function 306Creating string storage 308Using the calloc() function 309Getting more memory 311Freeing memory 313Lists That Link 314Allocating space for a structure 314Creating a linked list 316Editing a linked list 323Saving a linked list 328CHAPTER 21: IT’S ABOUT TIME 329What Time is It? 329Understanding the calendar 330Working with time in C 330Time to Program 331Checking the clock 331Viewing a timestamp 333Slicing through the time string 334Snoozing 336PART 5: AND THE REST OF IT 337CHAPTER 22: PERMANENT STORAGE FUNCTIONS 339Sequential File Access 339Understanding C file access 340Writing text to a file 341Reading text from a file 342Appending text to a file 345Writing binary data 346Reading binary data 348Random File Access 350Writing a structure to a file 351Reading and rewinding 353Finding a specific record 355Saving a linked list to a file 357CHAPTER 23: FILE MANAGEMENT 359Directory Madness 359Calling up a directory 359Gathering more file info 361Separating files from directories 363Exploring the directory tree 364Fun with Files 365Renaming a file 365Copying a file 367Deleting a file 368CHAPTER 24: BEYOND MERE MORTAL PROJECTS 369The Multi-Module Monster 369Linking two source code files 370Sharing variables between modules 372Creating a custom header file 374Other Libraries to Link 378CHAPTER 25: OUT, BUGS! 381Simple Tricks to Resolve Problems 381Documenting the flow 382Talking through your code 382Writing comments for future-you 382The Debugger 383Debugging setup 383Working the debugger 385Setting a breakpoint 387Watching variables 388Improved Error Messages 390PART 6: THE PART OF TENS 393CHAPTER 26: TEN COMMON BOO-BOOS 395Conditional Foul-Ups 395== v = 396Dangerous Loop Semicolons 397Commas in for Loops 398Missing break in a switch Structure 398Missing Parentheses and Curly Brackets 399Don’t Ignore a Warning 399Endless Loops 400scanf() Blunders 401Streaming Input Restrictions 402CHAPTER 27: TEN REMINDERS AND SUGGESTIONS 403Maintain Good Posture 404Use Creative Names 404Write a Function 405Work on Your Code a Little Bit at a Time 405Break Apart Larger Projects into Several Modules 406Know What a Pointer is 406Add Whitespace before Condensing 407Know When if-else Becomes switch-case 407Remember Assignment Operators 408When You Get Stuck, Read Your Code Out Loud 409PART 7: APPENDICES 411APPENDIX A: ASCII CODES 413APPENDIX B: KEYWORDS 419APPENDIX C: OPERATORS 421APPENDIX D: DATA TYPES 423APPENDIX E: ESCAPE SEQUENCES 425APPENDIX F: CONVERSION CHARACTERS 427APPENDIX G: ORDER OF PRECEDENCE 429Index 431
Intermediate C Programming for the PIC Microcontroller
Delve into the exciting world of embedded programming with PIC microcontrollers in C. The key to learning how to program is to understand how the code works – and that is what you’ll learn here.Following C Programming for the PIC Microcontroller, this book continues exploring the coding required to control the PIC microcontroller and can be used as a standalone single reference, or paired with the previous title to enhance your programming skills. You'll see how to control the position of a servo motor and use the compare aspect of the CCP module to create a square wave with varying frequency. You'll also work with the capture aspect of the CCP to determine the frequency of a signal inputted to the PIC and use external and internal interrupts.This book breaks down the programs with line-by-line analysis to give you a deep understanding of the code. After reading it you’ll be able to use all three aspects of the Capture, Compare and PWM module; work with different types of interrupts; create useful projects with the 7 segment display; and use the LCD and push button keyboard.WHAT YOU’LL LEARN* Create a small musical keyboard with the PIC* Manage a stepper motor with the PIC* Use the main features of the MPLABX IDE* Interface the PIC to the real world* Design and create useful programs based around the PIC18F4525WHO THIS BOOK IS FOREngineering students and hobbyist who want to try their hand at embedded programming the PIC micros.Hubert Ward has nearly 25 years of experience as a college lecturer delivering the BTEC, and now Pearson's, Higher National Certificate and Higher Diploma in Electrical & Electronic Engineering. Hubert has a 2.1 Honours Bachelor's Degree in Electrical & Electronic Engineering. Hubert has also worked as a consultant in embedded programming. His work has established his expertise in the assembler and C programming languages, within the MPLABX IDE from Microchip, as well as designing electronic circuits, and PCBs, using ECAD software. Hubert was also the UK technical expert in Mechatronics for three years, training the UK team and taking them to enter in the Skills Olympics in Seoul 2001, resulting in one of the best outcomes to date for the UK in Mechatronics.Introduction The Aims and Objectives of the Book The Objectives of the Book The PrerequisitesChapter 1: Creating a Header File Header Files Creating a Header File Creating a Project in MPLABX Including the Header File Create the Project Source File Analysis of Listing 1.1 SynopsisChapter 2: Controlling a Seven Segment Display The Seven Segment Display Common Anode LED Common Cathode The Program The Algorithm The Flowchart The Listing for the Seven Segment Display Improving the Seven Segment Display Program The Issue with the Program Arrays Using Pointers Analysis The Improved Program Exercise 2.1 SynopsisChapter 3: The 24 Hour Clock The Seven Segment Display The Algorithm The Initialization of the PIC. Analysis of Listing 3.1 A 24 Hr Clock with the LCD Display Analysis of the Header File for the LCD The Analysis of Listing 3.2 Improvements for the 24Hr Clock LCD Program Using Switch and Case Key Words Analysis of the New SubroutineChapter 4: Creating a Square Wave Why Create a Square Wave? Musical Notes Exercise 4.1 The Speed of the Simple DC Motor PWM Pulse Width Modulation Creating a Square Wave Creating a 500Hz Square Wave The Mark Time or Duty Cycle Creating Two Square Wave Outputs Setting the Speed of a DC Motor Driving the Motor Creating a Three speed DC Motor Program Varying the Space Width Using A Variable Input Voltage to Control the Speed of a DC Motor Creating a Musical Note Creating the Middle C Note Create a Musical Keyboard The Analysis of Listing 4.6 Summary of Chapter 4Chapter 5: Making Music Creating a Musical Note Creating the Middle C NoteChapter 6: The Stepper Motor The Servo Motor Controlling the Positions of the Servo Motor with a Variable ResistorChapter 7 :Interrupts The Fetch and Execute Cycle The Program Counter PC The Sources of Interrupts Setting the Interrupts The Algorithm for the Interrupt Test Program The Analysis of the Listing 7.1.
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
Roguelike Development with JavaScript
Go on an adventure and build a roguelike from scratch using JavaScript. With the help of the battle-tested Phaser library, you’ll go through all the steps to build a small, fun, playable web roguelite game. The author will guide you on how to add further features to the game such as populating the game with enemies, adding treasures, and so on. You will acquire technical knowledge about procedural generation and tile-based mapping as well as learn game design skills such as what makes dungeons fun and how to evoke an emotion in your game.Roguelikes are very popular with indie developers because of their focus on gameplay over graphics. You’ll see why they appeal to game designers on a budget and discover that they serve as a good platform to experiment with novel ideas and designs. Along the way, you’ll cover the increasingly popular roguelite genre that provides a hyper casual form of the genre that is approachable and often mobile.After reading this book, you’ll be ready to create your own roguelikes, to dive deep into procedural generation, and also to bring some of the techniques shown here into other genres and game projects.WHAT YOU WILL LEARN* Make use of procedural generation for dungeons, mazes, monsters, and treasure* Pick up skills to use Phaser to build games* Implement turn-based mechanics* Use tile-based graphicsWHO THIS BOOK IS FORGame developers who want to build something fun and who have at least some prior JavaScript programming experience. Andre Alves Garzia is a developer who loves web and game development. In recent years, he has published books about building games for Firefox OS and managed a web literacy program in vulnerable neighborhoods of Rio de Janeiro. He is a firm believer in empowerment through technological experimentation and thinks game development should be on everyone’s bucket list. He lives in London and wonders if the UK procedural generator is biased toward raining. Chapter 1: Before We BeginCHAPTER GOAL: Introduces the reader to roguelike and the technologies used.SUB -TOPICS· Roguelike history· Why develop roguelikes· Why use web technologies· Why PhaserChapter 2: Introduction to PhaserCHAPTER GOAL: Provide a quick introduction to PhaserSUB - TOPICS· Displaying a scene· Game loops· Controlling a player character· Tile-based maps without procedural generationChapter 3: Enemies and PermadeathCHAPTER GOAL: Populating the game from the previous chapter with enemies and providing the initial game mechanicsSUB - TOPICS:· How to build enemies· Turn-based action· Enemy AI· CombatChapter 4: Treasure and UpgradesCHAPTER GOAL: Adding rewards for the player and how to provide gameplay progressionSUB - TOPICS:· Multiple levels in a dungeon· Adding treasure· Adding upgrades· Adding monster loot· Inventory screenChapter 5: Character ClassesCHAPTER GOAL: Create multiple character classes with different abilities and double check how that affects gameplaySUB - TOPICS:· Character classes· Wizard· Cleric· Elf· NecromancerChapter 6: Procedurally Generated DungeonsCHAPTER GOAL: Introduces you to procedural generation. Replace the current maps with procedurally generated dungeonsSUB - TOPICS:· Procedural generation introduction· Generating dungeons· Bias· Different types of dungeonsChapter 7: Procedurally Generated Monsters and TreasureCHAPTER GOAL: Use procedural generation to customize the monsters and treasures according to the dungeon layoutSUB - TOPICS:· Custom monsters· Custom treasure· Changing parameters depending on dungeon layoutChapter 8: The Power of StorytellingCHAPTER GOAL: Tie the features we currently have in the game together in a cohesive experience through the power of storytellingSUB - TOPICS:· Storytelling concepts· Non-player characters· Adding storytelling to a dungeon crawler· PacingChapter 9: Finished GameCHAPTER GOAL: Add the final touches to have a publishable gameSUB - TOPICS:· Intro screen· Winning conditions· Multiple objectives· Publishing to the webChapter 10: Extra Chapter - MonetizationCHAPTER GOAL: Briefly explore potential routes for monetizing the gameSUB - TOPICS:· Selling the game on your site· Itch.io· Steam· Web monetization APIs
Introducing Bootstrap 4
Get introduced to front-end CSS frameworks using the latest version of Bootstrap. Through easy-to-follow instructions and examples, this book will prepare you to create powerful web applications using Bootstrap 4.5.This updated second edition of Introducing Bootstrap 4 builds your understanding of the basic rules of CSS, the SASS pre-compiler, Bootstrap, and how they work together. After learning to set up CSS on both Linux (Ubuntu) and Windows, you will discover how you can make use of templates and themes written for Bootstrap, and how to refine the user interface. You will also find out how you can utilize and activate components. Numerous screenshots and code snippets are provided to help explain and reinforce the concepts discussed in the book.CSS frameworks give front-end developers the capability to create responsible and adaptive web designs that are able to accommodate the various variations of modern browsers. Start front-end development using Bootstrap 4.5 with this book.WHAT YOU WILL LEARN* Explore the Bootstrap features required to create web applications* Understand the basics of responsive web design using CSS 3* Install the SASS framework and understand how to use it* Master practical aspects of using Bootstrap in real-life scenariosWHO THIS BOOK IS FORThis book is intended for beginner-level web designers and developers interested in front-end development.JÖRG KRAUSE has been working with software and software technology since the early 1980s, beginning with a Sinclair and taking his first steps as a programmer in BASIC and assembly language. He studied Information Technology at Humboldt University, Berlin, but left early, in the 1990s, to start his own company. He has worked with Internet technology and software development since the early days when CompuServe and FidoNet dominated. In 1998, he worked on one of the first commercial e-commerce solutions, and wrote his first book in Germany. Due to its wide success, he started working as a freelance consultant and author in order to share his experience and knowledge with others. He has written several books with Apress, Hanser, Addison Wesley, and other major publishers along with several self-published books—a total of over sixty titles. He also publishes articles in magazines and speaks at major conferences in Germany. Currently, Jörg works as an independent consultant, software developer, and author in Berlin, Germany. The main focus is Web development (nowadays called full-stack), cloud native architectures, and Web security. In his occasional spare time, Jörg enjoys reading thrillers and science fiction novels, and going on a round of golf.
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.