Computer und IT
Angular (4. Auflg.)
Grundlagen, fortgeschrittene Themen und Best Practices. Inkl. RxJS, NgRx und a11y in aktueller 4. Auflage aus Februar 2023.Das große Praxisbuch zu Angular!Mit einem anspruchsvollen Beispielprojekt führen die Autoren Sie durch die Welt von Angular. Entwickeln Sie Schritt für Schritt eine umfangreiche modulare Single-Page-Anwendung und üben Sie Angular im praktischen Einsatz. Mit seinen umfangreichen Theorieteilen ist dieses Buch außerdem Ihr praktischer Begleiter im Entwicklungsalltag.Die Autoren sind erfahrene Workshopleiter, Entwickler und internationale Konferenzsprecher. In dieser vollständig überarbeiteten Auflage vermitteln sie die Best Practices aus ihrer täglichen Arbeit mit Angular. Aufgrund ihres Engagements rund um das Buch und Angular wurden Ferdinand und Johannes als Google Developer Experts (GDE) ausgezeichnet.Aus dem Inhalt:Reaktive Programmierung mit RxJSState Management mit Redux und NgRxTesting mit Jasmine, Karma, Jest und CypressModule und Standalone ComponentsRouting und GuardsHTTP und InterceptorsFormularverarbeitungDependency Injection und ServicesBarrierefreiheit (a11y)Internationalisierung (i18n)Progressive Web Apps (PWA)Erste Kenntnisse in JavaScript und HTML sind von Vorteil, aber keine Voraussetzung. Wer nicht mit TypeScript vertraut ist, findet im Buch eine fundierte Einführung.Auf der Website zum Buch werden außerdem regelmäßig Aktualisierungen und Neuigkeiten rund um Angular veröffentlicht.Über die Autoren:Ferdinand Malcher ist Google Developer Expert (GDE) und arbeitet als selbständiger Entwickler, Berater und Mediengestalter mit Schwerpunkt auf Angular, RxJS und TypeScript. Gemeinsam mit Johannes Hoppe hat er die Angular.Schule gegründet und bietet Schulungen zu Angular an.Danny Koppenhagen arbeitet als Softwarearchitekt und Entwickler. Sein Schwerpunkt liegt in der Frontend-Architektur und der Entwicklung von Enterprise Webanwendungen auf Basis von Node.js, TypeScript, Angular und Vue. Neben der beruflichen Tätigkeit ist Danny als Autor mehrerer Open-Source-Projekte aktiv.Johannes Hoppe ist Google Developer Expert (GDE) und arbeitet als selbständiger Trainer und Berater für Angular, .NET und Node.js. Zusammen mit Ferdinand Malcher hat er die Angular.Schule gegründet und bietet Workshops und Beratung zu Angular an. Johannes ist Organisator des Angular Heidelberg Meetup.Sie erreichen das Autorenteam auf Twitter unter @angular_buch.Mehr Infos und Kontaktmöglichkeiten finden Sie unter https://angular-buch.com/autoren.Zielgruppe: Webentwickler*innenJavaScript-Entwickler*innenApp-Entwickler*innen
Reinventing ITIL® and DevOps with Digital Transformation
The second edition of this book has been fully updated to show how the DevOps way of working has continued to adapt to changing technologies. The ITIL processes which were an integral part of the DevOps world have been merged with the DevOps framework, reflecting the current emphasis on product models rather than viewing project and support models separately.This book starts with the basics of digital transformation before exploring how this works in practice: that is, people, processes and technology, and org structures. It delves into value streams that are the basis for ITIL and DevOps, highlighting the differences between the methods of the past and new methodologies needed to ensure products to meet contemporary expectations. This updated edition includes new chapters that discuss digital transformation for business success, introduce the battle tank framework, leading people in the digital world, managing work in a remote working model, and the product-led transformation model. These new chapters provide the guidance necessary to move beyond DevOps into a holistic digital transformation exercise.The ideas, recommendations, and solutions you'll learn over the course of this book can be applied to develop solutions or create proposals for clients, and to deliver seamless services for DevOps projects.WHAT YOU WILL LEARN* Understand digital transformation* Leverage the battle tank framework for digital transformation* Gain insight into the confluence of DevOps and ITIL* Adapt ITIL processes in DevOps projects* Move organizations from a project to a product-led model * Lead teams in a digital world* Manage the work of remote teamsWHO THIS BOOK IS FORIT consultants and IT professionals who are looking for guidance to strategize, plan and implement digital transformation initiatives; design and redesign ITIL processes to adapt to the digital ways of working; moving organizations to product-led business; and leading people and managing work in the digital age.ABHINAV KRISHNA KAISER works as a consulting partner in a leading consulting firm. He has led several digital transformation programmes across customers from various sectors. He consults with clients on various transformation initiatives that can be undertaken to come ahead of the curve.Abhinav has worked in past as DevOps architect, Agile coach, service architect and programme manager among other roles. He has conducted several trainings in multiple geographies on DevOps, Agile and ITIL in classroom and remote setting. His achievements include successfully transforming customers into digital ways of working, modernizing applications, implementing DevOps and automation, developing customized service frameworks for specific customer needs among others.In 2004, Abhinav started to write technical blogs and was one of the few leading bloggers at the time. He has written on several leading blogs such as Tech Republic, Train Signal and Plural Sight. He has written four books on ITIL and DevOps topics - Become ITIL Foundation Certified in 7 Days, Become ITIL 4 Foundation Certified in 7 Days, Reinventing ITIL® in the Age of DevOps, and Workshop in a Box: Communication Skills for IT Professionals.CHAPTER 1: DIGITAL TRANSFORMATION: THE DRIVER FOR BUSINESS SUCCESSChapter Goal: Introduction chapter where I bring in a common understanding of digital transformation, and some of the big pieces that make it upNo of pages : 25 pagesSub -Topics• Disrupting Business Models• Connected Systems• Digital Competition• Digital Principles• Rethinking Value• Voice of the CustomerCHAPTER 2: ITIL 4, VALUE STREAMS AND ITS EVOLUTION FROM ITIL 2011Chapter Goal: ITIL 4 is introduced from the perspective of value streams. The importance of looking from a value stream perspective is brought forth and compared against the previous versions of ITILNo of pages : 30 pagesSub -Topics• ITIL 4 in a Snippet• ITIL 2011 vs ITIL 4• Value Streams• Measuring and Assessing Value StreamsCHAPTER 3: DEVOPS OVERVIEWChapter Goal: A DevOps 101 for context settingNo of pages : 25 pagesSub -Topics• What is DevOps?• DevOps Benefits• Principles and MethodologiesCHAPTER 4: DEVOPS TEAMSChapter Goal: A look at the DevOps teams and the inclusion of ITIL rolesNo of pages: 20Sub – Topics:• Introduction to DevOps teams• Role definitions• DevOps, ITIL and Other Roles• Finding synergyChapter 5: DEVOPS VS ITILChapter Goal: Current setting of ITIL in DevOps projectsNo of pages : 25 pagesSub -Topics• DevOps vs ITIL Conflicts• Misalignment of goals and objectives• How DevOps is assumed to have replaced ITIL• Obsolete Processes• Future of ITILChapter 6: MANAGING INCIDENTS AND OTHER SUPPORT RELATED PROCESSESChapter Goal: The objectives around incident resolution remains the same, however, in the age of digital transformation, going about resolving incidents is a different game altogether.No of pages : 35 pagesSub - Topics:• Incident management objectives• Lean version of incident management• Incident management tools• DevOps fitmentChapter 7: THE FUTURE OF CHANGE AND RELEASE MANAGEMENTChapter Goal: Change management was once a bureaucratic process involving multiple approvals. The chapter discusses the modifications required for this process to be effectiveNo of pages: 40Sub – Topics:• Continuous Delivery vs Continuous Deployment• Change and Release Management Scope• Release cycles• change and release toolsCHAPTER 8: CONFIGURATION MANAGEMENT ADAPTATIONChapter Goal: Adapt the ITIL configuration management process to fit into a DevOps modelNo of pages: 35Sub - Topics:• Comprehensive configuration management• Management of CCM• Configuration management tools• DevOps fitmentCHAPTER 9: PRODUCT MODELChapter Goal: In the new ways of working, we move away from working on projects and start to center around a product. This chapter delves into how this is done and why this is required.No of pages: 25 pagesSub - Topics• Project to Product Model Shift• Operating models• Leveraging CrowdCHAPTER 10: PEOPLE AND LEADERSHIPChapter Goal: This chapter is on people and how people drive digital transformation more than the technology. I further talk about the leadership aspects of the digital ageNo of pages : 25 pagesSub -Topics• Digital Transformation is from People• Digital Leadership• People and Talent
Software Engineering
Das Handbuch fürs Selbststudium, für den Job oder vorlesungsbegleitend* erfahrungsbasierter Über- und Einblick ins Software Engineering, der sowohl die Theorie als auch die Praxis abdeckt* umfassend, verständlich und praxiserprobtDas Buch vermittelt die Grundlagen, Erfahrungen und Techniken, die den Kern des Software Engineerings bilden. Es ist als Material zu Vorlesungen über Software Engineering konzipiert. Auch für Praktiker, die mit der Softwareentwicklung und -bearbeitung und den dabei auftretenden Problemen vertraut sind, ist das Buch sehr gut geeignet, um die Kenntnisse im Selbststudium zu ergänzen und zu vertiefen. Der Inhalt des Buches ist in fünf Hauptteile gegliedert:- Grundlagen- Menschen und Prozesse- Daueraufgaben im Softwareprojekt- Techniken der Softwarebearbeitung- Verwaltung und Erhaltung von SoftwareAuch auf die Ausbildung zukünftiger Software Engineers wird eingegangen. Ergänzende Informationen sind auf der Webseite der Autoren verfügbar: https://se-buch.de.Prof. Dr. rer. nat. Jochen Ludewig geboren 1947 in Hannover. Studium der Elektrotechnik (TU Hannover) und Informatik (TU München); Promotion 1981. 1975 bis 1980 Gesellschaft für Kernforschung, Karlsruhe, dann Brown Boveri Forschungszentrum in Baden/Schweiz. 1986 Assistenzprofessor an der ETH Zürich, 1988 Ruf auf den neuen Lehrstuhl Software Engineering an der Universität Stuttgart. Arbeitsgebiete: Softwareprojekt-Management, Software-Prüfung und Software-Qualität, Software-Wartung. Ab 1996 Konzeption und Aufbau des Diplomstudiengangs Softwaretechnik, der inzwischen in einen Bachelor- und einen Masterstudiengang umgewandelt wurde. Seit 2009 Fellow der Gesellschaft für Informatik (GI). Prof. Dr. rer. nat. Horst Lichter geboren 1960 in Trier. Studium der Informatik und Betriebswirtschaftslehr (TU Kaiserslautern). Wissenschaftlicher Mitarbeiter (ETH Zürich und Universität Stuttgart), Promotion 1993. Anschließend Schweizerische Bankgesellschaft Zürich und ABB Forschungszentrum Heidelberg. 1998 Ruf an die RWTH Aachen University, Leiter des Lehr- und Forschungsgebiets Software-Konstruktion. Arbeitsgebiete: Software-Architektur, Qualitätssicherung, Software-Evolution. Seit 2005 Lecturer an der Thai German Graduate School of Engineering (TGGS) in Bangkok. Von 2018-2021 Adjunct Lecturer an der Universiti Teknologi Petronas (UTP) Malaysia.
IT-Governance
Ordnungsrahmen und Handlungsfelder für eine erfolgreiche Steuerung der Unternehmens-ITDas Werk behandelt sowohl Grundsätzliches zu IT-Governance als auch die einzelnen Handlungsfelder der IT-Governance im Detail. Dabei geht die Darstellung insbesondere über die weit verbreitete GRC-Fokussierung hinaus. Dies führt dazu, dass die Gebiete der IT-Governance integriert dargestellt werden, so wie dies in der Praxis auch erforderlich ist. Insofern befasst sich das Buch neben der grundlegenden Darstellung der IT-Governance mit den Stakeholdern der IT-Governance und der Governance-Verantwortung in den Bereichen der Organisation der Unternehmens-IT, der IT-Risiken, der IT-Compliance, der Data Governance, des Wertbeitrags der IT, dem Business/IT-Alignment und der IT-Sicherheit. Auch auf für IT-Governance relevante Normen und Standards (ISO 38500, COBIT etc.) wird kontinuierlich Bezug genommen. Vor allem wird immer wieder die Schnittstelle zwischen IT-Governance und IT-Management dargestellt, sodass klar zwischen Governance- und Managementverantwortung unterschieden wird.Autoren:Prof. Dr. Michael Klotz ist seit 1999 Professor für Betriebswirtschaftslehre, insb. Informationsmanagement, Organisation und Datenverarbeitung an der Hochschule Stralsund. Davor war er 15 Jahre in der IT-Branche als Berater, Projektmanager und Geschäftsführer tätig. Seine fachliche Arbeit dokumentiert sich in über 100 Publikationen zu IT-Governance, IT-Compliance und Projektmanagement.Prof. Dr. Matthias Goeken ist Professor für Wirtschaftsinformatik an der Hochschule der Deutschen Bundesbank. Zuvor war er Juniorprofessor an der Frankfurt School of Finance & Management und dort Mitbegründer und Leiter einer Forschungsgruppe zum Themengebiet IT-Governance. Zu seinen weiteren Forschungsgebieten zählen Business Intelligence und Machine Learning. Im ISACA Germany Chapter ist er Vizepräsident für Publikationen.Dr. Martin Fröhlich ist selbstständiger IT-Berater mit den Schwerpunkten Strategie-, IKS-Beratung und IT-Compliance. Davor war er 30 Jahre bei einer Big-Four-Wirtschaftsprüfungsgesellschaft tätig, davon knapp 20 Jahre als Partner verantwortlich für IT-Prüfung und Beratung im Finanzdienstleistungssektor. Dr. Fröhlich ist Mitglied des FAIT beim IDW und Vizepräsident des ISACA Germany Chapter.Die Autoren sind Mitherausgeber der Zeitschrift „IT-Governance“.Zielgruppe:IT-Governance-VerantwortlicheIT-Compliance-OfficerRisk-Manager*innenIT-Manager*innen, CIOsIT-Berater*innenIT-Auditor*innenStudierende
Excel Power Pivot und Power Query für Dummies
Wie Sie mit Microsoft Power Pivot und Power Query große Datenmengen in Excel zusammenführen, untersuchen und weiterführende Erkenntnisse daraus gewinnen, zeigt Ihnen dieses Buch. Angefangen bei der Anbindung an Datenbanken bis hin zur Verwendung eigener Formeln und Funktionen: Sie erfahren, wie Sie Daten aus verschiedenen Datenquellen in einem einheitlichen Datenmodell verarbeiten, interpretieren und übersichtlich in Berichten darstellen. Schritt-für-Schritt-Anleitungen und wertvolle Praxistipps unterstützen Sie dabei, Analysen und Geschäftsprozesse weiter zu optimieren. Michael Alexander ist Microsoft Certified Application Developer und hat mehrere Bücher zu Access und Excel geschrieben.Über den Autor 9Einführung 19TEIL I: FORTGESCHRITTENES REPORTING MIT POWER PIVOT 23Kapitel 1: Denken wie eine Datenbank 25Kapitel 2: Einführung in Power Pivot 35Kapitel 3: Die grundlegende Pivot- Tabelle 49Kapitel 4: Verwendung externer Daten mit Power Pivot 85Kapitel 5: Direkt mit dem internen Datenmodell arbeiten 113Kapitel 6: Hinzufügen von Formeln zu Power Pivot 127Kapitel 7: Dax 147TEIL II: DATEN MIT POWER QUERY VERARBEITEN 165Kapitel 8: Einführung in Power Query 167Kapitel 9: Power- Query- Verbindungstypen 185Kapitel 10: Bessere Daten durch Transformation 201Kapitel 11: Abfragen miteinander verknüpfen 233Kapitel 12: Power Query mit benutzerdefinierten Funktionen erweitern 251TEIL III: DER TOP-TEN-TEIL 271Kapitel 13: Zehn Wege zur Verbesserung der Power- Pivot- Leistung 273Kapitel 14: Zehn Tipps für die Arbeit mit Power Query 281Abbildungsverzeichnis 293Stichwortverzeichnis 303
Nextcloud Schnelleinstieg
Ein Überblick über die wichtigsten Einstellungen wie das Erstellen von Benutzern und Gruppen, ein Kapitel zum Thema Sicherheit sowie praktische Tipps für die optimale Strukturierung der eigenen Cloud runden diesen praktischen Einstieg ab. So sind Sie bestens vorbereitet, das Potenzial Ihrer Cloud voll auszuschöpfen.Ein Kapitel über die optimale Strukturierung der eigenen Cloud rundet diesen praktischen Einstieg ab. So sind Sie bestens vorbereitet, das Potenzial Ihrer Cloud voll auszuschöpfen.Herbert Hertramph publiziert neben seiner Tätigkeit als Sozialwissenschaftler an der Universität Ulm Artikel zu Themen der Selbstorganisation und des digitalen Informationsmanagements. Im mitp-Verlag sind von ihm mehrere Bücher zu Evernote, Raspberry Pi und zur Dateiorganisation erschienen.
AutoCAD 2023 und AutoCAD LT 2023 für Architekten und Ingenieure
* Einführung in die wichtigsten Bedienelemente * Konstruktionsbeispiele aus Architektur, Handwerk und Technik * Zahlreiche Praxisbeispiele und Übungen Dieses Grundlagen- und Lehrbuch zeigt Ihnen anhand konkreter Praxisbeispiele aus Architektur, Handwerk und Technik die Möglichkeiten von AutoCAD 2023 und AutoCAD LT 2023 und bietet insbesondere AutoCAD-Neulingen einen gründlichen und praxisnahen Einstieg in CAD. Mit dem Buch und der 30-Tage-Testversion von der Autodesk-Webseite können Sie sofort beginnen und Ihre ersten Zeichnungen erstellen. Sie arbeiten von Anfang an mit typischen Konstruktionsaufgaben aus Studium und Praxis. Zu jedem Kapitel finden Sie Übungsaufgaben, Testfragen und Lösungen. Zahlreiche Befehle werden detailliert erläutert, wie zum Beispiel: * Zeichnen mit LINIE, KREIS, BOGEN, Polylinie, Schraffur und weitere * Bearbeiten (VERSETZ, STUTZEN, DEHNEN, STRECKEN, Skalieren und weitere), Anordnungen rechteckig, polar oder entlang Pfaden, Griffe, Eigenschaften-Manager * Komplexe Objekte: BLOCK, Palette, Editor, Attribute, externe Referenzen * Einführung in 3D-Volumenkörper, Netzkörper und NURBS-Flächen (Freiformmodellierung) * Vergleichsfunktion für Zeichnungen und externe Referenzen * Benutzeroberfläche anpassen, Makro-Aufzeichnung * Deutsche Beschreibung der englischen Expresstools Aus dem Inhalt: * Allgemeine Bedienung mit Multifunktionsleisten, Registern und Paletten * Schnelleinstieg ins Zeichnen mit Rasterfang * Exaktes Zeichnen mit Koordinaten, Objektfang und Spurlinien * Zeichnungsorganisation mit Layern, Vorlagen und Standards * Texte, Schriftfelder und Tabellen, Verbindung zu Excel * Bemaßungsbefehle und Bemaßungsstile, Spezialfälle * Parametrische Variantenkonstruktionen, dynamische Blöcke * Zusammenarbeit über Web- und Mobil-App, Ablaufverfolgung mit BAND-Funktion * Maßstäbliches Plotten, auch bei verschiedenen Einheiten (mm, cm, m) * Neue Funktionen für Web und Mobile * Zahlreiche Übungsfragen mit Antworten Zum Download: * Alle Beispiele * zusätzliche Übungen, 3D-Beispiele und AutoLISP-Anleitung * Video-Tutorials * Vorlagen * Mac-spezifische Bedienung Für PC und Mac: Alle Funktionen werden anhand der PC-Versionen ausführlich beschrieben. Auch die grundlegenden Abweichungen in der Benutzeroberfläche der Mac-Versionen werden vorgestellt. Detlef Ridder hat bereits zahlreiche Bücher zu AutoCAD, Inventor, Revit und ArchiCAD veröffentlicht und gibt Schulungen zu diesen Programmen und im Bereich CNC.
Blogging All-in-One For Dummies
BLOG WITH THE BEST OF ‘EM!If you’re looking for a complete guide to creating and solidifying your place in the blogosphere, you’ve come to the right place! With 8 books in one, Blogging All-in-One For Dummies is the only resource you’ll need to get started or to improve your existing blog. Learn about the most popular blogging platforms, creating content worth reading, and methods for driving traffic to your blog. Cut through the confusion and find the facts about monetizing your blog, using the best blogging tools for you, and increasing reader engagement to become an active, successful member of the blogging community. You're ready to start blogging, so let Dummies show you the way!* Perfect your blog idea and choose the best platform for you* Get people to read your blog through search engine optimization and social media promotion* Learn about the latest trends in the blogosphere* Make money from your blog with creative monetization ideasBloggers of all skill and experience levels will find valuable information in Blogging All-in-One For Dummies. AMY LUPOLD BAIR is the founder of Resourceful Mommy Media, LLC, and the author of the parenting and lifestyle blog, Resourceful Mommy. She is the author of Blogging For Dummies, 7th Edition. Introduction 1BOOK 1: ENTERING THE BLOGOSPHERE 7Chapter 1: Joining the Blogosphere 9Chapter 2: Preparing to Start and Write a Blog 27Chapter 3: Blogging Basics 43Chapter 4: Blogging Best Practices 67BOOK 2: NICHE BLOGGING 81Chapter 1: Understanding Niche Blogging 83Chapter 2: Benefiting from a Niche Blog Approach 99Chapter 3: Choosing Your Niche 111Chapter 4: Writing for Your Niche 127BOOK 3: CORPORATE AND NON-PROFIT BLOGGING 149Chapter 1: Starting a Business Blog 151Chapter 2: Developing a Blog Plan 177Chapter 3: Choosing Bloggers 199Chapter 4: Writing an Organization’s Blog 215Chapter 5: Keeping Yourself and Your Organization Out of Trouble 227BOOK 4: FIGURING OUT BLOGGING PLATFORMS 241Chapter 1: Choosing a Blogging Platform 243Chapter 2: Finding the Right Blogging Platform 253Chapter 3: Taking a Look at WordPress 269Chapter 4: Using Google Blogger 301Chapter 5: Understanding Medium 331Chapter 6: Blogging with Wix 365BOOK 5: BLOGGING TOOLS 401Chapter 1: Optimizing for Search Engines 403Chapter 2: Measuring Blog Performance 419Chapter 3: Enhancing Content 435Chapter 4: Staying Organized 455BOOK 6: PROMOTING AND GROWING YOUR BLOG 479Chapter 1: Secrets to Blogging Success 481Chapter 2: Building Community 491Chapter 3: Social Networking 499Chapter 4: Distributing Content 515Chapter 5: Inviting or Being a Guest Blogger 529BOOK 7: MAKING MONEY FROM YOUR BLOG 539Chapter 1: Blog Advertising 101 541Chapter 2: Publishing Advertising 549Chapter 3: Making Money with Affiliate Marketing 575Chapter 4: Publishing Sponsored Posts 589Chapter 5: Monetizing with Social Commerce 603Chapter 6: Selling Ad Space Directly 623Chapter 7: Benefiting from Indirect Monetization Opportunities 633BOOK 8: MOVING BEYOND WRITING BLOG POSTS 641Chapter 1: Painting a Picture with Visual Content 643Chapter 2: Reaching Your Audience with Video Content 665Chapter 3: Getting Social with Social Media 683Chapter 4: Creating a Podcast 711Index 727
Outlook professionell nutzen für Dummies
Ein überquellendes Postfach, zu viele Meetings, nie genügend Zeit? Nutzen Sie Outlook richtig - nicht nur zum Mailen, sondern auch und vor allem zur Organisation Ihrer Kontakte, Termine und Aufgaben. Christine Peyton und Andre Möller zeigen Ihnen, wie Ihnen Outlook hilft, sich zu organisieren, Prioritäten zu setzen und vieles mehr. Planen Sie Besprechungen mit mehreren Teilnehmern und nutzen Sie die Funktionen von Microsoft 365 für die Zusammenarbeit. Halten Sie Ihren Posteingang aufgeräumt, finden Sie Mails und Unterlagen schnell wieder, lassen Sie sich Terminüberschneidungen anzeigen, reservieren Sie Räume und Geräte und archivieren Sie mit System. Beherrschen Sie das Chaos! Christine Peyton schreibt seit fast 20 Jahren EDV-Fachbücher für namhafte Verlage. Ihr Schwerpunkt liegt im Office-Bereich, sie hat aber auch Bücher zu Windows, zur Fotobearbeitung und zum Internet veröffentlicht. Außerdem arbeitet sie als Dozentin in der Erwachsenenbildung. Sie unterrichtet neben EDV-Themen auch Englisch sowie Business-Englisch.Andre Möller ist ein langjähriger EDV-Fachbuchautor, außerdem arbeitet er als Trainer und Programmierer. Als Programmierer liegt sein Schwerpunkt auf Datenbanken und Web-Entwicklung.Über die Autoren 9Einleitung 19TEIL I: OUTLOOK KENNENLERNEN: DIE GRUNDLAGEN 23Kapitel 1: Outlook als Alleskönner – die Module im Überblick 25Kapitel 2: Outlook als E- Mail- Programm 33Kapitel 3: E- Mails mit und ohne Anhang verschicken 65Kapitel 4: E- Mails mit Pfiff 83Kapitel 5: Nachrichten empfangen 101TEIL II: DATEN VERWALTEN, ARCHIVIEREN UND VERSCHLÜSSELN 139Kapitel 6: PST- Dateien, mehrere Konten und Mails archivieren 141Kapitel 7: Sicherheit und Sicherheitsrisiken 161TEIL III: SO ORGANISIEREN SIE IHREN ARBEITSALLTAG MIT OUTLOOK 189Kapitel 8: Termine in Outlook 191Kapitel 9: Termine eingeben, bearbeiten und verwalten 213Kapitel 10: Aufgaben erstellen 265Kapitel 11: Kontakte managen 281Kapitel 12: Outlook- Kontakte für den Serienbrief nutzen 305Kapitel 13: Praktische Gedächtnisstützen – Notizen 319Kapitel 14: Importieren, exportieren und synchronisieren 325Kapitel 15: Kollaboration in einer Organisation 357TEIL IV: TOP-TEN-TEIL 373Kapitel 16: Zehn Tipps für den geschickten Umgang mit Outlook 375Abbildungsverzeichnis 385Stichwortverzeichnis 399
Software Architect
A STRATEGIC STATE-OF-THE-ART SOFTWARE ARCHITECTURE MANUAL FOR ALL SKILL LEVELSIn Software Architect, veteran enterprise and solution architect Michael Bell delivers a hands-on playbook of best practices for aspiring and practicing software architects, seeking to improve their software design, integration, communication, presentation, and knowledge acquisition skills. He explores the career enablement, career planning, self-training, and self-improvement topics you’ll need to increase your ability to offer powerful and effective business and technological solutions. In the book, you’ll learn how to help companies promote business and technological transformation by implementing modern and first-class software design, deployment, integration, and operations. Software Architect also includes:* A modern software architect’s toolbox that includes best practices for multi-dimensional software design and integration in an enterprise quantum computing ecosystem * A breakdown of the various types of software architects, as well as useful self-assessments for aspiring and practicing professionals* Skill acquisition strategies for software architects along with strategic approaches to ace software architecture interviews An indispensable manual for aspiring to be architects, software architects-in-training, and practicing software architects. Software Architect is an essential read for anyone hoping to improve their ability to deliver robust business and technical solutions to enterprises everywhere. MICHAEL BELL is an enterprise and solution architect with hands-on experience in business and software architecture modeling. He has consulted for organizations including J.P. Morgan Chase, Citibank, Bank One, UBS-Paine Webber, American Express, AIG, and the US government. He is the best-selling author of software architecture books, and he offers a variety of enterprise integration solutions for back-end and customer-facing systems. Introduction xxiiiPART 1 SOFTWARE ARCHITECT CAPABILITY MODEL 1CHAPTER 1 SOFTWARE ARCHITECT CAPABILITY MODEL 3Software Architect Capability Model: Benefits 4How Should Organizations Utilize the Software Architect Capability Model? 4Why Create a Personal Software Architect Capability Model? 5Rudimentary Guiding Principles 6Software Architect Capability Model Creation Process 6Requirements Drive Architecture Solutions 7Requirements Issued by Problem and Solution Domain Entities 7How Do the Problem and Solution Domains Collaborate? 7Important Facts to Remember 9Create a Software Architect Capability Model in Five Steps 9Step 1: Provide Requirements and Specifications 10Business Requirements 10Technical Specifications 11Ensure Clear Requirements 11Step 2: Identify Software Architecture Practices 12Establish Architecture Practices 12Step 3: Establish Software Architecture Disciplines 13Apply Architecture Disciplines to Architecture Practices 14Applying Disciplines to the Application Architecture Practice 14Applying Disciplines for the Data Architecture Practice 16Step 4: Add Software Architecture Deliverables 17About Software Architecture Deliverables 17Add the Deliverables Section 18Step 5: Quantify Skill Competencies 21Quantifying Architecture Skills 22Measuring the Application Architect Skill Levels 22Measuring Data Architect Skill Levels 24Skill Competency Patterns for Architects 25How Can Organizations Utilize the Skill Competency Pattern? 26How an Individual Can Utilize the Skill Competency Pattern 27Interview Questions 28PART 2 SOFTWARE ARCHITECTURE CAREER PLANNING 29CHAPTER 2 TYPES OF SOFTWARE ARCHITECTS 31Business Needs for Technological Solutions 32Business Needs for Software Architecture: Strategic Collaboration 32How Does Software Architecture Respond to Business Needs? 33Business Needs for Software Architecture: Technological Mediation 33How Could Technological Mediation Efforts Be Utilized? 34Business Needs for Software Architecture: Technological Implementation 34How Does the Implementation of Software Products Meet Business Needs? 34Organizational Leading Software Architect Levels 35Ranking Leading Software Architects 35Collaboration Hierarchy of Leading Software Architects 36Level I: Enterprise Architect Responsibilities 38Enterprise Architect Summary of Responsibilities 38Enterprise Architect Responsibility Table 39Level II: Solution Architect Responsibilities 40Solution Architect Summary of Responsibilities 41Solution Architect Responsibility Table 42Level III: Application Architect Responsibilities 44Application Architect Summary of Responsibilities 44Application Architect Responsibilities Table 46Comparing Responsibilities of Leading Software Architects 48Types of Domain Software Architects 49Data Architect 49Data Architect Summary of Responsibilities 50Data Architect Responsibilities Table 51Cloud Architect 51Cloud Architect Summary of Responsibilities 54Cloud Architect Responsibilities Table 55Security Architect 57Security Architect Summary of Responsibilities 58Security Architect Responsibilities Table 60Business Architect 62Business Architect Summary of Responsibilities 62Business Architect Responsibilities Table 63Collaboration Between Leading Software Architects and Domain Software Architects 65Use Case I: Collaboration Between an Application Architect and a Data Architect 66Application Architect and Data Architect Collaboration Table 66Use Case II: Solution Architect and Security Architect 68Solution Architect and Security Architect Collaboration Table 68Use Case III: Business Architect and Enterprise Architect Collaboration 70Business Architect and Enterprise Architect Collaboration Table 70CHAPTER 3 CAREER PLANNING FOR SOFTWARE ARCHITECTS: A WINNING STRATEGY 73Software Architecture Career Planning Process 74Career Planning Step 1: Conduct Self- Discovery 75Discovery of Technological and Social Talents 75Career Planning Self- Discovery Subjects 76Career Planning Step 2: Pursue Research 76Formal Education, Training, and Certification 77Employment Opportunities and Interviews 77Subjects of Research 77Career Planning Step 3: Devise an Approach 78Setting Software Architecture Career Goals 78Setting Software Architecture Career Milestones 80Decision- Making 81Action Planning 82Career Planning Step 4: Plan Career Execution 85Use Case I: A Software Architecture Career Execution Plan with Alternative Tasks 85Use Case II: Optimized Software Architecture Execution Plan 88Self- Discovery Process: The Six Ws 89The “Why” 90The “Who” 91The “What” 92Self- Discovery Questions for Software Architecture Candidates 93Self- Discovery Queries for Software Architects 93The “Where” 94The “When” 95The “How” 96“How” Self- Queries for Software Architecture Applicants 97“How” Self- Questions for Practicing Software Architects 97Carving a Software Architecture Career Path 98The 4D Software Architecture Career Perspectives 99Social- Driven Career Perspective 100Social- Driven Career Chart 100Carve Out a Social- Driven Career Chart 101Social- Driven Career Path 102Create a Social- Driven Career Path 102Technology- Driven Career Perspective 103Technology- Driven Career Chart 104Create a Technology- Driven Career Chart 105Technical- Driven Career Path 106Develop a Technical- Driven Career Path 106Leadership- Driven Career Perspective 107Leadership- Driven Career Chart 108Create a Leadership- Driven Career Chart 109Leadership- Driven Career Path 110Develop a Leadership- Driven Career Path 110Strategy- Driven Career Perspective 112Strategy- Driven Career Chart 112Create a Strategy- Driven Career Chart 114Strategy- Driven Career Path 114Develop a Strategy- Driven Career Path 115CHAPTER 4 SELF- ASSESSMENT FOR SOFTWARE ARCHITECTS 117Social Intelligence 118Teamwork 118Partnership 119Self- consciousness 119Communication 120Networking 120Soft Skills 120Trust Building 121Learning from Others 121Negotiation 122Self- presentation 122Teleworking 123Fellowship 123Self- sufficiency 124Handling Customer Relationships 124Social Intelligence Skill Assessment 124Software Architecture Practice 126Software Architecture Strategy 126Software Architecture Vision 127Software Architecture Role 127System Integration 128Interoperability 128Software Reuse 129Distributed Architecture Model 129Federated Architecture Model 129Architecture Styles 130Architecture and Design Patterns 130Componentization 130Software Architecture Frameworks 131Software Development 131Software Architecture Practice Skill Assessment 132Leadership 133Managing Time 134Decision- Making 134Problem-solving 134Diversity, Equity, and Inclusion 135Responsibility and Accountability 135Hiring Preferences 136Creative Thinking 136Critical Thinking 136Being Proactive 137Establishment of Trust 137Administrative Duties 138Coaching and Training 138Team Building 139Resolving Conflicts 139Assessment of Leadership Competencies 140Strategy 141Software Architecture Strategy 142Strategic Thinking 142Problem Identification 142Problem-solving 143Abstraction 143Generalization 144Visualization 144Software Design Approaches 145Simplification 145Analytical Capabilities 145Influencing 146Promoting Culture 146Strategy Execution Plan 147Assessment of Strategic Competencies 147PART 3 SOFTWARE ARCHITECTURE TOOLBOX 149CHAPTER 5 EMPLOYING INNATE TALENTS TO PROVIDE POTENT ORGANIZATIONAL SOLUTIONS 151Innate Skills Promote Software Architecture Effectiveness 152Remember: Survival, Survival, Survival 152Consequences of Failing to Invoke Innate Talents 153Employ Chief Innate Talents to Become an Effective Software Architect 154The Power of Creativity 154The Benefits of Unleashing Software Architecture Creativity 155Unleash the Power of Software Architecture Creativity 155The Potency of Imagination 157The Benefits of Harnessing Imagination 158Unleash the Power of Imagination 159Software Design Aesthetic 162Technical Proficiency and Aesthetic Talents Drive Software Design 162The Chief Contribution of Design Aesthetic Talents to Software Architecture 163Curiosity Attributes 167The Contribution of Curiosity to Software Architecture 167The Influencing Facets of Curiosity on Software Architecture Practices 168CHAPTER 6 SOFTWARE ARCHITECTURE ENVIRONMENT CONSTRUCTION 173Benefits of the Software Architecture Environment Construction Discipline 174Must Haves: Problem Statements and Requirements 174Never Start a Software Design Project Without Understanding the Problems 175Never Start a Software Design Project Without Requirements 176Software Architecture Structures 176Micro Level: Multidimensional Structures of Software Implementations 176Macro Level: 3D Software Architecture Environment Structure 177Software Architecture Environment: Driven by an Uncontrolled Quantum Landscape Behavior 178Software Architecture Environment: An Intelligent Topological Space 179Deformation Aspects of a Multidimensional Software Architecture Environment 181Entanglement Effects in a Software Architecture Environment 182Software Architecture Environment Forces Drive Software Behavior 183Probability Assessment of Software Operations and Behavior 184Software Architecture Environment Positive and Negative Forces 184Software Architecture Environment Gravitational Forces 185The Impetus for Granting Software Architecture Gravitational Powers to Software Implementations 186Software Architecture Gravitational Force Intensity 187The Cost of Unbalanced Software Architecture Environment Gravitational Forces 187Competing Software Architecture Environment Forces 188Software Architecture Environment: A Survival Game Space 188Maintaining a Pragmatic Balance Between Competing Software Architecture Forces 189Mitigating the Competing Forces Challenge 190Software Architecture Environment Harmonizing and Disharmonizing Forces 190Chief Properties of Harmonizing Forces in a Software Architecture Environment 191Chief Properties of Disharmonizing Forces in a Software Architecture Environment 193Genetic Encoding of a Software Architecture Environment 194Difficulties of Restructuring a Software Architecture Environment 194Encoding a Software Architecture Environment 195Influences on Social, Behavioral, and Business Goals 195Software Architecture Environment Construction Life Cycle 196Software Architecture Environment Construction Process 197Creating a Software Architecture Environment Construction Balance Table 197Software Architecture Environment Construction Design Activities 199Use Case I: Software Architecture Environment Composition and Decomposition Design Activities 201Design- Time vs. Runtime Environment Composition and Decomposition Design Activities 201Composition and Decomposition Design Methods 202Composition and Decomposition Process Outline 203Use Case II: Software Architecture Environment Integration and Disintegration Design Activities 204When to Apply Integration and Disintegration Design Activities 205Integration and Disintegration Design Methods 205Integration and Disintegration Process Outline 206Use Case III: Software Architecture Environment Centralization and Decentralization Design Activities 208When to Employ the Software Environment Centralization and Decentralization Design Activities 208Centralization and Decentralization Design Methods 209Software Architecture Environment Centralization and Decentralization Process Outline 210Use Case IV: Software Architecture Environment Elasticity and Inelasticity Design Activities 211CHAPTER 7 WHEN TO EMPLOY ELASTICITY AND INELASTICITY DESIGN ACTIVITIES 212Elasticity and Inelasticity Design Methods 213Software Architecture Elasticity and Inelasticity Design Process Outline 214Use Case V: Software Architecture Environment Synchronization and Desynchronization Design Activities 215When to Employ Environment Synchronization and Desynchronization Design Activities 216Environment Synchronization and Desynchronization Design Methods 216Software Architecture Environment Synchronization and Desynchronization Design Process Outline 218Construction Laws of a Software Architecture Environment 219Best Practices for Software Architecture Environment Construction 220Structural Construction of Software Implementations in Multidimensional Environments 223Software Architecture Solids: Rudimentary Geometrical Design Structures 224Atomic Solid 225Composite Solid 227Monolithic Solid 228Interface Solid 229Pipe Solid 230Inclusive Utilization of Pipe Solids 231Exclusive Utilization of Pipe Solids 232Internal Utilization of Pipe Solids 233Data Solid 234Software Architecture Solids’ Attribute Summary 236Software Architecture Dimensional Model 237Software Architecture: Zero Dimension 238Software Architecture: One Dimension 239Software Architecture: Two Dimensions 240What Impacts the Length and Width Dimensions of a2D Software Structure? 241Software Architecture: Three Dimensions 242Volumes of 3D Software Structures 242Increase in Software Architecture Level of Specificity in a3D Computing World 243Software Population Sustainability in an Architecture Environment Space: A Capacity Planning Challenge 245Comparative Perspectives in a Software Architecture Space 2463D Software Structures in a Software Architecture Computing Space 247The Impetus for Establishing a 3D Software Architecture Space 247Chief Features of Software Architecture Computing Space 249Influences of Software Structures on Software Architecture Computing Space 250Relative Positions in a 3D Software Architecture Computing Space 250Coordinate Axes: Skeleton of a Software Architecture Computing Space 251Software Architecture Computing Space Logical Coordinate System 252Cardinal and Intercardinal Physical Directions in Software Architecture Computing Space 253Applying Cardinal and Intercardinal Directions to Software Architecture Computing Space 254Marrying a Logical Coordinate System with Cardinal and Intercardinal Physical Directions System 255Leveraging the Z- Axis to Create Floors in a Software Architecture Computing Space 256Distribution Styles of 3D Software Implementations in an Architecture Computing Space 257Federated Distribution Style 258Flooring Distribution Style 260Symmetrical and Asymmetrical Distribution Styles 261Symmetrical Distribution Style 261Asymmetrical Distribution Style 263Construction Life Cycle of Software Implementations 264Software Construction Process 265Creating a Software Construction Balance Table 265Software Construction Design Activities 266Use Case I: Thicken and Contract Design Activities 267When to Apply Thicken and Contract Design Activities 268Thicken and Contract Design Methods 269Software Structure Thickening and Contracting Process Outline 270Use Case II: Lengthen and Shorten Design Activities 272When to Apply the Lengthen and Shorten Design Activities 273Lengthen and Shorten Design Methods 273Software Structure Lengthening and Shortening Process Outline 275Use Case III: Layer and Delayer Design Activities 277When to Apply Layer and Delayer Design Activities 277Layer and Delayer Design Methods 278Layer and Delayer Process Outline 279Governing Laws for Software Construction in a 3D Computing World 281Best Practices for Constructing Software Implementations 282PART 4 SOFTWARE ARCHITECTURE INTERVIEW PREPARATIONS 285CHAPTER 8 PREPARING FOR A SOFTWARE ARCHITECTURE INTERVIEW: A WINNING STRATEGY 287Software Architecture Job Interview Strategy 288Preparing a Job Interview Defense Plan 288Preparing a Job Interview Attack Plan 289Software Architecture Job Interview Preparation Model 290Software Architecture Job Interview Defense Plan 291Study and Analyze the Job Description 291Start with Identifying the Scope of the Software Architecture Job Requirements 292Dive Deep into the Software Architect Job Description 293Start with Analyzing the Summary Portion of the Job Requirements 294Create a Findings Table Version I for the Job Description 295Next, Analyze the Responsibilities Portion of the Job Requirements 296Then, Update the Findings Table Version II of the Job Description 296Last, Analyze the Software Architect Skills Portion of the Job Requirements 297Do Not Forget to Update the Findings Table of the Job Description 298Create a Software Architect Skill Competency Model for the Job Description 299Skill Competency Model’s Requirements and Practices 300Skill Competency Model’s Disciplines 301Design Discipline’s Deliverables 301Cybersecurity Discipline Deliverables 301Products Selection and Evaluation Discipline’s Deliverables 302SDLC Discipline’s Deliverables 302The Competency Part of the Skill Competency Model 303Discover the Personal Knowledge Gap Before Attending a Job Interview 303Assess Whether the Next Software Architecture Job Is a Strategic Career Move 304Conduct a Software Architecture Mock Interview 305Prepare a Software Architecture Interview Cheat Sheet 306Prepare for Possible Software Architecture Interview Questions 307Software Architecture Job Interview Attack Plan 308Study the Hiring Organization’s Business 309Start by Finding Information About the Hiring Organization 309CHAPTER 9 LEVERAGING BUSINESS KNOWLEDGE DURING AN INTERVIEW 311Understand the Business Model 312Get Familiar with the Hiring Company’s Culture 314Conduct a Quick SWOT Analysis 315Understand the Hiring Organization’s Technology 316Technological Information Sources 316Discover the Environment’s Technology Stack 318Learn About the Development Technology Stack 319Study the Applications 320Identify Specific IT Projects 321Demonstrate Enterprise Architecture Knowledge of the Hiring Organization 321Adopt Software Architecture Lingo 323Use Design Patterns Vocabulary 323Use the Software Architecture Guidelines Lingo to Communicate Solutions 324Remember Software Architecture Tools 328Classification of Software Architecture Tools 329Especially Prepare for Architecture Visualization Tools Questions 332Get Familiar with Software Architecture Analysis and Evaluation Methods 333Be Aware of Early Architecture Evaluation Methods 334Be Aware of Late Architecture Evaluation Methods 335Talk About Software Architecture Analysis Standards 335An Outline for Software Architecture Job Interview Questions 337Behavioral Questions 338Communication 339Interpersonal Relationships 340Software Architecture Leadership 340Skill Assessment Questions 341Software Architecture Attributes Questions 342Software Architecture LifeCycle Questions 343Software Architecture Concepts Questions 346Design Building Blocks Concepts 347Employ Design Building Blocks Concepts to Depict Solutions 347Prepare for the “How to Design” Interview Questions 348Software Architecture Environment Concepts 349Business Concepts 351Consumer Concepts 352Architecture Style, Architecture Pattern, and Design Pattern Questions 353Architecture Patterns vs. Design Patterns 353Understand Architecture Styles 355Remember Contextual Hierarchy of Patterns 355Why Interviewers Ask Architecture and Design Pattern Questions 356Prepare for Architecture and Design Pattern Questions 357Problem-solving and decision- making Questions 358Embrace the Software Architecture Problem- Solving and Decision- Making Process 358Identifying Business Problems 358Attend to the Problem- Solving and Decision- Making Process 359Prepare for Problem- Solving and Decision- Making Questions 360Data- Related Questions 360Focus on Data Aspects Related to Software Architecture 361More Data- Related Interview Questions 361Production Environment Questions 362Characteristics of Software Architecture Environment Hosted in Production 363Production Environment-Related Questions 364Software Architecture Framework Questions 365Focus on Array of Framework Contributions 365Software Architecture Framework Questions 367Index 369
Apple Device Management
Working effectively with Apple platforms at a corporate or business level includes not only infrastructure, but a mode of thinking that administrators have to adopt to find success. A mode of thinking that forces you to leave 30 years of IT dogma at the door. This book is a guide through how to integrate Apple products in your environment with a minimum of friction. Because the Apple ecosystem is not going away.You'll start by understanding where Apple, third-party software vendors, and the IT community is taking us. What is Mobile Device Management and how does it work under the hood. By understanding how MDM works, you will understand what needs to happen on your networks in order to allow for MDM, as well as the best way to give the least amount of access to the servers or services that’s necessary. You'll then look at management agents that do not include MDM, as well as when you will need to use an agent as opposed to when to use other options. Once you can install a management solution, you can deploy profiles on a device or you can deploy profiles on Macs using scripts.With Apple Device Management as your guide, you'll customize and package software for deployment and lock down devices so they’re completely secure. You’ll also work on getting standard QA environments built out, so you can test more effectively with less effort.This thoroughly revised and expanded Second Edition provides new coverage and updates on daemons and agents, declarative management, Gatekeeper, script options, SSO tools, Azure/Apple Business Essentials integrations and much more.YOU WILL* Deploy profiles across devices effectively and securely* Install apps remotely both from the app store and through custom solutions* Work natively with Apple environments rather than retrofitting older IT solutionsWHO THIS BOOK IS FORMac administrators within organizations that want to integrate with the current Apple ecosystem, including Windows administrators learning how to use/manage Macs, mobile administrators working with iPhones and iPads, and mobile developers tasked with creating custom apps for internal, corporate distribution.CHARLES EDGE is the Director of the Marketplace at Jamf. He holds 30 years of experience as a developer, administrator, network architect, product manager and CTO. He is the author of 20 books and more than 6,000 blog posts on technology, and has served as an editor and author for many publications. Charles also serves on the board of multiple companies and conferences, and frequently speaks at industry conferences around the world, including DefCon, BlackHat, LinuxWorld, the Apple Worldwide Developers Conference, and a number of Apple-focused conferences. Charles is also the author of krypted.com and a cohost of the MacAdmins Podcast.RICH TROUTON has been doing Macintosh system and server administration for 20+ years and has supported Macs in a number of different environments, including university, government, medical research, advertising and enterprise software development. His current position is at SAP, where he works with the rest of the Apple CoE team to support SAP's Apple community. CHAPTER 1: THE EVOLUTION OF APPLE DEVICE MANAGEMENTNeXTMac + Unix = Mac OS XEcosystem CoexistenceiOS Device ManagementiOS + Mac OS X = macOSImaging Is Dead?macOS – Unix = appleOSDon’t Forget The AppsSERVERSBALANCED APPLE SCORECARDAccess to organizational resourcesCradle to Grave device managementDirectory ServicesEndpoint ProtectionWorld class supportSummaryCHAPTER 2: AGENT-BASED MANAGEMENTDaemons and AgentsServicesLaunchDaemons and LaunchAgentsCreate Your Own DaemonThird Party DaemonsUse Lingon To See and change Daemons and Agents EasilyWorking with Daemons and Agents in ScriptsJamfMunkiChefPuppetRootlessThe Impact of UAMDMSummaryCHAPTER 3: PROFILESUse Apple Configurator to Create a ProfileView the Raw Contents of a ProfilesInstall a ProfileView a Profile from iOSView the Effects of a Profile on a MacRemove a ProfileRestrict Profile Installation on iOSUse the Profiles Command on macOSSummaryCHAPTER 4: A DEEP DIVE INTO MDMManaged PreferencesManaged ClientAPNsEnrollmentUAMDMHow MDM Commands WorkSending A CommandProfiles As CommandsDevice SupervisionSummaryCHAPTER 4: EXPLORING MDM WORKFLOWSWiping a Device Using Profile ManagerLocking a Device Using VMware Workspace ONEResetting a Device Lock Using Jamf ProDisabling the Camera Using MobileIronInstalling a Package from Jamf NowPushing a Password Policy from IntuneSummaryCHAPTER 5: APPS, VPP, AND APPLICATION DISTRIBUTIONInstall an ipa on iOSRewrapping an ipaInstall a .app on macOSInstall an installation Package on macOSSummaryCHAPTER 6: THE APP AND OS DISTRIBUTION BUILD TRAINAutopkgAutopkgrIntegrate Autopkgr With JamfIntegrate Autopkgr With Other ProductsSummaryCHAPTER 7: ACCESSING NETWORK SERVICESGetting on the Network802.1xDEP and Guest NetworksIdentity Providers and SaaS AppsAccessing FilesRemote ControlSummaryCHAPTER 7: SECURING YOUR FLEETSecuring the PlatformCombat Malware on macOSXprotectClamAVThird Party SolutionsThreat Management on iOSBinary WhitelistingComplianceCentralized Log Capture and AnalysisBeyond AgentsSummaryCHAPTER 8: A CULTURE OF CONTINUAL TESTINGManual TestingBuild A Testing MatrixAutomated TestingSikuliTestplantExpect ScriptingKanbanRelease ManagementSummaryCHAPTER 9: THE FUTURE OF APPLE DEVICE MANAGEMENTThe Future Of AgentsSummaryAPPENDIX 1: THE APPLE ECOSYSTEMAntivirusAutomation ToolsBackupCollaboration Suites and File SharingCRMDEP Splash Screens and Help MenusDevelopment Tools, IDEs, and Text ManipulatorsDigital Signage and KiosksDirectory Services and Authentication ToolsIdentity ManagementImaging and Configuration ToolsLog Collection and AnalysisManagement SuitesMiscPoint of SalePrint ServersRemote ManagementSecurity ToolsService Desk ToolsSoftware Packaging and Package ManagementStorageTroubleshooting, Repair, and Service ToolsVirtualization and EmulationHonorable MentionAPPENDIX 2: COMMON APPLE PORTS
Building With Ethereum
Build products on top of Ethereum's new and expansive technological stack.Writing any good web application requires planning, care, and deft technical skills, but Ethereum's execution model presents its own challenges for engineers wishing to build applications on top of its smart contract layer. Building performant and engaging product experiences is one of the most important – and often underappreciated – roles in any company.This book looks at the full product stack needed to build such experiences on top of Ethereum smart contracts, weaving tutorials and case studies through more conversational discussions of the various constraints, trade-offs, and complexities involved in doing so. You’ll learn about the fundamentals of Ethereum from a new perspective, developing a strong understanding of how the Ethereum Virtual Machine (EVM) works and how it affects product engineering, as well as all the pieces of technology that go into decentralized apps (dapps) behind the front end: RPC nodes, wallets, indexers, application hosts, and more. You’ll be exposed to plenty of UI, JavaScript code, and idiomatic ways to bring on-chain data into your front ends. And you’ll be given up-to-date knowledge of the best practices and future possibilities that decentralized computation might offer the product engineer.WHAT YOU WILL LEARN* Understand the EVM and how it works* Gain insight into smart contracts and how apps connect to them* Understand the difference between live data and indexed data* How decentralization affects the UI of applications* Build engaging, tasteful product experiences on top of EthereumWHO THIS BOOK IS FORA confident – mid-level or senior – software engineer or web developer who hasn’t properly branched out into Ethereum; someone who might have scratched the surface, but wants a deeper understanding of the principles behind dapps, and who wants a head start on the hurdles faced while building them.JAMIE RUMBELOW is a software engineer and writer based in London, U.K. Until recently, he was a product engineer at Fei Labs, a major Ethereum protocol, where he built technologies and products at the intersection between the web2 and web3 stacks. He worked as a Founding Engineer and Senior Software Engineer in startups, responsible for training and mentoring as well as writing code. He has worked in the tech industry for over a decade, seeing organizations at varying levels of scale and the ways that teams and technologies get shaped by product decisions. He has also studied philosophy at the graduate level, which has given him the tools to think about computing in a deeper way. Over the past few years, he has built up a set of principles and opinions on what makes for great software and a great engineering culture.CHAPTER 1. INTRODUCTIONWe introduce the core concepts discussed in the book, and situate them with respect to the foundational principles of cryptocurrencies and web3. We discuss decentralisation. We describe the key design decisions of the EVM (Ethereum Virtual Machine) and how they raise some problems for product engineers. We describe the book ahead and what will be covered, chapter by chapter.CHAPTER 2. THE LIFECYCLE OF AN ETHEREUM TRANSACTIONWe discuss the lifecycle of a request on Ethereum, guiding the user through: how is a request initiated by a UI and confirmed by a user; sent to a node, validated, how can UIs display its status, when is a transaction confirmed. We ask: what is a smart contract? We frame smart contracts as APIs. We also set up the following three chapters with the tripartite structure of write, read, and side-effect.CHAPTER 3. WALLETSWe discuss the role of wallets as both stores and signers. We discuss the popular MetaMask model for wallet injection, WalletConnect, EIP-1193, and other attempts to standardise the wallet interface. We explore wallets as identities, and describe approaches to 'logging in' with Ethereum. We explore different attack vectors that integrating wallets might raise.CHAPTER 4. NODES AND INDEXESWe talk about nodes – the programmatic gateway to the blockchain – in more detail: how to connect to them and use them to retrieve information. We discuss the difference between live data and indexed data. We discuss how external RPC nodes allow external function calls with and friends. We discuss ABIs and contract interfaces.CHAPTER 5. EVENTSWe investigate Ethereum's event model, and how to reconstruct a contract's state from the event log. We talk about Bloom filters and how to process many events efficiently.CHAPTER 6. TRANSACTIONSThis chapter builds more on the first chapter, diving into detail about the implementation of transactions. We discuss interfaces for creating, signing, and viewing transactions. We frame transactions theoretically and practically. We discuss the RPC call and its interface. We break down the minutiae of cryptographic signing and nonces, and consider how it affects the UI of applications. We discuss transaction statuses and estimation.CHAPTER 7. ERROR HANDLINGIn this chapter, we discuss the various failure modes of smart contracts and how to build rich, useful user interfaces around them. We consider gas, nonces, and transaction synchronisation. We talk about ways of building error-resilience into your product with input validation. We talk about standardising error messages at the smart contract level.CHAPTER 8. TOOLINGIn this chapter, we investigate the sorts of tools available to the product engineer, drawing on problems faced in the previous chapters. We discuss running manual tests, declarative provisioning of infrastructure, and keeping private keys safe. We also discuss current lacunas and places where existing tooling could be improved.CHAPTER 9. DATA-FIRST APPLICATIONSWe wrap-up the preceding discussion with a more opinionated chapter on a data-first approach to application design. In particular, I'll make the case for single-page applications backed by a data scraper as a strong model for building application infrastructure around smart contracts, tying together the themes of the preceding few chapters.CHAPTER 10. CONCLUSION: SMART CONTRACTS, SMARTER PRODUCTSWe discuss the ways that the surface area of smart contracts rubs against the surface area of web applications, with an emphasis on the more commercial and conceptual. We explore how detaching state from interface allows for more decentralised and censorship-resistant protocols – and how product engineers can profit from this split. We talk about the many ways that thoughtful product engineering can improve the user experience of crypto, and ruminate on the future direction of the ecosystem.Appendix 1: A Common-Sense Crypto-Native ChecklistWe provide a summary of the main questions and action points found in the book, with an easy reference checklist for engineers to work through when building their crypto-native applications.Appendix 2: Resources and BibliographyWe provide one or two pages of QR codes, with links to relevant resources. We provide a more comprehensive, traditional bibliography.
iOS Architecture Patterns
Develop well-structured applications using tested techniques and patterns. When you start to develop an application, you not only have to think about the idea of the finished application, but also about how it will evolve as it is built. This book shows you how to plan for changes, scope creep, and for the possibility of other developers joining in.Start by learning what architecture patterns for an application are. You’ll find out why it’s important for your applications to be based on these patterns and which ones are the most common. Then you’ll look at the MVC as one of the best known and used patterns. You’ll see how and when it can be implemented in your applications, as well as its advantages and disadvantages.From there, you’ll discover the first evolution of the MVC model: the MVP, which introduces a new layer (Presenter) to better manage views. The next evolution after that is the MVVM, which introduces the ViewModel layer and its connection with the views through Data Binding. With those prominent patterns covered, you’ll read about VIPER and VIP, Architecture Patterns that seeks to make applications easily maintainable, modularized, and highly scalable. All of which are hallmarks of Clean Architecture.Architecture patterns have developed and evolved to give your applications solid foundations. Understanding these patterns, you will reduce the problems that may arise when modifying existing functions, adding new ones, or correcting errors that may arise in the development process.WHAT YOU'LL LEARN* Code cleanly with solid foundations* Start your project ready to adapt and evolve as features and other developers are added* Find and apply the right patterns for the best results WHO THIS BOOK IS FORDevelopers with some programming knowledge who want to learn different architecture patterns, those who already have more experience and are looking for a starting point on complex patterns such as VIPER or VIP, and beginner programmersRAÚL FERRER GARCÍA holds a doctorate in Chemistry and started short-circuiting computer science by programming with a ZX Spectrum when he was 14. For the past decade as a Mobile Tech Lead, he has dedicated himself completely to the development and management of mobile applications for iOS. He also maintains a blog in which he tries to explain everything he’s learned and studied about the world of mobile development.1. Introduction1.1. What are architecture patterns?1.2. Why we need an architecture pattern for our apps?1.3. The search for a ‘Clean Architecture’.1.4. How to choose the right architecture.1.5. Most used architecture patterns.2. MVC: Model-View-Controller2.1. What is MVC.2.2. Components in MVC.2.3. How it works.2.4. When to use MVC.2.5. Applying MVC.2.6. Testing.2.7. Advantages and disadvantages of MVC.3. MVP: Model-View-Presenter3.1. What is MVP.3.2. Components in MVP.3.3. How it works.3.4. When to use MVP.3.5. Applying MVP.3.6. Testing.3.7. Advantages and disadvantages of MVP.4. MVVM: Model-View-ViewModel4.1. What is MVVM.4.2. Components in MVVM.4.3. How it works: Data binding.4.4. When to use MVVM.4.5. Applying MVVM.4.6. Testing.4.7. Advantages and disadvantages of MVVM4.8. MVVM-C: Abstracting Navigation from MVVM5. VIPER: View-Interactor-Presenter-Entity-Router5.1. What is VIPER.5.2. Components in VIPER.5.3. How it works.5.4. When to use VIPER.5.5. Applying VIPER.5.6. Testing.5.7. Advantages and disadvantages of VIPER6. VIP: View-Interactor-Presenter6.1. What is VIP.6.2. Components in VIP.6.3. How it works.6.4. When to use VIP.6.5. Applying VIP.6.6. Testing.6.7. Advantages and disadvantages of VIP7. Other Architecture Patterns7.1. RIBs: Router, Interactor and Builder7.2. TCA: The Composable Architecture7.3. Redux7.4. TEA: The Elm Architecture8. Conclusion8.1. Importance of Clean Architecture.8.2. Moving ForwardAudience: Intermediate
AWS for Public and Private Sectors
Assess, plan, develop, implement, and manage AWS EC2 Instances, Cloud Formation using JSON Template with Bash programming language, and Cloud Watch monitoring. This book helps the public and private sectors comprehend how to assess and evaluate AWS cloud software as a service (SaaS), infrastructure as a service (IaaS), and platform as a service (PaaS).Government and business sector entities are looking for strategies to upgrade on-premises information systems to virtual cloud infrastructure orchestration and automation. You'll gain a step-by-step approach to planning, developing, implementing, and managing cloud infrastructure, services, and platforms that help reduce cost increases, scalability, and improves security. Outline your strategy to research how cloud infrastructure is planned and developed before being deployed and managed by on-premises IT team members. This book also supports cloud services for AWS and helps you understand why supporting and using AWS for cloud services is beneficial both short and long-term.Once you complete this book, you'll be able to make logical decisions regarding AWS use cases for public and private sector entities, including disaster recovery and backup, IT self-service, Web applications, and messaging.WHAT YOU'LL LEARN* Assess different cloud services provided by Amazon* Look at Cloud as a Service (CAAS)* Understand internet protocol, packet switching, authoritative, recursive, and open-flow* Review cloud infrastructure planning methods* Examine Cloud orchestration and automation* Work with the AWS total cost of ownership calculatorWHO THIS BOOK IS FORThis book is aimed at business, government, non-profit organizations, academic institutions, and financial institutions interested in upgrading to AWS cloud architect infrastructure as a primary mode of data transmission, storage, and security at a scalable and economical annual cost.BRADLEY FOWLER has worked in the technology industry since 2012, when he became Webmaster for the American Alliance of Paralegals, Inc. In 2015, Bradley became co-owner of Construction eMarketing a Web site development and eMarketing company that provides services remotely, including Cybersecurity Analysis, Web Page security integration, and cloud computing architecture consulting.Bradley earned a Master of Science in Cloud Computing Architecture from the University of Maryland Global Campus-Cum Laude, where he began working with BalletOnline as the Intern Cloud Architect, and climbed up to become Chief Cloud Architect. Bradley also earned a Master of Public Policy in Cybersecurity Policy from American Public University System-Summa Cum Laude, a Master of Science in Cybersecurity, and a Master of Science in Managing Information Systems in Information Security Management, both from Bellevue University, both Summa Cum Laude. Bradley acquired his Bachelor of Arts in eMarketing from the University of Arizona Global Campus. He is currently completing a Master of Science in Technology Management at University of Arizona Global Campus as well as a Doctor of Management in Information Systems & Technology at University of Phoenix.Chapter I Cloud Services and TechnologiesChapter goal: This chapter enables readers to understand the value of assessing and evaluating cloud services provided by Amazon Web Services (AWS) and Microsoft Azure, prior to making an executive decision to partner with either service provider. Readers will comprehend how to calculate the total cost of ownership for usage of cloud services rendered by both service providers, and acquire knowledge of the advantages and disadvantage of services rendered by both services providers. Readers will also acquire knowledge of applicable laws regarding usage of cloud services in alignment with federal laws and guidelines as well as gain knowledge regarding policy enforcement mechanisms, system monitoring and audit mechanisms, and finally complete discussion questions that help readers comprehend their study of this chapter and the valued components that should be remembered.Sub-topics:1. Total Cost of Ownership2. Functional requirements3. Nonfunctional requirements4. Risk analysis and management guidelines5. Six components of GDPR6. Understand physical security issues7. Critical IT requirements related to data storage8. Potential privacy issues and migration strategiesChapter 2: Network EngineeringChapter goal: This chapter helps readers gain knowledge about Internet protocol and its impact in cloud architecture. Readers will also learn about packet switching, IP addressing, DNS, IP subnetting, IP address classes, CIDR Notation, multiple subnets in a LAN, subnetting proposal, Transport Control Protocol (TCP), transport reliability, TCP sliding windows, software defined networking, networking in the cloud, cloud command line interfaces, and cloud APIs. Having this knowledge helps improve decision making regarding what strategies best serve the needs of an enterprise migrating from an on-premises legacy information system to a cloud infrastructure. By the time readers conclude this chapter, they will understand the meaning of internet protocol, packet switching, authoritative, recursive, and what makes open-flow so popular. Most importantly, readers acquire knowledge about subnetting proposals and their role in supporting enterprises.Subtopics:1. TCP Connections2. SDN Enables BalletOnline Cloud Deployment3. Declarative resource definitions4. AWS Migration Environment and Configure Web ServicesChapter 3: Infrastructure Planning and MigrationChapter goal: This chapter will educate readers about cloud infrastructure planning methods that increase organizational structure that aligns with business acumen and helps readers understand migration prerequisites. This enables a reduction of setbacks arises during the migration from on-premises to cloud infrastructure. Furthermore, readers will be able to effectively assess migration tools and comprehend AWS Application Discovery. Most important, readers will acquire methods that have proven beneficial and provides a return on the initial investment.Sub-topics:1. Cloud premigration considerations2. Cloud migration tool assessment3. AWS Application Discovery Services4. Agentbase options5. Agentless options6. Evaluation of discovery application and infrastructure data7. Migration recommendationsChapter 4: Computing Development and ManagementChapter goal: Readers will gain knowledge about cloud service offering for email and how AWS services help reduce concerns of vulnerability. Readers will also learn about AWS Cloud Watch and how this tool helps capture metrics and reports statistics regarding the consumption for backup and archiving. Additionally, readers will learn about AWS backup and archiving as well as AWS virtual private cloud and the value of relying on VPN (Virtual Private Networks). Furthermore, readers will attain information about AWS S3 buckets and cloud synchronization services.Subtopics:1. Data Backups and Archiving to Cloud Using Cloud Sync Services2. AWS Cloud Watch Monitoring3. AWS Service Catalog4. Cloud operations end-users’ guides5. Cloud operations administrative guides6. LimitationsChapter V Cloud Computing Orchestration and AutomationChapter goals: This chapters prepares readers for the orchestration and automation of AWS cloud services. Readers will also learn about cloud advanced features as well as advanced data solutions in the cloud. Most importantly, readers will acquire knowledge about Symantec Cloud Workload Protection for Storage Overview. Attaining this knowledge will increase readers trust with AWS services and the ability to effectively manage their cloud virtual private infrastructure with security strategies that are impenetrable.Subtopics:1. Monthly cost analysis2. Total costs of ownership analysis3. Use casesa. Web applicationsb. Messagingc. Disaster recovery and backupd. IT service planning4. Return on investment analysisGlossaryIndex
Natural Language Processing mit Transformern
Sprachanwendungen mit Hugging Face erstellenTransformer liefern hervorragende Ergebnisse bei der maschinellen Sprachverarbeitung und haben sich in den letzten Jahren zur vorherrschenden Architektur im Natural Language Processing (NLP) entwickelt. Dieses Praxisbuch zeigt Data Scientists und Programmierer*innen, wie sie NLP-Modelle mit Hugging Face Transformers, einer Python-basierten Deep-Learning-Bibliothek, trainieren und skalieren. Transformer kommen beispielsweise beim maschinellen Schreiben von Nachrichtenartikeln, bei der Verbesserung von Google-Suchanfragen oder bei Chatbots zum Einsatz.Lewis Tunstall, Leandro von Werra und Thomas Wolf, die die Transformers-Bibliothek von Hugging Face mitentwickelt haben, erklären in diesem Buch, wie Transformer-basierte Modelle funktionieren und wie Sie sie in Ihre Anwendungen integrieren. Sie erfahren, wie Transformer für eine Vielzahl von Aufgaben erfolgreich eingesetzt werden können.Erstellen, debuggen und optimieren Sie Transformer-Modelle für zentrale NLP-Aufgaben wie Textklassifizierung, Named Entity Recognition oder Question AnsweringLernen Sie, wie Transformer für sprachenübergreifendes Transfer Learning verwendet werdenWenden Sie Transformer auf reale Anwendungsfälle an, bei denen nur auf wenige gelabelte Daten zurückgegriffen werden kannOptimieren Sie Transformer-Modelle für das Deployment mit Techniken wie Distillation, Pruning und QuantisierungTrainieren Sie Transformer von Grund auf und lernen Sie, wie sie auf mehreren GPUs und verteilten Umgebungen skalierenÜber die Autoren:Lewis Tunstall ist Machine Learning Engineer bei Hugging Face. Der Schwerpunkt seiner Arbeit liegt derzeit auf der Entwicklung von Tools für die NLP-Community und darauf, Menschen zu schulen, diese effektiv zu nutzen.Leandro von Werra ist Machine Learning Engineer im Open-Source-Team von Hugging Face. Er konzentriert sich hauptsächlich auf Modelle, die Code generieren können, und auf die Zusammenarbeit mit der Community.Thomas Wolf ist Chief Science Officer und Mitgründer von Hugging Face. Sein Team hat sich der Aufgabe verschrieben, die KI-Forschung voranzutreiben und sie weiter zu demokratisieren.
Java von Kopf bis Fuß (3. Auflage)
Eine abwechslungsreiche Entdeckungsreise durch die objektorientierte Programmierung, jetzt in aktualisierter 3. Auflage aus Februar 2023.»Java von Kopf bis Fuß« – jetzt vollständig überarbeitet und aktualisiert – ist eine umfassende Entdeckungsreise durch Java und die objektorientierte Programmierung. Mit diesem Buch lernen Sie die Sprache mit einer einzigartigen Methode: Sie knacken Rätsel, puzzeln und lösen Kriminalfälle, schreiben aber auch Unmengen von Java-Code. So lernen Sie schnell die Grundlagen von Java und fortgeschrittene Themen wie Lambdas, Streams, Generics, Threading, Networking und erkunden die gefürchtete Desktop-GUI. Wenn Sie bereits Erfahrung mit einer anderen Programmiersprache haben, wird dieses Buch Ihrem Gehirn modernere Ansätze der Programmierung präsentieren – das schlankere, schnellere und leichter zu wartende Java von heute.Dieses Workbook ist inhaltlich und visuell ein Feuerwerk. Es macht Spaß und bringt Ihr Gehirn auf Trab: Statt einschläfernder Bleiwüsten werden verschiedenste Textformen und Selbstlernkontrollen verwendet, die Ihnen das Wissen direkt ins Hirn spielen. Spätestens, wenn es heißt »Spitzen Sie Ihren Bleistift«, wird klar, dass hier Mitmachen gefragt ist.Autoren:Kathy Sierra interessiert sich für Lerntheorie seit ihrer Zeit als Spieleentwicklerin für Virgin, MGM und Amblin’ und als Dozentin für New Media Authoring an der UCLA. Sie war Master-Java-Trainerin für Sun Microsystems, und sie gründete JavaRanch.com (jetzt CodeRanch.com), das in den Jahren 2003 und 2004 den Jolt Cola Productivity Award gewann. Im Jahr 2015 erhielt sie den Electronic Frontier Foundation’s Pioneer Award für ihre Arbeit zur Schaffung kompetenter Nutzer und den Aufbau nachhaltiger Gemeinschaften.In jüngster Zeit konzentriert sich Kathy auf modernste Bewegungswissenschaften und das Coaching zum Erwerb von Fähigkeiten, bekannt als Ecological Dynamics oder „Eco-D“. Ihre Arbeit, bei der sie Eco-D für das Training von Pferden einsetzt, führt zu einem weitaus humaneren Ansatz in der Reitkunst, was die einen erfreut (und die anderen, traurigerweise, verwirrt). Die Pferde, die das Glück haben, dass ihre Besitzer Kathys Ansatz anwenden, sind zufriedener, autonomer, gesünder und sportlicher als ihre traditionell trainierten Artgenossen.Bevor Bert Bates Autor wurde, war er Entwickler, spezialisiert auf KI der alten Schule (hauptsächlich Expertensysteme), Echtzeit-Betriebssysteme und komplexe Planungssysteme. Im Jahr 2003 schrieben Bert und Kathy „Head First Java“ und starteten die Head-First-Reihe. Seitdem hat er weitere Java-Bücher geschrieben und Sun Microsystems und Oracle bei vielen ihrer Java-Zertifizierungen beraten. Außerdem hat er Hunderte von Autor:innen und Lektor:innen darin geschult, Bücher zu schreiben, die gute Lerninhalte bieten.Bert ist Go-Spieler und hat 2016 mit Entsetzen und Faszination zugesehen, wie AlphaGo Lee Sedol besiegt hat. In letzter Zeit nutzt er Eco-D (Ecological Dynamics), um sein Golfspiel zu verbessern und seinen Papagei Bokeh zu trainieren. - Bert hat das Privileg, Trisha Gee seit mehr als acht Jahren zu kennen, und die Head-First-Reihe hat das große Glück, sie zu den Auto:innen zu zählen.Trisha Gee arbeitet seit 1997 mit Java, als ihre Universität zukunftsorientiert genug war, diese „strahlend neue“ Sprache für den Informatikunterricht einzuführen. Seitdem hat sie als Entwicklerin und Consultant Java-Anwendungen für eine Reihe von Branchen entwickelt, darunter das Bankwesen, die Fertigung und gemeinnützige Organisationen. Trisha möchte all das weitergeben, was sie in diesen Jahren als Entwicklerin auf die harte Tour gelernt hat. Deshalb wurde sie Developer Advocate, schreibt Blogbeiträge, spricht auf Konferenzen und erstellt Videos, um ihr Wissen weiterzugeben. Sie verbrachte fünf Jahre als Java Developer Advocate bei JetBrains und weitere zwei Jahre als Leiterin des Teams „JetBrains Java Advocacy“. Während dieser Zeit hat sie viel über die Probleme gelernt, mit denen Java-Entwickler konfrontiert sind. Trisha hat in den letzten acht Jahren immer wieder mit Bert über die Aktualisierung von Head First Java gesprochen! Sie erinnert sich gerne an die wöchentlichen Telefongespräche mit Bert; der regelmäßige Kontakt mit einem sachkundigen und warmherzigen Menschen wie Bert half ihr, bei gesundem Verstand zu bleiben. Der Ansatz von Bert und Kathy, das Lernen zu fördern, ist der Kern dessen, was sie seit fast zehn Jahren zu tun versucht.Zielgruppe:Java-Einsteiger*innen mit Grundkenntnissen in einer anderen Sprache
Einführung in das Lightning Netzwerk
Das Second-Layer-Blockchain-Protokoll für effiziente Bitcoin-Zahlungen verstehen und nutzenDas Lightning-Netzwerk (LN) ist ein schnell wachsendes Second-Layer-Zahlungsprotokoll, das auf Bitcoin aufsetzt, um nahezu sofortige Transaktionen zwischen zwei Parteien zu ermöglichen. In diesem Praxisbuch erklären die Autoren Andreas M. Antonopoulos, Olaoluwa Osuntokun und René Pickhardt, wie diese Weiterentwicklung die nächste Stufe der Skalierung von Bitcoin ermöglicht, die Geschwindigkeit und den Datenschutz erhöht und gleichzeitig die Gebühren reduziert.Dieses Buch ist ideal für Entwickler*innen, Systemarchitekt*innen, Investor*innen und Unternehmer*innen, die ein besseres Verständnis von LN anstreben. Es zeigt, warum Expertinnen und Experten das LN als entscheidende Lösung für das Skalierbarkeitsproblem von Bitcoin sehen. Nach der Lektüre werden Sie verstehen, warum LN in der Lage ist, weit mehr Transaktionen zu verarbeiten als die heutigen Finanznetzwerke.Dieses Buch behandelt:wie das Lightning-Netzwerk die Herausforderung der Blockchain-Skalierung angehtdie BOLT-Standarddokumente (Basis of Lightning Technology)die fünf Schichten der Lightning-Network-ProtokollsuiteLN-Grundlagen, einschließlich Wallets, Nodes und wie man sie betreibtLightning-Zahlungskanäle, Onion-Routing und das Gossip-Protokolldie Wegfindung über Zahlungskanäle, um Bitcoin off-chain vom Absender zum Empfänger zu sendenAutoren:Andreas M. Antonopoulos ist ein Bestsellerautor, Speaker, Pädagoge und gefragter Experte für Bitcoin und offene Blockchain-Technologien. Er ist dafür bekannt, komplexe Themen leicht verständlich zu erklären und sowohl die positiven als auch die negativen Auswirkungen, die diese Technologien auf unsere globale Gesellschaft haben können, zu verdeutlichen.Andreas hat zwei weitere technische Bestseller für Programmierer bei O’Reilly geschrieben, Mastering Bitcoin (in deutscher Übersetzung: Bitcoin & Blockchain – Grundlagen und Programmierung) und Mastering Ethereum (in deutscher Übersetzung: Ethereum – Grundlagen und Programmierung). Andreas produziert wöchentlich kostenlose Bildungsinhalte auf seinem YouTube-Kanal und hält virtuelle Workshops auf seiner Website. Erfahren Sie mehr unter aantonop.com.Olaoluwa Osuntokun ist Mitbegründer und CTO von Lightning Labs und außerdem der leitende Entwickler von lnd, einer der wichtigsten Implementierungen von Lightning. Er erwarb seinen BS und MS in Informatik an der University of California, Santa Barbara und war Mitglied der Forbes „30-Under-30-Klasse“ von 2019.Während seines Studiums konzentrierte er sich auf den Bereich der angewandten Kryptographie, insbesondere auf die verschlüsselte Suche. Er ist seit über fünf Jahren aktiver Bitcoin-Entwickler und Autor mehrerer Bitcoin-Verbesserungsvorschläge (BIP-157 und 158). Derzeit liegt sein Hauptaugenmerk auf dem Aufbau, dem Design und der Weiterentwicklung von privaten, skalierbaren Off-Chain-Blockchain-Protokollen wie Lightning.René Pickhardt ist ein ausgebildeter Mathematiker und Data Science Consultant, der sein Wissen nutzt, um mit der Norwegian University of Science and Technology über Pfadfindung, Datenschutz, Zuverlässigkeit von Zahlungen und Service Level Agreements des Lightning-Netzwerks zu forschen. René unterhält einen technischen und entwicklerorientierten YouTube-Kanal (https://www.youtube.com/renepickhardt) zum Lightning-Netzwerk und hat etwa die Hälfte der Fragen zum Lightning-Netzwerk auf Bitcoin Stack Exchange beantwortet, was ihn zur Anlaufstelle für fast alle neuen Entwicklerinnen und Entwickler macht, die sich in diesem Bereich engagieren wollen. René hat zahlreiche öffentliche und private Workshops zum Lightning-Netzwerk gehalten, unter anderem für die Studenten der Chaincode Labs Residency 2019 zusammen mit anderen Lightning-Entwicklern.Zielgruppe:Enwickler*innenSoftwarearchitekt*innenInvestor*innen & Unternehmer*innen
Dokumenten-Management
Informationen im Unternehmen effizient nutzenDas umfassende Kompendium zum Dokumenten-ManagementDieses Kompendium behandelt alle wesentlichen Fragen des Dokumenten-Managements ganzheitlich und umfassend. Dabei werden Fragen der Projektplanung und der Einführung von Dokumenten-Management-Lösungen ebenso behandelt wie organisatorische, wirtschaftliche und technische Aspekte. Außerdem werden die rechtlichen Rahmenbedingungen für Deutschland, die Europäische Union – soweit die entsprechenden Vorschriften einheitlich in der ganzen EU gültig sind – und für die Schweiz ausführlich dargestellt.Die Beschreibung von Funktion, Anwendung und Nutzen von Dokumenten-Management-Systemen (DMS) bildet auch in der vorliegenden Auflage einen Schwerpunkt. Sie werden sowohl mit dem für eine erfolgreiche Lösungsimplementierung erforderlichen Wissen ausgestattet, als auch in die Lage versetzt, die Funktionsweise von DMS zu verstehen und Systemalternativen zu beurteilen. Durch mehrere Anwenderberichte werden unterschiedliche Projektschwerpunkte und -ansätze veranschaulicht.Um den aktuellen Entwicklungen und Schwerpunkten besser gerecht zu werden, wurde das Buch vollständig neu strukturiert und umfassend überarbeitet. In der sechsten Auflage dieses Standardwerks werden aktuelle IT-Trends mit Relevanz für die Dokumentenverwaltung detailliert beschrieben. Neben den etablierten Cloud-Technologien werden auch neue Ansätze aus dem Bereich der Künstlichen Intelligenz oder Blockchains diskutiert und bewertet. Das Rechtskapitel wurde aufgrund der Änderungen im Bereich des Datenschutz-, IT- und Steuerrechts vollständig überarbeitet und ausgebaut. Neu eingeführt wurde ein Kapitel zum Thema Anforderungsanalyse. Die vorgestellten Anwendungsfälle wurden aktualisiert.Autoren:Klaus Götzer, Patrick Maué, Ulrich EmmertKlaus Götzer studierte Betriebswirtschaftslehre an der Universität München. Anschließend war er für mehrere Jahre in einem Unternehmen der Luft- und Raumfahrtindustrie in einer Organisationsabteilung als Organisator, Projektleiter und stellvertretender Hauptabteilungsleiter tätig. An der Universität des Saarlandes (Prof. Scheer) promovierte er mit dem Thema „Optimale Wirtschaftlichkeit und Durchlaufzeit im Büro“. Anschließend war er in einer Unternehmensberatung für den Bereich „Prozessoptimierung“ zuständig und leitete eine Geschäftsstelle. Seit 1993 ist er selbstständig und führt IT- und Organisationsprojekte vor allem im Öffentlichen Dienst, in Industrie- und Versicherungsunternehmen durch. Hierbei beschäftigt er sich vor allem mit den Themen Geschäftsprozessmanagement, Workflow und Dokumenten-Management.Dr. Patrick Maué hat für Studium und Promotion an der WWU Münster den Schwerpunkt Geoinformatik für sich entdeckt. In seinen Forschungsarbeiten und wissenschaftlichen Veröffentlichungen hat er sich mit der Semantik von Geodaten auseinandergesetzt. In den darauffolgenden Jahren hat er im Namen verschiedener Unternehmen Digitalisierungsprojekte im deutschen Behördenumfeld technisch und fachlich unterstützt und als Software Architekt die Umsetzung vieler Anwendungen begleitet. In den meisten Projekten stand dabei die Einführung oder Modernisierung von DMS Lösungen im Mittelpunkt. Als begeisterter Programmierer hat er aber stets die Nähe zur praktischen Umsetzung gesucht und arbeitet aktiv in Open Source Projekten mit. Heute leitet er ein Team von Software Entwicklern, die Produkte im DMS-Umfeld mit Fokus auf Sprachverständnis mit Hilfe maschinellen Lernens entwickeln.Ulrich Emmert ist seit 1996 Rechtsanwalt mit Schwerpunkt IT- und Datenschutzrecht, stellvertretender Vorstandsvorsitzender des ECM-Branchenverbandes VOI e. V., Geschäftsführer der esb data GmbH, die externe Datenschutzmandate übernimmt und Vorstand der Reviscan AG, die Signatursoftware und Datenbanksoftware herstellt und vertreibt. Daneben ist er im Aufsichtsrat von mehreren IT-Unternehmen vertreten.Zielgruppen:ManagementProjektleitungSachbearbeitende und Anwender*innenHochschullehrkräfteTrainer*innenStudierende
Data Mesh
Eine dezentrale Datenarchitektur entwerfenWir befinden uns an einem Wendepunkt im Umgang mit Daten. Unser bisheriges Datenmanagement wird den komplexen Organisationsstrukturen, den immer zahlreicheren Datenquellen und dem zunehmenden Einsatz von künstlicher Intelligenz nicht mehr gerecht. Dieses praxisorientierte Buch führt Sie in Data Mesh ein, ein dezentrales soziotechnisches Konzept basierend auf modernen verteilten Architekturen. Data Mesh ist ein neuer Ansatz für die Beschaffung, Bereitstellung, den Zugriff und die Verwaltung analytischer Daten, der auch skaliert.Zhamak Dehghani begleitet Softwarearchitekt*innen, Entwickler*innen und Führungskräfte auf ihrem Weg von einer traditionellen, zentralen Big-Data-Architektur hin zu einer verteilten, dezentralen Organisationsstruktur für das Managen analytischer Daten. Data Mesh behandelt dabei Daten als Produkt, ist stark domänengetrieben und zielt auf eine Self-Serve-Datenplattform ab. Das Buch erläutert technische Migrationsstrategien, aber auch die organisatorischen Veränderungen von Teamstrukturen, Rollen und Verantwortlichkeiten, die mit dezentralen Architekturen einhergehen.Lernen Sie die Prinzipien von Data Mesh und ihre Bestandteile kennenEntwerfen Sie eine Data-Mesh-ArchitekturDefinieren Sie Ihre Data-Mesh-Strategie und begleiten Sie deren UmsetzungSteuern Sie den organisatorischen Wandel hin zu dezentraler Data OwnershipMigrieren Sie von traditionellen Data Warehouses und Data Lakes hin zu einem verteilten Data MeshAutor:Zhamak DehghaniZhamak Dehghani ist Director of Technology bei Thoughtworks und Spezialistin für verteilte Systeme und Datenarchitektur in großen Unternehmen. Sie ist Mitglied in mehreren Beratungsgremien für Technologie, unter anderem bei Thoughtworks. Zhamak ist eine Verfechterin der Dezentralisierung aller Dinge, einschließlich der Architektur, der Daten und letztlich von Macht. Sie ist die Begründerin des Data-Mesh-Konzepts.Zielgruppe:Softwarearchitekt*innenSoftwareentwickler*innenData EngineersData ScientistsDatenanalyst*innen
Microsoft Flight Simulator For Dummies
TAKE TO THE (VIRTUAL) SKIES WITH HELP FROM MICROSOFT FLIGHT SIMULATORMicrosoft Flight Simulator has offered a great way to fly aircraft of all sizes without ever leaving the ground for nearly 40 years. With help from Microsoft Flight Simulator For Dummies, you'll take to the skies in everything from tiny two-seaters to huge commercial airliners. Plot your course and deal with realistic wind and weather as you fly pond hoppers, 747s, and everything in between all around the world. In this book, you'll learn how to:* Start with getting a feel for the controls of a small plane before moving on to larger airliners* Get familiar with the instrument panels of all sorts of planes* Deal with virtual emergencies, dynamic weather, Maydays, and more!Great for anyone just getting started with Microsoft Flight Simulator, Microsoft Flight Simulator For Dummies is also the perfect book for existing players looking to get the most out of their time with this awesome game. BRITTANY VINCENT is a journalist specializing in the video game industry, with nearly a decade and a half of experience reviewing games, reporting on the industry, and aiding manufacturers in research. Her work has appeared on CNET, CNN.com, and numerous other publications. She is also a frequent guest at gaming conventions and events.Introduction 1PART 1: GETTING STARTED WITH MICROSOFT FLIGHT SIMULATOR 7Chapter 1: Taking to the Virtual Skies 9Chapter 2: Taking Control with (or without) a Custom Setup 19Chapter 3: Heading to Flight School 35Chapter 4: Virtual Planes, Real Pilot: Flight Simulator in VR 49Chapter 5: Takeoff in Tandem: Flights with Friends 63PART 2: THE ART OF SINGLE-ENGINE NAVIGATION 77Chapter 6: Loving Flight Fundamentals 79Chapter 7: Learning Those Instruments 93Chapter 8: Pulling Off a Successful Start-Up 101Chapter 9: Departing from and Returning to the Runway 113PART 3: AIRPORT OPERATIONS 127Chapter 10: Knowing Your Way Around the Airport 129Chapter 11: Talking Your Way Into (and Through) the Air 145PART 4: CHOOSING AND FLYING YOUR AIRCRAFT 157Chapter 12: Airplane! (Not the Movie, the Craft) 159Chapter 13: Knowing the Nitty-Gritty of Flight Planning and Navigation 169Chapter 14: Working the Radio in Single or Multiplayer Mode 187Chapter 15: Rules, Rules, Rules — So Many Rules! 193PART 5: WHAT TO DO IN CASE OF AN EMERGENCY 199Chapter 16: Mayday! Recognizing and Responding to Emergencies 201Chapter 17: Making an Emergency Landing 213PART 6: THE PART OF TENS 221Chapter 18: Ten Flight Simulator Tricks You Should Know 223Chapter 19: Ten Cool Airports to Visit Virtually 235PART 7: APPENDIXES: EXAMPLE FLIGHTS 247Appendix A: Example Cessna Flight 249Appendix B: Example Baron G58 Twin-Engine Flight 257Appendix C: Example 787 Dreamliner Flight 263Index 269
Agile Software Development
AGILE SOFTWARE DEVELOPMENTA UNIQUE TITLE THAT INTRODUCES THE WHOLE RANGE OF AGILE SOFTWARE DEVELOPMENT PROCESSES FROM THE FUNDAMENTAL CONCEPTS TO THE HIGHEST LEVELS OF APPLICATIONS SUCH AS REQUIREMENT ANALYSIS, SOFTWARE TESTING, QUALITY ASSURANCE, AND RISK MANAGEMENT. Agile Software Development (ASD) has become a popular technology because its methods apply to any programming paradigm. It is important in the software development process because it emphasizes incremental delivery, team collaboration, continuous planning, and learning over delivering everything at once near the end. Agile has gained popularity as a result of its use of various frameworks, methods, and techniques to improve software quality. Scrum is a major agile framework that has been widely adopted by the software development community. Metaheuristic techniques have been used in the agile software development process to improve software quality and reliability. These techniques not only improve quality and reliability but also test cases, resulting in cost-effective and time-effective software. However, many significant research challenges must be addressed to put such ASD capabilities into practice. With the use of diverse techniques, guiding principles, artificial intelligence, soft computing, and machine learning, this book seeks to study theoretical and technological research findings on all facets of ASD. Also, it sheds light on the latest trends, challenges, and applications in the area of ASD. This book explores the theoretical as well as the technical research outcomes on all the aspects of Agile Software Development by using various methods, principles, artificial intelligence, soft computing, and machine learning. AUDIENCEThe book is designed for computer scientists and software engineers both in research and industry. Graduate and postgraduate students will find the book accessible as well. SUSHEELA HOODA,PHD, is an assistant professor in the Department of Computer Science & Engineering, Chitkara University Institute of Engineering & Technology, Punjab, India. VANDANA MOHINDRU SOOD,PHD, is an assistant professor in the Department of Computer Science & Engineering, Chitkara University Institute of Engineering & Technology, Punjab, India. YASHWANT SINGH, PHD, is an associate professor & Head of the Department of Computer Science and Information Technology, Central University of Jammu, J&K, India. SANDEEP DALAL,PHD, is an assistant professor in the Department of Computer Science & Applications, Maharshi Dayanand University, Rohtak, Haryana, India. MANU SOOD,PHD. is a professor in the Department of Computer Science, Himachal Pradesh University, Shimla, India.
Explainable AI Recipes
Understand how to use Explainable AI (XAI) libraries and build trust in AI and machine learning models. This book utilizes a problem-solution approach to explaining machine learning models and their algorithms.The book starts with model interpretation for supervised learning linear models, which includes feature importance, partial dependency analysis, and influential data point analysis for both classification and regression models. Next, it explains supervised learning using non-linear models and state-of-the-art frameworks such as SHAP values/scores and LIME for local interpretation. Explainability for time series models is covered using LIME and SHAP, as are natural language processing-related tasks such as text classification, and sentiment analysis with ELI5, and ALIBI. The book concludes with complex model classification and regression-like neural networks and deep learning models using the CAPTUM framework that shows feature attribution, neuron attribution, and activation attribution.After reading this book, you will understand AI and machine learning models and be able to put that knowledge into practice to bring more accuracy and transparency to your analyses.WHAT YOU WILL LEARN* Create code snippets and explain machine learning models using Python* Leverage deep learning models using the latest code with agile implementations* Build, train, and explain neural network models designed to scale* Understand the different variants of neural network models WHO THIS BOOK IS FORAI engineers, data scientists, and software developers interested in XAIPRADEEPTA MISHRA is the Director of AI, Fosfor at L&T Infotech (LTI). He leads a large group of data scientists, computational linguistics experts, and machine learning and deep learning experts in building the next-generation product—Leni—which is the world’s first virtual data scientist. He has expertise across core branches of artificial intelligence, including autonomous ML and deep learning pipelines, ML ops, image processing, audio processing, natural language processing (NLP), natural language generation (NLG), design and implementation of expert systems, and personal digital assistants (PDAs). In 2019 and 2020, he was named one of "India's Top 40 Under 40 Data Scientists" by Analytics India magazine. Two of his books have been translated into Chinese and Spanish, based on popular demand.Pradeepa delivered a keynote session at the Global Data Science Conference 2018, USA. He delivered a TEDx talk on "Can Machines Think?", available on the official TEDx YouTube channel. He has mentored more than 2,000 data scientists globally. He has delivered 200+ tech talks on data science, ML, DL, NLP, and AI at various universities, meetups, technical institutions, and community-arranged forums. He is a visiting faculty member to more than 10 universities, where he teaches deep learning and machine learning to professionals, and mentors them in pursuing a rewarding career in artificial intelligence.Chapter 1: Introduction to Explainability Library InstallationsChapter Goal: This chapter is to understand various XAI library installations process and initialization of libraries to set up the explainability environment.No of pages: 15-20 pagesChapter 2: Linear Supervised Model ExplainabilityChapter Goal: This chapter aims at explaining the supervised linear models as regression and classification and related issues.No of pages: 20-25Chapter 3: Non-Linear Supervised Learning Model ExplainabilityChapter Goal: This chapter explains the use of XAI libraries to explain the decisions made by non-linear models for regression and classification.No of pages : 20-25Chapter 4: Ensemble Model for Supervised Learning ExplainabilityChapter Goal: This chapter explains the use of XAI to explain the decisions made by ensemble models in regression and classification scenarios.No of pages: 20-25Chapter 5: Explainability for Natural Language ModelingChapter Goal: In this chapter, we are going to use XAI for natural language processing, pre-processing, and feature engineering.No of pages: 15-20Chapter 6: Time Series Model ExplainabilityGoal: The objective of this chapter is to explain the forecast using XAI librariesNo of Pages: 10-15Chapter 7: Deep Neural Network Model ExplainabilityGoal: Using XAI libraries to explain the decisions made by Deep Learning modelsNo of Pages: 20-25
Distributed Systems
DISTRIBUTED SYSTEMSCOMPREHENSIVE TEXTBOOK RESOURCE ON DISTRIBUTED SYSTEMS—INTEGRATES FOUNDATIONAL TOPICS WITH ADVANCED TOPICS OF CONTEMPORARY IMPORTANCE WITHIN THE FIELDDistributed Systems: Theory and Applications is organized around three layers of abstractions: networks, middleware tools, and application framework. It presents data consistency models suited for requirements of innovative distributed shared memory applications. The book also focuses on distributed processing of big data, representation of distributed knowledge and management of distributed intelligence via distributed agents. To aid in understanding how these concepts apply to real-world situations, the work presents a case study on building a P2P Integrated E-Learning system. Downloadable lecture slides are included to help professors and instructors convey key concepts to their students. Additional topics discussed in Distributed Systems: Theory and Applications include:* Network issues and high-level communication tools* Software tools for implementations of distributed middleware.* Data sharing across distributed components through publish and subscribe-based message diffusion, gossip protocol, P2P architecture and distributed shared memory.* Consensus, distributed coordination, and advanced middleware for building large distributed applications* Distributed data and knowledge management* Autonomy in distributed systems, multi-agent architecture* Trust in distributed systems, distributed ledger, Blockchain and related technologies.Researchers, industry professionals, and students in the fields of science, technology, and medicine will be able to use Distributed Systems: Theory and Applications as a comprehensive textbook resource for understanding distributed systems, the specifics behind the modern elements which relate to them, and their practical applications. RATAN K. GHOSH, PHD, is formerly a Professor of the Department of CSE at IIT Kanpur. At present, he is affiliated to BITS-Mesra as an Adjunct Professor and to Kaziranga University-Jorhat as a Distinguished Visiting Professor, Mentor and Advisor. He is a Life Member of ACM. He authored the Springer Research Monograph titled Wireless Networking and Mobile Data Management (April 2017). HIRANMAY GHOSH, PHD, is a former Adviser and Principal Scientist of TCS Research. He received his PhD degree from IIT-Delhi and his B.Tech. degree from Calcutta University. He is a Senior Member of IEEE, Life Member of IUPRAI, and a Member of ACM. He authored the Wiley title Computational Models for Cognitive Vision (2020) and co-authored of the CRC Press title Multimedia Ontology: Representation and Applications (2015). About the Authors xvPreface xviiAcknowledgments xxiAcronyms xxiii1 INTRODUCTION 11.1 Advantages of Distributed Systems 11.2 Defining Distributed Systems 31.3 Challenges of a Distributed System 51.4 Goals of Distributed System 61.4.1 Single System View 71.4.2 Hiding Distributions 71.4.3 Degrees and Distribution of Hiding 91.4.4 Interoperability 101.4.5 Dynamic Reconfiguration 101.5 Architectural Organization 111.6 Organization of the Book 12Bibliography 132 THE INTERNET 152.1 Origin and Organization 152.1.1 ISPs and the Topology of the Internet 172.2 Addressing the Nodes 172.3 Network Connection Protocol 202.3.1 IP Protocol 222.3.2 Transmission Control Protocol 222.3.3 User Datagram Protocol 222.4 Dynamic Host Control Protocol 232.5 Domain Name Service 242.5.1 Reverse DNS Lookup 272.5.2 Client Server Architecture 302.6 Content Distribution Network 322.7 Conclusion 34Exercises 34Bibliography 353 PROCESS TO PROCESS COMMUNICATION 373.1 Communication Types and Interfaces 383.1.1 Sequential Type 383.1.2 Declarative Type 393.1.3 Shared States 403.1.4 Message Passing 413.1.5 Communication Interfaces 413.2 Socket Programming 423.2.1 Socket Data Structures 433.2.2 Socket Calls 443.3 Remote Procedure Call 483.3.1 Xml RPC 523.4 Remote Method Invocation 553.5 Conclusion 59Exercises 59Additional Web Resources 61Bibliography 614 MICROSERVICES, CONTAINERIZATION, AND MPI 634.1 Microservice Architecture 644.2 REST Requests and APIs 664.2.1 Weather Data Using REST API 674.3 Cross Platform Applications 684.4 Message Passing Interface 784.4.1 Process Communication Models 784.4.2 Programming with MPI 814.5 Conclusion 87Exercises 88Additional Internet Resources 89Bibliography 895 CLOCK SYNCHRONIZATION AND EVENT ORDERING 915.1 The Notion of Clock Time 925.2 External Clock Based Mechanisms 935.2.1 Cristian’s Algorithm 935.2.2 Berkeley Clock Protocol 945.2.3 Network Time Protocol 955.2.3.1 Symmetric Mode of Operation 965.3 Events and Temporal Ordering 975.3.1 Causal Dependency 995.4 Logical Clock 995.5 Causal Ordering of Messages 1065.6 Multicast Message Ordering 1075.6.1 Implementing FIFO Multicast 1105.6.2 Implementing Causal Ordering 1125.6.3 Implementing Total Ordering 1135.6.4 Reliable Multicast 1145.7 Interval Events 1155.7.1 Conceptual Neighborhood 1165.7.2 Spatial Events 1185.8 Conclusion 120Exercises 121Bibliography 1236 GLOBAL STATES AND TERMINATION DETECTION 1276.1 Cuts and Global States 1276.1.1 Global States 1326.1.2 Recording of Global States 1346.1.3 Problem in Recording Global State 1386.2 Liveness and Safety 1406.3 Termination Detection 1436.3.1 Snapshot Based Termination Detection 1446.3.2 Ring Method 1456.3.3 Tree Method 1486.3.4 Weight Throwing Method 1516.4 Conclusion 153Exercises 154Bibliography 1567 LEADER ELECTION 1577.1 Impossibility Result 1587.2 Bully Algorithm 1597.3 Ring-Based Algorithms 1607.3.1 Circulate IDs All the Way 1617.3.2 As Far as an ID Can Go 1627.4 Hirschberg and Sinclair Algorithm 1637.5 Distributed Spanning Tree Algorithm 1677.5.1 Single Initiator Spanning Tree 1677.5.2 Multiple Initiators Spanning Tree 1707.5.3 Minimum Spanning Tree 1767.6 Leader Election in Trees 1767.6.1 Overview of the Algorithm 1767.6.2 Activation Stage 1777.6.3 Saturation Stage 1787.6.4 Resolution Stage 1797.6.5 Two Nodes Enter SATURATED State 1807.7 Leased Leader Election 1827.8 Conclusion 184Exercises 185Bibliography 1878 MUTUAL EXCLUSION 1898.1 System Model 1908.2 Coordinator-Based Solution 1928.3 Assertion-Based Solutions 1928.3.1 Lamport’s Algorithm 1928.3.2 Improvement to Lamport’s Algorithm 1958.3.3 Quorum-Based Algorithms 1968.4 Token-Based Solutions 2038.4.1 Suzuki and Kasami’s Algorithm 2038.4.2 Singhal’s Heuristically Aided Algorithm 2068.4.3 Raymond’s Tree-Based Algorithm 2128.5 Conclusion 214Exercises 215Bibliography 2169 AGREEMENTS AND CONSENSUS 2199.1 System Model 2209.1.1 Failures in Distributed System 2219.1.2 Problem Definition 2229.1.3 Agreement Problem and Its Equivalence 2239.2 Byzantine General Problem (BGP) 2259.2.1 BGP Solution Using Oral Messages 2289.2.2 Phase King Algorithm 2329.3 Commit Protocols 2339.3.1 Two-Phase Commit Protocol 2349.3.2 Three-Phase Commit 2389.4 Consensus 2399.4.1 Consensus in Synchronous Systems 2399.4.2 Consensus in Asynchronous Systems 2419.4.3 Paxos Algorithm 2429.4.4 Raft Algorithm 2449.4.5 Leader Election 2469.5 Conclusion 248Exercises 249Bibliography 25010 GOSSIP PROTOCOLS 25310.1 Direct Mail 25410.2 Generic Gossip Protocol 25510.3 Anti-entropy 25610.3.1 Push-Based Anti-Entropy 25710.3.2 Pull-Based Anti-Entropy 25810.3.3 Hybrid Anti-Entropy 26010.3.4 Control and Propagation in Anti-Entropy 26010.4 Rumor-mongering Gossip 26110.4.1 Analysis of Rumor Mongering 26210.4.2 Fault-Tolerance 26510.5 Implementation Issues 26510.5.1 Network-Related Issues 26610.6 Applications of Gossip 26710.6.1 Peer Sampling 26710.6.2 Failure Detectors 27010.6.3 Distributed Social Networking 27110.7 Gossip in IoT Communication 27310.7.1 Context-Aware Gossip 27310.7.2 Flow-Aware Gossip 27410.7.2.1 Fire Fly Gossip 27410.7.2.2 Trickle 27510.8 Conclusion 278Exercises 279Bibliography 28011 MESSAGE DIFFUSION USING PUBLISH AND SUBSCRIBE 28311.1 Publish and Subscribe Paradigm 28411.1.1 Broker Network 28511.2 Filters and Notifications 28711.2.1 Subscription and Advertisement 28811.2.2 Covering Relation 28811.2.3 Merging Filters 29011.2.4 Algorithms 29111.3 Notification Service 29411.3.1 Siena 29411.3.2 Rebeca 29511.3.3 Routing of Notification 29611.4 MQTT 29711.5 Advanced Message Queuing Protocol 29911.6 Effects of Technology on Performance 30111.7 Conclusions 303Exercises 304Bibliography 30512 PEER-TO-PEER SYSTEMS 30912.1 The Origin and the Definition of P2P 31012.2 P2P Models 31112.2.1 Routing in P2P Network 31212.3 Chord Overlay 31312.4 Pastry 32112.5 Can 32512.6 Kademlia 32712.7 Conclusion 331Exercises 332Bibliography 33313 DISTRIBUTED SHARED MEMORY 33713.1 Multicore and S-DSM 33813.1.1 Coherency by Delegation to a Central Server 33913.2 Manycore Systems and S-DSM 34013.3 Programming Abstractions 34113.3.1 MapReduce 34113.3.2 OpenMP 34313.3.3 Merging Publish and Subscribe with DSM 34513.4 Memory Consistency Models 34713.4.1 Sequential Consistency 34913.4.2 Linearizability or Atomic Consistency 35113.4.3 Relaxed Consistency Models 35213.4.3.1 Release Consistency 35613.4.4 Comparison of Memory Models 35713.5 DSM Access Algorithms 35813.5.1 Central Sever Algorithm 35913.5.2 Migration Algorithm 36013.5.3 Read Replication Algorithm 36113.5.4 Full Replication Algorithm 36213.6 Conclusion 364Exercises 364Bibliography 36714 DISTRIBUTED DATA MANAGEMENT 37114.1 Distributed Storage Systems 37214.1.1 Raid 37214.1.2 Storage Area Networks 37214.1.3 Cloud Storage 37314.2 Distributed File Systems 37514.3 Distributed Index 37614.4 NoSQL Databases 37714.4.1 Key-Value and Document Databases 37814.4.1.1 MapReduce Algorithm 38014.4.2 Wide Column Databases 38114.4.3 Graph Databases 38214.4.3.1 Pregel Algorithm 38414.5 Distributed Data Analytics 38614.5.1 Distributed Clustering Algorithms 38814.5.1.1 Distributed K-Means Clustering Algorithm 38814.5.2 Stream Clustering 39114.5.2.1 BIRCH Algorithm 39214.6 Conclusion 393Exercises 394Bibliography 39515 DISTRIBUTED KNOWLEDGE MANAGEMENT 39915.1 Distributed Knowledge 40015.2 Distributed Knowledge Representation 40115.2.1 Resource Description Framework (RDF) 40115.2.2 Web Ontology Language (OWL) 40615.3 Linked Data 40715.3.1 Friend of a Friend 40715.3.2 DBpedia 40815.4 Querying Distributed Knowledge 40915.4.1 SPARQL Query Language 41015.4.2 SPARQL Query Semantics 41115.4.3 SPARQL Query Processing 41315.4.4 Distributed SPARQL Query Processing 41415.4.5 Federated and Peer-to-Peer SPARQL Query Processing 41615.5 Data Integration in Distributed Sensor Networks 42115.5.1 Semantic Data Integration 42215.5.2 Data Integration in Constrained Systems 42415.6 Conclusion 427Exercises 428Bibliography 42916 DISTRIBUTED INTELLIGENCE 43316.1 Agents and Multi-Agent Systems 43416.1.1 Agent Embodiment 43616.1.2 Mobile Agents 43616.1.3 Multi-Agent Systems 43716.2 Communication in Agent-Based Systems 43816.2.1 Agent Communication Protocols 43916.2.2 Interaction Protocols 44016.2.2.1 Request Interaction Protocol 44116.3 Agent Middleware 44116.3.1 FIPA Reference Model 44216.3.2 FIPA Compliant Middleware 44316.3.2.1 JADE: Java Agent Development Environment 44316.3.2.2 MobileC 44316.3.3 Agent Migration 44416.4 Agent Coordination 44516.4.1 Planning 44716.4.1.1 Distributed Planning Paradigms 44716.4.1.2 Distributed Plan Representation and Execution 44816.4.2 Task Allocation 45016.4.2.1 Contract-Net Protocol 45016.4.2.2 Allocation of Multiple Tasks 45216.4.3 Coordinating Through the Environment 45316.4.3.1 Construct-Ant-Solution 45516.4.3.2 Update-Pheromone 45616.4.4 Coordination Without Communication 45616.5 Conclusion 456Exercises 457Bibliography 45917 DISTRIBUTED LEDGER 46117.1 Cryptographic Techniques 46217.2 Distributed Ledger Systems 46417.2.1 Properties of Distributed Ledger Systems 46517.2.2 A Framework for Distributed Ledger Systems 46617.3 Blockchain 46717.3.1 Distributed Consensus in Blockchain 46817.3.2 Forking 47017.3.3 Distributed Asset Tracking 47117.3.4 Byzantine Fault Tolerance and Proof of Work 47217.4 Other Techniques for Distributed Consensus 47317.4.1 Alternative Proofs 47317.4.2 Non-linear Data Structures 47417.4.2.1 Tangle 47417.4.2.2 Hashgraph 47617.5 Scripts and Smart Contracts 48017.6 Distributed Ledgers for Cyber-Physical Systems 48317.6.1 Layered Architecture 48417.6.2 Smart Contract in Cyber-Physical Systems 48617.7 Conclusion 486Exercises 487Bibliography 48818 CASE STUDY 49118.1 Collaborative E-Learning Systems 49218.2 P2P E-Learning System 49318.2.1 Web Conferencing Versus P2P-IPS 49518.3 P2P Shared Whiteboard 49718.3.1 Repainting Shared Whiteboard 49718.3.2 Consistency of Board View at Peers 49818.4 P2P Live Streaming 50018.4.1 Peer Joining 50018.4.2 Peer Leaving 50318.4.3 Handling “Ask Doubt” 50418.5 P2P-IPS for Stored Contents 50418.5.1 De Bruijn Graphs for DHT Implementation 50518.5.2 Node Information Structure 50718.5.2.1 Join Example 51018.5.3 Leaving of Peers 51018.6 Searching, Sharing, and Indexing 51118.6.1 Pre-processing of Files 51118.6.2 File Indexing 51218.6.3 File Lookup and Download 51218.7 Annotations and Discussion Forum 51318.7.1 Annotation Format 51318.7.2 Storing Annotations 51418.7.3 Audio and Video Annotation 51418.7.4 PDF Annotation 51418.7.5 Posts, Comments, and Announcements 51418.7.6 Synchronization of Posts and Comments 51518.7.6.1 Epidemic Dissemination 51618.7.6.2 Reconciliation 51618.8 Simulation Results 51618.8.1 Live Streaming and Shared Whiteboard 51718.8.2 De Bruijn Overlay 51818.9 Conclusion 520Bibliography 521Index 525
PC-Netzwerke
Bewährt, praxisnah und randvoll mit wertvollen Informationen – Sie erhalten nicht nur umfassende Grundlagen zur Einrichtung Ihres Netzwerks, sondern finden auch Praxis-Anleitungen, mit denen Sie Ihre Computer, Fernseher, Tablets und Smartphones zu Hause oder im Büro professionell vernetzen. Mit vielen Beispiel-Projekten für eigene Netzwerk- und Hausautomationsideen. Ihr Wissen können Sie zudem mit dem Netzwerkserver »siegfried« direkt ausprobieren. Nutzen Sie ihn für Netzlaufwerke, E-Mail, Netzwerkdrucker, Internettelefonie, DHCP und vieles mehr. Aktuell auch zu Windows 11 und macOS Monterey Aus dem Inhalt: Netzwerk-Grundlagen – alles, was Sie benötigenRichten Sie Ihr LAN oder WLAN einNutzen Sie VoIP - zu Hause und im BüroInternet mit mehreren PCs gleichzeitig nutzenMachen Sie Ihr Netzwerk sicherVirtualisieren Sie Ihr NetzwerkUniversal Plug and PlayWindows, Linux und macOS einrichtenTroubleshootingVerschlüsselungsiegfried - Ihr virtueller HomeserverNetzwerk-BackupMedienstreamingCloud-ComputingHausautomationRaspberry Pi als Media Center Vorwort ... 33 1. Einleitung ... 35 1.1 ... Aufbau des Buches ... 35 1.2 ... Formatierungen und Auszeichnungen ... 36 1.3 ... Listings ... 38 1.4 ... Das Material zum Buch ... 38 2. Schnelleinstieg: für Praktiker ... 41 2.1 ... Planung: Welche Komponenten benötigen Sie? ... 41 2.2 ... Kabel -- wenn ja, welches? ... 42 2.3 ... Beispiel: Familie Müller ... 44 2.4 ... Einkaufen ... 46 2.5 ... Multifunktionsgeräte ... 47 2.6 ... Hardware ein- und aufbauen ... 47 2.7 ... IP konfigurieren ... 49 2.8 ... Funktionstest ... 50 I Netzwerk-Grundwissen ... 51 3. Grundlagen der Kommunikation ... 53 3.1 ... Kommunikation im Alltag ... 53 3.2 ... Kommunikation zwischen Computern ... 54 3.3 ... Was ist nun ein Netzwerk? ... 55 4. Netzwerktopologien ... 57 4.1 ... Bustopologie ... 57 4.2 ... Ringtopologie ... 58 4.3 ... Sterntopologie ... 59 5. Kommunikationsmodelle ... 61 5.1 ... DoD-Modell ... 62 5.2 ... ISO/OSI-Modell ... 63 5.3 ... Ablauf der Kommunikation ... 64 II Lokale Netze ... 69 6. Ethernet ... 71 6.1 ... Ursprung von Ethernet ... 71 6.2 ... Fast Ethernet ... 73 6.3 ... Gigabit-Ethernet ... 74 6.4 ... NBase-T ... 75 6.5 ... IEEE 802.3ae -- 10GBASE ... 75 6.6 ... IEEE 802.3an -- 10GBASE-T ... 76 6.7 ... IEEE 802.3ba/j/m -- 40- und 100-Gigabit-Ethernet ... 76 6.8 ... IEEE 802.3bs -- 200- und 400-Gigabit-Ethernet ... 77 6.9 ... Hub ... 77 6.10 ... Switch ... 78 6.11 ... Virtual LAN ... 82 6.12 ... Das Ethernet-Datagramm ... 83 7. Wireless LAN ... 85 7.1 ... IEEE 802.11 ... 86 7.2 ... IEEE 802.11b ... 90 7.3 ... IEEE 802.11a/h ... 91 7.4 ... IEEE 802.11g ... 91 7.5 ... IEEE 802.11n -- WiFi 4 ... 92 7.6 ... IEEE 802.11ac -- WiFi 5 ... 92 7.7 ... IEEE 802.11ax -- WiFi 6 ... 93 7.8 ... IEEE 802.11be -- WiFi 7 ... 93 7.9 ... IEEE 802.11ad ... 94 7.10 ... IEEE 802.11ay ... 94 7.11 ... IEEE 802.11e ... 94 7.12 ... Wi-Fi Alliance ... 95 7.13 ... Beschleunigertechniken ... 95 7.14 ... Kanalwahl ... 100 7.15 ... Sendeleistung ... 104 7.16 ... Antennenausrichtung und Position ... 105 7.17 ... Sicherheit von WLANs ... 105 7.18 ... Hot Spots ... 106 7.19 ... WLAN-Direktverbindungen ... 108 7.20 ... WLAN-Mesh ... 108 7.21 ... Abgrenzung zu anderer drahtloser Kommunikation ... 111 7.22 ... Ausblick ... 114 8. Netzwerk ohne neue Kabel ... 117 8.1 ... Daten über Stromkabel ... 117 8.2 ... Powerline Telecommunication ... 120 8.3 ... Sicherheit ... 121 9. Glasfasertechnik ... 123 9.1 ... Kabel ... 124 9.2 ... Stecker ... 125 9.3 ... SFP-Module ... 127 III Weitverkehrsnetze ... 129 10. Kabelinternetzugang ... 131 10.1 ... Aufbau ... 132 10.2 ... Marktsituation ... 133 11. DSL ... 135 11.1 ... ADSL ... 135 11.2 ... SDSL ... 137 11.3 ... VDSL ... 138 11.4 ... VDSL2 ... 139 11.5 ... VDSL2-Vectoring ... 139 11.6 ... Supervectoring ... 140 11.7 ... G.fast ... 140 11.8 ... TV über das Telefonkabel ... 141 12. Fibre-Internet ... 143 IV Höhere Protokollschichten ... 145 13. Kabelloser Internetzugang ... 147 13.1 ... Vertragsarten und Anwendung ... 148 13.2 ... Verbindungsaufbau mit MWconn und ixconn ... 148 13.3 ... Verbindungsaufbau mit Huawei HiLink ... 149 13.4 ... Messen der Signalstärke ... 150 13.5 ... Signalverstärkung ... 152 13.6 ... GPRS ... 154 13.7 ... EDGE ... 155 13.8 ... UMTS ... 155 13.9 ... LTE ... 156 13.10 ... 5G ... 161 13.11 ... WiMAX ... 162 14. Das Internetprotokoll ... 165 14.1 ... IP-Broadcast ... 169 14.2 ... IPv4-Multicast ... 170 14.3 ... Routing ... 172 14.4 ... Private IP-Adressen ... 175 14.5 ... Network Address Translation ... 176 14.6 ... Carrier-grade NAT ... 178 14.7 ... IP-Version 6 ... 178 14.8 ... IPv6 ausprobieren ... 183 14.9 ... IPv6-only ... 185 14.10 ... Das IPv4-Datagramm ... 185 14.11 ... Das IPv6-Datagramm ... 187 15. Address Resolution Protocol und Neighbor Discovery Protocol ... 191 15.1 ... Address Resolution Protocol ... 191 15.2 ... Neighbor Discovery Protocol ... 192 15.3 ... Das ARP-Datagramm ... 193 15.4 ... Das NDP-Datagramm ... 194 16. Internet Control Message Protocol ... 195 16.1 ... Paketlaufzeiten ... 195 16.2 ... Das ICMP-Datagramm ... 196 16.3 ... Das ICMPv6-Datagramm ... 197 17. Transmission Control Protocol ... 199 17.1 ... Der Ablauf einer TCP-Verbindung ... 199 17.2 ... Multipath-TCP ... 202 17.3 ... Das TCP-Datagramm ... 203 18. User Datagram Protocol ... 207 18.1 ... Der Ablauf einer UDP-Verbindung ... 207 18.2 ... Das UDP-Datagramm ... 207 19. DHCP ... 209 19.1 ... Die einzelnen Pakete ... 210 19.2 ... Der DHCP-Ablauf ... 212 19.3 ... IPv6-Konfiguration ... 214 19.4 ... Das DHCP-Datagramm ... 217 19.5 ... Das DHCPv6-Datagramm ... 219 20. Namensauflösung ... 221 20.1 ... Die »hosts«-Datei ... 221 20.2 ... NetBIOS ... 222 20.3 ... WINS ... 222 20.4 ... DNS ... 222 20.5 ... Multicast DNS ... 227 20.6 ... LLMNR ... 228 20.7 ... systemd-resolved ... 228 21. Simple Network Management Protocol (SNMP) ... 229 V Praxiswissen ... 231 22. Service Discovery ... 233 22.1 ... Universal Plug and Play ... 233 22.2 ... Zeroconf ... 234 23. Netzwerkkabel ... 239 23.1 ... Kategorien ... 239 23.2 ... Linkklassen ... 240 23.3 ... Schirmung ... 241 23.4 ... Netzwerkstecker anbringen ... 244 23.5 ... Kabeltest ... 247 23.6 ... Patchpanel und Netzwerkdosen anschließen ... 248 23.7 ... Cross-Kabel ... 250 24. Netzwerkkarten ... 251 24.1 ... Kaufhilfe für kabelgebundene Netzwerkkarten ... 251 24.2 ... PCI-Express-Netzwerkkarten ... 252 24.3 ... PCI Express Mini Card ... 253 24.4 ... Next Generation Form Factor oder M.2 ... 254 24.5 ... PC-Card/Cardbus/ExpressCard ... 254 24.6 ... USB-Adapter ... 254 24.7 ... WLAN-Netzwerkkarten ... 256 24.8 ... Sonderfunktionen ... 257 25. Switches ... 259 25.1 ... Einsteiger: Mini-Switches ... 259 25.2 ... Webmanaged Switches ... 261 25.3 ... Fachbegriffe für den Switch-Kauf ... 263 25.4 ... Ein eigenes VLAN und WLAN für Gäste ... 265 26. Windows einrichten ... 269 26.1 ... Windows-Versionen und -Editionen ... 269 26.2 ... Hardwareerkennung ... 274 26.3 ... IPv4-Konfiguration ... 274 26.4 ... IPv6-Konfiguration ... 278 26.5 ... Windows-Firewall ... 280 26.6 ... Jugendschutz ... 283 26.7 ... File History ... 285 26.8 ... Windows Defender ... 288 26.9 ... Microsoft-Konto ... 289 26.10 ... Einstellungen synchronisieren ... 289 26.11 ... Bildcode ... 291 26.12 ... Client HyperV ... 291 26.13 ... Netzwerk- und Freigabecenter ... 292 26.14 ... Microsoft-Konto verknüpfen ... 300 26.15 ... Windows in verschiedenen Netzwerken ... 300 26.16 ... Microsoft Edge ... 301 26.17 ... Windows-Subsystem für Linux ... 302 26.18 ... Smartphone mit Windows verknüpfen ... 303 27. Linux einrichten ... 305 27.1 ... Dokumentation ... 306 27.2 ... Administration ... 307 27.3 ... Predictable Interface Names ... 308 27.4 ... Auswahl des Netzwerkmanagers ... 309 27.5 ... NetworkManager ... 310 27.6 ... Wicd ... 311 27.7 ... Das systemd-Projekt ... 311 27.8 ... Netzwerkkarte unter SUSE einrichten ... 313 27.9 ... IPv4-Konfiguration ... 314 27.10 ... IPv6-Konfiguration ... 317 27.11 ... Firewalld ... 318 27.12 ... WLAN unter Linux ... 320 28. macOS einrichten ... 323 28.1 ... Netzwerkumgebungen ... 323 28.2 ... Schnittstellen verwalten ... 325 28.3 ... Schnittstellen konfigurieren ... 326 28.4 ... WLAN-Karte konfigurieren ... 328 28.5 ... Die Firewalls von macOS ... 330 28.6 ... »networksetup« am Terminal ... 333 28.7 ... Freigaben für Windows unter macOS ... 334 29. Troubleshooting ... 337 29.1 ... Problemursachen finden ... 338 29.2 ... Fehlersuche Schritt für Schritt ... 340 29.3 ... Checkliste ... 343 29.4 ... Windows-Bordmittel ... 345 29.5 ... Linux-Bordmittel ... 354 29.6 ... Bordmittel von macOS ... 363 30. Zusatzprogramme ... 369 30.1 ... Wireshark ... 369 30.2 ... Zusatzprogramme für Windows ... 379 30.3 ... Zusatzprogramme für Linux ... 384 31. Netzwerkgeschwindigkeit ermitteln ... 387 31.1 ... Performancemessung mit NetIO ... 389 31.2 ... Performancemessung mit iPerf ... 391 31.3 ... Intel NAS Performance Toolkit ... 392 32. Fernadministration und Zusammenarbeit ... 395 32.1 ... Telnet ... 396 32.2 ... Secure Shell (SSH) ... 397 32.3 ... X11, das grafische System unter Linux ... 404 32.4 ... Remotedesktop ... 408 32.5 ... Windows Admin Center ... 411 32.6 ... Windows-Remoteunterstützung Easy Connect ... 412 32.7 ... Quick Assist ... 416 32.8 ... TeamViewer ... 418 32.9 ... Virtual Network Computing (VNC) ... 419 32.10 ... Zusammenarbeit im Internet -- Kollaboration ... 426 33. Sicherheit und Datenschutz im LAN und im Internet ... 431 33.1 ... Mögliche Sicherheitsprobleme ... 433 33.2 ... Angriffsarten: Übersicht ... 437 33.3 ... ARP- und NDP-Missbrauch ... 438 33.4 ... Sicherheitslösungen im Überblick ... 440 34. Programme zur Netzwerksicherheit ... 447 34.1 ... Firewalls für Windows ... 447 34.2 ... IPTables, Firewall für Linux ... 448 34.3 ... Firewalls testen ... 449 35. WLAN und Sicherheit ... 451 35.1 ... WEP ... 452 35.2 ... WPA ... 452 35.3 ... WPA2 ... 453 35.4 ... WPA3 ... 453 35.5 ... Access List ... 454 35.6 ... Wi-Fi Protected Setup ... 454 35.7 ... WLAN-Konfiguration per QR-Code ... 455 35.8 ... WLAN-Sicherheit analysieren ... 457 36. Verschlüsselung ... 461 36.1 ... Symmetrische Verschlüsselung ... 461 36.2 ... Asymmetrische Verschlüsselung ... 462 36.3 ... Hybride Verschlüsselung ... 462 36.4 ... Signaturen ... 463 36.5 ... (Un-)Sicherheitsfaktoren der Verschlüsselung ... 463 36.6 ... GNU Privacy Guard (GnuPG) ... 464 36.7 ... E-Mails mit Thunderbird und OpenPGP verschlüsseln ... 472 36.8 ... Volksverschlüsselung ... 476 36.9 ... GPGTools für macOS ... 477 36.10 ... Verschlüsselte Kommunikation mit Servern ... 479 37. Virtual Private Network ... 483 37.1 ... PPTP ... 483 37.2 ... L2TP ... 484 37.3 ... IPsec ... 484 37.4 ... SSL-VPN ... 486 37.5 ... WireGuard VPN ... 486 37.6 ... End-to-Site-VPN ... 488 37.7 ... Site-to-Site-VPN ... 489 37.8 ... VPN zwischen Netzwerken ... 490 37.9 ... FRITZ!Box-VPN ... 491 38. Internetzugang ... 493 38.1 ... Hardware-Router ... 493 38.2 ... OpenWrt -- ein freies Betriebssystem für Router ... 502 38.3 ... Proxy ... 504 39. DynDNS-Dienste ... 505 39.1 ... Anbieter ... 505 40. Netzwerkspeicher ... 509 40.1 ... EasyNAS, FreeNAS, OpenMediaVault und Co. ... 510 40.2 ... Router mit externer USB-Platte ... 510 40.3 ... Hardware-NAS ... 511 41. Virtualisierung ... 519 41.1 ... Hardwarevoraussetzungen ... 520 41.2 ... Oracle VM VirtualBox ... 521 41.3 ... Virtuelle Netzwerke ... 523 41.4 ... VMware Workstation Player ... 524 41.5 ... Anpassungen des Gastbetriebssystems ... 525 41.6 ... Tuning ... 526 41.7 ... Windows Sandbox ... 526 42. Virtuelle Appliances ... 527 42.1 ... IP-Adressen der virtuellen Maschinen ... 527 42.2 ... Web Proxy Appliance ... 528 42.3 ... Incredible PBX Asterisk Appliance ... 535 43. siegfried6 -- ein vielseitiger Server ... 541 43.1 ... Motivation -- oder: Warum ausgerechnet Linux? ... 541 43.2 ... Aufgaben Ihres Netzwerkservers ... 543 43.3 ... Einbinden der virtuellen Maschine ... 544 43.4 ... Das B-Tree-Dateisystem ... 544 43.5 ... Webmin ... 546 43.6 ... DHCP-Server ... 546 43.7 ... Samba als Fileserver ... 551 43.8 ... Windows als Client ... 558 43.9 ... Linux als Client ... 559 43.10 ... macOS als Client ... 562 43.11 ... Windows und macOS als Server ... 563 43.12 ... Drucken im Netzwerk ... 564 43.13 ... Netzwerkdrucker am Client einrichten ... 567 43.14 ... Mailserver ... 568 43.15 ... Postfachinhalte aus dem Internet holen ... 575 43.16 ... Regelmäßiges Abholen der Post ... 578 43.17 ... IMAP-Server für Clients im LAN vorbereiten ... 579 43.18 ... IMAP-Clients im LAN an den Server anbinden ... 581 43.19 ... Shared Folders ... 582 43.20 ... Time-Server ... 583 44. Containertechnologie ... 589 44.1 ... Docker Client ... 590 44.2 ... Dockerfile ... 591 44.3 ... Docker Cloud ... 593 44.4 ... CI/CD ... 595 45. Netzwerkbackup ... 597 45.1 ... Wozu Backup? ... 597 45.2 ... Clonezilla ... 599 45.3 ... Windows-Bordmittel ... 601 45.4 ... Linux »rsync« ... 605 45.5 ... macOS Time Machine ... 605 45.6 ... Cloud-Backup ... 608 46. Medienstreaming ... 611 46.1 ... Protokolle und Codecs ... 613 46.2 ... Streaminghardware ... 616 46.3 ... Streamingsoftware ... 623 46.4 ... Kodi Home Theater ... 627 46.5 ... Plex ... 631 47. Voice over IP ... 633 47.1 ... Grundlagen zu VoIP ... 635 47.2 ... Voraussetzungen für VoIP im Netzwerk ... 640 47.3 ... HD Voice ... 645 47.4 ... VoLTE ... 646 47.5 ... WiFi calling ... 646 47.6 ... SIP-Provider im Internet ... 646 47.7 ... Softphones ... 648 47.8 ... VoIP-Hardware ... 650 47.9 ... Headsets ... 654 48. Cloud-Computing ... 657 48.1 ... Infrastrukturen ... 658 48.2 ... Everything as a Service ... 658 48.3 ... Beispiele aus der Cloud ... 660 48.4 ... Windows Cloud Clipboard ... 669 49. Hausautomation ... 671 49.1 ... Kabel und Funk im Vergleich ... 674 49.2 ... Sensoren und Aktoren ... 677 49.3 ... Zentrale oder dezentrale Steuerung? ... 678 50. FHEM-Steuerzentrale ... 681 50.1 ... FHEM auf dem Raspberry Pi installieren ... 681 50.2 ... Zugriff auf FHEM ... 682 50.3 ... Erste Schritte in FHEM ... 683 50.4 ... Das CUL flashen und einbinden ... 685 50.5 ... Die grundlegende Konfiguration des CUL ... 687 50.6 ... Ein HomeMatic-Funkmodul für den Raspberry Pi ... 687 50.7 ... Weitere FHEM-Module ... 687 50.8 ... Zugriff auf FHEM mit Apps ... 693 50.9 ... Zugriff auf FHEM aus dem Internet ... 694 50.10 ... Einen Sprachassistenten einbinden ... 696 51. Eine FS20-Hausautomation mit FHEM ... 699 51.1 ... Kommunikation im FS20-Netzwerk ... 699 51.2 ... Eine Zeitsteuerung für die Markise ... 703 51.3 ... Der Dimmer der Terrassenüberdachung ... 704 51.4 ... Sensoren anlernen ... 706 52. Eine HomeMatic-Hausautomation mit FHEM ... 709 52.1 ... Funkschnittstelle ... 709 52.2 ... Kommunikation im HomeMatic-Netzwerk ... 711 52.3 ... Steuern des Garagentorantriebes ... 714 52.4 ... Relais zum Brandmelder ... 714 52.5 ... Firmware ... 715 52.6 ... Sicherheit ... 715 53. Selbstgebaute Geräte mit dem ESP8266 ... 717 53.1 ... Hardware ... 717 53.2 ... Firmware flashen ... 721 53.3 ... Tasmota für WLAN konfigurieren ... 723 53.4 ... FHEM als MQTT Broker ... 724 53.5 ... MH-RD ... 724 53.6 ... DHT22 ... 726 53.7 ... Tasmota als MQTT Publisher ... 727 53.8 ... Überwachung der Sensoren ... 728 53.9 ... Taupunktberechnung mit Dewpoint ... 729 53.10 ... Plot erzeugen ... 729 54. Raspberry Pi ... 731 54.1 ... Hardware im Vergleich ... 731 54.2 ... LAN-Performance in der Praxis ... 733 54.3 ... Stromversorgung ... 733 54.4 ... Firmwareeinstellungen ... 734 54.5 ... Auswahl des Betriebssystems für den Raspberry Pi ... 735 54.6 ... Eine bootfähige SD-Karte erstellen ... 736 54.7 ... Erste Schritte mit Raspberry Pi OS ... 737 55. Projekte mit dem Raspberry Pi ... 741 55.1 ... Raspberry Pi als Media Center ... 741 55.2 ... Ihr eigener Router für unterwegs ... 746 55.3 ... Der Raspberry-Pi-Radiowecker ... 752 55.4 ... Raspberry NAS ... 760 55.5 ... Pi-hole als schwarzes Loch für Werbung ... 764 Anhang ... 767 A. Linux-Werkzeuge ... 767 A.1 ... Vorbemerkung ... 767 A.2 ... Grundbefehle ... 768 A.3 ... Der Editor vi ... 778 A.4 ... Shell-Skripte ... 781 B. Glossar ... 783 Index ... 805