Computer und IT
Linux Mint - Einstieg und Umstieg
Dieses Buch richtet sich an Linux-Neulinge und Umsteiger von Windows oder macOS, die die beliebte Distribution Linux Mint einsetzen möchten.Leicht verständliche Schrittanleitungen und viele praktische Tipps helfen bei anfänglichen Startproblemen, die ein neues Betriebssystem mit sich bringen kann. Sie erfahren, was bei der Installation, den System- sowie Netzwerkeinstellungen zu beachten ist, und lernen geeignete Programme für Büro, Internet, Bildbearbeitung und Multimedia kennen, sodass Sie Linux Mint schnell produktiv im Alltag einsetzen.
Pro Google Cloud Automation
Discover the methodologies and best practices for getting started with Google cloud automation services including Google Cloud Deployment Manager, Spinnaker, Tekton, and Jenkins to automate deployment of cloud infrastructure and applications.The book begins with an introduction to Google cloud services and takes you through the various platforms available to do automation on the GCP platform. You will do hands-on exercises and see best practices for using Google Cloud Deployment Manager, Spinnaker, Tekton, and Jenkins. You’ll cover the automation aspects of the Google Cloud Platform holistically using native and upcoming open source technologies.The authors cover the entire spectrum of automation from cloud infrastructure to application deployment and tie everything together in a release pipeline using Jenkins. Pro Google Cloud Automation provides in-depth guidance on automation and deployment of microservices-based applications running on the Kubernetes platform. It provides sample code and best practice guidance for developers and architects for their automation projects on the Google Cloud Platform.This book is a good starting point for developers, architects, and administrators who want to learn about Google cloud automation.WHAT YOU WILL LEARN* Gain the fundamentals of Google’s automation-enabling services* See an architecture overview for Google Cloud Deployment Manager, Spinnaker, Tekton, and Jenkins* Implement automation for infrastructure and application use cases* Automate microservices-based applications running on GKE* Enable Google Cloud Deployment Manager, Spinnaker, Tekton, and Jenkins WHO THIS BOOK IS FORDevelopers, architects, and administrators who want to learn about Google cloud automation.Navin Sabharwal is an innovator, thought leader, author, and consultant in the areas of cloud computing, cloud lifecycle management, infrastructure as code, DevSecOps, AI, machine learning, big data analytics, and AIOPS. Navin has created niche award-winning products and solutions and has filed numerous patents in diverse fields such as IT services, assessment engines, ranking algorithms, capacity planning engines, and knowledge management.Piyush is a solution architect for automation, DevOps, and cloud services with overall ten years of IT experience. Piyush is currently working as a deputy general manager at HCL DRYiCE practice focusing on creating solutions catering to cloud adoption (including cloud landing zone, migration, and operations), automation, orchestration, and cloud lifecycle management.Chapter 1- Introduction to Google Cloud Automation Services• Google Cloud introduction• Introduction to Google Cloud Deployment Manager• Introduction to Spinnaker• Introduction to Kubernetes• Introduction to StackdriverChapter 2- Getting Started with Google Cloud Deployment Manager• Architecture overview of Google Cloud Deployment Manager• Hand on use case of Google Cloud Deployment ManagerChapter 3- Getting Started with Spinnaker• Architecture overview of Spinnaker• Getting started with setting up Spinnaker• Setting up integration• Hand on use case of CI/CD pipeline using SpinnakerChapter 4 – Getting Started with Kubernetes• Architecture overview of Kubernetes• Setting up Kubernetes• Hand on use case of GKE automation using KubernetesChapter 5- Getting Started with Stackdriver• Architecture overview of Stackdriver• Hand on use case of GCP monitoring• Runbook Automation use caseChapter 6- DevSecOps Automation• Scenarios of using Google Cloud Automation service• Hands on integrated use case of using all Automation services
Wie KI unser Leben verändert
100 Fragen - 100 AntwortenSiri, Alexa oder Hey Google kennen die meisten von uns. Vom autonomen Fahren oder dass Sie Vögel mit Apps erkennen können – davon haben Sie sicher schon gehört. Aber inzwischen wird Künstliche Intelligenz in noch viel mehr Bereichen eingesetzt. Welche das sind, erfahren Sie in diesem Buch.Künstliche Intelligenz ist älter, als Sie vermuten! KI hat Vorteile, birgt aber auch Risiken – und sie ist nicht mehr wegzudenken. Deshalb sollte jeder von uns wissen, was KI für seinen Alltag, den Beruf und unser aller Zukunft bedeuten kann.Peter Seeberg hat aus unterschiedlichen Lebensbereichen die wichtigsten 100 Fragen zu KI gesammelt und beantwortet. Machen Sie sich schlau.Leseprobe (PDF-Link)
Eine kurze Geschichte vom Quantencomputer (2. Auflg.) - TELEPOLIS
Quantencomputer anschaulich erklärtDie Welt der Quanten ist total verrückt. Teilchen befinden sich gleichzeitig hier und dort. Sie verständigen sich über tausend Kilometer wie durch Telepathie. Forscher haben diese Phänomene inzwischen so gut im Griff, dass sie einen riesigen technologischen Schritt wagen: Den Bau des ersten Quantencomputers – eine ganz neue, überlegene Art von Rechner.Das Buch erklärt verständlich und unterhaltsam die magisch anmutenden Phänomene der Quantenphysik und wie sie für unbegreiflich schnell rechnende Computer genutzt werden können. Es zeigt, wie der Quantencomputer und andere Technologien, die auf der Quantenphysik basieren, den Alltag ähnlich umwälzen könnten wie einst die Dampfmaschine oder die Entdeckung der Elektronik. Werden Quantencomputer die gängigen Verschlüsselungsverfahren aushebeln? Werden sie eine blitzschnelle Entwicklung neuer Arzneien ermöglichen? Wird es einmal ein Quanteninternet geben und wenn ja, was bringt es? Werden es hyperempfindliche Quantensensoren erlauben, die Gedanken eines Menschen zu lesen? Neben Beispielen schon existierender Quantentechnologie (etwa Flash-Speicher oder Verschlüsselungsverfahren) gibt der Wissenschaftsjournalist Christian J. Meier einen Überblick über die wichtigsten Laborentwicklungen und zeigt auf, wohin sie führen könnten. Schließlich erfahren Sie, warum manche Physiker glauben, das Universum sei ein einziger Quantencomputer.Christian J. Meier (geb. 1968), promovierter Physiker und freier Journalist, beschäftigt sich seit mehreren Jahren mit den Themen Quantencomputer und Quantentechnologie und berichtet darüber für verschiedene Medien, unter anderem für die Neue Zürcher Zeitung, bild der wissenschaft, Berliner Zeitung, Frankfurter Rundschau, Spektrum.de und VDI nachrichten. Inhalt (PDF-Link)Leseprobe (PDF-Link)
MCA Microsoft Office Specialist (Office 365 and Office 2019) Study Guide
LEARN THE REALITIES OF BEING A MICROSOFT OFFICE SPECIALIST AND EFFICIENTLY PREPARE FOR THE WORD ASSOCIATE MO-100 EXAM WITH A SINGLE, COMPREHENSIVE STUDY GUIDEMCA Microsoft Office Specialist Study Guide: Word Associate Exam MO-100 comprehensively prepares you for the MO-100 Exam. Accomplished and experienced author Eric Butow provides readers with a one-stop resource for learning the job responsibilities of a Microsoft Office Specialist and succeeding on the MO-100 Exam.The study guide is written in a straightforward and practical style which, when combined with the companion online Sybex resources, allows you to learn efficiently and effectively. The online resources include hundreds of practice questions, flashcards, and a glossary of key terms. In addition to preparing you for the realities of the Microsoft Office Specialist job role, this study guide covers all the subjects necessary to do well on the certifying exam, including:* Managing documents* Inserting and formatting text, paragraphs, and sections* Managing tables and lists* Creating and managing references* Inserting and formatting graphics* Managing document collaborationPerfect for anyone seeking to begin a new career as a Microsoft Office Specialist, or simply wondering what the job entails, the Study Guide also belongs on the bookshelf of currently practicing professionals who want to brush up on the fundamentals of their role.ERIC BUTOW is the author or coauthor of 35 books on multiple aspects of technology. He has also developed and taught networking, computing, and usability courses for Ed2Go, Virtual Training Company, California State University/Sacramento, and Udemy. Eric began using Word, Excel, and PowerPoint professionally in 1992. He has been a technical writer for large and small companies, and presently provides website development, online marketing, and technical writing services through his company, Butow Communications Group. Introduction xviiAssessment Test xxiiCHAPTER 1 WORKING WITH DOCUMENTS 1Navigating Within Documents 2Searching for Text 2Linking to Locations Within Documents 6Moving to Specific Locations and Objects in Documents 7Showing and Hiding Formatting Symbols and Hidden Text 8Formatting Documents 11Setting Up Document Pages 12Applying Style Settings 13Inserting and Modifying Headers and Footers 15Configuring Page Background Elements 16Saving and Sharing Documents 18Saving Documents in Alternative File Formatting 18Changing Basic Document Properties 19Modifying Print Settings 21Sharing Documents Electronically 22Inspecting Documents for Issues 24Locating and Removing Hidden Properties and Personal Information 24Finding and Fixing Accessibility Issues 26Locating and Correcting Compatibility Issues 27Summary 28Key Terms 29Exam Essentials 29Review Questions 31CHAPTER 2 INSERTING AND FORMATTING TEXT 33Adding and Replacing Text 34Finding and Replacing Text 34Inserting Symbols and Special Characters 38Formatting Text and Paragraphs 40Adding Text Effects 40Applying Formatting by Using Format Painter 41Setting Line and Paragraph Spacing and Indentation 41Applying Built-In Styles to Text 44Clearing Formatting 45Creating and Configuring Document Sections 48Formatting Text in Multiple Columns 48Inserting Page, Section, and Column Breaks 50Changing Page Setting Options for a Section 51Summary 54Key Terms 55Exam Essentials 55Review Questions 56CHAPTER 3 MANAGING TABLES AND LISTS 59Creating Tables 60Converting Text to Tables 62Switching Tables to Text 63Creating Tables by Specifying Rows and Columns 64Modifying Tables 66Sorting Table Data 66Configuring Cell Margins and Spacing 68Merging and Splitting Cells 71Resizing Tables, Rows, and Columns 73Splitting Tables 78Configuring a Repeating Row Header 80Creating and Formatting Lists 83Structuring Paragraphs as Numbered and Bulleted Lists 83Changing Bullet Characters and Number Formatting 84Defining Custom Bullet Characters and Number Formatting 86Increasing and Decreasing List Levels 89Restarting and Continuing List Numbering 90Setting Starting Number Values 92Summary 93Key Terms 94Exam Essentials 94Review Questions 95CHAPTER 4 BUILDING REFERENCES 97Creating and Managing Referencing Elements 98Inserting Footnotes and Endnotes 98Modifying Footnote and Endnote Properties 101Creating and Modifying Bibliography Citation Sources 102Inserting Citations for Bibliographies 105Working with Referencing Tables 107Inserting Tables of Contents 107Customizing Tables of Contents 108Adding Bibliographies 110Summary 111Key Terms 111Exam Essentials 112Review Questions 113CHAPTER 5 ADDING AND FORMATTING GRAPHIC ELEMENTS 115Inserting Illustrations and Text Boxes 116Adding Shapes 116Including Pictures 118Inserting 3D Models 119Adding SmartArt Graphics 120Placing Screenshots and Screen Clippings 121Inserting Text Boxes 123Formatting Illustrations and Text Boxes 125Applying Artistic Effects 125Adding Picture Effects and Picture Styles 126Removing Picture Backgrounds 129Formatting Graphic Elements 130Setting Up SmartArt Graphics 132Working with 3D Models 134Adding and Organizing Text 135Formatting Text in Text Boxes 135Adding Text in Shapes 137Changing SmartArt Graphic Content 139Modifying Graphic Elements 140Positioning Objects 140Wrapping Text Around Objects 141Adding Alt Text to Objects 144Summary 146Key Terms 146Exam Essentials 146Review Questions 147CHAPTER 6 WORKING WITH OTHER USERS ON YOUR DOCUMENT 149Adding Comments 150Inserting Comments 150Reviewing and Replying to Comments 151Resolving Comments 152Deleting Comments 153Tracking Your Changes 155Turning On Track Changes 155Reviewing Tracked Changes 156Accepting and Rejecting Tracked Changes 157Locking and Unlocking Change Tracking 160Summary 163Key Terms 163Exam Essentials 163Review Questions 164APPENDIX ANSWERS TO REVIEW QUESTIONS 167Chapter 1: Working with Documents 168Chapter 2: Inserting and Formatting Text 168Chapter 3: Managing Tables and Lists 169Chapter 4: Building References 170Chapter 5: Adding and Formatting Graphic Elements 170Chapter 6: Working with Other Users on Your Document 171Index 173
WordPress For Dummies
GET TO KNOW WORDPRESS WITH THIS SIMPLE AND APPROACHABLE REFERENCEWordPress For Dummies, 9th Edition helps readers discover the power of the WordPress web content building tool. Web builders have created 75 million websites using WordPress and this book will show you how to add your blogs and websites to that count.WordPress For Dummies, 9th Edition drops you right into the fast lane to publishing your first website or blog by teaching you to:· Customize a theme· Create your first post· Use WordPress as a content management system· Work with multimedia formats· Add plugins to your site· Establish a publishing routinePerfect for new bloggers, experienced bloggers converting to WordPress for the first time, and people accustomed to WordPress who want to learn more about the full potential of the technology, WordPress for Dummies, 9thEdition is an indispensable addition to the library of every blogger and webmaster.LISA SABIN-WILSON is cofounder of WebDevStudios, one of the largest WordPress design and development agencies in the world. She is a regular public speaker at national events on topics such as WordPress, development, design, CSS, and social media. Foreword xiiiINTRODUCTION 1About This Book 2Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 4PART 1: INTRODUCING WORDPRESS 5CHAPTER 1: WHAT WORDPRESS CAN DO FOR YOU 7Discovering the Benefits of WordPress 8Getting set up the fast and easy way 9Extending WordPress’s capabilities 9Taking part in the community 11Choosing a WordPress Platform 12Choosing the hosted version from WordPress.com 13Self-hosting with WordPress.org 14CHAPTER 2: WORDPRESS BASICS 17Shining the Spotlight on WordPress 17Dipping Into WordPress Technologies 19Archiving your publishing history 19Interacting with your readers through comments 21Feeding your readers 22Tracking back 23Dealing with comment and trackback spam 24Using WordPress as a Content Management System 25Exploring the differences between a website and a blog 25Viewing examples of blogs and websites 26Moving On to the Business of Publishing 27PART 2: SETTING UP WORDPRESS 29CHAPTER 3: SETTING UP YOUR WORDPRESS BASE CAMP 31Establishing Your Domain 32Understanding domain name extensions 32Considering the cost of a domain name 33Registering your domain name 33Finding a Home for Your Website 34Getting help with hosting WordPress 35Dealing with disk space and bandwidth 36Understanding Secure File Transfer Concepts 38Setting up SFTP on your hosting account 39Connecting to the web server via SFTP 42Transferring files from point A to point B 46Editing files via SFTP 47Changing file permissions 48Installing WordPress 50Exploring Preinstalled WordPress 51Installing WordPress manually 53Setting up the MySQL database 53Uploading the WordPress files 55Last step: Running the installation script 57CHAPTER 4: UNDERSTANDING THE WORDPRESS.ORG DASHBOARD 65Logging In to the Dashboard 66Navigating the Dashboard 67Welcome to WordPress! 69Site Health 70At a Glance 71Activity 72Quick Draft 73WordPress Events and News 73Arranging the Dashboard to Your Tastes 74Finding Inline Documentation and Help 76Setting Options in the Dashboard 78Configuring the Settings 79General 79Writing 83Reading 85Discussion 86Media 93Permalinks 94Privacy 95Creating Your Personal Profile 97Setting Your Site’s Format 100Posts 100Media 101Pages 101Comments 102Appearance 102Plugins 104Users 104Tools 105CHAPTER 5: ESTABLISHING YOUR PUBLISHING ROUTINE 107Staying on Topic with Categories 107Changing the name of a category 108Creating new categories and deleting others 111Examining a Post’s Address: Permalinks 113Making your post links pretty 114Customizing your permalinks 115Making sure that your permalinks work with your server 117Discovering the Many WordPress RSS Options 119Writing Your First Entry 120Using the Block Editor 122Discovering available blocks 123Inserting new blocks 131Configuring block settings 134Refining Your Post Options 149Publishing Your Post 153Being Your Own Editor 154Look Who’s Talking on Your Site 155Managing comments and trackbacks 155Moderating comments and trackbacks 157Tackling spam with Akismet 158PART 3: FLEXING AND EXTENDING WORDPRESS 159CHAPTER 6: MEDIA MANAGEMENT: IMAGES, AUDIO, AND VIDEO 161Inserting Images into Your Content 162Uploading an image from your computer 163Inserting an image from the Media Library 165Using the Columns Block to Insert Multiple Images in a Row 166Inserting a Cover Image into a Post 169Inserting a Photo Gallery 174Inserting Video Files into Your Posts 179Adding a link to a video from the web 180Adding video from your computer 181Adding video using the Embed block 185Inserting Audio Files into Your Blog Posts 189Inserting Audio Using the Embed Block 191Podcasting with WordPress 192CHAPTER 7: MAKING THE MOST OF WORDPRESS PLUGINS 195Finding Out What Plugins Are 196Extending WordPress with plugins 197Distinguishing between plugins and themes 197Exploring the Plugins Page 199Identifying Core Plugins 202Incorporating Akismet 202Saying Hello Dolly 206Discovering the one-click plugin update 207Using Plugins: Just the Basics 210Installing Plugins Manually 211Finding and downloading the files 212Reading the instructions 214Uploading and Activating Plugins 215Uploading a new plugin 215Activating a plugin 216Setting Plugin Options 217Uninstalling Plugins 218Understanding the Open-Source Environment 219Finding Plugins Beyond WordPress.org 220Comparing Free and Commercial Plugins 222CHAPTER 8: FINDING AND INSTALLING WORDPRESS THEMES 225Getting Started with Free Themes 226Finding free themes 227Avoiding unsafe themes 227Previewing themes on the Themes page 230Installing a Theme 231Browsing the free themes 233Previewing and activating a theme 235Exploring Premium Theme Options 237Examining the Default Theme: Twenty Twenty 241Exploring the layout and structure 242Customizing the site identity 244Customizing colors 247Including custom navigation menus 248Enhancing Your Theme with Widgets 249Adding widgets to your website 250Using the Text widget 252Using the RSS widget 253PART 4: CUSTOMIZING WORDPRESS 257CHAPTER 9: UNDERSTANDING THEMES AND TEMPLATES 259Using WordPress Themes: The Basics 260Understanding theme structure 261Connecting templates 263Contemplating the Structure of a WordPress Website 263Examining the Anatomy of a Template Tag 265Getting Familiar with the Four Main Templates 266The Header template 266The Main Index template 271The Sidebar template 275The Footer template 276Other templates 276Putting a Theme Together 277Connecting the templates 277Using additional stylesheets 287Customizing Your Posts with Template Tags 287Using Tags with Parameters for Sidebars 287The calendar 289List pages 289Post archives 292Categories 293Getting widgetized 295CHAPTER 10: TWEAKING WORDPRESS THEMES 297Styling with CSS: The Basics 298CSS selectors 299Classes and IDs 299CSS properties and values 301Changing the Background Graphics with CSS 301Uploading an image for background use 304Positioning, repeating, and attaching images 304Using Your Own Header Image 306Customizing Colors in Twenty Twenty 308Creating Custom Navigation Menus 309Building custom navigation menus 309Displaying custom menus with widgets 314Changing Font Family, Color, and Size 315Changing font color 316Changing font size 317Adding borders 318Understanding Basic HTML Techniques 318Inserting images 320Inserting hyperlinks 320Inserting lists 321CHAPTER 11: UNDERSTANDING PARENT AND CHILD THEMES 325Customizing Theme Style with Child Themes 326Loading a parent theme’s style 328Customizing the parent theme’s styling 330Using images in child theme designs 330Modifying Theme Structure with Child Themes 334Overriding parent template files 335Adding new template files 336Removing template files 337Modifying the functions.php file 337Preparing a Parent Theme 339CHAPTER 12: WORDPRESS AS A CONTENT MANAGEMENT SYSTEM 341Creating Different Page Views Using WordPress Templates 342Uploading the template 343Assigning the template to a static page 345Creating a Template for Each Post Category 346Using Sidebar Templates 349Creating Custom Styles for Sticky, Category, and Tag Posts 350Working with Custom Post Types 353Adding Support for Taxonomies 360Adding Support for Post Thumbnails 361Adding the post thumbnails to a theme 362Adding custom image sizes for post thumbnails 364Optimizing Your WordPress Site 365Planting keywords on your website 366Optimizing your post titles for search engine success 366Writing content with readers in mind 367Creating categories that attract search engines 367Using the tag for images 368CHAPTER 13: HOSTING MULTIPLE SITES WITH WORDPRESS 371Deciding When to Use the Multisite Feature 372Understanding the Difference between Sites and Blogs 374Considering Web-Hosting Services 374Enabling the WordPress Network Feature 376DNS 377Apache mod_rewrite 378Virtual host 379PHP 381Installing the Network on Your Site 381Exploring the Network Admin Dashboard Menu 383Managing Your Network 386Settings 386Sites 392Users 395Themes 399Plugins 400Stopping Spam Signups and Splogs 401CHAPTER 14: UPGRADING, BACKING UP, AND MIGRATING 403Getting Notified of an Available Upgrade 404Backing Up Your Database 406Upgrading WordPress Automatically 407Upgrading WordPress Manually 408Migrating Your Existing Site to WordPress 411Movin’ on up 411Preparing for the big move 412Converting templates 413Moving your website to WordPress 414Importing from Blogger 415Importing from LiveJournal 417Importing from Movable Type and TypePad 418Importing from Tumblr 420Importing from WordPress 422Importing from an RSS feed 422Finding other import resources 423Moving Your Website to a Different Host 424Creating a backup and moving manually 425Using a plugin to back up and move to a new host 426PART 5: THE PART OF TENS 427CHAPTER 15: TEN POPULAR WORDPRESS PLUGINS 429Custom Post Type UI 429Jetpack 430Limit Login Attempts Reloaded 431Cookie Notice for GDPR & CCPA 432Yoast SEO 433BackupBuddy 433WP Super Cache 434WooCommerce 434Google XML Sitemaps 435Sucuri Security 436CHAPTER 16: TEN FREE WORDPRESS THEMES 437Hybrid Core 438Hestia 438Responsive 439Ashe 440Prefer Blog 440BlackBird 441Storefront 442Sinatra 443Nisarg 444Optics 444Index 447
Custom Fiori Applications in SAP HANA
Get started building custom Fiori applications for your enterprise. This book teaches you how to design, build, and deploy enterprise-ready, custom Fiori applications in SAP HANA. Tips and tricks collected from projects using Fiori applications (built consuming OData models and REST APIs) and integrating third-party JS libraries are presented. Also included are examples using Fiori templates from different tools such as the SAP Web IDE and the new Visual Studio Code extensions.This book explains the 5 design principles that all Fiori applications are built upon: Role-based, Responsive, Coherent, Simple, and Delightful. The book expands on consuming OData services and REST APIs internal and external to SAP HANA. The Fiori application exercise demonstrates the use of the MVC pattern, JavaScript modularization, reuse of SAP UI5 controls, debugging, and the tools required for a complete scenario. The book closes with an exercise showcasing a finished single page application with multiple views and layouts, navigation between the views, and deployment of the application to AWS.This book is simple enough for entry-level developers getting started in web frameworks but also highlights integration points from the data models being consumed from the application, and shows how the application communicates with back-end services, resulting in a complete front-end custom Fiori application.WHAT YOU WILL LEARN* Know the 5 Fiori design principles* Understand how to consume OData and REST API models* Apply the MVC pattern using XML views and the SAP UI5 controls along with controller behavior in JavaScript* Debug and deploy the applicationWHO THIS BOOK IS FORWeb developers and application leads who have some experience in JavaScript frameworks and web development and understand web protocol communicationSERGIO GUERRERO is a passionate software engineer with 10+ years of experience in web and database development in various technology stacks such as .NET and SAP HANA. He is the author of Microservices on SAP HANA XSA (Apress). On non-working days, Sergio cheers for the Green Bay Packers and Tigres UANL (MX soccer), Chapter 1: Fiori Applications in SAP HANACHAPTER GOAL: The goal is to explain what Fiori is and how it is developed in SAP HANA. There are five design principles for Fiori applications.NO OF PAGES 30SUB -TOPICS1. What is Fiori?2. Five design principles of Fiori3. Getting your system ready for Fiori applications4. Understanding layouts and floor plansChapter 2: Consuming Data in Fiori ApplicationsCHAPTER GOAL: This chapter explains how to mock data, how to consume data, how to understand and prepare data for the Fiori application.NO OF PAGES:SUB - TOPICS1. Understanding data and mocking it when not available2. OData and JSON Models3. Consuming REST APIs4. Data driven design approachesChapter 3: Fiori Application following the MVCCHAPTER GOAL: the goal for this chapter is to understand the moving pieces to create a Fiori applicationNO OF PAGES : 30SUB - TOPICS:1. MVC2. Tools for developing and debugging Fiori applications3. Integrating external JS libraries into (SAPUI5) Fiori4. Browser differences, limitations, and features5. Fiori application on various devicesChapter 4: Unit Testing of Fiori ApplicationsCHAPTER GOAL: The goal of this chapter is to start with unit testing, comparing different unit test frameworks and finish with an automated testing scenarioNO OF PAGES: 30SUB - TOPICS:1. Unit testing frameworks2. Fiori app unit testing3. Improvements resulting from unit testingChapter 5: Deploying Fiori ApplicationCHAPTER GOAL: The goal of the chapter is to help the reader to complete the software development cycle and be able to deploy the Fiori application to a production environment.1. Preparing the deployment, software versioning2. Deploying to different platforms such as SAP Cloud and AWS3. Automating deployment
Introduction to Programming with C++ for Engineers
A complete reference for engineers to learn the fundamentals of C and C++ programming Introduction to Programming with C++ for Engineers is an original presentation teaching the fundamentals of both C and C++ to engineers and engineering students. With a focus on providing a quick but manageable learning curve for programming novices, this book provides comprehensive lessons in object-oriented programming in C and C++. Professor Cyganek, a highly regarded expert in his field, walks users through the basics of C and C++ programming simultaneously, showing with real world examples how to complete tasks in both languages. He also guides users through the installation process of the C and C++ programming environments in both Linux and Windows. Introduction to Programming with C++ for Engineers teaches novices how to program by: * Granting access to a complementary website that contains example code and useful links to resources that further improve the reader's coding ability * Minimizing text descriptions, opting instead for figures, tables, diagrams, and other explanatory material * Covering C++20 * Including test and exam questions for the reader's review at the end of each chapter Engineering students, students of other sciences who rely on computer programming, and professionals in various fields will find this book invaluable when first learning to program in C and C++. A complete textbook and reference for engineers to learn the fundamentals of computer programming with modern C++ Introduction to Programming with C++ for Engineers is an original presentation teaching the fundamentals of computer programming and modern C++ to engineers and engineering students. Professor Cyganek, a highly regarded expert in his field, walks users through basics of data structures and algorithms with the help of a core subset of C++ and the Standard Library, progressing to the object-oriented domain and advanced C++ features, computer arithmetic, memory management and essentials of parallel programming, showing with real world examples how to complete tasks. He also guides users through the software development process, good programming practices, not shunning from explaining low-level features and the programming tools. Being a textbook, with the summarizing tables and diagrams the book becomes a highly useful reference for C++ programmers at all levels. Introduction to Programming with C++ for Engineers teaches how to program by: * Guiding users from simple techniques with modern C++ and the Standard Library, to more advanced object-oriented design methods and language features * Providing meaningful examples that facilitate understanding of the programming techniques and the C++ language constructions * Fostering good programming practices which create better professional programmers * Minimizing text descriptions, opting instead for comprehensive figures, tables, diagrams, and other explanatory material * Granting access to a complementary website that contains example code and useful links to resources that further improve the reader’s coding ability * Including test and exam question for the reader’s review at the end of each chapter Engineering students, students of other sciences who rely on computer programming, and professionals in various fields will find this book invaluable when learning to program with C++. Prof. Boguslaw Cyganek, Department of Electronics, AGH, University of Science and Technology, Krakow, Poland. Boguslaw Cyganek obtained his Ph.D. degree cum laude in 2001 with a thesis on correlation of stereo images, and D.Sc. degree in 2011 with a thesis on methods and algorithms of object recognition in digital images. During recent years, Dr. Cyganek has been cooperating with many scientific centers in development of computer vision systems. He has also gained several years of practical experience working as a Software Development Manager and a Senior Software Engineer both in the USA and Poland. He is an author or a co-author of over ninety conference and journal papers and four books including "An Introduction to 3D Computer Vision Techniques and Algorithms", as well as "Object Detection and Recognition in Digital Images: Theory and Practice", published by Wiley. Dr. Cyganek is a member of the IEEE, SPIE, IAPR and SIAM. Preface xi Acknowledgments xiii Abbreviations xv About the Companion Website xvii 1 Introduction 1 1.1 Structure of the Book 5 1.2 Format Conventions 8 1.3 About the Code and Projects 9 2 Introduction to Programming 13 2.1 Hardware Model 13 2.2 Software Development Ecosystem 16 2.3 Software Development Steps 18 2.4 Representing and Running Algorithms 20 2.4.1 Representing Algorithms 21 2.4.2 Using Online Compilers 22 2.4.3 Structure of a C++ Program 24 2.4.4 Code Analysis 24 2.4.5 Building a Linux Executable 26 2.5 Example Project – Compound Interest Calculator 29 2.5.1 Compound Interest Analysis 29 2.5.2 Implementation of the Interest Calculator 30 2.5.3 Building and Running the Software 33 2.6 Example Project – Counting Occurrences of Characters in Text 34 2.6.1 Problem Analysis and Implementation 34 2.6.2 Running the C++ Code with the Online Compiler 35 2.6.3 Histogram Code, Explained 36 2.7 Summary 39 Questions and Exercises 39 3 C++ Basics 43 3.1 Constants and Variables – Built-In Data Types, Their Range, and Initialization 43 3.2 Example Project – Collecting Student Grades 53 3.3 Our Friend the Debugger 56 3.4 The Basic Data Structure – std::vector 59 3.5 Example Project – Implementing a Matrix as a Vector of Vectors 64 3.6 Special Vector to Store Text – std::string 67 3.7 Using the auto Keyword and decltype for Automatic Type Deduction 72 3.8 Common Standard Algorithms 75 3.9 Structures: Collecting Objects of Various Types 79 3.10 Fixed-Size Arrays 83 3.10.1 Multidimensional Fixed-Size Arrays 85 3.11 References 87 3.12 Pointers 90 3.12.1 Object Access with Pointers 90 3.13 Statements 95 3.13.1 Blocks of Statements and Access to Variables – The Role of Braces 95 3.13.2 C++ Statements 97 3.13.2.1 Conditional Statements 97 3.13.2.2 Loop Statements 103 3.13.2.3 Auxiliary Statements – continue and break 108 3.13.2.4 The goto Statement 110 3.13.2.5 Structural Exception Handling – The try-catch Statement 110 3.14 Functions 112 3.14.1 Anatomy of a Function in C++ 112 3.14.2 Passing Arguments to and from a Function 117 3.14.2.1 Argument Passing by Copy (Value Semantics) 118 3.14.2.2 Indirect Argument Passing by Reference 119 3.14.2.3 Passing by Pointer 121 3.14.3 Function Call Mechanism and Inline Functions 123 3.14.4 Recursive Functions and the Call Stack 125 3.14.5 Function Overloading – Resolving Visibility with Namespaces 126 3.14.6 Lambda Functions 128 3.14.7 More on Lambda Functions 132 3.14.8 Function Pointers 138 3.14.9 Functions in an Object-Oriented Framework 140 3.15 Example Project – Wrapping Objects in a Structure with a Constructor 142 3.15.1 EMatrix in an Object-Oriented Environment 145 3.15.2 Basic Operations with EMatrix 145 3.15.3 Input and Output Operations on EMatrix 147 3.15.4 Basic Mathematical Operations on EMatrix 148 3.15.5 Organizing the Project Files and Running the Application 150 3.15.6 Extending Matrix Initialization with a Simple Random Number Generator 153 3.16 Example Project – Representing Quadratic Equations 154 3.16.1 Definition of a Class to Represent Quadratic Polynomials 155 3.16.2 TQuadEq Member Implementation 162 3.16.3 TQuadEq in Action 165 3.17 Example Project – Tuples and Structured Bindings for Converting Roman Numerals 167 3.17.1 More on std::tuple and the Structured Binding 170 3.17.2 How to Write a Software Unit Test 173 3.17.3 Automating Unit Tests – Using the Standard Random Number Library 174 3.18 Example Project – Building a Currency Calculator Component 176 3.18.1 Currency Exchange Problem Analysis 177 3.18.2 CurrencyCalc Software Design 179 3.18.3 TCurrency Class Representing Currency Records 181 3.18.3.1 C++ Input/Output Manipulators 183 3.18.4 TCurrencyExchanger Class for Exchanging Currency 186 3.18.5 Putting It All Together – The Complete Currency Exchange Program 190 3.19 Operators 196 3.19.1 Summary of the C++ Operators 199 3.19.2 Further Notes on Operators 222 3.20 Summary 223 Questions and Exercises 224 4 Delving into Object-Oriented Programming 227 4.1 Basic Rules and Philosophy of Object-Oriented Design and Programming 227 4.2 Anatomy of a Class 231 4.2.1 Naming Conventions and Self-Documenting Code 233 4.3 Rules for Accessing Class Members 233 4.4 Example Project – TComplex Class for Operator Overloading 235 4.4.1 Definition of the TComplex Class 236 4.4.2 Definition of the TComplex Class Members 241 4.4.3 Test Functions for the TComplex Class 243 4.5 More on References 246 4.5.1 Right and Forward References 246 4.5.2 References vs. Pointers 251 4.5.3 Pitfalls with References 252 4.6 Example Project – Mastering Class Members with the TheCube Class 253 4.6.1 Automatic vs. Explicit Definition of the Constructors 254 4.6.2 TheCube Object Layout and Semantics 264 4.6.3 Shallow vs. Deep Copy Semantics 265 4.6.4 Move Constructor and Move Assignment Semantics 266 4.6.5 Implementation of the TheCube Streaming Operators 267 4.6.6 Validation of TheCube 269 4.7 Example Project – Moving EMatrix to the Class 272 4.7.1 Definition of the EMatrix Class 272 4.7.2 Implementation of the Class Streaming Operators 274 4.7.3 Implementation of the Arithmetic Operators 278 4.7.4 Testing Matrix Operations 279 4.8 Introduction to Templates and Generic Programming 281 4.8.1 Generalizing a Class with Templates 282 4.8.2 Template Specializations 286 4.8.3 Template Functions and Type Checking 287 4.8.4 Example Project – Designing Template Classes with TStack 289 4.8.4.1 Design and Implementation of the TStackFor Class 290 4.8.4.2 Testing TStack 293 4.8.5 Template Member Functions 294 4.9 Class Relations – “Know,” “Has-A,” and “Is-A” 297 4.10 Example Project – Extending Functionality Through Class Inheritance with TComplexQuadEq 304 4.11 Virtual Functions and Polymorphism 310 4.12 More on the Virtual Mechanism 316 4.13 The Curiously Recurring Template Pattern and Static Polymorphism 318 4.14 Mixin Classes 322 4.15 Example Project – The TLongNumberFor Class for Efficient Storage of Numbers of Any Length 323 4.15.1 Binary-Coded Decimal Representation 325 4.15.2 Endianness 326 4.15.3 Definition of the TLongNumberFor Class 326 4.15.3.1 Type-Converting Operations 329 4.15.3.2 TLongNumberFor Test Function 333 4.15.4 Designing Classes for PESEL IDs 335 4.15.4.1 Aggregating PESEL 336 4.15.4.2 Inherited PESEL 337 4.15.4.3 LongNumber Project Organization 338 4.15.5 Extending the Functionality of TLongNumberFor with the Proxy Pattern 340 4.15.5.1 Definition of the Proxy Class 341 4.15.5.2 Testing the Functionality of the TLongNumberFor Class with the Proxy Pattern 343 4.16 Strong Types 345 4.17 Summary 346 Questions and Exercises 346 5 Memory Management 349 5.1 Types of Data Storage 349 5.2 Dynamic Memory Allocation – How to Avoid Memory Leaks 349 5.2.1 Introduction to Smart Pointers and Resource Management 358 5.2.1.1 RAII and Stack Unwinding 359 5.3 Smart Pointers – An Overview with Examples 360 5.3.1 More on std::unique_ptr 360 5.3.1.1 Context for Using std::unique_ptr 360 5.3.1.2 Factory Method Design Pattern 374 5.3.1.3 Custom deletes for unique_ptr 376 5.3.1.4 Constructions to Avoid When Using unique_ptr 378 5.3.2 More on shared_ptr and weak_ptr 378 5.4 Summary 381 Questions and Exercises 381 6 Advanced Object-Oriented Programming 383 6.1 Functional Objects 383 6.2 Example Project – Extending the Currency Search in XML Files, and Using State Machine and Regular Expressions with the regex Library 389 6.2.1 Pattern Matching with the Regular Expression Library 390 6.2.2 State Machine Pattern 392 6.2.3 Implementing the Extended Class 393 6.2.4 Project Extension – Loading Currency Information from the Internet 399 6.2.5 Launching the Extended Version of CurrencyCalc 405 6.2.6 Building a Static Library and a Terminal Window Application 409 6.2.7 C++ Filesystem 410 6.2.8 User Interface 419 6.2.8.1 Definition of the CC_GUI Class 420 6.2.8.2 Definitions of Members of the CC_GUI Class and the Callback Mechanism 423 6.2.8.3 Launching the GUI-Based Application 430 6.3 System Clocks and Time Measurements 431 6.4 Time Measurement for Function Execution 435 6.5 Range Class 437 6.5.1 Functional Programming and the Ranges Library 442 6.6 Example Project – Parsing Expressions 443 6.6.1 Defining Language Expressions with Formal Grammar Rules 444 6.6.2 Design of the Expression-Processing Framework 446 6.6.3 The First Expression Interpreter 447 6.6.4 Building the Syntax Tree with the Composite Design Pattern 451 6.6.4.1 The Composite Design Pattern to Define the Nodes of a Tree 452 6.6.4.2 Implementation of the TNode Hierarchy and Cooperation with Visitors 453 6.6.4.3 Implementation of the ValueLeafNode Class 455 6.6.4.4 Implementation of the BinOperator Class 457 6.6.4.5 Implementation of the PlusOperator Class 458 6.6.4.6 Deep Copying Node Objects – The Prototyping Mechanism 459 6.6.5 Interpreter to Build a Syntax Tree 460 6.6.6 Stack for Smart Pointers 466 6.6.7 Traversing Trees with the Visitor Design Pattern 469 6.6.7.1 The Expression-Evaluating Visitor 472 6.6.7.2 The Expression-Printing Visitor 474 6.6.8 Testing the Interpreters 476 6.6.9 Representing Expressions on a Stack in Reverse Polish Notation 479 6.6.9.1 Reverse Polish Notation 479 6.6.9.2 Algorithm for Evaluating an RPN Expression 480 6.7 Summary 485 Questions and Exercises 485 7 Computer Arithmetic 489 7.1 Integer Value Representation 489 7.1.1 Base Conversion Algorithm 491 7.1.2 Hexadecimal and Octal Representations 492 7.1.3 Binary Addition 493 7.1.4 Negative Values and Subtraction 494 7.1.5 Arithmetic Control Flags 496 7.1.6 Representing Fractions 498 7.2 Binary Shift Operations 501 7.3 Example Project – Software Model for Fixed-Point Representations 503 7.3.1 Fixed-Point Numbers and Their Arithmetic 503 7.3.2 Definition of the FxFor Class 504 7.3.3 Selected Methods of the FxFor Class 510 7.3.4 Applications of FxFor 516 7.4 Floating-Point Representations 519 7.4.1 Number Representation in Floating-Point Format 520 7.4.2 Distribution of Floating-Point Numbers and the Computational Consequences 524 7.4.3 Real-Value Approximation Error with Floating-Point Representations 527 7.4.4 The IEEE 754 Standard for Floating-Point Arithmetic 530 7.4.5 The Standard FP Operation Model 537 7.4.6 Computations That Are Conscious of Numerical Errors 537 7.4.7 Example Project – Evaluating the Summation Algorithms 539 7.4.8 Example Project – The Newton Method of Finding the Roots of a Function 544 7.4.8.1 Function to Compute Square Roots Based on Newton’s Iteration 548 7.5 Summary 550 Questions and Exercises 551 8 Basics of Parallel Programming 553 8.1 Basic Concepts of Parallel Computations 553 8.2 Adding Parallelism to the Standard Algorithms 556 8.3 Launching Asynchronous Tasks 559 8.4 Parallelization with the OpenMP Library 561 8.4.1 Launching a Team of Threads and Providing Exclusive Access Protection 562 8.4.2 Loop Parallelization and Reduction Operations 564 8.4.3 Massive Data Parallelization 567 8.5 Summary 575 Questions and Exercises 575 Appendix 577 A.1 Preprocessor Directives 577 A.2 Short Introduction to C 582 A.2.1 Built‐in Arrays 583 A.2.1.1 Multidimensional Fixed-Size Arrays 585 A.2.2 Passing Arrays to Functions – The Main Function 586 A.2.3 C Structures 590 A.2.4 C Functions and Input/Output 591 A.2.5 Unions 592 A.2.6 Memory and String Operations 593 A.2.7 Binding C and C++ Code 599 A.3 Linking and Binary Organization of C/C++ Objects 599 A.4 Graphical User and Web Interfaces for C++ Projects 601 A.5 Converting Bin, Oct, Dec, and Hex Values with FixBinCalc 603 A.6 Programming Toolchain 604 A.6.1 Project-Generating Tool (CMake) 604 A.6.2 Source Version Control and Repositories 609 A.6.3 Profiler 610 A.7 Software Testing 612 A.8 Summary 616 Questions and Exercises 616 Bibliography 619 Index 623
AWS Certified Data Analytics Study Guide
MOVE YOUR CAREER FORWARD WITH AWS CERTIFICATION! PREPARE FOR THE AWS CERTIFIED DATA ANALYTICS SPECIALTY EXAM WITH THIS THOROUGH STUDY GUIDEThis comprehensive study guide will help assess your technical skills and prepare for the updated AWS Certified Data Analytics exam. Earning this AWS certification will confirm your expertise in designing and implementing AWS services to derive value from data. The AWS Certified Data Analytics Study Guide: Specialty (DAS-C01) Exam is designed for business analysts and IT professionals who perform complex Big Data analyses.This AWS Specialty Exam guide gets you ready for certification testing with expert content, real-world knowledge, key exam concepts, and topic reviews. Gain confidence by studying the subject areas and working through the practice questions. Big data concepts covered in the guide include:* Collection* Storage* Processing* Analysis* Visualization* Data securityAWS certifications allow professionals to demonstrate skills related to leading Amazon Web Services technology. The AWS Certified Data Analytics Specialty (DAS-C01) Exam specifically evaluates your ability to design and maintain Big Data, leverage tools to automate data analysis, and implement AWS Big Data services according to architectural best practices. An exam study guide can help you feel more prepared about taking an AWS certification test and advancing your professional career. In addition to the guide’s content, you’ll have access to an online learning environment and test bank that offers practice exams, a glossary, and electronic flashcards.ASIF ABBASI has over 20 years of experience working in various Data & Analytics engineering, consulting and advisory roles with some of the largest customers across the globe to help them in their quest to become more data driven. Asif is the author of Learning Apache Spark 2.0 and is an AWS Certified Data Analytics & Machine Learning Specialist, AWS Certified Solutions Architect (Professional), Hortonworks Certified Hadoop Professional and Administrator, Certified Spark Developer, SAS Certified Predictive Modeler, and Sun Certified Enterprise Architect. Asif is also a Project Management Professional.Introduction xxiAssessment Test xxxCHAPTER 1 HISTORY OF ANALYTICS AND BIG DATA 1Evolution of Analytics Architecture Over the Years 3The New World Order 5Analytics Pipeline 6Data Sources 7Collection 8Storage 8Processing and Analysis 9Visualization, Predictive and Prescriptive Analytics 9The Big Data Reference Architecture 10Data Characteristics: Hot, Warm, and Cold 11Collection/Ingest 12Storage 13Process/Analyze 14Consumption 15Data Lakes and Their Relevance in Analytics 16What is a Data Lake? 16Building a Data Lake on AWS 19Step 1: Choosing the Right Storage – Amazon S3Is the Base 19Step 2: Data Ingestion – Moving the Data intothe Data Lake 21Step 3: Cleanse, Prep, and Catalog the Data 22Step 4: Secure the Data and Metadata 23Step 5: Make Data Available for Analytics 23Using Lake Formation to Build a Data Lake on AWS 23Exam Objectives 24Objective Map 25Assessment Test 27References 29CHAPTER 2 DATA COLLECTION 31Exam Objectives 32AWS IoT 33Common Use Cases for AWS IoT 35How AWS IoT Works 36Amazon Kinesis 38Amazon Kinesis Introduction 40Amazon Kinesis Data Streams 40Amazon Kinesis Data Analytics 54Amazon Kinesis Video Streams 61AWS Glue 64Glue Data Catalog 66Glue Crawlers 68Authoring ETL Jobs 69Executing ETL Jobs 71Change Data Capture with Glue Bookmarks 71Use Cases for AWS Glue 72Amazon SQS 72Amazon Data Migration Service 74What is AWS DMS Anyway? 74What Does AWS DMS Support? 75AWS Data Pipeline 77Pipeline Definition 77Pipeline Schedules 78Task Runner 79Large-Scale Data Transfer Solutions 81AWS Snowcone 81AWS Snowball 82AWS Snowmobile 85AWS Direct Connect 86Summary 87Review Questions 88References 90Exercises & Workshops 91CHAPTER 3 DATA STORAGE 93Introduction 94Amazon S3 95Amazon S3 Data Consistency Model 96Data Lake and S3 97Data Replication in Amazon S3 100Server Access Logging in Amazon S3 101Partitioning, Compression, and File Formats on S3 101Amazon S3 Glacier 103Vault 103Archive 104Amazon DynamoDB 104Amazon DynamoDB Data Types 105Amazon DynamoDB Core Concepts 108Read/Write Capacity Mode in DynamoDB 108DynamoDB Auto Scaling and Reserved Capacity 111Read Consistency and Global Tables 111Amazon DynamoDB: Indexing and Partitioning 113Amazon DynamoDB Accelerator 114Amazon DynamoDB Streams 115Amazon DynamoDB Streams – Kinesis Adapter 116Amazon DocumentDB 117Why a Document Database? 117Amazon DocumentDB Overview 119Amazon Document DB Architecture 120Amazon DocumentDB Interfaces 120Graph Databases and Amazon Neptune 121Amazon Neptune Overview 122Amazon Neptune Use Cases 123Storage Gateway 123Hybrid Storage Requirements 123AWS Storage Gateway 125Amazon EFS 127Amazon EFS Use Cases 130Interacting with Amazon EFS 132Amazon EFS Security Model 132Backing Up Amazon EFS 132Amazon FSx for Lustre 133Key Benefits of Amazon FSx for Lustre 134Use Cases for Lustre 135AWS Transfer for SFTP 135Summary 136Exercises 137Review Questions 140Further Reading 142References 142CHAPTER 4 DATA PROCESSING AND ANALYSIS 143Introduction 144Types of Analytical Workloads 144Amazon Athena 146Apache Presto 147Apache Hive 148Amazon Athena Use Cases and Workloads 149Amazon Athena DDL, DML, and DCL 150Amazon Athena Workgroups 151Amazon Athena Federated Query 153Amazon Athena Custom UDFs 154Using Machine Learning with Amazon Athena 154Amazon EMR 155Apache Hadoop Overview 156Amazon EMR Overview 157Apache Hadoop on Amazon EMR 158EMRFS 166Bootstrap Actions and Custom AMI 167Security on EMR 167EMR Notebooks 168Apache Hive and Apache Pig on Amazon EMR 169Apache Spark on Amazon EMR 174Apache HBase on Amazon EMR 182Apache Flink, Apache Mahout, and Apache MXNet 184Choosing the Right Analytics Tool 186Amazon Elasticsearch Service 188When to Use Elasticsearch 188Elasticsearch Core Concepts (the ELK Stack) 189Amazon Elasticsearch Service 191Amazon Redshift 192What is Data Warehousing? 192What is Redshift? 193Redshift Architecture 195Redshift AQUA 198Redshift Scalability 199Data Modeling in Redshift 205Data Loading and Unloading 213Query Optimization in Redshift 217Security in Redshift 221Kinesis Data Analytics 225How Does It Work? 226What is Kinesis Data Analytics for Java? 228Comparing Batch Processing Services 229Comparing Orchestration Options on AWS 230AWS Step Functions 230Comparing Different ETL Orchestration Options 230Summary 231Exam Essentials 232Exercises 232Review Questions 235References 237Recommended Workshops 237Amazon Athena Blogs 238Amazon Redshift Blogs 240Amazon EMR Blogs 241Amazon Elasticsearch Blog 241Amazon Redshift References and Further Reading 242CHAPTER 5 DATA VISUALIZATION 243Introduction 244Data Consumers 245Data Visualization Options 246Amazon QuickSight 247Getting Started 248Working with Data 250Data Preparation 255Data Analysis 256Data Visualization 258Machine Learning Insights 261Building Dashboards 262Embedding QuickSight Objects into Other Applications 264Administration 265Security 266Other Visualization Options 267Predictive Analytics 270What is Predictive Analytics? 270The AWS ML Stack 271Summary 273Exam Essentials 273Exercises 274Review Questions 275References 276Additional Reading Material 276CHAPTER 6 DATA SECURITY 279Introduction 280Shared Responsibility Model 280Security Services on AWS 282AWS IAM Overview 285IAM User 285IAM Groups 286IAM Roles 287Amazon EMR Security 289Public Subnet 290Private Subnet 291Security Configurations 293Block Public Access 298VPC Subnets 298Security Options during Cluster Creation 299EMR Security Summary 300Amazon S3 Security 301Managing Access to Data in Amazon S3 301Data Protection in Amazon S3 305Logging and Monitoring with Amazon S3 306Best Practices for Security on Amazon S3 308Amazon Athena Security 308Managing Access to Amazon Athena 309Data Protection in Amazon Athena 310Data Encryption in Amazon Athena 311Amazon Athena and AWS Lake Formation 312Amazon Redshift Security 312Levels of Security within Amazon Redshift 313Data Protection in Amazon Redshift 315Redshift Auditing 316Redshift Logging 317Amazon Elasticsearch Security 317Elasticsearch Network Configuration 318VPC Access 318Accessing Amazon Elasticsearch and Kibana 319Data Protection in Amazon Elasticsearch 322Amazon Kinesis Security 325Managing Access to Amazon Kinesis 325Data Protection in Amazon Kinesis 326Amazon Kinesis Best Practices 326Amazon QuickSight Security 327Managing Data Access with Amazon QuickSight 327Data Protection 328Logging and Monitoring 329Security Best Practices 329Amazon DynamoDB Security 329Access Management in DynamoDB 329IAM Policy with Fine-Grained Access Control 330Identity Federation 331How to Access Amazon DynamoDB 332Data Protection with DynamoDB 332Monitoring and Logging with DynamoDB 333Summary 334Exam Essentials 334Exercises/Workshops 334Review Questions 336References and Further Reading 337APPENDIX ANSWERS TO REVIEW QUESTIONS 339Chapter 1: History of Analytics and Big Data 340Chapter 2: Data Collection 342Chapter 3: Data Storage 343Chapter 4: Data Processing and Analysis 344Chapter 5: Data Visualization 346Chapter 6: Data Security 346Index 349
Spiele programmieren mit Unity für Kids (2. Auflg.)
Mit Spaß 3D-Spiele selbst entwickeln.Unity ist eine sehr beliebte Spiele-Engine, mit der du eigene 3D-Spiele entwickeln kannst. Der erfahrene Kids-Autor Hans-Georg Schumann zeigt dir, wie du mit Unity und der Programmiersprache C# schnell zu beeindruckenden Ergebnissen kommst. Schritt für Schritt lernst du, wie du Figuren durch die Welt wandern und auch gegen gefährliche Gegner kämpfen lässt. Du erstellst Landschaften mit Bäumen und Seen, gestaltest und animierst eigene Charaktere, und lernst ganz nebenbei das Programmieren in C#. Das Unity-Partikelsystem erzeugt tolle Effekte mit Licht und Schatten, die dem Spiel das nötige Reality-Gefühl geben. Und alles, was du zum Programmieren deiner Spiele brauchst, findest du auch zum Download.Aus dem Inhalt: Unity starten und ein erstes kleines Kollisionsspiel erstellenIn die Script-Programmierung mit C# einsteigenEinen Charakter entwerfen und ihm Eigenschaften gebenEin Jump & Run-Spiel entwickelnDas Prinzip von 3D verstehen und die Spielfläche mit Bäumen und Wasser gestaltenGanze Bauwerke entstehen lassenDie Figur klettern, schwimmen und sogar tauchen lehrenEine Fantasie-Kreatur entwerfen und durch Animation lebendig werden lassenStrahlen, Partikel und Sound einbindenKünstliche Intelligenz nutzenEnergiekontrolle und andere Features aufrüstenInstallationshilfe und Fehlerbehebung Inhaltsverzeichnis & Leseprobe (PDF-Link)Kostenlose Downloads zum Buch (Zip-Link)
Soziale Medien
Bildeten noch vor wenigen Jahren Presse, Rundfunk und Fernsehen den primären Zugang der Gesellschaft zu sich selbst, sind heutige gesellschaftliche Debatten sowie das Phänomen der Öffentlichkeit in hohem Maße durch den Einfluss von Social Media geprägt. Das Neue der dortigen Kommunikation ist, dass sie durch algorithmische Selektionen vorgeformt wird, in hohem Maße personalisiert ist und Beiträge automatisierter Accounts enthalten kann. Diese Charakteristika stellen die Forschung in der Einordnung und Bewertung des gesellschaftlichen Einflusses von Social Media-Debatten immer noch vor Schwierigkeiten und verlangen nach transdisziplinären Ansätzen. Beiträge aus der Informatik und den Computational Humanities ergänzen deshalb die medien- und kommunikationswissenschaftlichen Perspektiven jeweils um eine Beschreibung der technischen Grundlagen ihrer Untersuchungsgegenstände und der möglichen Zugänge zum Objektbereich.SAMUEL BREIDENBACH, M.A., ist Stipendiat der Graduate Research School der Brandenburgischen Technischen UniversitätPETER KLIMCZAK, Dr. phil. et Dr. rer. nat. habil., ist Privatdozent an der MINT-Fakultät der Brandenburgischen Technischen Universität.CHRISTER PETERSEN, Dr. phil., ist Professor für Angewandte Medienwissenschaften an der Brandenburgischen Technischen Universität.Gesellschaftliche Funktionen von Social Media.-Aktualität und Relevanz in Social Media-Plattformen.-Strategien und Methoden des digitalen Protests.-Technische Dispositionen der Kommunikation in Social Media.-Algorithmische Selektion.-Automatisierte Kommunikation (Social Bots).- Social Media Analytics.
SAP für Anwender - Tipps & Tricks
Leichter arbeiten mit SAP ERP! Ob in Controlling, Buchhaltung, Einkauf, Vertrieb, Disposition oder Personalwesen: Wenn Sie regelmäßig mit einem SAP-System arbeiten, ist dieses Buch wie für Sie gemacht. Aus eigener Erfahrung wissen Wolfgang und Dennis Fitznar, wo sich SAP-Anwender*innen schwer tun, und greifen tief in ihre Trickkisten. Tipp für Tipp erfahren Sie, wie Sie komfortabler im System navigieren, blitzschnell Daten pflegen und das SAP-System für sich arbeiten lassen. Aus dem Inhalt: Komfortabel am System anmeldenAnzeigeeinstellungen optimierenSchneller im System navigierenVorschlagswerte einsetzenDaten erfassenDaten pflegenMit F4-Hilfen Daten schnell findenDaten gezielt selektierenALV-Auswertungen optimierenDruck und DownloadAbläufe mithilfe von Jobs automatisierenMakros für wiederkehrende Aufgaben Vorwort zur zweiten Auflage ... 13 Einleitung ... 15 TEIL 1. Komfortabel am System anmelden ... 19 Tipp 1 ... Checkliste: Die wichtigsten Einstellungen nach der Erstanmeldung ... 20 Tipp 2 ... Schneller anmelden mit Desktopverknüpfungen ... 23 Tipp 3 ... Felder im Einstiegsbild mithilfe einer Desktopverknüpfung vorbelegen ... 28 Tipp 4 ... Desktopverknüpfung bearbeiten ... 34 Tipp 5 ... SAP-Anmeldung direkt mit Windows starten ... 36 Tipp 6 ... Zweiten Modus nach der Anmeldung sparen ... 38 TEIL 2. Anzeigeeinstellungen optimieren ... 41 Tipp 7 ... Welches Theme ist besser für mich: Belize oder Signature? ... 42 Tipp 8 ... Systeme und Mandanten mit Farben leichter unterscheiden ... 46 Tipp 9 ... Eigene Bildschirmfarben für SAP GUI definieren ... 49 Tipp 10 ... Aktives Feld durch Fokus schneller erkennen ... 51 Tipp 11 ... Quickinfo beschleunigen ... 54 Tipp 12 ... Weg mit überflüssigen Meldungsfenstern! ... 56 TEIL 3. Surfin' SAP -- schneller im System navigieren ... 61 Tipp 13 ... Transaktionen im SAP-Menü schneller finden ... 62 Tipp 14 ... In Baumstrukturen schneller navigieren ... 65 Tipp 15 ... Favoritenmenü optimal anlegen ... 67 Tipp 16 ... Favoritenmenüs teilen ... 72 Trick17 ... Mit Befehlsfeld navigieren ... 76 Tipp 18 ... Mit /* das Einstiegsbild überspringen ... 79 Tipp 19 ... Befehlsfeld als multiple Zwischenablage nutzen ... 82 Tipp 20 ... Mit Doppelklicks schneller navigieren ... 85 Tipp 21 ... Mit den Menüs »Umfeld« und »Springen« navigieren ... 89 Tipp 22 ... Mit Kontextmenüs und Standard-Funktionstasten navigieren ... 93 Tipp 23 ... Transaktionen mit eigenen Tastenkombinationen starten ... 96 Tipp 24 ... SAP-Verknüpfungssymbole auf dem Desktop optimieren ... 101 TEIL 4. Vorschlagswerte einsetzen ... 105 Tipp 25 ... Vorschlagswerte aus der Historie nutzen ... 106 Tipp 26 ... Zentrale Vorschlagswerte in Benutzerparametern definieren ... 109 Tipp 27 ... Parameter-IDs mit der technischen Info finden ... 115 Tipp 28 ... Transaktionsspezifische Vorschlagswerte definieren ... 119 Tipp 29 ... Temporäre Vorschlagswerte für einzelne Masken definieren ... 125 Tipp 30 ... Vorschlagswert für ein Feld mit mehreren möglichen Werten setzen ... 129 TEIL 5. Daten erfassen ... 131 Tipp 31 ... Stammdaten mit Vorlagen erfassen ... 132 Tipp 32 ... Belege mit Vorlagen erfassen ... 136 Tipp 33 ... Zeilen in Erfassungstabellen kopieren ... 140 Tipp 34 ... Tabellenteile kopieren ... 143 Tipp 35 ... Feldinhalte schneller kopieren ... 147 Tipp 36 ... Tastatureinstellungen für die Datenerfassung optimieren ... 152 Tipp 37 ... Spaltenreihenfolge in Erfassungstabellen ändern (Table Control) ... 155 Tipp 38 ... Mehrere Table Controls verwenden ... 159 Tipp 39 ... Datumswerte schneller erfassen ... 161 TEIL 6. Daten pflegen ... 165 Tipp 40 ... Schnelländerungen in Belegen und Beleglisten durchführen ... 166 Tipp 41 ... Persönliche Notizen ergänzen ... 171 Tipp 42 ... Öffentliche Notizen ergänzen ... 175 Tipp 43 ... PC-Dateien als Anlagen speichern ... 178 Tipp 44 ... Upload-Ordner einstellen ... 183 Tipp 45 ... Klarnamen aus Benutzernamen ermitteln ... 186 Tipp 46 ... Expressmail wegen Datensperrung verschicken ... 190 Tipp 47 ... Mit der Objekthistorie letzte Änderungen finden ... 193 Tipp 48 ... Änderungslisten für Stammsätze und Belege anzeigen ... 196 TEIL 7. Mit F4-Hilfen Daten schnell finden ... 201 Tipp 49 ... »Magisches Dreieck« für Suchhilfen nutzen ... 202 Tipp 50 ... Nummern für Stammdaten und Belege schneller finden ... 206 Tipp 51 ... Persönliche Wertelisten erstellen ... 211 Tipp 52 ... Persönliche Wertelisten bearbeiten ... 216 Tipp 53 ... Persönliche Wertelisten standardmäßig anzeigen ... 219 Tipp 54 ... Maximale Trefferanzahl dauerhaft ändern ... 221 Tipp 55 ... Volltreffer direkt in das Eingabefeld übernehmen ... 223 Tipp 56 ... Voreinstellungen für einzelne Wertelisten durchführen ... 226 TEIL 8. Daten gezielt selektieren ... 231 Tipp 57 ... Daten mit Kopfparametern schneller selektieren ... 232 Tipp 58 ... Langläufer abbrechen ... 235 Tipp 59 ... Mit Jokern flexibler selektieren ... 237 Tipp 60 ... Mit dem Joker * Mussfelder austricksen ... 239 Tipp 61 ... Selektionsoptionen nutzen ... 241 Tipp 62 ... Leere Felder selektieren ... 244 Tipp 63 ... Mehrfachselektionen mit Upload vereinfachen ... 247 Tipp 64 ... Zusätzliche Selektionsfelder aus freien Abgrenzungen nutzen ... 252 Tipp 65 ... Vorschlagswerte in Reportvarianten speichern ... 256 Tipp 66 ... Reportvarianten ändern und löschen ... 262 Tipp 67 ... Felder in Reportvarianten ausblenden und schützen ... 265 Tipp 68 ... Datumsangaben in Reportvarianten dynamisch vorbelegen ... 268 TEIL 9. Layouts mit dem SAP List Viewer erstellen und verwalten ... 275 Tipp 69 ... ALV-Darstellungen kennenlernen ... 276 Tipp 70 ... In die optimale ALVDarstellung wechseln ... 280 Tipp 71 ... Vorgefertigte Layouts verwenden ... 285 Tipp 72 ... Nützliche Funktionen für ALVListen finden ... 289 Tipp 73 ... Markierungen in ALV-Listen durchführen ... 293 Tipp 74 ... Spalten kombinieren (ALV Grid) ... 296 Tipp 75 ... Spalten kombinieren (ALV Classic) ... 300 Tipp 76 ... Schatzsuche im ALV: Verborgene Spalten sichtbar machen ... 304 Tipp 77 ... Layout speichern und voreinstellen ... 307 Tipp 78 ... Layout nachträglich ändern ... 311 Tipp 79 ... Layoutvoreinstellung wechseln ... 315 Tipp 80 ... Layout löschen ... 318 TEIL 10. Layouts optimieren ... 321 Tipp 81 ... Spalten am linken Rand fixieren ... 322 Tipp 82 ... Spaltenbreiten optimieren ... 326 Tipp 83 ... Schnelle Berechnungen erstellen ... 329 Tipp 84 ... Mehrstufige Zwischensummen erstellen (ALV Grid) ... 334 Tipp 85 ... Summenauswertungen erstellen ... 338 Tipp 86 ... Tabellenlöcher nach Mehrfachsortierung stopfen ... 343 Tipp 87 ... Die zweite Chance: Mit Filtern nachselektieren ... 348 Tipp 88 ... Layouts in Reportvarianten voreinstellen ... 351 Tipp 89 ... Eigene ALV-Reports mit dem QuickViewer anlegen ... 354 Tipp 90 ... ALV-Reports mit dem QuickViewer ausführen ... 360 Tipp 91 ... Tabellen für ALV-Auswertungen finden ... 363 TEIL 11. Druck und Download ... 369 Tipp 92 ... Schnelle Hardcopy erstellen ... 370 Tipp 93 ... Zentrale Voreinstellungen in den Benutzervorgaben vornehmen ... 372 Tipp 94 ... Probleme beim Ausdruck vermeiden ... 375 Tipp 95 ... Spool-Aufträge zur schnellen Recherche nutzen ... 381 Tipp 96 ... Download-Funktionen finden ... 386 Tipp 97 ... Frei wählbare Tabellenteile downloaden ... 388 TEIL 12. Abläufe mithilfe von Jobs automatisieren ... 391 Tipp 98 ... Langläufer mit Job durchführen ... 392 Tipp 99 ... Periodische Reports mit Jobs automatisch durchführen ... 397 Tipp 100 ... Reportliste aus Jobübersicht anzeigen ... 401 Tipp 101 ... Eigene Jobs überprüfen und abbrechen ... 403 Tipp 102 ... Eigene Jobs löschen ... 406 Tipp 103 ... Reportnamen finden ... 408 Tipp 104 ... Periodische Reports automatisch per E-Mail versenden ... 411 Tipp 105 ... Verteilerlisten anlegen ... 420 Tipp 106 ... Gemailten Report öffnen und bearbeiten ... 423 TEIL 13. Abläufe mithilfe von Skripting automatisieren ... 427 Tipp 107 ... Vorbereitung zum Erstellen von Skripten ... 428 Tipp 108 ... Kamera läuft! Ein Skript aufnehmen ... 430 Tipp 109 ... Film ab! Ein Skript abspielen ... 435 Tipp 110 ... Ein Skript als Favoriten speichern ... 438 Tipp 111 ... Ein Skript pflegen ... 440 Tipp 112 ... Und Tschüs ... schneller abmelden ... 442 Anhang ... 445 A ... Unsere Lieblings-Shortcuts ... 445 B ... Die Autoren ... 449 Index ... 453
Kapazitätsplanung mit SAP
Dieses kundige Handbuch beantwortet alle Ihre Fragen rund um die Kapazitätsplanung mit SAP! Die Autoren erläutern Ihnen die Kapazitätsplanung als integrierten Gesamtprozess und zeigen Ihnen, welche Besonderheiten Sie bei den verschiedenen Funktionsbereichen, Branchen und Prozessen berücksichtigen müssen. So lernen Sie die Funktionen für die lang- und kurzfristige Planung in den ERP-Systemen SAP ECC und SAP S/4HANA sowie in APO und IBP kennen und erfahren, wie Sie sie kombinieren, implementieren und anwenden. Aus dem Inhalt: Stamm- und BewegungsdatenLangfristige Planung:Supply Network Planning (SNP)Capable-to-Match (CTM)SAP IBP für Sales and Operations PlanningKurzfristige Planung:Capacity Requirements Planning (CRP)Embedded PP/DSCapable-to-Promise (CTP)Predictive Material and Resource Planning (pMRP)SAP IBP für Response and SupplyIntegration von SAP APO, SAP IBP, SAP ECC und SAP S/4HANASAP S/4HANA CloudVerwandte ProzesseProzessbeispiele Einleitung ... 25 Zielgruppe ... 25 Aufbau ... 25 Hinweise zur Lektüre ... 27 Teil I Grundlagen und Prozesse ... 29 1. Erweitertes MRP-II-Konzept ... 31 1.1 ... Schritte des MRP-II-Konzepts ... 31 1.2 ... Sukzessivplanung vs. Simultanplanung ... 34 1.3 ... Einbettung der Kapazitätsplanung in das MRP-II-Konzept ... 35 2. Kapazitätsplanung ... 39 2.1 ... Charakteristika und Vorgehensweisen in der Kapazitätsplanung ... 40 2.2 ... Anwendungsgebiete der Kapazitätsplanung ... 67 2.3 ... Kapazitätsplanungskonstellationen in SAP ... 69 2.4 ... Fazit ... 76 Teil II Stamm- und Bewegungsdaten ... 77 3. Globale Stammdaten ... 79 3.1 ... Werk und Lokation ... 79 3.2 ... Material und Produkt ... 85 3.3 ... Arbeitsplatz und Ressource ... 95 3.4 ... Fertigungsversion, Produktionsdatenstruktur (PDS) und Produktionsbezugsquellen ... 118 3.5 ... Transportbeziehungen ... 126 3.6 ... Stammdatenumgebungen für aktive Planung und Simulationen ... 129 3.7 ... Fazit ... 132 4. Anwendungsspezifische Stammdaten ... 133 4.1 ... Stammdaten der Projekt- sowie der Instandhaltungsplanung ... 133 4.2 ... Rüstinformationen ... 135 4.3 ... Kostenpflege ... 137 4.4 ... Fazit ... 140 5. Bewegungsdaten ... 141 5.1 ... Auftragsbezogene Bewegungsdaten ... 141 5.2 ... Kennzahlenbezogene Bewegungsdaten ... 156 5.3 ... Fazit ... 159 6. Integration von Stamm- und Bewegungsdaten in SAP APO, ePP/DS und SAP IBP ... 161 6.1 ... Integration ins APO-System ... 162 6.2 ... Integration in ePP/DS ... 173 6.3 ... Integration ins IBP-System ... 177 6.4 ... Fazit ... 179 7. Funktionen der Auftragsanlage ... 181 7.1 ... Anlage von Planungselementen in der Bedarfsplanung ... 182 7.2 ... Anlage von Planungselementen in der Projektplanung ... 194 7.3 ... Anlage von Planungselementen in der Instandhaltungsplanung ... 195 7.4 ... Anlage von Planungselementen in der Kundenauftragsabwicklung ... 195 7.5 ... Fazit ... 196 Teil III Langfristige Kapazitätsplanung ... 197 8. Langfristplanung und predictive MRP in SAP ECC und SAP S/4HANA ... 199 8.1 ... Langfristplanung ... 199 8.2 ... predictive Material and Resource Planning (pMRP) ... 214 8.3 ... Fazit ... 220 9. Grundlagen der langfristigen Kapazitätsplanung in SAP APO ... 221 9.1 ... Überblick und Prozesse von SNP ... 222 9.2 ... Grundkonzept und Funktionsweise von SNP ... 229 9.3 ... Überblick über die Konfiguration von SNP ... 239 9.4 ... Methoden zur langfristigen Kapazitätsplanung in SAP APO ... 245 9.5 ... Fazit ... 249 10. SNP-Heuristik/Kapazitätsabgleich in SAP APO ... 251 10.1 ... Grundlagen, Verwendung und Funktionsweise der SNP-Heuristik ... 252 10.2 ... Grundlagen, Verwendung und Funktionsweise des Kapazitätsabgleichs ... 265 10.3 ... Einstellungen und Stammdaten der Heuristik und des Kapazitätsabgleichs ... 272 10.4 ... SNP-Heuristik und Kapazitätsabgleich durchführen ... 279 10.5 ... Sonderprozesse und Beispiele ... 283 10.6 ... Fazit ... 285 11. SNP-Optimierer in SAP APO ... 287 11.1 ... Grundlagen, Verwendung und Funktionsweise des SNP-Optimierers ... 287 11.2 ... Restriktionen und Kosten im SNP-Optimierer ... 300 11.3 ... Einstellungen und Stammdaten im SNP-Optimierer ... 315 11.4 ... SNP-Optimierer-Planung durchführen und Ergebnisse analysieren ... 323 11.5 ... Sonderprozesse und Beispiele ... 328 11.6 ... Fazit ... 329 12. Capable-to-Match (CTM) in SAP APO ... 331 12.1 ... Grundlagen, Verwendung und Funktionsweise von CTM ... 332 12.2 ... Einstellungen und Stammdaten in CTM ... 347 12.3 ... CTM-Planung durchführen ... 367 12.4 ... Planungsergebnisse analysieren ... 368 12.5 ... Sonderprozesse und Beispiele ... 370 12.6 ... Fazit ... 375 13. Sonderprozesse in der langfristigen Planung in SAP APO ... 377 13.1 ... Aggregierte Planung in SNP ... 377 13.2 ... Haltbarkeiten in SNP ... 378 13.3 ... Variantenkonfiguration/merkmalsbasierte Planung ... 379 13.4 ... Vendor-Managed Inventory (VMI) ... 380 13.5 ... Planen von Lieferanten und Berücksichtigung von Lieferplänen ... 381 13.6 ... Lohnbearbeitung in SNP ... 382 13.7 ... Fazit ... 383 14. Interaktive, langfristige Kapazitätsplanung ... 385 14.1 ... Interaktive SNP-Planung ... 386 14.2 ... Alert-Monitor ... 390 14.3 ... Allgemeine Funktionen der interaktiven Planung ... 390 14.4 ... Fazit ... 391 Teil IV Mittel- bis langfristige Kapazitätsplanung ... 393 15. Grundlagen der mittel- bis langfristigen Kapazitätsplanung in SAP IBP ... 395 15.1 ... Überblick und Prozesse in SAP IBP ... 395 15.2 ... Zeitreihenbasierte Kapazitätsplanung mit SAP IBP ... 398 15.3 ... Auftragsbasierte Kapazitätsplanung mit SAP IBP ... 400 15.4 ... Fazit ... 402 16. Zeitreihenbasierte Kapazitätsplanung in SAP IBP ... 403 16.1 ... Verwendung und Funktionsweise ... 403 16.2 ... Zeitreihenbasierte Algorithmen in der Kapazitätsplanung ... 408 16.3 ... Konfiguration der zeitreihenbasierten Beschaffungsplanung ... 425 16.4 ... Beispiele für zeitreihenbasierte Kapazitätsplanung ... 455 16.5 ... Fazit ... 459 17. Auftragsbasierte Kapazitätsplanung in SAP IBP ... 459 17.1 ... Übersicht über die auftragsbasierte Kapazitätsplanung in SAP IBP ... 460 17.2 ... Basiseinstellungen ... 460 17.3 ... Planungsläufe ... 467 17.4 ... Fazit ... 474 18. Interaktive mittel- bis langfristige Kapazitätsplanung in SAP IBP ... 475 18.1 ... Microsoft Excel ... 476 18.2 ... Browserbasierte Benutzeroberflächen (Web UIs) ... 513 18.3 ... Fazit ... 533 Teil V Kurzfristige Kapazitätsplanung ... 535 19. Kapazitätsplanung in SAP ECC und SAP S/4HANA ... 537 19.1 ... Auftragsterminierung und Kapazitätsbedarfe ... 539 19.2 ... Kapazitätsauswertung ... 558 19.3 ... Kapazitätsabgleich ... 563 19.4 ... Kapazitätsverfügbarkeitsprüfung ... 569 19.5 ... Fazit ... 573 20. Grundlagen der kurzfristigen Kapazitätsplanung in SAP APO und ePP/DS ... 575 20.1 ... Auftrag als Planungselement im APO-System bzw. in ePP/DS ... 575 20.2 ... Pegging ... 587 20.3 ... Fazit ... 601 21. Heuristiken der kurzfristigen Kapazitätsplanung in SAP APO und ePP/DS ... 603 21.1 ... Überblick der in PP/DS vorhandenen Heuristiken ... 605 21.2 ... Strategieprofile in der kurzfristigen Kapazitätsplanung ... 612 21.3 ... PP/DS-Heuristiken in der kurzfristigen Kapazitätsplanung im Detail ... 639 21.4 ... Fazit ... 643 22. Optimierung in der kurzfristigen Kapazitätsplanung in SAP APO und ePP/DS ... 645 22.1 ... Verwendung des genetischen Algorithmus in der PP/DS-Optimierung ... 646 22.2 ... Zielfunktion in der PP/DS-Optimierung ... 648 22.3 ... Randbedingungen in der PP/DS-Optimierung ... 650 22.4 ... PP/DS-Optimierungsfenster ... 652 22.5 ... Ressourcen in der PP/DS-Optimierung ... 652 22.6 ... Aufträge in der PP/DS-Optimierung ... 654 22.7 ... Ablauf der PP/DS-Optimierung ... 657 22.8 ... Weitere Aspekte der PP/DS-Optimierung ... 659 22.9 ... Fazit ... 661 23. Kapazitive Verfügbarkeitsprüfung ... 663 23.1 ... Grundlagen ... 663 23.2 ... Verwendung und Funktionsweise ... 666 23.3 ... Einstellungen für die CTP-Planung ... 668 23.4 ... Prozesse in der CTP-Planung ... 677 23.5 ... Funktionale Einschränkungen in der CTP-Planung ... 688 23.6 ... Fazit ... 691 24. Sonderprozesse in der kurzfristigen Kapazitätsplanung in SAP APO und ePP/DS ... 693 24.1 ... Finiter MRP-Lauf und kapazitätsgetriebene Auftragsanlage ... 693 24.2 ... Haltbarkeiten ... 695 24.3 ... Planung mit Merkmalen ... 698 24.4 ... Kurzfristige Kapazitätsplanung im Projektumfeld ... 706 24.5 ... Kurzfristige Kapazitätsplanung im Prozessfertigungsumfeld ... 708 24.6 ... Kurzfristige Kapazitätsplanung im Serienfertigungsumfeld ... 713 24.7 ... Fazit ... 715 25. Interaktive, kurzfristige Kapazitätsplanung in SAP APO und ePP/DS ... 717 25.1 ... Werkzeuge der interaktiven Planung ... 718 25.2 ... Alert-Monitor ... 723 25.3 ... Plan-Monitor ... 740 25.4 ... Supply Chain Cockpit ... 743 25.5 ... Auftragsbearbeitung ... 746 25.6 ... Zugangs- und Bedarfssicht ... 748 25.7 ... Grafische Feinplanungstafel ... 749 25.8 ... Kapazitätsauswertungen ... 757 25.9 ... Produktsicht, erweiterte Produktplanung und Produktübersicht ... 757 25.10 ... Produktplantafel ... 760 25.11 ... Fazit ... 762 Teil VI Anschließende Prozessschritte und Kapazitätsplanungsszenarios ... 763 26. Auftragsausführung (Execution) ... 765 26.1 ... Überblick über die Ausführung im Rahmen der Eigenfertigung ... 766 26.2 ... Auftragsumsetzung/Eröffnung ... 767 26.3 ... Verfügbarkeitsprüfung ... 772 26.4 ... Auftragsfreigabe ... 774 26.5 ... Materialentnahme ... 776 26.6 ... Rückmeldung ... 778 26.7 ... Lagerzugang ... 781 26.8 ... Abrechnung ... 782 26.9 ... Abschluss ... 782 26.10 ... Fazit ... 782 27. Kapazitive Planung von Transporten ... 785 27.1 ... Grundlagen des Deployments und des Transport Load Builders ... 785 27.2 ... Grundlagen von SAP APO TP/VS ... 789 27.3 ... Grundlagen von SAP Transportation Management (TM) ... 797 27.4 ... Fazit ... 801 28. Integration der Kapazitätsplanungsfunktionen ... 803 28.1 ... Integration der Kapazitätsplanung in den ERP-Systemen ... 804 28.2 ... Integration der Kapazitätsplanung in den SAP-ERP-Systemen und SAP APO ... 805 28.3 ... Integration der Kapazitätsplanung in SAP APO (SNP und PP/DS) ... 808 28.4 ... Integration der Kapazitätsplanung in SAP S/4HANA, SAP IBP für Supply und ePP/DS ... 812 28.5 ... Fazit ... 813 29. Beispielszenario ... 815 29.1 ... Projektbeispiel ... 815 29.2 ... Absatzplanung in SAP ... 819 29.3 ... Kundenauftragseingang auf Endproduktebene ... 819 29.4 ... Beispiel für die Kapazitätsplanung im APO-System ... 820 29.5 ... Fazit ... 831 30. Fazit und Ausblick ... 833 Anhang ... 835 A ... Relevante Erweiterungen ... 837 B ... Literaturverzeichnis ... 851 C ... Das Autorenteam ... 853 Index ... 855
Microservices mit Go
Microservices haben sich als eigenständige, aber zusammenhängende Dienste längst durchgesetzt und bieten eine flexible Alternative zu großen monolithischen Softwarearchitekturen. Mit dieser praxisorientierten Einführung steigen Sie direkt in die professionelle Programmierung von Microservices ein. Neben allen notwendigen Grundlagen des Architekturstils lernen Sie ganz nebenbei die beliebte Programmiersprache Go, wie Sie Microservices damit umsetzen und wie Sie Ihre Dienste gewinnbringend einsetzen. Aus dem Inhalt: Grundlagen von Go: Installation, Entwicklungsumgebungen, ToolsSprachgrundlagen: Variablen und Funktionen, Go Statements, Collections, PointerThird-Party-Libraries einbinden und eigene Module und Libraries entwickelnAlle Grundlagen über MicroservicesMicroservices mit Go umsetzenConcurreny: Nebenläufigkeit mit GoQualitätssicherung: Unit Test Framework und BenchmarkIdiomatic Go und Effective GoGo-Services in der Cloud betreiben Materialien zum Buch ... 9 Geleitwort des Fachgutachters ... 11 1. Einführung ... 13 1.1 ... Was sind Microservices? ... 13 1.2 ... Go -- Einführung und Geschichte ... 26 1.3 ... Warum eignet sich Go so gut für Microservices? ... 34 2. Die Grundlagen von Go ... 45 2.1 ... Installation ... 46 2.2 ... Sprachgrundlagen von Golang ... 89 2.3 ... Module und Libraries ... 135 3. Microservices ... 149 3.1 ... Grundlagen ... 152 3.2 ... Microservices mit Go ... 176 3.3 ... Go-Services im Microservice-Umfeld ... 223 3.4 ... Datenbankanbindung ... 256 3.5 ... Die Nebenläufigkeit mit Go -- Concurrency ... 296 4. Die Qualitätssicherung ... 309 4.1 ... Das Unit-Test Framework ... 310 4.2 ... Benchmarks für Go erstellen ... 318 4.3 ... Microservices testen und optimieren ... 320 5. Best Practices -- idiomatisches und effektives Go ... 331 5.1 ... Context-Package einsetzen ... 332 5.2 ... Error-Handling ... 340 5.3 ... Projekte sinnvoll organisieren ... 345 5.4 ... Code-Schnipsel und Tipps und Tricks ... 357 6. Go-Service an die Cloud anbinden ... 367 6.1 ... Deployment mit Docker und Kubernetes ... 368 6.2 ... Das Go Cloud Development Kit ... 383 6.3 ... Google Cloud Development ... 390 6.4 ... Amazon Web Services Deployment ... 397 6.5 ... Microsoft-Azure-Anbindung ... 402 Index ... 407
VMware vSphere 7
Mit diesem Buch administrieren Sie VMware vSphere effizient und sicher. Als Berater, IT-Architekt oder Administrator erhalten Sie Hintergrundinformationen und Praxistipps von echten Experten zu allen neuen Features und Produkten des VMware Datencenters. Aus dem Inhalt: vSphere-ArchitekturvMotion und Storage MotionCluster-VerwaltungInstallation und AdministrationNetzwerkkonfiguration und NetzwerkvirtualisierungStorage Architektur und VMware Virtual SANvCenter ESXi und vCenter-AddonsDatensicherung und Ausfallsicherheit in vSphere-UmgebungenvSphere integrated ContainervCenter Server Alliance mit vCenter HAVMware Cloud FoundationHybrid Cloud Vorworte und Danksagungen ... 27 1. Einleitung ... 37 1.1 ... Servervirtualisierung ... 37 1.2 ... Die VMware-Produktfamilie ... 41 1.3 ... Einführung in die VMware-Servervirtualisierung ... 44 2. vSphere-Architektur ... 53 2.1 ... Infrastrukturbestandteile eines Software-Defined Datacenter (SDDC) ... 53 2.2 ... vSphere-Host ... 54 2.3 ... Architektur eines vSphere-Hosts ... 55 2.4 ... Grundlagen der CPU-Virtualisierung ... 57 2.5 ... Grundlagen der Memory-Virtualisierung ... 66 2.6 ... Grundlagen der Hardwarevirtualisierung ... 71 2.7 ... Management einer virtuellen vSphere-Infrastruktur ... 73 2.8 ... Verschlüsselung ... 91 2.9 ... Maximale Ausstattung ... 92 3. vMotion und Storage vMotion ... 97 3.1 ... vMotion ... 100 3.2 ... Storage vMotion ... 153 4. Cluster ... 173 4.1 ... Cluster-Objekt ... 173 4.2 ... HA-Cluster ... 179 4.3 ... DRS-Cluster ... 215 5. Installation von ESXi und vCenter ... 235 5.1 ... VMware vSphere 7 ... 235 5.2 ... Upgrade auf vSphere 7 ... 251 5.3 ... Quick Boot ESXi ... 257 5.4 ... Der Platform Services Controller ... 257 5.5 ... Installation der VMware vCenter Server Appliance ... 258 5.6 ... Patchen des vCenter Servers ... 274 5.7 ... Upgrade des vCenter Servers ... 279 5.8 ... Migration vom Windows vCenter zur vCenter Server Appliance ... 290 5.9 ... Nachträgliche Änderungen am vCenter ... 297 5.10 ... vCenter-Server-Komponenten ... 306 5.11 ... VMware vCenter Converter Standalone ... 318 5.12 ... Hochverfügbarkeit für vCenter Server und Komponenten ... 320 5.13 ... Lizenzierung ... 329 6. Verwaltungsmöglichkeiten ... 331 6.1 ... Die lokale Hostkonsole ... 331 6.2 ... Zugriff auf die Hostkonsole per SSH ... 332 6.3 ... Die Weboberfläche des Hosts ... 333 6.4 ... Die lokale VCSA-Konsole ... 334 6.5 ... Zugriff auf die VCSA per SSH ... 335 6.6 ... Die Weboberfläche der VCSA ... 336 6.7 ... vSphere Web Client ... 337 6.8 ... Administration über mobile Geräte ... 346 6.9 ... vCenter Server ... 347 6.10 ... VMware vSphere PowerCLI ... 357 7. Das Netzwerk in VMware vSphere ... 359 7.1 ... Grundsätzliche Planungsaspekte ... 359 7.2 ... Die physischen und virtuellen Netzwerkschichten ... 364 7.3 ... Die physischen Netzwerkkarten im Host ... 367 7.4 ... vSS und vDS -- eine Gegenüberstellung ... 369 7.5 ... Arbeiten mit dem vNetwork Standard Switch (vSS) ... 389 7.6 ... Arbeiten mit dem vNetwork Distributed Switch (vDS) ... 393 7.7 ... Die Migration von vSS auf vDS ... 421 7.8 ... Managementnetzwerk -- Reparaturfunktionen ... 430 7.9 ... Architektur-Beispiele ... 433 8. Netzwerkvirtualisierung mit VMware NSX Data Center ... 443 8.1 ... VMware NSX: Geschichte und Vision ... 444 8.2 ... VMware NSX-T im Vergleich zu NSX-v: ein Überblick über die Unterschiede ... 447 8.3 ... VMware NSX-T im Überblick ... 449 8.4 ... Exkurs: Das GENEVE-Protokoll ... 451 8.5 ... Die Architektur von NSX-T ... 455 8.6 ... Die Komponenten von NSX-T im Detail ... 458 8.7 ... Die Einrichtung von NSX-T vorbereiten ... 465 8.8 ... Die NSX-T-Installation (Management Plane) ... 471 8.9 ... NSX-T mit einer beispielhaften Netzwerktopologie ... 506 8.10 ... Zusammenfassung und Ausblick ... 534 9. Storage-Architektur ... 537 9.1 ... Lokale Medien ... 538 9.2 ... Die Wahl: Block oder File? ... 544 9.3 ... Storage Area Network -- was ist eigentlich ein SAN? ... 546 9.4 ... Infiniband ... 547 9.5 ... Kommunikation ... 548 9.6 ... FC-Speichernetzwerk ... 557 9.7 ... FCoE ... 563 9.8 ... NVMe-oF ... 565 9.9 ... iSCSI-Speichernetzwerk ... 566 9.10 ... Network File System (NFS) ... 569 9.11 ... Flash-basierter Speicher ... 575 9.12 ... VMware-Storage-Architektur ... 582 9.13 ... VAAI ... 617 9.14 ... Storage I/O Control ... 618 9.15 ... VASA ... 623 9.16 ... VMware vSphere Virtual Volumes ... 625 9.17 ... RDMA -- Remote Direct Memory Access ... 634 9.18 ... PMem -- Persistent Memory NVDIMM-Unterstützung ... 635 10. VMware vSAN ... 637 10.1 ... Grundlagen und Aufbau ... 638 10.2 ... Hardwareanforderungen ... 638 10.3 ... Architektur und Speicherkonzepte ... 642 10.4 ... Sizing ... 652 10.5 ... Topologien ... 655 10.6 ... Setup ... 657 10.7 ... vSAN File Service ... 664 11. Pure Storage ... 675 11.1 ... Portfolio ... 675 11.2 ... Verwaltung der Speichersysteme ... 679 11.3 ... FlashArray und ESXi-Konfiguration ... 683 11.4 ... Virtual Volumes (vVols) ... 689 11.5 ... ActiveCluster ... 690 11.6 ... NVMe-over-Fabrics ... 697 11.7 ... VM Analytics ... 698 12. VMware vSphere und NetApp-Storage ... 701 12.1 ... Baukasten NetApp ... 702 12.2 ... Klassischer Ansatz ... 704 12.3 ... NetApp Virtual Storage Console ... 706 12.4 ... Backup einrichten ... 714 13. Die private Cloud mit Nutanix ... 717 13.1 ... Allgemeines zum Thema Cloud ... 721 13.2 ... Die Nutanix Enterprise Cloud ... 722 13.3 ... Nutanix-Plattformarchitektur und -technologie ... 754 13.4 ... Verwaltung ... 785 13.5 ... Die VM in einem Nutanix-Cluster ... 791 13.6 ... Data Protection ... 799 13.7 ... Move ... 811 13.8 ... Weitere Informationen ... 815 14. Konfiguration von ESXi und vCenter ... 821 14.1 ... DNS ... 821 14.2 ... Virtual Machines ... 823 14.3 ... System ... 825 14.4 ... Hardware ... 853 14.5 ... Virtual Flash ... 859 14.6 ... Alarm Definitions ... 862 14.7 ... Scheduled Tasks ... 862 14.8 ... vCenter-Konfigurationseinstellungen ... 863 14.9 ... Das Administrationsmenü ... 877 14.10 ... Das Menü im Home-Screen des vCenters ... 887 14.11 ... Einrichtung von Ressourcenpools ... 910 14.12 ... VMware vApp ... 914 14.13 ... vCenter-Berechtigungen ... 923 14.14 ... Sonstiges ... 932 15. Konfiguration von vCenter-Add-ons ... 935 15.1 ... Customer Experience Improvement Program (CEIP) ... 935 15.2 ... Der Lifecycle Manager ... 936 15.3 ... VMware vSphere Image Builder PowerCLI ... 967 15.4 ... VMware Auto Deploy und Image Builder im Webclient ... 972 15.5 ... Hybrid Cloud Services ... 979 15.6 ... DRaaS ... 979 15.7 ... vRealize Operations ... 980 15.8 ... VMware vSphere Replication Appliance ... 981 15.9 ... VMware vCenter Converter Standalone ... 989 16. Monitoring ... 1003 16.1 ... Monitoring mit dem Hostclient ... 1004 16.2 ... Monitoring mit dem vSphere-Client ... 1012 16.3 ... Monitoring mit esxtop ... 1019 16.4 ... Monitoring der vCenter Server Appliance ... 1026 16.5 ... Benchmark-Werkzeuge ... 1029 16.6 ... Monitoring-Tools ... 1032 17. Datensicherung von vSphere-Umgebungen ... 1057 17.1 ... Einführung ... 1057 17.2 ... Grundlagen der Datensicherung ... 1061 17.3 ... Die fünf Prinzipien einer konsequenten Datensicherung ... 1066 17.4 ... VMware-Werkzeuge zur Datensicherung ... 1069 17.5 ... Datensicherungstopologien ... 1072 17.6 ... Planung einer Datensicherungsumgebung ... 1075 17.7 ... Veeam-Backup-Repository ... 1093 17.8 ... Veeam Backup & Replication installieren ... 1104 17.9 ... Veeam richtig konfigurieren ... 1105 17.10 ... Erstellen von Backups ... 1109 17.11 ... Erstellen von Replikaten ... 1124 17.12 ... Wiederherstellung aus Backups ... 1125 18. Ausfallsicherheit ... 1131 18.1 ... Sicherung -- Rücksicherung ... 1131 18.2 ... Ausfallsicherheit für das vCenter ... 1143 18.3 ... Fault Tolerance ... 1145 18.4 ... Windows Server Failover Clustering (WSFC) Service für virtuelle Maschinen ... 1158 18.5 ... vSphere Replication ... 1158 19. Automatisierung von vSphere ... 1167 19.1 ... Use Cases zur Automatisierung im Überblick ... 1167 19.2 ... Technischer Überblick ... 1169 19.3 ... Fazit ... 1184 20. Virtuelle Maschinen ... 1185 20.1 ... Virtuelle Hardware ... 1185 20.2 ... Virtuelle Maschinendateien ... 1193 20.3 ... Management Tools für die VM ... 1195 20.4 ... Konfiguration der virtuellen Hardware ... 1195 20.5 ... Optionen für die virtuellen Maschinen ... 1201 20.6 ... Virtuelle Maschinen erstellen ... 1207 20.7 ... Aktualisieren der virtuellen Hardware ... 1211 20.8 ... Ressourcenmanagement ... 1212 20.9 ... USB-Geräte ... 1217 20.10 ... Wechselmedien ... 1223 20.11 ... Betriebszustände einer virtuellen Maschine ... 1231 20.12 ... Speicherrichtlinien für virtuelle Maschinen ... 1232 20.13 ... Konfiguration und Anpassung von virtuellen Maschinen ... 1234 20.14 ... VMware Tools ... 1238 20.15 ... Migration von virtuellen Maschinen ... 1244 20.16 ... Klone ... 1246 20.17 ... Vorlagen ... 1248 20.18 ... Die virtuelle Maschine im VMware vSphere Client ... 1252 20.19 ... Snapshots ... 1262 20.20 ... Erweitertes VM-Management ... 1267 21. Kubernetes ... 1273 21.1 ... Container-Technologien ... 1274 21.2 ... Kubernetes-Architektur ... 1278 21.3 ... Kriterien für den Unternehmenseinsatz ... 1279 21.4 ... vSphere mit Kubernetes ... 1282 21.5 ... Supervisor- und Tanzu-Kubernetes-Grid-Cluster ... 1283 21.6 ... Tanzu-Cluster erstellen ... 1286 22. VMware Cloud Foundation 4.0 ... 1295 22.1 ... Modernisieren Sie Ihr Rechenzentrum ... 1296 22.2 ... Die Vorbereitung ... 1299 22.3 ... Die Standardarchitektur und Architekturvarianten ... 1301 22.4 ... Installation ... 1308 22.5 ... Ressourcen durch Workload-Domains bereitstellen ... 1317 22.6 ... Systemaktualisierungen ... 1320 22.7 ... vSphere mit Kubernetes auf Basis von VCF 4.0 ... 1322 22.8 ... Mehrere Standorte ... 1323 22.9 ... Verfügbarkeit und Ausfallsicherheit ... 1324 22.10 ... Ausblick ... 1326 Index ... 1327
Android-Apps entwickeln mit Java
Ihr Einstieg in die App-Entwicklung mit Android Studio! Hier lernen Sie auf unterhaltsame Weise, wie Sie mit Java für Android entwickeln – z. B. ein eigenes Spiel mit allem Drum und Dran. Sie setzen Animationen, Sounds, Bewegungssensoren und die Kamera ein und erstellen schicke Layouts, Online-Bestenlisten und angesagte Features für die Smartwatch. Grundkenntnisse in der Programmierung werden vorausgesetzt – dann kann nichts mehr schief gehen auf dem Weg zur ersten Android-App! Aus dem Inhalt: StartvorbereitungenJava-Einführung direkt mit AndroidAndroid-Studio installierenSchritt für Schritt zur ersten AppEin Spiel entwickelnWas soll das Spiel machen? – Aufbau der Game EngineSound und Animation hinzufügenSpieler vernetzen: Highscores und BestenlistenAugmented Reality: mehr Spaß und Spannung durch die KameraNoch mehr Techniken!Arbeiten mit GeokoordinatenHintergrundservices nutzenEin neues Layout für Ihre AppSmartwatch anbindenApps veröffentlichen in Google Play und anderen Markets Vorwort ... 13 Materialien zum Buch ... 14 1. Einleitung ... 15 1.1 ... Für wen ist dieses Buch? ... 15 1.2 ... Unendliche Möglichkeiten ... 20 1.3 ... Was ist so toll an Android? ... 26 2. Ist Java nicht auch eine Insel? ... 39 2.1 ... Warum Java? ... 39 2.2 ... Grundlagen ... 42 2.3 ... Pakete ... 45 2.4 ... Klassen implementieren ... 48 2.5 ... Daten verwalten ... 60 2.6 ... Vererbung ... 63 3. Vorbereitungen ... 69 3.1 ... Was brauche ich, um zu beginnen? ... 69 3.2 ... Schritt 1: Android Studio installieren ... 71 3.3 ... Schritt 2: Das Android SDK ... 72 3.4 ... Ein neues App-Projekt anlegen ... 75 3.5 ... Android Studio mit dem Handy verbinden ... 78 3.6 ... Fehlersuche ... 80 4. Die erste App ... 89 4.1 ... Sag »Hallo«, Android! ... 89 4.2 ... Bestandteile einer Android-App ... 98 4.3 ... Benutzeroberflächen bauen ... 111 4.4 ... Buttons mit Funktion ... 122 4.5 ... Eine App installieren ... 126 5. Ein Spiel entwickeln ... 131 5.1 ... Wie viele Stechmücken kann man in einer Minute fangen? ... 131 5.2 ... Grafiken einbinden ... 138 5.3 ... Die Game Engine ... 142 5.4 ... Der erste Mückenfang ... 176 6. Sound und Animation ... 183 6.1 ... Sounds hinzufügen ... 184 6.2 ... Sounds abspielen ... 187 6.3 ... Einfache Animationen ... 191 6.4 ... Fliegende Mücken ... 203 7. Internetzugriff ... 217 7.1 ... Highscores speichern ... 217 7.2 ... Bestenliste im Internet ... 227 7.3 ... Listen mit Adaptern ... 239 8. Kamera und Augmented Reality ... 249 8.1 ... Die Kamera verwenden ... 249 8.2 ... Bilddaten verwenden ... 261 9. Sensoren und der Rest der Welt ... 271 9.1 ... Himmels- und sonstige Richtungen ... 271 9.2 ... Wo fliegen sie denn? ... 279 9.3 ... Beschleunigung und Erschütterungen ... 294 9.4 ... Hintergrund-Services ... 302 9.5 ... Arbeiten mit Geokoordinaten ... 309 10. Smartwatch und Android Wear ... 321 10.1 ... Welt am Handgelenk ... 321 10.2 ... Phone ruft Uhr ... 323 10.3 ... Ein Wear-Projekt ... 327 10.4 ... Uhr ruft Phone ... 330 10.5 ... Wear 2.x ... 335 10.6 ... Fazit ... 339 11. Tipps und Tricks ... 341 11.1 ... Views mit Stil ... 341 11.2 ... Dialoge ... 351 11.3 ... Layout-Gefummel ... 360 11.4 ... Teilen und Empfangen ... 371 11.5 ... Daten speichern leicht gemacht ... 381 11.6 ... Öffentliche Webservices abfragen ... 388 11.7 ... Activities aus Fragmenten ... 398 12. Apps veröffentlichen ... 405 12.1 ... Vorarbeiten ... 405 12.2 ... Hausaufgaben ... 411 12.3 ... Alternative Markets ... 424 Index ... 433
Einstieg in Data Science mit R
Datenanalyse ist überall angekommen – seien auch Sie dabei! Quereinsteiger wie Historiker oder Germanisten, die mit quantitativen Methoden beginnen möchten, sind bei diesem Buch richtig, ob für die Forschung oder im Unternehmen. Sie bekommen alles an die Hand, was Sie zum Loslegen brauchen. Lassen Sie Excel-Tabellen hinter sich und lernen Sie, wie Sie statistische Analysen mit R programmieren. Auch die mathematischen Grundlagen lernen Sie kennen, von den Mittelwerten bis zur linearen Regression. Nach der Lektüre sind Sie in der Lage, ein eigenes Projekt mit ausgewählten statistischen Methoden durchzuführen und Ihre Ergebnisse zu visualisieren. Aus dem Inhalt: InstallationProgrammieren für QuereinsteigerDaten verschiedener Formate ladenDaten bereinigenMit fehlenden Werten umgehenWachstumsberechnungenMittelwerteLineare RegressionR StudioEinstieg in die Programmiersprache R Materialien zum Buch ... 11 1. Über dieses Buch ... 13 1.1 ... Für wen ist dieses Buch? Für Sie? ... 13 1.2 ... Was sind die Ziele, was können Sie hier lernen? ... 13 1.3 ... Was Sie nicht lernen werden ... 15 1.4 ... Wie Sie mit diesem Buch arbeiten ... 17 2. Einführung ... 19 2.1 ... Statistik und Data Science im Vergleich ... 21 2.2 ... Was ist R, und warum sollten Sie das überhaupt lernen? ... 23 3. R Base und RStudio: Installation und erste Schritte ... 25 3.1 ... R Base ... 25 3.2 ... RStudio ... 29 3.3 ... Wie sieht die Oberfläche aus, und was bedeuten die einzelnen Bereiche? ... 31 3.4 ... Die R-Konsole ... 33 3.5 ... Mein erstes Skript ... 35 3.6 ... Hilfe! ... 42 4. Die Programmiersprache R ... 51 4.1 ... Objekte ... 51 4.2 ... Funktionen ... 52 4.3 ... Pakete (Packages) ... 53 4.4 ... Ein paar Vokabeln ... 61 4.5 ... Kommentare ... 68 4.6 ... Groß- und Kleinschreibung und andere Syntaxregeln ... 68 4.7 ... Computer sind dumm ... 71 5. Grundlagen der statistischen Datenanalyse ... 73 5.1 ... Fragestellung und Studiendesign ... 73 5.2 ... Von Daten und Datensätzen ... 74 5.3 ... Berechnung des Durchschnittswertes (Mittelwert, arithmetisches Mittel) ... 84 5.4 ... Wachstumsberechnung (Veränderungsberechnung) ... 84 5.5 ... Trend und lineare Regression ... 86 5.6 ... Beispieldatensatz »Zigarettenverbrauch« ... 88 6. Daten einlesen und für die Analyse vorbereiten ... 93 6.1 ... Daten aus Excel einlesen ... 93 6.2 ... Daten im .csv-Format einlesen ... 98 6.3 ... Umgang mit Datumsangaben ... 102 6.4 ... Daten vorbereiten ... 109 6.5 ... Not available! - Der Umgang mit fehlenden Werten ... 122 7. Daten analysieren mit einfacher Statistik ... 129 7.1 ... Beispiel 1: Zigarettenkonsum ... 129 7.2 ... Beispiel 2: 100 Jahre Wohlstandsentwicklungen in Indien ... 144 7.3 ... Visualisierung ... 166 8. Umfassendes Praxisbeispiel ... 187 8.1 ... Fragestellung: Was will ich wissen? ... 188 8.2 ... Datenbeschaffung ... 189 8.3 ... Daten laden und Überblick verschaffen ... 191 8.4 ... Daten vorbereiten und bereinigen ... 195 8.5 ... Verarbeitung der Daten im Dreiklang ... 196 8.6 ... Kommunikation ... 219 8.7 ... Dokumentation ... 219 8.8 ... Bonus: Folgeanalyse in der Zeitreihe: Krankheitstage ... 219 9. Abschluss ... 233 A. Datenmaterial ... 235 A.1 ... Zigaretten 1 ... 235 A.2 ... Zensus Länder ... 236 A.3 ... Luftqualität ... 237 A.4 ... Zigaretten 2 ... 243 A.5 ... Indien 1990-2000 ... 244 A.6 ... Personaldaten ... 245 A.7 ... Personaldaten - Erweitert ... 252 Index ... 261
Microsoft Access für Einsteiger
Mit Microsoft Access können Sie ganz leicht alle Ihre Daten verwalten: sei es für die Mediensammlung daheim, für das Studium, für das eigene Unternehmen oder für den Verein. Wie das geht, zeigt Ihnen dieses Buch. Vorkenntnisse benötigen Sie keine. Sie lernen, wie man Datenbanken modelliert, wie Access-Datenbanken entwickelt werden und wie Sie mit Makros Datenbanken leicht an Ihre Bedürfnisse anpassen. An sechs umfassenden Beispieldatenbanken aus den Bereichen Handel, Handwerk, Medien und Vermietung testen Sie Ihre Kenntnisse. Aus dem Inhalt: Access kennenlernen: eine fertige Datenbank benutzenDatenmodellierung: eine eigene Datenbank entwerfenTabellen, Abfragen, Formulare, Berichte erstellenDaten importieren und exportierenDatenbanken individualisieren mit MakrosTools zur Analyse und Optimierung Materialien zum Buch ... 17 1. Einführung ... 19 1.1 ... Was macht eine Datenbank? ... 19 1.2 ... Entwickler und Benutzer ... 20 1.3 ... Warum sollten Sie mit Datenbanken arbeiten? ... 20 1.4 ... Wer sollte dieses Buch lesen? ... 21 1.5 ... Wie sind relationale Datenbanken aufgebaut? ... 22 2. Eine fertige Anwendung benutzen ... 29 2.1 ... Die Benutzung ermöglichen ... 29 2.2 ... Eine Vorstellung der Möglichkeiten ... 30 2.3 ... Der Aufbau dieser Anwendung ... 43 3. Eigene Datenbanken modellieren ... 53 3.1 ... Eine einfache Kundendatenbank ... 53 3.2 ... Der Ausbau der Handelsanwendung ... 59 3.3 ... Die Verwaltung von Medien ... 68 4. Eine einfache Anwendung realisieren ... 77 4.1 ... Ziel dieses Kapitels ... 77 4.2 ... Eine Datenbank erzeugen ... 79 4.3 ... Die Oberfläche von MS Access ... 80 4.4 ... Eine einzelne Tabelle anlegen ... 81 4.5 ... Die ersten Daten eingeben ... 91 4.6 ... Formulare zur Bedienung nutzen ... 96 4.7 ... Berichte zur Präsentation erstellen ... 115 5. Eine komplexe Anwendung realisieren ... 123 5.1 ... Ziel dieses Kapitels ... 123 5.2 ... Datenbank und Tabellen anlegen ... 125 5.3 ... Beziehungen erstellen ... 130 5.4 ... Formulare über mehrere Tabellen ... 135 5.5 ... Berichte über mehrere Tabellen ... 167 6. Abfragen ... 179 6.1 ... Aufbau ... 179 6.2 ... Sortieren ... 186 6.3 ... Filtern ... 190 6.4 ... Verknüpfte Kriterien ... 202 6.5 ... Besondere Abfragen ... 208 6.6 ... Berechnungen ... 216 6.7 ... Integrierte Funktionen ... 224 6.8 ... Abfragen über mehrere Tabellen ... 236 6.9 ... Gruppierungen ... 247 6.10 ... Gruppierungen und Berechnungen ... 254 6.11 ... Berechnungen von Zeiten und Kosten ... 262 6.12 ... Joins ... 269 6.13 ... Aktionsabfragen ... 272 7. Objekte, Datenbanken, Tabellen ... 279 7.1 ... Objekte in MS Access ... 279 7.2 ... Assistenten und Vorlagen ... 283 7.3 ... Vorlagen für Datenbanken ... 284 7.4 ... Tabellen ... 286 7.5 ... Aufbau einer Anwendung ... 288 8. Formulare ... 293 8.1 ... Ansichten ... 293 8.2 ... Darstellungsformen ... 296 8.3 ... Vorlagen ... 298 8.4 ... Formular-Assistent ... 306 9. Steuerelemente ... 317 9.1 ... Bezeichnungsfeld ... 317 9.2 ... Textfeld ... 319 9.3 ... Listenfeld ... 322 9.4 ... Schaltfläche ... 330 9.5 ... Makros ändern ... 338 9.6 ... Kombinationsfeld ... 340 9.7 ... Unterformular ... 347 10. Berichte ... 355 10.1 ... Ansichten ... 356 10.2 ... Vorlagen ... 358 10.3 ... Berichts-Assistent ... 361 11. Externe Daten ... 373 11.1 ... Importieren und Verknüpfen ... 373 11.2 ... Exportieren ... 386 11.3 ... Gespeicherte Im- und Exporte ... 392 12. Werkzeuge ... 393 12.1 ... Werkzeuge zur Optimierung ... 393 12.2 ... Werkzeuge zur Analyse ... 397 Anhang ... 401 A ... Lösung der Übungsaufgaben ... 401 Index ... 431
Anwendungsentwicklung auf der SAP Cloud Platform
Ob Erweiterungen für SAP-Cloud-Lösungen oder eigenständige Anwendungen auf der SAP Cloud Platform (SAP BTP) – dieses Buch macht Ihnen die Entwicklung leicht! Klaus Kopecz zeigt Ihnen, wie Sie mit dem SAP Cloud Application Programming Model (CAPM) im Handumdrehen Ihre erste eigene Cloud-Anwendung erstellen. Von der Anlage des Daten- und Servicemodells bis zur produktiven Anwendung werden Sie durch alle erforderlichen Schritte geführt. Aus dem Inhalt: Was ist das SAP Cloud Application Programming Model (CAP)?Entwicklung in Visual Studio CodeDaten- und Servicemodellierung mit CDSEreignisbehandlerroutinen mit Node.jsAnbindung von SAP-Fiori-OberflächenGlobalisierungAuthentifizierung und AutorisierungApplication Programming Interfaces (APIs)Deployment auf der SAP Cloud PlatformZugriff auf SAP HANA und andere Services der SAP Cloud Platform Einleitung ... 17 TEIL I Einführung ... 25 1. Einführung in das SAP Cloud Application Programming Model ... 27 1.1 ... Die SAP Cloud Platform ... 28 1.2 ... Was ist das SAP Cloud Application Programming Model? ... 31 1.3 ... Nächste Schritte ... 44 2. Erste Schritte zur eigenen Anwendung ... 45 2.1 ... Aufbau einer lokalen Entwicklungsumgebung ... 46 2.2 ... CDS-Editor ... 60 2.3 ... »Hallo CAP«-Service ... 62 2.4 ... CDS Command Line Interface ... 72 2.5 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 74 TEIL II Anwendungsentwicklung ... 77 3. Start des Entwicklungsprojekts ... 79 3.1 ... Modell eines Produktkatalogs ... 79 3.2 ... Entwicklungsprojekt anlegen ... 82 3.3 ... Domänenmodell anlegen ... 86 3.4 ... Die Serviceschicht ... 89 3.5 ... Datenabfragen ... 92 3.6 ... Testen mit einem HTTP-Client ... 94 3.7 ... Debuggen einer Service-Implementierung ... 103 3.8 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 108 4. Core Data Services für CAP im Detail ... 111 4.1 ... CDS als Familie von Modellierungssprachen ... 112 4.2 ... Entitäten und Views ... 116 4.3 ... Assoziationen und Kompositionen ... 119 4.4 ... Typen in CDS ... 122 4.5 ... Weitere Eigenschaften von Elementen ... 126 4.6 ... Die CDS Query Language ... 126 4.7 ... Namensräume ... 131 4.8 ... Referenzen auf Modelle ... 132 4.9 ... Annotationen ... 135 4.10 ... Services ... 143 4.11 ... Aspekte ... 148 4.12 ... Lokalisierung ... 151 4.13 ... Lokalisierte Daten ... 156 5. Weiterentwicklung zur produktiven Anwendung ... 159 5.1 ... Wiederverwendung von Typen und Aspekten ... 160 5.2 ... Implementierung der Rolle des Katalognutzers ... 169 5.3 ... Konfiguration ... 174 5.4 ... Authentifizierung und Autorisierung ... 185 5.5 ... Entwurf eines UIs mit SAP Fiori Elements ... 194 5.6 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 205 6. Das CDS API für Node.js ... 209 6.1 ... CAP-Laufzeit = Services + Events ... 210 6.2 ... Exponieren von Services ... 212 6.3 ... Behandeln von Ereignissen ... 214 6.4 ... Konnektivität zu Services ... 218 6.5 ... Konsumieren von Services ... 220 6.6 ... Das Request-Objekt ... 223 6.7 ... Konstruktion von CQN-Objekten ... 226 6.8 ... Modellverarbeitung ... 228 TEIL III Deployment auf die SAP Cloud Platform ... 231 7. Deployment-Umgebung auf der SAP Cloud Platform anlegen ... 233 7.1 ... Anlegen eines Trial-Accounts ... 235 7.2 ... Subaccounts mit Cloud-Foundry-Umgebung ... 238 7.3 ... Einführung in die Arbeit mit Cloud Foundry ... 241 7.4 ... Deployment einer Cloud-Foundry-Applikation ... 248 7.5 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 261 8. SAP-Anwendungsarchitektur in der Cloud-Foundry-Umgebung ... 263 8.1 ... Geschäftsanwendung als Summe spezialisierter Services ... 264 8.2 ... Authorization and Trust Management ... 268 8.3 ... Application Router ... 271 8.4 ... Webserver für das SAP-Fiori-UI ... 279 8.5 ... Was haben Sie in diesem Kapitel erreicht? ... 287 9. Anbindung an SAP HANA ... 289 9.1 ... SAP-HANA-Datenbankinstanz anlegen ... 291 9.2 ... Anbindung von SAP HANA an die lokale Entwicklungsumgebung ... 294 9.3 ... SAP HANA Deployment Infrastructure ... 304 10. Hybride Entwicklung ... 311 10.1 ... Die Technik der hybriden Entwicklung ... 313 10.2 ... Anbindung des lokalen CAP-Servers an SAP HANA ... 317 10.3 ... Authorization and Trust Management Service konfigurieren und anbinden ... 318 10.4 ... Was Sie in diesem Kapitel erreicht haben ... 333 11. Deployment der Geschäftsanwendung ... 335 11.1 ... Der CAP-Build-Prozess ... 336 11.2 ... Deployment mittels Cloud-Foundry-Manifest ... 341 11.3 ... Deployment als Multitarget Application ... 349 11.4 ... Was Sie in diesem Kapitel erreicht haben ... 366 TEIL IV Integration mit SAP-Produkten und -Services ... 367 12. Das SAP Business Application Studio ... 369 12.1 ... Vor der Nutzung ... 371 12.2 ... CAP im SAP Business Application Studio ... 377 12.3 ... Was Sie aus diesem Kapitel mitnehmen sollten ... 381 13. Integration mit SAP-Lösungen ... 383 13.1 ... SAP Cloud Platform Connectivity ... 384 13.2 ... SAP Cloud Platform Enterprise Messaging ... 386 13.3 ... Externe Services an eine CAP-Anwendung anbinden ... 388 13.4 ... Ereignisse senden und verarbeiten mit CAP ... 397 13.5 ... Was sollten Sie aus diesem Kapitel mitnehmen? ... 401 14. Problembehandlung ... 403 14.1 ... Installieren von npm-Paketen schlägt fehl ... 403 14.2 ... »cds compile« erzeugt nicht verarbeitbare Dateien ... 405 14.3 ... Debugging ... 405 14.4 ... Senden von HTTP-Requests ... 406 14.5 ... Arbeiten mit SAP HANA ... 406 14.6 ... Aufruf des SAP-Fiori-UI ... 407 15. Zusammenfassung und Ausblick ... 409 Linksammlung ... 413 Der Autor ... 417 Index ... 419
Traefik API Gateway for Microservices
Use Traefik as a load balancer or a reverse proxy for microservices-based architecture. This book covers Traefik integration for microservices architecture concerns such as service discovery, telemetry, and resiliency.The book focuses on building an in-depth understanding of Traefik. It starts with the fundamentals of Traefik, including different load balancing algorithms available, and failure handling for application resiliency. Examples are included for the failure scenarios. TLS support is explained, including scenarios of TLS termination and TLS forwarding. Traefik supports TLS termination using Let's Encrypt. Traefik deployment in prominent microservices ecosystems is discussed, including Docker and Kubernetes.Traefik is a language-neutral component. This book presents examples of its deployment with Java-based microservices. The examples in the book show Traefik integration with Jaeger/Zipkin, Prometheus, Grafana, and FluentD. Also covered is Traefik for Python-based services and Java-based services deployed in the Kubernetes cluster. By the end of the book, you will confidently know how to deploy and integrate Traefik into prominent microservices ecosystems.WHAT YOU WILL LEARN* Understand Traefik basics and its components* Explore different load balancing scenarios and TLS termination* Configure service discovery, circuit breakers, timeouts, and throttling* Monitor Traefik using Prometheus and request tracingWHO THIS BOOK IS FORDevelopers and project managers who have developed microservices and are deploying them in cloud and on-premise environments with Kubernetes or Docker. The book is not specifically written for any particular programming language. The examples presented use Java or Python.RAHUL SHARMA is a seasoned Java developer with over 15 years of industry experience. In his career he has worked with companies of various sizes from enterprises to startups. During this time he has developed and managed microservices on the cloud (AWS/GCE/DigitalOcean) using open source software. He is an open source enthusiast and shares his experience at local meetups. He co-authored Java Unit Testing with JUnit 5 (Apress) and Getting Started with Istio Service Mesh (Apress).AKSHAY MATHUR is a software engineer with 15 years of experience, mostly in Java and web technologies. Most of his career has been spent building B2B platforms for enterprises, dealing with concerns such as scalability, configurability, multi-tenancy, and cloud engineering. He has hands-on experience implementing and operating microservices and Kubernetes in these ecosystems. Currently, he enjoys public speaking and blogging on new cloud native technologies (especially plain Kubernetes) and effective engineering culture.Chapter 1: Introduction to TraefikCHAPTER GOAL: THE CHAPTER COVERS THE NEED OF A BETTER LOAD BALANCER USING MICROSERVICES COMPONENTS. IT COVERS TRAEFIK COMPONENTS AND BUILD THE BASIC UNDERSTANDING. THE READER WILL SETUP THE ENVIRONMENT WHICH WILL GET STARTED WITH TRAEFIKNO OF PAGES: 20SUB -TOPICS1. Monolith to microservices architecture evolution1. Static configuration challenges2. Observability challenges3. TLS as identity2. Traefik components1. CLI2. DashboardChapter 2: Configure TraefikCHAPTER GOAL: THE CHAPTER WILL COVER ROUTING BASICS. IT WILL DISCUSS THE VARIOUS COMPONENTS.NO OF PAGES: 20SUB - TOPICS1. Entrypoint2. Routers3. ServicesChapter 3: Load Balancing and Failure DetectionCHAPTER GOAL: THE CHAPTER WILL COVER DIFFERENT LOAD BALANCING OPTIONS AVAILABLE IN TRAEFIK.NO OF PAGES : 30SUB - TOPICS:1. Configuring HTTP servicea. Round robinb. Weighted round robinc. Mirroringd. Health checks2. Configuring TCP servicea. Round robinb. Weighted round robinChapter 4: Configure TLSCHAPTER GOAL: TLS IS AN IMPORTANT PART OF LOAD BALANCING. WE WILL COVER HOW TO DO TLS TERMINATION AND TLS PASS THROUGH USING TRAEFIK.NO OF PAGES: 15SUB - TOPICS:1. Configure TLS terminationa. Using lets encrypt2. Configure TLS pass-throughChapter 5: Logs, Request Tracing and Black ListingCHAPTER GOAL: THE CHAPTER WILL COVER OBSERVABILITY FEATURES OF TRAEFIKNO OF PAGES: 30SUB - TOPICS:1. Trafik logging2. Access logs3. Request tracing4. IP blacklisting5. MetricesChapter 6: Traefik as MicroservicesCHAPTER GOAL: THE CHAPTER WILL USE TRAEFIK FOR MICROSERVICES TRAFFIC ROUTING. IT WILL LOAD CONFIGURATION AND DISCOVER SERVICES FROM A BACKEND. IT WILL CONFIGURE CIRCUIT BREAKERS, THROTTLING AND RETRIES.NO OF PAGES: 30SUB - TOPICS:1. Routing using service discovery2. configure circuit breakers and retries3. configure throttling4. Supporting canary routesChapter 7: Traefik as Kubernetes IngressCHAPTER GOAL: THE CHAPTER WILL SETUP TRAEFIK AS KUBERNETES INGRESS. IT WILL SETUP MUTUAL TLS AUTHENTICATION FOR IDENTITY AND ROLE BASED ACCESS CONTROL. IT WILL SEND METRICES AND TRACING TO PROMETHEUS AND JAGGER K8S COMPONENTS.NO OF PAGES: 30SUB - TOPICS:1. Configure Kubernetes ingress2. Enable mTLS authenticationa. configure RBAC3. Configure TLS termination for user requests4. Configure request tracing with Jaeger5. Capture metrices in prometheus
Become ITIL® 4 Foundation Certified in 7 Days
Use this guide book in its fully updated second edition to study for the ITIL 4 Foundation certification exam. Know the latest ITIL framework and DevOps concepts.The book will take you through the new ITIL framework and nuances of the DevOps methodology. The book follows the topics included in the foundation certification exam syllabus and includes new sections on ITIL's guiding principles, service value chain, and the four dimensions of service management. Also included are the concepts, processes, and philosophies used in DevOps programs and projects. ITIL and DevOps concepts are explained with relevant examples.By the time you finish this book, you will have a complete understanding of ITIL 4 and will be ready to take the ITIL 4 Foundation certification exam. You will know the DevOps methodology and how ITIL reinforces the philosophy of shared responsibility and collaboration. Over the course of a week, even while working your day job, you will be prepared to take the exam.WHAT YOU WILL LEARN* Know the basics of ITIL as you prepare for the ITIL Foundation certification exam* Understand ITIL through examples* Be aware of ITIL's relevance to DevOps and DevOps conceptsWHO THIS BOOK IS FORProfessionals from the IT services industryABHINAV KRISHNA KAISER works as a senior manager at a top consulting firm. He consults with organizations to assess, define, and implement DevOps, Agile, and ITIL processes. Abhinav is an accredited ITIL trainer and has delivered numerous classroom trainings. He is a leading authority on the topics of DevOps, Agile, and ITIL. He lives in London, United Kingdom. He is an author and his latest book is Reinventing ITIL in the Age of DevOps (Apress).Chapter 1: Introduction to the new ITILChapter Goal: To introduce the new ITIL, provide context and differentiate with the version 3No of pages : 15 pagesSub -Topics1. Why ITIL 4?1. Difference between ITIL 3 and ITIL 42. ITIL 4 Foundation Exam3. Other ITIL 4 ExamsChapter 2: Brief Overview of DevOpsChapter Goal: To introduce the DevOps frameworkNo of pages : 20 pagesSub -Topics1. Introduction to DevOps2. DevOps sections – people, process and technology3. DevOps processesChapter 3: ITIL BasicsChapter Goal: To introduce the key concepts of ITILNo of pages : 20 pagesSub -Topics1. Defining value2. Products vs services3. Concept of consumers and other stakeholders4. service relationships5. Processes and functionsChapter 4: Service Management - Four DimensionsChapter Goal: To discuss the four dimensions in detailNo of pages: 20 pagesSub - Topics1. Organizations and people2. Information and technology3. Partners and suppliers4. Value Streams and processesChapter 5: ITIL Service Value SystemChapter Goal: To introduce service value systemNo of pages : 20 pagesSub - Topics:1. Intro to service value system2. Opportunity and demand3. Service value chain4. Governance5. Continual Improvement (formerly CSI)Chapter 6: ITIL Processes for Managing StakeholdersChapter Goal: Understand the processes for managing customers and other key stakeholdresNo of pages: 15 pagesSub - Topics:1. Relationship management2. Service level management3. Supplier managementChapter 7: ITIL Processes for Defining Operations FrameworkChapter Goal: Understand the processes for defining processes that sets the boundaries and steps for support and operational activitiesNo of pages: 30 pagesSub - Topics:1. Service configuration management2. IT asset management3. Information security management4. Continual improvementChapter 8: ITIL Processes for Managing OperationsChapter Goal: Understand the processes in detail for managing operationsNo of pages: 30 pagesSub - Topics:1. Monitoring and event management2. Incident management3. Problem improvement4. Change controlChapter 9: ITIL Processes for Managing ChangesChapter Goal: Understand the processes for controlling changes to the environment and applicationsNo of pages: 20 pagesSub - Topics:1. Service request management2. Change control3. Release managementChapter 10: ITIL Practice for Managing DeploymentsChapter Goal: Understand the technical management around deploying software into environmentsNo of pages: 15 pagesSub - Topics:1. Deployment managementChapter 11: ITIL Practice for Coordinating between StakeholdersChapter Goal: Understand the service desk and service desk managementNo of pages: 15 pagesSub - Topics:1. Service desk2. Service desk managementChapter 12 : Practices to Manage DeploymentsRelease ManagementTypes of ReleasesEngagement with Service Value ChainDeployment ManagementKey ActivitiesEngagement with Service Value ChainChapter 13 : Practices to Coordinate with StakeholdersService DeskTypes of Service DesksKey ActivitiesEngagement with Service Value ChainService Desk ManagementEngagement with Service Value ChainChapter 14 : Exam Tips and Tricks
Security Engineering
The classic book on designing secure systems In this newly revised Third Edition of Security Engineering: A Guide to Building Dependable Distributed Systems, celebrated security expert Ross Anderson updates his best-selling textbook to help you meet the challenges of the coming decade. Security Engineering became a classic because it covers not just the technical basics, such as cryptography, access controls and tamper-resistance, but also how they're used in real life. Real-world case studies – of the security of payment systems, military systems, the phone app ecosystems and now self-driving cars – demonstrate how to use security technology in practice, and what can go wrong. Filled with actionable advice and the latest research, this Third Edition brings a classic book up to date with the modern world of smartphones, cloud computing and AI. As everything gets connected to the Internet, security engineering has come to require inter-disciplinary expertise, ranging from physics to psychology and applied economics. Security Engineering is the only textbook on the market to explain all these aspects of protecting real systems, while still remaining easily accessible. Perfect for computer science students and practicing cybersecurity professionals, as well as systems engineers of all sorts, this latest edition of Security Engineering also belongs on the bookshelves of candidates for professional certification such as CISSP. You'll learn what makes a system secure and reliable and what can render it vulnerable, from phones and laptops through cars and payment terminals to cloud services and corporate networks. You'll find: The basics: cryptography, protocols, access controls and usabilityThe attacks: phishing, software exploits and the cybercrime ecosystemThe responses: biometrics, smartcards, enclaves, app stores and the patch cycleThe psychology of security: what makes security hard for users and engineersThe economics of security: how large systems fail, and what to do about itThe big policy questions: from surveillance through censorship to sustainability Security Engineering is the book that created the discipline. It will continue to define the discipline for the 2020s and beyond. Now that there's software in everything, how can you make anything secure? Understand how to engineer dependable systems with this newly updated classic In Security Engineering: A Guide to Building Dependable Distributed Systems, Third Edition Cambridge University professor Ross Anderson updates his classic textbook and teaches readers how to design, implement, and test systems to withstand both error and attack. This book became a best-seller in 2001 and helped establish the discipline of security engineering. By the second edition in 2008, underground dark markets had let the bad guys specialize and scale up; attacks were increasingly on users rather than on technology. The book repeated its success by showing how security engineers can focus on usability. Now the third edition brings it up to date for 2020. As people now go online from phones more than laptops, most servers are in the cloud, online advertising drives the Internet and social networks have taken over much human interaction, many patterns of crime and abuse are the same, but the methods have evolved. Ross Anderson explores what security engineering means in 2020, including: How the basic elements of cryptography, protocols, and access control translate to the new world of phones, cloud services, social media and the Internet of ThingsWho the attackers are – from nation states and business competitors through criminal gangs to stalkers and playground bulliesWhat they do – from phishing and carding through SIM swapping and software exploits to DDoS and fake newsSecurity psychology, from privacy through ease-of-use to deceptionThe economics of security and dependability – why companies build vulnerable systems and governments look the other wayHow dozens of industries went online – well or badlyHow to manage security and safety engineering in a world of agile development – from reliability engineering to DevSecOps The third edition of Security Engineering ends with a grand challenge: sustainable security. As we build ever more software and connectivity into safety-critical durable goods like cars and medical devices, how do we design systems we can maintain and defend for decades? Or will everything in the world need monthly software upgrades, and become unsafe once they stop? ROSS ANDERSON is Professor of Security Engineering at Cambridge University in England. He is widely recognized as one of the world's foremost authorities on security. In 2015 he won the Lovelace Medal, Britain's top award in computing. He is a Fellow of the Royal Society and the Royal Academy of Engineering. He is one of the pioneers of the economics of information security, peer-to-peer systems, API analysis and hardware security. Over the past 40 years, he has also worked or consulted for most of the tech majors. Preface to the Third Edition xxxvii Preface to the Second Edition xli Preface to the First Edition xliii Formy daughter, and other lawyers… xlvii Foreword xlix Part I Chapter 1 What Is Security Engineering? 3 1.1 Introduction 3 1.2 A framework 4 1.3 Example 1 – a bank 6 1.4 Example 2 – a military base 7 1.5 Example 3 – a hospital 8 1.6 Example 4 – the home 10 1.7 Definitions 11 1.8 Summary 16 Chapter 2 Who Is the Opponent? 17 2.1 Introduction 17 2.2 Spies 19 2.2.1 The Five Eyes 19 2.2.1.1 Prism 19 2.2.1.2 Tempora 20 2.2.1.3 Muscular 21 2.2.1.4 Special collection 22 2.2.1.5 Bullrun and Edgehill 22 2.2.1.6 Xkeyscore 23 2.2.1.7 Longhaul 24 2.2.1.8 Quantum 25 2.2.1.9 CNE 25 2.2.1.10 The analyst’s viewpoint 27 2.2.1.11 Offensive operations 28 2.2.1.12 Attack scaling 29 2.2.2 China 30 2.2.3 Russia 35 2.2.4 The rest 38 2.2.5 Attribution 40 2.3 Crooks 41 2.3.1 Criminal infrastructure 42 2.3.1.1 Botnet herders 42 2.3.1.2 Malware devs 44 2.3.1.3 Spam senders 45 2.3.1.4 Bulk account compromise 45 2.3.1.5 Targeted attackers 46 2.3.1.6 Cashout gangs 46 2.3.1.7 Ransomware 47 2.3.2 Attacks on banking and payment systems 47 2.3.3 Sectoral cybercrime ecosystems 49 2.3.4 Internal attacks 49 2.3.5 CEO crimes 49 2.3.6 Whistleblowers 50 2.4 Geeks 52 2.5 The swamp 53 2.5.1 Hacktivism and hate campaigns 54 2.5.2 Child sex abuse material 55 2.5.3 School and workplace bullying 57 2.5.4 Intimate relationship abuse 57 2.6 Summary 59 Research problems 60 Further reading 61 Chapter 3 Psychology and Usability 63 3.1 Introduction 63 3.2 Insights from psychology research 64 3.2.1 Cognitive psychology 65 3.2.2 Gender, diversity and interpersonal variation 68 3.2.3 Social psychology 70 3.2.3.1 Authority and its abuse 71 3.2.3.2 The bystander effect 72 3.2.4 The social-brain theory of deception 73 3.2.5 Heuristics, biases and behavioural economics 76 3.2.5.1 Prospect theory and risk misperception 77 3.2.5.2 Present bias and hyperbolic discounting 78 3.2.5.3 Defaults and nudges 79 3.2.5.4 The default to intentionality 79 3.2.5.5 The affect heuristic 80 3.2.5.6 Cognitive dissonance 81 3.2.5.7 The risk thermostat 81 3.3 Deception in practice 81 3.3.1 The salesman and the scamster 82 3.3.2 Social engineering 84 3.3.3 Phishing 86 3.3.4 Opsec 88 3.3.5 Deception research 89 3.4 Passwords 90 3.4.1 Password recovery 92 3.4.2 Password choice 94 3.4.3 Difficulties with reliable password entry 94 3.4.4 Difficulties with remembering the password 95 3.4.4.1 Naïve choice 96 3.4.4.2 User abilities and training 96 3.4.4.3 Design errors 98 3.4.4.4 Operational failures 100 3.4.4.5 Social-engineering attacks 101 3.4.4.6 Customer education 102 3.4.4.7 Phishing warnings 103 3.4.5 System issues 104 3.4.6 Can you deny service? 105 3.4.7 Protecting oneself or others? 105 3.4.8 Attacks on password entry 106 3.4.8.1 Interface design 106 3.4.8.2 Trusted path, and bogus terminals 107 3.4.8.3 Technical defeats of password retry counters 107 3.4.9 Attacks on password storage 108 3.4.9.1 One-way encryption 109 3.4.9.2 Password cracking 109 3.4.9.3 Remote password checking 109 3.4.10 Absolute limits 110 3.4.11 Using a password manager 111 3.4.12 Will we ever get rid of passwords? 113 3.5 CAPTCHAs 115 3.6 Summary 116 Research problems 117 Further reading 118 Chapter 4 Protocols 119 4.1 Introduction 119 4.2 Password eavesdropping risks 120 4.3 Who goes there? – simple authentication 122 4.3.1 Challenge and response 124 4.3.2 Two-factor authentication 128 4.3.3 The MIG-in-the-middle attack 129 4.3.4 Reflection attacks 132 4.4 Manipulating the message 133 4.5 Changing the environment 134 4.6 Chosen protocol attacks 135 4.7 Managing encryption keys 136 4.7.1 The resurrecting duckling 137 4.7.2 Remote key management 137 4.7.3 The Needham-Schroeder protocol 138 4.7.4 Kerberos 139 4.7.5 Practical key management 141 4.8 Design assurance 141 4.9 Summary 143 Research problems 143 Further reading 144 Chapter 5 Cryptography 145 5.1 Introduction 145 5.2 Historical background 146 5.2.1 An early stream cipher – the Vigenère 147 5.2.2 The one-time pad 148 5.2.3 An early block cipher – Playfair 150 5.2.4 Hash functions 152 5.2.5 Asymmetric primitives 154 5.3 Security models 155 5.3.1 Random functions – hash functions 157 5.3.1.1 Properties 157 5.3.1.2 The birthday theorem 158 5.3.2 Random generators – stream ciphers 159 5.3.3 Random permutations – block ciphers 161 5.3.4 Public key encryption and trapdoor one-way permutations 163 5.3.5 Digital signatures 164 5.4 Symmetric crypto algorithms 165 5.4.1 SP-networks 165 5.4.1.1 Block size 166 5.4.1.2 Number of rounds 166 5.4.1.3 Choice of S-boxes 167 5.4.1.4 Linear cryptanalysis 167 5.4.1.5 Differential cryptanalysis 168 5.4.2 The Advanced Encryption Standard (AES) 169 5.4.3 Feistel ciphers 171 5.4.3.1 The Luby-Rackoff result 173 5.4.3.2 DES 173 5.5 Modes of operation 175 5.5.1 How not to use a block cipher 176 5.5.2 Cipher block chaining 177 5.5.3 Counter encryption 178 5.5.4 Legacy stream cipher modes 178 5.5.5 Message authentication code 179 5.5.6 Galois counter mode 180 5.5.7 XTS 180 5.6 Hash functions 181 5.6.1 Common hash functions 181 5.6.2 Hash function applications – HMAC, commitments and updating 183 5.7 Asymmetric crypto primitives 185 5.7.1 Cryptography based on factoring 185 5.7.2 Cryptography based on discrete logarithms 188 5.7.2.1 One-way commutative encryption 189 5.7.2.2 Diffie-Hellman key establishment 190 5.7.2.3 ElGamal digital signature and DSA 192 5.7.3 Elliptic curve cryptography 193 5.7.4 Certification authorities 194 5.7.5 TLS 195 5.7.5.1 TLS uses 196 5.7.5.2 TLS security 196 5.7.5.3 TLS 1.3 197 5.7.6 Other public-key protocols 197 5.7.6.1 Code signing 197 5.7.6.2 PGP/GPG 198 5.7.6.3 QUIC 199 5.7.7 Special-purpose primitives 199 5.7.8 How strong are asymmetric cryptographic primitives? 200 5.7.9 What else goes wrong 202 5.8 Summary 203 Research problems 204 Further reading 204 Chapter 6 Access Control 207 6.1 Introduction 207 6.2 Operating system access controls 209 6.2.1 Groups and roles 210 6.2.2 Access control lists 211 6.2.3 Unix operating system security 212 6.2.4 Capabilities 214 6.2.5 DAC and MAC 215 6.2.6 Apple’s macOS 217 6.2.7 iOS 217 6.2.8 Android 218 6.2.9 Windows 219 6.2.10 Middleware 222 6.2.10.1 Database access controls 222 6.2.10.2 Browsers 223 6.2.11 Sandboxing 224 6.2.12 Virtualisation 225 6.3 Hardware protection 227 6.3.1 Intel processors 228 6.3.2 Arm processors 230 6.4 What goes wrong 231 6.4.1 Smashing the stack 232 6.4.2 Other technical attacks 234 6.4.3 User interface failures 236 6.4.4 Remedies 237 6.4.5 Environmental creep 238 6.5 Summary 239 Research problems 240 Further reading 240 Chapter 7 Distributed Systems 243 7.1 Introduction 243 7.2 Concurrency 244 7.2.1 Using old data versus paying to propagate state 245 7.2.2 Locking to prevent inconsistent updates 246 7.2.3 The order of updates 247 7.2.4 Deadlock 248 7.2.5 Non-convergent state 249 7.2.6 Secure time 250 7.3 Fault tolerance and failure recovery 251 7.3.1 Failure models 252 7.3.1.1 Byzantine failure 252 7.3.1.2 Interaction with fault tolerance 253 7.3.2 What is resilience for? 254 7.3.3 At what level is the redundancy? 255 7.3.4 Service-denial attacks 257 7.4 Naming 259 7.4.1 The Needham naming principles 260 7.4.2 What else goes wrong 263 7.4.2.1 Naming and identity 264 7.4.2.2 Cultural assumptions 265 7.4.2.3 Semantic content of names 267 7.4.2.4 Uniqueness of names 268 7.4.2.5 Stability of names and addresses 269 7.4.2.6 Restrictions on the use of names 269 7.4.3 Types of name 270 7.5 Summary 271 Research problems 272 Further reading 273 Chapter 8 Economics 275 8.1 Introduction 275 8.2 Classical economics 276 8.2.1 Monopoly 278 8.3 Information economics 281 8.3.1 Why information markets are different 281 8.3.2 The value of lock-in 282 8.3.3 Asymmetric information 284 8.3.4 Public goods 285 8.4 Game theory 286 8.4.1 The prisoners’ dilemma 287 8.4.2 Repeated and evolutionary games 288 8.5 Auction theory 291 8.6 The economics of security and dependability 293 8.6.1 Why is Windows so insecure? 294 8.6.2 Managing the patching cycle 296 8.6.3 Structural models of attack and defence 298 8.6.4 The economics of lock-in, tying and DRM 300 8.6.5 Antitrust law and competition policy 302 8.6.6 Perversely motivated guards 304 8.6.7 Economics of privacy 305 8.6.8 Organisations and human behaviour 307 8.6.9 Economics of cybercrime 308 8.7 Summary 310 Research problems 311 Further reading 311 Part II Chapter 9 Multilevel Security 315 9.1 Introduction 315 9.2 What is a security policy model? 316 9.3 Multilevel security policy 318 9.3.1 The Anderson report 319 9.3.2 The Bell-LaPadula model 320 9.3.3 The standard criticisms of Bell-LaPadula 321 9.3.4 The evolution of MLS policies 323 9.3.5 The Biba model 325 9.4 Historical examples of MLS systems 326 9.4.1 SCOMP 326 9.4.2 Data diodes 327 9.5 MAC: from MLS to IFC and integrity 329 9.5.1 Windows 329 9.5.2 SELinux 330 9.5.3 Embedded systems 330 9.6 What goes wrong 331 9.6.1 Composability 331 9.6.2 The cascade problem 332 9.6.3 Covert channels 333 9.6.4 The threat from malware 333 9.6.5 Polyinstantiation 334 9.6.6 Practical problems with MLS 335 9.7 Summary 337 Research problems 338 Further reading 339 Chapter 10 Boundaries 341 10.1 Introduction 341 10.2 Compartmentation and the lattice model 344 10.3 Privacy for tigers 346 10.4 Health record privacy 349 10.4.1 The threat model 351 10.4.2 The BMA security policy 353 10.4.3 First practical steps 356 10.4.4 What actually goes wrong 357 10.4.4.1 Emergency care 358 10.4.4.2 Resilience 359 10.4.4.3 Secondary uses 359 10.4.5 Confidentiality – the future 362 10.4.6 Ethics 365 10.4.7 Social care and education 367 10.4.8 The Chinese Wall 369 10.5 Summary 371 Research problems 372 Further reading 373 Chapter 11 Inference Control 375 11.1 Introduction 375 11.2 The early history of inference control 377 11.2.1 The basic theory of inference control 378 11.2.1.1 Query set size control 378 11.2.1.2 Trackers 379 11.2.1.3 Cell suppression 379 11.2.1.4 Other statistical disclosure control mechanisms 380 11.2.1.5 More sophisticated query controls 381 11.2.1.6 Randomization 382 11.2.2 Limits of classical statistical security 383 11.2.3 Active attacks 384 11.2.4 Inference control in rich medical data 385 11.2.5 The third wave: preferences and search 388 11.2.6 The fourth wave: location and social 389 11.3 Differential privacy 392 11.4 Mind the gap? 394 11.4.1 Tactical anonymity and its problems 395 11.4.2 Incentives 398 11.4.3 Alternatives 399 11.4.4 The dark side 400 11.5 Summary 401 Research problems 402 Further reading 402 Chapter 12 Banking and Bookkeeping 405 12.1 Introduction 405 12.2 Bookkeeping systems 406 12.2.1 Double-entry bookkeeping 408 12.2.2 Bookkeeping in banks 408 12.2.3 The Clark-Wilson security policy model 410 12.2.4 Designing internal controls 411 12.2.5 Insider frauds 415 12.2.6 Executive frauds 416 12.2.6.1 The post office case 418 12.2.6.2 Other failures 419 12.2.6.3 Ecological validity 420 12.2.6.4 Control tuning and corporate governance 421 12.2.7 Finding the weak spots 422 12.3 Interbank payment systems 424 12.3.1 A telegraphic history of E-commerce 424 12.3.2 SWIFT 425 12.3.3 What goes wrong 427 12.4 Automatic teller machines 430 12.4.1 ATM basics 430 12.4.2 What goes wrong 433 12.4.3 Incentives and injustices 437 12.5 Credit cards 438 12.5.1 Credit card fraud 439 12.5.2 Online card fraud 440 12.5.3 3DS 443 12.5.4 Fraud engines 444 12.6 EMV payment cards 445 12.6.1 Chip cards 445 12.6.1.1 Static data authentication 446 12.6.1.2 ICVVs, DDA and CDA 450 12.6.1.3 The No-PIN attack 451 12.6.2 The preplay attack 452 12.6.3 Contactless 454 12.7 Online banking 457 12.7.1 Phishing 457 12.7.2 CAP 458 12.7.3 Banking malware 459 12.7.4 Phones as second factors 459 12.7.5 Liability 461 12.7.6 Authorised push payment fraud 462 12.8 Nonbank payments 463 12.8.1 M-Pesa 463 12.8.2 Other phone payment systems 464 12.8.3 Sofort, and open banking 465 12.9 Summary 466 Research problems 466 Further reading 468 Chapter 13 Locks and Alarms 471 13.1 Introduction 471 13.2 Threats and barriers 472 13.2.1 Threat model 473 13.2.2 Deterrence 474 13.2.3 Walls and barriers 476 13.2.4 Mechanical locks 478 13.2.5 Electronic locks 482 13.3 Alarms 484 13.3.1 How not to protect a painting 485 13.3.2 Sensor defeats 486 13.3.3 Feature interactions 488 13.3.4 Attacks on communications 489 13.3.5 Lessons learned 493 13.4 Summary 494 Research problems 495 Further reading 495 Chapter 14 Monitoring and Metering 497 14.1 Introduction 497 14.2 Prepayment tokens 498 14.2.1 Utility metering 499 14.2.2 How the STS system works 501 14.2.3 What goes wrong 502 14.2.4 Smart meters and smart grids 504 14.2.5 Ticketing fraud 508 14.3 Taxi meters, tachographs and truck speed limiters 509 14.3.1 The tachograph 509 14.3.2 What goes wrong 511 14.3.2.1 How most tachograph manipulation is done 511 14.3.2.2 Tampering with the supply 512 14.3.2.3 Tampering with the instrument 512 14.3.2.4 High-tech attacks 513 14.3.3 Digital tachographs 514 14.3.3.1 System-level problems 515 14.3.3.2 Other problems 516 14.3.4 Sensor defeats and third-generation devices 518 14.3.5 The fourth generation – smart tachographs 518 14.4 Curfew tags: GPS as policeman 519 14.5 Postage meters 522 14.6 Summary 526 Research problems 527 Further reading 527 Chapter 15 Nuclear Command and Control 529 15.1 Introduction 529 15.2 The evolution of command and control 532 15.2.1 The Kennedy memorandum 532 15.2.2 Authorization, environment, intent 534 15.3 Unconditionally secure authentication 534 15.4 Shared control schemes 536 15.5 Tamper resistance and PALs 538 15.6 Treaty verification 540 15.7 What goes wrong 541 15.7.1 Nuclear accidents 541 15.7.2 Interaction with cyberwar 542 15.7.3 Technical failures 543 15.8 Secrecy or openness? 544 15.9 Summary 545 Research problems 546 Further reading 546 Chapter 16 Security Printing and Seals 549 16.1 Introduction 549 16.2 History 550 16.3 Security printing 551 16.3.1 Threat model 552 16.3.2 Security printing techniques 553 16.4 Packaging and seals 557 16.4.1 Substrate properties 558 16.4.2 The problems of glue 558 16.4.3 PIN mailers 559 16.5 Systemic vulnerabilities 560 16.5.1 Peculiarities of the threat model 562 16.5.2 Anti-gundecking measures 563 16.5.3 The effect of random failure 564 16.5.4 Materials control 564 16.5.5 Not protecting the right things 565 16.5.6 The cost and nature of inspection 566 16.6 Evaluation methodology 567 16.7 Summary 569 Research problems 569 Further reading 570 Chapter 17 Biometrics 571 17.1 Introduction 571 17.2 Handwritten signatures 572 17.3 Face recognition 575 17.4 Fingerprints 579 17.4.1 Verifying positive or negative identity claims 581 17.4.2 Crime scene forensics 584 17.5 Iris codes 588 17.6 Voice recognition and morphing 590 17.7 Other systems 591 17.8 What goes wrong 593 17.9 Summary 596 Research problems 597 Further reading 597 Chapter 18 Tamper Resistance 599 18.1 Introduction 599 18.2 History 601 18.3 Hardware security modules 601 18.4 Evaluation 607 18.5 Smartcards and other security chips 609 18.5.1 History 609 18.5.2 Architecture 610 18.5.3 Security evolution 611 18.5.4 Random number generators and PUFs 621 18.5.5 Larger chips 624 18.5.6 The state of the art 628 18.6 The residual risk 630 18.6.1 The trusted interface problem 630 18.6.2 Conflicts 631 18.6.3 The lemons market, risk dumping and evaluation games 632 18.6.4 Security-by-obscurity 632 18.6.5 Changing environments 633 18.7 So what should one protect? 634 18.8 Summary 636 Research problems 636 Further reading 636 Chapter 19 Side Channels 639 19.1 Introduction 639 19.2 Emission security 640 19.2.1 History 641 19.2.2 Technical surveillance and countermeasures 642 19.3 Passive attacks 645 19.3.1 Leakage through power and signal cables 645 19.3.2 Leakage through RF signals 645 19.3.3 What goes wrong 649 19.4 Attacks between and within computers 650 19.4.1 Timing analysis 651 19.4.2 Power analysis 652 19.4.3 Glitching and differential fault analysis 655 19.4.4 Rowhammer, CLKscrew and Plundervolt 656 19.4.5 Meltdown, Spectre and other enclave side channels 657 19.5 Environmental side channels 659 19.5.1 Acoustic side channels 659 19.5.2 Optical side channels 661 19.5.3 Other side-channels 661 19.6 Social side channels 663 19.7 Summary 663 Research problems 664 Further reading 664 Chapter 20 Advanced Cryptographic Engineering 667 20.1 Introduction 667 20.2 Full-disk encryption 668 20.3 Signal 670 20.4 Tor 674 20.5 HSMs 677 20.5.1 The xor-to-null-key attack 677 20.5.2 Attacks using backwards compatibility and time-memory tradeoffs 678 20.5.3 Differential protocol attacks 679 20.5.4 The EMV attack 681 20.5.5 Hacking the HSMs in CAs and clouds 681 20.5.6 Managing HSM risks 681 20.6 Enclaves 682 20.7 Blockchains 685 20.7.1 Wallets 688 20.7.2 Miners 689 20.7.3 Smart contracts 689 20.7.4 Off-chain payment mechanisms 691 20.7.5 Exchanges, cryptocrime and regulation 692 20.7.6 Permissioned blockchains 695 20.8 Crypto dreams that failed 695 20.9 Summary 696 Research problems 698 Further reading 698 Chapter 21 Network Attack and Defence 699 21.1 Introduction 699 21.2 Network protocols and service denial 701 21.2.1 BGP security 701 21.2.2 DNS security 703 21.2.3 UDP, TCP, SYN floods and SYN reflection 704 21.2.4 Other amplifiers 705 21.2.5 Other denial-of-service attacks 706 21.2.6 Email – from spies to spammers 706 21.3 The malware menagerie – Trojans, worms and RATs 708 21.3.1 Early history of malware 709 21.3.2 The Internet worm 710 21.3.3 Further malware evolution 711 21.3.4 How malware works 713 21.3.5 Countermeasures 714 21.4 Defense against network attack 715 21.4.1 Filtering: firewalls, censorware and wiretaps 717 21.4.1.1 Packet filtering 718 21.4.1.2 Circuit gateways 718 21.4.1.3 Application proxies 719 21.4.1.4 Ingress versus egress filtering 719 21.4.1.5 Architecture 720 21.4.2 Intrusion detection 722 21.4.2.1 Types of intrusion detection 722 21.4.2.2 General limitations of intrusion detection 724 21.4.2.3 Specific problems detecting network attacks 724 21.5 Cryptography: the ragged boundary 725 21.5.1 SSH 726 21.5.2 Wireless networking at the periphery 727 21.5.2.1 WiFi 727 21.5.2.2 Bluetooth 728 21.5.2.3 HomePlug 729 21.5.2.4 VPNs 729 21.6 CAs and PKI 730 21.7 Topology 733 21.8 Summary 734 Research problems 734 Further reading 735 Chapter 22 Phones 737 22.1 Introduction 737 22.2 Attacks on phone networks 738 22.2.1 Attacks on phone-call metering 739 22.2.2 Attacks on signaling 742 22.2.3 Attacks on switching and configuration 743 22.2.4 Insecure end systems 745 22.2.5 Feature interaction 746 22.2.6 VOIP 747 22.2.7 Frauds by phone companies 748 22.2.8 Security economics of telecomms 749 22.3 Going mobile 750 22.3.1 GSM 751 22.3.2 3G 755 22.3.3 4G 757 22.3.4 5G and beyond 758 22.3.5 General MNO failings 760 22.4 Platform security 761 22.4.1 The Android app ecosystem 763 22.4.1.1 App markets and developers 764 22.4.1.2 Bad Android implementations 764 22.4.1.3 Permissions 766 22.4.1.4 Android malware 767 22.4.1.5 Ads and third-party services 768 22.4.1.6 Pre-installed apps 770 22.4.2 Apple’s app ecosystem 770 22.4.3 Cross-cutting issues 774 22.5 Summary 775 Research problems 776 Further reading 776 Chapter 23 Electronic and Information Warfare 777 23.1 Introduction 777 23.2 Basics 778 23.3 Communications systems 779 23.3.1 Signals intelligence techniques 781 23.3.2 Attacks on communications 784 23.3.3 Protection techniques 785 23.3.3.1 Frequency hopping 786 23.3.3.2 DSSS 787 23.3.3.3 Burst communications 788 23.3.3.4 Combining covertness and jam resistance 789 23.3.4 Interaction between civil and military uses 790 23.4 Surveillance and target acquisition 791 23.4.1 Types of radar 792 23.4.2 Jamming techniques 793 23.4.3 Advanced radars and countermeasures 795 23.4.4 Other sensors and multisensor issues 796 23.5 IFF systems 797 23.6 Improvised explosive devices 800 23.7 Directed energy weapons 802 23.8 Information warfare 803 23.8.1 Attacks on control systems 805 23.8.2 Attacks on other infrastructure 808 23.8.3 Attacks on elections and political stability 809 23.8.4 Doctrine 811 23.9 Summary 812 Research problems 813 Further reading 813 Chapter 24 Copyright and DRM 815 24.1 Introduction 815 24.2 Copyright 817 24.2.1 Software 817 24.2.2 Free software, free culture? 823 24.2.3 Books and music 827 24.2.4 Video and pay-TV 828 24.2.4.1 Typical system architecture 829 24.2.4.2 Video scrambling techniques 830 24.2.4.3 Attacks on hybrid scrambling systems 832 24.2.4.4 DVB 836 24.2.5 DVD 837 24.3 DRM on general-purpose computers 838 24.3.1 Windows media rights management 839 24.3.2 FairPlay, HTML5 and other DRM systems 840 24.3.3 Software obfuscation 841 24.3.4 Gaming, cheating, and DRM 843 24.3.5 Peer-to-peer systems 845 24.3.6 Managing hardware design rights 847 24.4 Information hiding 848 24.4.1 Watermarks and copy generation management 849 24.4.2 General information hiding techniques 849 24.4.3 Attacks on copyright marking schemes 851 24.5 Policy 854 24.5.1 The IP lobby 857 24.5.2 Who benefits? 859 24.6 Accessory control 860 24.7 Summary 862 Research problems 862 Further reading 863 Chapter 25 New Directions? 865 25.1 Introduction 865 25.2 Autonomous and remotely-piloted vehicles 866 25.2.1 Drones 866 25.2.2 Self-driving cars 867 25.2.3 The levels and limits of automation 869 25.2.4 How to hack a self-driving car 872 25.3 AI / ML 874 25.3.1 ML and security 875 25.3.2 Attacks on ML systems 876 25.3.3 ML and society 879 25.4 PETS and operational security 882 25.4.1 Anonymous messaging devices 885 25.4.2 Social support 887 25.4.3 Living off the land 890 25.4.4 Putting it all together 891 25.4.5 The name’s Bond. James Bond 893 25.5 Elections 895 25.5.1 The history of voting machines 896 25.5.2 Hanging chads 896 25.5.3 Optical scan 898 25.5.4 Software independence 899 25.5.5 Why electronic elections are hard 900 25.6 Summary 904 Research problems 904 Further reading 905 Part III Chapter 26 Surveillance or Privacy? 909 26.1 Introduction 909 26.2 Surveillance 912 26.2.1 The history of government wiretapping 912 26.2.2 Call data records (CDRs) 916 26.2.3 Search terms and location data 919 26.2.4 Algorithmic processing 920 26.2.5 ISPs and CSPs 921 26.2.6 The Five Eyes’ system of systems 922 26.2.7 The crypto wars 925 26.2.7.1 The back story to crypto policy 926 26.2.7.2 DES and crypto research 927 26.2.7.3 CryptoWar 1 – the Clipper chip 928 26.2.7.4 CryptoWar 2 – going spotty 931 26.2.8 Export control 934 26.3 Terrorism 936 26.3.1 Causes of political violence 936 26.3.2 The psychology of political violence 937 26.3.3 The role of institutions 938 26.3.4 The democratic response 940 26.4 Censorship 941 26.4.1 Censorship by authoritarian regimes 942 26.4.2 Filtering, hate speech and radicalisation 944 26.5 Forensics and rules of evidence 948 26.5.1 Forensics 948 26.5.2 Admissibility of evidence 950 26.5.3 What goes wrong 951 26.6 Privacy and data protection 953 26.6.1 European data protection 953 26.6.2 Privacy regulation in the USA 956 26.6.3 Fragmentation? 958 26.7 Freedom of information 960 26.8 Summary 961 Research problems 962 Further reading 962 Chapter 27 Secure Systems Development 965 27.1 Introduction 965 27.2 Risk management 966 27.3 Lessons from safety-critical systems 969 27.3.1 Safety engineering methodologies 970 27.3.2 Hazard analysis 971 27.3.3 Fault trees and threat trees 971 27.3.4 Failure modes and effects analysis 972 27.3.5 Threat modelling 973 27.3.6 Quantifying risks 975 27.4 Prioritising protection goals 978 27.5 Methodology 980 27.5.1 Top-down design 981 27.5.2 Iterative design: from spiral to agile 983 27.5.3 The secure development lifecycle 985 27.5.4 Gated development 987 27.5.5 Software as a Service 988 27.5.6 From DevOps to DevSecOps 991 27.5.6.1 The Azure ecosystem 991 27.5.6.2 The Google ecosystem 992 27.5.6.3 Creating a learning system 994 27.5.7 The vulnerability cycle 995 27.5.7.1 The CVE system 997 27.5.7.2 Coordinated disclosure 998 27.5.7.3 Security incident and event management 999 27.5.8 Organizational mismanagement of risk 1000 27.6 Managing the team 1004 27.6.1 Elite engineers 1004 27.6.2 Diversity 1005 27.6.3 Nurturing skills and attitudes 1007 27.6.4 Emergent properties 1008 27.6.5 Evolving your workflow 1008 27.6.6 And finally… 1010 27.7 Summary 1010 Research problems 1011 Further reading 1012 Chapter 28 Assurance and Sustainability 1015 28.1 Introduction 1015 28.2 Evaluation 1018 28.2.1 Alarms and locks 1019 28.2.2 Safety evaluation regimes 1019 28.2.3 Medical device safety 1020 28.2.4 Aviation safety 1023 28.2.5 The Orange book 1025 28.2.6 FIPS 140 and HSMs 1026 28.2.7 The common criteria 1026 28.2.7.1 The gory details 1027 28.2.7.2 What goes wrong with the Common Criteria 1029 28.2.7.3 Collaborative protection profiles 1031 28.2.8 The ‘Principle of Maximum Complacency’ 1032 28.2.9 Next steps 1034 28.3 Metrics and dynamics of dependability 1036 28.3.1 Reliability growth models 1036 28.3.2 Hostile review 1039 28.3.3 Free and open-source software 1040 28.3.4 Process assurance 1042 28.4 The entanglement of safety and security 1044 28.4.1 The electronic safety and security of cars 1046 28.4.2 Modernising safety and security regulation 1049 28.4.3 The Cybersecurity Act 2019 1050 28.5 Sustainability 1051 28.5.1 The Sales of goods directive 1052 28.5.2 New research directions 1053 28.6 Summary 1056 Research problems 1057 Further reading 1058 Chapter 29 Beyond “Computer Says No” 1059 Bibliography 1061 Index 1143
Interaktive Datenvisualisierung in Wissenschaft und Unternehmenspraxis
Interaktive Visualisierungen gewinnen in Wissenschaft und Unternehmenspraxis zunehmend an Bedeutung. Neben der Analyse und Darstellung von Unternehmensdaten z.B. mit Hilfe moderner Data Science Methoden werden auch Visualisierungen und Animationen mit Hilfe von 3D und Virtual Reality/Augmented Reality Technologien immer wichtiger, etwa bei der Planung von Industrieanlagen, in der Architektur oder bei der Darstellung naturwissenschaftlicher Prozesse.Das vorliegende praxisorientierte Herausgeberwerk basiert auf Ergebnissen, die im Kontext der Tagung VISUALIZE an der Hochschule Rhein-Waal vorgestellt wurden und umfasst Beiträge unterschiedlicher Visualisierungsdomänen, darunter auch Business Intelligence Lösungen mit Qlik Sense, R, Shiny und Python. Die Visualisierungstechniken und konkreten Methoden aus begleitenden Workshops werden zu anwendungsnahen Handlungsempfehlungen und Best Practices für eigene Visualisierungsvorhaben zusammengefasst.Ein Buch für alle, die auf der Suche nach konkreten Handlungsempfehlungen und Praxisbeispielen zur interaktiven Datenvisualisierung sind.Dr. Timo Kahl ist Professor für Wirtschaftsinformatik an der Hochschule Rhein-Waal und leitet den Studiengang und das Labor für E-Government. Seine fachlichen Schwerpunkte liegen in den Bereichen Prozessmanagement, Verwaltungsmodernisierung, Business Integration und Business Intelligence.Dr. Frank Zimmer ist Professor für Informatik und Mathematik an der Hochschule Rhein-Waal und leitet das Labor für Computational Intelligence und Visualisierung. Seine fachlichen Schwerpunkte sind Maschinelles Lernen, Data Science, Simulationen und Visualisierung.Visualisierungen in 3D Anwendungen.-Visualisierungskonzepte und moderne Werkzeuge (Qlik Sense, R, Shiny, Python, Houdini, Unity, Unreal & Co.).-Prozess- und Datenvisualisierung.-Visualisierung im Kontext von Machine Learning.
Building Versatile Mobile Apps with Python and REST
Develop versatile iOS and Android apps using Python withRESTful web services. Dive into full-stack development with Django, a powerfulPython framework, and React Native, the most in-demand JavaScript library.Begin by building a mobile app using the RESTful APIs andReact Native. Starting from scratch, create a database and serialize the datawith Django REST to serve APIs. Then build the front-end with React and mobileapps for iOS and Android with React Native.By the end of the book, you’ll have developed three appspowered by Django—a desktop React app, an iOS app, and an Android app. Discoverthe whole process of developing apps from inception to distribution of an iOSapp in the Apple store and an Android app in the Google Play store.You will:* Develop using the Model-View-Controller pattern* Facilitate the communications between the back-end andfront-end of web apps with HTTP* Design a robust front-end for an app with React* Create one back-end solution for both iOS and Androiddevices with DjangoART YUDIN is a FinTech enthusiast who has a great passion for coding and teaching. He earned a Master of Science in Banking and Finance from Adelphi University, Garden City, New York. Mr. Yudin previously held asset management positions with international financial institutions such as Merrill Lynch and Allianz Investments. Currently, Art Yudin develops financial services software and leads classes and workshops in Python at Practical Programming in New York and Chicago.CHAPTER 1. STARTING WITH DJANGO- How modern websites work- Python and Virtual environment- Install Django and Django REST- Initial setup- Understanding the MVC pattern in Django- Starting new Django project and creating appsCHAPTER 2. LET’S BUILD OUR WEB API APP- Models- Admin- Views- URLsCHAPTER 3. CREATING RESTFUL API- Serializers- API Views- Browsable APICHAPTER 4. HOW IOS WORKS- Xcode interface- Intro to SwiftCHAPTER 5. DESIGNING OUR FRONT-END IOS APP- Setting up the structure of our App- Designing layoutChapter 6. CONNECTING BACK-END API WITH IOS APP- Creating an API Manager- Displaying data- List View- Detail View- Update ViewCHAPTER 7. ADDITIONAL FEATURES- User authentication- Adding reviews and displaying ratings- Adding places to favoritesChapter 8. LAUNCHING APP- Deploying back-end to a live server- Adding our App to App Store