Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen

Programmierung

Produkte filtern

Produktbild für Learn Microservices with Spring Boot

Learn Microservices with Spring Boot

Build Java-based microservices architecture using the Spring Boot framework by evolving an application from a small monolith to an event-driven architecture composed of several services. This revised book follows an incremental approach in teaching the structure of microservices, test-driven development, and common patterns in distributed systems such as service discovery, load balancing, routing, centralized logs, per-environment configuration, and containerization.This updated book now covers what's been added to the latest Spring Boot release, including support for the latest Java SE; more deep-dive knowledge on how Spring Boot works; testing with JUnit 5; changes in the Spring Cloud tools used for service discovery and load balancing; building Docker images using cloud-native buildpacks; a basic centralized logging solution; E2E traceability with Sleuth; centralized configuration with Consul; many dependency upgrades; support for Spring Data Neumann; and more.Author Moises Macero uses a pragmatic approach to explain the benefits of using this type of software architecture, instead of keeping you distracted with theoretical concepts. He covers some of the state-of-the-art techniques in computer programming, from a practical point of view. You’ll focus on what's important, starting with the minimum viable product but keeping the flexibility to evolve it.WHAT YOU WILL LEARN* Build microservices with Spring Boot* Discover architecture patterns for distributed systems such as asynchronous processing, eventual consistency, resilience, scalability, and more* Use event-driven architecture and messaging with RabbitMQ* Master service discovery with Consul and load balancing with Spring Cloud Load Balancer* Route requests with Spring Cloud Gateway* Keep flexible configurations per environment with Spring Cloud Consul* Trace every request from beginning to end with Sleuth and centralized logging* Deploy your microservices anywhere as Docker containers* Start all the components in the microservice architecture with Docker ComposeWHO THIS BOOK IS FORThose with at least some prior experience with Java programming. Some prior exposure to Spring Boot recommended but not required.MOISÉS MACERO GARCÍA has been a software developer since he was a kid, when he started playing around with BASIC on his ZX Spectrum. During his career, Moisés has most often worked in development and architecture for small and large projects, and for his own startups as well. He enjoys making software problems simple, and he likes working in teams where he can not only coach others, but also learn from them.Moisés is the author of the blog thepracticaldeveloper.com, where he shares solutions for technical challenges, guides, and his view on different ways of working in IT companies. He also organizes workshops for companies that need a practical approach to software engineering. In his free time, he enjoys traveling and hiking.* Introduction* Core concepts* A basic Spring Boot app* A minimal frontend with React* The data layer* Starting with Microservices* Event-Driven Architecture* Cloud native patterns* End-to-End tests with Cucumber

Regulärer Preis: 62,99 €
Produktbild für Python Testing with Selenium

Python Testing with Selenium

Implement different testing techniques using Selenium WebDriver with the Python programming language. This quick reference provides simple functional test cases with a syntax-based approach for Selenium WebDriver.You’ll begin by reviewing the basics of Selenium WebDriver and its architectural design history and then move on to the configuration and installation of Selenium library for different web browsers, including the basic commands needed to start test scripts in various browsers. You’ll review action commands of keyboard and mouse for testing user interactions in a web page and see how hyperlinks are tested.The book also examines various web elements using eight different locators provided by Selenium to help you choose the one best suited to your needs. All Python scripts are ready to test real examples, all of which are explained thoroughly with problem statements. You’ll use different Python design patterns to automate test scripts that can be incorporated with Selenium.In the end, Python Testing with Selenium will provide you with the expertise to write your own test cases in future.WHAT YOU’LL LEARN* Install and configure Selenium WebDriver with Python for different web-browsers * Review basic commands of Selenium* Locate web elements * Work with UI based web elements* Assert web elements and handle exceptions* Write test scripts in Page Object Model * Write test cases with Unittest framework WHO THIS BOOK IS FORPython developers/testers who want to test their web applicationsSujay Raghavendra works mainly in the field of data science, machine/deep learning, and artificial intelligence and is currently Executive Director of Raghavendra Training & Consultancy (RTC), a start up company based in Dharwad, Karnataka, India. RTC was co-founded with his brother Sumedh Raghavendra in 2014.He also plans and evaluates new technological projects for research and product development to various companies at RTC. Some of his projects include analyzing pap smear filter for microscopic medical images, thermal heat sensing in hospitals, ocr for handwritten characters, satellite image analysis, network automation for maps, forecasting model, text analytics & predictions, etc.Raghavendra has been a consultant for helping and building research centers for technical universities and colleges and his recent interest includes automating testing cases using machine learning. He has published numerous research articles in international journals and was part of a reviewer committee in various journals and conferences.PYTHON TESTING WITH SELENIUMChapter 1: Introduction to SeleniumChapter 2: Getting StartedChapter 3: Mouse & Keyboard ActionsChapter 4: Web ElementsChapter 5: NavigationChapter 6: Buttons, Checkbox & Select ListChapter 7: Frames and Text BoxesChapter 8: AssertionsChapter 9: Exception HandlingChapter 10: WaitsChapter 11: Page ObjectsChapter 12: Using Test Cases with a Screenshot

Regulärer Preis: 56,99 €
Produktbild für Data Parallel C++

Data Parallel C++

Learn how to accelerate C++ programs using data parallelism. This open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices—including GPUs, CPUs, FPGAs and AI ASICs—that are suitable to the problems at hand.This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group and Data Parallel C++ (DPC++), the open source compiler used in this book. Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems.WHAT YOU'LL LEARN* Accelerate C++ programs using data-parallel programming* Target multiple device types (e.g. CPU, GPU, FPGA)* Use SYCL and SYCL compilers * Connect with computing’s heterogeneous future via Intel’s oneAPI initiativeWHO THIS BOOK IS FORThose new data-parallel programming and computer programmers interested in data-parallel programming using C++.James Reinders is a consultant with more than three decades experience in Parallel Computing, and is an author/co-author/editor of nine technical books related to parallel programming. He has had the great fortune to help make key contributions to two of the world's fastest computers (#1 on Top500 list) as well as many other supercomputers, and software developer tools. James finished 10,001 days (over 27 years) at Intel in mid-2016, and now continues to write, teach, program, and do consulting in areas related to parallel computing (HPC and AI).Chapter 1: IntroductionSets expectation that book describes SYCL 1.2.1 with Intel extensions, and that most extensions are proof points of features that should end up in a future version of SYCL. Overview notion of different accelerator architectures doing well on different workloads, and introduce accelerator archs (but don’t overdo the topic). Overview/level setting on parallelism and relevant terminology, language landscape, SYCL history.• SYCL key feature overview (single source, C++, multi-accelerator) - intended to draw people in and show simple code• Language versions and extensions covered by this book• Mixed-architecture compute and modern architectures• Classes of parallelism• Accelerator programming landscape (OpenMP, CUDA, TBB, OpenACC, AMD HCC, Kokkos, RAJA)• Evolution of SYCLChapter 2: Where code executesDescribes which parts of code run natively on CPU versus on "devices". Differentiate between accelerator devices and the "host device". Show more code to increase reader familiarity with program structure.• Single source programming model• Built-in device selectors• Writing a custom device selectorChapter 3: Data management and ordering the uses of dataOverview the primary ways that data is accessible by both host and device(s): USM and buffers. Introduce command groups as futures for execution, and concept of dependencies between nodes forming a DAG.• Intro• Unified Shared Memory• Buffers• DAG mechanismChapter 4: Expressing parallelismThe multiple alternative constructs for expressing parallelism are hard to comprehend from the spec, and for anyone without major parallel programming experience. This chapter must position the parallelism mechanisms relative to each other, and leave the reader with a conceptual understanding of each, plus an understand of how to use the most common forms.• Parallelism within kernels• Overview of language features for expressions of parallelism• Basic data parallel kernels• Explicit ND-Range kernels• Hierarchical parallelism kernels• Choosing a parallelism/coding styleChapter 5: Error handlingSYCL uses C++-style error handling. This is different/more modern than people using OpenCL and CUDA are used to. This chapter must frame the differences, and provide samples from which readers can manage exceptions easily in their code.• Exception-based• Synchronous and asynchronous exceptions• Strategies for error management• Fallback queue mechanismChapter 6: USM in detailUSM is a key usability feature when porting code, from C++ for example. When mixed with differing hardware capabilities, the USM landscape isn’t trivial to understand. This key chapter must leave the reader with an understanding of USM on different hardware capabilities, what is guaranteed at each level, and how to write code with USM features.• Usability• Device capability levels• Allocating memory• Use of data in kernels• Sharing of data between host and devices• Data ownership and migration• USM as a usability feature• USM as a performance feature• Relation to OpenCL SVMChapter 7: Buffers in detailBuffers will be available on all hardware, and are an important feature for people writing code that doesn’t have pointer-based data structures, particularly when implicit dependence management is desired. This chapter must cover the more complex aspects of buffers in an accessible waym, including when data movement is triggered, sub-buffer dependencies, and advanced host/buffer synchronization (mutexes).• Buffer construction• Access modes (e.g. discard_write) and set_final_data• Device accessors• Host accessors• Sub-buffers for finer grained DAG dependencies• Explicit data motion• Advanced buffer data sharing between device and hostChapter 8: DAG scheduling in detailMust describe the DAG mechanism from a high level, which the spec does not do. Must describe the in-order simplifications, and common gotchas that people hit with the DAG (e.g. read data before buffer destruction and therefore kernel execution).• Queues• Common gotchas with DAGs• Synchronizing with the host program• Manual dependency managementChapter 9: Local memory and work-group barriers• "Local" memory• Managing "local" memory• Work-group barriersChapter 10: Defining kernels• Lambdas• Functors• OpenCL interop objectsChapter 11: Vectors• Vector data types• Swizzles• Mapping to hardwareChapter 12: Device-specific extension mechanism• TBDChapter 13: Programming for GPUs• Use of sub-groups• Device partitioning• Data movement• Images and samplers• TBDChapter 14: Programming for CPUs• Loop vectorization• Use of sub-groups• TBDChapter 15: Programming for FPGAs• Pipes• Memory controls• Loop controlsChapter 16: Address spaces and multi_ptr• Address spaces• The multi_ptr class• Intefacing with external codeChapter 17: Using libraries• Linking to external code• Exchanging data with librariesChapter 18: Working with OpenCL• Interoperability• Program objects• Build options• Using SPIR-V kernelsChapter 19: Memory model and atomics• The memory model• Fences• Buffer atomics• USM atomics

Regulärer Preis: 52,99 €
Produktbild für Python 3 for Science and Engineering Applications

Python 3 for Science and Engineering Applications

If you have mastered the basics of Python and are wanting to explore the language in more depth, this book is for you. By means of concrete application examples used in different applications, you are guided on how Python can be used tackle a wide range of problems. Including general ideas and solutions, the specifics of Python and how these can be practically applied are discussed. The book illustrates many aspects of programming including algorithms, recursion, data structures, and helps develop problem-oriented thinking.Python 3 for Science and Engineering Applications includes:>practical and goal-oriented learning>basic Python techniques> modern Python 3.6+ including comprehensions, decorators andgenerators>complete code available online> more than 40 exercises, solutions documented online>no additional packages or installation required, 100% pure PythonTopics cover:>identifying large prime numbers and computing Pi> writing and understanding recursive functions with memorisation>computing in parallel and utilising all system cores>processing text data and encrypting messages>comprehending backtracking and solving Sudokus>analysing and simulating games of chance to develop optimalwinning strategies>handling genetic code and generating extremely long palindromesFelix Bittmann is a research associate at the Leibniz Institute for Educational Trajectories and a doctoral candidate at the University of Bamberg, Germany. His research interests include social inequality, the role of education in the course of life, quantitative methods, and the philosophy of science. With a focus on statistical analysis and applied research, Python is an integral and multifunctional tool of his daily workflow.

Regulärer Preis: 24,99 €
Produktbild für Practical Apache Lucene 8

Practical Apache Lucene 8

Gain a thorough knowledge of Lucene's capabilities and use it to develop your own search applications. This book explores the Java-based, high-performance text search engine library used to build search capabilities in your applications.Starting with the basics of Lucene and searching, you will learn about the types of queries used in it and also take a look at scoring models. Applying this basic knowledge, you will develop a hello world app using basic Lucene queries and explore functions like scoring and document level boosting.Along the way you will also uncover the concepts of partial searching and matching in Lucene and then learn how to integrate geographical information (geospatial data) in Lucene using spatial queries and n-dimensional indexing. This will prepare you to build a location-aware search engine with a representative data set that allows location constraints to be specified during a search. You’ll also develop a text classifier using Lucene and Apache Mahout, a popular machine learning framework.After a detailed review of performance bench-marking and common issues associated with it, you’ll learn some of the best practices of tuning the performance of your application. By the end of the book you’ll be able to build your first Lucene patch, where you will not only write your patch, but also test it and ensure it adheres to community coding standards.WHAT YOU’LL LEARN* Master the basics of Apache Lucene* Utilize different query types in Apache Lucene* Explore scoring and document level boosting* Integrate geospatial data into your applicationWHO THIS BOOK IS FORDevelopers wanting to learn the finer details of Apache Lucene by developing a series of projects with it.Atri is a distributed systems engineer with expertise in building and scaling large data oriented systems, and an Apache Lucene/Solr committer. He has worked for Microsoft, where he was responsible for scaling the storage and query engines for Azure CosmosDB. He is also a long time PostgreSQL contributor and an Apache committer and PMC member for HAWQ, MADLib, and Apex.CHAPTER 1: MEETING THE BEAST -- HOIA LUCENE! - 15 PAGESThis chapter will go over basics of Lucene and search, and give details of basic query structures in Lucene along with the different data structures and types in Lucene which can be diverse in application and usage.1. What Is Search, Anyway?2. Meet Lucene3. Types of Structures In Lucene4. Query Types -- Done The Lucene Way5. Lucene Vs Relational DatabasesCHAPTER 2: HELLO WORLD -- THE LUCENE WAY - 10 PAGESThis chapter will try out a few basic Lucene queries on a standard data set. User will index some standard data set and query different types of queries on top of it. The user will explore scoring, document level boosting and queries like TopN hits, uses of Collectors.1. Index Data In Lucene2. Internals of a Lucene Index3. Scoring and Boosting4. Doing your first query5. TopN Hits -- Why Should I Care About the 100th Hit?6. Collectors -- The Life Of Your ApplicationCHAPTER 3: BUILD A PERSONAL DESKTOP FILE SEARCHER - 40 PAGESThis chapter will go over details of building a file searcher using Lucene which will have the capability to search across the entire file system of the user’s computer and provide search results to the user for relevant documents and files given a partial or complete keyword.1. Basics of Document Searching with Lucene2. Partial Searches and Matching3. A Bit About TF/IDF4. Build The Core of Our Searcher5. Building the File System Seek and Search Functionality6. Bringing It All TogetherCHAPTER 4: A BIT ABOUT SPATIAL INDEXING - 20 PAGESBasics of Spatial Indexing and space vectors. The chapter will cover spatial indexing and querying in Lucene and advanced level details of N dimensional indexing and searching.1. Spatial Indexing2. Lucene’s Spatial Indexing Basics3. When To Use Spatial Indexing?4. N Dimensional Indexing5. Lucene Spatial Query TypesCHAPTER 5: DEVELOPING A LOCATION AWARE SEARCH ENGINE - 40 PAGESThis chapter will go over details of building a location aware search engine with representative data set and allowing location constraints to be specified during a search.1. What is Location Aware Searching?2. Representing Data As Spatial Data3. Metadata Searches4. Combining Searches -- Actual Text and Location CombinedCHAPTER 6: CREATE A TEXT CLASSIFIER WITH APACHE MAHOUT AND LUCENE - 30 PAGESThis chapter will go over building a classifier using Apache Mahout, a popular Machine Learning framework and Lucene.1. What is Mahout?2. What is a Text Classifier Engine?3. Building The Model in Mahout4. Building the Parser in Lucene5. Bringing It All TogetherCHAPTER 7: PERFORMANCE TUNING YOUR LUCENE APPLICATIONS - 15 PAGESPerformance is key to any search applications and small changes to the application can cause amplified changes to the performance of the application. We will performance benchmark applications, learn common pitfalls and learn best practices to tune performance in search applications with Lucene.1. Lucene Performance Basics2. Performance Bench-marking3. Lucene Performance Tuning4. Lucene Performance with System Performance ToolsCHAPTER 8: YOUR FIRST LUCENE PATCH - 15 PAGESThis chapter will focus on building your first patch to the heart of the engine itself. We will go through the cycle of writing a patch, testing it, adhering to community code standards, JIRA navigation, community interaction etc.1. Lucene Internals2. Working with Git3. Writing a Patch4. Test Test Test!5. Opening a JIRA for your issue6. Community Interaction

Regulärer Preis: 46,99 €
Produktbild für Das neue SAPUI5-Handbuch

Das neue SAPUI5-Handbuch

Für Einsteiger und SAPUI5-Profis: Programmieren Sie Schritt für Schritt Ihre erste eigene Anwendung, oder starten Sie direkt mit Performanceoptimierung und Fehleranalyse. Dieses Buch beantwortet Ihre Fragen rund um die Anwendungsentwicklung mit SAPUI5. Beginnen Sie z.B. mit der Implementierung einfacher Controls und lernen Sie im Anschluss, wie Smart Controls Ihre Arbeit vereinfachen. Sie möchten lieber gleich wissen, wie Sie Ihre Apps um eigene Controls erweitern? Schlagen Sie es einfach nach! Aus dem Inhalt: BootstrappingLifecycle ManagementOberfächen und Dialoge gestaltenKomponentenorientiertes ProgrammierenAnwendungsdeskriptorSortieren, Gruppieren und FilternEingabevalidierung Eventbasierte KommunikationEntwicklungsinfrastrukturEinführung in die Konzepte von SAP Fiori   Einleitung ... 19 Teil I.  Einführung ... 27   1.  SAPUI5 -- ein Überblick ... 29        1.1 ... Was ist SAPUI5? ... 29        1.2 ... Anwendungsfälle ... 43   2.  Grundlegender Aufbau und Ressourcen ... 47        2.1 ... Die Model-View-Controller-Architektur in SAPUI5 ... 47        2.2 ... Aufbau und Struktur einer SAPUI5-Anwendung ... 51        2.3 ... Bibliotheken und Namensräume ... 55        2.4 ... Typen von Views ... 67        2.5 ... Modelle ... 72        2.6 ... Datenbindung ... 81        2.7 ... Entwicklungs- und Laufzeitumgebung ... 89 Teil II.  SAPUI5 -- Anwendungsentwicklung ... 99   3.  In 7 Schritten zur ersten eigenen Anwendung ... 101        3.1 ... Ablaufumgebung aufsetzen ... 101        3.2 ... Einführung in den Aufbau einer UI5-Anwendung ... 105        3.3 ... Einführung in die Arbeit mit einfachen UI5-Controls ... 115        3.4 ... Verwendung von komplexen UI5-Controls ... 121        3.5 ... Die Programmierschnittstelle von SAPUI5 ... 127        3.6 ... Implementierung von Eventhandlern ... 131        3.7 ... Komponentenorientierte Anwendungsentwicklung ... 137   4.  Das Bootstrapping ... 143        4.1 ... Einführung in das Bootstrapping von SAPUI5 ... 143        4.2 ... Komponentenerstellung ... 147        4.3 ... Weitere Konfigurationsmöglichkeiten ... 149   5.  Instanziierung und Lebenszyklus ... 153        5.1 ... Einführung in das Lifecycle-Management von SAPUI5 ... 153        5.2 ... Ressourcen verwenden ... 160   6.  Benutzeroberflächen und Dialoge gestalten ... 163        6.1 ... Gestaltung von einfachen Benutzeroberflächen ... 163        6.2 ... Gestaltung von komplexen Benutzeroberflächen ... 170        6.3 ... Arbeiten mit Fragmenten ... 178        6.4 ... Dialoge implementieren und verwenden ... 189   7.  Arbeiten mit Layouts ... 197        7.1 ... Einführung in die Arbeit mit Layouts ... 197        7.2 ... Standardlayouts zur Anordnung von UI-Controls ... 201        7.3 ... Arbeiten mit Formularlayouts ... 205        7.4 ... Arbeiten mit Fullscreen-Layouts ... 210   8.  Responsive und adaptive Benutzeroberflächen ... 217        8.1 ... Responsiv versus adaptiv ... 217        8.2 ... Implementierung responsiver SAPUI5-Anwendungen ... 219        8.3 ... Implementierung adaptiver SAPUI5-Anwendungen ... 233   9.  Komponentenorientiertes Programmieren ... 241        9.1 ... Aufbau einer Komponente ... 241        9.2 ... Integration von Komponenten ... 257 10.  Anwendungsdeskriptor ... 267        10.1 ... Aufbau des Anwendungsdeskriptors ... 268        10.2 ... Zugriff auf die Konfigurationsdaten zur Laufzeit ... 285 11.  Routing und Navigation ... 289        11.1 ... Einführung in die Navigationskonzepte von SAPUI5 ... 289        11.2 ... Navigation am Beispiel einer Master-Detail-Anwendung ... 301        11.3 ... Erweiterte Routingkonzepte ... 315 12.  Arbeiten mit Modellen ... 321        12.1 ... JSON-Modell ... 321        12.2 ... Ressourcenmodell ... 325        12.3 ... OData-Modell ... 335 13.  Sortieren, gruppieren und filtern ... 351        13.1 ... Sortieren ... 352        13.2 ... Gruppieren ... 362        13.3 ... Filtern ... 371 14.  CUDQ mit OData ... 381        14.1 ... Create ... 382        14.2 ... Update ... 397        14.3 ... Delete ... 406        14.4 ... Query ... 408        14.5 ... Funktionsimport ... 414        14.6 ... Das OData-Modell der 4-Version -- ein Ausblick ... 416 15.  Eingabevalidierung und eigene Datentypen ... 425        15.1 ... Einführung in die Arbeit mit Datentypen ... 425        15.2 ... Implementierung eigener Datentypen ... 435 Teil III.  Weiterführende Themen ... 449 16.  Smart Controls ... 451        16.1 ... Einführung in Smart Controls ... 451        16.2 ... Verwendung der »SmartTable« ... 452        16.3 ... »SmartFilterBar« ... 460        16.4 ... »SmartForm« ... 468 17.  Implementierung eigener Controls ... 473        17.1 ... Grundlagen der SAPUI5-Control-Entwicklung ... 473        17.2 ... UI-Controls erweitern ... 478        17.3 ... Eigene UI-Controls implementieren ... 483        17.4 ... XML Composite Controls implementieren ... 490 18.  Eventbasierte Kommunikation mit dem Event Bus ... 495        18.1 ... Einführung in das eventbasierte Anwendungsdesign ... 495        18.2 ... Der Event Bus in SAPUI5 ... 497        18.3 ... Implementierung einer eventgesteuerten Anwendungskommunikation ... 499 19.  Drag and Drop ... 507        19.1 ... Grundlagen der Implementierung von Drag and Drap in SAPUI5 ... 508        19.2 ... Einsatzszenarien von Drag and Drop und ihre Implementierung ... 514 20.  Theming ... 527        20.1 ... CSS ... 527        20.2 ... UI Theme Designer ... 530 21.  Testen von SAPUI5-Anwendungen ... 547        21.1 ... Grundlagen von Tests in SAPUI5 ... 547        21.2 ... Unit-Tests mit QUnit ... 553        21.3 ... Oberflächentests mit OPA5 ... 563        21.4 ... Daten simulieren mit dem UI5 MockServer ... 577        21.5 ... End-to-End-Tests mit UIVeri5 ... 581 22.  Entwicklungsinfrastruktur ... 589        22.1 ... Einführung und Übersicht ... 589        22.2 ... Projektsetup mit dem UI5 Tooling ... 591        22.3 ... Automatisierte Tests für CI ... 600        22.4 ... Versionsverwaltung mit Git ... 606        22.5 ... Aufbau einer Continuous-Deployment-Pipeline ... 617 23.  Performanceoptimierung und Fehleranalyse ... 625        23.1 ... Grundlagen der Performanceoptimierung von SAPUI5-Anwendungen ... 626        23.2 ... Der Support Assistant ... 638        23.3 ... Einführung in die Performanceanalyse ... 657        23.4 ... Typische Fehlersituationen in SAPUI5, ihre Ursache und Lösung ... 661 24.  SAP Fiori ... 667        24.1 ... Überblick ... 667        24.2 ... Implementierung einer SAPUI5-Anwendung mit der SAP Web IDE ... 677        24.3 ... Fundamental Library Styles ... 699        24.4 ... SAP Fiori Elements ... 705        24.5 ... Integration in das SAP Fiori Launchpad ... 727   Die Autoren ... 739   Index ... 741

Regulärer Preis: 79,90 €
Produktbild für Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen von Grund auf verstehen* Fundierte Einführung mit klarem didaktischen Aufbau* Mit konkreten Anwendungsbeispielen * Eine reichhaltige Fundgrube für Lehre und SelbststudiumKenntnisse von Algorithmen und Datenstrukturen sind ein Grundbaustein des Studiums der Informatik und verwandter Fachrichtungen. Das Buch behandelt diese Thematik in Verbindung mit der Programmiersprache Java und schlägt so eine Brücke zwischen den klassischen Lehrbüchern zur Theorie von Algorithmen und Datenstrukturen und den praktischen Einführungen in eine konkrete Programmiersprache.Die konkreten Algorithmen und deren Realisierung in Java werdenumfassend dargestellt. Daneben werden die theoretischen Grundlagen vermittelt, die in Programmiersprachen-Kursen oft zu kurz kommen: abstrakte Maschinenmodelle, Berechenbarkeit, Algorithmenparadigmen sowie parallele und verteilte Abläufe. Einen weiteren Schwerpunkt bilden Datenstrukturen wie Listen, Bäume, Graphen und Hashtabellen sowie deren objektorientierteImplementierung mit modernen Methoden der Softwareentwicklung.Die 6. Auflage führt einige neue Algorithmen ein und berücksichtigt die Neuerungen der aktuellen Java-Versionen, u.a. zu Themen wie Parallelisierung.Gunter Saake ist Professor für Datenbanken und Informationssysteme an der Uni Magdeburg und forscht unter anderem auf den Gebieten Datenbankintegration, digitale Bibliotheken, objektorientierte Informationssysteme und Informationsfusion. Er ist Koautor mehrerer Lehrbücher, u.a. zu Datenbankkonzepten und -implementierungstechniken, Datenbanken & Java. Kai-Uwe Sattler ist Professor für Datenbanken und Informationssysteme an der TU Ilmenau. Zu seinen Arbeitsgebieten zählen Datenbankintegration und Anfrageverarbeitung in heterogenen sowie massiv verteilten Datenbanksystemen. Er ist Koautor mehrerer Lehrbücher, u.a. zu Datenbankkonzepten und zu Datenbanken & Java.

Regulärer Preis: 44,90 €
Produktbild für Practical System Programming with C

Practical System Programming with C

This book teaches system programming with the latest versions of C through a set of practical examples and problems. It covers the development of a handful of programs, implementing efficient coding examples.Practical System Programming with C contains three main parts: getting your hands dirty with multithreaded C programming; practical system programming using concepts such as processes, signals, and inter-process communication; and advanced socket-based programming which consists of developing a network application for reliable communication.You will be introduced to a marvelous ecosystem of system programming with C, from handling basic system utility commands to communicating through socket programming. With the help of socket programming you will be able to build client-server applications in no time.The “secret sauce” of this book is its curated list of topics and solutions, which fit together through a set of different pragmatic examples; each topic is covered from scratch in an easy-to-learn way. On that journey, you’ll focus on practical implementations and an outline of best practices and potential pitfalls. The book also includes a bonus chapter with a list of advanced topics and directions to grow your skills.WHAT YOU WILL LEARN* Program with operating systems using the latest version of C * Work with Linux* Carry out multithreading with C Examine the POSIX standards* Work with files, directories, processes, and signals* Explore IPC and how to work with itWHO THIS BOOK IS FORProgrammers who have an exposure to C programming and want to learn system programming. This book will help them to learn about core concepts of operating systems with the help of C programming..Sri Manikanta Palakollu is a programmer and software developer with experience in C, C++, Java, and Python as well as Linux, POSIX, and other operating system-level programming. He is a tech reviewer for various tech book publishers. Sri also contributes to various open source projects.1. Introduction to Linux Environment• Getting familiar with Linux Kernel• Linux Kernel V/S Other OS Kernels.• File Handling Utilities• Process Utilities• Network Utilities• Backup Utilities.2. Implementation of Multithreading with C• Introduction to Threads• Threads V/S process• Introduction to Multithreading.• Importance of Multithreading.• Support of Multithreading in C• Creation of threads.• Practical Examples of Multithreading.• Use cases of Multithreading.3. Getting Started with System Programming• Understanding the POSIX Standard.• Introduction to API’s• Importance of API’s• Inbuilt API’s in C4. Files and Directories• Basic concepts in files• Files meta i-nodes• System Calls for Files• I/O Operations for Files• File Permissions.• Soft and Hard Links• System call for Directories.5. Processes and Signals• Introduction to process Environment• Environment Variables• Kernel Support for Processes• Process Creation• Concept of the Zombie process• Concept of Orphan Process• System Calls for Process management• Introduction to Signals• System calls for signals• Types of Signals6. Inter process Communication (IPC)• Introduction to IPC• Types of IPC• Creation of Named PIPES• Creation of UN-Named PIPES• Concept of Message Queues• Implementation of Message Queues• Concept of Semaphore• Implementation of Semaphore.• API for Named and unnamed PIPES• API for Message Queues• API for Semaphore.7. Shared Memory• Introduction to Shared Memory.• Kernel Support for Shared Memory.• Implementation of Shared Memory.• API for Shared Memory.8. Socket Programming• Introduction to Sockets• IPC Over Networks• API for Socket Programming• OSI Layer Protocol• TCP/IP Protocol• Client Server Architecture.• System calls for Socket Programming.• Implementation of Single Client Server Architecture.• Implementation of Multiple Client Server Architecture.9. Advanced Topics and Directions.

Regulärer Preis: 62,99 €
Produktbild für Practical Python Data Visualization

Practical Python Data Visualization

Quickly start programming with Python 3 for data visualization with this step-by-step, detailed guide. This book’s programming-friendly approach using libraries such as leather, NumPy, Matplotlib, and Pandas will serve as a template for business and scientific visualizations.You’ll begin by installing Python 3, see how to work in Jupyter notebook, and explore Leather, Python’s popular data visualization charting library. You’ll also be introduced to the scientific Python 3 ecosystem and work with the basics of NumPy, an integral part of that ecosystem. Later chapters are focused on various NumPy routines along with getting started with Scientific Data visualization using matplotlib. You’ll review the visualization of 3D data using graphs and networks and finish up by looking at data visualization with Pandas, including the visualization of COVID-19 data sets.The code examples are tested on popular platforms like Ubuntu, Windows, and Raspberry Pi OS. With Practical Python Data Visualization you’ll master the core concepts of data visualization with Pandas and the Jupyter notebook interface.WHAT YOU'LL LEARN* Review practical aspects of Python Data Visualization with programming-friendly abstractions * Install Python 3 and Jupyter on multiple platforms including Windows, Raspberry Pi, and Ubuntu * Visualize COVID-19 data sets with PandasWHO THIS BOOK IS FORData Science enthusiasts and professionals, Business analysts and managers, software engineers, data engineers.Ashwin Pajankar holds a Master of Technology from IIIT Hyderabad, and has over 25 years of programming experience. He started his journey in programming and electronics at the tender age of 7 with BASIC programming language and is now proficient in Assembly programming, C, C++, Java, Shell Scripting, and Python. Other technical experience includes single board computers such as Raspberry Pi and Banana Pro, and Arduino.He is currently a freelance online instructor teaching programming bootcamps to more than 60,000 students from tech companies and colleges. His Youtube channel has an audience of 10000 subscribers and he has published more than 15 books on programming and electronics with many international publications.CHAPTER 1: DATA VISUALIZATION WITH LEATHERChapter Goal: Introduce readers to the data visualization with a simple library leatherNo of pages: 15Sub - Topics:1. Introduction to leather2. Installation to leather3. Various types of graphs with leatherCHAPTER 2: INTRODUCTION TO THE SCIENTIFIC PYTHON ECOSYSTEM AND NUMPYChapter Goal: Explore Scientific Python 3 ecosystem and constituent member libraries. We will also learn basics of the NumPy multidimensional data structure Ndarrays.No of pages: 15Sub - Topics:1. Scientific Python 3 Ecosystem2. Member libraries3. Installation of NumPy4. NumPy basics5. NdarraysCHAPTER 3: NUMPY ROUTINES AND VISUALIZATION WITH MATPLOTLIBChapter goal – Learn to visualize data with Matplotlib. Readers working in the data science and scientific domains will be thrilled to get started with this.No of pages: 15Sub - Topics:1. NumPy Ndarray creation Routines2. Installation of Matplotlib3. Visualization with Matplotlib4. Multiple graphs5. Axis, colors, and markersCHAPTER 4 : VISUALIZING IMAGES AND 3D SHAPESChapter goal – Learn to visualize greyscale and color images. We will explore basic image processing operations. We will also learn to visualize 3D shapes and wireframes.No of pages: 20Sub - Topics:1. Visualize images with Matplotlib2. Basic Operations on images3. 3D visualizationsCHAPTER 5 : VISUALIZE NETWORKS AND GRAPHSChapter goal – Network and Graph Data structures. We will learn to install network library and visualize network.No of pages: 15Sub - Topics:1. Networks and Graphs2. Installation of network library3. Visualize graphsCHAPTER 6 : GETTING STARTED WITH PANDASChapter goal – Learn to work with Pandas Series and Dataframe data structures.No of pages: 15Sub - Topics:1. Pandas library and installation2. Series3. Dataframes4. Reading data from a URLCHAPTER 7: PROCESSING AND VISUALIZING COVID-19 DATAChapter goal – Learn to work with COVID-19 Data. Visualize the number of COVID-19.No of pages: 20Sub - Topics:1. COVID-19 Pandemic2. COVID 19 data sources3. COVID 19 python libraries4. Visualization of dataAPPENDIX:

Regulärer Preis: 62,99 €
Produktbild für Beginning R 4

Beginning R 4

Learn how to use R 4, write and save R scripts, read in and write out data files, use built-in functions, and understand common statistical methods. This in-depth tutorial includes key R 4 features including a new color palette for charts, an enhanced reference counting system (useful for big data), and new data import settings for text (as well as the statistical methods to model text-based, categorical data).Each chapter starts with a list of learning outcomes and concludes with a summary of any R functions introduced in that chapter, along with exercises to test your new knowledge. The text opens with a hands-on installation of R and CRAN packages for both Windows and macOS. The bulk of the book is an introduction to statistical methods (non-proof-based, applied statistics) that relies heavily on R (and R visualizations) to understand, motivate, and conduct statistical tests and modeling.Beginning R 4 shows the use of R in specific cases such as ANOVA analysis, multiple and moderated regression, data visualization, hypothesis testing, and more. It takes a hands-on, example-based approach incorporating best practices with clear explanations of the statistics being done.You will:* Acquire and install R and RStudio* Import and export data from multiple file formats* Analyze data and generate graphics (including confidence intervals)* Interactively conduct hypothesis testing* Code multiple and moderated regression solutionsWHO THIS BOOK IS FORProgrammers and data analysts who are new to R. Some prior experience in programming is recommended.MATT WILEY is a tenured, associate professor of mathematics with awards in both mathematics education and honor student engagement. He earned degrees in pure mathematics, computer science, and business administration through the University of California and Texas A&M systems. He serves as director for Victoria College’s quality enhancement plan and managing partner at Elkhart Group Limited, a statistical consultancy. With programming experience in R, C++, Ruby, Fortran, and JavaScript, he has always found ways to meld his passion for writing with his joy of logical problem solving and data science. From the boardroom to the classroom, Matt enjoys finding dynamic ways to partner with interdisciplinary and diverse teams to make complex ideas and projects understandable and solvable.JOSHUA F. WILEY is a lecturer in the Monash Institute for Cognitive and Clinical Neurosciences and School of Psychological Sciences at Monash University and a senior partner at Elkhart Group Limited, a statistical consultancy. He earned his PhD from the University of California, Los Angeles, and his research focuses on using advanced quantitative methods to understand the complex interplays of psychological, social, and physiological processes in relation to psychological and physical health. In statistics and data science, Joshua focuses on biostatistics and is interested in reproducible research and graphical displays of data and statistical models. Through consulting at Elkhart Group Limited and former work at the UCLA Statistical Consulting Group, he has supported a wide array of clients ranging from graduate students, to experienced researchers, and biotechnology companies. He also develops or co-develops a number of R packages including varian, a package to conduct Bayesian scale-location structural equation models, and MplusAutomation, a popular package that links R to the commercial Mplus software.1: Installing R2: Installing Packages and Using Libraries3: Data Input and Output4: Working with Data5: Data and Samples6: Descriptive Statistics7: Understanding Probability and Distribution8: Correlation and Regression9: Confidence Intervals10: Hypothesis Testing11: Multiple Regression12: Moderated Regression13: Analysts of VarianceBibliography

Regulärer Preis: 62,99 €
Produktbild für The Common Lisp Condition System

The Common Lisp Condition System

Discover the functioning and example uses of the Common Lisp condition system. This book supplements already existing material for studying Common Lisp as a language by providing detailed information about the Lisp condition system and its control flow mechanisms; it also describes an example ANSI-conformant implementation of the condition system.In part 1 of The Common Lisp Condition System, the author introduces the condition system using a bottom-up approach, constructing it piece by piece. He uses a storytelling approach to convey the foundation of the condition system, dynamically providing code to alter the behavior of an existing program. Later, in part 2, you’ll implement a full and complete ANSI-conformant condition system while examining and testing each piece of code that you write.Throughout, the author demonstrates how to extend Lisp using Lisp itself by using the condition system as an example. This is done while paying proper attention to the CL restart subsystem, giving it attention on a par with the handler subsystem. After reading and using this book, you'll have learned about the inner functioning of the condition system, how to use it in your own Common Lisp coding and applications, and how to implement it from scratch, should such a need arise.WHAT YOU WILL LEARN* Examine the condition system and see why it is important in Common Lisp* Construct the condition system from scratch using foundational mechanisms provided by Common Lisp* Program the condition system and its control flow mechanisms to achieve practical results* Implement all parts of a condition system: conditions, restarts, handler- and restart-binding macros, signalling mechanisms, assertions, a debugger, and moreWHO THIS BOOK IS FORBeginning and intermediate Lisp programmers, as well as intermediate programmers of other programming languages.MICHAŁ "PHOE" HERDA is a programmer with contributions to multiple parts of the Common Lisp ecosystem: CL implementations, existing and widely-used CL utilities, documentation, and some of the new library ideas that he slowly pushes forwards and works on. The book The Common Lisp Condition System is his first work -- an attempt to create a tutorial on the condition system that was missing, even all the years after which ANSI Common Lisp was standardized.1: Basic Concepts2: Introducing the Condition System3: Implementing the Common Lisp Condition System4: Wrapping UpAppendix A: Implementation of Dynamic Variables in CAppendix B: Additional Utilities for Working with Common Lisp ConditionsAppendix C: Lisp Macros 101Appendix D: Condition System Reference

Regulärer Preis: 46,99 €
Produktbild für Technisches Konstruieren mit OpenSCAD

Technisches Konstruieren mit OpenSCAD

Das Design dreidimensionaler Modelle mit Werkzeugen wie Blender oder 3D Studio Max ist eine Aufgabe, die ingenieurwissenschaftlich begabte Personen nur allzu gern delegieren.OpenSCAD wählt einen erfrischend anderen Zugang. Anstatt ein Objekt als Punktwolke zu betrachten, schreibt der Modellerzeuger in einer an Javascript erinnernden Sprache ein Programm. Dieses beschreibt die zu erzeugende Geometrie als eine Serie von Arbeitsschritten. Dreidimensionale Modelle entstehen so in einem Workflow, der an die Entwicklung klassischer ingenieurwissenschaftliche Güter erinnert. Wegen der Nähe zur manuellen Fertigung mit Werkzeug ist das ein Prozess, der Ingenieuren gut in die Hände spielt.Aber Achtung: trotz der Einfachheit der Syntax ist OpenSCAD kein primitives Modellierungsprogramm. Umfangreiche Scriptingmöglichkeiten sorgen dafür, dass sich die Modelle dynamisch an geänderte Situationen anpassen.Dieses Lehrbuch demonstriert die Möglichkeiten von OpenSCAD anhand praktischer Beispiele. Freuen Sie sich auf Ersatzknöpfe für ein LeCroy-Oszilloskop, Garderobenstangenhalter, einen Halter für Seifenspender und diverse andere Beispiele aus dem realen Leben.Der mit mehr als 15 Dienstjahren Erfahrung ausgestattete Autor entwickelte dieses für Linux und Windows gleichermaßen geeignete Buch explizit für informatikaffine Personen. Wenn Sie mit irgendeiner Programmiersprache Erfahrung haben, ist dieses Buch ihr Weg zum schnellen und unbürokratischen Erzeugen dreidimensionaler Modelle.Tam Hanna programmiert und entwickelt seit mehr als 15 Jahren Microcontroller und Prozessrechnersysteme für verschiedene Anwendungsfälle. Neben seiner Consultingtätigkeit hält er Vorträge auf Kongressen, verfasst Fachartikel für diverse Magazine und agiert als Tutor. Sein viel beachteter Instagram-Kanal liefert Hintergrundinformationen zu Messtechnik und Elektronik.

Regulärer Preis: 24,99 €
Produktbild für Raku Recipes

Raku Recipes

Explore Raku problems and solutions using the latest version of the Raku programming language. In Raku Recipes, the emphasis is on applying Raku code to various important tasks and applications including data science, analytics, microservices, and desktop/console applications. There are also fun one-liner script recipes and instructions on how to create mini-languages of your very own.All in all, over 70 recipes cover a broad range of the tasks and problems encountered by a modern Raku developer. You’ll be able to solve problems starting from basics such as input/output and math, to more complex domains such as microservices web sockets, web hooks, and mini-bots.WHAT YOU WILL LEARN* Put Raku to use in a real world environment* Work with Raku modules, including design classes, roles, and more* Query a GeoIP database and extract information from the web* Carry out text processing such as creating a dictionary with fast searches over it and scraping markdown documents* Work with MongoDB, WikiData, and other data sources* Build data science and analytics applications using Raku* Integrate with Python, C, and other languages and libraries* Create mini-languages and shell scripting languages WHO THIS BOOK IS FORWhile some prior experience in Raku may be useful, it is not required. Prior programming experience using other scripting languages, such as Perl, is recommended, however.J.J. Merelo is a professor at the university of Granada, where he has been teaching since 1988. He has been using Perl since 1994, and Perl 6/Raku intensively since December 2016. He trains, teaches, and consults on Perl and Raku projects.* How do I start to put (Perl 6|Raku|Camelia) to use in a real world environment.* Get your tools ready.Put concepts from other languages to use in Perl 6. * Get involved in the community.* Install some external and useful modules.* Detect OS environment and change program behavior according to it.* Input and outputRead files handled as arguments * Read and process files asynchronously* Connect input and output of external utilities and files.* Read and process binary files.* Watch a file for changes* Data science and data analytics* How do I extract unique email addresses/user names from several files.* How do I create a weighted random number generator.How do I work with a spreadsheet, filtering by row or column, or sorting, or converting row into columns or the other way round. * How do I apply a series of transformations to a group of elements and then extract a single quantity from them.* How do I create a random data generator* How do I process big, structured files.* MathHow can you generate mathematical sequences and extract random elements from it. * Program a divide-and-conquer algorithm.* Work with matrices.* Compute Mandelbrot’s and Julia’s set* Look for pairs of integers with a certain property, such as friendly numbers or contiguous primes, to use infinite precision integers.Configuration and execution of programs.* Configure a program using JSON/YAML/.ini files.* Configure a command line command with flags and arguments.* Use shell environment variables in my program.* Advanced/distributed configuration with etcdCreate a Docker container for an application to distribute it easily* Automation of system tasks.* Check log for certain events.* Check logs interactively on the console.* Check git commits for patterns, metadata, or store them.Clean up your Docker image store. * Process the last persons logged to our system* Perl 6 modules* Design classes, roles and modules in Perl 6.* Document your module.* Test your module.* Release it as an open source module for every one.* Use multiple dispatch to speed up applications.Dealing with errors* Design an exception hierarchy.* Deliver meaningful error messages to the user.* Catch and deal with errors in your program.* Debug your application in CommaIDE.* Make grammars fail graciously with pretty errors.* Web and microservices on the client side* Query a GeoIP databaseDownload and extract information from a web site. * Use a web API to get information from a site.* Check IP and addresses by querying Internet services.* Text processing* Scrape markdown documents.* Generate a set of static web pages* Create a dictionary and do fast searches over it* Compute differences in plain textsMicroservices* Create a microservice.* Work with web sockets, connecting to a client.* Respond to web hooks.* Create a mini-bot for Telegram or Slack.* Test your microservice.* Work with data sources.* Work with relational databases.Interface with Redis. * Use an ORM for hight-level data description and access.* Work with MongoDB.* Extract information from WikiData* Create a desktop/console applicationUse full-console UI. * Create an application that uses system windows.* Package your application for release.* Make it work with other desktop applications by using service buses.* Use a common desktop application framework.Interface with libraries and code in other languages* Embed Python programs.* Embed Perl programs.* Run external programs and capture output.* Wrap external libraries in C with NativeCall.* Work with image processing libraries.* Speed up processing* Use data parallelism with hyper/race.Work with asynchronous input/output * Work with concurrency using channels and threads.* Create powerful concurrent programs* Monitor concurrency using CommaIDE.* Create mini-languages* Use mini-languages that show off their possibilities* Create and process a mini-language for recipes.* Process recipes and generate reports.Resume common language patterns. * Convert grammar into a full recipe-processing application that generates HTML or other external format.* Fun one-liners* How do I write a guessing name in a single line of code.* How do I compute the nth element in a sequence with a single line.How do I perform system administration task repeatedly using a single line of code.

Regulärer Preis: 62,99 €
Produktbild für Einstieg in Java mit Eclipse

Einstieg in Java mit Eclipse

EINSTIEG IN JAVA MIT ECLIPSE //- Einrichtung der Entwicklungsumgebung (Java, Eclipse)- Grundlagen der objektorientierten Programmierung- Einführung in Eclipse- Beschreibung der Java-Sprachelemente (Variablen, Anweisungen, einfache Datentypen, Klassen und Objekte, Aufzählungen, Arrays, Methoden, Operatoren, Verzweigungen, Schleifen, Pakete und Module)- Überblick über die Plattform Java (Bytecode, Laufzeitumgebung mit Garbage Collector, Interpreter und JIT-Compiler, Klassenbibliotheken)- Beispiele und ein Bonuskapitel unter plus.hanser-fachbuch.deBernhard Steppan hat mit diesem Buch einen ausführlichen Einstieg in Java mit Eclipse geschrieben. Das Buch ist vor allem für Leser ohne Programmierkenntnisse geeignet.Der erste Teil des Buches vermittelt das Java- und Eclipse-Basiswissen und führt in die objektorientierteProgrammierung ein.Im zweiten Teil dreht sich alles um die Feinheiten der Sprache Java. Hier entstehen die ersten kleinen Java-Anwendungen. Jedes Kapitel bietet eine Mischung aus Wissensteil und praktischen Übungen und endet mit Aufgaben, die Sie selbstständig durchführen können.Die Technologie Java bildet den Schwerpunkt des dritten Teils. Zudem werden Ihnen Klassenbibliotheken und Algorithmen vorgestellt.Ein größeres Java-Projekt steht im Mittelpunkt des vierten Teils. Anhand einer Anwendung mit grafischer Oberfläche werden Sie hier alle Elemente der vorigen Teile kennenlernen.Im fünften Teil nden Sie die Lösungen zu den Aufgaben im zweiten und dritten Teil des Buches.Ein Buch für alle, die die Java-Programmierung mithilfe der Eclipse-Entwicklungsumgebung erlernenund beherrschen wollen.AUS DEM INHALT //- Programmiergrundlagen- Objektorientierte Programmierung- Entwicklungsumgebung- Programmaufbau- Variablen- Anweisungen- Einfache Datentypen- Klassen und Objekte- Aufzählungen- Arrays- Methoden- Operatoren- Verzweigungen- Schleifen- Pakete und Module Bernhard Steppan ist ein Java-Entwickler der ersten Stunde und hat mehrere C++- und Java-Bücher geschrieben sowie zahlreiche Artikel verfasst. Er arbeitet als IT-Chefarchitekt bei DB Systel, dem Systemhaus der Deutschen Bahn.

Regulärer Preis: 29,99 €
Produktbild für Einstieg in SwiftUI

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.

Regulärer Preis: 34,99 €
Produktbild für C++ mit Visual Studio 2019 und Windows Forms-Anwendungen

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 jahre­langen 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ösun­gen 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.

Regulärer Preis: 59,99 €
Produktbild für Modern Arm Assembly Language Programming

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

Regulärer Preis: 62,99 €
Produktbild für Learn PHP 8

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

Regulärer Preis: 46,99 €
Produktbild für Beginning C++20

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)

Regulärer Preis: 66,99 €
Produktbild für PyTorch für Deep Learning

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.

Regulärer Preis: 34,90 €
Produktbild für Programmieren ganz einfach

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. 

Regulärer Preis: 24,95 €
Produktbild für C Programming For Dummies

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

Regulärer Preis: 22,99 €
Produktbild für Intermediate C Programming for the PIC Microcontroller

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.

Regulärer Preis: 62,99 €
Produktbild für SAP Interactive Forms by Adobe

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

Regulärer Preis: 89,90 €