Computer und IT
Wie Business Intelligence das IT-Controlling vereinfacht. Einsatzpotentiale und Möglichkeiten der Automatisierung in IT-Unternehmen
In IT-Unternehmen ist das Controlling dafür zuständig, die Verwendung von IT-Ressourcen zu planen und somit die Entscheidung des Managements vorzubereiten. Business Intelligence stellt eine Möglichkeit dar, diese Entscheidungsfindung zu unterstützen: relevante Daten werden erhoben, zusammengefasst, ausgewertet und anschließend werden die Ergebnisse veranschaulicht. Welche Aufgaben hat das IT-Controlling konkret? Welchen Zweck verfolgt Business Intelligence? Und welche Prozesse im IT-Controlling können durch Business Intelligence automatisiert werden? Nur Üzümcü untersucht die Möglichkeiten von Business Intelligence im IT-Controlling. Dazu klärt sie wichtige Grundlagen zum Thema Business Intelligence und stellt Organisationskonzepte des IT-Controllings vor. Üzümcü geht in ihrer Publikation auf die Potentiale ein, die eine Automatisierung mit Hilfe der Business Intelligence mit sich bringt. Gleichzeitig benennt sie aber auch Herausforderungen, die eine Implementierung erschweren können. Aus dem Inhalt: - Digitalisierung; - Informationstechnologie; - Organisation; - Strategische Managemententscheidungen; - Datenintegration; - Kostenplanung
Apple macOS and iOS System Administration
Effectively manage Apple devices anywhere from a handful of Macs at one location to thousands of iPhones across many locations. This book is a comprehensive guide for supporting Mac and iOS devices in organizations of all sizes.You'll learn how to control a fleet of macOS clients using tools like Profile Manager, Apple Device Enrollment Program (DEP), and Apple Remote Desktop. Then integrate your Mac clients into your existing Microsoft solutions for file sharing, print sharing, Exchange, and Active Directory authentication without having to deploy additional Mac-specific middle-ware or syncing between multiple directory services.Apple macOS and iOS System Administration shows how to automate the software installation and upgrade process using the open source Munki platform and provides a scripted out-of-the box experience for large scale deployments of macOS endpoints in any organization. Finally, you'll see how to provision and manage thousands of iOS devices in a standardized and secure fashion with device restrictions and over-the-air configuration.WHAT YOU'LL LEARN* Integrate macOS and iOS clients into enterprise Microsoft environments* Use Apple’s Volume Purchase Program to manage App installations and share pools of Apps across multiple users* Mass deploy iOS devices with standard configurations* Remotely manage a fleet of macOS devices using Apple's Remote DesktopWHO THIS BOOK IS FORSystem or desktop administrators in enterprise organizations who need to integrate macOS or iOS clients into their existing IT infrastructure or set-up a new infrastructure for an Apple environment from scratch.DREW SMITH has spent the last twenty years in system administration, providing technology support and designing solutions across the United States. He has been responsible for fleets as large as 6,000 macOS devices across 52 different locations. In 2012, he deployed over 30,000 iPads to higher-education students in 15 different states, at the time it was one of the largest iPad 1:1 deployments. Drew enjoys sharing best practices with others to help them simplify and streamline the management of Apple devices in multi-platform environments.Chapter 1, Introduction to Apple platformsChapter Goal: Provide readers with an overview of Apple platforms and the uniqueness of Macs vs PCs.· Introduction & Overview of this Book· History of Apple platforms· Introduction to macOS (10.15 Catalina)· Introduction to iOS, iPad OS, tvOS, and watchOS (13.1)· Apple Hardware & Software IntegrationChapter 2, macOS Client AdministrationChapter Goal: Provide readers with a basic understanding of the most common system utilities and tools built into macOS that all system administrators should be familiar with.· Apple Hardware Troubleshooting· Installing & Upgrading macOS· Disk Utility· Drive Partition & File Systems· Recovery Tools· System Preferences· Managing Local User Accounts· Parental Controls & ScreenTime· System Utilities for System Administration· Advanced Finder Techiques· Introduction to the TerminalChapter 3, macOS SecurityChapter Goal: Provide readers with an in-depth understanding regarding all of Apple’s hardware and operating system level security features.· File Permissions· GateKeeper· FileVault Encryption· T2 Chip & Activation Lock· Transparency, Concent, and Control (TCC)· Access Control· Privacy Preferences Policy Control (PPPC)Chapter 4, iOS Client AdministrationChapter Goal: Provide readers with a basic understanding of the most common settings, restrictions, and features for managing iOS devices.· iOS Hardware Troubleshooting· iOS Reset & Activation· iOS Backup & Restore· Managing Activation Lock· Configuring VPN· iOS Device Restrictions· Managing ScreenTime Features· Accessiblity & Guided Access FeaturesChapter 5, macOS Management using Apple Remote DesktopChapter Goal: Provide readers with the knowledge to needed to remotely manage a fleet of macOS devices using Apple’s Remote Desktop application.· Purchasing & Installing Apple Remote Desktop (ARD)· Configuring macOS Clients to use ARD· Adding Clients to the ARD Admin Console· Organizing and Interacting with macOS Clients via ARD· Installing Applications & Copying Files using ARD· IT Asset Managemement with ARD· Configuring a Remote Task Server for ARDChapter 6, Managing iOS Devices using Apple ConfiguratorChapter Goal: Provide readers with the knowledge needed to use a Mac running Apple Configurator to mass deploy iOS Devices with standard configurations.· Installing Apple Configurator (2)· Introduction to Apple Configurator· Enrolling Devices into Apple Configurator· Creating *.mobileconfig Profiles· Managing Devices Using Apple ConfiguratorChapter 7, Using macOS ServerChapter Goal: Provide readers with an in-depth look at macOS server and explain why they may or may not need a macOS server, how to set one up, and what services to run.· Do you need a macOS Server?· Introduction to macOS Server· Installing macOS Server· Managing a macOS Server· Directory Services· Profile Manager· File & Print SharingChapter 8, Mobile Device ManagementChapter Goal: Introduce readers to the concept of MDM, provide an in-depth look at Apple’s Profile Manager, discuss other 3rd party MDM solutions, and why you may need/want an MDM for your organization.· Introduction to Mobile Device Management· Apple Device Enrollment Program· Introduction to Apple School Manager / Apple Business Manager· Volume Purchase Program· Configuring Profile Manager in macOS Server· Managing iOS Devices in Apple Profile Manager· Managing macOS Devices in Apple Profile Manager· Privacy Preferences Policy Control for macOS· Apple Profile Manager vs 3rd Party MDM SolutionsChapter 9, Apple and Microsoft IntegrationChapter Goal: Provide readers with the knowledge to integrate macOS and iOS clients into an enterprise Microsoft environment.· Introduction to macOS Management in an Enterprise environment· Microsoft Active Directory Integration· Local, Mobile, and Network Accounts· Windows File Sharing and macOS Clients· Sharing Windows Printers with macOS Clients· Microsoft Office 365 Integration· Microsoft Exchange IntegrationChapter 10, macOS Application DeploymentChapter Goal: Provide users with strategies for installing and upgrading various kinds of applications from sources like Disk Images, PKG files, and the App Store on a mass scale.· Installing Applications from a Disk Image· Installing Applications from a Compressed File· Installing Applications using Package Files· Installing App Store Applications· Deploying Custom Application Preferences and End User ConfigurationsChapter 11, Mass macOS Application Deployment using MunkiChapter Goal: Introduce the Munki open source product to Mac administrators and provide the knowledge needed to configure and automate macOS client management.· Introduction to Munki· Munki Components· Configuring the Apache Web Server for Munki· Configuring a Machine to Manage Munki Clients· Installing Munkitools on macOS Clients· Packaging Software for Munki Deployment· Building Manifests· Upgrading Software with Munki· Upgrading Configuration Profiles with Munki· Removing Software with Munki· Munki Receipts & Bill of Materials· Controlling How Often Munki Runs on a macOS ClientChapter 12, Scripted Out-of-Box Experience with macOS ClientsChapter Goal: Tying together the concepts of Chapters 9 and 10 to create a customized, scripted out-of-box automation to get macOS clients configured for customer use with as few touches as possible.· Creating a Deployment Workflow using Munki· Creating a Deployment Workflow using Profile ManagerChapter 13, Mass Provisioning of iOS DevicesChapter Goal: Tying together the concepts of MDM, VPP, and DEP to create a customized, over-the-air automation to deploy iOS devices configured for customer use with as few touches as possible.· Creating a Provisioning Workflow with Profile Manager
Programming with 64-Bit ARM Assembly Language
Mastering ARM hardware architecture opens a world of programming for nearly all phones and tablets including the iPhone/iPad and most Android phones. It’s also the heart of many single board computers like the Raspberry Pi. Gain the skills required to dive into the fundamentals of the ARM hardware architecture with this book and start your own projects while you develop a working knowledge of assembly language for the ARM 64-bit processor.You'll review assembly language programming for the ARM Processor in 64-bit mode and write programs for a number of single board computers, including the Nvidia Jetson Nano and the Raspberry Pi (running 64-bit Linux). The book also discusses how to target assembly language programs for Apple iPhones and iPads along with 64-Bit ARM based Android phones and tablets. It covers all the tools you require, the basics of the ARM hardware architecture, all the groups of ARM 64-Bit Assembly instructions, and how data is stored in the computer’s memory. In addition, interface apps to hardware such as the Raspberry Pi’s GPIO ports. The book covers code optimization, as well as how to inter-operate with C and Python code. Readers will develop enough background to use the official ARM reference documentation for their own projects.With Programming with 64-Bit ARM Assembly Language as your guide you’ll study how to read, reverse engineer and hack machine code, then be able to apply these new skills to study code examples and take control of both your ARM devices’ hardware and software.WHAT YOU'LL LEARN* Make operating system calls from assembly language and include other software libraries in your projects* Interface apps to hardware devices such as the Raspberry Pi GPIO ports* Reverse engineer and hack code* Use the official ARM reference documentation for your own projectsWHO THIS BOOK IS FORSoftware developers who have already learned to program in a higher-level language like Python, Java, C#, or even C and now wish to learn Assembly programming.STEPHEN SMITH is a retired Software Architect, located in Gibsons, BC, Canada. He's been developing software since high-school, or way too many years to record. Since retiring he has pursued Artificial Intelligence programming, earned his Advanced HAM Radio License and enjoys mountain biking, hiking, and nature photography. He continues to write his popular technology blog at smist08.wordpress.com. IntroductionGeneral preface information in most computer books.Chapter 1: Getting StartedProvide a bit of background and history of the ARM Processor leading up to the modern 64-bit processors that this book is about. Covers what you need to write programs like those in this book. GNU GCC compiler, GDB, a text editor, etc. Covers hardware you require to run the programs in this book including how to run a Raspberry Pi in 64-bit mode or using another SBC like the NVidia Jetson Nano.Talk about how programs are represented in memory and then how you use an Assembler to generate them. Cover the linking process and give a very small example. The chapter concludes with a simple “Hello World” program written in ARM 64-bit Assembler.About the ARM ProcessorWhat You Will LearnWhy Use AssemblyTools You NeedComputers & NumbersARM Assembly InstructionsCPU RegistersARM Instruction FormatMemoryAbout the GCC AssemblerHello WorldAbout the Starting CommentWhere to StartAssembly InstructionsDataCalling LinuxReverse Engineering Our ProgramThe goal is to always have working sample programs, this is the first, to just ensure the reader can enter, assemble and link.Chapter 2: Loading, Adding & SubtractingNegative NumbersAbout Two’s ComplementAbout Gnome Programmer’s CalculatorAbout One’s ComplementBig vs. Little EndianAbout Bi-endianPros of Little EndianShifting & RotatingAbout Carry FlagAbout the Barrel ShifterBasics of shifting and rotatingLogical Shift LeftLogical Shift RightArithmetic Shift RightRotate RightRotate Right ExtendMOV/MVNAbout MOVTThe Dreaded Flexible Operand2Register & ShiftSmall Number & RotationMVNMOV ExamplesADD/ADCAdd With CarrySUBChapter 3: Tooling UpNow that we can start to write some longer code, we need to get into debugging. We also introduce makefiles. Cover the basics and typical workflows for writing/debugging programs.GNU MakeRebuilding a fileA Rule for Building .s filesDefining VariablesCross CompilingBuilding for ARM on IntelBuilding for AndroidBuilding for iOSGDBPreparing to DebugBeginning GDBSource Control and Build ServersGitJenkinsChapter 4: Controlling Program FlowIntroduce how to do if/else statements and loops. Introduce design patterns. Talk more about making your programs readable and maintainable.Unconditional BranchAbout the CPSRBranch on ConditionAbout the CMP InstructionLoopsFOR LoopsWhile LoopsIf/Then/ElseLogical OperatorsANDEORORRBICDesign PatternsConverting Integers to AsciiUsing Expressions in Immediate ConstantsStoring a Register to MemoryWhy Not Print in Decimal?Performance of Branch InstructionsMore Comparison InstructionsSummaryChapter 5: Thanks for the MemoriesCovers loading from and storing to the Pi’s memory. Indexed memory operation, etc.Defining Memory ContentsLoading a RegisterPC Relative AddressingLoading from MemoryIndexing Through MemoryWrite BackPost-Indexed AddressingConverting to Upper-caseStoring a RegisterDouble RegistersSummaryChapter 6: Functions & the StackStacks on LinuxBranch with LinkNesting Function CallsFunction Parameters & Return ValuesManaging the RegistersSummary of the Function Call AlgorithmUpper-Case RevisitedStack FramesStack Frame ExampleDefining SymbolsOne More OptimizationMacrosInclude DirectiveMacro DefinitionLabelsWhy Macros?SummaryChapter 7: Linux Operating System ServicesCover how Linux system calls work from Assembler. Cover how to do basic file I/O and other useful tasks like timing code.So Many ServicesCalling ConventionStructuresWrappersConverting a File to Upper CaseOpening a FileError CheckingLoopingSummaryChapter 8: Programming GPIO PinsCreate a simple Assembler program to flash some LEDs attached via a breadboard to the GPIO pins.GPIO OverviewIn Linux, Everything is a FileFlashing LEDsMoving Closer to the MetalAbout Raspberry Pi 4 RAMIn Devices, Everything is MemoryRegisters in BitsGPIO Function Select RegistersGPIO Output Set and Clear RegistersMore Flashing LEDsRoot AccessTable DrivenSetting Pin DirectionSetting & Clearing PinsSummaryChapter 9: Interacting with C & PythonUsually people use minimal Assembly code to supplement their programming in other languages. Cover the most common use cases and provide examples of each.Calling C RoutinesPrinting Debug InformationPreserving StateCalling PrintfPassing a StringAdding with Carry RevisitedCalling Assembly Routines from CPackaging our CodeStatic LibraryShared LibraryEmbedding Assembly Code inside C CodeCalling Assembly from PythonSummaryChapter 10: Multiply, Divide & AccumulateMultiplicationExamplesDivisionExampleMultiply & AccumulateVectors & MatricesAccumulate InstructionsDual Multiply with AccumulateExample 1Accessing Matrix ElementsMultiply with AccumulateRegister UsageExample 2SummaryChapter 11: Floating Point OperationsShow how to write Assembler to perform floating point calculations. Show how to do division. Cover the data formats supported here.About Floating Point NumbersNormalization & NaNsRounding ErrorsDefining Floating Point NumbersFPU RegistersFunction Call ProtocolAbout BuildingLoading & Saving FPU RegistersBasic ArithmeticDistance Between PointsFloating Point ConversionsFloating Point ComparisonExampleSummaryChapter 12: Neon CoprocessorExplain Single Instruction Multiple Data (SIMD) programming. Examples from AI and graphics. Give examples and demonstrate how this can speed up your program.The Neon RegistersStay in Your LaneArithmetic Operations4D Vector Distance3x3 Matrix MultiplicationSummaryChapter 13: Reading, Understanding and Hacking CodeHow to use GCC to generate an Assembler listing from higher level language source code, how to use GDB to view Assembly code in memory and how to use Ghidra to reverse engineer a compiled program. Then look at an example of injecting executable code using a buffer overrun.Linux & GCCDivision RevisitedCode Created by GCCReverse Engineering & GhidraOverflowing the BufferSummaryAppendix A: ARM 64-Bit Instruction SetAppendix B: Linux Operating System ServicesAppendix C: Binary FormatsAppendix D: Assembler DirectivesAppendix E: ASCII Character SetReferences
Die besten Android Apps: Für dein Smartphone und Tablet - aktuell zu Android 7, 8, 9 und 10
Die besten Android AppsAuf mobilen Geräten ist Android mit großem Abstand das meistgenutzte Betriebssystem und entsprechend umfangreich ist das Angebot an Apps. In der Neuauflage dieses beliebten Titels führt Android-Experte Christian Immler Sie wieder kompetent durch den App-Dschungel: Ob Sie Ihr Android-Gerät als Navi nutzen, unterwegs im Zug Ihren Fahrplan checken möchten, ein Restaurant, eine Apotheke in Ihrer Nähe oder ein kurzweiliges Spiel für zwischendurch suchen, hier finden Sie die perfekte App für Ihren Zweck.Für die Android Versionen 7, 8, 9 und 10Aus dem Inhalt:• Apps finden und installieren• Surfen und mailen• Soziale Netzwerke und Chat• Notizen, Kalender, Wecker• Reisen, Nachrichten und Wetter• Wissen und Information• Fotos und Grafik• Medien, Musik und Video• Shopping und Schnäppchen• Ernährung, Gesundheit und Fitness• Büro und Finanzen• Systemtools und Tuning• Spiele• Apps, auf die die Welt gewartet hat
Clean Code für Dummies
Clean Code ist eine wichtige Methode, um zu besserer Software zu kommen. Zu beachten sind Korrektheit, Verständlichkeit, Lesbarkeit und Ressourcenverbrauch. Programmieren ist aber mehr als ein Handwerk. Klarer Code ist auch Ausdruck klaren Denkens und beginnt damit schon vor der Niederschrift. Regeln sind wichtige Stützen, aber das eigenständige Denken, Entscheiden und Abwägen ersetzen sie nicht. Das Buch vermittelt handwerkliche Fertigkeiten und stellt das Programmieren in den Gesamtprozess der Softwareentwicklung. Jürgen Lampe ist IT-Berater in Eschborn in der Nähe von Frankfurt. Er hat Mathematik studiert, Prozessrechenanlagen programmiert und als Hochschullehrer an der TU Dresden gearbeitet. Über die Jahre hat er nie das Coden aufgegeben. Er kennt diverse Programmiersprachen - von Algol60 über PL/I und Pascal bis zu Java - und er kennt die Vor- und Nachteile verschiedener Programmierstile.Über den Autor 9EINLEITUNG 23Über dieses Buch 23Konventionen in diesem Buch 24Was Sie nicht lesen müssen 24Törichte Annahmen über die Leser 25Wie dieses Buch aufgebaut ist 26Symbole, die in diesem Buch verwendet werden 27Wie es weitergeht 28TEIL I: DAS CLEAN-CODE-PRINZIP 29KAPITEL 1 SOFTWARE IST CODE31Erwartungen an Software 31Probleme haben Ursachen 32Allgemeine Ursachen 32Hardwareentwicklung 33Nichts ohne Code 34Das Wichtigste in Kürze 35KAPITEL 2 DIMENSIONEN VON CODEQUALITÄT37Was bedeutet Qualität? 37Eigenschaften des Qualitätsbegriffs 37Qualitätsindikatoren 38Die Dimensionen von Codequalität 39Korrektheit des Codes 39Lesbarkeit und Wartbarkeit 40Leistungseigenschaften 40Weitere Dimensionen 41Das Qualitätsziel festlegen 41Beispiel: Der euklidische Algorithmus 42Das Wichtigste in Kürze 43KAPITEL 3 ALLES UNTER EINEN HUT – GUTE KOMPROMISSE FINDEN 45Warum gute Entscheidungen wichtig sind 45Es kommt drauf an 45Widersprüche überall 46Konflikte akzeptieren 47Entscheidungen systematisch treffen 48Konflikte erkennen 48Alternativen sammeln 48Kriterien finden 49Wahlmöglichkeiten bewerten 50Entscheiden 51Mit Augenmaß 51Das Wichtigste in Kürze 52KAPITEL 4 DIE EIGENSCHAFTEN SAUBEREN CODES55Des Clean Codes Kern 55Code als Ziel 56Professionalität 57Es geht immer weiter 58Code als Kommunikationsmittel zwischen Menschen 58Lesbarkeit 59Verständlichkeit 59Eleganz 60Gute Wartbarkeit 61Leichter durch Verständlichkeit 61Nicht ohne Test 61Zu guter Letzt 62Das Wichtigste in Kürze 63KAPITEL 5 IN DER PRAXIS: STOLPERSTEINE 65Clean Code ist schwer 65Reden wir über die Kosten 65Kurz- und mittelfristige Vorteile 66Langfristige Vorteile 66Bewertung 68Ändern bleibt schwierig 68Manchmal passt es nicht 69Frameworks 70Projektvorgaben 70Starre Abläufe 71Falsche Autoritäten 71Es liegt an Ihnen 73Das Wichtigste in Kürze 73TEIL II: AN HERAUSFORDERUNGEN WACHSEN 75KAPITEL 6 MEHR ALS HANDWERKSKUNST77Programmieren ist schwer 77Software professionell entwickeln 79Softwareentwicklung braucht Handwerk 80Handwerk allein reicht nicht 82Das Wichtigste in Kürze 83KAPITEL 7 ENTWICKELN IST (KREATIVE) WISSENSCHAFT 85Formalisiertes Wissen 85Was sind formale Theorien? 86Wann braucht es eine (neue) Theorie? 87Wie Sie zu einer Theorie kommen? 88Mentales Modell als Theorie 88Wenn es so einfach wäre: Viele Hürden 89Und dann auch noch der kleine Rest 90Konsequenzen 91Die Bedeutung des Entwicklers darf nicht unterschätzt werden 91Es werden verschiedene Qualifikationen gebraucht 92Auch die Theorie muss weiterentwickelt werden 93Das Wichtigste in Kürze 94KAPITEL 8 MODELLIERUNGSDILEMMA UND ENTSCHEIDUNGSMÜDIGKEIT 95Das Modellierungsdilemma 95Was macht ein Modell aus? 95Ein Modell für alle Anforderungen gesucht 96Und wenn es kein umfassendes Modell gibt? 98Entscheiden ermüdet 100Entwickeln heißt entscheiden 100Entscheidungskraft optimal nutzen 101Das Wichtigste in Kürze 103KAPITEL 9 FALLEN VERMEIDEN 105Erst mal loslegen 105Agil heißt nicht »kein Konzept« 105Abgrenzung ist alles 106Wenn es nicht anders geht 107Schön flexibel bleiben 108Flexible Programme 109Flexibilität bläht auf 109Die Sinnfrage 110Modularisierung übertreiben 111Davon verschwindet die Komplexität nicht 111Zerlegung will geübt sein 112Schon wieder: Kosten 113Wachsen im Korsett 113Das Wichtigste in Kürze 114TEIL III: SAUBEREN CODE SCHREIBEN 115KAPITEL 10 NAMEN SIND NICHT SCHALL UND RAUCH 117Benennungen 117Namen versus Bezeichner 118Namen versus Begriffe 118Woher nehmen? 120Lösungsdomäne 120Anwendungsdomäne 120Eigenschaften guter Namen 121Den Sinn vermitteln 121Nicht in die Irre führen 121Sinnvolle Unterschiede 122Verschlüsselungen vermeiden 123Verwendbarkeit 124Klassen und Methoden 125Die Qual der Sprachwahl 125Englisch 126Deutsch 126Keine Empfehlung 126Was zu tun ist 127Das Wichtigste in Kürze 127KAPITEL 11 REINE FORMFRAGE – FORMATIERUNG129Das Auge liest mit 129Vertikales Formatieren 131Codelänge 131Vorbild Zeitung 131Vertikale Abstände 132Vertikale Ordnung 134Horizontales Formatieren 135Zeilenlänge 135Horizontale Abstände 136Einrückungen 138Automatische Formatierung 139Vorteile 139Nachteile 140Das Wichtigste in Kürze 140KAPITEL 12 CODE ZUERST – SIND KOMMENTARE NÖTIG? 141Code allein reicht nicht 141Erklärung gesucht 141Das große Missverständnis: Code spricht nur den Computer an 142Kommentare – hilfreich oder störend? 142Kommentare lügen – oft 143Sinnvolle Kommentare 143Rechtshinweise 143Unerledigtes 143Klarstellungen und Warnungen 144Algorithmen 144Spezifikationen 144Pragmatisches 146Schlechte Kommentare 147Nichtssagendes 147Auskommentierter Code 148Unterschiedliche Sprachen 148Fehlender Bezug 148JavaDoc 149Dokumentationen 150Schönheit 151Das Wichtigste in Kürze 152KAPITEL 13 KLEINE SCHRITTE – SAUBERE METHODEN153Methoden 153Begriffliche Klärung 154Eigenschaften 154Der Inhalt 155Abstraktion 155Trennung von Bearbeitung und Abfrage 155Testen 156Die Größe 156Eine Aufgabe 156Zeilenzahl 157Schachtelungsstruktur 158Parameter 159Anzahl 160Stellung 162Parameter vermeiden 162Testen 163Flag-Parameter 163Resultate 164Rückgabewerte 164Rückgabewert null 165Ergebnisparameter 166Rückkehrcodes 167Seiteneffekte 167Auswahlanweisungen 168Alles fließt 170Das Wichtigste in Kürze 170KAPITEL 14 PASSEND SCHNEIDEN – SCHNITTSTELLEN 171Die Rolle von Schnittstellen 171Mehr als ein Interface 171Isoliert betrachtet 172Im Verbund 172Komponenten 173Interface Segregation 174Schlanke Schnittstellen 174Kohäsion 175Kombination 179Keine Missverständnisse 180Exakte Beschreibung 180Voraussetzungen aufführen 181Vollständige Definition 182Tests und Mocks 182Kein Code ohne Fremdcode 183Eine unsichtbare Grenze 184Abhängigkeiten isolieren 184Wie es gehen könnte 185Das Wichtigste in Kürze 189KAPITEL 15 OBJEKTE UND DATENSÄTZE UNTERSCHEIDEN191Was ist ein Objekt? 191Und ein Datensatz? 192Die Praxis 193Die Objekt-Datensatz-Antisymmetrie 194Java und Objektorientierung 194Prozeduraler Code 195Objektorientierter Code 197Schlussfolgerungen 199Das Gesetz von Demeter 199Internes intern halten 200Trotzdem kommunikativ sein 200Das gilt auch umgekehrt 202Aufrufketten 203Fazit 205Das Wichtigste in Kürze 205KAPITEL 16 WEGE IM DSCHUNGEL – REGELN 207Wiederholungen vermeiden 207Die Regel 207Motivation 208Umsetzung 209Schwierigkeiten 210Liefern, was verlangt wird 211Die Regel 211Motivation 212Umsetzung 212Schwierigkeiten 213Jedes für sich 213Die Regel 213Motivation 214Umsetzung 214Schwierigkeiten 214Die SOLID-Regeln 215Single Responsibility Principle – SRP 215Open Closed Principle – OCP 216Liskov Substitution Principle – LSP 217Interface Segregation Principle – ISP 217Dependency Inversion Principle – DIP 217Einfach besser 218Halte es einfach 218Geringste Überraschung 219Fazit 219Das Wichtigste in Kürze 219KAPITEL 17 FEHLER PASSIEREN – FEHLERBEHANDLUNG221Ausgangslage 221Fehlerarten 222Datenfehler 222Seltene Datenfehler 223Häufige Datenfehler 223Funktionsfehler 225Hardwarefehler 226Semantische Fehler 227Plausibilitätsprüfung 227Wertebereichs-Überschreitungen 229Keine Panik 231Das Wichtigste in Kürze 231KAPITEL 18 AUSNAHMEN REGELN – EXCEPTIONS 233Sinn und Zweck 233Checked und Unchecked Exceptions 234Kosten 235Werfen von Exceptions 235Generische Exceptions verwenden 235Spezielle Exceptions definieren 236Fangen von Exceptions 238Funktionsblöcke bestimmen 238Fachliche und technische Exceptions 239Verpacken von Exceptions 240Loggen von Exceptions 240Angemessenheit 241Das Wichtigste in Kürze 242KAPITEL 19 IMMER WEITER – NEUE SPRACHMITTEL243Wie beurteilen? 243Annotationen 245Funktion 246Anwendungsarten 246Risiken minimieren 248Lambda-Ausdrücke 248Klippen 248So vielleicht 250Streams 251Die Idee 252Anwendung 252Aber Vorsicht 253Fazit 254Spezialisierung 254Beschränkung 255Das Wichtigste in Kürze 256TEIL IV: WEGE ZUM ZIEL 257KAPITEL 20 MITEINANDER LERNEN – CODE REVIEWS 259Zweck 260Was nicht geht 260Das Potenzial 261Durchführung 262Erfolgsvoraussetzungen 262Vorbereitung 263Review-Rollen 265Review-Werkzeuge und Metriken 266Review-Bewertung 267Codequalität 267Review-Qualität 267Das Wichtigste in Kürze 268KAPITEL 21 AUS FEHLERN LERNEN 269Fehler macht jeder 269Fehler analysieren 270Fehlerursachen ermitteln 271Fehlerarten 272Priorisierung 272Denken Sie an … 273Erkenntnisse nutzen 275Code Reviews nutzen 275Ergebnisse dokumentieren 275Wiederholen: Erkenntnisse erneut erörtern 275Das Wichtigste in Kürze 276KAPITEL 22 ES GIBT IMMER WAS ZU TUN – REFACTORING 277Die Idee 277Die Praxis 278Vorbereitung 278Schritt für Schritt 280Im Großen und im Kleinen 280Ein Beispiel 281Das Wichtigste in Kürze 282TEIL V: DER TOP-TEN-TEIL 283KAPITEL 23 10 FEHLER, DIE SIE VERMEIDEN SOLLTEN 285Buch in Schrank stellen 285Nicht sofort anfangen 285Aufgeben 286Nicht streiten 286Schematisch anwenden 286Kompromisse verweigern 286Unrealistische Terminzusagen 287Überheblichkeit 287Denken, fertig zu sein 287Alles tierisch ernst nehmen 287KAPITEL 24 (MEHR ALS) 10 NÜTZLICHE QUELLEN ZUM AUFFRISCHEN UND VERTIEFEN 289Clean Code – das Buch und der Blog 289Clean Code Developer 290Software Craftsmanship 290Java Code Conventions 29097 Dinge, die jeder Programmierer wissen sollte 290The Pragmatic Bookshelf 291Prinzipien der Softwaretechnik 291Refactoring 291Code Reviews 291Codeanalyse 292Verzögerungskosten 292Project Oberon 292Stichwortverzeichnis 295
C++ für Dummies (8. Auflg.)
Die Programmierung mit C++ muss nicht schwer sein. Mit diesem Buch werden Sie schon ab dem ersten Kapitel eigene Programme schreiben und die C++-Syntax von der Pike auf lernen, verstehen und anwenden. Arnold Willemer erklärt Ihnen, wie Sie Code zu Modulen zusammenfassen, die Sie immer wieder verwenden können, und schon bald werden Sie wissen, wie man Variablen deklariert und mathematische Operationen ausführt. So ist dies das richtige Buch für Ihren Einstieg in C++. Arnold Willemer ist Programmierer und Administrator mit mehr als zwanzig Jahren Berufserfahrung. Er hat mehrere erfolgreiche Computer-Bücher geschrieben, die sich durch ihre Verständlichkeit und ihren lockeren Stil auszeichnen.EINLEITUNG 21Über dieses Buch 21Konventionen in diesem Buch 21Törichte Annahmen über den Leser 21Wie dieses Buch aufgebaut ist 22Symbole, die in diesem Buch verwendet werden 23Wie es weitergeht 24TEIL I: WIR PROGRAMMIEREN25KAPITEL 1 GRUNDGERÜST EINES PROGRAMMS27Die Funktion main() 27Kommentare 28Ausgabe für Anfänger 29Zahlenspielereien 30Übungen 31KAPITEL 2 VARIABLEN UND VERARBEITUNG33Variablendefinition 33Namensregeln 35Ganze Zahlen 36Wir rechnen 37Wertveränderungen 38Ganzzahlige Literale 41Zeichen 42Fließkommazahlen 45Symbolische Konstanten 46Aufzählungstyp enum 47Typen umtaufen 49Fallstricke beim Umgang mit Typen 49Überlauf 49Typkonvertierung und Casting 51Ganzzahlige Division 52Automatische Typbestimmung 53Zahlen ein- und ausgeben 53Ausgabestrom 53Formatierte Ausgabe 54Eingabestrom aus cin 54Übungen 55KAPITEL 3 ABFRAGE UND WIEDERHOLUNG57Verzweigungen 57Nur unter einer Bedingung: if 58Andernfalls: else 58Struktogramm 59Dangling else 61Fall für Fall: switch case 62Bedingter Ausdruck: Fragezeichen 64Boolesche Ausdrücke 65Variablen und Konstanten 65Operatoren 66Verknüpfung von booleschen Ausdrücken 67Immer diese Wiederholungen: Schleifen 71Kopfgesteuert: while 71Fußgesteuert: do… while 75Abgezählt: for 76Der Sprung als Feind der Struktur 79Der brutale Sprung: goto 80Schleifenausbruch: break 81Schleifenrücksprung: continue 82Beispiel: Größter gemeinsamer Teiler 83Mitmachbeispiel: Schleifende Hunde und Füchse 85Übungen 86TEIL II: DATENTYPEN UND -STRUKTUREN89KAPITEL 4 DAS ARRAY91Definition und Zugriff auf ein Array 91Grenzen und Größen 93Arrays lieben die for-Schleife 94Lottozahlen sollten zufällig sein 95Keine Doppelten beim Lotto 96Sortierte Lottozahlen 99Mehrere Dimensionen 102Beispiel: Bermuda 103Spielanleitung Bermuda 103Spielfeld anzeigen 103Die Schiffskoordinaten 105Übungen 106KAPITEL 5 ZEIGER UND DESSEN MÖGLICHKEITEN109Der Zeiger und die Adresse 109Arrays und Zeiger 112Zeigerarithmetik 113Wettrennen zwischen Index und Zeiger 114Klassische Zeichenketten 115Addition und Subtraktion 116Konstante Zeiger 116Der Zeiger auf gar nichts: void* 117Übungen 117KAPITEL 6 VARIABLENVERBUND STRUCT 119Ein Verbund mehrerer Variablen 119Arrays von Strukturen 121Zeiger auf Strukturen 121Beispiel: Bermuda 123Objekte dynamisch erzeugen und löschen: new und delete 124Der Befehl new 124Zur Laufzeit erzeugte Arrays 125Verkettete Listen 126TEIL III: FUNKTIONEN131KAPITEL 7 FUNKTIONEN IM EIGENBAU133Anweisungen zusammenfassen 133Funktionsparameter 135Ein Rückgabewert als Ergebnis 136Prototypen 137Noch ein paar Bemerkungen zu Parametern 138Zeiger als Parameter 138Arrays als Parameter 140Die Parameter der Funktion main 144Referenzparameter 145Parameter vorbelegen 146Variable Anzahl von Parametern 147Überladen von Funktionen 148Kurz und schnell: Inline-Funktionen 149KAPITEL 8 HILFREICHE BIBLIOTHEKSFUNKTIONEN151Zufall 151Mathematische Funktionen 153Zeitfunktionen 155KAPITEL 9 EINSATZ VON FUNKTIONEN 159Vermeidung doppelten Codes 159Top-down-Design am Beispiel Bermuda 159Vom Diagramm zum Listing 160Die Daten und die Parameter 160Initialisierung der Datenstrukturen 161Benutzereingabe 162Suche die Schiffe 162Eintrag im Spielfeld 165Ende des Spiels 165Globale, lokale und statische Variablen 166Globale Variablen 166Lokale Variablen 167Statische Variablen 167Rekursion: Selbstaufrufende Funktionen 168Fibonacci, die Kaninchen und der Goldene Schnitt 168Einbindungen 170Türme von Hanoi 171Rückruf erwünscht: Der Funktionszeiger als Parameter 173Anonym: Die Lambda-Funktion 175Übungen 176TEIL IV: ZEICHENKETTEN177KAPITEL 10 DIE STANDARDKLASSE STRING 179Zeichenkettenliterale 179Definieren und Zuweisen 180Zugriff auf einzelne Zeichen 181String-Funktionen 181Länge des Strings 181Verändern von String-Inhalten 181Suche und Informationen 182Umwandlung von Zahlen und Zeichenketten 183Vergleiche 185Ein- und Ausgabe von Strings 186Umwandlung von string in ein char-Array 187KAPITEL 11 DAS CHAR-ARRAY ALS ERBE VON C189Speichern im Array 189Der Zeiger auf char 191Die String-Bibliothek 192Strings in Zahlen konvertieren 193Zahlen in Strings konvertieren 194TEIL V: KLASSEN197KAPITEL 12 AM BEISPIEL ZU BRUCH GEHEN199Die Klasse Bruch 199Der Bruch hat eigene Funktionen 202Initialisierung durch Konstruktoren 205Konstruktor mit Parameter 207Destruktor 209Konstruktor und Destruktor bei Arrays 210Konvertierungskonstruktor 210Konvertierungsoperator 211Private Attribute 212Operatoren überladen 213Wir multiplizieren mit dem Stern 213Alle möglichen Operatoren 214Besonderheiten bei Inkrement und Dekrement 216Die Vergleichsoperatoren 217Ausgabeoperatoren und Freunde 218Der Indexoperator 220Der Aufrufoperator () 222Die Kopie von Zeigern in Klassen 222Der Zuweisungsoperator 223Kopierkonstruktor 224Statische Variablen und Funktionen in Klassen 226Statische Klassenattribute 226Statische Methoden 227Statische lokale Variable 228Konstante Parameter und Funktionen 229Übungen 230KAPITEL 13 VERERBUNG231Basisklasse 232Kompatibilität zur Basisklasse: »Ist ein« 234Zugriff nur für Erben: protected 234Zugriffsattribute der Vererbung 235Konstruktorenvererbung 237Kopierkonstruktor und Zuweisungsoperator 238Mehrfachvererbung 238Objektorientiertes Design für Bermuda 240Die Koordinate 240Das Schiff 241Die Flotte 242Das Spielfeld 245Die Spielklasse Bermuda mit Mehrfachvererbung 247Übungen 247KAPITEL 14 POLYMORPHIE UND VIRTUELLE FUNKTIONEN 249Die Mensa der Universität Norgaardholz 249Ein Objekt weiß, was es tut: Polymorphie 252Rückgriff auf die Basisklasse 253Eine abstrakte Suppe 254Die Mahlzeit als vollkommen abstrakte Klasse 255Virtueller Destruktor 256Polymorphie bei grafischen Oberflächen 257Übungen 258TEIL VI: FORTGESCHRITTENE PROGRAMMIERTECHNIKEN261KAPITEL 15 GROẞE PROGRAMMPROJEKTE263Aufteilung der Quelltexte 263Implementierung und Schnittstelle 263Doppelter Include 268Zusammenbinden der Objektdateien 269Projektsteuerung am Beispiel make 269Header-Dateien und Schnittstellen 271Deklaration und Definition 271Einbinden von Header-Dateien 273Bibliotheken 274Eigene Bibliotheken erzeugen 274Statische Bibliotheken einbinden 275Dynamische Bibliotheken 276Namensräume 278Definition eines Namensraums 278Zugriff 279Besondere Namensräume 280KAPITEL 16 KATASTROPHENSCHUTZ: FEHLER, AUSNAHMEN UND VORBEDINGUNGEN281Die klassische Fehlerbehandlung 281Ausnahmebehandlung 283try und catch 283Eigene Ausnahmen werfen 284Erstellen von Fehlerklassen 287Die Ausnahmen der Standardbibliotheken 288Vorbedingungen 290assert 290Der Compiler prüft 292KAPITEL 17 INTELLIGENTE SAMMELBEHÄLTER293Charakterlose Daten 293Generische Programmierung 295Template-Funktionen 296Template-Klassen 299Die Container-Klasse vector 302Dynamik 303Kapazität und Größe 305Grenzüberschreitung 306Iteratoren als Zeigerersatz 307Methoden des Vektors 309Die Container-Klasse deque 310Die Container-Klasse list 312Sortieren einer Liste: sort 313Eine Liste in eine andere einsortieren: merge 315Alles umdrehen: reverse 316Mengen-Container: set 317Löschen aus dem Set 317Suchen und Sortieren 318Sortierreihenfolge 318Der assoziative Container map 319Container-Adapter 321Der Container-Adapter stack 321Der Container-Adapter queue 322Iteratortypen 323Die Algorithmen der STL 324Suchen: find 325Sortieren 326Binäres Suchen 327Kopieren: copy 327Umdrehen: reverse 328Füllen: fill 329equal 329Funktionsobjekt als Parameter: find_if 329for_each 332Vereinigung und Durchschnitt 333Die Template-Klasse bitset 335TEIL VII: DAUERHAFTES ABLEGEN VON DATEN337KAPITEL 18 EIN- UND AUSGABE IN DATEIEN 339Formatierte Ausgabe im Datenstrom 339Ausgabestrom ausrichten 340Dateioperationen mit fstream 344Öffnen und Schließen 345Lesen und Schreiben sequenzieller Daten 346Binäre Daten blockweise verarbeiten 350Problembehandlung 353Exceptions 354Dateizugriffe nach ANSI-C 355KAPITEL 19 DATENBANKEN361Objektorientierter portabler Zugang: CppDB 363Installation 363Einbindung 363Verbindungsaufname zur Datenbank 364SQL-Befehle übergeben 365Auslesen mit SELECT 366Beispielhafte Person 366Datenbankbibliothek SQLite 369Einrichtung 369Programmieren mit SQLite 370Tabelle erzeugen und mit Daten füllen 371Auslesen der Daten 373TEIL VIII: GRAFISCHE FENSTERPROGRAMME GUI377KAPITEL 20 GRAFISCHE OBERFLÄCHEN379KAPITEL 21 C-API AM BEISPIEL WIN32381Hauptprogramm 382Die Fensterfunktion WndProc 382Mausverhalten 384Kontrollelemente 384Bermuda in Win32 385KAPITEL 22 OBJEKTORIENTIERT MIT WXWIDGETS391Installation von wxWidgets 391wxWidgets für Linux einrichten 392wxWidgets für Windows und Mac beschaffen 392Ein wxWidgets-Programm erstellen 393Code::Blocks unter Linux und Windows 394Ein minimales xwWidgets-Programm 395Grafik 396Grafische Kontroll- und Eingabeelemente 398Layout 400BoxSizer 400GridSizer 401FlexGridSizer 402Die Kombination mehrerer Layouts 402Bermuda in der wxWidgets-Version 403KAPITEL 23 QT409Geschichte eines portablen Frameworks 409Installation 410Linux 410Windows und Mac 410Ein Qt-Widgets-Projekt 410Der Qt-Designer 412TEIL IX: PROGRAMMIERUMGEBUNG415KAPITEL 24 COMPILER BESCHAFFEN UND EINRICHTEN417Der GNU-C++-Compiler 417Der GNU-C++-Compiler unter Linux 417Der GNU-C++-Compiler unter MS Windows 418Microsoft Visual Studio 418Projekt erstellen 419Windows Desktopassistent 421Code::Blocks 421Linux 422Windows 422Der Aufbau von Code::Blocks 422Ein Projekt anlegen 423Übersetzen und starten 424Eclipse als C++-Umgebung 424Anlegen eines Projekts 425Generieren und ausführen 425NetBeans 425Linux 426Windows 426Ein C++-Projekt erzeugen 427KAPITEL 25 PROGRAMMIERWERKZEUGE429Der Compiler und der Linker 429Compiler-Aufruf 429Compiler-Optionen 430Fehlermeldungen 431Der Präprozessor 432Einbinden von Dateien: #include 433Konstanten und Makros: #define 433Abfragen: #if 435Auf Fehlersuche mit dem Debugger 437Debuggen in der IDE 437Konsolen-Debug 438Versionsverwaltungen 439Arbeitsweise 439Subversion 441Git 443TEIL X: DER TOP-TEN-TEIL445KAPITEL 26 10 GRÜNDE, WARUM SIE C++ EINSETZEN WOLLEN 447Sie wollen native Programme schreiben 447Sie wollen sehr schlanke Programme schreiben 447Das Programm soll schnell starten 447Das Programm soll schnell laufen 447Das Programm soll direkt an eine API ankoppeln 448Sie wollen verhindern, dass jemand Ihren Source Codeaus der ausführbaren Datei rekonstruiert 448Sie müssen ganz dicht an die Maschine heran 448Sie mögen keine ideologischen Vorschriften 448Sie müssen sehr vertrackte Datenstrukturen auslesen 449Sie lieben das Hashtag-Zeichen 449KAPITEL 27 DIE 10 BELIEBTESTEN C++-FEHLER451Sie benutzen beim n-dimensionalen Array n als Index 451Ihre Schleife läuft ewig, weil Ihre Bedingung falsch formuliert ist 451Ihre Schleife läuft ewig, weil sich die Variable, die für die Bedingung geprüft wird, im Schleifenkorpus nie ändert 451Sie haben direkt hinter der Klammer von if/while/for ein Semikolon gesetzt 452Sie haben vergessen, den #include zu setzen, und wundern sich, warum die Bezeichner unbekannt sind 452Sie arbeiten mit deutschen Umlauten und verwenden kein unsigned char 452Sie haben delete aufgerufen, aber den Zeiger anschließend nicht auf nullptr gesetzt 452Sie verwenden häufiger new als delete 453Ihre Klasse enthält ein Zeigerattribut, aber es fehlt der Copy-Konstruktor und der Zuweisungsoperator 453Sie verwechseln es mit Java 453Stichwortverzeichnis 457
Microsoft Teams - Effizient im Team organisieren und arbeiten - komplett in Farbe
Microsoft Teams – Effizient im Team organisieren und arbeitenLängst sind die Mitglieder einer Firma oftmals über die ganze Welt verteilt. Mit Microsoft Teams ist es möglich, dass jede Person innerhalb einer Gruppe über die Cloud auf die gleichen Daten zugreifen und diese auch bearbeiten kann. So ist es innerhalb von Office 365 möglich, Projekte genau auf die individuellen Erfordernisse und mit den benötigten Office-Anwendungen abzustimmen. Der bekannte Autor Philip Kiefer zeigt auf, welche Möglichkeiten MS Teams anbietet und wie man diese am besten nutzen kann. Anhand vieler Praxisbeispiele gelingt die Gruppenarbeit in Ihrem Team schnell und einfach.Aus dem Inhalt:- Welche Daten werden von Microsoft erfasst?- Microsoft Teams im Office-365-Abo- Meetings, Chats und Notizen in der Cloud- Bearbeitung von Dateien – alle gleichzeitig- MS Teams als Gastbenutzer verwenden- Grundlagen und Anwendungsbeispiele- Infos eingeben, aufzeichnen, aus anderen Programmen übertragen- Suchen, finden und organisieren- Teilen und Teamwork per LAN oder Internet- Sicherheit und Privatsphäre- Microsoft Teams auf Tablet-PCs und Smartphones- und vieles mehr
Spring Boot Persistence Best Practices
This book is a collection of developer code recipes and best practices for persisting data using Spring, particularly Spring Boot. The book is structured around practical recipes, where each recipe discusses a performance case or performance-related case, and almost every recipe has one or more applications. Mainly, when we try to accomplish something (e.g., read some data from the database), there are several approaches to do it, and, in order to choose the best way, you have to know the implied trades-off from a performance perspective. You’ll see that in the end, all these penalties slow down the application. Besides presenting the arguments that favor a certain choice, the application is written in Spring Boot style which is quite different than plain Hibernate.Persistence is an important set of techniques and technologies for accessing and using data, and this book demonstrates that data is mobile regardless of specific applications and contexts. In Java development, persistence is a key factor in enterprise, ecommerce, cloud and other transaction-oriented applications.After reading and using this book, you'll have the fundamentals to apply these persistence solutions into your own mission-critical enterprise Java applications that you build using Spring.WHAT YOU WILL LEARN* Shape *-to-many associations for best performances* Effectively exploit Spring Projections (DTO) * Learn best practices for batching inserts, updates and deletes * Effectively fetch parent and association in a single SELECT* Learn how to inspect Persistent Context content* Dissect pagination techniques (offset and keyset)* Handle queries, locking, schemas, Hibernate types, and moreWHO THIS BOOK IS FORAny Spring and Spring Boot developer that wants to squeeze the persistence layer performances.ANGHEL LEONARD is a Chief Technology Strategist with 20+ years of experience in the Java ecosystem. In daily work, he is focused on architecting and developing Java distributed applications that empower robust architectures, clean code, and high-performance. Also passionate about coaching, mentoring and technical leadership. He is the author of several books, videos and dozens of articles related to Java technologies.Chapter 1: AssociationsChapter 2: EntititesChapter 3: FetchingChapter 4: BatchingChapter 5: CollectionsChapter 6: Connections and TransactionsChapter 7: IdentifiersChapter 8: Calculating PropertiesChapter 9: MonitoringChapter 10: Configuring DataSource and Connection PoolChapter 11: AuditChapter 12: SchemasChapter 13: PaginationChapter 14: QueriesChapter 15: Locking16: Types and Hibernate TypesAppendix A: JPA FundamentalsAppendix B: Associations EfficiencyAppendix C: 5 SQL Performance Tips That Will Save Your DayAppendix D: How to Create Useful Database IndexesAppendix E: SQL PhenomenaAppendix F: Spring Transaction Isolation LevelAppendix G: Spring Transaction PropagationAppendix H: Understanding Flushing MechanismAppendix I: Second Level CacheAppendix J: ToolsAppendix K: Hibernate 6
The Project Managers Guide to Microsoft Project 2019
Learn Microsoft Project 2019 from the perspective of the project manager.This guide is an all-in-one training resource and reference that covers all versions found in the Microsoft Project 2019 suite. It is not a “how-to” manual covering the features and functions of the software, but is designed to explain and demonstrate why those features and functions are important to you as a project manager, allowing you to maximize the value of Microsoft Project 2019.Each aspect of project-manager-specific coverage was selectively compiled by author and Microsoft Project expert Cicala over more than two decades of consulting, project management training, and managing real-world projects using Microsoft Project. Readers will appreciate the robust index and intuitively organized and learning-oriented chapters, and sub-sections for quick reference and problem solving. “Try it” exercises at the close of every chapter help ensure understanding of the content.WHAT YOU WILL LEARN* Understand key components to the Microsoft Project 2019 solution* Reinforce learning via hands-on exercises with step-by-step illustrations * Build a plan and work breakdown structure, and manage resources and assignments* Utilize enterprise project management for creating a project, monitoring, controlling, and tracking* Export and communicate project information to an external audienceWHO THIS BOOK IS FORProject managers with limited time and resources who need to maximize their efficiency with Microsoft ProjectAnswer keys and supporting PowerPoint slides are available for academic instructors upon request.GUS CICALA is the founder and CEO of Project Assistants, an Inc. 500 company founded in 1996. Project Assistants focuses on best practices, proven technology, and highly trained consultants who help companies optimize their business strategy. Gus and his team deliver process, technology, and people-based solutions across many industry verticals in the US and Western Europe and have been awarded Silver Competency in project and portfolio management by Microsoft. Gus specializes in Microsoft Project Server and online deployment, training, application development, and portfolio management consulting. He is a certified Microsoft Cloud and Office 365 partner.PART I: INTRODUCTION TO PROJECT MANAGEMENTChapter 1: IntroductionChapter 2: Understanding Project Management ConceptsChapter 3: Introduction to Microsoft Project 2019PART II: PROJECT DEFINITIONChapter 4: Understanding Project DefinitionChapter 5: Defining Your Project Using Microsoft Project 2019PART III: PROJECT TASK PLANNINGChapter 6: Developing a Work Breakdown StructureChapter 7: Building a Work Breakdown Structure with Microsoft Project 2019Chapter 8: Managing Project Resources and AssignmentsChapter 9: Using Microsoft Project 2019 to Optimize the PlanPART IV: ENTERPRISE PROJECT MANAGEMENTChapter 10: Creating Enterprise ProjectsChapter 11: Monitoring and Controlling – The Project Manager’s FunctionsChapter 12: Using Project Web Application for TrackingChapter 13: Other Features in Project Web ApplicationChapter 14: Variance Analysis, Plan Revision, and Project CommunicationChapter 15: Presenting Project Information with Microsoft Project 2019
Subjektive Wahrnehmung und Bewertung fahrbahninduzierter Gier- und Wankbewegungen im virtuellen Fahrversuch
Der Fahrsimulator stellt ein entscheidendes Entwicklungswerkzeug dar, um in frühen Phasen des Entwicklungsprozesses Kenntnisse über das System- und das Fahrzeugverhalten zu gewinnen. Mithilfe der Subjektivbewertung im virtuellen Fahrversuch testet Minh-Tri Nguyen einzelne Systeme und bewertet sie auf Gesamtfahrzeugebene. Der Autor realisiert Versuche der menschlichen Wahrnehmung im Fahrsimulator. Darauf aufbauend erarbeitet er eine Herangehensweise zur Verbesserung des Fahrkomforts. Konkret handelt es sich hierbei um die gekoppelte Gier- und Wankbewegung des Fahrzeugs, die bei höheren Geschwindigkeiten durch Straßenunebenheiten hervorgerufen wird. Der Autor: Minh-Tri Nguyen arbeitet derzeit als Systemingenieur im Bereich des autonomen Fahrens bei einem deutschen Automobilzulieferer. Er hat am Institut für Verbrennungsmotoren und Kraftfahrwesen (IVK) der Universität Stuttgart promoviert. Stand der Technik.- Modellierung und Implementierung des virtuellen Fahrversuchs.- Untersuchung der gekoppelten Gier- und Wankbewegung.
SAP Integrated Business Planning
Mit diesem Buch steuern Sie Ihre Supply Chain schnell und lückenlos. Zunächst lernen Sie die verschiedenen Prozesse, Bestandteile sowie die Konfiguration von SAP Integrated Business Planning for Supply Chain im Detail kennen. Anschließend zeigen Ihnen die Autoren, wie Sie das Tool für die bereichsübergreifende Echtzeitplanung und -analyse Ihrer gesamten Lieferkette einsetzen. Best Practices unterstützen Sie bei Ihrem Implementierungsprojekt. Aus dem Inhalt: User Interfaces von SAP IBPVerwendung von Stamm- und BewegungsdatenExcel-Konfiguration Sales and Operations PlanningDemand PlanningInventory PlanningSupply and Response PlanningSupply Chain Control Tower AnalyticsSAP JamZeit- und auftragsbasierte SchnittstellenBest Practices: Rapid Deployment Solutions Einleitung ... 15 1. Betriebswirtschaftliche Einordnung ... 19 1.1 ... Prozesse der Supply-Chain-Planung ... 19 1.2 ... Überblick über SAP IBP ... 27 1.3 ... Integrierte Beispiele (Best Practice) ... 38 2. Benutzeroberflächen ... 45 2.1 ... Browserbasierte Benutzeroberflächen (Web UIs) ... 45 2.2 ... Microsoft Excel ... 61 3. Grundlagen der übergreifenden Konfiguration ... 101 3.1 ... Attribute ... 101 3.2 ... Stammdatentypen ... 106 3.3 ... Zeitprofile ... 116 3.4 ... Planungsbereiche ... 131 3.5 ... Planungsebenen ... 156 3.6 ... Kennzahlen ... 161 3.7 ... Versionen ... 168 3.8 ... Planungsoperatoren ... 170 3.9 ... Globale Konfiguration ... 176 3.10 ... Aktivierung von Planungsmodellen ... 178 4. Sales and Operations Planning mit SAP IBP ... 185 4.1 ... Überblick und Ziele ... 185 4.2 ... Funktionen von SAP IBP für Sales and Operations ... 189 4.3 ... Der S&OP-Prozess mit SAP IBP ... 205 4.4 ... Konfiguration und Einstellungen in SAP IBP für Sales and Operations ... 224 5. Absatzplanung mit SAP IBP für Demand ... 251 5.1 ... Überblick und Ziele ... 251 5.2 ... Klassische Absatzplanung mit SAP IBP für Demand ... 254 5.3 ... Demand Sensing mit SAP IBP für Demand ... 271 5.4 ... Konfiguration von SAP IBP für Demand ... 277 6. Bestandsplanung mit SAP IBP für Inventory ... 313 6.1 ... Einführung in die Bestandsplanung ... 313 6.2 ... Konfiguration von SAP IBP für Inventory ... 317 7. Demand-Driven Materials Requirement Planning ... 379 7.1 ... Überblick und Ziele ... 379 7.2 ... Der DDMRP-Prozess mit SAP IBP ... 381 7.3 ... SAP IBP für Demand-Driven Replenishment konfigurieren ... 384 8. Bestätigungs- und Beschaffungsplanung mit SAP IBP für Response and Supply ... 405 8.1 ... Basiseinstellungen ... 407 8.2 ... Priorisierung der Bedarfe ... 424 8.3 ... Beschaffungs- und Kontingentierungsplanung ... 427 8.4 ... Bestätigungsplanung ... 439 8.5 ... Deployment ... 443 8.6 ... Simulations- und Szenarioplanung ... 444 8.7 ... Konfiguration der Response-and-Supply-Planung ... 446 9. SAP Supply Chain Control Tower ... 511 9.1 ... SAP Supply Chain Control Tower -- Ziele und Funktionen ... 511 9.2 ... Konfiguration des SAP Supply Chain Control Towers ... 521 10. SAP Jam ... 539 10.1 ... Integration von SAP Jam in SAP IBP ... 540 10.2 ... Funktionen von SAP Jam ... 549 11. Datenintegration in SAP IBP ... 561 11.1 ... Zeitreihenbasierte Integration ... 562 11.2 ... Auftragsbasierte Integration ... 590 11.3 ... Integration mit SAP Ariba ... 615 Das Autorenteam ... 619 Index ... 621
Controlling in SAP S/4HANA
Mit diesem Buch meistern Sie die tägliche Arbeit im Controlling mit SAP S/4HANA! Anhand anschaulicher Beispiele leitet es Sie durch den Wertefluss im SAP-System: Sie lernen, wie Sie eine aussagekräftige Kostenstellenrechnung aufbauen sowie Ihre Produkte und Dienstleistungen kalkulieren. Außerdem erfahren Sie, was das Zusammenwachsen von FI und CO für Sie bedeutet und welche neuen Planungs-, Analyse- und Reportingmöglichkeiten Ihnen zur Verfügung stehen. Viele praktische Beispiele und Tipps unterstützen Sie dabei, die Möglichkeiten des Systems voll auszuschöpfen. Aus dem Inhalt: Stammdaten und OrganisationsstrukturenUniversal JournalGemeinkostencontrollingKostenstellenrechnungInnenauftragsrechnungProduktkostenplanungKostenträgerrechnungErgebniscontrollingDeckungsbeitragsrechnung Vorwort ... 13 Einleitung ... 15 1. Integration von Controlling und Finanzbuchhaltung ... 21 1.1 ... Verschmelzung des Controllings mit der Finanzbuchhaltung im Universal Journal ... 22 1.2 ... Verknüpfung von Stammdaten der Finanzbuchhaltung und des Controllings ... 24 1.3 ... Zusammenfassung ... 27 2. Organisationsstruktur in Controlling und Finanzbuchhaltung ... 29 2.1 ... Organisationsstrukturen in der Finanzbuchhaltung ... 30 2.2 ... Organisationsstrukturen im Controlling ... 38 2.3 ... Zusammenfassung ... 47 3. Werteflüsse in das Controlling ... 49 3.1 ... Schnittstellen zur Finanzbuchhaltung ... 49 3.2 ... Schnittstellen zur Materialwirtschaft ... 60 3.3 ... Schnittstellen zur Produktion ... 75 3.4 ... Schnittstellen zum Vertrieb ... 82 3.5 ... Zusammenfassung ... 91 4. Stammdaten anlegen und pflegen ... 93 4.1 ... Kostenarten ... 94 4.2 ... Bilanz-/GuV-Strukturen, Gruppen und Hierarchien für Kostenarten anlegen und pflegen ... 109 4.3 ... Kostenstellen gruppieren ... 113 4.4 ... Kostenstellen anlegen und pflegen ... 117 4.5 ... Leistungsarten anlegen und pflegen ... 129 4.6 ... Statistische Kennzahlen anlegen und pflegen ... 134 4.7 ... Innenaufträge anlegen und pflegen ... 137 4.8 ... Projekte anlegen und pflegen ... 150 4.9 ... Zusammenfassung ... 161 5. Gemeinkosten-Controlling ... 163 5.1 ... Kostenstellenrechnung ... 163 5.2 ... Innenaufträge ... 203 5.3 ... Zusammenfassung ... 270 6. Produktkosten-Controlling ... 271 6.1 ... Produktkostenkalkulation ... 272 6.2 ... Kostenträgerrechnung ... 349 6.3 ... Reporting im Produktkosten-Controlling ... 382 6.4 ... Zusammenfassung ... 404 7. Ergebnisrechnung ... 405 7.1 ... Einführung in die Ergebnisrechnung ... 406 7.2 ... Grundeinstellungen ... 413 7.3 ... Istwertefluss ... 450 7.4 ... Reporting ... 516 7.5 ... Predictive Accounting in SAP S/4HANA ... 524 7.6 ... Zusammenfassung ... 533 Anhang ... 535 A ... Glossar ... 537 B ... Transaktionen und SAP-Fiori-Apps ... 547 C ... Weiterführende Informationsquellen ... 553 D ... Die Autorinnen ... 559 Index ... 561
Deep Learning mit TensorFlow, Keras und TensorFlow.js
Deep Learning - eine Schlüsseltechnologie der Künstlichen Intelligenz. Neuronale Netze bringen Höchstleistung, wenn sie zu Deep-Learning-Modellen verknüpft werden - vorausgesetzt, Sie machen es richtig. Große und gute Trainingsdaten beschaffen, geschickt implementieren ... lernen Sie hier, wie Sie die mächtige Technologie wirklich in Ihren Dienst nehmen. Unsere Autoren zeigen Ihnen sowohl die Arbeit mit Python und Keras als auch für den Browser mit JavaScript, HTML5 und TensorFlow.js. Aus dem Inhalt: Deep-Learning-GrundkonzepteInstallation der FrameworksVorgefertigte Modelle verwendenDatenanalyse und -vorbereitungConvolutional Networks, LSTM, RNN, Pooling ...Aufgaben eines Modells richtig festlegenEigene Modelle trainierenOverfitting und Underfitting vermeidenErgebnisse visualisieren 1. Einführung ... 15 1.1 ... Über dieses Buch ... 15 1.2 ... Ein Einblick in Deep Learning ... 17 1.3 ... Deep Learning im Alltag und in der Zukunft ... 19 2. Machine Learning und Deep Learning ... 33 2.1 ... Einführung ... 33 2.2 ... Lernansätze beim Machine Learning ... 38 2.3 ... Deep-Learning-Frameworks ... 44 2.4 ... Datenbeschaffung ... 46 2.5 ... Datasets ... 48 2.6 ... Zusammenfassung ... 65 3. Neuronale Netze ... 67 3.1 ... Aufbau und Prinzip ... 67 3.2 ... Lernprozess neuronaler Netze ... 73 3.3 ... Datenaufbereitung ... 81 3.4 ... Ein einfaches neuronales Netz ... 82 3.5 ... Netzarchitekturen ... 91 3.6 ... Bekannte Netze ... 98 3.7 ... Fallstricke beim Deep Learning ... 101 3.8 ... Zusammenfassung ... 106 4. Python und Machine-Learning-Bibliotheken ... 107 4.1 ... Installation von Python 3.7 mit Anaconda ... 108 4.2 ... Alternative Installationen von Python 3.7 ... 113 4.3 ... Programmierumgebungen ... 116 4.4 ... Jupyter Notebook ... 121 4.5 ... Python-Bibliotheken für das Machine Learning ... 126 4.6 ... Nützliche Routinen mit NumPy und Scikit-learn für ML ... 129 4.7 ... Ein zweites Machine-Learning-Beispiel ... 133 4.8 ... Zusammenfassung ... 137 5. TensorFlow: Installation und Grundlagen ... 139 5.1 ... Einführung ... 139 5.2 ... Installation ... 143 5.3 ... Google Colab: TensorFlow ohne Installation benutzen ... 153 5.4 ... Tensoren ... 154 5.5 ... Graphen ... 160 5.6 ... Benutzung der CPU und GPU ... 171 5.7 ... Erstes Beispiel: Eine lineare Regression ... 174 5.8 ... Von TensorFlow 1.x zu TensorFlow 2 ... 180 5.9 ... Zusammenfassung ... 183 6. Keras ... 185 6.1 ... Von Keras zu tf.keras ... 185 6.2 ... Erster Kontakt ... 189 6.3 ... Modelle trainieren ... 191 6.4 ... Modelle evaluieren ... 193 6.5 ... Modelle laden und exportieren ... 194 6.6 ... Keras Applications ... 197 6.7 ... Keras Callbacks ... 198 6.8 ... Projekt 1: Iris-Klassifikation mit Keras ... 200 6.9 ... Projekt 2: CNNs mit Fashion-MNIST ... 204 6.10 ... Projekt 3: Ein einfaches CNN mit dem CIFAR-10-Dataset ... 213 6.11 ... Projekt 4: Aktienkursvorhersage mit RNNs und LSTMs ... 220 6.12 ... Zusammenfassung ... 226 7. Netze und Metriken visualisieren ... 227 7.1 ... TensorBoard ... 228 7.2 ... TensorBoard.dev ... 246 7.3 ... Debugging mit TensorBoard (nur TF 1.x) ... 248 7.4 ... Der TensorBoard-Debugger mit Keras (nur TF 1.x) ... 257 7.5 ... Visualisierung mit Keras ... 259 7.6 ... Visualisierung von CNNs mit Quiver (nur mit Keras.io) ... 267 7.7 ... Interaktive Visualisierung mit Keras-Callbacks, Node.js und HTML5 selbst implementieren ... 271 7.8 ... Weitere Visualisierungsmöglichkeiten ... 281 8. TensorFlow.js ... 285 8.1 ... Anwendungsfälle ... 285 8.2 ... Installation von BrowserSync ... 288 8.3 ... Installation von TensorFlow.js ... 290 8.4 ... Konzepte ... 293 8.5 ... Ihr erstes Modell mit TensorFlow.js: Eine quadratische Regression ... 304 8.6 ... Laden und Speichern von Modellen ... 318 8.7 ... PoseNet-Modell mit TensorFlow.js ... 327 8.8 ... Eine intelligente Smart-Home-Komponente mit TensorFlow.js und Node.js ... 343 8.9 ... TensorFlow.js noch einfacher: ml5.js ... 356 9. Praxisbeispiele ... 361 9.1 ... Projekt 1: Verkehrszeichenerkennung mit Keras ... 363 9.2 ... Projekt 2: Intelligente Spurerkennung mit Keras und OpenCV ... 379 9.3 ... Projekt 3: Erkennung der Umgebung mit YOLO und TensorFlow.js bzw. ml5.js ... 392 9.4 ... Projekt 4: Haus oder Katze? Vorgefertigte Modelle mit Keras benutzen -- VGG-19 ... 403 9.5 ... Projekt 5: Buchstaben- und Ziffernerkennung mit dem Chars74K-Dataset und Datenaugmentierung ... 410 9.6 ... Projekt 6: Stimmungsanalyse mit Keras ... 418 9.7 ... Projekt 7: Sentiment-Analyse mit TensorFlow.js ... 425 9.8 ... Projekt 8: Benutzung von TensorFlow Hub ... 429 9.9 ... Projekt 9: Hyperparameter-Tuning mit TensorBoard ... 437 9.10 ... Projekt 10: CNN mit Fashion-MNIST und TensorFlow-Estimators (nur TF 1.x) ... 442 9.11 ... Allgemeine Tipps und Tricks ... 455 10. Ausblick ... 463 10.1 ... Deep Learning in der Cloud ... 463 10.2 ... Bildgenerierung mit Deep Learning ... 471 10.3 ... Musik mit Deep Learning ... 476 10.4 ... Videogenerierung mit Deep Learning ... 478 10.5 ... Deep Learning einfacher gemacht ... 480 11. Fazit ... 489 Index ... 492
User Experience mit SAP
Benutzerfreundliche, anforderungsorientierte SAP-Oberflächen? Nichts leichter als das! In diesem Buch lernen Sie Methoden und Best Practices kennen, mit denen der Fokus der Entwicklung von Anfang an auf den Erwartungen der Anwender liegt. Die Autoren zeigen Ihnen, wie Sie mit SAP-Fiori-Design und modernen SAP-Technologien Anwendungen erstellen, die der digitalen Transformation in Ihrem Unternehmen den Weg bereiten. Aus dem Inhalt: User Experience, Usability und DesignUX-Fehlgriffe und was man daraus lernen kannKonzepte von SAP Fiori 3.0Methoden und TechnikenDesigngetriebene EntwicklungPrototyping, Umsetzung und EvaluationSAP Screen PersonasSAP Fiori ElementsSAP Mobile Cards und Mobile Development Kit (MDK)SAP Cloud Platform SDK for iOSSAP CoPilot und SAP Conversational AIAugmented Reality und weitere UI-Trends Vorwort ... 15 Einleitung ... 17 TEIL I Einführung ... 23 1. Was ist eigentlich User Experience? ... 25 1.1 ... User Experience, Usability und UI-Design ... 26 1.2 ... User Experience in Zeiten von Marken, Innovationen und Social Media ... 34 1.3 ... Zusammenfassung ... 36 2. Dos and Don'ts: Faktoren für gute User Experience ... 37 2.1 ... Drei Beispiele für User Experience und was man daraus lernen kann ... 38 2.2 ... Einflussfaktoren für User Experience ... 50 2.3 ... Gute User Experience ist kein Zufall ... 53 2.4 ... Zusammenfassung ... 58 3. SAPs Weg zur neuen User Experience ... 61 3.1 ... Rückblick: die Zeit vor SAP Fiori ... 61 3.2 ... SAP Fiori - SAP entdeckt User Experience ... 69 3.3 ... SAP Fiori 2.0 - die SAP S/4HANA User Experience ... 81 3.4 ... SAP Fiori 3 - konsistent, intelligent und integriert ... 88 3.5 ... Zusammenfassung ... 95 TEIL II UX-Strategie, -Methoden und -Techniken ... 97 4. Mit Experience Management zum intelligenten Unternehmen ... 99 4.1 ... SAP S/4HANA als Mittelpunkt der Intelligent Suite ... 100 4.2 ... Neuer Kurs für Ihre UX-Strategie ... 111 4.3 ... Zusammenfassung ... 119 5. Die passende UX-Strategie ... 121 5.1 ... Blaupause für den UX-Designprozess ... 122 5.2 ... Die Rolle des UX-Designers ... 131 5.3 ... Design Thinking und ein nutzerorientierter Designprozess ... 135 5.4 ... UX-Methoden ... 137 5.5 ... Stolpersteine umgehen ... 156 5.6 ... Zusammenfassung ... 159 6. Ein Blick in den SAP-Baukasten ... 161 6.1 ... SAP-UI-Technologien und UX-Werkzeuge im Überblick ... 162 6.2 ... SAP Cloud Platform ... 168 6.3 ... Wichtige UI-Technologien ... 172 6.4 ... Werkzeuge ... 180 6.5 ... Einstiegspunkte und Clients ... 184 6.6 ... Auswahl der richtigen UX-Technologie ... 188 6.7 ... Zusammenfassung ... 189 TEIL III User Experience gestalten ... 191 7. Klassische Transaktionen mit SAP Screen Personas transformieren ... 193 7.1 ... Einsatzszenarien und Zielgruppe von SAP Screen Personas ... 194 7.2 ... Mit SAP Screen Personas arbeiten ... 208 7.3 ... Praxisbeispiel: Redesign einer SAP-Transaktion für Instandhaltungsprozesse ... 222 7.4 ... Zusammenfassung ... 235 8. Vorgefertigte User Experience: SAP Fiori Elements und SAP Build ... 237 8.1 ... Einführung in SAP Fiori Elements ... 238 8.2 ... Entwicklung von Apps mit SAP Fiori Elements ... 255 8.3 ... Praxisbeispiel: Entwicklung einer Raumplanungs-App ... 271 8.4 ... Zusammenfassung ... 291 9. Eigene SAP-Fiori-Apps entwickeln ... 293 9.1 ... Standard oder Eigenentwicklung? Einsatzmöglichkeiten für SAP-Fiori-Design und SAPUI5 ... 294 9.2 ... Praxisbeispiel 1: High-Fidelity-Prototyping mit Axure RP und SAP Fiori Design Stencils ... 308 9.3 ... Praxisbeispiel 2: Design von SAP-Fiori-Apps für das Smart-Carrier-Projekt ... 316 9.4 ... Zusammenfassung ... 329 10. SAP aus der Brieftasche: SAP Mobile Cards und Mobile Development Kit ... 331 10.1 ... Einführung in die SAP Cloud Platform Mobile Services ... 332 10.2 ... Eine OData-Service-Applikation zur Datenanbindung anlegen ... 335 10.3 ... Mobile Cards entwickeln ... 340 10.4 ... Cross-Plattform-Apps mit dem Mobile Development Kit entwickeln ... 352 10.5 ... Praxisbeispiel: Gestaltung eines innovativen Prozesses zur effizienten Raumnutzung ... 362 10.6 ... Zusammenfassung ... 370 11. Eine mobile iOS-App: SAP Cloud Platform SDK for iOS ... 373 11.1 ... Besonderheiten der mobilen Entwicklung ... 374 11.2 ... Einführung in das SAP Cloud Platform SDK for iOS ... 384 11.3 ... Praxisbeispiel: Design einer Produktkatalog-App für iOS ... 409 11.4 ... Zusammenfassung ... 431 TEIL IV Design- und Technologietrends für die User Experience der Zukunft ... 433 12. Smarte Assistenten im Geschäftsumfeld: SAP Conversational AI ... 435 12.1 ... Conversational User Experience ... 436 12.2 ... SAP Conversational AI ... 439 12.3 ... Praxisbeispiel: Entwicklung eines Chatbots mit SAP Conversational AI ... 443 12.4 ... Von SAP CoPilot zu SAP Conversational AI ... 450 12.5 ... Best Practices für die Designphase von Conversational-UX-Anwendungen ... 452 12.6 ... Zusammenfassung ... 456 13. User Experience für Geschäftsanwendungen der Zukunft ... 459 13.1 ... Interaktion per Stift ... 460 13.2 ... Interaktion mit virtuellen Objekten ... 465 13.3 ... Zusammenfassung ... 486 A. Weiterführende Literatur und Quellen ... 489 B. Die Autoren ... 497 Index ... 499
Nutzerverhalten verstehen - Softwarenutzen optimieren
Software muss nicht nur technische Definitionen, Standards und Normen erfüllen, sondern von ihren Benutzern auch entsprechend wahrgenommen werden. Nutzer und Käufer erwarten eine bestimmte Leistung, die zu den eigenen Zielen passen muss und es ist Aufgabe der Softwareentwickler, diese Leistung zu liefern.Da es hierbei nie eine vollständige Passung geben kann, entsteht ein Kommunikationsproblem – ein Kommunikationsproblem zwischen Menschen, das noch zu selten ernstgenommen wird.Über bekannte Ansätze hinausgehend zeigt das Buch anhand vieler praxisnaher Beispiele ein Verfahren, mit dem Sie Kommunikationsprobleme während der Entwicklung von Software aufdecken und bearbeiten und mit dem Sie auch nach der Veröffentlichung Ihrer Software Möglichkeiten der Optimierung identifizieren können.Zusätzliche Fragen per App: Laden Sie die Springer Nature Flashcards-App kostenlos herunter und nutzen Sie exklusives Zusatzmaterial, um an weiteren Beispielen zu üben und Ihr Wissen zu prüfen.DR. MARIO DONICK ist Kommunikationswissenschaftler. Er studierte Germanistik und Geschichte an der Universität Rostock und war dort bis 2013 wissenschaftlicher Mitarbeiter am Institut für Informatik. 2016 erschien seine Dissertation zu Unsicherheit und Ordnung der Computernutzung. Seitdem arbeitet er im und zum technischen Kundenservice und ist Autor und Entwickler. Zuletzt erschien sein Sachbuch „Die Unschuld der Maschinen“.Einleitung: Was Software-Qualität mit menschlicher Kommunikation zu tun hat - Kommunikation bei der Software-Entwicklung - Über die Beziehung von Nutzer*in, Software und Nutzungssituation - Softwarenutzung strukturiert beobachten - Strukturelle Analyse der Beobachtungsdaten - Analyseergebnisse interpretieren: Software als Medium und Schnittstelle, Quality of Interaction und Gestaltungsnormen
Textverarbeitung für Studium und Ausbildung
Längere Schriftstücke bereiten oft einiges Kopfzerbrechen. Nicht nur beim fachlichen Inhalt, sondern auch bei Layout und Bearbeitungsfreundlichkeit. Denn das Schreiben kann selbst ganz einfach und glatt funktionieren und dabei noch super aussehen, wenn man nur richtig anfängt. Hier sehen wir uns alle Teile an, die für fachliche und wissenschaftliche Dokumente gebraucht werden: Formatvorlagen, Abbildungen, Inhaltsverzeichnisse, Deckblätter und Inhalte mit Überbreite, die im Text eingefügt werden müssen. Das alles in einer kompakten Form, von der ausgehend weitere Details bearbeitet werden können. Dazu dann noch Möglichkeiten, ein Dokument gemeinsam zu verfassen und dabei den Überblick zu behalten. Damit sich jeder Autor voll auf den Inhalt der Texte konzentrieren kann und sich nicht in Kleinkram verzettelt!Ina Koys ist langjährige Trainerin für MS-Office-Produkte. Viele Fragen werden in den Kursen immer wieder gestellt, aber selten in Fachbüchern behandelt. Einige davon beantwortet sie jetzt in der Reihe "kurz & knackig".
Commercial and Industrial Internet of Things Applications with the Raspberry Pi
Use the Raspberry Pi and modern computing techniques to build industrial Internet of Things systems. Principles and theoretical aspects of IoT technologies combine with hands-on projects leading to detailed descriptions of several industrial IoT applications.This book presents real-life IoT applications based on the Raspberry Pi, beyond the relatively simplistic demos built for educational purposes or hobbyists. You'll make the transition from tinkering with a couple of sensors and simple devices to building fully developed products for commercial use and industrial systems. You'll also work with sensors and actuators, web technologies used for communications in IoT networks, and the large-scale deployment of IoT software solutions. And see how to design these systems as well as maintain them long term.See the Raspberry Pi in a new light that highlights the true industrial potential of the device. Move beyond connecting an LED to the Raspberry Pi and making it blink to actually managing a network of IoT devices.WHAT YOU'LL LEARN* Design industrial and large scale professional Internet of Things systems* Extend your basic IoT knowledge by building advanced products* Learn how large scale IoT systems are deployed and maintainedWHO THIS BOOK IS FORAdvanced hobbyists who want to stretch their abilities into the professional sector. Also professional industrial engineers looking for low-cost solutions to basic IoT needs.IOANA CULIC is a PhD candidate in the field of Internet of Things and the co-founder of Wyliodrin, a company that offers educational and industrial IoT solutions. Wyliodrin’s target is to offer educational platforms for IoT. They have developed a large set of written and video educational materials to complement their solutions. Much of this material was coordinated and contributed to by Ioana.ALEXANDRU RADOVICIis the CTO of Wyliodrin and earned a PhD in mobile technologies from University Politehnica of Bucharest, where he now works as an associate professor. He has taught and prepared materials for advanced IT classes. He has contributed to several books and articles on how to build Internet of Things applications.CRISTIAN RUSU isin charge of research and development within Wyliodrin and holds a PhD in signal processing from the University Politehnica of Bucharest. He has held research and teaching positions at the University Politehnica of Bucharest, the IMT Institute for Advanced Studies in Lucca, Italy and the University of Vigo, Spain.INDUSTRIAL INTERNET OF THINGS APPLICATIONS WITH THE RASPBERRY PIChapter 1: Architecture of Industrial IoT SystemsChapter 2: Large-scale deployment and maintainanceChapter 3: Smart digital signage systemChapter 4: Smart soda dispenser systemChapter 5: Smart ads systemChapter 6: Energy consumption monitoringChapter 7: Solar power plant control systemChapter 8: Smart parking
Arduino Software Internals
It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Internals takes a detailed dive into the Arduino environment. We’ll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language.What You’ll Learn:* How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;* How the compilation system works, and how kit can be altered to suit personal requirements;* A small amount of AVR Assembly Language;* Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets – which are often bug ridden and unclear;* Alternatives to the Arduino IDE which might give them a better workflow;* How to build their own Arduino clone from scratch.Who This Book Is For:No expertise is required for this book! All you need is an interest in learning about what you’re making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome! Norman Dunbar is an Oracle Database Administrator. Norman has had a long running relationship with Electronics since childhood and computers since the late 1970s, and the Arduino was a perfect marriage of the two interests. With a love of learning new things, examining and explaining the Arduino Language and the hardware became a bit of a hobby, and as piles of notes expanded, Norman has now decided to publish his work.1. Introduction1.1. Arduino Installation Paths1.2. Coding Style1.3. The Arduino Language1.4. Coming UpPart 1 - Arduino Compilation2. Preferences.txt2.1. Using an ICSP For All Uploads2.2. Change the Action of Home and End Keys2.3. Setting Tab Stops3. Globally Defined Paths4. Boards.Txt4.1. Arduino Uno Example5. Platform.txt5.1. Build Recipes5.2. Pre and Post Build Hooks6. Programmers.txt7. Compiling a Sketch7.1. Arduino Sketch (*.ino) Preprocessing7.2. Arduino Sketch (*.ino) Build8. The Arduino main() Function9. Header File Arduino.h9.1. Header File avr\pgmspace.h9.2. Header File avr\io.h9.3. Header File avr\interrupt.h9.4. Header File binary.h9.5. Header File WCharacter.h9.6. Header File WString.h9.7. Header File HardwareSerial.h9.8. Header File USBAPI.h9.9. Header File pins_arduino.h10. The init() Function10.1. Enabling the Global Interrupt Flag10.2. Enabling Timer 010.3. Timer 0 Overflow Interrupt10.4. Enabling Timer 1 and Timer 210.5. Initialising the Analogue to Digital Converter10.6. Disabling the USARTPart 2 - Arduino Language Reference11. Digital Input/Output11.1. Function pinMode()11.2. Function digitalRead()11.3. Function digitalWrite()12. Analogue Input/Output12.1. Function analogReference()12.2. Function analogRead()12.3. Function analogWrite()13. Advanced Input/Output13.1. Function tone()13.2. Function noTone()13.3. Function pulseIn()13.4. Function pulseInLong()13.5. Function shiftIn()13.6. Function shiftOut()14. Time14.1. Function delay()14.2. Function delayMicroseconds()14.3. Function micros()14.4. Function millis()15. Interrupts15.1. Function interrupts()15.2. Function noInterrupts()15.3. Function attachInterrupt()15.4. Function detachInterrupt()16. Bits and Bobs16.1. Function bit()16.2. Function bitClear()16.3. Function bitRead()16.4. Function bitSet()16.5. Function bitWrite()16.6. Function highByte()16.7. Function lowByte()16.8. Function sbi()16.9. Function cbi()17. Arduino Classes17.1. The Print Class17.2. The Printable Class17.3. The Stream Class17.4. The HardwareSerial Class17.5. The String ClassPart 3 - Converting to the AVR Language18. Introduction19. Numbering Systems.19.1. Decimal Numbering19.2. Binary Numbering19.3. Hexadecimal Numbering20. Binary Logical Operations20.1. NOT20.2. AND20.3. OR20.4. XOR21. Using the Arduino IDE21.1. Replacing pinMode()21.2. Replacing digitalWrite()21.3. Replacing digitalRead()Part 4 - Alternatives to the Arduino IDE22. PlatformIO22.1. Installing PlatformIO Core22.2. Testing PlatformIO Core22.3. PlatformIO in an IDE22.4. PlatformIO Home23. Arduino Command Line23.1. Obtaining the Arduino-CLI23.2. Installing23.3. Installing Platforms23.4. Configuring the CLI23.5. Creating Sketches23.6. Selecting a Board23.7. Compiling Sketches23.8. Uploading Sketches23.9. Getting Help23.10. Serial Usage23.11. FinallyPart 5 - About the ATMega328P24. ATmega328P Fuses24.1. Low Fuse Bits24.2. Low Fuse Factory Default24.3. Arduino Low Fuse Settings24.4. High Fuse Bits24.5. High Fuse Factory Default24.6. Arduino High Fuse Settings24.7. Extended Fuse Bits24.8. Extended Fuse Factory Default24.9. Arduino Extended Fuse Settings25. Brown Out Detection26. The Watchdog Timer26.1. WDT Modes of Operation26.2. Amended Sketch setup() function26.3. WDT Reset26.4. The WDT Control Register26.5. Enabling the WDT26.6. Setting the WDT Timeout Period26.7. Disabling the WDT27. The Analogue Comparator27.1. Reference Voltage27.2. Sampled Voltage27.3. Digital Input27.4. Enable the Analogue Comparator27.5. Select Reference Voltage Source27.6. Select Sampled Voltage Source Pin27.7. Sampled Voltage Summary27.8. Comparator Outputs27.9. Comparator Example28. Timer/Counters28.1. Timer/Counter 0 (8 bits)28.2. Timer/Counter 1 (8, 9, 10 and/or 16 bits)28.3. Timer/Counter 2 (8 bits)28.4. Timer/Counter Clock Sources28.5. Timer/Counter Operating Modes28.6. PWM Modes - Duty Cycle28.7. Too Much to Remember? Try AVRAssist29. Counting29.1. Setting External Counting29.2. Example Sketch30. Timer 1 Input Capture Unit31. Putting the AVR to Sleep31.1. Sleep Modes 23931.2. Analogue Comparator 24632. Power Reduction32.1. Power Consumption32.2. Power Reduction Register32.3. Saving Arduino Power32.4. The Power Functions33. Analogue to Digital Converter (ADC)33.1. ADC Setup and Initiation33.2. Noise Reduction33.3. Temperature Measurement33.4. ADC Example34. USART34.1. Baud Rates34.2. What is a Frame?34.3. Parity34.4. Interrupts34.5. Initialising the USART34.6. USART Checks34.7. USART ExampleAppendices
Developing Inclusive Mobile Apps
By failing to consider those with needs different to ourselves, we are telling these people they are not welcome in our app, and therefore that technology as a whole, is not for them. This is not hyperbole—23% of people in the US with a registered disability aren't online at all, that's three times more likely than the general population. When asked why they're not online, disabled respondents say their disability prevents them or that using the internet is too hard.To help your apps combat the issue of digital exclusion, this book covers considerations and tools mobile developers, or anyone creating mobile experiences, can use to make mobile work better for those with disabilities—mental or physical—and how to create a better experience for everyone.Software is not made up of cold, unthinking algorithms. Software is a craft in the truest sense of the word, and one of the greatest tools you can have as a craftsperson is empathy for the people who will be using your app. Each one of whom is an individual with different abilities, experiences, knowledge, and circumstances.WHAT YOU'LL LEARN* Create mobile experiences that work for as many people as possible* Incorporate a worldview of accessibility and customer service into your design* Work with accessibility tools and techniques commonly available for developersWHO THIS BOOK IS FORMobile developers working solo or as part of a team. UX designers, quality engineers, product owners, and anybody working in mobile.ROB WHITAKER is an iOS software development engineer at Capital One UK with a passion for improving digital experiences for everyone. He actively observes how people use technology, and considers how we can all make those interactions better. Currently he’s working on a project to make the Capital One UK app the first mobile app certified by the RNIB (Royal National Institute for Blind People).Chapter 1: What is Accessibility?• Intro to accessibility - great accessibility is a great experience for everyone• Intro to disability - ie, its not all visual• Why mobile is the best for accessible innovationChapter 2: What is Digital Inclusion?• Brief history of accessible thinking• Inclusive design & the persona spectrum• EmpathyChapter 3: Accessibility Tools on Android• Brief overview of the accessibility features & tools built into Android. What these mean for users, and how to leverage them as developers• Including code snippetsChapter 4: Accessibility Tools for iOS• Brief overview of the accessibility features & tools built into iOS. What these mean for users, and how to leverage them as developers• Including code snippetsChapter 5: Ensuring good accessibility• User research• Testing with accessibility toolsChapter 6: Visual Impairments• Practical tips for improving the experience for people with visual impairments• Including code snippetsChapter 7: Motor issues• Practical tips for improving the experience for people with motor issues• Including code snippetsChapter 8: Deaf & Hard of Hearing• Practical tips for improving the experience for people with auditory impairments• Including code snippetsChapter 9: Anxiety & Mental Health• Practical tips for improving the experience for people with visual mental health issues• Including code snippetsChapter 10: Dyslexia, Autism and Learning Difficulties• Practical tips for improving the experience for people with learning difficulties• Including code snippetsChapter 11: Poor Digital Skills• Good accessibility is not just about disability, but ability too• What skills are essential for digital life, and how do we measure up• Practical tips for improving the experience for people with poor digital skillsChapter 12: Life Circumstances• Good accessibility is not just about disability, but people's circumstances too• How circumstances such as low income, poor education etc can affect your digital interactions• Practical tips for improving the experience for people with with difficult life circumstancesChapter 13: Age, Gender & Sexuality• Theres a huge gap in digital use between 18 year olds, and those aged 60+.• How do we make sure we're not prejudicing based on age or experience, gender or sexuality when creating softwareChapter 14: Internationalization
C++20 Recipes
Discover the newest major features of C++20, including modules, concepts, spaceship operators, and smart pointers. This book is a handy code cookbook reference guide that covers the C++ core language standard as well as some of the code templates available in standard template library (STL).In C++20 Recipes: A Problem-Solution Approach, you'll find numbers, strings, dates, times, classes, exceptions, streams, flows, pointers, and more. Also, you'll see various code samples, templates for C++ algorithms, parallel processing, multithreading, and numerical processes. It also includes 3D graphics programming code. A wealth of STL templates on function objects, adapters, allocators, and extensions are also available.This is a must-have, contemporary reference for your technical library to help with just about any project that involves the C++ programming language.WHAT YOU WILL LEARN* See what's new in C++20Write modules * Work with text, numbers, and classes* Use the containers and algorithms available in the standard library* Work with templates, memory, concurrency, networking, scripting, and more* Code for 3D graphicsWHO THIS BOOK IS FORProgrammers with at least some prior experience with C++.DR. J. BURTON BROWNING earned his doctorate from North Carolina State University. He has conducted research in areas including: distance learning, programming, and instructional technology. As a life-long learner and someone who has interests in topics such as: programming, photography, robotics, car restoration, wood working, hunting, reading, fishing, and archery, he is never at a loss for something to do. The art and joy of serving as a professor suits his inquisitive nature. Dr. Browning’s previous publications include works on cross-functional learning teams (CFLT), The Utopian School (teacher-led school model), computer programming (several languages), open-source software, healthcare statistics and data mining, CNC plasma cutter operation, educational technology, biography, mobile learning, online teaching, and more.BRUCE SUTHERLAND is a video game programmer hailing from Dundee, Scotland. He graduated with a Bsc (Hons) Computer Games Technology from the University of Abertay, Dundee in Scotland, graduating in 2005. After graduating he began his first job in the games industry at 4J Studios where he worked on Star Trek: Encounters (PS2), The Elder Scrolls IV: Oblivion (PS3), Star Trek: Conquest (PS2, Wii), Ducati Moto (NDS) and AMF Pinbusters! (NDS). In July 2008 he moved from Dundee to Melbourne Australia where he joined Visceral Studios and was a software engineer on Dead Space (Xbox 360, PS3, PC), The Godfather II (Xbox 360, PS3, PC) and Dead Space 3 (Xbox 360, PS3, PC). He developed an interest in developing for Android in his spare time and writes tutorials on his blog.1. Beginning C++2. Modern C++3. Working with Text4. Working with Numbers5. Classes6. Inheritance7. The STL Containers8. The STL Algorithms9. Templates10. Memory11. Concurrency12. Networking13. Scripting14. 3D Graphics Programming
Effektiv Python programmieren
90 Wege für bessere Python-Programme Bewährte Verfahren, Tipps und Tricks für robusten, leistungsfähigen und wartungsfreundlichen Code Grundlegende Aufgaben besser und effektiver erledigen Lösungen für das Debuggen, Testen und Optimieren zur Verbesserung von Qualität und Performance Der Einstieg in die Python-Programmierung ist einfach, daher ist die Sprache auch so beliebt. Pythons einzigartige Stärken und Ausdrucksmöglichkeiten sind allerdings nicht immer offensichtlich. Zudem gibt es diverse verborgene Fallstricke, über die man leicht stolpern kann. Dieses Buch vermittelt insbesondere eine Python-typische Herangehensweise an die Programmierung. Brett Slatkin nutzt dabei die Vorzüge von Python zum Schreiben von außerordentlich stabilem und schnellem Code. Er stellt 90 bewährte Verfahren, Tipps und Tricks vor, die er anhand praxisnaher Codebeispiele erläutert. Er setzt dabei den kompakten, an Fallbeispielen orientierten Stil von Scott Meyers populärem Buch »Effektiv C++ programmieren« ein. Auf Basis seiner jahrelangen Erfahrung mit der Python-Infrastruktur bei Google demonstriert Slatkin weniger bekannte Eigenarten und Sprachelemente, die großen Einfluss auf das Verhalten des Codes und die Performance haben. Sie erfahren, wie sich grundlegende Aufgaben am besten erledigen lassen, damit Sie leichter verständlichen, wartungsfreundlicheren und einfach zu verbessernden Code schreiben können. Aus dem Inhalt: Umsetzbare Richtlinien für alle wichtigen Bereiche der Entwicklung in Python 3 mit detaillierten Erklärungen und Beispielen Funktionen so definieren, dass Code leicht wiederverwendet und Fehler vermieden werden können Bessere Verfahren und Idiome für die Verwendung von Abstraktionen und Generatorfunktionen Systemverhalten mithilfe von Klassen und Interfaces präzise definieren Stolpersteine beim Programmieren mit Metaklassen und dynamischen Attributen umgehen Effizientere und klare Ansätze für Nebenläufigkeit und parallele Ausführung Tipps und Tricks zur Nutzung von Pythons Standardmodulen Tools und Best Practices für die Zusammenarbeit mit anderen Entwicklern Lösungen für das Debuggen, Testen und Optimieren zur Verbesserung von Qualität und Performance
Mailchimp
Vom Setup des Accounts über das Anlegen von Adresslisten, Gruppen, Segmenten und Tags sowie das Aufsetzen von Kampagnen bis zu Newsletter-Gestaltung, -Versand und ErfolgskontrolleAlle neuen Funktionen für Facebook-, Google- und Instagram-Werbung, Landingpages und Postkartenversand sowie ausführliche Erklärung des neuen Mailchimp-PreismodellsZahlreiche Schritt-für-Schritt-Anleitungen und wertvolle Praxistipps für erfolgreiches E-Mail-MarketingMailchimp ist mit 60% Marktanteil weltweit führend im Bereich der E-Mail-Marketing- und Newsletter-Software und ist für jeden geeignet - ganz unabhängig vom Einsatzgebiet: Unternehmen, Organisationen, Blogger und private Anwender können Mailchimp kostenlos zum Versand von Newslettern und Transaktionsmails und für die Marketing-Automation nutzen.Mit diesem Praxis-Handbuch erhalten Sie eine leicht verständliche Einführung in Mailchimp. Alle Themen werden Schritt für Schritt und praxisnah erläutert. Fortgeschrittenen Nutzern dient das Buch als praktisches Nachschlagewerk mit umfangreichem Stichwortverzeichnis.Neben einer grundlegenden Einführung in das Thema E-Mail-Marketing und Newsletter-Versand behandelt der Autor detailliert alle Themen, die für die Arbeit mit Mailchimp eine Rolle spielen:Nach dem Setup des Accounts erfahren Sie, wie Sie Listen für Ihre E-Mail-Adressen erstellen und diese effizient verwalten. Ausführlich und Schritt für Schritt wird beschrieben, wie Sie die Anmeldeformulare und die Benutzeroberfläche so überarbeiten, dass sie den Anforderungen an modernes E-Mail-Marketing optimal gerecht werden.Nachdem die Grundsteine gelegt sind, geht es um das Design und den Versand Ihrer Newsletter: Der Autor zeigt, welche Templates zur Verfügung stehen, und Sie lernen alle verfügbaren Inhaltselemente kennen. Sie erfahren, wie Sie einzelne Kampagnen aufsetzen, versenden und mittels Statistiken und A/B-Tests den Erfolg Ihrer Newsletter kontrollieren.Für den fortgeschrittenen Einsatz geht der Autor am Ende des Buches noch auf Facebook- und Instagram-Kampagnen, Webhooks, die API-Programmierung und Mailchimp-Apps ein.Aus dem Inhalt:Preismodell und ComplianceAccount-SetupAdresslisten aufsetzenNewsletter-AnmeldungenMailchimp-Formulare übersetzenImport und Export von ListenGruppen und Segmente anlegenNewsletter-Design und TemplatesE-Commerce-IntegrationNewsletter-Versand: Kampagnen aufsetzen, Inhalte verfassen, A/B-TestsAutomationsFacebook-, Google- und Instagram-KampagnenPostkartenversandAnalyse und AuswertungWebhooksAPI-ProgrammierungMailchimp-AppsAuf der Webseite zum Buch finden Sie hilfreiche Praxistipps und Informationen über neue Funktionen und Erweiterungen zu Mailchimp:www.mailchimp-buch.deMichael Keukert berät beim E-Commerce-Dienstleister AIXhibit AG seit mehreren Jahren Kunden im E-Mail-Marketing mit MailChimp. Auf der Webseite zum Buch unter www.mailchimp-buch.de finden Sie hilfreiche Praxistipps und Informationen über neue Funktionen und Erweiterungen zu MailChimp.
Affinity Publisher 1.8 (2. Auflg.)
Praxiswissen für Einsteiger in 2. AuflageDie Layout- und Desktop-Publishing-Software Affinity Publisher besticht durch einen professionellen Funktionsumfang - und dies ohne Abo- und Cloud-Zwang zu einem günstigen Preis. Trotzdem erhalten Sie ein sehr leistungsfähiges Werkzeug, mit dem Sie hochwertige Publikationen für Druck, Web und andere Medien erstellen können. Der Schwerpunkt des Buches liegt auf der Gestaltung von Druckpublikationen, wie sie bei vielen kleinen und mittleren Unternehmen, Vereinen, Behörden oder auch Privatleuten, die ihre Werke professionell gestalten möchten, anfallen.Winfried Seimert gibt Ihnen zunächst eine Übersicht über das Programm und seine Arbeitsweise, so dass Sie sich schnell zurechtfinden. Neben dem Erstellen von und dem Umgang mit Satzdateien erfahren Sie, was es mit den Master-Seiten auf sich hat. Der Autor zeigt Ihnen außerdem, wie genial StudioLink die beiden Schwesterprogramme Affinity Photo und Affinity Designer in den Workflow einbindet. Schritt für Schritt lernen Sie, mit Typografie und Grundlinienrastern umzugehen, komplexe Layouts für Flyer oder Zeitschriften anzulegen, Grafikelemente einzusetzen und die Farben gezielt zu steuern. Schließlich können Sie Ihre Layout-Entwürfe als PDF ausgeben, diese optimal für den Druck vorbereiten und dabei die notwendigen Einstellungen beachten.Abgerundet wird das Buch durch einen Praxisteil, in dem Sie das Erlernte gleich umsetzen und so Layouts für Visitenkarten, eindrucksvolle Fotobücher, Flyer und Broschüren erhalten.Aus dem Inhalt:Erste Schritte mit dem PublisherArbeit mit SatzdateienTexterfassung: Rahmentext, Grafiktext, Pfadtext und TabellenTexte mit Publisher gestalten und Objekte selbst erstellen und arrangierenBilder und Grafiken platzierenHilfreiche Techniken und Einstellungen z. B. zu Farbprofilen, Werkzeugen und AssetsAnsprechende Gestaltung von Visitenkarten, Fotobüchern, Flyern und BroschürenÜber den Autor:Winfried Seimert ist IT-Dozent, Consultant und Autor zahlreicher Fachbücher insbesondere zu den Themen Software und Betriebssysteme. Dabei hat er immer den Komfort des Anwenders im Blick und erklärt entsprechend praxisnah. So erfreuen sich seine Bücher aufgrund ihrer durchdachten Strukturierung bereits seit Mitte der neunziger Jahre großer Beliebtheit.
CCNP Enterprise Certification Study Guide: Implementing and Operating Cisco Enterprise Network Core Technologies
THE PRACTICAL AND CONCEPTUAL KNOWLEDGE YOU NEED TO ATTAIN CCNP ENTERPRISE CERTIFICATIONFrom one of the most trusted study guide publishers comes CCNP Enterprise Certification Study Guide: Exam 350-401. This guide helps you develop practical knowledge and best practices for critical aspects of enterprise infrastructure so you can gain your CCNP Enterprise certification. If you’re hoping to attain a broader range of skills and a solid understanding of Cisco technology, this guide will also provide fundamental concepts for learning how to implement and operate Cisco enterprise network core technologies.By focusing on real-world skills, each chapter prepares you with the knowledge you need to excel in your current role and beyond. It covers emerging and industry-specific topics, such as SD-WAN, network design, wireless, and automation. This practical guide also includes lessons on:● Automation● Network assurance● Security● Enterprise infrastructure● Dual-stack architecture● VirtualizationIn addition to helping you gain enterprise knowledge, this study guidecan lead you toward your Cisco specialist certification.When you purchase this guide, you get access to the information you need to prepare yourself for advances in technology and new applications, as well as online study tools such as:● Bonus practice exams● Pre-made flashcards● Glossary of key terms● Specific focus areasExpand your skillset and take your career to the next level with CCNP Enterprise Certification Study Guide.ABOUT THE AUTHORBEN PIPER is an IT consultant who has created more than 20 training courses, covering Cisco routing and switching, Amazon Web Services, Puppet configuration management, and Windows Server Administration. He is the co-author of AWS Certified Cloud Practitioner Study Guide: Foundational (CLF-C01) Exam, AWS Certified Solutions Architect Study Guide: Associate (SAA-C01) Exam, AWS Certified SysOps Administrator Practice Tests: Associate (SOA-C01) Exam, and Learn Cisco Network Administration in a Month of Lunches.Introduction xxiAssessment Test xxviiiCHAPTER 1 NETWORKING FUNDAMENTALS 1The OSI Model 2The Upper Layers: Application, Presentation, and Session 4Making Sense of Layers 4The Lower Layers: Physical, Data Link, Network, and Transport 6Layer 1: The Physical Layer 7Layer 2: The Data Link Layer 8A Brief History of Ethernet 8The MAC Address Table 10Maximum Transmission Unit 12Subnet Limits 12Layer 3: The Network Layer 13Forwarding within a Subnet 14Forwarding between Subnets 14Address Resolution Protocol 16Fragmentation 17Routing vs. Forwarding 18Layer 4: The Transport Layer 18Transmission Control Protocol 19Encapsulation and Decapsulation 21Summary 22Exam Essentials 22Review Questions 24CHAPTER 2 SPANNING TREE PROTOCOLS 29The Need for Spanning Tree 31VLANs and Trunking 32Dynamic Trunking 34Unconditional Trunking 35Active and Allowed VLANs 36Rapid Per-VLAN Spanning Tree 38Electing the Root Bridge 38Calculating the Root Ports 41Calculating the Root Ports of Indirectly Connected Switches 44Modifying Port Cost 46Modifying Port Priority 47Calculating Blocked Ports 48Port States 49Port Roles 49Link Types 49Multiple Spanning Tree 50Root Bridges and Port Priority 52Internal Spanning Tree 53Native VLAN 54Topology Change Detection 55Spanning Tree Extensions 55Root Guard 55BPDU Guard and BPDU Filter 57Unidirectional Link Detection 58Loop Guard 58Summary 58Exam Essentials 59Exercises 60Review Questions 62CHAPTER 3 ENTERPRISE NETWORK DESIGN 67Physical Network Architectures 68Comparing Campus and Data Center Networks 69The Three-Tier Architecture 70The Two-Tier Collapsed Core: A Cheaper Alternative 73Layer 2 Design 74Switched and Routed Interfaces 75Switched Topologies 76Routed Access Topology 81EtherChannels 82Load-Balancing Methods 83Static EtherChannels 84Port Aggregation Control Protocol 88Link Aggregation Control Protocol 90First-Hop Redundancy Protocols 91Hot Standby Router Protocol 92Virtual Router Redundancy Protocol 94Gateway Load-Balancing Protocol 95Summary 97Exam Essentials 98Review Questions 100CHAPTER 4 WIRELESS LAN (WLAN) 105Radio Frequency Fundamentals 106Frequency and Amplitude 107Carrier Frequency 109Power Levels 110WLAN 802.11 Standards 115The Physical Layer: Frequencies and Channels 115Layer 2: 802.11 Media Access Control (MAC) 119Access Point Modes 124Autonomous 124Lightweight 124Wireless LAN Controller Selection Process 125Roaming and Location Services 126Roaming 126Location Services 128Summary 128Exam Essentials 129Review Questions 130CHAPTER 5 OPEN SHORTEST PATH FIRST (OSPF) 135Link-State Advertisements 136OSPF Areas 137LSA Types 137Neighbor Operations 141Configuring OSPF 142Configuring Area 0 on a Broadcast Network 142Viewing Neighbor Adjacencies 143Rigging the Designated Router Election 144Viewing and Understanding LSAs 146Authentication 154Passive Interfaces 158Injecting a Default Route 159Inter-Area Summarization 161Route Filtering 162Distribute Lists 162Summary 163Exam Essentials 164Exercises 164Review Questions 166CHAPTER 6 ENHANCED INTERIOR GATEWAY ROUTING PROTOCOL (EIGRP) 171EIGRP Fundamentals 172EIGRP Packet Types 172The Diffusing Update Algorithm (DUAL) 173Weighted Metrics 176Configuring EIGRP 178Equal Cost Multipathing 181Modifying Metrics 182Switching Types 186Unequal Cost Multipathing 187Summary 190Exam Essentials 190Exercises 191Review Questions 192CHAPTER 7 THE BORDER GATEWAY PROTOCOL (BGP) 197BGP Fundamentals 198BGP AS Numbers 199BGP Session States 201Configuring BGP 202Advertising Prefixes 204Path Selection 205Route Redistribution among BGP, OSPF, and EIGRP 210Testing IP Reachability Using Tcl Scripts 214Troubleshooting 215Modifying Weight 218Advertising Summary Routes Using Route Aggregation 220Route Filtering Using Route Maps and Prefix Lists 222Summary 225Exam Essentials 226Exercises 226Review Questions 228CHAPTER 8 NETWORK ADDRESS TRANSLATION AND MULTICAST 233Network Address Translation 234Address Types 234Static NAT 236Dynamic NAT 241NAT Overload with Port Address Translation 247Outside Static NAT 250Removing NAT Configurations 251Multicast 252IP Multicast 253LAN Multicast 253Multicast Routing 257Configuring PIM 258Configuring a Multicast Receiver 262IP Multicast and Ethernet 264Summary 265Exam Essentials 267Exercises 268Review Questions 270CHAPTER 9 QUALITY OF SERVICE 275Understanding Quality of Service 276Classification and Marking 277Differentiated Services 277Layer 2 Marking 280Class Maps and Policy Maps 280Wireless QoS 281Policing 284Single-Rate, Two-Color Policing 284Single-Rate, Three-Color Policing 285Two-Rate Policing 287Queuing 288Class-Based Weighted Fair Queuing 288Low-Latency Queuing 293Explicit Congestion Notification 295Shaping 295Summary 297Exam Essentials 297Exercises 298Review Questions 299CHAPTER 10 NETWORK VIRTUALIZATION 303Virtual Machines, Hypervisors, and Network Virtualization 304Virtual Machines and Server Virtualization 305Network Virtualization 307Generic Routing Encapsulation Tunnels 312Configuring a GRE Tunnel to Tunnel IPv4 and IPv6 over IPv4 312Recursive Routing 318IP Security 319Internet Key Exchange 320Encapsulating Security Payload 320Configuring IPsec in Transport Mode with a GRE Tunnel 321Configuring IPsec in Tunnel Mode 324Location/ID Separation Protocol 326LISP Terminology 328Configuring LISP 328Simulating IP Mobility 332Is LISP a Routing Protocol? 334Virtual Extensible Local Area Network 334MAC Address Learning 335Forwarding 335Configuring VXLAN 336VXLAN Control Planes 336Configuring the Underlay 337Configuring the Overlay 338Configuring R1 and R2 339Virtual Routing and Forwarding 340Configuring a VRF 340Configuring Multi-VRF EIGRP 342Summary 345Exam Essentials 345Exercises 346Review Questions 347CHAPTER 11 SOFTWARE-DEFINED NETWORKING AND NETWORK PROGRAMMABILITY 353What Is Software-Defined Networking? 355Software-Defined Access 356SD-Access Layers 357Physical Layer 357Network Underlay 358Fabric Overlay 359Controller Layer 363Management Layer 364Software-Defined WAN 369vManage Network Management System 370vSmart Controller 370vBond Orchestrator 371vEdge Routers 371Network Programmability and Automation 372The Cisco DNA Center Intent API 372vManage REST API 379NETCONF 383Embedded Event Manager 386Configuration Management Platforms 388Summary 391Exam Essentials 391Exercises 392Review Questions 393CHAPTER 12 NETWORK SECURITY AND MONITORING 397Infrastructure Security 398Device Access 399Authentication, Authorization, and Accounting 402Access Control Lists 407Control Plane Policing 412Cisco Security Products 414AnyConnect Secure Mobility Client 414Umbrella 414Advanced Malware Protection ThreatGrid 414Advanced Malware Protection for Endpoints 415Firepower Next-Generation Firewall 415TrustSec 416MAC Security 418Wireless Security 418WebAuth 418Configuring WPA2 with 802.1X 422Configuring 802.1X on the Client 422Configure Preshared Keys 424Monitoring 425Conditional Debugs 425Simple Network Management Protocol (SNMP) 425Syslog 426Network Time Protocol 428NetFlow and Flexible NetFlow 429Switched Port Analyzer 432IP Service Level Agreement 434Summary 436Exam Essentials 437Exercises 438Review Questions 439Appendix Answers to Review Questions 443Chapter 1: Networking Fundamentals 444Chapter 2: Spanning Tree Protocols 445Chapter 3: Enterprise Network Design 447Chapter 4: Wireless LAN (WLAN) 448Chapter 5: Open Shortest Path First (OSPF) 450Chapter 6: Enhanced Interior Gateway Routing Protocol (EIGRP) 451Chapter 7: The Border Gateway Protocol (BGP) 453Chapter 8: Network Address Translation and Multicast 454Chapter 9: Quality of Service 456Chapter 10: Network Virtualization 457Chapter 11: Software-Defined Networking and Network Programmability 459Chapter 12: Network Security and Monitoring 460Index 463