Software
Become ITIL® 4 Foundation Certified in 7 Days
Use this guide book in its fully updated second edition to study for the ITIL 4 Foundation certification exam. Know the latest ITIL framework and DevOps concepts.The book will take you through the new ITIL framework and nuances of the DevOps methodology. The book follows the topics included in the foundation certification exam syllabus and includes new sections on ITIL's guiding principles, service value chain, and the four dimensions of service management. Also included are the concepts, processes, and philosophies used in DevOps programs and projects. ITIL and DevOps concepts are explained with relevant examples.By the time you finish this book, you will have a complete understanding of ITIL 4 and will be ready to take the ITIL 4 Foundation certification exam. You will know the DevOps methodology and how ITIL reinforces the philosophy of shared responsibility and collaboration. Over the course of a week, even while working your day job, you will be prepared to take the exam.WHAT YOU WILL LEARN* Know the basics of ITIL as you prepare for the ITIL Foundation certification exam* Understand ITIL through examples* Be aware of ITIL's relevance to DevOps and DevOps conceptsWHO THIS BOOK IS FORProfessionals from the IT services industryABHINAV KRISHNA KAISER works as a senior manager at a top consulting firm. He consults with organizations to assess, define, and implement DevOps, Agile, and ITIL processes. Abhinav is an accredited ITIL trainer and has delivered numerous classroom trainings. He is a leading authority on the topics of DevOps, Agile, and ITIL. He lives in London, United Kingdom. He is an author and his latest book is Reinventing ITIL in the Age of DevOps (Apress).Chapter 1: Introduction to the new ITILChapter Goal: To introduce the new ITIL, provide context and differentiate with the version 3No of pages : 15 pagesSub -Topics1. Why ITIL 4?1. Difference between ITIL 3 and ITIL 42. ITIL 4 Foundation Exam3. Other ITIL 4 ExamsChapter 2: Brief Overview of DevOpsChapter Goal: To introduce the DevOps frameworkNo of pages : 20 pagesSub -Topics1. Introduction to DevOps2. DevOps sections – people, process and technology3. DevOps processesChapter 3: ITIL BasicsChapter Goal: To introduce the key concepts of ITILNo of pages : 20 pagesSub -Topics1. Defining value2. Products vs services3. Concept of consumers and other stakeholders4. service relationships5. Processes and functionsChapter 4: Service Management - Four DimensionsChapter Goal: To discuss the four dimensions in detailNo of pages: 20 pagesSub - Topics1. Organizations and people2. Information and technology3. Partners and suppliers4. Value Streams and processesChapter 5: ITIL Service Value SystemChapter Goal: To introduce service value systemNo of pages : 20 pagesSub - Topics:1. Intro to service value system2. Opportunity and demand3. Service value chain4. Governance5. Continual Improvement (formerly CSI)Chapter 6: ITIL Processes for Managing StakeholdersChapter Goal: Understand the processes for managing customers and other key stakeholdresNo of pages: 15 pagesSub - Topics:1. Relationship management2. Service level management3. Supplier managementChapter 7: ITIL Processes for Defining Operations FrameworkChapter Goal: Understand the processes for defining processes that sets the boundaries and steps for support and operational activitiesNo of pages: 30 pagesSub - Topics:1. Service configuration management2. IT asset management3. Information security management4. Continual improvementChapter 8: ITIL Processes for Managing OperationsChapter Goal: Understand the processes in detail for managing operationsNo of pages: 30 pagesSub - Topics:1. Monitoring and event management2. Incident management3. Problem improvement4. Change controlChapter 9: ITIL Processes for Managing ChangesChapter Goal: Understand the processes for controlling changes to the environment and applicationsNo of pages: 20 pagesSub - Topics:1. Service request management2. Change control3. Release managementChapter 10: ITIL Practice for Managing DeploymentsChapter Goal: Understand the technical management around deploying software into environmentsNo of pages: 15 pagesSub - Topics:1. Deployment managementChapter 11: ITIL Practice for Coordinating between StakeholdersChapter Goal: Understand the service desk and service desk managementNo of pages: 15 pagesSub - Topics:1. Service desk2. Service desk managementChapter 12 : Practices to Manage DeploymentsRelease ManagementTypes of ReleasesEngagement with Service Value ChainDeployment ManagementKey ActivitiesEngagement with Service Value ChainChapter 13 : Practices to Coordinate with StakeholdersService DeskTypes of Service DesksKey ActivitiesEngagement with Service Value ChainService Desk ManagementEngagement with Service Value ChainChapter 14 : Exam Tips and Tricks
Interaktive Datenvisualisierung in Wissenschaft und Unternehmenspraxis
Interaktive Visualisierungen gewinnen in Wissenschaft und Unternehmenspraxis zunehmend an Bedeutung. Neben der Analyse und Darstellung von Unternehmensdaten z.B. mit Hilfe moderner Data Science Methoden werden auch Visualisierungen und Animationen mit Hilfe von 3D und Virtual Reality/Augmented Reality Technologien immer wichtiger, etwa bei der Planung von Industrieanlagen, in der Architektur oder bei der Darstellung naturwissenschaftlicher Prozesse.Das vorliegende praxisorientierte Herausgeberwerk basiert auf Ergebnissen, die im Kontext der Tagung VISUALIZE an der Hochschule Rhein-Waal vorgestellt wurden und umfasst Beiträge unterschiedlicher Visualisierungsdomänen, darunter auch Business Intelligence Lösungen mit Qlik Sense, R, Shiny und Python. Die Visualisierungstechniken und konkreten Methoden aus begleitenden Workshops werden zu anwendungsnahen Handlungsempfehlungen und Best Practices für eigene Visualisierungsvorhaben zusammengefasst.Ein Buch für alle, die auf der Suche nach konkreten Handlungsempfehlungen und Praxisbeispielen zur interaktiven Datenvisualisierung sind.Dr. Timo Kahl ist Professor für Wirtschaftsinformatik an der Hochschule Rhein-Waal und leitet den Studiengang und das Labor für E-Government. Seine fachlichen Schwerpunkte liegen in den Bereichen Prozessmanagement, Verwaltungsmodernisierung, Business Integration und Business Intelligence.Dr. Frank Zimmer ist Professor für Informatik und Mathematik an der Hochschule Rhein-Waal und leitet das Labor für Computational Intelligence und Visualisierung. Seine fachlichen Schwerpunkte sind Maschinelles Lernen, Data Science, Simulationen und Visualisierung.Visualisierungen in 3D Anwendungen.-Visualisierungskonzepte und moderne Werkzeuge (Qlik Sense, R, Shiny, Python, Houdini, Unity, Unreal & Co.).-Prozess- und Datenvisualisierung.-Visualisierung im Kontext von Machine Learning.
Penetration Testing mit mimikatz
- Penetration Tests mit mimikatz von Pass-the-Hash über Kerberoasting bis hin zu Golden Tickets - Funktionsweise und Schwachstellen der Windows Local Security Authority (LSA) und des Kerberos-Protokolls - Alle Angriffe leicht verständlich und Schritt für Schritt erklärt mimikatz ist ein extrem leistungsstarkes Tool für Angriffe auf das Active Directory. Hacker können damit auf Klartextpasswörter, Passwort-Hashes sowie Kerberos Tickets zugreifen, die dadurch erworbenen Rechte in fremden Systemen ausweiten und so die Kontrolle über ganze Firmennetzwerke übernehmen. Aus diesem Grund ist es wichtig, auf Angriffe mit mimikatz vorbereitet zu sein. Damit Sie die Techniken der Angreifer verstehen und erkennen können, zeigt Ihnen IT-Security-Spezialist Sebastian Brabetz in diesem Buch, wie Sie Penetration Tests mit mimikatz in einer sicheren Testumgebung durchführen. Der Autor beschreibt alle Angriffe Schritt für Schritt und erläutert ihre Funktionsweisen leicht verständlich. Dabei setzt er nur grundlegende IT-Security-Kenntnisse voraus. Sie lernen insbesondere folgende Angriffe kennen: Klartextpasswörter aus dem RAM extrahieren Authentifizierung ohne Klartextpasswort mittels Pass-the-Hash Ausnutzen von Kerberos mittels Overpass-the-Hash, Pass-the-Key und Pass-the-Ticket Dumpen von Active Directory Credentials aus Domänencontrollern Erstellen von Silver Tickets und Golden Tickets Cracken der Passwort-Hashes von Service Accounts mittels Kerberoasting Auslesen und Cracken von Domain Cached Credentials Darüber hinaus erfahren Sie, wie Sie die Ausführung von mimikatz sowie die Spuren von mimikatz-Angriffen erkennen. So sind Sie bestens gerüstet, um Ihre Windows-Domäne mit mimikatz auf Schwachstellen zu testen und entsprechenden Angriffen vorzubeugen. Aus dem Inhalt: Sichere Testumgebung einrichten Grundlagen der Windows Local Security Authority (LSA) Funktionsweise des Kerberos-Protokolls Passwörter und Hashes extrahieren: Klartextpasswörter NTLM-Hashes MS-Cache-2-Hashes Schwachstellen des Kerberos-Protokolls ausnutzen: Ticket Granting Tickets und Service Tickets Encryption Keys Credentials des Active Directorys mimikatz-Angriffe erkennen Invoke-Mimikatz und weiterführende Themen Praktisches Glossar
ArchiCAD 24
* MIT VIELEN KONSTRUKTIONSBEISPIELEN AUS DER PRAXIS* EINFÜHRUNG IN DIE WICHTIGSTEN BEDIENELEMENTE* ZAHLREICHE ÜBUNGSFRAGEN MIT LÖSUNGENDieses Grundlagen- und Lehrbuch zeigt Ihnen anhand typischer Konstruktionsaufgaben aus Studium und Berufsleben die Möglichkeiten von ArchiCAD 24. Der Autor richtet sich dabei insbesondere an ArchiCAD-Neulinge, die Wert auf einen praxisnahen Einstieg legen. Alle Elemente und Befehle erlernen Sie anhand von Beispielen.Sie beginnen mit der Konstruktion eines einfachen Grundrisses, um die generelle Arbeitsweise und die grundlegenden Schritte einzuüben. Dabei lernen Sie die Benutzeroberfläche, die Eingabemöglichkeiten für Koordinaten sowie den Einsatz von Fanghilfen, Fangpunkten und Hilfslinien kennen. Dann demonstriert der Autor die Architektur-Elemente (Wände, Fenster, Eckfenster u.v.m.) im Grundriss und im 3D-Fenster.Weiterhin berücksichtigt er die Möglichkeiten für grafische Überschreibungen und die Regeln für Schichtaufbau und Verschneidungen bei Wänden, Decken, Dächern und Schalen. Zusätzlich werden die in ArchiCAD 24 neuen Funktionen HKLSE-Modeler, Tragwerksanalyse und Issue-Management kurz vorgestellt.Ein Schwerpunkt liegt auf der Einübung von Bearbeitungsbefehlen, insbesondere der Nutzung von Pet-Paletten, die automatisch durch Markieren von Elementen aktiviert werden und dann ganz spezifische Änderungsaktionen anbieten. In weiteren Bearbeitungsschritten lernen Sie, die Konstruktion durch Hinzufügen von individuellen und automatischen Bemaßungen zu ergänzen sowie Schnitte und Ansichten zu erzeugen. Um Ihr Projekt eindrucksvoll zu präsentieren, erstellen Sie schließlich fotorealistische Visualisierungen.Am Ende jedes Kapitels finden Sie Übungsfragen mit dazugehörigen Lösungen im Anhang. Im letzten Kapitel wird abschließend als Beispiel ein Einfamilienhaus mit dokumentierten Befehlseingaben konstruiert.Aus dem Inhalt:* Schnelleinstieg mit dokumentiertem Beispiel* Benutzeroberfläche: Wichtigste Paletten, das Pfeil-Werkzeug und Ansichtsmanipulationen* Positionen eingeben: Koordinaten, Tracker, Punkte* Dynamische Hilfslinien, relative Konstruktionsmethoden* 2D-Zeichnen* Werkzeuge: Wand, Fenster, Tür, Decke, Dach, Schale, Dachfenster, Öffnungen, Stützen mit Segmenten, Träger mit Segmenten und Biegung, Freiflächen, Geländer, Treppe mit Kopffreiheit, Fassade mit eigenen Mustern, Morph-Elemente etc.* Bearbeitungsfunktionen: Menüs, Kontextmenüs, Pet-Paletten* Bemaßung, Text* Zeichnungsstruktur, Raumstempel, Listen* Schnitte, Ansichten, Innenansichten, Details und 3D-Dokumente* Plot, Druck, grafische Überschreibungen* Realistische Bilder, Animationen, Sonnenstudien* Praxisbeispiel: Einfamilienhaus* Übungsfragen mit Antworten* Anhang mit Übersicht über Menüs, Paletten und SymbolleistenDetlef Ridder hat bereits zahlreiche Bücher zu AutoCAD, Inventor, Revit und ArchiCAD veröffentlicht und gibt Schulungen zu diesen Programmen und im Bereich CNC.
OneNote, Teams und mehr smarte Tools für den vernetzten Alltag mit OneDrive
- Mit OneNote & Teams effizient organisieren und kommunizieren- Programm- und geräteübergreifend arbeiten – Synergien nutzenOb privat oder im Büro, ob für Schüler, Lehrer oder Studenten: Eine Reihe kleiner und meist kostenloser Programme steht bereit, um Ihren Alltag leichter und effizienter zu gestalten. Vom simplen Einkaufszettel über das Organisieren von Besprechungen bis zum komplexen Informationsaustausch erweisen sich diese oft unterschätzten Apps als nützliche Helfer. In diesem Buch lernen Sie mehrere dieser praktischen Werkzeuge kennen und erfahren, wie sie perfekt in Ihren Microsoft-Workflow passen. Anschaulich erklären die Autoren die Einstellungsmöglichkeiten und Varianten der Programme im Detail und zeigen, wie Sie die Tools miteinander verknüpfen, um schlaue Synergien zu nutzen. Organisieren Sie sich mit den Apps auf PC, Laptop, Tablet und Smartphone, um überall und jederzeit produktiv sowie stressfrei arbeiten zu können. Sowohl Einsteiger als auch Fortgeschrittene werden von den zahlreichen Tipps und Tricks rund um OneNote, Teams, OneDrive, Sticky Notes, IFTTT & Co. profitieren. Schneller Erfolg ohne Kopfzerbrechen ist garantiert!Aus dem Inhalt:- Mit OneNote Notizen synchron auf PC, Smartphone und Tablet verwalten – von der simplen Liste bis zu komplexen Wiki-Inhalten- Kommunikation und Datenaustausch mit Microsoft Teams- Aufgaben bzw. Einkaufslisten mit ToDo anlegen- Digitale Post-its mit Sticky Notes nutzen- Schnelle Bildschirmfotos und Sprachaufnahmen erstellen- Mit dem Cloud-Speicher OneDrive immer alle Daten griffbereit haben- Office Lens zum Scannen von Dokumenten verwenden- Maße, Einheiten und Währungen schnell umrechnen - Programmübergreifend arbeiten und dafür alle Tools miteinander verknüpfen - Mit IFTTT auch dort Verbindungen schaffen, wo auf den ersten Blick keine sind- Effizienter Datenaustausch zwischen PC, Tablet und Smartphone - Im Team mit anderen zusammenarbeiten – ob im Büro, in der Schule oder in Ihrer Freizeit
Spiele programmieren mit Unity
* 2D- UND 3D-SPIELE SELBST ENTWICKELN* LANDSCHAFTEN UND GEBÄUDE GESTALTEN SOWIE FIGUREN ANIMIEREN * WICHTIGE C#-PROGRAMMIER-ELEMENTE KENNENLERNEN UND ANWENDENUnity ist eine sehr beliebte Spiele-Engine, mit der du eigene 3D-Spiele entwickeln kannst. Der erfahrene Kids-Autor Hans-Georg Schumann zeigt dir, wie du mit Unity und der Programmiersprache C# schnell zu beeindruckenden Ergebnissen kommst.Schritt für Schritt lernst du, wie du Figuren durch die Welt wandern und auch gegen gefährliche Gegner kämpfen lässt. Du erstellst Landschaften mit Bäumen und Seen, gestaltest und animierst eigene Charaktere, und lernst ganz nebenbei das Programmieren in C#. Das Unity-Partikelsystem erzeugt tolle Effekte mit Licht und Schatten, die dem Spiel das nötige Reality-Gefühl geben. Und alles, was du zum Programmieren deiner Spiele brauchst, findest du auch zum Download.AUS DEM INHALT:* Unity starten und ein erstes kleines Kollisionsspiel erstellen* In die Script-Programmierung mit C# einsteigen* Einen Charakter entwerfen und ihm Eigenschaften geben* Ein Jump & Run-Spiel entwickeln* Das Prinzip von 3D verstehen und die Spielfläche mit Bäumen und Wasser gestalten* Ganze Bauwerke entstehen lassen* Die Figur klettern, schwimmen und sogar tauchen lehren* Eine Fantasie-Kreatur entwerfen und durch Animation lebendig werden lassen* Strahlen, Partikel und Sound einbinden* Künstliche Intelligenz nutzen* Energiekontrolle und andere Features aufrüsten* Installationshilfe und Fehlerbehebung Hans-Georg Schumann war Informatik- und Mathematiklehrer an einer Gesamtschule. Er hat viele erfolgreiche Bücher in der mitp-Buchreihe »... für Kids« geschrieben.
Windows 10 - Leichter Einstieg für Senioren
Nachvollziehbare Erklärungen zu Windows 10 in aktueller Auflage.Windows-Experte Günter Born führt Sie leicht verständlich und anschaulich in das aktuelle Windows ein – inklusive der Neuheiten des aktuellen Herbst-Updates.Schritt für Schritt machen Sie sich mit den Grundlagen des Betriebssystems und weiterer Anwendungen vertraut.Sie schreiben Mails, surfen im Internet, sichern Ihre Daten, hören Musik, verwalten und bearbeiten Fotos und passen die Windows-Einstellungen nach Ihren Wünschen an – auf dem PC, Notebook oder Tablet.Aus dem Inhalt:Die ersten Schritte mit Windows 10Die Neuerungen des Herbst-2020-UpdatesLaufwerke, Ordner und DateienDer Umgang mit ProgrammenMit Texten arbeitenFotos verwalten und bearbeitenSpiele und UnterhaltungInternet und E-MailKontakte, Termine und mehrWindows anpassenInhalt & Leseprobe (PDF-Link)
Beginning Java MVC 1.0
Get started with using the new Java MVC 1.0 framework for model, view, and controller development for building modern Java-based web, native, and microservices applications.Beginning Java MVC teaches you the basics, then dives in to models, views, controllers. Next, you learn data binding, events, application types, view engines, and more. You will be given practical examples along the way to reinforce what you have learned. Furthermore, you'll work with annotations, internationalization, security, and deployment.After reading this book, you'll have the know how to build your first full Java-based MVC application.WHAT YOU WILL LEARN* Discover the Java MVC 1.0 APIs and how to use themMaster the Model, View and Controller design pattern * Carry out data binding * Write events* Work with view enginesWHO THIS BOOK IS FORThose new to Java MVC 1.0. Some prior experience with Java programming recommended, especially with JSF or Struts. Peter Späth graduated in 2002 as a physicist and soon afterwards became an IT consultant, mainly for Java-related projects. In 2016 he decided to concentrate on writing books, with his main focus set on software development. With two books about graphics and sound processing and two books for Android and Kotlin programming, his new book addresses beginning Jakarta EE developers willing to develop enterprise-level Java applications with Java EE 8.1. About MVC - Model, View, Controller* History of MVC* MVC in Web Applications* MVC for Java* Finally, Java MVC (JSR-371)* Why MVC* Where is Hello World?2. Prerequisite - Jakarta EE / Java EE* The Nature of Java for Enterprise Applications* Glassfish, a Free Java Server* Using a Preinstalled Java Server* Learning Java for Enterprise Applications* RESTful Services3. Development Workflow* Using Gradle as a Build Framework* Using Eclipse as an IDE* More About Gradle* Developing Using the Console* Installing MVC4. Hello World for Java MVC* Starting The Hello World Project* The Hello World Model* The Hello World View* The Hello World Controller* Using Gradle to Build Hello World* Starting a Jakarta EE Server* Deploying and Testing Hello World5. Start Working With Java MVC* Handling User Input From Forms* Exception Handling in Java MVC* Non-String Post Parameters6. In-Depth Java MVC* The Model* The View: JSPs* The View: Facelets* The Controller7. In-Depth Java MVC - Part II* Injectable Context* Persisating State* Dealing With Page Fragments* Observers* Configuration8. Internationalization* Language Resources* Adding Localized Messages to the Session* Formatting of Data in the View* Using JSF for Formatting* Localized Data Conversion9. Java MVC and EJBs* About Session EJBs* Defining EJBs* Accessing EJBs* EJB Projects* EJBs with Dependencies* Asynchronous EJB Invocation* Timer EJBs10. Connecting Java MVC to a Database* Abstracting Away Database Access With JPA* Setting up a SQL Database* Creating a DataSource* Preparing the Member Registration Application* Adding EclipseLink as ORM* Controllers* Adding Data Access Objects* Updating the View* Adding Entities* Adding Relations11. Logging Java MVC Applications* System Streams* JDK Logging in Glassfish* Using JDK Standard Logging For Other Servers* Adding Log4j Logging to Your Application12. A Java MVC Example Application* The BooKlubb Database* The BooKlubb Eclipse Project* The BooKlubb Infrastructure Classes* Configure BooKlubb Database Access* The BooKlub Internationalization* The BooKlubb Entity Classes* BooKlubb Database Access Via DAOs* The BooKlubb Model* The BooKlubb Controller* The BooKlubb View* Deploying and Testing BooKlubbAppendix* Solutions to The Exercises
JavaScript für Kids
Ganz nebenbei lernst du die Bestandteile von JavaScript kennen, so dass Bedingungen, Konstanten, Schleifen und Funktionen deinen Programmierer-Wortschatz im Nu erweitern. Dort, wo es nötig ist, wird auch HTML zur Unterstützung gerufen. Hans-Georg Schumann verrät dir viele Kniffe, um zum guten Programmierer zu werden: Hättest du zum Beispiel gedacht, dass Vererbung im Programm-Code eine Rolle spielt?
Projektmanagement mit Excel
• Projekte planen und steuern mit Excel• Mit Praxisbeispiel, Schritt für Schritt aufgebaut• Termine, Kosten und Ressourcen im Griff• Nützliche VBA-Makros für Projektmanager• Business Intelligence-Berichte mit PowerQuery und Power BI DesktopProjekte planen, überwachen und steuern – das geht auch mit Excel in Microsoft 365. Ignatz Schels und Prof. Dr. Uwe M. Seidel sind erfahrene Projektmanager und Projektcontroller. Sie zeigen Ihnen, wie Sie das Kalkulationsprogramm von Microsoft für effizientes Projektmanagement nutzen können.Hier üben Sie an einem realen Projekt: Sie erstellen Checklisten, Projektstrukturen und Kostenpläne, überwachen Termine und Budgets und dokumentieren mit Infografiken und Diagrammen. Sie lernen mit den beiden Autoren die besten Funktionen und die wichtigsten Analysewerkzeuge von Excel kennen und programmieren Ihre ersten Makros mit der Makrosprache VBA. Projektmanagement mit Excel – probieren Sie es aus, es funktioniert!In der Neuauflage finden Sie praxisnahe Beispiele zu den BI-Tools PowerQuery, Power Pivot und Power BI sowie Tipps zu den aktuellsten Excel-Funktionen und -werkzeugen wie dynamische Arrays.Alle Beispiele, Tools und VBA-Makros stehen zum Download unter plus.hanser-fachbuch.de bereit. Ignatz Schels ist Technik-Informatiker, zertifizierter Projektfachmann (GPM / IPMA) und Excel-Experte derSpitzenklasse. Er programmiert Praxislösungen mit VBA und erstellt Access-Datenbanken. Viele seiner zahlreichen Fachbücher für Controller und Projektmanager 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ßerdemist er freiberuflicher Trainer der Controller Akademie AG und leitet den AK Süd I des Internationalen Controllervereins ( ICV ).
Geschäftsrisiko Cyber-Security
Nicht erst seit Corona warnen Beobachter und Behörden vor einem zu erwartenden rasanten Anstieg von Cyberkriminalität im privaten sowie beruflichen Umfeld. Die Digitalisierung von Geschäftsmodellen, intensivere Vernetzung von Prozessen, Produkten und Geräten und die zuletzt stärkere Nutzung von Netzwerken und Geräten im Homeoffice sind die Treiber im Kampf für mehr IT-Sicherheit. Das essential wendet sich insbesondere an Geschäftsführer von kleinen und mittelständischen Unternehmen, für die der Aufbau einer wirksamen und nachhaltigen Cyber-Security mit hohem Aufwand verbunden ist. Das Buch ermöglicht ein grundlegendes Verständnis zu potenziellen Bedrohungen der Cyber-Security sowie den Auswirkungen und bietet einen Leitfaden für die Entwicklung eines resilienten Sicherheits-Ökosystems.
Learn Microservices with Spring Boot
Build Java-based microservices architecture using the Spring Boot framework by evolving an application from a small monolith to an event-driven architecture composed of several services. This revised book follows an incremental approach in teaching the structure of microservices, test-driven development, and common patterns in distributed systems such as service discovery, load balancing, routing, centralized logs, per-environment configuration, and containerization.This updated book now covers what's been added to the latest Spring Boot release, including support for the latest Java SE; more deep-dive knowledge on how Spring Boot works; testing with JUnit 5; changes in the Spring Cloud tools used for service discovery and load balancing; building Docker images using cloud-native buildpacks; a basic centralized logging solution; E2E traceability with Sleuth; centralized configuration with Consul; many dependency upgrades; support for Spring Data Neumann; and more.Author Moises Macero uses a pragmatic approach to explain the benefits of using this type of software architecture, instead of keeping you distracted with theoretical concepts. He covers some of the state-of-the-art techniques in computer programming, from a practical point of view. You’ll focus on what's important, starting with the minimum viable product but keeping the flexibility to evolve it.WHAT YOU WILL LEARN* Build microservices with Spring Boot* Discover architecture patterns for distributed systems such as asynchronous processing, eventual consistency, resilience, scalability, and more* Use event-driven architecture and messaging with RabbitMQ* Master service discovery with Consul and load balancing with Spring Cloud Load Balancer* Route requests with Spring Cloud Gateway* Keep flexible configurations per environment with Spring Cloud Consul* Trace every request from beginning to end with Sleuth and centralized logging* Deploy your microservices anywhere as Docker containers* Start all the components in the microservice architecture with Docker ComposeWHO THIS BOOK IS FORThose with at least some prior experience with Java programming. Some prior exposure to Spring Boot recommended but not required.MOISÉS MACERO GARCÍA has been a software developer since he was a kid, when he started playing around with BASIC on his ZX Spectrum. During his career, Moisés has most often worked in development and architecture for small and large projects, and for his own startups as well. He enjoys making software problems simple, and he likes working in teams where he can not only coach others, but also learn from them.Moisés is the author of the blog thepracticaldeveloper.com, where he shares solutions for technical challenges, guides, and his view on different ways of working in IT companies. He also organizes workshops for companies that need a practical approach to software engineering. In his free time, he enjoys traveling and hiking.* Introduction* Core concepts* A basic Spring Boot app* A minimal frontend with React* The data layer* Starting with Microservices* Event-Driven Architecture* Cloud native patterns* End-to-End tests with Cucumber
Pro Google Kubernetes Engine
Discover methodologies and best practices for getting started with Google Kubernetes Engine (GKE). This book helps you understand how GKE provides a fully managed environment to deploy and operate containerized applications on Google Cloud infrastructure.You will see how Kubernetes makes it easier for users to manage clusters and the container ecosystem. And you will get detailed guidance on deploying and managing applications, handling administration of container clusters, managing policies, and monitoring cluster resources. You will learn how to operate the GKE environment through the GUI-based Google Cloud console and the "gcloud" command line interface.The book starts with an introduction to GKE and associated services. The authors provide hands-on examples to set up Container Registry and GKE Cluster, and you will follow through an application deployment on GKE. Later chapters focus on securing your GCP GKE environment, GKE monitoring and dashboarding, and CI/CD automation. All of the code presented in the book is provided in the form of scripts, which allow you to try out the examples and extend them in interesting ways.WHAT YOU WILL LEARN* Understand the main container services in GCP (Google Container Registry, Google Kubernetes Engine, Kubernetes Engine, Management Services)* Perform hands-on steps to deploy, secure, scale, monitor, and automate your containerized environment* Deploy a sample microservices application on GKE* Deploy monitoring for your GKE environment* Use DevOps automation in the CI/CD pipeline and integrate it with GKEWHO THIS BOOK IS FORArchitects, developers, and DevOps engineers who want to learn Google Kubernetes EngineNAVIN SABHARWAL has more than 20 years of industry experience and is an innovator, thought leader, patent holder, and author in the areas of cloud computing, artificial intelligence and machine learning, public cloud, DevOps, AIOPS, infrastructure services, monitoring and management platforms, big data analytics, and software product development. He works at HCL Technologies and is responsible for DevOps, artificial intelligence, cloud life cycle management, service management, monitoring and management, IT Ops Analytics, AIOPs and machine learning, automation, operational efficiency of scaled delivery through Lean Ops, strategy, and delivery.PIYUSH PANDEY has more than 10 years of industry experience. He is currently working at HCL Technologies as Automation Architect, delivering solutions catering to hybrid cloud using cloud-native and third-party solutions. The automation solutions cover use cases such as Enterprise Observability, Infra as Code, Server Automation, Runbook Automation, Cloud Management Platform, Cloud Native Automation, and Dashboard/Visibility. He is responsible for designing end-to-end solutions and architecture for enterprise automation adoption. Ch01 - Getting Started with Containers on Google GKE• Introduction to Docker• Sign up for Google Cloud• Setting up environment for Google GKE• Support services for ContainersCh02-Container Image Management with Google Container Registry• Introduction to Google Container Registry• Setting up Google Container Registry• Push Docker image to Google container registryCh03 - Deploy Containerized applications with Google GKE• Setup Google GKE• Create, manage and scale GKE Cluster• Deploy Containers on GKE• Deleting a ClusterCh04-Secure your Containerized Environment• Protect your Containers and Container host on GKE• Protect your code and deploymentsCh05- Scale GKE Containerized environment• Autoscaling a Cluster• Vertical autoscaling a pod• Cluster upgrade and resizingCh06- Monitor your Containerized environment• Monitoring approaches for GKE• Using Stackdriver for GKE Monitoring• Using Prometheus for GKE MonitoringCh07- Automate your Containerized environment• Using Infra as Code solution for Automation• Continuous integration and delivery Automation
Python Testing with Selenium
Implement different testing techniques using Selenium WebDriver with the Python programming language. This quick reference provides simple functional test cases with a syntax-based approach for Selenium WebDriver.You’ll begin by reviewing the basics of Selenium WebDriver and its architectural design history and then move on to the configuration and installation of Selenium library for different web browsers, including the basic commands needed to start test scripts in various browsers. You’ll review action commands of keyboard and mouse for testing user interactions in a web page and see how hyperlinks are tested.The book also examines various web elements using eight different locators provided by Selenium to help you choose the one best suited to your needs. All Python scripts are ready to test real examples, all of which are explained thoroughly with problem statements. You’ll use different Python design patterns to automate test scripts that can be incorporated with Selenium.In the end, Python Testing with Selenium will provide you with the expertise to write your own test cases in future.WHAT YOU’LL LEARN* Install and configure Selenium WebDriver with Python for different web-browsers * Review basic commands of Selenium* Locate web elements * Work with UI based web elements* Assert web elements and handle exceptions* Write test scripts in Page Object Model * Write test cases with Unittest framework WHO THIS BOOK IS FORPython developers/testers who want to test their web applicationsSujay Raghavendra works mainly in the field of data science, machine/deep learning, and artificial intelligence and is currently Executive Director of Raghavendra Training & Consultancy (RTC), a start up company based in Dharwad, Karnataka, India. RTC was co-founded with his brother Sumedh Raghavendra in 2014.He also plans and evaluates new technological projects for research and product development to various companies at RTC. Some of his projects include analyzing pap smear filter for microscopic medical images, thermal heat sensing in hospitals, ocr for handwritten characters, satellite image analysis, network automation for maps, forecasting model, text analytics & predictions, etc.Raghavendra has been a consultant for helping and building research centers for technical universities and colleges and his recent interest includes automating testing cases using machine learning. He has published numerous research articles in international journals and was part of a reviewer committee in various journals and conferences.PYTHON TESTING WITH SELENIUMChapter 1: Introduction to SeleniumChapter 2: Getting StartedChapter 3: Mouse & Keyboard ActionsChapter 4: Web ElementsChapter 5: NavigationChapter 6: Buttons, Checkbox & Select ListChapter 7: Frames and Text BoxesChapter 8: AssertionsChapter 9: Exception HandlingChapter 10: WaitsChapter 11: Page ObjectsChapter 12: Using Test Cases with a Screenshot
Windows 10
Das umfassende Lernbuch und Nachschlagewerk inkl. Updates Winter 2020/2021:- Anschauliche Anleitungen mit vielen Abbildungen - Vom Startmenü über Apps bis zur Sicherheit im Internet - Geeignet für PC, Laptop und Tablet Lernen Sie das Betriebssystem Windows 10 von Grund auf kennen und werden Sie sicher in der Anwendung ! Dieses Handbuch ist ein hilfreicher Ratgeber für Einsteiger und ein praktisches Nachschlagewerk im Arbeitsalltag für den versierten Nutzer. Alle wichtigen Funktionen werden von den beiden Autorinnen Schritt für Schritt erklärt. Sie beginnen mit grundlegenden Techniken und gehen mit gut nachvollziehbaren Anleitungen zu komplexen Themen über, wie z. B. das Verwenden mehrerer Desktops oder die Datensicherung. Egal ob Sie mit PC, Laptop oder Tablet arbeiten: Startmenü, Explorer und der Cloud-Speicher OneDrive sind Ihnen bald genauso vertraut wie der Umgang mit den integrierten Apps Mail, Kalender, Fotos und dem Browser Edge . Darüber hinaus widmet sich ein Kapitel den Einstellungen für Sicherheit und Virenschutz . Dank der Tipps und Beispiele der erfahrenen Dozentinnen werden Sie rundum fit in Microsoft Windows 10 . Aus dem Inhalt: - Grundlegende Eingabetechniken einfach erklärt - So funktionieren Startmenü, Taskleiste und Info-Center - Die Übersicht behalten mithilfe des Aktivitätsverlaufs - Dateien erstellen, bearbeiten, speichern und organisieren - Datensicherung mit dem Cloudspeicher OneDrive - Die Benutzeroberfläche anpassen - Wichtige Einstellungen zu Sicherheit und Datenschutz - Apps installieren und deinstallieren - Microsoft Edge zum Surfen im Internet verwenden - Kommunikations- und Zeitmanagement mit den Apps Mail, Kontakte und Kalender - Wie Sie mit der App Fotos Ihre Bilder verwalten und bearbeiten
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