Computer und IT
Sichere Windows-Infrastrukturen (2. Auflg.)
Das Handbuch für Administratoren in aktualisierter 2. Auflage, Februar 2023 Heutzutage ist nicht mehr die Frage, ob Ihre Infrastruktur Ziel eines Angriffs wird, sondern wie Sie dafür gewappnet sind. Microsoft gibt Ihnen dazu einen Reihe Werkzeuge an die Hand, und dieser Leitfaden zeigt Ihnen, wie Sie sie effektiv einsetzen. Mit den richtigen Administrationsmethoden machen Sie dem Angreifer das Leben schwer und sorgen dafür, wichtige Daten sicher bleiben und kein Schaden entsteht. Zahlreiche Best Practices und Hinweise aus der Praxis erklären Ihnen, wie Sie Ihre Systeme absichern und sich auf den Ernstfall vorbereiten. Neu in der 2. Auflage: Hinweise für die Migration bestehender Umgebungen und Handlungsvorschläge für die Disaster Recovery Sichere Systeme – von Anfang an Sicherheit lässt sich nicht per Knopfdruck einschalten, sondern will gut geplant sein. Dieses Handbuch zeigt Ihnen, wie Sie Zugriffsrechte und Benutzerkonten sinnvoll einrichten und Ihr Netzwerk so konfigurieren, dass es resilient gegen Angriffe ist und Hackern das Leben schwer macht. Angriffsvektoren kennen und Systeme absichern Nur wenn Sie die wichtigsten Sicherheitsprobleme kennen, können Sie Ihr Netzwerk effektiv absichern. Daher finden Sie hier einen Überblick über einschlägige Hacking-Tools und erfahren so praxisnah, wie ein Angriff abläuft. Sicherheit in der Praxis Das richtige Monitoring und ein gutes Patch-Management sind ein erster Schritt zur sicheren Umgebung. Es gibt allerdings noch viel mehr, was Sie im Administrationsalltag tun können, um Ihre Systeme zu schützen: Just-in-time und Just-enough-Administration, saubere Einordnung der Systeme in Tiers, PAWs und mehr! Aus dem Inhalt: Angriffsmethoden und Werkzeuge Systeme härten und sichere Administration Authentifizierungsprotokolle Least-Privilege-Prinzip und Tier-Modell Credential Guard und Remote Credential Guard Admin Forest und PAM-Trust Administration: Just in time und Just enough Update-Management mit WSUSPKI und CA Auditing, Monitoring und Reporting Disaster Recovery: Gut vorbereitet für den Ernstfall Migrationsguide: Von der Legacy-Umgebung zur modernen Infrastruktur Autoren: Karsten Weigel ist Microsoft Certified Solutions Associate und als Microsoft Certified Technology Specialist ausgewiesener Experte für Netzwerkinfrastruktur, Windows Server und Active Directory. Als technischer Projektverantwortlicher verfügt er über langjährige Erfahrungen in der Systemmigration von heterogenen Windows-Umgebungen. Derzeit ist er als Enterpriseadministrator für ein weltweit betriebenes Active Directory verantwortlich und ist technischer Ansprechpartner gegenüber dem Herstellersupport. Er arbeitet seit über 20 Jahren administrativ und beratend im IT-Umfeld. Peter Kloep ist ein herausragender Experte für sichere Windows-Infrastrukturen im deutschsprachigen Raum. Seit 2002 ist er Microsoft Certified Trainer und hat seitdem zahlreiche technische Trainings zur Windows-Administration durchgeführt. Außerdem ist er Microsoft Certified Systems Engineer und Microsoft Certified Solutions Expert – Windows Server 2012. Er war bei Microsoft als Premier Field Engineer tätig und unterstützte dort Premier-Kunden in den Bereichen Identity Management und Security. Er kennt daher die in diesem Buch beschriebenen Fragestellungen aus der Praxis, ist mit den Ansprüchen der Unternehmen vertraut und geht gezielt auf potentielle Fallstricke und Probleme ein.Leseprobe (PDF-Link)
SEO - Das Praxis-Handbuch für Suchmaschinenoptimierung
Für eine Website ist nichts wichtiger als auf den ersten Rängen der Suchergebnisse zu stehen. Dieses Buch zeigt Ihnen Schritt für Schritt, wie Sie Ihre bestehende Website für Suchmaschinen optimieren oder von Grund auf eine neue Content- oder Affiliate-Site aufbauen. Zunächst erläutern die Autoren in Teil I die Funktionsweise von Suchmaschinen und zeigen auf, welchen Algorithmen Google folgt und wie Sie diese zu Ihrem Vorteil nutzen können – und Fallstricke von vornherein vermeiden. Anschließend gehen die Autoren ausführlich darauf ein, wie Sie relevante Suchbegriffe identifizieren und bewerten, eine zu Ihren Inhalten passende SEO-Strategie entwickeln und eine Website aufbauen bzw. optimieren. Um für Suchmaschinen relevante Inhalte zu erstellen, entwickeln Sie eine Content-Strategie und erfahren, was dabei zu beachten ist. Daraufhin lernen Sie alle technischen Faktoren kennen, die für die Suchmaschinenoptimierung eine Rolle spielen wie z.B. die Sicherstellung der Crawl- und Indexierbarkeit durch Suchmaschinen oder die Verbesserung der Ladezeit Ihrer Website. Weitere wichtige Faktoren wie gute Linkstrukturen, die Conversion-Optimierung auf der Zielseite und die Erfolgskontrolle Ihres Projekts werden ebenfalls praxisnah erläutert. In Teil II zeigen die Autoren am Beispiel des Amazon Partnerprogramms detailliert, wie Sie mit Affiliate-Marketing Ihre Website monetarisieren können. Teil III richtet sich an Leser, die zunächst eine neue Website erstellen möchten und erläutert dafür den Einsatz von WordPress. Weitere Kapitel zu rechtlichen Grundlagen und zum Controlling mit Google Analytics runden das Buch ab. Dies ist ein praktischer Leitfaden für alle, die mit ihrer Website im Internet erfolgreich werden wollen.Aus dem Inhalt: Teil I: SuchmaschinenoptimierungKeyword- und PotenzialanalyseContent-OptimierungTechnisches SEOLinkstrukturenConversion-OptimierungErfolgskontrolleTeil II: Affiliate-MarketingProvisionsmodelleAmazon PartnerprogrammNischenthemen findenMonetarisierung von InhaltenTeil III: Website aufbauenEinsatz von WordPressRechtliche GrundlagenControlling mit Google AnalyticsAutoren: Die Autoren sind SEO-Experten aus unterschiedlichen Bereichen: Marco Nirschl ist Professor für E-Commerce an der Ostbayerischen Technischen Hochschule Amberg-Weiden und leitet dort den Bachelor-Studiengang Digital Business sowie die beiden MBA-Studiengänge Digital Business Management und Digital Marketing. Stefan Kaltenecker ist Online-Marketing-Berater und Inhaber der Agentur seomoto in Weiden. Alexander Eberhardt ist Online-Marketing-Manager in der Witt-Gruppe (einer Tochter des Otto-Konzerns).
Einstieg in Linux Mint 21 (5. Auflg.)
Mit diesem Buch wird der Einstieg in Linux ganz leicht! Aufschlagen, Mint installieren und los geht's.Dirk Becker führt Sie Schritt für Schritt durch die beliebte Linux-Distribution, die genau auf die Bedürfnisse von Linux-Neulingen und Anfängern zugeschnitten ist. Er zeigt Ihnen, welche Variante für Sie die richtige ist und wie Sie das große Angebot an Apps für sich nutzen. Mit dabei sind natürlich die beliebte Office-Suite Libre Office, die Bildbearbeitung mit GIMP sowie die Virtualisierungs-Software Wine, mit der sich Windows-Anwendungen und Games auch auf einem Linux-System nutzen lassen. Tipps zum Arbeiten mit der Konsole und zur Wartung des Systems sowie ein umfangreicher Troubleshooting-Guide machen das Buch zum Must-have für Linux-Einsteiger. Aktuell zu Linux Mint 21, »Vanessa«.Leseprobe (PDF-Link)
Modern Enterprise Architecture
Enterprise Architecture (EA) frameworks such as TOGAF and Zachman are still valid, but enterprise architects also need to adapt to the new reality of agile, DevOps, and overall disruption through digital transformation. This book will help do just that.The Change to Modern Enterprise Architecture will teach you how to use known frameworks in the new world of digital transformation. Over the course of the book, you'll learn how modern EA is helping drive strategic business decisions, create continuous and agile (“floating”) architecture for scalability, and how to address quality and speed in architecture using and integrating DevSecOps frameworks in EA.This book is divided into three parts: the first explains what modern enterprise architecture is and why it’s important to any business. It covers the different EA frameworks and explains what they are. In the second part, you will learn how to integrate modern development frameworks into EA, and why this knowledge will enable you to deftly respond to various business challenges. The final section of the book is all about scaling the enterprise using modern enterprise architecture. You will also see how the role of the enterprise architect is changing and how to remain in control of your architecture.Upon completing this book, you'll understand why the enterprise architect is no longer just a role overseeing the architecture strategy of a business, but has become more of a leader in driving engineering excellence.WHAT YOU'LL LEARN* Integrate DevSecOps as artifact to modern EA* Use Enterprise Architecture to scale up your business* Understand the changing role of the enterprise architect* Define a floating architecture to enhance business agilityWHO THIS BOOK IS FOREnterprise architects, IT architects, lead engineers, business architects, business leaders, product managers.JEROEN MULDER is a certified enterprise and business architect who holds certifications in various cloud technologies, DevOps, and security. As an architect and consultant, he has executed many complex projects in digital transformation for a wide variety of companies. He’s the author of the books Multi-Cloud Architecture and Governance, Enterprise DevOps for Architects, and Transformation Healthcare using DevOps. His current role is principal consultant at Fujitsu, a Japan-based leading IT company.Jeroen believes that anyone, any team or business will perform better and reach further if they are truly inspired. That’s his mission: to inspire, by inviting people to be creative and bold, so they take that one step further.Chapter 1: Why Any Business Needs Enterprise ArchitectureCHAPTER GOAL: EXPLAIN WHAT EA IS AND WHY IT’S IMPORTANT TO ANY BUSINESS. INTRODUCING VARIOUS EA FRAMEWORKS AND SHOWING THE RELEVANCY OF THESE FRAMEWORKS.NO OF PAGES 35SUB -TOPICS1. Introduction to Enterprise Architecture2. The benefits of EA3. Using Zachman and TOGAF4. Starting with architecture vision from the business5. Collecting business requirements6. Change management is keyChapter 2: The Transformation to Modern EACHAPTER GOAL: DESCRIBING HOW EA (AND THE ROLE OF THE ENTERPRISE ARCHITECT) IS CHANGING DUE TO NEW BUSINESS GOALS.NO OF PAGES: 30SUB - TOPICS1. Modern Enterprise Architecture2. Learning from IT4IT3. Using modern EA techniques and tools4. Defining a target architecture and operating model5. Applying best practices from EAChapter 3: The Real World of Digital TransformationCHAPTER GOAL: HOW DO EARTH-BORN (TRADITIONAL) COMPANIES START THE JOURNEY TO MODERN COMPANIES USING SCALABLE CLOUD-NATIVE TECHNOLOGY, AGILE FRAMEWORKS AND DEVSECOPS? WHAT ARE THE MODERN BUSINESS CHALLENGES AND HOW CAN EA ADDRESS THESE.NO OF PAGES : 30SUB - TOPICS:1. The challenge of the earth-born enterprise2. Starting the journey: earth-born migrants3. Guiding the transformation from EA4. Application Portfolio Management5. Controlling risksChapter 4: Creating the Floating ArchitectureCHAPTER GOAL: INTEGRATING NEW PRACTICES IN EA: AGILE, SCRUM, DEVSECOPS.NO OF PAGES: 30SUB - TOPICS:1. Becoming agile by leveraging the power of small2. Including DevOps principles in architecture3. Security is intrinsic in EA4. Change management in floating architecture5. Putting it all together in the architectural vision1. Best practices from real cases: what defines success?Chapter 5: Scaling the Business with EACHAPTER GOAL:1. Setting strategic objectives in EA2. Why businesses need to be scalable3. Enabling development speed4. Identifying stakeholders in modern EA5. Scaling the organization6. Scaling the businessChapter 6: The Changing Role of the Enterprise ArchitectCHAPTER GOAL:1. The role of the architect in frameworks2. From architect to servant leader3. Creating an architecture culture and engineering excellence in the enterprise4. The future of architecture and the architect5. Training new talents – we need you (conclusion)
Using Microsoft Dynamics 365 for Finance and Operations
Precise instructions and descriptions in this book enable users, consultants, IT managers, and students to understand Microsoft Dynamics 365 for Finance and Operations rapidly. Dynamics 365 for Finance and Operations is a comprehensive business management solution for large and mid-sized organizations, which includes the core products Dynamics 365 Supply Chain Management and Dynamics 365 Finance. This book provides the required knowledge to handle all basic business processes in the application. The exercises in the book also make it a good choice for self-study.DR. ANDREAS LUSZCZAK Is a project manager, consultant, and trainer for Microsoft Dynamics 365/AX. Apart from his engagement in numerous implementation projects, he has been teaching it at renowned universities in Austria. Before focusing on Dynamics 365/AX, he has been working as an IT manager/CIO and consultant for other business solutions (including Microsoft Dynamics NAV).Basics and Technology - Navigation and User Interface - Supply Chain Management - Trade and Logistics - Advanced Warehouse Management - Manufacturing - Financial Management
Handbuch für Salesforce-Architekten
Tauchen Sie tief in den architektonischen Ansatz, die bewährten Verfahren und die wichtigsten Überlegungen ein, die zum Verstehen, Bewerten und Entwerfen einer effizienten, skalierbaren und nachhaltigen Salesforce-basierten Lösung erforderlich sind. Dieses Buch wirft einen umfassenden Blick auf die sieben architektonischen Bereiche, die bei der Architektur einer Salesforce-basierten Lösung berücksichtigt werden müssen, und versetzt Sie in die Lage, die Artefakte zu entwickeln, die für einen durchgängigen Unternehmensarchitektur-Entwurf für die Salesforce-Implementierung und DevOps erforderlich sind.Dieses unentbehrliche Handbuch hilft Salesforce-Experten bei der Implementierung und Verwaltung von Salesforce in ihrem Unternehmen. Sie lernen die Salesforce-Architektur kennen: Lösungsarchitektur, Datenarchitektur, Sicherheitsarchitektur, Integrationsarchitektur, Identitäts- und Zugriffsmanagementarchitektur und Strategien, die für Salesforce-basierte mobile Anwendungen verwendet werden können.Neben den wichtigsten Architekturkonzepten bietet das Buch auch branchenübliche Best Practices und den empfohlenen Rahmen für die Herangehensweise, Verwaltung, Bereitstellung und kontinuierliche Verbesserung einer Salesforce-Lösung mithilfe des Salesforce Development & Deployment Lifecycle.Was Sie lernen werden· Verschaffen Sie sich einen detaillierten Überblick über das mandantenfähige, metadatengesteuerte Architektur-Framework von Salesforce und die zugrunde liegende Technologie, die Salesforce unterstützt· Sie kennen die sieben Architekturbereiche, ihre Feinheiten und die Überlegungen, die beim Entwurf einer Salesforce-Lösung in jedem Bereich angestellt werden müssen.· Sie verfügen über eine architektonische Denkweise und die erforderlichen Artefakte, um eine durchgängige Implementierung von Salesforce auf Unternehmensebene zu konzipieren.· Vertraut sein mit den gängigsten Salesforce-Produkten, Lizenzen, AppExchange-Produkten und den wichtigsten Erwägungen bei der Verwendung von sofort einsatzbereiten deklarativen Funktionen gegenüber benutzerdefinierten programmatischen Funktionen von Salesforce· Verständnis der Überlegungen zur Gestaltung der Datenarchitektur, einschließlich der Datenmodellierung in Salesforce, der Identifizierung und Entschärfung von Problemen bei großen Datenmengen sowie der wichtigsten Überlegungen zur Datenmigration und Datenarchivierungsstrategien· Überlegungen zur Sicherheitsarchitektur im Zusammenhang mit der Sicherung von Daten in Salesforce und den verschiedenen Ansätzen zur Ermöglichung oder Einschränkung der gemeinsamen Nutzung und Sichtbarkeit innerhalb von Salesforce verstehen· Überlegungen zur Integrationsarchitektur, die einen Überblick über die Integrationsmuster und die Integrationslösungen bieten, die mit Salesforce verwendet werden können, um Salesforce mit einem entfernten System zu verbinden, das vor Ort, in der Cloud oder von Drittanbietern gehostet wird· Verständnis der architektonischen Überlegungen zum Identitäts- und Zugriffsmanagement in den 9 Phasen des Lebenszyklus eines Identitäts- und Zugriffsmanagements· Sie kennen die Strategien, die für die Entwicklung mobiler Lösungen mit Salesforce zur Verfügung stehen, und die Optionen, die für die mobile Architektur von Salesforce verfügbar sind.· Anwendung der Grundsätze des DevOps- und Entwicklungslebenszyklus, die für eine Salesforce-Implementierung im Idealzustand erforderlich sindFür wen dieses Buch bestimmt istFachleute, die an der unternehmensweiten Implementierung, Optimierung und Architektur von Salesforce-Lösungen interessiert sind; Salesforce-Implementierungspartner (SI), die ein detailliertes Handbuch für die Architektur und Bereitstellung erfolgreicher Salesforce-Lösungen benötigen; Salesforce-Administratoren, -Entwickler und -Architekten, die eine zentrale Bildungsressource für die Beherrschung der Salesforce-Architekten-Domänen suchen, oder diejenigen, die die Zertifizierungsprüfungen für die Salesforce-Architektur-Domäne anstreben, einschließlich der Prüfung zum Salesforce Certified Technical Architect (CTA)Dipanker "DJ" Jyoti ist ein Branchenveteran mit mehr als zwei Jahrzehnten Erfahrung in der Verwaltung von Projekten zur digitalen Transformation bei Fortune 500-Unternehmen. Er verfügt über insgesamt 23 Branchenzertifizierungen (13 in Salesforce), darunter Salesforce Certified System Architect und Salesforce Certified Architect. Zu seinen weiteren Zertifizierungen auf Architekturebene gehören AWS Certified Solutions Architect-Professional, Google Cloud Certified Professional Architect, Microsoft Certified Azure Solutions Architect und Certified Blockchain Expert.DJ arbeitet derzeit für IBM als Associate Partner und verwaltet die globalen Salesforce-Assets von IBM. Bevor er zu IBM kam, hatte er Führungspositionen bei Capgemini, Accenture und Citibank inne. Sein Engagement für Salesforce begann vor zehn Jahren im Rahmen eines strategischen Geschäftsumwandlungsprojekts, bei dem er ein Salesforce-Proof-of-Concept erstellte, um die Möglichkeiten einer Low-Code/No-Code-CRM-Lösung zu demonstrieren. Er verliebte sich in Salesforce und hat seine Reise fortgesetzt, um sein Wissen zu erweitern und mit seinen Kollegen und der Cloud-Community zu teilen. Derzeit führt er einen Online-Blog über Cloud-Architekturkonzepte (cloudmixdj). Er lebt mit seiner Frau Junko und seinen beiden Söhnen Kazuya und Ouji in Rockville, Maryland. In seiner Freizeit kocht er gerne für seine Familie und schaut sich Fußball in der ersten Liga an.James A. Hutcherson ist eine erfahrene Führungskraft mit mehr als 40 Jahren Technologieerfahrung. Sein erstes Salesforce-Projekt wurde 2004 implementiert, wo er seine Salesforce-Reise begann. Während dieser Zeit hat er jede Gelegenheit genutzt, um sein Salesforce-Wissen zu erweitern. Er besitzt 17 Salesforce-Zertifizierungen, darunter Certified Salesforce Application Architect und Certified Salesforce System Architect. Er ist ein begeisterter Pädagoge und hat in den letzten Jahren mehrere kostenlose Salesforce-Schulungen veranstaltet, um etwas zurückzugeben und das Salesforce-Ökosystem auszubauen.Jim ist derzeit Principal und Chief Technical Architect bei Capgemini Government Solutions, wo er die Salesforce-Praxis leitet und Unternehmenslösungen für Kunden der US-Bundesregierung bereitstellt. Er erwarb einen MBA vom Baldwin-Wallace College, einen MSCIS von der University of Phoenix und einen BA von der Southern Illinois University-Carbondale. Er und seine Frau Sherry leben in Orlando, Florida, wo sie gerne Zeit mit ihrer Familie und ihren vier wunderbaren Enkelkindern verbringen.Kapitel 1: Salesforce-Architektur.- Kapitel 2: Die Kunst der Artefakte.- Kapitel 3: Salesforce-Anwendungsarchitektur.- Kapitel 4: Salesforce-Datenarchitektur.- Kapitel 5: Salesforce-Sicherheitsarchitektur.- Kapitel 6: Salesforce-Integrationsarchitektur.- Kapitel 7: Salesforce-Identitäts- und Zugriffsmanagementarchitektur.- Kapitel 8: Salesforce-Mobilarchitektur.- Kapitel 9: Salesforce-Entwicklungs- und Bereitstellungslebenszyklus.- Anhang A: Salesforce-Berechtigungsabläufe.- Anhang B: Integrationsmuster.- Anhang C: Salesforce-Beispielartefakte.
Linux Mint 21 - Schnelleinstieg
Der einfache Einstieg in die Linux-Welt Steigen Sie mit Linux Mint in die Linux-Welt ein! Mit diesem Buch erhalten Sie eine leicht verständliche Schritt-für-Schritt-Anleitung für die Installation und den Einsatz von Linux Mint 21. Dafür benötigen Sie keinerlei Linux-Kenntnisse und können schnell und einfach von Windows umsteigen. Sie werden Schritt für Schritt durch die verschiedenen Installationsmöglichkeiten von Linux Mint geführt (Live-Version, Festinstallation, Linux Mint als einziges oder als zweites Betriebssystem parallel zu Windows) und erfahren, wie Sie Linux Mint einrichten und an Ihre Bedürfnisse anpassen. Um sich schnell zurechtzufinden, erhalten Sie eine Einführung in die für Linux Mint empfohlenen Arbeitsoberflächen Cinnamon, Mate und XFCE sowie einen Überblick über vorinstallierte und weitere beliebte Linux-Software. Darüber hinaus erfahren Sie, wie Sie Software, die eigentlich für den Betrieb unter Windows gedacht ist, auch unter Linux installieren und nutzen können. Eine Einführung in die wichtigsten Linux-Grundlagen wie die Datei- und Benutzerverwaltung, die Installation von Software (Paketverwaltung) sowie das Terminal runden diesen Praxiseinstieg ab. So sind Sie optimal darauf vorbereitet, alle im Alltag anfallenden Aufgaben mit Linux Mint zu meistern.Aus dem Inhalt: Grundlagen zu Linux und MintInstallation und Live-VersionDie grafischen Oberflächen Cinnamon, Mate und XFCEAnwendungen nachinstallierenWindows-Programme mit Linux Mint nutzenLinux-Alternativen zu gängigen Windows-ProgrammenBackups und SicherheitTerminal und Verzeichnishierarchie
Software Engineering (4. Auflg.)
Grundlagen, Menschen, Prozesse, TechnikenDas 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:GrundlagenMenschen und ProzesseDaueraufgaben im SoftwareprojektTechniken der SoftwarebearbeitungVerwaltung und Erhaltung von SoftwareAuf die Ausbildung zukünftiger Software Engineers wird ebenfalls eingegangen. Ergänzende Informationen sind auf der Webseite der Autoren verfügbar: https://se-buch.de.Die 4. Auflage enthält neben vielen kleinen Verbesserungen und Aktualisierungen neue Themen wie Schätzung in agilen Projekten, agile Skalierung, Microservices, Domain-Driven Design und automatische Software-Auslieferung. Autoren:Jochen Ludewig, Horst LichterProf. 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.Zielgruppe:Praktiker*innen und Manager*innen mit Verantwortung für Software-ProjekteStudierendeLehrende
Foundations of ARM64 Linux Debugging, Disassembling, and Reversing
Gain a solid understanding of how Linux C and C++ compilers generate binary code. This book explains the reversing and binary analysis of ARM64 architecture now used by major Linux cloud providers and covers topics ranging from writing programs in assembly language, live debugging, and static binary analysis of compiled C and C++ code. It is ideal for those working with embedded devices, including mobile phones and tablets.Using the latest version of Red Hat, you'll look closely at the foundations of diagnostics of core memory dumps, live and postmortem debugging of Linux applications, services, and systems. You'll also work with the GDB debugger and use it for disassembly and reversing. This book uses practical step-by-step exercises of increasing complexity with explanations and many diagrams, including some necessary background topics. In addition, you will be able to analyze such code confidently, understand stack memory usage, and reconstruct original C/C++ code.And as you'll see, memory forensics, malware, and vulnerability analysis, require an understanding of ARM64 assembly language and how C and C++ compilers generate code, including memory layout and pointers. This book provides the background knowledge and practical foundations you’ll need to understand internal Linux program structure and behavior.Foundations of ARM64 Linux Debugging, Disassembling, and Reversing is the perfect companion to Foundations of Linux Debugging, Disassembling, and Reversing for readers interested in the cloud or cybersecurity.WHAT YOU'LL LEARN* Review the basics of ARM64 assembly language* Examine the essential GDB debugger commands for debugging and binary analysis * Study C and C++ compiler code generation with and without compiler optimizations* Look at binary code disassembly and reversing patterns* See how pointers in C and C++ are implemented and usedWHO THIS BOOK IS FORSoftware support and escalation engineers, cloud security engineers, site reliability engineers, DevSecOps, platform engineers, software testers, Linux C/C++ software engineers and security researchers without ARM64 assembly language background, and beginners learning Linux software reverse engineering techniques.Dmitry Vostokov is an internationally recognized expert, speaker, educator, scientist, inventor, and author. He is the founder of the pattern-oriented software diagnostics, forensics, and prognostics discipline (Systematic Software Diagnostics), and Software Diagnostics Institute (DA+TA: DumpAnalysis.org + TraceAnalysis.org). Vostokov has also authored books on software diagnostics, anomaly detection and analysis, software and memory forensics, root cause analysis and problem solving, memory dump analysis, debugging, software trace and log analysis, reverse engineering, and malware analysis. He has over 25 years of experience in software architecture, design, development, and maintenance in various industries, including leadership, technical, and people management roles. In his spare time, he presents various topics on Debugging.TV and explores Software Narratology, its further development as Narratology of Things and Diagnostics of Things (DoT), Software Pathology, and Quantum Software Diagnostics. His current interest areas are theoretical software diagnostics and its mathematical and computer science foundations, application of formal logic, artificial intelligence, machine learning, and data mining to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, diagnostics workflow, and interaction. Recent interest areas also include cloud native computing, security, automation, functional programming, and applications of category theory to software development and big data. He is based out of Dublin, Ireland.CHAPTER 1 - A64.1: MEMORY, REGISTERS, AND SIMPLE ARITHMETIC 11Memory and Registers inside an Idealized Computer 11Memory and Registers inside ARM 64-bit Computer 12“Arithmetic” Project: Memory Layout and Registers 13“Arithmetic” Project: A Computer Program 14“Arithmetic” Project: Assigning Numbers to Memory Locations 15Assigning Numbers to Registers 18“Arithmetic” Project: Adding Numbers to Memory Cells 19Incrementing/Decrementing Numbers in Memory and Registers 22Multiplying Numbers 25CHAPTER 2 - A64.2: CODE OPTIMIZATION 29“Arithmetic” Project: C/C++ Program 29Downloading GDB 31GDB Disassembly Output – No Optimization 32GDB Disassembly Output – Optimization 37CHAPTER 3 - A64.3: NUMBER REPRESENTATIONS 39Numbers and Their Representations 39Decimal Representation (Base Ten) 40Ternary Representation (Base Three) 41Binary Representation (Base Two) 42Hexadecimal Representation (Base Sixteen) 43Why are Hexadecimals Used? 44CHAPTER 4 - A64.4: POINTERS 47A Definition 47“Pointers” Project: Memory Layout and Registers 48“Pointers” Project: Calculations 50Using Pointers to Assign Numbers to Memory Cells 51Adding Numbers Using Pointers 58Incrementing Numbers Using Pointers 62Multiplying Numbers Using Pointers 65CHAPTER 5 - A64.5: BYTES, HALF WORDS, WORDS, AND DOUBLE WORDS 69Using Hexadecimal Numbers 69Byte Granularity 70Bit Granularity 71Memory Layout 72CHAPTER 6 - A64.6: POINTERS TO MEMORY 75Pointers Revisited 75Addressing Types 76Registers Revisited 81NULL Pointers 82Invalid Pointers 83Variables as Pointers 84Pointer Initialization 85Initialized and Uninitialized Data 86More Pseudo Notation 87“MemoryPointers” Project: Memory Layout 88CHAPTER 7 - A64.7: LOGICAL INSTRUCTIONS AND PC 99Instruction Format 99Logical Shift Instructions 100Logical Operations 101Zeroing Memory or Registers 102Instruction Pointer 103Code Section 105CHAPTER 8 - A64.8: RECONSTRUCTING A PROGRAM WITH POINTERS 107Example of Disassembly Output: No Optimization 107Reconstructing C/C++ Code: Part 1 110Reconstructing C/C++ Code: Part 2 112Reconstructing C/C++ Code: Part 3 114Reconstructing C/C++ Code: C/C++ program 116Example of Disassembly Output: Optimized Program 117CHAPTER 9 - A64.9: MEMORY AND STACKS 119Stack: A Definition 119Stack Implementation in Memory 120Things to Remember 122Stack Push Implementation 123Stack Pop Implementation 124Register Review 125Application Memory Simplified 126Stack Overflow 127Jumps 128Calls 130Call Stack 131Exploring Stack in GDB 133CHAPTER 10 - A64.10: FRAME POINTER AND LOCAL VARIABLES 137Stack Usage 137Register Review 138Addressing Array Elements 139Stack Structure (No Function Parameters) 140Function Prolog 141Raw Stack (No Local Variables and Function Parameters) 142Function Epilog 144“Local Variables” Project 145Disassembly of Optimized Executable 148CHAPTER 11- A64.11: FUNCTION PARAMETERS 149“FunctionParameters” Project 149Stack Structure 150Function Prolog and Epilog 152Project Disassembled Code with Comments 154Parameter Mismatch Problem 158CHAPTER 12 - A64.12: MORE INSTRUCTIONS 159PSTATE Flags 159Testing for 0 160TST - Logical Compare 161CMP – Compare Two Operands 162TST or CMP? 163Conditional Jumps 164Function Return Value 165CHAPTER 13 - A64.13: FUNCTION POINTER PARAMETERS 167“FunctionPointerParameters” Project 167Commented Disassembly 168CHAPTER 14 - A64.14: SUMMARY OF CODE DISASSEMBLY PATTERNS 173Function Prolog / Epilog 173ADR (Address) 174Passing Parameters 175Accessing Saved Parameters and Local Variables 176
Foundations of Linux Debugging, Disassembling, and Reversing
Review topics ranging from Intel x64 assembly language instructions and writing programs in assembly language, to pointers, live debugging, and static binary analysis of compiled C and C++ code. This book is ideal for Linux desktop and cloud developers.Using the latest version of Debian, you’ll focus on the foundations of the diagnostics of core memory dumps, live and postmortem debugging of Linux applications, services, and systems, memory forensics, malware, and vulnerability analysis. This requires an understanding of x64 Intel assembly language and how C and C++ compilers generate code, including memory layout and pointers.This book provides the background knowledge and practical foundations you’ll need in order to master internal Linux program structure and behavior. It consists of practical step-by-step exercises of increasing complexity with explanations and ample diagrams. You’ll also work with the GDB debugger and use it for disassembly and reversing.By the end of the book, you will have a solid understanding of how Linux C and C++ compilers generate binary code. In addition, you will be able to analyze such code confidently, understand stack memory usage, and reconstruct original C/C++ code. Foundations of Linux Debugging, Disassembling, and Reversing is the perfect companion to Foundations of ARM64 Linux Debugging, Disassembling, and Reversing for readers interested in the cloud or cybersecurity.WHAT YOU'LL LEARN* Review the basics of x64 assembly language* Examine the essential GDB debugger commands for debugging and binary analysis * Study C and C++ compiler code generation with and without compiler optimizations * Look at binary code disassembly and reversing patterns* See how pointers in C and C++ are implemented and usedWHO THIS BOOK IS FORSoftware support and escalation engineers, cloud security engineers, site reliability engineers, DevSecOps, platform engineers, software testers, Linux C/C++ software engineers and security researchers without Intel x64 assembly language background, beginners learning Linux software reverse engineering techniques, and engineers coming from non-Linux environments.Dmitry Vostokov is an internationally recognized expert, speaker, educator, scientist, inventor, and author. He is the founder of the pattern-oriented software diagnostics, forensics, and prognostics discipline (Systematic Software Diagnostics), and Software Diagnostics Institute (DA+TA: DumpAnalysis.org + TraceAnalysis.org). Vostokov has also authored books on software diagnostics, anomaly detection and analysis, software and memory forensics, root cause analysis and problem solving, memory dump analysis, debugging, software trace and log analysis, reverse engineering, and malware analysis. He has over 25 years of experience in software architecture, design, development, and maintenance in various industries, including leadership, technical, and people management roles. In his spare time, he presents various topics on Debugging.TV and explores Software Narratology, its further development as Narratology of Things and Diagnostics of Things (DoT), Software Pathology, and Quantum Software Diagnostics. His current interest areas are theoretical software diagnostics and its mathematical and computer science foundations, application of formal logic, artificial intelligence, machine learning, and data mining to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, diagnostics workflow, and interaction. Recent interest areas also include cloud native computing, security, automation, functional programming, and applications of category theory to software development and big data. He is based out of Dublin, Ireland.CHAPTER ONE - X64.1: MEMORY, REGISTERS, AND SIMPLE ARITHMETIC 11Memory and Registers inside an Idealized Computer 11Memory and Registers inside Intel 64-bit PC 12“Arithmetic” Project: Memory Layout and Registers 13“Arithmetic” Project: A Computer Program 14“Arithmetic” Project: Assigning Numbers to Memory Locations 15Assigning Numbers to Registers 17“Arithmetic” Project: Adding Numbers to Memory Cells 18Incrementing/Decrementing Numbers in Memory and Registers 21Multiplying Numbers 24CHAPTER TWO - X64.2: CODE OPTIMIZATION 27“Arithmetic” Project: C/C++ Program 27Downloading GDB 28GDB Disassembly Output – No Optimization 29GDB Disassembly Output – Optimization 32CHAPTER THREE - X64.3: NUMBER REPRESENTATIONS 33Numbers and Their Representations 33Decimal Representation (Base Ten) 34Ternary Representation (Base Three) 35Binary Representation (Base Two) 36Hexadecimal Representation (Base Sixteen) 37Why are Hexadecimals Used? 38CHAPTER FOUR - X64.4: POINTERS 41A Definition 41“Pointers” Project: Memory Layout and Registers 42“Pointers” Project: Calculations 43Using Pointers to Assign Numbers to Memory Cells 44Adding Numbers Using Pointers 50Incrementing Numbers Using Pointers 53Multiplying Numbers Using Pointers 56CHAPTER FIVE - X64.5: BYTES, WORDS, DOUBLE, AND QUAD WORDS 61Using Hexadecimal Numbers 61Byte Granularity 62Bit Granularity 63Memory Layout 64CHAPTER SIX - X64.6: POINTERS TO MEMORY 67Pointers Revisited 67Addressing Types 68Registers Revisited 73NULL Pointers 74Invalid Pointers 75Variables as Pointers 76Pointer Initialization 77Initialized and Uninitialized Data 78More Pseudo Notation 79“MemoryPointers” Project: Memory Layout 80CHAPTER SEVEN - X64.7: LOGICAL INSTRUCTIONS AND RIP 89Instruction Format 89Logical Shift Instructions 90Logical Operations 91Zeroing Memory or Registers 92Instruction Pointer 93Code Section 95CHAPTER EIGHT - X64.8: RECONSTRUCTING A PROGRAM WITH POINTERS 97Example of Disassembly Output: No Optimization 97Reconstructing C/C++ Code: Part 1 99Reconstructing C/C++ Code: Part 2 101Reconstructing C/C++ Code: Part 3 103Reconstructing C/C++ Code: C/C++ program 104Example of Disassembly Output: Optimized Program 105CHAPTER NINE - X64.9: MEMORY AND STACKS 107Stack: A Definition 107Stack Implementation in Memory 108Things to Remember 110PUSH Instruction 111POP instruction 112Register Review 113Application Memory Simplified 115Stack Overflow 116Jumps 117Calls 119Call Stack 121Exploring Stack in GDB 123CHAPTER TEN - X64.10: FRAME POINTER AND LOCAL VARIABLES 127Stack Usage 127Register Review 128Addressing Array Elements 129Stack Structure (No Function Parameters) 130Function Prolog 131Raw Stack (No Local Variables and Function Parameters) 132Function Epilog 134“Local Variables” Project 135Disassembly of Optimized Executable 138CHAPTER ELEVEN - X64.11: FUNCTION PARAMETERS 139“FunctionParameters” Project 139Stack Structure 140Function Prolog and Epilog 142Project Disassembled Code with Comments 144Parameter Mismatch Problem 147CHAPTER TWELVE - X64.12: MORE INSTRUCTIONS 149CPU Flags Register 149The Fast Way to Fill Memory 150Testing for 0 152TEST - Logical Compare 153CMP – Compare Two Operands 154TEST or CMP? 155Conditional Jumps 156The Structure of Registers 157Function Return Value 158Using Byte Registers 159CHAPTER THIRTEEN - X64.13: FUNCTION POINTER PARAMETERS 161“FunctionPointerParameters” Project 161Commented Disassembly 162CHAPTER FOURTEEN - X64.14: SUMMARY OF CODE DISASSEMBLY PATTERNS 169Function Prolog / Epilog 169LEA (Load Effective Address) 171Passing Parameters 172Accessing Parameters and Local Variables 173
SEO
* Suchmaschinenoptimierung* Keyword- und Potenzialanalyse* Content-Optimierung* Technisches SEO* Linkstrukturen* Conversion-Optimierung* ErfolgskontrolleTEIL II:* Affiliate-Marketing* Provisionsmodelle* Amazon Partnerprogramm* Nischenthemen finden* Monetarisierung von InhaltenTEIL III:* Website aufbauen* Einsatz von WordPress* Rechtliche Grundlagen* Controlling mit Google AnalyticsPROF. DR. MARCO NIRSCHL ist Professor für E-Commerce Management an der Technischen Hochschule Amberg-Weiden. Dort leitet er den Bachelor-Studiengang Digital Business sowie die MBA-Studiengänge Digital Business Management und Digital Marketing. Marco Nirschl beschäftigt sich unter anderem mit Strategien und Prozessen im Digital Business und Online-Marketing. Er ist Autor, Speaker und Veranstalter von Tagungen im E-Commerce- und Online Marketing-Umfeld. Zuvor war er beim Sparkassenverband Bayern für Strategieentwicklung und -umsetzung innerhalb der Sparkassen-Finanzgruppe zuständig und verantwortete das Competence Center Retail bei dem Beratungsunternehmen ibi research. Marco Nirschl studierte Wirtschaftsinformatik an der Universität Regensburg und promovierte dort an der wirtschaftswissenschaftlichen Fakultät.STEFAN KALTENECKER ist Berater und Unternehmenstrainer für Online-Marketing. Er verfügt über eine umfassende Praxiserfahrung in den Themen Suchmaschinenoptimierung, Suchmaschinenwerbung und Webanalyse. Der Diplom-Betriebswirt (FH) ist seit 2002 Experte im Bereich E-Commerce und Online-Marketing. Nach seinem Marketing-Studium war er international als Unternehmensberater sowie im E-Commerce der Otto Group tätig. Bereits sein erstes Unternehmen im Online-Reisevertrieb generierte einen Millionenumsatz. Er verantwortete die Suchmaschinenoptimierung bei A.T.U. und leitete das Online-Marketing bei Netto Marken-Discount. Als Gründer und Coach der Erfolg E-Commerce GmbH unterstützt er Onlinehändler erfolgreich dabei, planbare und profitable Ergebnisse im Online-Marketing zu erzielen. Er lehrt Online-Marketing an mehreren Hochschulen, trainiert Unternehmen und gibt Fachseminare für mehr Erfolg im digitalen Unternehmertum.ALEXANDER EBERHARDT ist Online Marketing Manager in der Witt-Gruppe (einer Tochter des Otto Konzerns) in Weiden und derzeit im Bereich Suchmaschinenmarketing für alle organischen Aktivitäten zuständig. Zuvor steuerte er außerdem investive Suchkampagnen mit weltweitem Fokus. Alexander Eberhardt studierte Handels- und Dienstleistungsmanagement mit Schwerpunkt E-Commerce Management an der Ostbayerischen Technischen Hochschule Amberg-Weiden. Er spezialisierte sich auf Affiliate- und Suchmaschinenmarketing und betreibt erfolgreiche Affiliate-Websites.
SEO
* Suchmaschinenoptimierung* Keyword- und Potenzialanalyse* Content-Optimierung* Technisches SEO* Linkstrukturen* Conversion-Optimierung* ErfolgskontrolleTEIL II:* Affiliate-Marketing* Provisionsmodelle* Amazon Partnerprogramm* Nischenthemen finden* Monetarisierung von InhaltenTEIL III:* Website aufbauen* Einsatz von WordPress* Rechtliche Grundlagen* Controlling mit Google AnalyticsPROF. DR. MARCO NIRSCHL ist Professor für E-Commerce Management an der Technischen Hochschule Amberg-Weiden. Dort leitet er den Bachelor-Studiengang Digital Business sowie die MBA-Studiengänge Digital Business Management und Digital Marketing. Marco Nirschl beschäftigt sich unter anderem mit Strategien und Prozessen im Digital Business und Online-Marketing. Er ist Autor, Speaker und Veranstalter von Tagungen im E-Commerce- und Online Marketing-Umfeld. Zuvor war er beim Sparkassenverband Bayern für Strategieentwicklung und -umsetzung innerhalb der Sparkassen-Finanzgruppe zuständig und verantwortete das Competence Center Retail bei dem Beratungsunternehmen ibi research. Marco Nirschl studierte Wirtschaftsinformatik an der Universität Regensburg und promovierte dort an der wirtschaftswissenschaftlichen Fakultät.STEFAN KALTENECKER ist Berater und Unternehmenstrainer für Online-Marketing. Er verfügt über eine umfassende Praxiserfahrung in den Themen Suchmaschinenoptimierung, Suchmaschinenwerbung und Webanalyse. Der Diplom-Betriebswirt (FH) ist seit 2002 Experte im Bereich E-Commerce und Online-Marketing. Nach seinem Marketing-Studium war er international als Unternehmensberater sowie im E-Commerce der Otto Group tätig. Bereits sein erstes Unternehmen im Online-Reisevertrieb generierte einen Millionenumsatz. Er verantwortete die Suchmaschinenoptimierung bei A.T.U. und leitete das Online-Marketing bei Netto Marken-Discount. Als Gründer und Coach der Erfolg E-Commerce GmbH unterstützt er Onlinehändler erfolgreich dabei, planbare und profitable Ergebnisse im Online-Marketing zu erzielen. Er lehrt Online-Marketing an mehreren Hochschulen, trainiert Unternehmen und gibt Fachseminare für mehr Erfolg im digitalen Unternehmertum.ALEXANDER EBERHARDT ist Online Marketing Manager in der Witt-Gruppe (einer Tochter des Otto Konzerns) in Weiden und derzeit im Bereich Suchmaschinenmarketing für alle organischen Aktivitäten zuständig. Zuvor steuerte er außerdem investive Suchkampagnen mit weltweitem Fokus. Alexander Eberhardt studierte Handels- und Dienstleistungsmanagement mit Schwerpunkt E-Commerce Management an der Ostbayerischen Technischen Hochschule Amberg-Weiden. Er spezialisierte sich auf Affiliate- und Suchmaschinenmarketing und betreibt erfolgreiche Affiliate-Websites.
GitHub For Dummies
GET MORE OUT OF YOUR CODING WITH GITHUBFor today’s coders, GitHub is a must. The world’s largest software development platform, GitHub helps developers store, track, and collaborate on software projects. In this easy-to-follow Dummies guide, you’ll find insight into creating repositories, establishing projects, collaborating, incorporating open-source resources, and establishing yourself as a valued member of the GitHub community. With a working knowledge of GitHub, you’ll be a better, more employable programmer. The simple instructions and interactive examples in this book will get you there quickly.* Get the instructions you need for using GitHub to collaborate on software projects* Become more attractive to employers with knowledge and experience in the largest development platform* Set up GitHub Desktop, create a repository, and launch your first project* Use GitHub Skills courses to learn new tricks, for beginners to prosYou’ve learned how to write a little code—now learn how to share it with GitHub. SARAH GUTHALS, PHD is the Director of Developer Relations for Sentry, and previously worked at GitHub as an Engineering Manager. She is coauthor of Helping Kids with Coding For Dummies. Introduction 1PART 1: GETTING STARTED WITH GITHUB.COM 5Chapter 1: Understanding the Git in GitHub 7Chapter 2: Setting Up Your Collaborative Coding Environment 25PART 2: STARTING YOUR FIRST SOLO PROJECT 35Chapter 3: Introducing GitHub Repositories 37Chapter 4: Setting Up a GitHub Website Repo 57Chapter 5: Creating a Website with GitHub Pages 73PART 3: CONTRIBUTING TO YOUR FIRST PROJECT 91Chapter 6: Forking GitHub Repositories 93Chapter 7: Writing and Committing Code 109Chapter 8: Working with Pull Requests 129PART 4: MANAGING AND CONTRIBUTING TO LARGE PROJECTS 149Chapter 9: Exploring and Contributing to OSS 151Chapter 10: Starting Your Own OSS 165Chapter 11: Inner-Source Your Code on GitHub 185PART 5: MAKING GITHUB WORK FOR YOU 203Chapter 12: Collaborating Outside of GitHub 205Chapter 13: GitHub Workflow Integrations 219Chapter 14: Personalizing GitHub 233PART 6: THE GITHUB ECOSYSTEM 247Chapter 15: Exploring the GitHub Marketplace 249Chapter 16: GitHub and You 259Chapter 17: Attending Events 267PART 7: THE PART OF TENS 277Chapter 18: Ten Ways to Level Up on GitHub 279Chapter 19: Ten Ways to Improve Your Development Workflow 291Chapter 20: Ten Tips for Being an Effective Community Member 299Index 307
Bessere Videos drehen
Mitreißende Videos mit dem Handy oder der Cam: von der Idee bis zum fertig geschnittenen Film Technik, Szenenführung, Kameraperspektive, Schnitt und Effekte gekonnt einsetzen Viel Wissenswertes zur Rechtslage und zum YouTube-Upload Der Multimedia-Experte Reinhard Nikschick zeigt dir, wie du dein kreatives Potenzial für einen Video-Dreh voll entfaltest sowie strukturiert und versiert an die Arbeit gehst. Von den technischen Grundlagen über die Ausgestaltung der Idee und Kniffe der Kameraführung bis hin zum Schnitt erfährst du, was du zum Erstellen eines qualitativ hochwertigen Videos benötigst. Viele Tipps zu den Besonderheiten beim Filmen von Interviews oder der nachträglichen Audio-Bearbeitung helfen dir, typische Fehler von vorneherein zu vermeiden. Mit dem Sinn für die optimale Szenenanordnung und interessanten Effekten wirst du deine Zuschauer für dein Video begeistern. Hilfreiche Tipps zur Rechtslage und zum Upload bei YouTube runden das Buch ab. Aus dem Inhalt: Technische Voraussetzungen für den Video-Dreh Bildformate, Bildauflösung, Bildpunkte Ideen generieren und in interessante Geschichten verwandeln Hilfsmittel für ein schlüssiges Video-Konzept Einstellungsgrößen der Kamera und ihre Wirkung verstehen Bewährte Szenenreihenfolge verinnerlichen Verschiedene Perspektiven einnehmen Ideen zu Drehorten, Requisiten und Kleidung Datensicherung auf Dreh: in der Cloud oder auf dem Laptop Videoschnitt mit dem kostenlosen Schnittprogramm Kdenlive Besonderheiten bei Interviews und Kommentaren Audio fürs Video aufbereiten Videos mit Titeltext, Bildkorrekturen und Effekte wie z.B. Chroma-Key-Technik verbessern Rechtsfragen beachten Videos bei YouTube hochladen Für Windows verfasst, aber auch für Mac- und Linux-User geeignet.Reinhard M. Nikschick ist Multimedia-Produzent und Toningenieur an der Hochschule für Film und Fernsehen Potsdam Babelsberg (Filmuniversität). Als Autor sowie Regisseur produziert er Videos für Unternehmen und Bildungseinrichtungen. Er arbeitete zudem als freier Mitarbeiter beim NDR.
Pro Kotlin Web Apps from Scratch
Build production-grade web apps from scratch – without using frameworks – with Kotlin on the Java platform. You’ll learn how to use and compose libraries, how to choose between different libraries, and the benefits of explicit and straight-forward code, vs. the implicit magic, conventions, and inversion of control you often see in frameworks.The book teaches the Kotlin language by building production-ready Kotlin code. You’ll gain a deep understanding of the idiomatic use of the Kotlin language along with knowledge of how to apply Kotlin in production-grade web apps. The book also bridges the gap between building from scratch and using existing frameworks. For example, you’ll learn how to integrate Spring Security-based authentication in web apps written from scratch, so you can leverage existing tooling in your organization without having to take on the entire Spring framework.The first section of the book sets up the base structure of your web app, such as routing, configuration files, and database migrations. The remaining chapters are broken into individual aspects of building production-ready web apps. Appendices at the end of the book explain how to use different libraries than the ones chosen in the main chapters, so you'll learn how to decouple your code from specific libraries, and choose between many different libraries to get the job done in your own web apps.WHAT YOU WILL LEARN* Compose libraries and manage boilerplate code using idiomatic and powerful Kotlin* Manage and query SQL databases without ORMs and mapping layers* Write resilient and change-proof tests in support of test-driven development practices* Create traditional, HTML-based web apps, APIs for JavaScript-based single-page web apps and native mobile apps* Manage parallelism and external service calls using Kotlin co-routines* Deploy to production using embedded servers, WAR files, and serverless approaches* Bridge the gap between custom-built apps and enterprise, using Spring Context and Spring SecurityWHO THIS BOOK IS FORThe expert developer who is ready to take full control of the tech stack, and use the Kotlin language, type system, and standard library, to ship production-ready web apps. Readers should have prior programming experience. Experience with Java or another JVM language is helpful.AUGUST LILLEAAS has built web apps, user interfaces, and real-time systems since 2004, and mobile apps since the app stores opened in the late 2000s. After picking up Clojure in 2012, he left the frameworks and ORMs behind and started to build web apps from scratch, and has shipped to production using Clojure, Groovy, Node.JS, Elixir, and Kotlin. August has worked as a consultant for a decade and is now an independent contractor and startup founder.PART I. UP AND RUNNING WITH A WEB APP1. Setting Up A Development Environment2. Setting Up the Web App Skeleton3. Configuration Files4. Decoupling Web Handlers from Specific LibrariesPART II. LIBRARIES AND SOLUTIONS5. Connecting to and Migrating SQL Databases6. Querying a SQL Database7. Automated Tests with jUnit 58. Parallelizing Service Calls with Coroutines9. Building Traditional Web Apps with HTML and CSS10. Building API Based Backends11. Deploying to Traditional Server Based Environments12. Build and Deploy to a Serverless Environment13. Setup, Teardown and Dependency Injection with Spring Context14. Enterprise Authentication using Spring SecurityPART III. TOOLS OF THE TRADE15. Choosing the Right Library16. An Assortment of Kotlin TricksAppendix A: Using Jooby Instead of KtorAppendix B: Using Hoplite Instead of Typesafe ConfigAppendix C: Using Spek Instead of jUnit 5
PC-Netzwerke (9. Auflage)
PC-Netzwerke. Das umfassende Handbuch. In 9., aktualisierter und erweiterter Auflage (2023). 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 (z. B. UMTS-Router, Radiowecker und Media Player – LibreELEC (Kodi) – mit Raspberry Pi) 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 zu Windows 11 und macOS Monterey.Verstehen und anwenden1. Alles, was Sie für den Netzwerkstart benötigenAngefangen bei den Netzwerkgrundlagen bis hin zu direkt umsetzbaren Praxislösungen für LAN und WLAN finden Sie alles für die erfolgreiche Netzwerk-Einrichtung. Dazu erhalten Sie Tipps zur Auswahl von Router, Switches, NAS, Kabeln und Co.2. Machen Sie Ihr Netzwerk sicherNetzwerk-Sicherheit sollte immer oberste Priorität haben. Daher bietet Ihnen das Buch ausführliche Infos zu Sicherheitssoftware, Verschlüsselungsverfahren, Backup-Möglichkeiten und Netzwerkanalyse-Tools. Für Windows, macOS und Linux.3. Schneller und einfacher mit Cloud & VirtualisierungMit der Software siegfried6 aus dem Download-Bereich können Sie Ihren Rechner z. B. als Druck-, Mail- oder Groupware-Server verwenden. Sie erfahren zudem alles zur Nutzung von Cloud-Diensten.4. Projekte zur HeimautomationMit dem Raspberry Pi oder Mikrocontrollern wie dem ESP8266 setzen Sie Ideen um, mit denen Sie Ihr Zuhause smarter machen.Aus dem InhaltLAN und WLAN einrichtenNetzwerk-TopologienHardware auswählenRouter, Switch und Co.Sicherheit im NetzwerkVerschlüsselungsverfahrenCollaboration ToolsDruck, File- und MailserverBackups automatisieren: NAS-SystemeVirtualisierung und CloudHeimautomation mit FHEM, HomeMatic, Tasmota und mehrStreaming (Fotos, Video, Musik), LibreELEC (Kodi)Leseprobe (PDF-Link)Über die AutorenMartin Linten ist im Bereich Linux-/UNIX-Systemtechnik im Rechenzentrum der Finanzverwaltung Nordrhein-Westfalen tätig, ist »HP certified system administrator« und hat sich mehrere Jahre mit VMware vSphere Server- und Clientvirtualisierung beschäftigt (ESXi/View). Privat beschäftigt er sich am liebsten mit Hausautomation und kleinen Raspberry-Pi-Projekten.Axel Schemberg ist im Bereich Netzwerkadministration im Rechenzentrum der Finanzverwaltung Nordrhein-Westfalen tätig.Kai Surendorf schrieb sein erstes Buch über OS X und UNIX bereits 2003. Zurzeit lebt er in Berlin und arbeitet als Product Owner im E-Commerce-Bereich.
Betriebswirtschaftliche KI-Anwendungen
Digitalisierung und Künstliche Intelligenz ermöglichen Unternehmen disruptive Erweiterungen ihrer Geschäftsmodelle. Wer rechtzeitig digitale KI-Geschäftsmodelle einführt, wird seinen Erfolg nachhaltig sichern können. Aber wie und wo können solche Modelle Anwendung finden? Diese Publikation gibt Antworten, wo KI-Geschäftsmodelle greifen können, und wie diese von der ersten Idee bis zur produktiven Anwendung realisiert werden können.KI-Anwendungen in der Betriebswirtschaft.- Grundlagen und Technik.- Digitale Geschäftsmodelle auf Basis Künstlicher Intelligenz.- Prototyp einer digitalen KI-Anwendung.- Beispielanwendung 1.- Beispielanwendung 2.- Beispielanwendung 3.- Der Weg zum Erfolg mit KI.
Home Appliance Hack-and-IoT Guidebook
If you are looking for a small yet powerful IoT device, you are likely to come across the ESP8266 and compatible products on the market today. One of these, the Wemos/Lolin D1 Mini Pro board strikes a remarkable balance between cost and performance. A small and very aff ordable prototype board, the D1 Mini Pro stands out with its WiFi functionality and a 16-Mbytes flash memory for easy creation of a flash file system. In addition, there are suff icient input and output pins (only one analog input though) to support PWM, I2C, and One-Wire systems to mention but a few. The book describes the operation, modding, construction, and programming of home appliances including a colorful smart home accessory, a refrigerator/greenhouse controller, an AC powerline monitor, a door lock monitor, and an IKEA Trådfri controller.As a benefit, all firmware developed for these DIY, "IoT-ized" devices can be updated over-the-air (OTA).For most of the designs in the book, a small printed circuit board (PCB) and an enclosure are presented so readers can have a finished and attractive-looking product. Readers having – or with access to! – a 3D printer can "print" the suggested enclosures at home or in a shop.Some of the constructions benefit from a Raspberry Pi configured as a gateway or cms server. This is also described in detail with all the necessary configuring.You don't need to be an expert but the prerequisites to successful replication of the projects include basic skills with PC software including the ability to surf the Internet. In terms of hardware, you should be comfortable with soldering and generally assembling the PCBs presented in the book.All custom software written for the IoT devices, the PCB layouts, and 3D print files described in the book are available for free downloading from the books section of Elektor Store website, www.elektor.com/books – simply search for the book title.Hans Henrik Skovgaard has over 25 years of management experience in the mobile phone industry and holds an MSc. in Electronic Engineering. He has authored four top-selling books on electronics design and embedded software.
Der agile Festpreis
- Warum brauchen agil entwickelte IT-Projekte einen anderen Vertragsrahmen als Projekte nach der Wasserfallmethode? - Wie ein partnerschaftliches Miteinander zu größeren Projekterfolgen führt - Erfahren Sie, wie Sie Schritt für Schritt einen agilen Festpreisvertrag ausarbeiten, verhandeln und umsetzen - Nutzen Sie die Vertragsvorlage als Anregung für Ihre eigenen agilen Festpreisverträge - Reale Beispiele aus der Praxis illustrieren den Weg zum passenden Vertrag - Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten Buches Agiles Arbeiten ist in der Softwareentwicklung eine Selbstverständlichkeit und selbst Großkonzerne definieren im Zuge von Digitalisierungsinitiativen die Rahmenbedingungen ihrer Produktentwicklung neu. Sich mit den vertraglichen Bedingungen zwischen Kunden und Lieferanten unter agilen Vorzeichen auseinanderzusetzen, ist für den Projekterfolg ausschlaggebend und angesichts hochdynamischer Marktsituationen notwendiger denn je. Schließlich ist konstruktive Zusammenarbeit das maßgebliche Prinzip agiler Methoden und genau das wird von traditionellen Vertragsformen oft verhindert. Agile IT-Projekte brauchen Verträge, die den Spagat zwischen festem Kostenrahmen und agiler Entwicklung – etwa mit Scrum – schaffen. Der Agile Festpreis balanciert die Interessen von Anbieter und Kunde und formt ein kooperatives Modell, indem er Grundsätze der Zusammenarbeit und Flexibilität in der Ausgestaltung von Anforderungen bestmöglich vereint. Die 4. Auflage enthält neue Erfahrungsberichte und wurde um weitere Aspekte des Verhandelns sowie neue Praxisbeispiele ergänzt. Kunden, Lieferanten und Einkäufern bietet dieses Buch Best Practices, Vertragsvorlagen und Argumentarien. AUS DEM INHALT // - Wie der Agile Festpreisvertrag Sicherheit und Flexibilität vereinbart - Die 6 Schritte zum neuen Vertragsmodell - Muster für einen Agilen Festpreisvertrag - Ausschreibung und Preisfindung - Vor- und Nachteile verschiedener Vertragsformen
IBM Software Systems Integration
Examine the working details for real-world Java programs used for system integration with IBM Software, applying various API libraries (as used by Banking and Insurance companies). This book includes the step-by-step procedure to use the IBM FileNet Case Manager 5.3.3 Case Builder solution and the similar IBM System, IBM Business Automation Workflow to create an Audit System.You'll learn how to implement the workflow with a client Java Message Service (JMS) java method developed with Workflow Custom Operations System Step components. Using IBM Cognos Analytics Version 11.2, you'll be able to create new views for IBM Case Manager Analytics for custom time dimensions. The book also explains the SQL code and procedures required to create example Online Analytical Processing (OLAP) cubes with multi-level time dimensions for IBM Case Manager analytics.IBM Software Systems Integration features the most up to date systems software procedures using tested API calls.WHAT YOU WILL LEARN* Review techniques for generating custom IBM JMS code* Create a new custom view for a multi-level time dimension* See how a java program can provide the IBM FileNet document management API calls for content store folder and document replication* Configure Java components for content engine eventsWHO THIS BOOK IS FORIT consultants, Systems and Solution Architects.ALAN BLUCK has over 45 years IT experience. He has been a Solutions Architect for IBM for over 10 years. Elected as an IBM Champion (2022), he is now the Director and owner of ASB Software Development Limited, an IBM PartnerWorld partner, and a consultancy providing systems architecture for a broad range of services. He is a Member of the British Computer Society (MBCS, CITP).Chapter 1IBM FileNet Case Manager 5.3.3 Case Builder Solution Development Steps for The Audit SystemCHAPTER GOAL: Building the initial IBM Case Manager Audit SolutionNO OF PAGES 90SUB -TOPICSSECTIONS* Bill of Materials* Add a new solution* Add properties and Business Objects* Add Roles* Add properties to the Inbaskets for each role* Add Document class* Add Business Objects* Add Business Object Types as Case propertiesAdd Case Types* Audit Department Task* Add Business Objects to be searched* Audit Solution First Test* Remove the Case Search Business Objects* Edit the Cases Page to allow Case Search to work correctly* Debug the Case Manager Client* Check FileNet Version* Check FileNet Health* Check FileNet Object Store Upgrade Status* Check FileNet Workflow Upgrade StatusFix / Workaround for Error on Case Search * Other Fixes (Recommended)Chapter 2: Configuring Java Custom ComponentsCHAPTER GOAL: CREATION AND CONFIGURATION OF THE JAVA CUSTOMISATIONSNO OF PAGES: 20SUB - TOPICSSECTIONS* Configuring Java Components for Content Engine Events* Custom Code Module java JAR API call development* Adding a Code ModuleCreating a Custom Event Object* Configuring Workflow Subscriptions* Configuring Component Manager for WebSphere control* Component Manager Extension MBean Provider* Creating the Component Manager Custom Service* DbExecute system function* Setting DbExecute connections* Example DB2 Stored procedure* Example Oracle Stored procedure* Example SQL*Server Stored procedureChapter 3: IBM JMS (Java Message Service) Interface Development IBM FileNet 5.5.x WorkflowCHAPTER GOAL: Theexample development of a java jar file for the IBM Java Messaging Service calls and its deployment for use in an IBM Case Manager Workflow.NO OF PAGES : 240SUB - TOPICS:* MQ Series 7.5 Install and Configure* Notification of successful repository load into FileNet* Custom Operations Component Development- JMSMessage Operation* Custom Operations Component Development- Fix list for WebSphere MQ Version 7.5* IBM MQ Series 7.x Fix Pack Installation* Linux: Applying maintenance level updates on WebSphere MQ version* Setting up the client on Windows* Setting up the client on Linux* Sending a message from a client to a server* AuditOperations method parameterisation* AuditOperations.java Code Development* AuditOperations re-build and deploy .jar* Final pre-build test AuditOperations.jar* FileNet Workflow System Component AuditOperations.jar deployment* Checking deployment in the Component Manager and Workflow* Transfer Workflow and set up Workflow subscriptionsChapter 4: A Replication Java Program for IBM FileNet Object StoresCHAPTER GOAL: The development of the java API calls and the configuration required to replicate an IBM FileNet Document Management ObjectStore.NO OF PAGES: 100SUB - TOPICS:* Setting up the Creator Property* Setting Object Store Access Rights* Batch Jobs* Required supporting Library .jar files* The Configuration set up file* Encryption of the administrator user password in a config.xml Configuration file* Update of the Config.xml Start Date* Event Set-up * Folder Class - Update Event and Deletion Events* Document Class - Deletion Events* Unit Test results ( New Folder and Document )* Existing Folder Name and Security updatesNew Folder Name and Document updatesChapter 5: Cognos RTM Custom DevelopmentCHAPTER GOAL: Create a new Custom View for a Multi-level Time DimensionNO OF PAGES: 90SUB - TOPICS:SECTIONS* Creation and test of Multilevel Time Dimension for a new OLAP Database* Update to add Year YearNumber and Month* Update to add Hour* Create a new View for Workflow Tasks* Create a new data stream in Cognos RTM – Task Load Data Stream* Create a new Cube including the Multilevel Time Dimension* Case Attribute Review for Exposed Dimensions* Creation and test of Multilevel Time Dimensions* Create a new Multilevel Time Dimension Cube* Average Age Hours* Average Wait Time Hours* Average Processing Time Hours* Average Ready Time Hours* Average Failed Time HoursCHAPTER 6: PDF Document Creation using iTextCHAPTER GOAL: A Java Program to generate PDF document using the iText libraryNO OF PAGES: 20SUB - TOPICS:SECTIONS1. Adding an Image to a PDF2. Adding a Table to a PDF3. Creating a PdfWriter object4. Creating a PdfDocument object5. Creating the Document object6. Creating an Image object7. Adding image to the documentClosing the Document
Modernes C++: Concurrency meistern
Concurrency mit modernem C++ ist eine Reise durch die bestehende und die zukünftige Nebenläufigkeit in C++.Das Buch erklärt Ihnen die Details zu Nebenläufigkeit in modernem C++ und gibt Ihnen mehr als 100 lauffähige Programme. Damit können Sie die Theorie mit der Praxis verknüpfen um den optimalen Nutzen aus dem Buch zu ziehen.Nebenläufigkeit, Parallelität, Gleichzeitigkeit• C++11 und C++14 besitzen die elementaren Bausteine, um nebenläufige und parallele Programme zu schreiben.• Mit C++17 stehen die parallelen Algorithmen der Standard Template Library (STL) vor der Tür. Das heißt, dass die meisten der Algorithmen der STL sequentiell, parallel oder vektorisiert ausgeführt werden können.• Die Geschichte in C++ geht aber weiter. Dank C++20 können wir auf erweiterte Futures, Coroutinen, Transaktionen und noch viel mehr hoffen.Für C++ Entwickler, die ihr Niveau rund um Gleichzeitigkeit auf das nächste Niveau heben wollen. Gleichzeitigkeit ist neben Security und Verteilung eine der Schlüsselherausforderung der Softwareentwicklung der nächsten mindestens 10 Jahre.EXTRA: E-Book inside. Systemvoraussetzungen für E-Book inside: Internet-Verbindung und Adobe-Reader oder Ebook-Reader bzw. Adobe Digital Editions.
Der agile Festpreis (4. Auflg.)
Der agile Festpreis:Agiles Arbeiten ist in der Softwareentwicklung eine Selbstverständlichkeit und selbst Großkonzerne definieren im Zuge von Digitalisierungsinitiativen die Rahmenbedingungen ihrer Produktentwicklung neu. Sich mit den vertraglichen Bedingungen zwischen Kunden und Lieferanten unter agilen Vorzeichen auseinanderzusetzen, ist für den Projekterfolg ausschlaggebend und angesichts hochdynamischer Marktsituationen notwendiger denn je. Schließlich ist konstruktive Zusammenarbeit das maßgebliche Prinzip agiler Methoden und genau das wird von traditionellen Vertragsformen oft verhindert.Agile IT-Projekte brauchen Verträge, die den Spagat zwischen festem Kostenrahmen und agiler Entwicklung – etwa mit Scrum – schaffen.Der Agile Festpreis balanciert die Interessen von Anbieter und Kunde und formt ein kooperatives Modell, indem er Grundsätze der Zusammenarbeit und Flexibilität in der Ausgestaltung von Anforderungen bestmöglich vereint.Die 4. Auflage enthält neue Erfahrungsberichte und wurde um weitere Aspekte des Verhandelns sowie neue Praxisbeispiele ergänzt. Kunden, Lieferanten und Einkäufern bietet dieses Buch Best Practices, Vertragsvorlagen und Argumentarien.Inhalt:Wie der Agile Festpreisvertrag Sicherheit und Flexibilität vereinbartDie 6 Schritte zum neuen VertragsmodellMuster für einen Agilen FestpreisvertragAusschreibung und PreisfindungVor- und Nachteile verschiedener Vertragsformen
Asynchronous Programming with SwiftUI and Combine
Develop UI-heavy applications more easily, faster, and error-free. Based on several enhancements to the Swift language, SwiftUI takes a declarative approach to building UIs. Instead of imperatively coding the UI, this book will show you how to describe how you want your UI to look.SwiftUI treats the UI as a function of its state, thereby making managing your app’s state a lot easier. Change the underlying data model to redraw all parts of the UI that are connected to that particular slice of data. Likewise, easily update the underlying data model from the UI elements your data model is connected to. Combine is Apple’s Functional Reactive Programming framework. It complements SwiftUI and other frameworks, such as the networking APIs, in a natural way. Using Combine, you can subscribe to events and describe data processing in a way that is free of side effects. This allows for an easier implementation of event-driven applications.Using SwiftUI and Combine build more error-free apps in a shorter amount of time, targeting all of Apple’s platforms (iOS, iPadOS, watchOS, macOS, tvOS) with little to no overhead.By the end of the book you will have a solid understanding for architecting and implementing UI-heavy apps in a declarative and functional reactive way using SwiftUI, Combine, and async/await.You will:- Build simple and gradually more complex UIs in SwiftUI- Understand SwiftUI’s state management system- Work with Combine and Swift’s new async/await APIs to access the network and access other asynchronous APIs- Architect and structure modern applications on Apple platforms using SwiftUI, Combine, and async/awaitPeter Friese is a software engineer, author, speaker, and musician with a passion for helping developers build great apps. He works as a Developer Relations Engineer / Developer Advocate on the Firebase team at Google, where he focuses on helping developers build better apps using Firebase on iOS and other Apple platforms.Peter shares his knowledge and experience through writing on his personal blog, peterfriese.dev, publishing videos on YouTube, speaking at conferences and meet-ups, crafting sample apps and contributing to the Firebase SDKs.Prior to working at Google, he has held roles as a software engineer, software architect, and principal consultant at companies such as Lufthansa Systems, Gentleware, itemis, and Zühlke.Chapter 1: SwiftUI - A new Beginning* Why a New UI framework? * SwiftUI Principles * Declarative vs Imperative * State Management * Composition over Inheritance * Everything is a View * UIs are a function of their state * A quick tour of SwiftUI * Creating a new app * Anatomy of a SwiftUI app * Two-way tooling* Adding your first button * Print “hello” to the console * Explain live mode (need to turn on debug mode so you can see console output while in preview)* A brief overview of statement management * Use code editor and preview pane to update the “hello world” app to allow the user to give their name* TextField, Label, (Button) * @State to bind the TextField input * Bind Label, so it gets updated automatically * Run the app in live preview Chapter 2: Getting Started with SwiftUI○ Building Blocks* Views * View Modifiers * Property Wrappers * Simple UI Controls ■ Lists■ Navigation○ Composing UIs from simple UI elements* Building a list row* Making it reusable* extracting parts into separate structs / views * using ViewBuilders (properties / functions) Chapter 3: SwiftUI Foundation* Opaque return types * Implicit returns from single-expression functions * Function Builders * View Builders * Multiple Trailing Closures Domain Specific languages * Property Wrappers* The View Life Cycle Chapter 4: State Management* Managing State with Property Wrappers ■ @State ■ @ObservableObject ■ @ObservedObject■ @StateObject■ @EnvironmentObject* SwiftUI Patterns and State Management* Pattern: Drill-Down Navigation * Pattern: Input form * Pattern: Lookup field * Pattern: Local state in a single dialog * View Lifecycle * See Michael Long’s article * Maybe even build some sort of introspector? * Build my own debugging utilities Chapter 5: Building Input Forms* Building simple formsBuild a simple form with a couple of simple input fields. * Building advanced forms ■ Look-up fields■ Drill-down■ In-place editing (e.g. date picker) ■ Sections■ Forms and Data Binding / State Management■ Building a sign-up form■ Username■ Password / Repetition ■ Validation■ Come up with a non-Combine version for the following rules:* Do the passwords match? Password strong enough? * Username long enough? * Username still available? * How to handle state? Chapter 6: Functional Reactive Programming and Combine* Introduction to Functional Reactive Programming * What is it? * Why is it so cool / hot? * How can it help to make your apps better and more error-free * Core Combine Concepts ■ Publishers ■ Subscribers■ Operators* Combine Visualised * Marble Diagrams * Show some Combine operators as Marble Diagrams Chapter 7: Combine and SwiftUI○ Driving UI state○ Input validation using Combine* verify that the passwords match verify username length * verify username is still available * verify password meets password complexity rules * show error messages for the individual error conditions * combine all the above into a single state that drives the enabled state of the sign-up button* Optimise our code * use debounce to throttle the number of calls on our fake backend * ensure UI updates happen on the main thread (use receiveOn) * Closure Combine makes our code more maintainable. * It helps to decouple business logic from our UI * This also makes our code more testable Chapter 8: Testing Combine Code* Writing tests for asynchronous code * Mocking parts of your implementation * Some useful helpers Chapter 9: Advanced SwiftUI UIs○ LazyVGrid / LazyHGrid○ OutlinesChapter 10: Advanced SwiftUI - Building Reusable UI Components* Keep it lean and mean* Extracting functionality into sub-views * Using ViewBuilders to organise view code within a screen * Creating Container Components * Making your views customisable * Packaging your components using Swift Package Manager * Integrating views and view modifiers with the Xcode library Chapter 11: Building a Complete App with SwiftUI and Combine* Features of the app * Data Model * OpenLibrary API* FirebaseChapter 12: Displaying a list of books* Building a list cell from simple UI views * Compose a list view * Make your code reusable Chapter 13: Implementing a search screen○ Implementing a re-usable search bar* Designing the UI * Data Binding and State Management * Making the view re-usable ○ Connecting to the OpenLibrary API* Searching book titles * Using Combine to improve working with the API * Debounce * Mapping JSON Data * Error handling Automatic retriesChapter 14: Drill-Down Navigation and State Management○ Implementing a book details / edit screen○ Drill-down navigation patternChapter 15: Persisting Data in Firestore* What is Firebase? * What is Firestore? * NoSQL ■ Real-time Sync* Mapping our data model to Firestore * Reading and writing data from / to Firestore * Implementing Combine Publishers for Firestore Chapter 16: App Store Hero Animation* Magic Move* SwiftUI Magic Move Animations Explain how they work * Transition the current list view to make use of animations * Distribute your code Appendix A: An Overview of all SwiftUI Views
Connecting the Internet of Things
Navigating the fragmented IoT connectivity ecosystem of standards, protocols, and architectures can be a challenge. Not to mention scaling a solution to a viable product. This book guides you through this fractured landscape with real world examples and projects that can be leverage for an IoT product.Backed by an overview of IoT use cases and key connectivity elements of IoT solutions, you'll gain an understanding of the breadth of the IoT landscape and the fragmentation of connectivity standards and solutions and the challenge in navigating the many standards and technologies. You'll also be able to understand the essentials of connectivity including, hardware, software, and business models.IoT is essential for increasing productivity of many industries and quality of life (making the world smart and autonomous). Both wired and wireless connectivity technologies are essential ingredients in an IoT product. Written by Intel engineers and architects, Connecting the Internet of Things understands that connectivity is a key topic of IoT and comprehensively covers the topic from a system engineering and practical perspective.WHAT YOU'LL LEARN* Understand the trade offs between different wireless technologies and network topologies* Use wireless technologies in IoT products* Examine connectivity technologies and considerations on selecting it for the IoT use cases* Assemble all of the components of a working solution * Scale your solution to a product* Review emerging connectivity technologies for addressing new use cases* Advance and optimize the performance of existing technologiesWHO THIS BOOK IS FORResearchers, managers, strategists, technologists, makers, and students in the embedded and Internet of Things (IoT) space trying to understand and implement connectivity in the devices/platforms.ANIL KUMAR is a Principal Engineer at Intel Corporation. As a System Architect in the Client Computing Group, he works with Intel’s partners to unlock people’s potential by bringing computing devices to market, allowing them to focus, create and connect in ways that matter most to them. Before this role, Anil was responsible for the Connectivity Platform Architecture in the Internet of Things Group (IOTG). In IOTG, he successfully drove platform and chip-level integration of several critical connectivity and communication technologies, resulting in a broad set of IoT applications across different vertical markets.Anil joined Intel in 2007 as a design engineer in the Digital Home Group. He served as Platform Architect for several Intel Architecture-based Media Processors for TV and Set Top Box applications. As the chief architect in Intel Media Group, Anil led several designs that resulted in award-winning consumer electronic device designs at CES (Consumer Electronics Show). The world’s first Google TV devices are based on reference designs created by Anil.Before joining Intel, Anil held design engineering positions at multinational companies such as Fujitsu & Alcatel. Anil’s passion and purpose is driven by taking designs from concept to production. Anil is a co-author of Demystifying Internet of Things Security (Apress 2019).JAFER HUSSAIN is a Senior Product Line Manager in the Network and Edge Group (NEX) at Intel Corporation. Jafer is responsible for the product management of Intel’s Core based Smart and Intelligent AI platforms. In his current role, Jafer engages with Intel’s ecosystem partners to drive Intel’s leadership in various IoT markets.Jafer has previously led the development and integration of wireless connectivity solutions and contributed to the development of wireless connectivity strategy. He also led several customer engagements to drive these solutions to the market.Jafer is an accomplished inventor with multiple patents on embedded systems, wireless technologies, and IoT. He received B.S. in Electrical Engineering from University of Engineering and Technology Taxila, Pakistan, and M.S. in Management of Technology from the National University of Singapore.DR. ANTHONY (TONY) CHUN is head of digital access and an Encore.org/CoGenerate Fellow, at The Bridging Tech Charitable Fund, a nonprofit that is closing the digital divide for K-12 students via computers and connectivity. He recently retired from Intel Corporation, where he was the Wi-Fi product manager in the Internet of Things Group.He joined Intel in 2000 and was a research scientist in Intel Labs where he developed architectures for reconfigurable software defined radios and accelerators.He has co-authored 20 patents in wireless architectures and accelerators. He has co-authored several papers in engineering journals and received best paper awards at the Intel Design Technology and Test Conference 2011 and at the IEEE Computer Society Annual Symposium on VLSI, 2009. He has B.S., M.S. and PhD degrees in Electrical Engineering from Stanford University, Stanford, California.Chapter 1: Introduction to IoT ConnectivityChapter Goal: This chapter provides an overview of key IoT use cases and key connectivity elements of IoT solutions. The reader will get an understanding of the breadth of the IoT landscape.• Purpose of this book• Background and Terminology• Key IoT use caseso Smart citieso Asset trackingo Smart factorieso Industrialo Transportationo Digital surveillance systemso Retailo Medicalo Indoor location• End-to-end IoT building blockso Things/devices/sensorso Edge/Gateway/Fogo Cloud• IoT Stakeholders/Value Chaino Chip Vendorso Module Vendorso System Integratorso ODMso ISVso End CustomersChapter 2: Considerations in choosing a connectivity technologyChapter Goals: This chapter highlights the fragmentation of connectivity standards and solutions and the challenge in navigating the many standards and technologies and also discusses the tradeoffs between different wireless technologies and network topologies. Also, this chapter provides the motivation for using wireless technologies in IoT products as well as challenges.• Compute and connect are integral functions that are fully integrated in single SoC-for lower cost and low power solutions• Benefits of wireless• Seamless wireless connectivity for mobility applications• Remote Commissioning, ease of deployment, OTA update, device identification• Challenges of Wireless Connectivity• Fragmentation of the IoT Ecosystemo Discussion of IoT Framework Open Connectivity Foundation etc.o Interoperability (open standards)• Coexistence and interference• Wireless security is vital• Certification (Industry, regulatory, operator)o Certified labs• Antenna design challenges• Considerations in choosing a connectivity technologyo Energy/power/cost tradeoffso Selection of network architectures and topologieso Wireless standards and alignment to use cases-how to choose the right wireless protocol for the jobo Selection criteria-range, data rate, power, security, latency, capacity, etc.• Wireless Standard BodiesSubchapter Goal: Overview of Connectivity standards including 15.4, ZigBee, Thread, 6LoWPAN, wi-fi, BT, LTE, 5G etc. and which is appropriate for each use case; include cost considerationso WiFi Allianceo BT SIGo ZigBee Allianceo Thread Groupo Dot doto Z-Waveo 3GPP (ITU-T)Chapter Goals: The following chapters (3 to 10) provide a deep dive on each connectivity technology and considerations on selecting it for the IoT use casesChapter 3: Wi-Fi• Wi-Fi mesh• WiFi 802.11a/b/g/n/ac• WiFi 6Chapter 4: Bluetooth• BLE• BT mesh• BT direction finding• BT beaconsChapter 5: 802.15.4 (unlicensed)• ZigBee• ThreadChapter 6: LPWAN• Lora• SigFoxChapter 7: Cellular Technologies• NB IoT• 3G• 4G LTE• CBRS (Private LTE) / OnGoChapter 8: 5G• eMBB• mMTC• urLLC• 5G TSNChapter 9: Ethernet• TSN• Industrial Ethernet TechnologiesChapter 10: GNSSChapter 11: IoT Connectivity Frameworks and StacksChapter Goal: This chapter goes into detail on how to assemble all of the components of a working solution and discusses how to scale your solution to a product• Software stacks, drivers, operating systems, RTOS• Gateway architecture including protocolso IoT protocols CoAP MQTT OPCUA• RF: antenna, PA, etc.• Coexistence• Environmental considerations, reliability, long life etc.• Security and privacy• Managing the network• Certification• Putting it together• How to integrate and validate (chip vs pre-certified module)• Scaling from project to product• Putting it together: Sample Projects• Go through the earlier examples and discuss the complete productsChapter 12: The Future of IoT ConnectivityChapter Goal: This chapter discusses emerging connectivity technologies for addressing new use cases as well as advancing and optimizing the performance of existing technologies• Things/sensors (low power, battery powered, low compute, need wireless connectivity, small memory footprint, small RTOS footprint)• Software defined radio• What is coming next?• Future technologies: Wi-Fi 7, etc.• Next steps for the reader• Where to get more informationReferencesIndex