Software
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.
Digital Listening für Unternehmen
Dieses Buch zeigt für Entscheider auf, wie Unternehmen die Inhalte im digitalen Raum erschließen und so ihre Sicherheit und Wettbewerbsposition entscheidend stärken. Digital Listening heißt, das Internet als Meinungs- und Informationsraum ernst zu nehmen und durch qualifizierte Analysen die eigene Sicht zu verbessern.Martin Grothe erklärt mit einem durchgängigen Prozessleitfaden sowie den notwendigen Hintergründen und Tools, wie Sie mit Digital Listening Ihr Sicherheitslagebild, eine Früherkennung von Bedrohungen, die Zielgruppenkommunikation, das Personalmarketing sowie den Schutz exponierter Persönlichkeiten wegweisend ausbauen.Führungskräfte erhalten Einblicke in mehrere Fachbereiche, aber auch den notwendigen Überblick: Sie finden einen strukturierten Zugang zu verfügbaren Tools, blicken in das Darknet, nehmen Reporting-Formate als Vorlagen auf, schlüpfen in die Rolle der dunklen Seite, hören Influencern zu und deklinieren einen Strategiefahrplan zumEngagement-Aufbau als Arbeitgeber durch. Wer Entwicklungen früher erkennt, Kontexte genauer versteht und Kommunikation passgenauer formuliert, der kann die Zukunft aktiver gestalten.Aus dem Inhalt* Sicherheit und Wettbewerb in digitalen Zeiten: Digital Listening und die dunkle Seite* Intelligence Cycle: Vorgehen und Tools (Open Source, Advanced)* Unternehmenssicherheit: Desinformation, Data-Breaches und der G20-Case* Personenschutz: Angriffsvektoren und Sichtbarkeitsanalysen* Market Intelligence: Personalmarketing, Influencer, AI, Counterintelligence* Gestaltungsaufgabe für das Management: Integration und Ausblick* Viele Case Studies und Skizzen mit konkreten EinsatzszenarienMit Gastbeiträgen vonHeinz-Werner Aping (Direktor beim BKA a.D.)Prof. Dr. Peter Gentsch (Intelligence Group)Friedrich Christian Haas (AKE Group)Jerry Hoffmann (Counteraction)Udo Hohlfeld (INFO + DATEN)Samira Mousa (healthy content)Chris West (Counteraction)Klaus Pfeifer (Pinkerton)Prof. Dr. Martin Grothe beschäftigt sich seit den 90er Jahren mit der Mustererkennung in komplexen Strukturen: Der Digitalraum entwickelte sich zum perfekten Arbeitsfeld.Martin Grothe gründete nach Stationen mit den Schwerpunkten Consulting, Controlling und Community Building in 2004 die complexium GmbH in Berlin. Als Mission werden mit eigenen Formaten, Methoden und Technologien „Insights“ im digitalen Raum strukturiert entdeckt, um Klienten einen Vorsprung in den Bereichen Unternehmenssicherheit, Personenschutz, Market Intelligence, Innovationsscanning und Personalmarketing zu ermöglichen. Module der Technologie wurden in Kooperation mit dem Robert-Koch-Institut vom BMBF gefördert: „Forschung für die zivile Sicherheit“. Aufbauend entstand etwa mit der Allianz für Sicherheit in der Wirtschaft die Studie: „#Desinformation: Lage, Prognose und Abwehr.“Prof. Grothe ist Honorarprofessor an der Universität der Künste UdK Berlin im Bereich Digitale Kommunikation. Seine Alma Mater ist die WHU – Otto Beisheim School of Management.Sicherheit und Wettbewerb in digitalen Zeiten – neue Chancen und Risiken.- Wie zuhören im Digitalen Datenraum – das Vorgehen.- Spezielle Werkzeuge der Open Source Intelligence.- Processing (Advanced): Inhaltserschließung von „Unknown Unknowns“.- Exploring Digital Risk in Dark Networks.- Einsatzfeld Unternehmenssicherheit: Bedrohungen erkennen und vor die Lage kommen.- Was sich für die Unternehmenssicherheit ändert.- Neue Bedrohung 1: Digitalisierung der Desinformation.- Neue Bedrohung 2: Data Breaches als Munition für böswillige Dritte.- Digital Listening und Corporate Security: Formate und Perspektiven.- Case G20-Gipfel: Sicherheitslagebild und Früherkennung.- Einsatzfeld digitaler Personenschutz: mit Sichtbarkeit umgehen.- Personenschutz und die digitale Ebene (Gastbeitrag Heinz-Werner Aping).- Digital Listening, eigenes Digitalverhalten und Möglichkeiten der Ausspähung durch Dritte.- Digitaler Personen- und Familienschutz.- Einsatzfeld Market Intelligence: Chancen der Transparenz nutzen.- Mustersuche durch Netzwerkanalyse digitaler Kommunikation.- Digital Listening und Personalmarketing: Zielgruppen zuhören und besser erreichen.- Digital Listening und Healthcare Influencer Marketing.- Digital Listening und Artificial Intelligence für Lead Prediction und Company Scoring (Gastbeitrag Peter Gentsch).- What have you got to lose? The case for Corporate Counterintelligence (Gastbeitrag von Chris West, Jerry Hoffmann and Udo Hohlfeld).- Gestaltungsaufgabe für das Management.- Integration von Zielkonflikten.- Ausblick: Auf zum nächsten Level!
Learn Data Science Using SAS Studio
Do you want to create data analysis reports without writing a line of code? This book introduces SAS Studio, a free data science web browser-based product for educational and non-commercial purposes. The power of SAS Studio comes from its visual point-and-click user interface that generates SAS code. It is easier to learn SAS Studio than to learn R and Python to accomplish data cleaning, statistics, and visualization tasks.The book includes a case study about analyzing the data required for predicting the results of presidential elections in the state of Maine for 2016 and 2020. In addition to the presidential elections, the book provides real-life examples including analyzing stocks, oil and gold prices, crime, marketing, and healthcare. You will see data science in action and how easy it is to perform complicated tasks and visualizations in SAS Studio.You will learn, step-by-step, how to do visualizations, including maps. In most cases, you will not need a line of code as you work with the SAS Studio graphical user interface. The book includes explanations of the code that SAS Studio generates automatically. You will learn how to edit this code to perform more complicated advanced tasks. The book introduces you to multiple SAS products such as SAS Viya, SAS Analytics, and SAS Visual Statistics.WHAT YOU WILL LEARN* Become familiar with SAS Studio IDE* Understand essential visualizations* Know the fundamental statistical analysis required in most data science and analytics reports* Clean the most common data set problems* Use linear progression for data prediction* Write programs in SAS* Get introduced to SAS-Viya, which is more potent than SAS studioWHO THIS BOOK IS FORA general audience of people who are new to data science, students, and data analysts and scientists who are experienced but new to SAS. No programming or in-depth statistics knowledge is needed.ENGY FOUDA is an author, freelance engineer, and journalist. She also is a freelance instructor and teaches SAS, Docker Fundamentals, Docker for Enterprise Developers, Docker for Enterprise Operations, and Kubernetes. Engy holds two master's degrees, one in journalism from Harvard University, Extension School, and another in computer engineering from Cairo University, Egypt. She earned the Data Science Professional Graduate Certificate from Harvard University, Extension School. She volunteers as the Team Lead for Momken Group (Engineering for the Blind), Egypt Scholars Inc. The team designs and manufactures devices and develops Arabic applications for visually impaired people in the MENA region. Engy volunteers as a Member-at-Large and as newsletter editor of the IEEE Mid-Hudson section. And she published several books that made Amazon's best-selling charts for Arabic books.
Monitoring Microservices and Containerized Applications
Discover the methodologies and best practices for getting started with container services monitoring using Prometheus, AppDynamics, and Dynatrace. The book begins with the basics of working with the containerization and microservices architecture while establishing the need for monitoring and management technologies. You’ll go through hands-on deployment, configuration, and best practices for Prometheus. Next, you’ll delve deeper into monitoring of container ecosystems for availability, performance, and logs, and then cover the reporting capabilities of Prometheus. Further, you’ll move on to advanced topics of extending Prometheus including how to develop new use cases and scenarios.You’ll then use enterprise tools such as AppDynamics and Wavefront to discover deeper application monitoring best practices. You’ll conclude with fully automated deployment of the monitoring and management platforms integrated with the container ecosystem using infrastructure-as -code tools such as Jenkins, Ansible and Terraform. The book provides sample code and best practices for you to look at container monitoring from a holistic viewpoint.This book is a good starting point for developers, architects, and administrators who want to learn about monitoring and management of cloud native and microservices containerized applications.WHAT YOU WILL LEARN* Examine the fundamentals of container monitoring* Get an overview of the architecture for Prometheus and Alert Manager* Enable Prometheus monitoring for containers* Monitor containers using Wavefront* Use the guidelines on container monitoring with enterprise solutions AppDynamics and Wavefront WHO THIS BOOK IS FORSoftware developers, system administrators, and DevOps engineers working for enterprise customers who want to use monitoring solutions for their container ecosystems.Navin Sabharwal is an innovator, thought leader, author, and consultant in the areas of AI, machine learning, cloud computing, big data analytics, and software product development. He is responsible for IP development and service delivery in the areas of AI and machine learning, automation products, GCP, cloud computing, public cloud AWS, and Microsoft Azure. Navin has created niche award-winning products and solutions and has filed numerous patents in diverse fields such as IT services, assessment engines, ranking algorithms, capacity planning engines, and knowledge management.Piyush is a solution architect for automation, DevOps, and cloud services with 10 years of IT experience. He is currently working as a deputy general manager at HCL DRYiCE, focusing on creating solutions catering to cloud adoption (including cloud landing zone, migration, and operations), automation, orchestration, and cloud life-cycle management.Chapter 1 Container Overview• Container introduction• Container ecosystem overview• Container architectureChapter 2 Getting Started with Container• Container images• Running the first container• Deploying applicationChapter 3 Introduction to Prometheus and Alert manager• Prometheus overview• Monitoring architecture• Setting up Prometheus & Alert managerChapter 4 Container Availability Monitoring• Availability monitoring introduction• Key KPI and metrics for Container ecosystem• Hands on configuration of availability monitoringChapter 5 Container Performance Monitoring• Performance monitoring introduction• Key KPI and metrics for Container ecosystem• Hands on configuration of performance monitoringChapter 6 Container Log Monitoring• Log Monitoring introduction• Key KPI and Metrics for Container ecosystem• Hands on configuration of Log monitoringChapter 7 Container Reporting & Dashboards• Introduction to reporting dashboard solution• Prometheus with Grafana• Prometheus with KibanaChapter 8 Working with Prometheus Query Language (PromQL)• Introduction to basic concepts• Working with time series data• Integration APIChapter 9 Automation and Orchestration of Container Monitoring• Introduction to Infra as code solution• Integration with IaC solution• Hands on configuration of Jenkins/Ansible/Terraform based pipeline
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
Sketchnotes!
Den Stift in die Hand und los geht’s! Komplexe Ideen schnell und einfach vermitteln? Mit Sketchnotes kein Problem. Ob Mitschrift, Präsentation oder Kochrezept – der Anwendung von Sketchnotes sind keine Grenzen gesetzt! Entdecken Sie, wie Sie einfache Symbole, Zeichnungen, Überschriften und Verzierungen erstellen, um Inhalte schneller und besser festzuhalten, Gedanken zu strukturieren oder neue Ideen zu entwickeln. „Ich kann nicht zeichnen!“ gibt es nicht! Die professionelle Sketchnoterin Emily Mills holt dabei sowohl Einsteiger als auch Fortgeschrittene ab: Ob es um die verschiedenen Arten von visuellen Notizen, das aktive Zuhören oder die Durchsicht von Material sowie Tipps für die Veröffentlichung geht, kein Thema wird in diesem unterhaltsamen und lehrreichen Buch ausgelassen. Und das Beste ist: Jeder kann Sketchnotes lernen – auch Sie! Sketchnotes? So geht's! Was sind visuelle Notizen?Sketchnotes für Vorträge, Besprechungen, Kochrezepte ...Aktives Zuhören lernenFiguren, Gesichter, Hände zeichnenVerschiedene Schriften ausprobierenContainer, Rahmen, Pfeile, VerzierungenFarbe und SchattierungenEigene Bildsprache finden undBildideen entwickelnVisuelle Bibliotheken anlegen und pflegen, mit visuellen Metaphern arbeitenGraphic RecordingSketchnotes analog und digital Einleitung ... 6 So verwenden Sie dieses Buch ... 7 Die Grundlagen: Was sind Sketchnotes? ... 8 Warum sind Sketchnotes wichtig? ... 13 Wer kann Sketchnotes machen? ... 15 Arten von Sketchnotes ... 16 Wie kann ich Sketchnotes verwenden? ... 18 Werkzeuge: ein ganzes Arsenal an Fähigkeiten ... 19 Materialien ... 19 Schreib- und Zeichenwerkzeuge ... 24 Nützliches Zubehör ... 26 Überlegungen zur Auswahl Ihrer Werkzeuge ... 28 Ihre Einstellung ... 28 Vorbereitung: Bevor Sie anfangen ... 29 Den besten Platz wählen ... 29 Zeitplan besorgen ... 29 Zuhören ... 30 Drei Schritte zum guten Zuhören ... 30 Hinweise für das Zuhören ... 32 Schreiben ... 34 Schrift ... 34 Kursiv-Schreibschrift ... 36 Blockschrift ... 37 Serifenbuchstaben ... 38 Verzierungen ... 39 Hierarchie & Gestaltung ... 44 Zeichnen ... 48 Die Grundlagen ... 49 Phantasie und Assoziation ... 50 Levelung up -- Aufwerten ... 51 Menschen und Figuren ... 52 Hände ... 55 Gesichter im Cartoonstil ... 58 Alles zusammenfügen ... 67 Blickrichtung ... 70 Container ... 70 Zahlen ... 72 Pfeile ... 73 Informationen schnell finden ... 76 Symbole ... 76 Informationen mit Diagrammen visualisieren ... 80 Ihre visuelle Bibliothek ... 84 Bauen Sie Ihre Bibliothek auf ... 84 Visuelle Metaphern ... 86 Kopfzeilen -- Header ... 90 So erstellen Sie Kopfzeilen ... 92 Layouts ... 96 Arten von Layouts ... 96 Das beste Layout wählen ... 97 Zeitblöcke definieren ... 99 Verfeinern ... 104 Was sollten Sie verfeinern? ... 105 Rechtschreibung ... 106 Leitformen ... 109 Schatten ... 110 Farbe ... 112 Was macht visuelle Notizen »gut«? ... 115 »Gut« aussehen ... 116 Visuelle Notizen mit anderen Teilen ... 118 Machen Sie gute Fotos ... 119 Der Wert des Teilens ... 121 Der richtige Zeitpunkt ... 122 Besser werden: Beobachten Sie sich selbst ... 124 Tipps für Linkshänder ... 125 Visuelle Notizen in Beruf und Bildung ... 126 Erste Schritte ... 126 Ein Rundgang ... 127 Über die Autorin ... 128
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
Design Patterns in C#
Get hands-on experience with each Gang of Four (GoF) design pattern using C#. For each of the patterns, you will see at least one real-world scenario, a coding example, and a complete implementation including output. In addition to GoF patterns, you will learn additional design patterns which are common and equally important.In this second edition, you will go through the design patterns and their implementation in Visual Studio 2019 and C# 8. Common patterns in asynchronous programming are covered, including the TAP pattern and APM pattern. You will learn via easy-to-follow examples and understand the concepts in depth. With these updated patterns, you will have a collection of programs to port over to your own projects.The book begins with the 23 GoF design patterns, and then moves onto alternative design patterns, including the Simple Factory, Null Object, and MVC patterns plus various patterns in asynchronous programming. The book concludes with a discussion of the criticisms of design patterns and chapters on anti-patterns.Each chapter includes a Q&A session that clears up any doubts and covers the pros and cons of each pattern. FAQs will help you consolidate your knowledge.WHAT YOU WILL LEARN* Work with each of the design patterns* Implement the design patterns in real-world applications* Select an alternative to these patterns by comparing their pros and cons* Use Visual Studio Community Edition 2019 to write code and generate outputWHO THIS BOOK IS FORSoftware developers, testers, and architectsVaskaran Sarcar obtained his Master of Engineering in software engineering from Jadavpur University, Kolkata (India) and an MCA from Vidyasagar University, Midnapore (India). He was a National Gate Scholar (2007-2009) and has more than 12 years of experience in Education and the IT industry. Vaskaran devoted his early years (2005-2007) in teaching at various engineering colleges, and later he joined HP India PPS R&D Hub Bangalore .He worked there until August, 2019. At the time of his retirement from the IT industry, he was a Senior Software Engineer and Team Lead at HP. To follow his dream and passion, Vaskaran is now an independent full-time author. Other books by him include: • Getting Started with Advanced C# (Apress,2020) • Interactive Object-Oriented Programming in Java Second Edition (Apress,2019) • Java Design Patterns Second Edition (Apress,2019) • Design Patterns in C# (Apress,2018) • Interactive C# (Apress,2017) • Interactive Object-Oriented Programming in Java(Apress,2016) • Java Design Patterns(Apress,2016) • C# Basics: Test Your Skills(Createspace,2015) • Operating System: Computer Science Interview Series(Createspace,2014) Part-I: Gang of Four Design Patterns 1.A: Creational Patterns Chapter 1: Singleton PatternCHAPTER GOAL: To discuss about the Singleton Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 2: Prototype PatternCHAPTER GOAL: To discuss about the Prototype Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 3: Builder PatternCHAPTER GOAL: To discuss about the Builder Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 4: Factory Method PatternCHAPTER GOAL: To discuss about the Factory Method Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 5: Abstract Factory PatternCHAPTER GOAL: To discuss about the Abstract Factory Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)1.B: Structural Patterns Chapter 6: Proxy PatternCHAPTER GOAL: To discuss about the Proxy Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 7: Decorator PatternCHAPTER GOAL: To discuss about the Decorator Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 8: Adapter PatternCHAPTER GOAL: To discuss about the Adapter Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 9: Facade PatternCHAPTER GOAL: To discuss about the Facade Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 10: Flyweight PatternCHAPTER GOAL: To discuss about the Flyweight Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 11: Composite PatternCHAPTER GOAL: To discuss about the Composite Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)CHAPTER 12: BRIDGE PATTERNCHAPTER GOAL: To discuss about the Bridge Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)1.C:Behavioral Patterns Chapter 13: Visitor PatternCHAPTER GOAL: To discuss about the Visitor Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)CHAPTER 14: OBSERVER PATTERNCHAPTER GOAL: To discuss about the Observer Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 15: Strategy PatternCHAPTER GOAL: To discuss about the Strategy Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 16: Template Method PatternCHAPTER GOAL: To discuss about the Template Method Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 17: Command PatternCHAPTER GOAL: To discuss about the Command Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)CHAPTER 18: ITERATOR PATTERNCHAPTER GOAL: To discuss about the Iterator Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)CHAPTER 19: MEMENTO PATTERNCHAPTER GOAL: To discuss about the Memento Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES 8-10+(Rough estimate)Chapter 20: State PatternCHAPTER GOAL: To discuss about the State Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 21: Mediator PatternCHAPTER GOAL: To discuss about the Mediator Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 22: Chain of Responsibility PatternCHAPTER GOAL: To discuss about the Chain of Responsibility Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 23: Interpreter PatternCHAPTER GOAL: To discuss about the Interpreter Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Part-II:Additional Design PatternsCHAPTER 24: SIMPLE FACTORY PATTERNCHAPTER GOAL: To discuss about the Simple Factory Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 25: Null Object PatternCHAPTER GOAL: To discuss about the Null Object Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Chapter 26: MVC PatternCHAPTER GOAL: To discuss about the MVC Pattern with the GoF Definition and the core concept behind that with a real life example and a computer world example. The chapter ends with a concrete implementation and its corresponding output. Author has used visual studio community 2017 for this purpose. This is free and latest in this field.NO OF PAGES: 8-10+ (Rough estimate)Part-III: Final talks on Design PatternsChapter 27: Criticism to Design PatternsCHAPTER GOAL: To discuss about the criticism to design patternsNO OF PAGES: 5 (Rough estimate)CHAPTER 28: AVOID THE TRAPS OF ANTI-PATTERNSCHAPTER GOAL: To discuss about the anti-patternsNO OF PAGES: 5 (Rough estimate)CHAPTER 29: SEAL THE LEAKS IN YOUR APPLICATIONCHAPTER GOAL: To discuss about memory leaks and garbage collections to build a steady and healthy system.NO OF PAGES: 15 (Rough estimate)CHAPTER 30: ASYNCHRONOUS PROGRAMMINGCHAPTER GOAL: To discuss new patterns in Task-based Asynchronous Pattern and IAsync PatternCHAPTER 31: FAQCHAPTER GOAL: This chapter will consist of the frequently asked questions to help readers for a quick revision. This chapter will also clear the doubts that may arise among similar patterns.NO OF PAGES: 7-10+ (Rough estimate)
Malware Analysis and Detection Engineering
Discover how the internals of malware work and how you can analyze and detect it. You will learn not only how to analyze and reverse malware, but also how to classify and categorize it, giving you insight into the intent of the malware. MALWARE ANALYSIS AND DETECTION ENGINEERING is a one-stop guide to malware analysis that simplifies the topic by teaching you undocumented tricks used by analysts in the industry. You will be able to extend your expertise to analyze and reverse the challenges that malicious software throws at you.The book starts with an introduction to malware analysis and reverse engineering to provide insight on the different types of malware and also the terminology used in the anti-malware industry. You will know how to set up an isolated lab environment to safely execute and analyze malware. You will learn about malware packing, code injection, and process hollowing plus how to analyze, reverse, classify, and categorize malware using static and dynamic tools. You will be able to automate your malware analysis process by exploring detection tools to modify and trace malware programs, including sandboxes, IDS/IPS, anti-virus, and Windows binary instrumentation.The book provides comprehensive content in combination with hands-on exercises to help you dig into the details of malware dissection, giving you the confidence to tackle malware that enters your environment.WHAT YOU WILL LEARN* Analyze, dissect, reverse engineer, and classify malware* Effectively handle malware with custom packers and compilers* Unpack complex malware to locate vital malware components and decipher their intent* Use various static and dynamic malware analysis tools * Leverage the internals of various detection engineering tools to improve your workflow * Write Snort rules and learn to use them with Suricata IDS WHO THIS BOOK IS FORSecurity professionals, malware analysts, SOC analysts, incident responders, detection engineers, reverse engineers, and network security engineers"This book is a beast! If you're looking to master the ever-widening field of malware analysis, look no further. This is the definitive guide for you." PEDRAM AMINI, CTO INQUEST; FOUNDER OPENRCE.ORG AND ZERODAYINITIATIVEABHIJIT MOHANTA is an independent cybersecurity consultant and corporate trainer who has worked extensively in malware reverse engineering, vulnerability research, anti-virus engine development, anti-malware signature writing, and sandbox development. He has worked with the Symantec, McAfee, and Juniper Networks anti-malware labs. He holds several patents. He blogs regularly and has been a speaker at security conferences and workshops. His articles have been republished and quoted in a number of blogs and whitepapers, including eForensics magazine. He is also the author of the book Preventing Ransomware: Understand, Prevent, and Remediate Ransomware Attacks.ANOOP SALDANHA is one of the core authors of the Suricata Intrusion Detection and Prevention System, funded by the US Department of Homeland Security (DHS). He works as an independent security consultant and as a corporate security trainer. He designs and develops various detection technologies to secure both the host and the network, ranging from network security tools such as IDS/IPS to malware sandboxes, malware analysis tools, firewalls, and endpoints. He holds multiple patents in the field of security and speaks at security conferences and workshops. He has previously worked in threat research labs and detection engineering teams at RSA Security, Juniper Networks, Cyphort Cybersecurity, and various other cybersecurity startups.Part 1: Introduction1. Introduction2. Malware Analysis Lab SetupPart 2: OS and System Fundamentals3. File & File Formats4. Virtual Memory & Portable Executable(PE) File5. Windows InternalsPart 3: Malware Components & Analysis6. Malware Components & Distribution7. Malware Packers8. Persistence Mechanisms9. Network Communication10. Code Injection, Process Hollowing & API Hooking11. Stealth and RootkitsPart 3: Malware Analysis & Classification12. Static Analysis13. Dynamic Analysis14. Memory Forensics With Volatility15. Malware Payload Dissection & ClassificationPart 4: Malware Reverse Engineering16. Debuggers & Assembly Language17. Debugging Tricks for Unpacking Malwares18. Debugging Code Injection19. Armoring & Evasion - The Anti Techniques20. File-less, Macros & Other Malware TrendsPart 5: Detection Engineering21. Dev Analysis Lab Setup22. Anti-Virus Engines23. IDS/IPS & Snort/Suricata Rule Writing24. Malware Sandbox Internals25. Binary Instrumentation for Reversing Automation
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.
Big Public Data aus dem Programmable Web
Die Verbreitung des Internets und die zunehmende Digitalisierung in der öffentlichen Verwaltung und Politik haben über die letzten Jahre zu einer starken Zunahme an hochdetaillierten digitalen Datenbeständen über politische Akteure und Prozesse geführt. Diese big public data werden oft über programmatische Schnittstellen (Web APIs; programmable Web) verbreitet, um die Einbettung der Daten in anderen Webanwendungen zu vereinfachen. Die Analyse dieser Daten für wissenschaftliche Zwecke in der politischen Ökonomie und Politologie ist vielversprechend, setzt jedoch die Implementierung einer data pipeline zur Beschaffung und Aufbereitung von Daten aus dem programmable Web voraus. Dieses Buch diskutiert die Chancen und Herausforderungen der praktischen Nutzung dieser Datenbestände für die empirische Forschung und zeigt anhand einer Fallstudie ein mögliches Vorgehen zur systematischen Analyse von big public data aus dem programmable Web auf.ULRICH MATTER ist Assistenzprofessor für Volkswirtschaftslehre an der Universität St. Gallen.Einleitung.- Chancen: Datengenerierung und Datenqualität.- Herausforderungen: Webtechnologien und Variabilität der Daten.- Konzeptioneller Lösungsansatz: Data pipelines.- Fallstudie: Religion in der US Politik.- Replizierbarkeit und Verifizierbarkeit der Datensammlung.- Diskussion und Ausblick