Computer und IT
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
Oracle APEX
Das umfassende Handbuch Jürgen Sieben macht Sie in diesem Handbuch mit Oracle APEX vertraut und zeigt Ihnen ausführlich, wie Sie darin unternehmenstaugliche, webbasierte Datenbankanwendungen entwickeln – fachlich anspruchsvoll und didaktisch routiniert. Kenntnisse in SQL und PL/SQL werden vorausgesetzt. Inkl. Installations- und Upgrade-Anleitung.
SAP Projektsystem in SAP S/4HANA
Entdecken Sie, wie Sie mit der Komponente PS Projekte planen und richtig anlegen, worauf Sie bei der Budgetplanung achten müssen und wie Sie Ihr Projekt zu einem erfolgreichen Abschluss bringen. Lernen Sie, wie Sie mit Apps und anderen Werkzeugen den Projektfortschritt überwachen und die Komponente mit SAP S/4HANA verbinden. Für Projekte aus allen Fachbereichen geeignet! Aus dem Inhalt: Projektstrukturplan und NetzplanMeilensteine, Dokumente, Status Termin-, Ressourcen-, Material-, Kosten- und ErlösplanBudgetierungsfunktionTerminierung und KontierungNachbewertung, Verzinsung und GemeinkostenzuschlägeErgebnisermittlung und KostenprognoseAbrechnungSAP Cloud for Projects Einleitung ... 13 1. Strukturen und Stammdaten ... 19 1.1 ... Grundlagen ... 20 1.2 ... Projektstrukturplan ... 29 1.3 ... Netzplan ... 49 1.4 ... Meilensteine ... 71 1.5 ... Dokumente ... 75 1.6 ... Status ... 78 1.7 ... Bearbeitungsfunktionen ... 84 1.8 ... Werkzeuge zur optimierten Stammdatenpflege ... 98 1.9 ... Versionen ... 115 1.10 ... Archivierung von Projektstrukturen ... 121 1.11 ... Zusammenfassung ... 125 2. Planungsfunktionen ... 127 2.1 ... Terminplanung ... 128 2.2 ... Ressourcenplanung ... 150 2.3 ... Materialplanung ... 173 2.4 ... Planung von Kosten und statistischen Kennzahlen ... 202 2.5 ... Erlösplanung ... 238 2.6 ... Zusammenfassung ... 248 3. Budget ... 249 3.1 ... Funktionen der Budgetierung im Projektsystem ... 250 3.2 ... Integration mit dem Investitionsmanagement ... 268 3.3 ... Zusammenfassung ... 276 4. Prozesse der Projektdurchführung ... 277 4.1 ... Ist-Termine ... 278 4.2 ... Kontierung von Belegen ... 283 4.3 ... Rückmeldungen ... 290 4.4 ... Fremdbeschaffung von Leistungen ... 305 4.5 ... Materialbeschaffung und -lieferung ... 309 4.6 ... Fakturierung ... 323 4.7 ... Projektfortschritt ... 330 4.8 ... Claim-Management ... 345 4.9 ... Zusammenfassung ... 349 5. Periodenabschluss ... 351 5.1 ... Verarbeitungsarten ... 352 5.2 ... Nachbewertung zu Ist-Tarifen ... 356 5.3 ... Gemeinkostenzuschläge ... 358 5.4 ... Template-Verrechnungen ... 362 5.5 ... Verzinsung ... 366 5.6 ... Ergebnisermittlung ... 375 5.7 ... Projektbezogener Auftragseingang ... 393 5.8 ... Kostenprognose ... 399 5.9 ... Abrechnung ... 404 5.10 ... Zusammenfassung ... 421 6. Reporting ... 423 6.1 ... Infosystem Strukturen und Übersichts-Apps ... 424 6.2 ... Infosystem Controlling ... 439 6.3 ... Logistische Berichte ... 467 6.4 ... Projektverdichtung ... 477 6.5 ... Zusammenfassung ... 482 7. Integrationsszenarien mit anderen Projektmanagement-Werkzeugen ... 483 7.1 ... Portfolio and Project Management ... 484 7.2 ... Commercial Project Management ... 499 7.3 ... Erweiterungen auf der SAP Business Technology Platform ... 507 7.4 ... Zusammenfassung ... 512 Anhang ... 513 A ... Ausgewählte Schnittstellen im Projektsystem ... 515 B ... Ausgewählte Datenbanktabellen des Projektsystems ... 519 C ... Transaktionen und Menüpfade ... 521 Das Autorenteam ... 539 Index ... 541
Suchmaschinen-Optimierung
Das umfassende Handbuch Dieses Buch sichert Ihnen ein Top-Ranking bei Google und Co. Einsteiger und Fortgeschrittene finden gleichermaßen fundierte Informationen zu allen relevanten Bereichen der Suchmaschinen-Optimierung. Die 9. Auflage wurde ergänzt um viele neue Themen: SEO-freundliche Relaunches, Google Search Console und alternative Suchmaschinen. Neben ausführlichen Details zur Planung und Erfolgsmessung reicht das Themenspektrum von der Keyword-Recherche und Onpage-Optimierung über erfolgreiche Methoden des Linkbuildings bis hin zu Ranktracking und Monitoring mit Google Analytics. Anschauliche Beispiele ermöglichen Ihnen die schnelle Umsetzung in der Praxis, z. B. im Bereich Ladezeitoptimierung und Responsive Webdesign.
Sichere Windows-Infrastrukturen
Assume the breach! Heutzutage ist nicht mehr die Frage, ob Ihre Infrastruktur Ziel eines Angriffs wird, sondern ob Sie darauf gewappnet sind. Microsoft gibt Ihnen dazu einen Reihe Werkzeuge an die Hand, und dieser Leitfaden zeigt Ihnen, wie Sie sie richtig einsetzen. Mit den richtigen Administrationsmethoden erschweren Sie so den Angriff und sorgen dafür, dass 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. Aus dem Inhalt: Angriffsmethoden und WerkzeugeSysteme härten und sichere AdministrationAuthentifizierungsprotokolleLeast-Privilege-Prinzip und Tier-ModellCredential Guard und Remote Credential GuardAdmin Forest und PAM-TrustAdministration: Just in time und Just enoughUpdate-Management mit WSUSPKI und CAAuditing, Monitoring und ReportingDisaster Recovery: Gut vorbereitet für den ErnstfallMigrationsguide: Von der Legacy-Umgebung zur modernen Infrastruktur Materialien zum Buch ... 17 Geleitwort des Fachgutachters ... 19 1. Sichere Windows-Infrastrukturen ... 21 1.1 ... Warum Sicherheitsmaßnahmen? ... 21 1.2 ... Wer hinterlässt wo Spuren? ... 22 1.3 ... Was sollten Sie von den Vorschlägen in diesem Buch umsetzen? ... 23 2. Angriffsmethoden ... 25 2.1 ... Geänderte Angriffsziele oder »Identity is the new perimeter« und »Assume the breach« ... 25 2.2 ... Das AIC-Modell ... 26 2.3 ... Angriff und Verteidigung ... 28 2.4 ... Offline-Angriffe auf das Active Directory ... 39 2.5 ... Das Ausnutzen sonstiger Schwachstellen ... 40 3. Angriffswerkzeuge ... 41 3.1 ... Testumgebung ... 41 3.2 ... Mimikatz ... 43 3.3 ... DSInternals ... 58 3.4 ... PowerSploit ... 62 3.5 ... BloodHound ... 64 3.6 ... Deathstar ... 64 3.7 ... Hashcat und Cain & Abel ... 64 3.8 ... Erhöhen der Rechte ohne den Einsatz von Zusatzsoftware ... 66 3.9 ... Kali Linux ... 69 4. Authentifizierungsprotokolle ... 71 4.1 ... Domänenauthentifizierungsprotokolle ... 71 4.2 ... Remotezugriffsprotokolle ... 94 4.3 ... Webzugriffsprotokolle ... 95 5. Ein Namenskonzept planen und umsetzen ... 97 5.1 ... Planung ... 97 5.2 ... Umsetzung ... 99 6. Das Tier-Modell ... 125 6.1 ... Grundlagen eines Tier-Modells ... 125 6.2 ... Das Tier-Modell gemäß den Empfehlungen Microsofts ... 128 6.3 ... Erweitertes Tier-Modell ... 131 7. Das Least-Privilege-Prinzip ... 165 7.1 ... Allgemeine Punkte zur Vorbereitung des Least-Privilege-Prinzips ... 166 7.2 ... Werkzeuge für das Ermitteln der Zugriffsrechte ... 170 7.3 ... Die Umsetzung des Least-Privilege-Prinzips ... 178 7.4 ... Sicherheitsgruppen im Active Directory für die lokalen und Rollenadministratoren ... 213 7.5 ... Weitere Aspekte nach der Umsetzung ... 217 8. Härten von Benutzer- und Dienstkonten ... 225 8.1 ... Tipps für die Kennworterstellung bei Benutzerkonten ... 225 8.2 ... Kennworteinstellungen in einer GPO für die normalen Benutzerkennungen ... 226 8.3 ... Kennworteinstellungsobjekte (PSOs) für administrative Benutzerkonten ... 228 8.4 ... Kennworteinstellungsobjekte für Dienstkonten ... 229 8.5 ... Multi-Faktor-Authentifizierung (MFA) ... 231 8.6 ... GPO für Benutzerkonten ... 236 8.7 ... Berechtigungen der Dienstkonten ... 238 8.8 ... Anmeldeberechtigungen der Dienstkonten ... 239 9. Just-in-Time- und Just-Enough-Administration ... 243 9.1 ... Just in Time Administration ... 243 9.2 ... Just Enough Administration (JEA) ... 259 10. Planung und Konfiguration der Verwaltungssysteme (PAWs) ... 285 10.1 ... Wo sollten die Verwaltungssysteme (PAWs) eingesetzt werden? ... 286 10.2 ... Dokumentation der ausgebrachten Verwaltungssysteme ... 289 10.3 ... Wie werden die Verwaltungssysteme bereitgestellt? ... 289 10.4 ... Zugriff auf die Verwaltungssysteme ... 290 10.5 ... Design der Verwaltungssysteme ... 294 10.6 ... Anbindung der Verwaltungssysteme ... 298 10.7 ... Bereitstellung von RemoteApps über eine Terminalserver-Farm im Tier-Level 0 ... 301 10.8 ... Zentralisierte Logs der Verwaltungssysteme ... 310 10.9 ... Empfehlung zur Verwendung von Verwaltungssystemen ... 311 11. Härten der Arbeitsplatzcomputer ... 313 11.1 ... Local Administrator Password Solution (LAPS) ... 313 11.2 ... BitLocker ... 329 11.3 ... Mitglieder in den lokalen administrativen Sicherheitsgruppen verwalten ... 343 11.4 ... Weitere Einstellungen: Startmenü und vorinstallierte Apps anpassen, OneDrive deinstallieren und Cortana deaktivieren ... 344 11.5 ... Härtung durch Gruppenrichtlinien ... 352 12. Härten der administrativen Systeme ... 383 12.1 ... Gruppenrichtlinieneinstellungen für alle PAWs ... 383 12.2 ... Administrative Berechtigungen auf den administrativen Systemen ... 389 12.3 ... Verwaltung der administrativen Systeme ... 392 12.4 ... Firewall-Einstellungen ... 395 12.5 ... IPSec-Kommunikation ... 397 12.6 ... AppLocker-Einstellungen auf den administrativen Systemen ... 410 12.7 ... Windows Defender Credential Guard ... 412 13. Update-Management ... 417 13.1 ... Installation der Updates auf Standalone-Clients oder in kleinen Unternehmen ohne Active Directory ... 417 13.2 ... Updates mit dem WSUS-Server verwalten ... 421 13.3 ... Application Lifecycle Management ... 451 14. Der administrative Forest ... 459 14.1 ... Was ist ein Admin-Forest? ... 459 14.2 ... Einrichten eines Admin-Forests ... 462 14.3 ... Privilege Access Management-Trust (PAM-Trust) ... 489 14.4 ... Verwaltung und Troubleshooting ... 501 15. Härtung des Active Directory ... 507 15.1 ... Schützenswerte Objekte ... 507 15.2 ... Das Active Directory-Schema und die Rechte im Schema ... 522 15.3 ... Kerberos-Reset (krbtgt) und Kerberoasting ... 524 15.4 ... Sinnvolles OU-Design für die AD-Umgebung ... 528 16. Netzwerkzugänge absichern ... 531 16.1 ... VPN-Zugang ... 532 16.2 ... DirectAccess einrichten ... 563 16.3 ... NAT einrichten ... 568 16.4 ... Der Netzwerkrichtlinienserver ... 572 16.5 ... Den Netzwerkzugriff absichern ... 591 16.6 ... Absichern des Zugriffs auf Netzwerkgeräte über das RADIUS-Protokoll ... 610 17. PKI und Zertifizierungsstellen ... 625 17.1 ... Was ist eine PKI? ... 625 17.2 ... Aufbau einer CA-Infrastruktur ... 633 17.3 ... Zertifikate verteilen und verwenden ... 670 17.4 ... Überwachung und Troubleshooting der Zertifikatdienste ... 684 17.5 ... Bevorstehende Änderungen und aktuelle Herausforderungen mit einer Microsoft-Zertifizierungsstelle ... 689 18. Sicherer Betrieb ... 693 18.1 ... AD-Papierkorb ... 693 18.2 ... Umleiten der Standard-OUs für Computer und Benutzer ... 699 18.3 ... Mögliche Probleme beim Prestaging ... 700 18.4 ... Sichere Datensicherung ... 701 18.5 ... Die Sicherheitsbezeichner (SIDs) dokumentieren ... 715 19. Auditing ... 717 19.1 ... Die Ereignisanzeige ... 717 19.2 ... Logs zentral sammeln und archivieren ... 725 19.3 ... Konfiguration der Überwachungsrichtlinien ... 735 19.4 ... DNS-Logging ... 744 20. Reporting und Erkennen von Angriffen ... 749 20.1 ... Azure ATP und ATA ... 749 20.2 ... PowerShell-Reporting ... 754 20.3 ... Desired State Configuration ... 767 21. Disaster Recovery ... 773 21.1 ... Disaster Recovery planen ... 773 21.2 ... Forest Recovery ... 777 21.3 ... Die Gruppenrichtlinien-Infrastruktur wiederherstellen ... 778 21.4 ... Snapshots verwenden ... 780 21.5 ... Das DC-Computerpasswort ist »out-of-sync« ... 782 22. Praktische Implementierung der Sicherheitsmaßnahmen ... 785 22.1 ... Bestandsanalyse ... 785 22.2 ... Welche Maßnahmen sind für mich geeignet bzw. wie aufwendig ist die Umsetzung? ... 790 22.3 ... Wie fange ich an? ... 800 Index ... 803
VBA mit Access
Wie Sie mithilfe von VBA Access-Datenbanken gezielt im Hinblick auf Ihre Anforderungen optimieren, erfahren Sie in diesem Buch von Bernd Held. Er gehört zu den bekanntesten deutschsprachigen VBA-Spezialisten, viele seiner Bücher sind Bestseller. Nach einer grundlegenden Einführung in die Programmierung mit VBA lernen Sie die zentralen Objekte in Access (Tabellen, Abfragen etc.) intensiv kennen und erfahren, wie Sie aus Access auf Excel oder Word zugreifen. Außerdem profitieren Sie von der umfassenden Behandlung aller relevanten Sicherheitstechniken, mit denen Sie Datenbanken und Daten schützen. Damit Ihre Datenbanken intuitiv benutzbar sind und als eigenständige Datenbankanwendungen funktionieren, widmet sich ein eigener Teil der Programmierung von Benutzeroberflächen. Ein Troubleshooting-Kapitel und über 600 geprüfte Makros zum Download runden das Angebot ab. Geeignet für Access 2021, Access in Microsoft 365 sowie alle Vorgängerversionen bis Access 2010. Aus dem Inhalt: Grundsätzliches zur ProgrammierungVariablen, Konstanten und DatentypenDie wichtigsten Sprachelemente in AccessEin Streifzug in die Welt der ObjekteTabellen programmierenAbfragen programmierenProgrammierung von Dialogen, Steuerelementen und FormularenBerichte erstellen und programmierenEreignisse in Access programmierenAccess im Zusammenspiel mit OfficeAPI-Funktionen einsetzenDatenbanken und Quellcode schützenVBE-Programmierung in AccessAnwendungen optimieren und reparierenAccess und das InternetAccess 2016/2019/2021-Ribbons programmierenFAQ für Access-Entwickler Vorwort ... 21 1. Grundsätzliches zur Programmierung ... 25 1.1 ... Wie gehe ich von Anfang an richtig vor? ... 26 1.2 ... Die Entwicklungsumgebung von Access ... 28 1.3 ... Hilfsmittel für die Programmierung ... 33 1.4 ... Die Fenster und die Testumgebung ... 42 1.5 ... Weitere Einstellungen ... 49 2. Variablen, Konstanten und Datentypen ... 53 2.1 ... Regeln für die Syntax von Variablen ... 54 2.2 ... Variablen am Beginn der Prozedur deklarieren ... 54 2.3 ... Die verschiedenen Variablentypen ... 55 2.4 ... Variablendeklarationen erzwingen ... 57 2.5 ... Die wichtigsten Variablentypen ... 58 2.6 ... Noch kürzere Deklaration von Variablen ... 60 2.7 ... Die Reddick-Namenskonvention ... 60 2.8 ... Variablendeklaration mit »DefType« ... 62 2.9 ... Aufzählungstypen (»Enum«-Anweisung) ... 63 2.10 ... Konstanten verwenden ... 64 2.11 ... Systemkonstanten einsetzen ... 65 3. Die wichtigsten Sprachelemente in Access ... 85 3.1 ... Prozeduren ... 85 3.2 ... Verzweigungen/Bedingungen ... 96 3.3 ... Die Anweisung »Select Case« für mehr Übersicht ... 103 3.4 ... Schleifen in Access einsetzen ... 106 3.5 ... »With«-Anweisungen ... 119 3.6 ... VBA-Funktionen einsetzen ... 120 3.7 ... Umwandlungsfunktionen ... 153 3.8 ... Die »Is«-Funktionen in VBA ... 160 3.9 ... Operatoren ... 178 3.10 ... Eigene Funktionen schreiben ... 182 4. Ein Streifzug in die Welt der Objekte ... 201 4.1 ... Das »Application«-Objekt ... 201 4.2 ... Das Objekt »AccessObject« ... 209 4.3 ... Das Objekt »CodeData« ... 213 4.4 ... Das Objekt »DoCmd« ... 214 4.5 ... Integrierte Dialoge einsetzen ... 221 4.6 ... Das Objekt »FileSystemObject« ... 228 5. Tabellen programmieren ... 243 5.1 ... Tabellen bearbeiten mit »DoCmd« ... 244 5.2 ... Tabellen mit ADO programmieren ... 253 5.3 ... SQL-Anweisungen ... 257 5.4 ... Tabellenstrukturen mit ADOX ermitteln ... 289 5.5 ... Datenbanken suchen und dokumentieren ... 299 6. Abfragen programmieren ... 303 6.1 ... Abfragetypen ... 303 6.2 ... Abfragen durchführen ... 305 6.3 ... Abfragen mit SQL generieren ... 307 6.4 ... Aktualisierungsabfrage -- Artikelnamen ändern ... 307 6.5 ... Anfügeabfrage -- Mitarbeiter hinzufügen ... 310 6.6 ... Löschabfrage ausführen ... 312 6.7 ... Tabellenerstellungsabfrage durchführen ... 316 6.8 ... Datendefinitionsabfragen durchführen ... 318 6.9 ... Daten zusammenführen ... 327 6.10 ... Abfragen mit ADO programmieren ... 330 7. Programmierung von Dialogen, Steuerelementen und Formularen ... 341 7.1 ... Das Meldungsfeld »MsgBox« ... 342 7.2 ... Die Eingabemaske »InputBox« ... 346 7.3 ... Formulare erstellen ... 349 8. Berichte erstellen und programmieren ... 441 8.1 ... Berichtsarten in Access ... 441 8.2 ... Der Berichtsaufbau ... 442 8.3 ... Berichte entwerfen ... 443 8.4 ... Berichte bearbeiten mit »DoCmd« ... 444 8.5 ... Berichte formatieren ... 451 8.6 ... Berichte identifizieren ... 457 8.7 ... Berichte erstellen ... 464 9. Ereignisse in Access programmieren ... 483 9.1 ... Das Ereignis »Form_Open« ... 484 9.2 ... Das Ereignis »Form_Close« ... 487 9.3 ... Das Ereignis »Form_Load« ... 490 9.4 ... Das Ereignis »Form_Current« ... 492 9.5 ... Das Ereignis »Form_AfterInsert« ... 496 9.6 ... Das Ereignis »Form_BeforeInsert« ... 499 9.7 ... Das Ereignis »Form_BeforeUpdate« ... 502 9.8 ... Das Ereignis »Form_AfterUpdate« ... 508 9.9 ... Das Ereignis »Form_Delete« ... 508 9.10 ... Das Ereignis »Form_Dirty« ... 511 9.11 ... Das Ereignis »BeforeDelConfirm« ... 512 9.12 ... Das Ereignis »Form_AfterDelConfirm« ... 513 9.13 ... Das Ereignis »Form_Activate« ... 514 9.14 ... Das Ereignis »Form_Deactivate« ... 517 9.15 ... Das Ereignis »Form_Resize« ... 517 9.16 ... Das Ereignis »Form_DblClick« ... 519 9.17 ... Das Ereignis »Click« ... 523 9.18 ... Die Ereignisse »MouseDown« und »MouseUp« ... 524 9.19 ... Das Ereignis »MouseMove« ... 530 9.20 ... Das Ereignis »Schaltfläche_Click« ... 532 9.21 ... Die Ereignisse »GotFocus« und »LostFocus« ... 532 9.22 ... Die »Key«-Ereignisse ... 533 9.23 ... Das Ereignis »Steuerelement_BeforeUpdate« ... 537 9.24 ... Das Ereignis »Steuerelement_Enter« ... 543 9.25 ... Das Ereignis »Steuerelement_Exit« ... 545 9.26 ... Die Reihenfolge der Ereignisse ... 546 10. Access im Zusammenspiel mit Office ... 549 10.1 ... Textdateien im Zugriff von Access ... 550 10.2 ... Access im Zusammenspiel mit Word ... 564 10.3 ... Outlook und Access ... 574 10.4 ... Access im Duett mit Excel ... 596 11. API-Funktionen einsetzen ... 627 11.1 ... Das CD-ROM-Laufwerk ermitteln ... 628 11.2 ... Den Namen des Anwenders ermitteln ... 631 11.3 ... Das CD-ROM-Laufwerk bedienen ... 632 11.4 ... Die Bildschirmauflösung ermitteln (nur 32 Bit) ... 632 11.5 ... Ist ein externes Programm gestartet? ... 633 11.6 ... Ein externes Programm aufrufen ... 634 11.7 ... Wie lange läuft ein externes Programm (nur 32 Bit)? ... 634 11.8 ... Access schlafen schicken (32/64 Bit) ... 636 11.9 ... Verzeichnisse erstellen ... 637 11.10 ... Verzeichnis löschen ... 638 11.11 ... Verzeichnisbaum anzeigen und auswerten (nur 32 Bit) ... 638 11.12 ... Die Windows-Version ermitteln ... 639 11.13 ... Windows-Verzeichnis ermitteln (nur 32 Bit) ... 641 11.14 ... Windows-Systemverzeichnis ermitteln (nur 32 Bit) ... 641 11.15 ... Das temporäre Verzeichnis ermitteln (nur 32 Bit) ... 642 11.16 ... Das aktuelle Verzeichnis ermitteln (nur 32 Bit) ... 643 11.17 ... Windows-Infobildschirm anzeigen ... 643 11.18 ... Access-Verzeichnis ermitteln ... 644 11.19 ... Standardverzeichnis festlegen (nur 32 Bit) ... 644 11.20 ... Dateityp und Anwendung ermitteln ... 645 11.21 ... Kurze Pfadnamen ermitteln (nur 32 Bit) ... 646 11.22 ... Den Computernamen ermitteln ... 647 11.23 ... Texte mit API-Funktionen konvertieren ... 647 11.24 ... Die Zwischenablage löschen ... 648 11.25 ... Soundkarte checken ... 649 11.26 ... Sounds per API-Funktion ausgeben (nur 32 Bit) ... 649 11.27 ... PC piepsen lassen ... 649 11.28 ... Tasten abfangen (nur 32 Bit) ... 650 11.29 ... Dateien suchen ... 651 11.30 ... Dateiinformationen auslesen ... 652 11.31 ... Ist die Internetverbindung aktiv? ... 654 11.32 ... Cursorposition in Pixeln angeben (nur 32 Bit) ... 655 12. Datenbanken und Quellcode schützen und pflegen ... 661 12.1 ... Ihre Access-Lösung mithilfe von Startparametern absichern ... 661 12.2 ... Eine ACCDE-Datenbank erstellen ... 663 12.3 ... Eine Datenbank über ein Kennwort schützen ... 663 12.4 ... Quellcode schützen ... 670 12.5 ... Eine Datenbank komprimieren und reparieren ... 671 13. VBE-Programmierung in Access ... 675 13.1 ... Die VBE-Bibliothek einbinden ... 676 13.2 ... Weitere Bibliotheken einbinden oder entfernen ... 678 13.3 ... Fehlerhafte Verweise ermitteln ... 680 13.4 ... In den VBE springen ... 681 13.5 ... Objektbibliotheken auslesen ... 681 13.6 ... Neue Module einfügen ... 682 13.7 ... Modul(e) löschen ... 683 13.8 ... Prozedur(en) löschen ... 684 13.9 ... Einzelne Texte oder Befehle im Quellcode finden ... 686 13.10 ... Module mit Quellcode versorgen (Import) ... 689 13.11 ... Prozeduren sichern (Export) ... 692 13.12 ... Module drucken ... 693 13.13 ... »Lines Of Code« ermitteln ... 695 13.14 ... Identifikation von VB-Komponenten ... 696 13.15 ... Prozeduren auflisten ... 697 13.16 ... Eine eigene VBA-Datenbank anlegen ... 701 14. Anwendungen optimieren ... 707 14.1 ... Die automatische Leistungsanalyse ... 707 14.2 ... Datenbanken und Quellcode dokumentieren ... 709 14.3 ... Tabellen optimal anlegen ... 711 14.4 ... Die richtigen Befehle ... 712 15. Access und das Internet ... 717 15.1 ... E-Mail verschicken ... 717 15.2 ... Tabellen in Internetformate transferieren ... 738 16. Ribbons programmieren ... 741 16.1 ... Programmierung über ein XML-Markup ... 742 16.2 ... Weitere wichtige Quellen und Hilfen ... 748 17. FAQ für Access-Entwickler ... 751 17.1 ... Wie hänge ich einer Tabelle ein Feld an? ... 752 17.2 ... Wie verhindere ich, dass ein Formular geschlossen wird? ... 753 17.3 ... Wie frage ich alle Tabellen einer geschlossenen Datenbank ab? ... 754 17.4 ... Wie lege ich in einem bestimmten Verzeichnis eine neue Datenbank automatisch an? ... 756 17.5 ... Wie verlinke ich eine Tabelle aus einer anderen Datenbank? ... 758 17.6 ... Wie normiere ich Telefonnummern in Tabellen? ... 759 17.7 ... Wie dokumentiere ich eine komplette Datenbank? ... 761 17.8 ... Wie prüfe ich, ob eine bestimmte Tabelle existiert? ... 762 17.9 ... Wie prüfe ich, ob ein bestimmtes Feld in einer Tabelle angelegt ist? ... 764 17.10 ... Wie führe ich eine SQL-Abfrage auf eine andere Datenbank aus? ... 765 17.11 ... Wie ermittle ich alle verfügbaren Drucker? ... 766 17.12 ... Wie schreibe ich bestimmte Feldinhalte einer Tabelle in eine Textdatei? ... 767 17.13 ... Wie transferiere ich eine Access-Tabelle nach Word? ... 769 17.14 ... Wie lege ich eine Parameterabfrage automatisch an? ... 772 17.15 ... Wie greife ich auf Tabelleneigenschaften einer Datenbank zu? ... 773 17.16 ... Wie frage ich die beiden Extremwerte einer Spalte in einer Tabelle ab? ... 774 17.17 ... Wie führe ich eine Durchschnittsberechnung durch? ... 776 17.18 ... Wie erstelle ich eine Unikatliste? ... 777 17.19 ... Wie ermittle ich die Gesamtsumme für ein Tabellenfeld? ... 779 17.20 ... Wie führe ich eine bedingte Summierung durch? ... 780 17.21 ... Wie lese ich über eine ID den dazugehörigen Lieferanten aus? ... 781 Index ... 783
Corporate Design
Ihre Rolle als Corporate Designerin bzw. Corporate Designer beinhaltet es, das gesamte visuelle Erscheinungsbild einer Marke bzw. eines Unternehmens im Blick zu haben – neben den klassischen Printmedien liegt der Fokus im Corporate Design heute auf der Gestaltung von digitalen Produkten, Plattformen und Webseiten. Dabei gestalten Sie natürlich, aber Sie beraten auch Ihre Kunden und führen Marktrecherchen und Zielgruppenanalysen durch. Eine durch und durch anspruchsvolle Aufgabe, bei der Ihnen unser Handbuch zur Seite stehen wird. Es führt Sie Schritt für Schritt an die großen Themen und Anforderungen des Corporate Designs heran. Es erläutert Ziele, Konzepte und Vorgehen bei der Erstellung eines gelungenen Corporate Designs und zeigt in der Theorie und anhand von Praxisbeispielen, wie gute Corporate-Designs-Elemente (Logo, Corporate Type, Corporate Colour...) gestaltet und auf Print- und digitale Medien übertragen werden. Konkret, umfassend und up to date – das Handbuch für moderne Corporate Designer*innen. Aus dem Inhalt: Corporate Design und Corporate Identity – DefinitionenCorporate Design-Prozess: Briefing, Zielgruppen-Analyse, Marktanalyse, MarkenaufbauAufsetzen eines Corporate DesignsCorporate Design gestalten: Logos, die richtige Schrift, Corporate Colours, Bildsprache, RasterCorporate Design präsentierenCD-ManualRedesignCorporate Design 4.0: Corporate Design und Social Media, Webdesign und UXDynamisches Corporate DesignRecht im Corporate Design TEIL I Grundlagen und Konzeption ... 13 1. Geschichte und Wurzeln ... 15 1.1 ... Vorläufer des Corporate Designs ... 15 1.2 ... Bis zum Ende des Ersten Weltkriegs ... 18 1.3 ... Vom Ersten bis zum Zweiten Weltkrieg ... 22 1.4 ... Die 50er und 60er Jahre ... 27 1.5 ... Die 70er und 80er Jahre ... 27 1.6 ... Corporate Design heute ... 28 2. Definition und Grundlagen ... 33 2.1 ... Corporate Identity ... 34 2.2 ... Corporate Design ... 45 2.3 ... Branding -- Corporate Design mit Fokus auf die Marke ... 69 3. Briefing und Analyse für ein Corporate-Design-Projekt ... 75 3.1 ... Briefing und Rebriefing ... 76 3.2 ... Das Unternehmen kennenlernen ... 81 3.3 ... Die Zielgruppe analysieren ... 87 3.4 ... Den Markt beobachten ... 94 3.5 ... Die Marke verstehen ... 107 TEIL II Corporate-Design-Elemente gestalten ... 121 4. Das Logo ... 123 4.1 ... Anforderungen an ein Logo ... 124 4.2 ... Logotypen ... 128 4.3 ... Konzeption und Gestaltung ... 136 4.4 ... Statische und flexible Logos ... 143 4.5 ... Dynamische und generative Logos ... 146 5. Corporate Type ... 153 5.1 ... Einsatz und Kriterien von Schrift im Corporate Design ... 153 5.2 ... Schriftwahl ... 155 5.3 ... Schriften kombinieren ... 173 6. Corporate Colour ... 189 6.1 ... Anforderungen an Corporate Colours ... 189 6.2 ... Die Auswahl der Corporate Colour ... 194 6.3 ... Farben für Print und Web -- Was ist zu beachten? ... 213 7. Die Bildsprache ... 219 7.1 ... Ziele einer konsequenten Bildsprache ... 220 7.2 ... Die Auswahl von Fotos für die Bildsprache ... 224 7.3 ... Weitere Elemente der Bildsprache ... 233 7.4 ... Die Bildsprache beschreiben ... 244 8. Gestaltungsraster und Formen ... 247 8.1 ... Ziele von Gestaltungsrastern im Corporate Design ... 247 8.2 ... Ordnung schaffen mit Gestaltungsrastern ... 250 8.3 ... Formen und ihre Wirkung ... 257 9. Corporate Design der Zukunft ... 261 9.1 ... Brand Experience ... 261 9.2 ... Flexibles und dynamisches Corporate Design ... 262 9.3 ... Augmented Reality, Virtual Reality und Mixed Reality ... 276 9.4 ... Immersives Marketing ... 277 9.5 ... Generatives Corporate Design ... 281 9.6 ... Gesellschaftliche Verantwortung und Corporate Design ... 286 10. Adaptionen ... 293 10.1 ... Unterschiede in verschiedenen Medien ... 294 10.2 ... Digital first ... 295 10.3 ... Von Print zu digital ... 302 11. Redesign ... 307 11.1 ... Ziele eines Redesigns ... 308 11.2 ... Das Vorgehen ... 311 11.3 ... Refresh: Schrittweise Erneuerung ... 315 TEIL III Finalisierung und Organisation ... 319 12. Präsentation und Feedback ... 321 12.1 ... Die Präsentation erstellen ... 321 12.2 ... Tools zur Ideensammlung und Präsentation ... 328 12.3 ... Umgang mit Feedback ... 340 13. Der Projektabschluss: CD-Manual, Brandportal und Datenübergabe ... 345 13.1 ... Corporate-Design-Manual und Brandportals ... 346 13.2 ... Überlassung von offenen Daten ... 354 14. Nutzungsrechte, Honorare und Organisation ... 357 14.1 ... Rechtliches: Umgang mit Marken, Markeneintragung, Patenten ... 358 14.2 ... Nutzungsrechte im Designbereich ... 364 14.3 ... Honorare, Rechnungsstellung, AGB ... 370 14.4 ... Umgang mit Kundendaten ... 380 15. Mit jedem Projekt wachsen ... 383 15.1 ... Workflow während des Projekts ... 384 15.2 ... Underpromise -- Overdeliver ... 388 15.3 ... Der Kontakt mit Auftraggebern und Auftraggeberinnen ... 391 15.4 ... Professioneller Auftritt ... 396 15.5 ... Vom Umgang mit Überforderung und zähen Projektabschnitten ... 400 Index ... 407
Digital Transformation
Digital Transformation in Industry 4.0/5.0 requires the effective and efficient application of digitalization technologies in the area of production systems. This book elaborates on concepts, techniques, and technologies from computer science in the context of Industry 4.0/5.0 and demonstrates their possible applications. Thus, the book serves as an orientation but also as a reference work for experts in the field of Industry 4.0/5.0 to successfully advance digitization in their companies.PROFESSOR DR.-ING. BIRGIT VOGEL-HEUSER is head of the Department of Automation and Information Systems at the Technical University of Munich.PROFESSOR DR. MANUEL WIMMER is head of the Institute of Business Informatics - Software Engineering at the Johannes Kepler University Linz.PART I - DIGITAL REPRESENTATION: Engineering Digital Twins and Digital Shadows as Key Enablers for Industry 4.0.- Designing Strongly-decoupled Industry 4.0 applications across the stack: a use case.- Variability in Products and Production.- PART II - DIGITAL INFRASTRUCTURES: Reference Architectures for closing the IT/OT gap.- Edge Computing: Use Cases and Research Challenges.- Dynamic Access Control in Industry 4.0 Systems.- Challenges in OT-Security and their Impacts on Safety-related Cyber-Physical Production Systems.- Runtime Monitoring for Systems of System.- Blockchain technologies in the design and operation of cyber-physical systems.- PART III - DATA MANAGEMENT: Big Data Integration for Industry 4.0.- Tons of data - is data quality still an issue?.- Coupling of Top Floor Internal and External Data Exchange Matters.- PART IV - DATA ANALYTICS: Conceptualizing Analytics: An Overview of Business Intelligence and Analytics from a Conceptual Modeling Perspective.- Discovering Actionable Knowledge for Industry 4.0: From Data Mining to Predictive and Prescriptive Analytics.- Process Mining - Discovery, Conformance, and Enhancement of Manufacturing Processes.- Symbolic artificial intelligence methods for prescriptive analytics.- Machine Learning for Cyber-Physical Systems.- Visual Data Science for Industrial Applications.- PART V - DIGITAL TRANSFORMATION TOWARDS INDUSTRY 5.0: Self-Adaptive Digital Assistance Systems for Work 4.0.- Digital Transformation - Towards flexible human-centric enterprises.
Quick Start Guide to FFmpeg
Create, edit, modify and convert multimedia files using FFmpeg, the most versatile open source audio and video processing tool available for Linux, Mac and Windows users. After reading this book, you will be able to work with video and audio files, images, text, animations, fonts, subtitles and metadata like a pro.It begins with a simple introduction to FFmpeg executables — ffmpeg, ffprobe and ffplay, and explains how you can use them to process multimedia containers, streams, audio channels, maps and metadata. It then describes how you can easily edit, enhance and convert audio, video, image and text files. There are dedicated chapters for filters, audio, subtitles and metadata, as well as FFmpeg tips and tricks. Sample lists of FFmpeg filters, encoders, decoders, formats and codecs are also available as appendices.Quick Start Guide to FFmpeg is for anyone who needs to edit or process multimedia files including studio professionals, broadcast personnel, content creators, podcasters, librarians, archivists and webmasters. It will be indispensable for those wanting to process a variety of multimedia files from the command line and inside shell scripts or custom-built software.YOU WILL LEARN TO:* Convert from one format to another e.g. video-to-video, video-to-audio, video-to-image, image-to-video, video-to-animation, animation-to-video, text-to-audio, text-to-video* Edit video files by cutting them with and without re-encoding, appending, resizing, changing frame rate and aspect ratio, mixing in audio* Use filters to rotate, flip, crop, overlay (side-by-side or inset), remove logos, blur, smooth and sharpen, apply transitions as well as speed up or down playback* Edit audio files by changing, normalizing or compressing volume, mixing and splitting channels and detecting silence. Also, learn to generate waveforms as video or images* Add subtitles, place them anywhere on the screen, use custom fonts and colors, and use different languages* Learn how to import, export and remove metadata, add MP3 tags (including album art), set global and stream-specific metadata, export and remove metadataTHIS BOOK FOR:Content creators and bloggers from professional studio employees to Youtubers and hobbyists who need to process their own multimedia content; multimedia archivists and librarians; regular Linux desktop usersV. SUBHASH is an Indian writer, programmer and illustrator. He is the author of over two dozen mostly non-fiction books including Linux Command-Line Tips & Tricks, CommonMark Ready Reference, PC Hardware Explained, Cool Electronic Projects and How To Install Solar. He wrote, illustrated, designed and produced all of his books using only open-source software. Subhash has programmed in more than a dozen languages (as varied as assembly, Java and Javascript); published software for desktop (NetCheck), mobile (Subhash Browser & RSS Reader) and web (TweetsToRSS); and designed several websites. As of early 2023, he is working on a portable Javascript-free CMS using plain-jane PHP and SQLite. Subhash also occasionally writes for Open Source For You magazine and CodeProject.com.QUICK START GUIDE TO FFMPEGChapter 1: Installing FFmpegChapter 2: Starting with FFmpegChapter 3: Formats and CodecsChapter 4: Media Containers and FFmpeg NumberingChapter 5: Format ConversionChapter 6: Editing VideosChapter 7: Using FFmpeg FiltersChapter 8: All About AudioChapter 9: All About SubtitlesChapter 10: All About MetadataChapter 11: FFmpeg Tips 'n' TricksChapter 12: Annexures