Software
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
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.
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
Die UNIX-Story
Ein Betriebssystem, das die IT-Welt am Laufen hält. Die faszinierende Geschichte, wie Unix begann und wie es die Computerwelt eroberte.Brian W. Kernighan war in der Entwicklung von UNIX beteiligt. In diesem kurzen Band erzählt er eine umfassende Geschichte des äußerst einflussreichen und weit verbreiteten Betriebssystems und erzählt aus einer persönlichen Perspektive von den Anfängen. Unix war in seinen frühen Tagen weitgehend das Produkt von Kernighans Kollegen Ken Thompson und Dennis Ritchie von den Bell Labs. Aber Kernighan leistete fast von Anfang an aktive Beiträge. Sein persönliches Wissen verleiht dem Buch einen großen Wert. Kernighan schafft eine gelungene Balance zwischen »offizieller Geschichte« und seinem eigenen Engagement während der Entwicklung von UNIX. Die Konzepte, die mit UNIX und seinem Ökosystem zusammenhängen, erklärt er klar und methodisch. »Die UNIX-History« ist ein kurzweiliges Buch für alle, die mehr über die Geschichte hinter der Geschichte von UNIX erfahren wollen. Mit Insider-Storys und technischen Erklärungen bekommt man einen ganz neuen Blick auf UNIX und auf die Entwicklung von Betriebssystemen.Leseprobe (PDF-Link)
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
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.
Basiswissen Medizinische Software (3. Auflg.)
Das Basiswerk für die Entwicklung von Software als Medizinprodukt. 3. überarbeitete und aktualisierte Auflage.Dieses Buch beschreibt den gesamten Lebenszyklus von Software als Medizinprodukt. Es deckt den kompletten CPMS-Lehrplan (Foundation Level) ab und ergänzt ihn durch weitere Informationen. Behandelt werden im Einzelnen:Rechtliche GrundlagenQualitäts- und Dokumentenmanagement (ISO 13485)Risikomanagement und -analyse (ISO 14971)Best Practices des Software Engineering (IEC 62304)Gebrauchstauglichkeit (Benutzungsschnittstellen und IEC 62366)Medizinische InformatikIT-Sicherheit bei MedizinproduktenDas Buch eignet sich zur individuellen Vorbereitung auf die CPMS-Zertifizierungsprüfung und als Begleitliteratur zu den entsprechenden Vorbereitungsschulungen.Die 3. Auflage wurde komplett überarbeitet und beinhaltet den aktuellen Stand der Normen und Richtlinien für die Medizintechnik.Über die Autoren:Professor Christian Johner unterrichtete an mehreren Hochschulen u.a. in Konstanz, Würzburg, Krems, St. Gallen und Stanford Software Engineering, Softwarearchitektur, Softwarequalitätssicherung und Medizinische Informatik. Am „Johner Institut“ bildet der promovierte Physiker im Rahmen von berufsbegleitenden Masterstudiengängen und Seminaren Personen aus, die IT-Lösungen für das Gesundheitswesen entwickeln, prüfen, anwenden und betreiben. Mit seiner Firma berät er Medizinproduktehersteller bei der Entwicklung, Qualitätssicherung und Zulassung von medizinischer Software.Matthias Hölzer-Klüpfel studierte Physik an der Universität Würzburg. Seit 2002 ist er als Entwickler, Berater und Projektleiter tätig. Er führte zahlreiche Medizintechnikprojekte durch und war dabei sowohl bei KMU-Firmen als auch in Großunternehmen im Einsatz. Heute ist er freiberuflicher Berater und unterstützt seine Kunden bei Fragen rund um die Software- und Systementwicklung in der Medizintechnik. Neben seinen beruflichen Tätigkeiten schloss er im Juli 2009 den Masterstudiengang „IT im Gesundheitswesen“ ab. Matthias Hölzer-Klüpfel ist Mitbegründer des Vereins „ICPMSB e.V.“, der die Grundlagen für die Zertifizierungen zum „Certified Professional for Medical Software“ erarbeitet, und Vorsitzender des Richtlinienausschusses „Medical SPICE“ im Verein Deutscher Ingenieure (VDI.)Sven Wittorf hat Elektro- und Informationstechnik an der TU Darmstadt studiert und einen Abschluss als Master of Science im Bereich IT im Gesundheitswesen. Er betreute und schulte Medizinproduktehersteller unterschiedlicher Größe beim Aufsetzen von deren Softwarentwicklungsprozessen. Seit 2012 ist er Geschäftsführender Gesellschafter der Medsoto GmbH, die Softwarewerkzeuge zur Unterstützung des normenkonformen und effizienten Arbeitens in der Medizintechnik erstellt und deren Einführung in Unternehmen begleitet. Er ist Gründungsmitglied des ICPMSB e. V. und Mitglied im nationalen Normungsgremium der IEC 62304 sowie im VDI Fachausschuss „Qualitätssicherung für Software in der Medizintechnik“.
Practical System Programming with C
This book teaches system programming with the latest versions of C through a set of practical examples and problems. It covers the development of a handful of programs, implementing efficient coding examples.Practical System Programming with C contains three main parts: getting your hands dirty with multithreaded C programming; practical system programming using concepts such as processes, signals, and inter-process communication; and advanced socket-based programming which consists of developing a network application for reliable communication.You will be introduced to a marvelous ecosystem of system programming with C, from handling basic system utility commands to communicating through socket programming. With the help of socket programming you will be able to build client-server applications in no time.The “secret sauce” of this book is its curated list of topics and solutions, which fit together through a set of different pragmatic examples; each topic is covered from scratch in an easy-to-learn way. On that journey, you’ll focus on practical implementations and an outline of best practices and potential pitfalls. The book also includes a bonus chapter with a list of advanced topics and directions to grow your skills.WHAT YOU WILL LEARN* Program with operating systems using the latest version of C * Work with Linux* Carry out multithreading with C Examine the POSIX standards* Work with files, directories, processes, and signals* Explore IPC and how to work with itWHO THIS BOOK IS FORProgrammers who have an exposure to C programming and want to learn system programming. This book will help them to learn about core concepts of operating systems with the help of C programming..Sri Manikanta Palakollu is a programmer and software developer with experience in C, C++, Java, and Python as well as Linux, POSIX, and other operating system-level programming. He is a tech reviewer for various tech book publishers. Sri also contributes to various open source projects.1. Introduction to Linux Environment• Getting familiar with Linux Kernel• Linux Kernel V/S Other OS Kernels.• File Handling Utilities• Process Utilities• Network Utilities• Backup Utilities.2. Implementation of Multithreading with C• Introduction to Threads• Threads V/S process• Introduction to Multithreading.• Importance of Multithreading.• Support of Multithreading in C• Creation of threads.• Practical Examples of Multithreading.• Use cases of Multithreading.3. Getting Started with System Programming• Understanding the POSIX Standard.• Introduction to API’s• Importance of API’s• Inbuilt API’s in C4. Files and Directories• Basic concepts in files• Files meta i-nodes• System Calls for Files• I/O Operations for Files• File Permissions.• Soft and Hard Links• System call for Directories.5. Processes and Signals• Introduction to process Environment• Environment Variables• Kernel Support for Processes• Process Creation• Concept of the Zombie process• Concept of Orphan Process• System Calls for Process management• Introduction to Signals• System calls for signals• Types of Signals6. Inter process Communication (IPC)• Introduction to IPC• Types of IPC• Creation of Named PIPES• Creation of UN-Named PIPES• Concept of Message Queues• Implementation of Message Queues• Concept of Semaphore• Implementation of Semaphore.• API for Named and unnamed PIPES• API for Message Queues• API for Semaphore.7. Shared Memory• Introduction to Shared Memory.• Kernel Support for Shared Memory.• Implementation of Shared Memory.• API for Shared Memory.8. Socket Programming• Introduction to Sockets• IPC Over Networks• API for Socket Programming• OSI Layer Protocol• TCP/IP Protocol• Client Server Architecture.• System calls for Socket Programming.• Implementation of Single Client Server Architecture.• Implementation of Multiple Client Server Architecture.9. Advanced Topics and Directions.
Practical Glimpse
Learn how to edit images and create compelling digital art with Glimpse, the newest open source alternative to Adobe Photoshop and GIMP. This book explores Glimpse's broad selection of tools and features that can create beautiful (raster) digital art; painting, drawings, and art created from photos by applying one of the many filters to create artistic effects.You will quickly become acquainted with this powerful program and understand how to use workspace tools and layers. You will learn step-by-step how to correct exposure, digitally retouch and repair damaged photos, and handle just about any photo editing task—even colorizing grayscale images. Practice files are provided with step-by-step instructions to jump into photo editing and art creation.Glimpse is a powerful program that is a viable alternative to Adobe Photoshop and other proprietary software. The possibilities of the art one can create are almost limitless—get started with it using this book today.WHAT YOU'LL LEARN* Navigate the Glimpse workspace* Use layers, which are essential in any professional quality image editing program* Work with the varied tools that Glimpse offers* Enhance, retouch, and modify digital images* Restore and repair damaged family photos, and create composites such as replacing backgrounds* Create compelling digital artwork using the drawing tools and by applying artistic filtersWHO THIS BOOK IS FORAnyone desiring to learn serious image editing with Glimpse. It can be used by both fledgling and professional photographers, freelance graphic designers, students, genealogists, and more. Because it’s free, it can be especially advantageous to teachers, students, and small business owners on a budget.PHILLIP WHITT is an author, photo retouch professional and graphic designer. He is the author of several Apress books and video tutorials pertaining to image editing using GIMP and Adobe Photoshop Elements. He has edited, retouched, and restored countless digital images since the late 1990s. He has served both clients from the general public and a number of commercial clients over the years. In addition to over 20 years of image editing and graphic design experience, he also has an Expert Rating Certification in Adobe Photoshop Skills, and VTC certifications in GIMP and Scribus.PART I. ACQUIRING, INSTALLING, AND GETTING TO KNOW GLIMPSE1. An Overview of Glimpse2. Layers, Channels, Paths, and Undo History3. An Overview of the ToolsPART II. WORKING WITH DIGITAL PHOTOS4. Correcting Exposure and Contrast5. Enhancing, Correcting, and Working with Color6. Modifying, Retouching, and Restoring Photos7. Compositing ImagesPART III. CREATING DIGITAL ART.8. Drawing Basics9. Creating Digital Artwork.10. Using Artistic Filters
Systems and Network Infrastructure Integration
IT infrastructures are now essential in all areas and sectors of human activity; they are the cornerstone of any information system. Thus, it is clear that the greatest of care must be given to their design, implementation, security and supervision in order to ensure optimum functionality and better performance. Within this context, Systems and Network Infrastructure Integration presents the methodological and theoretical principles necessary to successfully carry out an integration project for network and systems infrastructures. This book is aimed at anyone interested in the field of networks in general. In particular, it is intended for students of fields relating to networks and computer systems who are called upon to integrate their knowledge and skills, gained throughout their academic study, into a comprehensive project to set up a complete infrastructure, while respecting the necessary specifications.SAIDA HELALI is a university lecturer in Information Technology (specializing in networks and information systems) at the Institut Supérieur des Etudes Technologiques de Radès (Tunisia). He holds an ACREDITE master's degree (Analysis, Conception and Research in the Domain of Educational Technology Engineering), which was jointly awarded by the Université de Cergy-Pontoise (France), the Université de MONS (Belgium) and the Université de Genève (Switzerland). In 2017, he was chair of the Tunisian branch of the IEEE Education Society and he is also an acting member of AIPU TUNISIE, an international association about university pedagogy.Preface ixCHAPTER 1. INTRODUCTION TO PROJECT MANAGEMENT 11.1. Introduction 11.2. Project management 21.3. Project management methods and tools 31.3.1. Gantt diagram 51.3.2. RACI (Responsible, Accountable, Consulted, Informed) matrix 51.3.3. The concept of specifications 61.4. Chapter summary 8CHAPTER 2. SIMULATING NETWORK ARCHITECTURES WITH GNS3 92.1. Introduction 92.2. Definition 102.3. Introduction to GNS3 112.3.1. Functionalities of GNS3 122.3.2. Limitations 122.3.3. GNS3 installation 122.3.4. Getting started with GNS3 132.4. Chapter summary 25CHAPTER 3. GREEN IT 273.1. Introduction 273.2. Introduction of concept 283.3. Green IT trigger factors 293.4. Benefits of Green IT 293.5. The lifecycle of ICTs 303.6. Mechanisms and technical solutions for the implementation of a Green IT infrastructure 313.7. Green IT labels and standards 333.8. Some examples of Eco-ICTs 343.9. Chapter summary 36CHAPTER 4. DESIGN OF NETWORK INFRASTRUCTURES 374.1. Introduction 374.2. The founding principles of networks 384.2.1. Definition and preliminaries 384.2.2. Classification of digital data networks 394.2.3. Components of a network 404.2.4. Measuring network performance 454.2.5. Concepts of collision domain/broadcast domain and VLANs 474.3. Methods and models of IT network design 484.3.1. Principles of structured engineering 484.4. Assessment of needs and choice of equipment 544.5. Chapter summary 56CHAPTER 5. NETWORK SERVICES 575.1. Introduction 575.2. DHCP service 585.2.1. Introduction 585.2.2. Operating principle 585.2.3. Renewal of lease 625.2.4. The concept of a DHCP relay 625.3. DNS service 635.3.1. Introduction 635.3.2. Operating principle 635.4. LDAP service 665.4.1. Introduction 665.4.2. LDAP protocol 675.4.3. LDAP directory 685.5. E-mail service 705.5.1. Introduction 705.5.2. Architecture and operating principle. 715.5.3. Protocols involved 725.6. Web server 735.6.1. Introduction 735.6.2. Operating principle 735.6.3. The principle of virtual hosting 745.7. FTP file transfer service 765.7.1. Definition 765.7.2. Operating principle 775.7.3. Types 775.8. Chapter summary 78CHAPTER 6. SYSTEM AND NETWORK SECURITY 796.1. Introduction 796.2. Definitions, challenges and basic concepts 806.3. Threats/attacks 826.3.1. Access attacks 826.3.2. Modification attacks 836.3.3. Saturation attacks 836.3.4. Repudiation attacks 836.4. Security mechanisms 836.4.1. Encryption tools 846.4.2. Antivirus programs 846.4.3. Firewalls/IDS and IPS 846.4.4. VPNs 866.4.5. Other means of security 896.5. Security management systems: norms and security policies 916.5.1. Norms 916.5.2. The idea of security policy 926.6. Chapter summary 93CHAPTER 7. VIRTUALIZATION AND CLOUD COMPUTING 957.1. Introduction 957.2. Virtualization 967.2.1. Definition 967.2.2. Benefits of virtualization 967.2.3. Areas of application 977.2.4. Categories of virtualization 1007.2.5. Limits of virtualization 1037.3. Cloud computing 1037.3.1. Definitions 1037.3.2. Leverage factors and generic principles 1047.3.3. Architecture models 1047.3.4. Types of cloud 1077.3.5. Areas of application 1097.3.6. Advantages and limitations 1107.4. Chapter summary 111CHAPTER 8. QUALITY OF SERVICE AND HIGH AVAILABILITY 1138.1. Introduction 1138.2. Quality of service 1148.2.1. Motivation 1148.2.2. Definition(s) 1158.2.3. Objectives of QoS 1168.2.4. Metrics of QoS 1178.2.5. General principles of QoS 1188.2.6. QoS mechanisms 1208.3. High availability 1418.3.1. Redundancy in the physical layer 1438.3.2. Redundancy in the data link layer 1438.3.3. Redundancy in the network layer 1498.3.4. Redundancy in the application layer 1548.4. Chapter summary 156CHAPTER 9. MONITORING SYSTEMS AND NETWORKS 1579.1. Introduction 1579.2. Main concepts of network and service supervision 1589.2.1. Definition 1589.2.2. Challenges of monitoring 1589.2.3. Typology 1599.3. Monitoring protocols 1619.3.1. SNMP protocol (Simple Network Management Protocol) 1619.3.2. WMI (Windows Management Instrumentation) 1649.3.3. WS-Management (Web Services for Management) 1649.3.4. IPMI (Intelligent Platform Management Interface) 1649.3.5. NetFlow/IPFIX 1659.3.6. Netconf 1659.4. Monitoring tools 1659.4.1. Commercial monitoring solutions (HP OpenView, Tivoli) and software publisher solutions 1669.4.2. Free monitoring solutions 1679.5. Chapter summary 171References 173Index 179
VBA-Kochbuch für Excel-Anwender
- Praxistaugliche VBA-Rezepte für den Alltag- Schnelle und effiziente Lösungen zum Nachschlagen- Mit zahlreichen Beispielen und Tipps - auch zum DownloadSie arbeiten mit Excel, nutzen gelegentlich auch Makros und VBA (Visual Basic for Applications) – und manchmal fehlen Ihnen dabei Ideen zur Herangehensweise? Dann leistet Ihnen diese Rezeptsammlung als Nachschlagewerk gute Dienste, wenn es darum geht, wiederkehrende Aufgaben schnell und einfach mit VBA umzusetzen. Die Autoren halten sich nicht mit umständlichen Erklärungen auf, sondern präsentieren Ihnen Basisrezepturen für den Alltag sowie viele appetitanregende Beispiele. Sie würzen ihre Erläuterungen mit praktischen Tipps zum Nachkochen und zur Verwendung von individuellen Zutaten. Zudem servieren sie Ihnen Spezialitäten wie z. B. eigene Formulare, die Steuerung von Diagrammelementen oder die Datenübergabe an Word und PowerPoint. Stellen Sie sich also Ihr eigenes VBA-Menü zusammen und freuen Sie sich auf gut nachvollziehbare Anleitungen! Alle Rezepte stehen auch zum Download für Sie bereit.
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:
Essential Excel 2019
Create, edit, sort, analyze, summarize, and format data as well as graph it in Excel 2019. Chock full of visuals, user-friendly instructions, and reader exercises, this in-depth guide makes it easy for you to get on the bandwagon taking advantage of this powerful software and what it can do. ESSENTIAL EXCEL 2019 doesn’t mess around. It provides the most clear and concise, but complete, information you need to successfully use the expansive features of Excel in your work environment.The second edition of this soup-to-nuts book delivers essential how-to and reference information for users who are new to Excel, those who want to continue building their Excel skills, or anyone who wants to get up to speed on the latest changes and features in Excel 2019. It is heavy on the practical examples and light on the theory, providing a step-by-step process of what you need to do when you are working with Excel. You will begin with the basics, advancing as each chapter builds on knowledge from previous chapters. You will appreciate real-life examples and exercises that reinforce what you have learned, and upon finishing the book, you will have the confidence to use much more than the typical 10% that most people use in Excel.WHAT YOU WILL LEARN* Create amazing visualizations of your data* Get up to speed on easy and accurate methods for entering data* Extract the information you want from imported data; manipulate and format it to meet your needs* Export your results to other programs or share with others in the cloud* Organize, summarize, filter, and consolidate your data in multiple ways* Audit, validate, and protect your dataWHO THIS BOOK IS FORAnyone new to Excel or looking to take better advantage of the advanced features of the platformDAVID SLAGER has been a computer programmer for four decades, with a focus on Excel. He also was head of the computer department of a college for many years. He is currently a software manager. David has worked with spreadsheets since their introduction. As a consultant, he developed major e-learning training projects for agriculture and steel businesses and designed a simulation program that trained feed market managers to use analytics to improve their market position. He enjoys working with analytics and solving problems and has taught learners of all ages and levels. David holds an MS in Education, specializing in Instructional Media Development, a BA in Organizational Management, and an associate’s degree in Accounting, as well as many certifications.ANNETTE SLAGER has been involved in data management and employee training in the non-profit and higher education sectors. She has been responsible for coordinating donor stewardship events and processes, and in overseeing information entered into the donor/alumni data system. She has transitioned systems from manual accounting and processing to shared databases, and created learning manuals and training for employees. Annette has a bachelor’s degree in English Literature and a post-baccalaureate certificate in Technical Writing.Chapter 1 – Becoming Acquainted with ExcelChapter 2 – Navigating and Working with WorksheetsChapter 3 – Best Ways to Enter Data and Edit DataChapter 4: Formatting and Aligning DataChapter 5: Different Ways of Viewing and Printing Your WorkbookChapter 6: Understanding BackstageChapter 7: Creating and Using FormulasChapter 8: Excel’s Pre-existing FunctionsChapter 9: Auditing, Validating, and Protecting Your DataChapter 10: Using Hyperlinks, Combining Text, and Working with theStatus BarChapter 11: Transferring and Duplicating Data to Other LocationsChapter 12: Working with TablesChapter 13: Working with ChartsChapter 14: Importing DataChapter 15: Using PivotTables and PivotChartsChapter 16: Geography and Stock Data TypesChapter 17: Enhancing Workbooks with MultimediaChapter 18: Icons, 3D Images and Object GroupingChapter 19: Automating Tasks with Macros
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
Affinity Photo 1.8 (2. Auflg.)
Praxiswissen für EinsteigerWinfried Seimert zeigt Ihnen, wie Sie Affinity Photo in der aktuellen Version 1.8 bestmöglich nutzen und eigene Fotos bearbeiten können. Der Schwerpunkt liegt dabei auf elementaren Arbeitsweisen, die im Alltag am häufigs-ten eingesetzt werden. Dabei geht der Autor Schritt für Schritt vor und erklärt die Funktionen anhand von leicht verständlichen Beispielen.Zuerst erfahren Sie, wie die Fotos Ihrer Kamera mit ein paar schnellen Klicks am Bildschirm optimieren können. Danach lernen Sie u.a., wie Sie Ihre Bilder freistellen, um nur bestimmte Bereiche zu bearbeiten, und wie Sie sinnvoll mit Ebenen arbeiten. Sie lernen Gradationskurven zu lesen und die Belichtung, den Kontrast und den Weißabgleich Ihrer Fotos zu verbessern. Außerdem demonstriert Winfried Seimert Ihnen, wie Sie trübe Himmel aufhübschen, unerwünschte Bildteile entfernen oder Fotomontagen vornehmen.Sie erhalten eine Fülle an grundlegendem Wissen, so dass Sie zukünftig problemlos selbstständig mit Affinity Photo arbeiten und Ihrer Kreativität freien Lauf lassen können.Aus dem Inhalt:Basiswissen: Benutzeroberfläche, Einstellungen und TastenkombinationenHilfslinien und Raster verwendenBildgröße anpassen und Bilder ausrichtenFarbanpassung vornehmen und Farbmodelle verstehenFreistellen und SeparierenArbeiten mit Ebenen: Zeichenobjekt-, Text-, Füllungs-, Maskierungs-, Anpassungs- und Live-FilterebenenSchnelle automatische sowie manuelle BildoptimierungSpezialeffekte und Filter einsetzen: Scharfzeichnen, Verzerren, Färben u.v.m.Fotomontagen, Bildretusche, Schönheitskorrekturen, Restaurieren und PanoramenÜber den Autor:Winfried Seimert ist IT-Dozent und Autor zahlreicher Fachbücher insbesondere zu den Themen Software und Betriebssysteme. Dabei hat er immer den Komfort des Anwenders im Blick und erklärt entsprechend praxisnah. So erfreuen sich seine Bücher aufgrund ihrer durchdachten Strukturierung bereits seit Mitte der neunziger Jahre großer Beliebtheit.
Office 2019 und Windows 10: Der leichte Umstieg
Die verständliche Anleitung für Windows-Anwender:- Neuerungen schnell verstehen und gezielt einsetzen.- Alle Änderungen in Word, Excel, PowerPoint & Outlook 2019 im Griff.Lernen Sie alle Neuerungen, Änderungen und Besonderheiten von Windows 10 sowie der Office-2019-Programme kennen! Dieses Buch richtet sich an den erfahrenen Nutzer. Es hält Sie also nicht mit bekannten Grundlagen auf, sondern vermittelt kompakt den Umgang mit dem aktuellen Windows-Betriebssystem und den neuen Features von Word, Excel, Outlook und PowerPoint. Übersichtlich und anschaulich aufbereitet erfahren Sie, wo Sie gewohnte Befehle finden, welche Möglichkeiten die neuen Funktionen eröffnen und wie Sie die Benutzeroberfläche individuell anpassen. Optimieren Sie Ihre Arbeitsabläufe mit Office 2019 und Windows 10 und werden Sie mithilfe dieses Buchs noch effizienter!Aus dem Inhalt: Zu Windows 10:- Das neue Startmenü individuell gestalten- Die Suchfunktion – bequem und unkompliziert- So passen Sie die Benutzeroberfläche an Ihre Bedürfnisse an- Bekannte Einstellungen schnell auffinden und neue gezielt nutzen- Datenschutz und Sicherheit- Mit dem Info-Center auf dem Laufenden bleiben - Meldungen zu Sicherheitsproblemen oder Terminerinnerungen erhalten- Mehrere Desktops nutzen Zu Office 2019:- Dateien im Team bearbeiten- Neue grafische Gestaltungsmöglichkeiten mit Piktogrammen und 3D-Modellen- Word: im Handumdrehen ansprechende Dokumente mit Formatvorlagen erstellen- Excel: neue komfortable Berechnungsfunktionen und Diagrammtypen- Outlook: mit Popups eine übersichtliche Zusammenstellung aller Termine, Aufgaben und favorisierten Kontakte erhalten- PowerPoint: Folienobjekte morphen, Präsentationsablauf mit Zoom steuern und Vorführen in der Referentenansicht
Photoshop Elements 2021 For Dummies
GET PICTURE-PERFECT RESULTS WITH PHOTOSHOP ELEMENTS 2021Photoshop Elements has a reputation for delivering the photo editing power that non-professional photographers and designers need to get eye-catching—and art-quality—results. This book offers guidance for applying everything from simple, one-click fixes all the way up to detailed retouching of your images.Photoshop Elements 2021 For Dummies assumes no prior photo-editing experience and makes it easy for even the absolute beginner to quickly grasp how to edit to create slick, professional-looking photos. In no time at all you’ll feel confident in everything from common image fixes to utilizing more creative techniques, such as using image layers to create a standout look. You’ll also find tips on building and managing complex photo projects.* Understand photo-editing concepts* Adjust clarity, color, and brightness* Add artistic touches* Catalog and organize your workThis fun and easy guide provides the steps you need to get the most out of this popular version of Photoshop—and will help you achieve truly beautiful results!BARBARA OBERMEIER is the principal of Obermeier Design as well as an adjunct professor at California Lutheran University. TED PADOVA is adjunct professor of visual arts and digital photography at Sillman University in Dumaguete, Philippines. Barbara and Ted are the authors or coauthors of more than 90 books. INTRODUCTION 1About This Book 1Icons Used in This Book 2Beyond the Book 3Where to Go from Here 3PART 1: GETTING STARTED WITH PHOTOSHOP ELEMENTS 2021 5CHAPTER 1: GETTING STARTED WITH IMAGE EDITING 7Getting Familiar with the Home Screen 7Launching the Photo Editor 9Making Basic Edits in Quick Mode 10Sharing a Photo 12Retracing Your Steps 14Using the History panel 14Reverting to the last save 15Getting a Helping Hand 15Saving Files with Purpose 17Using the Save/Save As dialog box 17Saving files for the web 19CHAPTER 2: BASIC IMAGE-EDITING CONCEPTS 21Grappling with the Ubiquitous Pixels 22Understanding resolution 22Understanding image dimensions 25The Art of Resampling 25Choosing a Resolution for Print or Onscreen 28Working with File Formats 28JPEG (*.jpg, *.jpeg, *.jpe) 28PNG (*.png) 30TIFF (*.tif, *.tiff) 30Getting Familiar with Color 31Getting Color Right 32Color the easy way 33Calibrating your monitor 33Choosing a color workspace 34Understanding how profiles work 35CHAPTER 3: EXPLORING THE PHOTO EDITOR 37Examining the Photo Editor 37Examining the image window 41Uncovering the contextual menus 45Selecting the tools 45Selecting from the Tool Options 48Playing with panels 48Using the Photo Bin 51Creating different views of an image 52Viewing filenames 52Using Photo Bin Actions 53Finding Your Bearings in Guided Mode 53Controlling the Editing Environment 55Launching and navigating Preferences 55Checking out all the Preferences panes 56PART 2: MANAGING MEDIA 61CHAPTER 4: NAVIGATING THE ORGANIZER 63Organizing Photos and Media on a Hard Drive 64Adding Images to the Organizer 65Adding files from folders and removable media 65Downloading camera images with the Elements Downloader 67Importing additional photos from folders 69Navigating the Media Browser 71Using a Scanner 72Understanding image requirements 72Using scanner plug-ins (Windows) 73Scanning on the Mac 75Scanning many photos at a time 75Phoning in Your Images 76Setting Organizer Preferences 78CHAPTER 5: ORGANIZING YOUR PICTURES 81Touring the Organizer 81Organizing Groups of Images with Tags 85Creating and viewing a tag 85Adding icons to tags 87Working with custom tags 88Working with default tags 90Working with sub-categories 90Sorting photos according to tags 91Auto Curating Images 92Working with Auto Creations 92Adding new Events 93Rating Images with Stars 93Adding Images to an Album 94Creating an album 94Using albums for temporary work 97Editing an album 97Finding out more about sharing your albums 98Adding People in the Media Browser 98Placing Pictures on Maps 100Working with Events 102CHAPTER 6: VIEWING AND FINDING YOUR IMAGES 105Cataloging Files 105Using the Catalog Manager 106Working with catalogs 107Backing up your catalog 108Backing up photos and files 109Switching to a Different View 110Viewing Photos in Memories (Slideshow) 111Searching for Photos 113Using Search 113Searching for untagged items 115Searching captions and notes 115Searching by history 116Searching metadata 116Searching similarities 118Grouping Files That Get in the Way 119Marking files as hidden 119Stackin’ ’em up 120Creating versions 121PART 3: SELECTING AND CORRECTING PHOTOS 123CHAPTER 7: EDITING CAMERA RAW IMAGES 125Launching the Camera Raw Editor 126Understanding Camera Raw 127Learning Raw file format attributes 128Opening images in the Camera Raw Editor 129Getting Familiar with the Raw Editor 130Getting Familiar with the Panels 133Using the Basic panel 134Sharpening and reducing noise 137Using the Calibration panel 139Working with Filmstrips 140Synchronizing edits 141Synchronizing defaults 143Working with Profiles 143Looking at the Adobe Camera Raw profiles 144Managing profiles 145Creating a Favorites list 146Opening Non-Raw Images in the Camera Raw Editor 146Changing Image Defaults 147Working with XML Files and Preferences 147Changing program defaults 148Using Save Options 149Using sidecar files 149CHAPTER 8: MAKING AND MODIFYING SELECTIONS 151Defining Selections 151Creating Rectangular and Elliptical Selections 152Perfecting squares and circles with Shift and Alt (Option on the Mac) 154Applying Marquee options 154Making Freeform Selections with the Lasso Tools 156Selecting with the Lasso tool 157Getting straight with the Polygonal Lasso tool 159Snapping with the Magnetic Lasso tool 159Working Wizardry with the Magic Wand 162Talking about Tolerance 162Wielding the Wand to select 163Modifying Your Selections 165Adding to, subtracting from, and intersecting a selection 165Avoiding key collisions 166Painting with the Selection Brush 167Painting with the Quick Selection Tool 169Selecting with the Auto Selection Tool 171Selecting Your Subject 172Fine-Tuning with the Refine Selection Brush 174Working with the Cookie Cutter Tool 176Eliminating with the Eraser Tools 178The Eraser tool 178The Background Eraser tool 179The Magic Eraser tool 180Using the Select Menu 181Selecting all or nothing 181Reselecting a selection 181Inversing a selection 181Feathering a selection 182Refining the edges of a selection 182Using the Modify commands 184Applying the Grow and Similar commands 184Saving and loading selections 185CHAPTER 9: WORKING WITH LAYERS 187Getting to Know Layers 187Converting a background to a layer 188Anatomy of the Layers panel 189Using the Layer and Select menus 192Working with Different Layer Types 194Image layers 194Adjustment layers 195Fill layers 197Shape layers 198Type layers 199Tackling Layer Basics 199Creating a new layer from scratch 199Using Layer via Copy and Layer via Cut 201Duplicating layers 201Dragging and dropping layers 202Using the Paste into Selection command 202Moving a Layer’s Content 203Transforming Layers 204Adding Layer Masks 205Flattening and Merging Layers 208Flattening layers 208Merging layers 209CHAPTER 10: SIMPLE IMAGE MAKEOVERS 211Cropping and Straightening Images 211Cutting away with the Crop tool 212Fixing distortion with the Perspective Crop tool 214Cropping with a selection border 216Straightening images 216Recomposing Images 217Employing One-Step Auto Fixes 219Auto Smart Fix 220Auto Smart Tone 221Auto Levels 222Auto Contrast 223Auto Haze Removal 223Auto Color Correction 223Auto Shake Reduction 224Auto Sharpen 224Auto Red Eye Fix 225Editing in Quick Mode 227Fixing Small Imperfections with Tools 230Cloning with the Clone Stamp tool 231Retouching with the Healing Brush 233Zeroing in with the Spot Healing Brush 235Repositioning with the Content-Aware Move tool 237Lightening and darkening with Dodge and Burn tools 239Smudging away rough spots 240Softening with the Blur tool 242Focusing with the Sharpen tool 242Sponging color on and off 244Replacing one color with another 245CHAPTER 11: CORRECTING CONTRAST, COLOR, AND CLARITY 249Editing Your Photos Using a Logical Workflow 250Adjusting Lighting 251Fixing lighting with Shadows/Highlights 251Using Brightness/Contrast 252Pinpointing proper contrast with Levels 253Adjusting Color 255Removing color casts automatically 256Adjusting with Hue/Saturation 257Eliminating color with Remove Color 258Switching colors with Replace Color 259Correcting with Color Curves 262Adjusting skin tones 262Defringing layers 264Eliminating haze 266Adjusting color temperature with photo filters 267Mapping your colors 268Adjusting Clarity 269Removing noise, artifacts, dust, and scratches 270Blurring when you need to 271Sharpening for better focus 274Opening closed eyes 276Colorizing a photo 278Smoothing skin 279Adjusting facial features 280Reducing shake 281Moving Photos 282Working Intelligently with the Smart Brush Tools 284PART 4: EXPLORING YOUR INNER ARTIST 287CHAPTER 12: PLAYING WITH FILTERS, EFFECTS, STYLES, AND MORE 289Having Fun with Filters 289Applying filters 290Corrective or destructive filters 291One-step or multistep filters 291Fading a filter 292Selectively applying a filter 292Working in the Filter Gallery 293Distorting with the Liquify filter 295Correcting Camera Distortion 297Exploring Elements’ Unique Filters 298Creating a comic 299Getting graphic 300Using the Pen and Ink filter 301Dressing Up with Photo and Text Effects 302Adding Shadows, Glows, and More 304Applying styles 305Working with styles 306Using the Graphics panel 307Mixing It Up with Blend Modes 308General blend modes 309Darken blend modes 309Lighten blend modes 311Lighting blend modes 312Inverter blend modes 314HSL blend modes 314Using Photomerge 315Photomerge Panorama 316Photomerge Group Shot 318Photomerge Scene Cleaner 320Photomerge Exposure 321Photomerge Compose 323CHAPTER 13: DRAWING AND PAINTING 327Choosing Color 327Working with the Color Picker 328Dipping into the Color Swatches panel 329Sampling with the Eyedropper tool 331Getting Artsy with the Pencil and Brush Tools 332Drawing with the Pencil tool 332Painting with the Brush tool 334Using the Impressionist Brush 336Creating your own brush 337Filling and Outlining Selections 339Fill ’er up 339Outlining with the Stroke command 341Splashing on Color with the Paint Bucket Tool 342Working with Multicolored Gradients 343Applying a preset gradient 343Customizing gradients 345Working with Patterns 348Applying a preset pattern 348Creating a new pattern 349Creating Shapes of All Sorts 350Drawing a shape 350Drawing multiple shapes 352Specifying Geometry options 352Editing shapes 354CHAPTER 14: WORKING WITH TYPE 355Understanding Type Basics 355Tools 356Modes 356Formats 357Creating Point Type 358Creating Paragraph Type 359Creating Path Type 360Using the Text On Selection tool 360Using the Text On Shape tool 361Using the Text On Custom Path tool 363Specifying Type Options 364Editing Text 366Simplifying Type 367Masking with Type 368Stylizing and Warping Type 371Adjusting type opacity 371Applying filters to your type 372Painting your type with color and gradients 372Warping your type 374PART 5: PRINTING, CREATING, AND SHARING 375CHAPTER 15: GETTING IT ON PAPER 377Getting Pictures Ready for Printing 378Working with Color Printer Profiles 379Printing a photo with the printer managing color 381Printing a photo with Elements managing color 383Printing a picture package or contact sheet 384Getting Familiar with the Print Dialog Box 384Using the Prints options 384Creating transfers and more with More Options 386CHAPTER 16: SHARING YOUR WORK 389Getting Familiar with the Elements Sharing Options 389Planning ahead 390Understanding photo sharing in Elements 391Using the Share Panel 392Emailing photos 393Working with Adobe Premiere Elements 394Sharing your photos on social networks 395CHAPTER 17: MAKING CREATIONS 399Checking Out the Create Panel 399Grasping Creation-Assembly Basics 400Creating a Quote Graphic 404Creating a Memories Video 407Creating a PDF Slideshow 408Making Additional Creations 408PART 6: THE PART OF TENS 409CHAPTER 18: THE TEN BEST GUIDED EDITS 411Correct Skin Tone 411Sharpen 413Object Removal 414Perfect Portrait 416Replace Background 418Remove a Color Cast 421Levels 422Resize Your Photo 424Recompose 425Move & Scale Object 427CHAPTER 19: TEN (OR SO) MORE PROJECT IDEAS 431Screen Savers 431Flyers, Ads, and Online Auctions 432Clothes, Hats, and More 434Posters 435Household and Business Inventories 435Project Documentation 436School Reports and Projects 436Blogs 436Wait — There’s More 436Index 437
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
Vom Monolithen zu Microservices
Bestehende Systeme erfolgreich in eine Microservices-Architektur umgestaltenUnerlässliches Expertenwissen für Organisationen, die ihre Codebasis modernisieren wollen Autor des geschätzten Grundlagenwerks »Building Microservices« Orientierung und Anleitung für den anspruchsvollen Migrationsprozess Wie entflechtet man ein monolithisches System und überführt es in eine Microservices-Architektur? Und wie erhält man gleichzeitig den normalen Betrieb aufrecht? Sam Newman, Autor des viel beachteten Titels »Building Microservices«, beschreibt Szenarien und erprobte Strategien, um bestehende Systeme erfolgreich zu migrieren: von der ersten Planung bis zum Zerlegen von Anwendung und Datenbank. Newman greift hierbei auf viele anschauliche Beispiele zurück, stellt aufschlussreiche Pattern für die Migration vor und gibt praktische Ratschläge. Für Organisationen, die ihre Codebasis in Richtung einer Microservices-Architektur überführen und nicht komplett neu aufbauen wollen Unterstützt Unternehmen bei der Frage, ob und wann sie migrieren und wo sie konkret beginnen sollten Befasst sich mit der Integration und Migration von Legacy-Systemen und der Kommunikation mit diesen Systemen Stellt Migrationspattern vor und beschreibt, wo und wie sie am besten eingesetzt werden Bietet Beispiele für die Datenbankmigration und begleitende Synchronisationsstrategien Beschreibt das Zerlegen von Anwendungen einschließlich einer Reihe von Refaktorisierungspattern
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.
QuickBooks 2021 For Dummies
SAVE ON EXPENSIVE PROFESSIONALS WITH THIS TRUSTED BESTSELLER!Running your own business is pretty cool, but when it comes to the financial side—accounts and payroll, for instance—it's not so cool! That's why millions of small business owners around the world count on QuickBooks to quickly and easily manage accounting and financial tasks and save big time on hiring expensive professionals.In a friendly, easy-to-follow style, small business guru and bestselling author Stephen L. Nelson checks off all your financial line-item asks, including how to track your profits, plan a perfect budget, simplify tax returns, manage inventory, create invoices, track costs, generate reports, and pretty much any other accounts and financial-planning task that turns up on your desk!* Keep up with the latest QuickBooks changes* Use QuickBooks to track profits and finances* Balance your budget* Back up your data safelyThe fully updated new edition of QuickBooks For Dummies takes the sweat (and the expense) out of cooking the books—and gives you more time to savor the results of your labors!STEPHEN L. NELSON, MBA, CPA, MS in Taxation provides accounting, business advisory, tax planning, and tax preparation services to small businesses. His more than 100 books—including all editions of QuickBooks For Dummies, have sold over 5 million copies.INTRODUCTION 1About This Book 1Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 3Where to Go from Here 3PART 1: QUICKLY INTO QUICKBOOKS 5CHAPTER 1: QUICKBOOKS: THE HEART OF YOUR BUSINESS 7Why QuickBooks? 7Why you need an accounting system 8What QuickBooks does 9Why not QuickBooks online? 10What Explains QuickBooks’ Popularity? 11What’s Next, Dude? 12How to Succeed with QuickBooks 13Budget wisely, Grasshopper 13Don’t focus on features 14Outsource payroll 15Get professional help 16Use both the profit and loss statement and the balance sheet 16CHAPTER 2: THE BIG SETUP 17Getting Ready for QuickBooks Setup 17The big decision 18The trial balance of the century 19The mother of all scavenger hunts 21Stepping through QuickBooks Setup 23Starting QuickBooks 23Using the Express Setup 25The Rest of the Story 32Should You Get Your Accountant’s Help? 33CHAPTER 3: POPULATING QUICKBOOKS LISTS 35The Magic and Mystery of Items 35Adding items you might include on invoices 37Creating other wacky items for invoices 45Editing items 49Adding Employees to Your Employee List 49Customers Are Your Business 51It’s Just a Job 55Adding Vendors to Your Vendor List 59The Other Lists 63The Fixed Asset Item list 63The Price Level list 64The Billing Rate Levels list 64The Sales Tax Code list 65The Class list 65The Other Names list 65The Sales Rep list 66Customer, Vendor, and Job Types lists 66The Terms list 67The Customer Message list 67The Payment Method list 67The Ship Via list 68The Vehicle list 68The Memorized Transaction list 68The Reminders list 68Organizing Lists 69Printing Lists 69Exporting List Items to Your Word Processor 70Dealing with the Chart of Accounts List 70Describing customer balances 70Describing vendor balances 71Camouflaging some accounting goofiness 71Supplying the missing numbers 77Checking your work one more time 80PART 2: DAILY ENTRY TASKS 81CHAPTER 4: CREATING INVOICES AND CREDIT MEMOS 83Making Sure That You’re Ready to Invoice Customers 84Preparing an Invoice 84Fixing Invoice Mistakes 91If the invoice is still displayed onscreen 91If the invoice isn’t displayed onscreen 91Deleting an invoice 92Preparing a Credit Memo 92Fixing Credit Memo Mistakes 96Printing Invoices and Credit Memos 96Loading the forms into the printer 97Setting up the invoice printer 97Printing invoices and credit memos as you create them 100Printing invoices in a batch 101Printing credit memos in a batch 103Sending Invoices and Credit Memos via Email 104Customizing Your Invoices and Credit Memos 105CHAPTER 5: REELING IN THE DOUGH 107Recording a Sales Receipt 108Printing a Sales Receipt 112Special Tips for Retailers 114Correcting Sales Receipt Mistakes 115Recording Customer Payments 116Correcting Mistakes in Customer Payments Entries 121Making Bank Deposits 121Improving Your Cash Inflow 124Tracking what your customers owe 124Assessing finance charges 125Dealing with deposits 129CHAPTER 6: PAYING THE BILLS 131Pay Now or Pay Later? 131Recording Your Bills by Writing Checks 132The slow way to write checks 132The fast way to write checks 138Recording Your Bills the Accounts Payable Way 140Recording your bills 141Entering your bills the fast way 145Deleting a bill 146Remind me to pay that bill, will you? 147Paying Your Bills 149Tracking Vehicle Mileage 152Paying Sales Tax 153CHAPTER 7: INVENTORY MAGIC 155Setting Up Inventory Items 156When You Buy Stuff 157Recording items that you pay for up front 157Recording items that don’t come with a bill 157Paying for items when you get the bill 159Recording items and paying the bill all at once 161When You Sell Stuff 161How Purchase Orders Work 162Customizing a purchase order form 163Filling out a purchase order 163Checking up on purchase orders 166Receiving purchase order items 166Assembling a Product 167Identifying the components 167Building the assembly 168Time for a Reality Check 169Dealing with Multiple Inventory Locations 171Manually keep separate inventory-by-location counts 171Use different item numbers for different locations 172Upgrade to QuickBooks Enterprise Solutions 172The Lazy Person’s Approach to Inventory 173How periodic inventory systems work in QuickBooks 173The good and bad of a periodic inventory 174CHAPTER 8: KEEPING YOUR CHECKBOOK 175Writing Checks 175Writing checks from the Write Checks window 176Writing checks from the register 177Changing a check that you’ve written 179Packing more checks into the register 180Depositing Money in a Checking Account 181Recording simple deposits 181Depositing income from customers 182Transferring Money between Accounts 185Setting up a second bank account 185Recording deposits into the new account 185About the other half of the transfer 187Changing a transfer that you’ve already entered 187Working with Multiple Currencies 188To Delete or to Void? 188Handling NSF Checks from Customers 190The Big Register Phenomenon 190Moving through a big register 191Finding that darn transaction 191CHAPTER 9: PAYING WITH PLASTIC 193Tracking Business Credit Cards 193Setting up a credit card account 194Selecting a credit card account so that you can use it 195Entering Credit Card Transactions 196Recording a credit card charge 197Changing charges that you’ve already entered 199Reconciling Your Credit Card Statement and Paying the Bill 200So What about Debit and ATM Cards? 201So What about Customer Credit Cards? 201PART 3: STUFF YOU DO FROM TIME TO TIME 203CHAPTER 10: PRINTING CHECKS 205Getting the Printer Ready 205Printing a Check 208A few words about printing checks 209Printing a check as you write it 209Printing checks by the bushel 211What if I make a mistake? 214Oh where, oh where do unprinted checks go? 215Printing a Checking Register 215CHAPTER 11: PAYROLL 219Getting Ready to Do Payroll without Help from QuickBooks 219Doing Taxes the Right Way 220Getting an employer ID number 220Signing up for EFTPS 221Employees and employers do their part 221Getting Ready to Do Payroll with QuickBooks 221Paying Your Employees 223Paying Payroll Liabilities 226Paying tax liabilities if you use a full-meal-deal payroll service 226Paying tax liabilities if you don’t use a full-meal-deal payroll service 226Paying other nontax liabilities 227Preparing Quarterly Payroll Tax Returns 228Using the Basic Payroll service 228Using a full-meal-deal payroll service 228Using the QuickBooks Enhanced Payroll service 228Filing Annual Returns and Wage Statements 229The State Wants Some Money Too 230CHAPTER 12: BUILDING THE PERFECT BUDGET 231Is This a Game You Want to Play? 231All Joking Aside: Some Basic Budgeting Tips 232A Budgeting Secret You Won’t Learn in College 233Setting Up a Secret Plan 234Adjusting a Secret Plan 237Forecasting Profits and Losses 237Projecting Cash Flows 238Using the Business Planner Tools 238CHAPTER 13: ONLINE WITH QUICKBOOKS 239Doing the Electronic Banking Thing 239So what’s the commotion about? 239A handful of reasons to be cautious about banking online 240Making sense of online banking 243Signing up for the service 243Making an online payment 243Transferring money electronically 245Changing instructions 246Transmitting instructions 246Message in a bottle 247A Quick Review of the Other Online Opportunities 248PART 4: HOUSEKEEPING CHORES 249CHAPTER 14: THE BALANCING ACT 251Balancing a Bank Account 251Giving QuickBooks information from the bank statement 252Marking cleared checks and deposits 254Eleven Things to Do If Your Nononline Account Doesn’t Balance 258CHAPTER 15: REPORTING ON THE STATE OF AFFAIRS 263What Kinds of Reports Are There, Anyway? 263Creating and Printing a Report 266Visiting the report dog-and-pony show 268Editing and rearranging reports 269Reports Made to Order 272Processing Multiple Reports 275Your Other Reporting Options 275Last but Not Least: The QuickReport 276CHAPTER 16: JOB ESTIMATING, BILLING, AND TRACKING 279Turning On Job Costing 279Setting Up a Job 280Creating a Job Estimate 281Revising an Estimate 284Turning an Estimate into an Invoice 284Comparing Estimated Item Amounts with Actual Item Amounts 286Charging for Actual Time and Costs 287Tracking Job Costs 288CHAPTER 17: FILE MANAGEMENT TIPS 289Backing Up is (Not That) Hard to Do 289Backing up the quick-and-dirty way 291Getting back the QuickBooks data you backed up 296Using the Accountant’s Copy 298Working with Portable Files 299Using an Audit Trail 300Using a Closing Password 300CHAPTER 18: FIXED ASSETS AND VEHICLE LISTS 303What is Fixed-Assets Accounting? 303Fixed-Assets Accounting in QuickBooks 305Setting Up a Fixed Asset List 306Adding items to the Fixed Asset list 306Adding fixed-asset items on the fly 308Editing items in the Fixed Asset list 309Tracking Vehicle Mileage 310Identifying your vehicles 310Recording vehicle miles 312Using the vehicle reports 313Updating vehicle mileage rates 313PART 5: THE PART OF TENS 315CHAPTER 19: TIPS FOR HANDLING (ALMOST) TEN TRICKY SITUATIONS 317Tracking Depreciation 317Selling an Asset 318Selling a Depreciable Asset 319Owner’s Equity in a Sole Proprietorship 320Owner’s Equity in a Partnership 320Owner’s Equity in a Corporation 321Multiple-State Accounting 322Getting a Loan 323Repaying a Loan 323CHAPTER 20: (ALMOST) TEN SECRET BUSINESS FORMULAS 325The First “Most Expensive Money You Can Borrow” Formula 326The Second “Most Expensive Money You Can Borrow” Formula 328The “How Do I Break Even?” Formula 328The “You Can Grow Too Fast” Formula 331How net worth relates to growth 331How to calculate sustainable growth 332The First “What Happens If ?” Formula 333The Second “What Happens If ?” Formula 335The Economic Order Quantity (Isaac Newton) Formula 337The Rule of 72 338PART 6: APPENDIXES 341APPENDIX A: INSTALLING QUICKBOOKS IN TEN EASY STEPS 343APPENDIX B: IF NUMBERS ARE YOUR FRIENDS 347APPENDIX C: SHARING QUICKBOOKS FILES 365Index 375
Raku Recipes
Explore Raku problems and solutions using the latest version of the Raku programming language. In Raku Recipes, the emphasis is on applying Raku code to various important tasks and applications including data science, analytics, microservices, and desktop/console applications. There are also fun one-liner script recipes and instructions on how to create mini-languages of your very own.All in all, over 70 recipes cover a broad range of the tasks and problems encountered by a modern Raku developer. You’ll be able to solve problems starting from basics such as input/output and math, to more complex domains such as microservices web sockets, web hooks, and mini-bots.WHAT YOU WILL LEARN* Put Raku to use in a real world environment* Work with Raku modules, including design classes, roles, and more* Query a GeoIP database and extract information from the web* Carry out text processing such as creating a dictionary with fast searches over it and scraping markdown documents* Work with MongoDB, WikiData, and other data sources* Build data science and analytics applications using Raku* Integrate with Python, C, and other languages and libraries* Create mini-languages and shell scripting languages WHO THIS BOOK IS FORWhile some prior experience in Raku may be useful, it is not required. Prior programming experience using other scripting languages, such as Perl, is recommended, however.J.J. Merelo is a professor at the university of Granada, where he has been teaching since 1988. He has been using Perl since 1994, and Perl 6/Raku intensively since December 2016. He trains, teaches, and consults on Perl and Raku projects.* How do I start to put (Perl 6|Raku|Camelia) to use in a real world environment.* Get your tools ready.Put concepts from other languages to use in Perl 6. * Get involved in the community.* Install some external and useful modules.* Detect OS environment and change program behavior according to it.* Input and outputRead files handled as arguments * Read and process files asynchronously* Connect input and output of external utilities and files.* Read and process binary files.* Watch a file for changes* Data science and data analytics* How do I extract unique email addresses/user names from several files.* How do I create a weighted random number generator.How do I work with a spreadsheet, filtering by row or column, or sorting, or converting row into columns or the other way round. * How do I apply a series of transformations to a group of elements and then extract a single quantity from them.* How do I create a random data generator* How do I process big, structured files.* MathHow can you generate mathematical sequences and extract random elements from it. * Program a divide-and-conquer algorithm.* Work with matrices.* Compute Mandelbrot’s and Julia’s set* Look for pairs of integers with a certain property, such as friendly numbers or contiguous primes, to use infinite precision integers.Configuration and execution of programs.* Configure a program using JSON/YAML/.ini files.* Configure a command line command with flags and arguments.* Use shell environment variables in my program.* Advanced/distributed configuration with etcdCreate a Docker container for an application to distribute it easily* Automation of system tasks.* Check log for certain events.* Check logs interactively on the console.* Check git commits for patterns, metadata, or store them.Clean up your Docker image store. * Process the last persons logged to our system* Perl 6 modules* Design classes, roles and modules in Perl 6.* Document your module.* Test your module.* Release it as an open source module for every one.* Use multiple dispatch to speed up applications.Dealing with errors* Design an exception hierarchy.* Deliver meaningful error messages to the user.* Catch and deal with errors in your program.* Debug your application in CommaIDE.* Make grammars fail graciously with pretty errors.* Web and microservices on the client side* Query a GeoIP databaseDownload and extract information from a web site. * Use a web API to get information from a site.* Check IP and addresses by querying Internet services.* Text processing* Scrape markdown documents.* Generate a set of static web pages* Create a dictionary and do fast searches over it* Compute differences in plain textsMicroservices* Create a microservice.* Work with web sockets, connecting to a client.* Respond to web hooks.* Create a mini-bot for Telegram or Slack.* Test your microservice.* Work with data sources.* Work with relational databases.Interface with Redis. * Use an ORM for hight-level data description and access.* Work with MongoDB.* Extract information from WikiData* Create a desktop/console applicationUse full-console UI. * Create an application that uses system windows.* Package your application for release.* Make it work with other desktop applications by using service buses.* Use a common desktop application framework.Interface with libraries and code in other languages* Embed Python programs.* Embed Perl programs.* Run external programs and capture output.* Wrap external libraries in C with NativeCall.* Work with image processing libraries.* Speed up processing* Use data parallelism with hyper/race.Work with asynchronous input/output * Work with concurrency using channels and threads.* Create powerful concurrent programs* Monitor concurrency using CommaIDE.* Create mini-languages* Use mini-languages that show off their possibilities* Create and process a mini-language for recipes.* Process recipes and generate reports.Resume common language patterns. * Convert grammar into a full recipe-processing application that generates HTML or other external format.* Fun one-liners* How do I write a guessing name in a single line of code.* How do I compute the nth element in a sequence with a single line.How do I perform system administration task repeatedly using a single line of code.
Einstieg in Java mit Eclipse
EINSTIEG IN JAVA MIT ECLIPSE //- Einrichtung der Entwicklungsumgebung (Java, Eclipse)- Grundlagen der objektorientierten Programmierung- Einführung in Eclipse- Beschreibung der Java-Sprachelemente (Variablen, Anweisungen, einfache Datentypen, Klassen und Objekte, Aufzählungen, Arrays, Methoden, Operatoren, Verzweigungen, Schleifen, Pakete und Module)- Überblick über die Plattform Java (Bytecode, Laufzeitumgebung mit Garbage Collector, Interpreter und JIT-Compiler, Klassenbibliotheken)- Beispiele und ein Bonuskapitel unter plus.hanser-fachbuch.deBernhard Steppan hat mit diesem Buch einen ausführlichen Einstieg in Java mit Eclipse geschrieben. Das Buch ist vor allem für Leser ohne Programmierkenntnisse geeignet.Der erste Teil des Buches vermittelt das Java- und Eclipse-Basiswissen und führt in die objektorientierteProgrammierung ein.Im zweiten Teil dreht sich alles um die Feinheiten der Sprache Java. Hier entstehen die ersten kleinen Java-Anwendungen. Jedes Kapitel bietet eine Mischung aus Wissensteil und praktischen Übungen und endet mit Aufgaben, die Sie selbstständig durchführen können.Die Technologie Java bildet den Schwerpunkt des dritten Teils. Zudem werden Ihnen Klassenbibliotheken und Algorithmen vorgestellt.Ein größeres Java-Projekt steht im Mittelpunkt des vierten Teils. Anhand einer Anwendung mit grafischer Oberfläche werden Sie hier alle Elemente der vorigen Teile kennenlernen.Im fünften Teil nden Sie die Lösungen zu den Aufgaben im zweiten und dritten Teil des Buches.Ein Buch für alle, die die Java-Programmierung mithilfe der Eclipse-Entwicklungsumgebung erlernenund beherrschen wollen.AUS DEM INHALT //- Programmiergrundlagen- Objektorientierte Programmierung- Entwicklungsumgebung- Programmaufbau- Variablen- Anweisungen- Einfache Datentypen- Klassen und Objekte- Aufzählungen- Arrays- Methoden- Operatoren- Verzweigungen- Schleifen- Pakete und Module Bernhard Steppan ist ein Java-Entwickler der ersten Stunde und hat mehrere C++- und Java-Bücher geschrieben sowie zahlreiche Artikel verfasst. Er arbeitet als IT-Chefarchitekt bei DB Systel, dem Systemhaus der Deutschen Bahn.
Controlling mit Excel
• Professionelle Excel-Tools zur Planung und Steuerung• Lösungen für das strategische und operative Controlling• Werkzeuge für Planung, Analyse und Reporting• Praxisnahe Beispiele mit den BI-Tools Power Query, Power Pivot und Power BI• Tipps zu den aktuellsten Excel-Funktionen und -werkzeugen wie dynamische ArraysMit diesem Buch werden Excel-Anwender im Controlling und im Personal- und Projektmanagement zu Excel-Experten. Es enthält zahlreiche Beispiele, professionell und praxisgerecht aufbereitet und verständlich erklärt. Dazu die besten Techniken, die wichtigsten Kalkulationsfunktionen und viele Tipps und Tricks für optimiertes Arbeiten. Zur Automatisierung von Routineaufgaben stehen VBA-Makros zur Auswahl. An Einsteiger richtet sich das VBA-Tutorial.Controller finden Excel-Lösungen von A wie Abschreibung bis Z wie Zinsberechnung, für Personalcontroller gibt es Headcount- und Terminverwaltung, und Projektmanager lernen, wie sie Projektportfolios und Ressourcenpläne verwalten.• Für Microsoft 365• Alle Beispiellösungen und fertige Tabellenmodelle stehen zum Download bereit Ignatz Schels ist Informatiker und erfahrener Excel-Experte. Er leitet seit mehr als 25 Jahren Seminare und Workshops für Controlling, Personal- und Projektmanagement und erstellt Praxislösungen mit VBA in Excel und Access. Er ist zertifizierter Projektfachmann und Autor von mehr als 50 Fachbüchern – viele davon sind Bestseller.Uwe M. Seidel ist Professor für Betriebswirtschaft an der OTH Regensburg und Berater für Unternehmen und öffentliche Institutionen in den Bereichen Rechnungswesen, Controlling und Projektmanagement. Außerdem ist er freiberuflicher Trainer der Controller Akademie AG und leitet den AK Süd I des internationalen Controllervereins (ICV).