Computer und IT
Grafisch programmieren, messen und steuern mit Processing
Ein Blick in die einschlägigen Internetforen zeigt, dass das Programmieren immer noch in der Gruppe der beliebten Hobbys rangiert. Wo dem Hobbyprogrammierer früher eine Reihe bekannter und populärer Programmiersprachen zur Verfügung standen, ist es heute relativ übersichtlich geworden: Außer C++, Java und Visual Basic gibt es wenig bekannte und beliebte Programmiersprachen. Was fehlt, ist eine Programmiersprache, die für Laien fast so einfach zu handhaben ist wie die alten BASIC-Versionen, deren Leistung und Features dennoch an die Möglichkeiten und die Power moderner Windows-Rechner angepasst sind. Diese Programmiersprache existiert und heißt Processing.Das vorliegende Buch führt den Leser in diese visuelle Programmiersprache ein. Das Buch richtet sich an Leser, die bereits allgemeine Erfahrungen im Umgang mit Programmiersprachen besitzen und wissen, worum es sich bei Strings, Arrays oder Schleifen handelt. Der Autor zeigt anhand vieler kurzer Programmbeispiele, wie einfach es ist, mit Processing auch leistungsfähige Software zu programmieren und sich dabei auf eine nur geringe Anzahl von Befehlen, Anweisungen und Funktionen zu beschränken.Die in diesem Buch vorgestellten Programme sind zum Teil Hardware-orientiert, wobei auch die Erfassung von Daten und die Steuerung von Hardware mittels des bekannten Mikrocontrollers Arduino einer Rolle spielt. Kurz und gut: Ein Buch für alle, die eine schnell und einfach zu programmierende Software mit elektronischer Hardware kombinieren und das Ganze über maßgeschneiderte Benutzeroberflächen steuern möchten.Kurt Diedrich ist gelernter Geologe und gehört zu den langjährigen freien Mitarbeitern des ElektorVerlags. Neben dem nun schon seit über 25 Jahren erfolgreichen "Dauerbrenner" Operationsverstärker gar nicht schwer stammen auch verschiedene Bücher zum Thema Programmierung aus seiner Feder. Auf seiner Webseite www.subroutine. info veröffentlicht er in unregelmäßigen Abständen die neuesten Ergebnisse seiner Arbeit.
Quantum Computer Systems: Research for Noisy Intermediate-Scale Quantum Computers
THIS BOOK TARGETS COMPUTER SCIENTISTS AND ENGINEERS WHO ARE FAMILIAR WITH CONCEPTS IN CLASSICAL COMPUTER SYSTEMS BUT ARE CURIOUS TO LEARN THE GENERAL ARCHITECTURE OF QUANTUM COMPUTING SYSTEMS. It gives a concise presentation of this new paradigm of computing from a computer systems' point of view without assuming any background in quantum mechanics. As such, it is divided into two parts. The first part of the book provides a gentle overview on the fundamental principles of the quantum theory and their implications for computing. The second part is devoted to state-of-the-art research in designing practical quantum programs, building a scalable software systems stack, and controlling quantum hardware components. Most chapters end with a summary and an outlook for future directions. This book celebrates the remarkable progress that scientists across disciplines have made in the past decades and reveals what roles computer scientists and engineers can play to enable practical-scale quantum computing.* Preface* Acknowledgments* List of Notations* Introduction* Think Quantumly About Computing* Quantum Application Design* Optimizing Quantum Systems--An Overview* Quantum Programming Languages* Circuit Synthesis and Compilation* Microarchitecture and Pulse Compilation* Noise Mitigation and Error Correction* Classical Simulation of Quantum Computation* Concluding Remarks* Bibliography* Authors' Biographies
The Modern Data Warehouse in Azure
Build a modern data warehouse on Microsoft's Azure Platform that is flexible, adaptable, and fast—fast to snap together, reconfigure, and fast at delivering results to drive good decision making in your business.Gone are the days when data warehousing projects were lumbering dinosaur-style projects that took forever, drained budgets, and produced business intelligence (BI) just in time to tell you what to do 10 years ago. This book will show you how to assemble a data warehouse solution like a jigsaw puzzle by connecting specific Azure technologies that address your own needs and bring value to your business. You will see how to implement a range of architectural patterns using batches, events, and streams for both data lake technology and SQL databases. You will discover how to manage metadata and automation to accelerate the development of your warehouse while establishing resilience at every level. And you will know how to feed downstream analytic solutions such as Power BI and Azure Analysis Services to empower data-driven decision making that drives your business forward toward a pattern of success.This book teaches you how to employ the Azure platform in a strategy to dramatically improve implementation speed and flexibility of data warehousing systems. You will know how to make correct decisions in design, architecture, and infrastructure such as choosing which type of SQL engine (from at least three options) best meets the needs of your organization. You also will learn about ETL/ELT structure and the vast number of accelerators and patterns that can be used to aid implementation and ensure resilience. Data warehouse developers and architects will find this book a tremendous resource for moving their skills into the future through cloud-based implementations.WHAT YOU WILL LEARN* Choose the appropriate Azure SQL engine for implementing a given data warehouse* Develop smart, reusable ETL/ELT processes that are resilient and easily maintained* Automate mundane development tasks through tools such as PowerShell* Ensure consistency of data by creating and enforcing data contracts* Explore streaming and event-driven architectures for data ingestion* Create advanced staging layers using Azure Data Lake Gen 2 to feed your data warehouseWHO THIS BOOK IS FORData warehouse or ETL/ELT developers who wish to implement a data warehouse project in the Azure cloud, and developers currently working in on-premise environments who want to move to the cloud, and for developers with Azure experience looking to tighten up their implementation and consolidate their knowledgeMATT HOW is a professional consultant and international conference speaker who is passionate about data, analytics, and automation. Having spoken at several large conferences across the world, he is committed to sharing knowledge and insight with the wider community. Specializing in the design and delivery of modern data warehouse solutions using the Microsoft Azure Platform, Matt focuses on simplicity and resilience above all when designing cloud solutions. With a growing focus on data science, he is now researching techniques to integrate artificial intelligence capabilities into the modern data warehouse at scale.1. The Rise of the Modern Data Warehouse2. The SQL Engine3. The Integration Engine4. The Ingestion Architecture5. The Role of the Data Lake6. The Role of the Data Contract7. Logging, Auditing, and Resilience8. Using Scripting & Automation9. Beyond the Modern Data Warehouse
Künstliche Intelligenz für Business Analytics
Waren Methoden der Künstlichen Intelligenz (KI) bis vor wenigen Jahren noch ausschließlich ein Thema von wissenschaftlichen Diskussionen, so finden sie heute zunehmend Eingang in Produkte des täglichen Lebens. Gleichzeitig wächst die Menge der produzierten und verfügbaren Daten aufgrund der zunehmenden Digitalisierung, der Integration digitaler Mess- und Regelsysteme und des automatischen Austausches zwischen Geräten (Internet of Things). Dabei wird zukünftig der Einsatz von Business Intelligence (BI) und ein Blick in die Vergangenheit für die meisten Unternehmen nicht mehr ausreichen.Um in Zukunft im Wettbewerb bestehen zu können, wird vielmehr Business Analytics benötigt, also vorausschauende und prädiktive Analysen und automatisierte Entscheidungen. Die Nutzung der wachsenden Datenmengen ist dabei eine bedeutende Herausforderung und einen der wichtigsten Bereiche der Datenanalyse stellen Methoden der Künstliche Intelligenz dar.Das Buch führt in komprimierter Form in die essenziellen Aspekte des Einsatzes von Methoden der Künstlichen Intelligenz für Business Analytics ein, stellt das Maschinelle Lernen und die wichtigsten Algorithmen in verständlicher Form anhand des Business Analytics Technologieframeworks vor und zeigt Anwendungsszenarien aus verschiedenen Branchen. Dazu liefert es mit dem Business Analytics Model for Artificial Intelligence ein Referenzvorgehensmodell zur Strukturierung von BA- und KI-Projekten im Unternehmen.FELIX WEBER ist Wissenschaftler an der Universität Duisburg-Essen mit den Forschungsschwerpunkten Digitalisierung, Künstliche Intelligenz, Preis-, Promotion- und Sortiments-Management und Transformationsmanagement. Am Lehrstuhl für Wirtschaftsinformatik und integrierte Informationssysteme ist er Gründer des Retail Artificial Intelligence Lab (retAIL) und gleichzeitig Senior Berater für SAP Systeme im Groß- und Einzelhandel. Er verbindet somit die aktuelle Praxis mit der wissenschaftlichen Forschung in diesem Teilbereich.Business Analytics - Künstliche Intelligenz - KI- und BA-Plattformen - Technologieframework und Vorgehensmodell als Referenz - Fallstudien zum Einsatz von KI-basierter Business Analytics
Bitcoin entdecken
Bitcoin ist die vielleicht größte Erfindung unserer Zeit. Trotzdem haben die meisten Menschen keine Ahnung was es ist, oder wie es funktioniert. Diese kurze Lektüre hilft, Bitcoin und seine Komponenten Schritt für Schritt zu entdecken und zu verstehen. Sie ist mit Sicherheit eine unerlässliche Grundlage, bevor man sich mit einer Investition auseinandersetzt. Es ist kein technisches Fachwissen erforderlich! Lies es und teile es dann mit deinen Liebsten."Nachdem ich praktisch jedes Bitcoin-Erklär-Buch gelesen habe, glaube ich, dass dies die beste Einführung in Bitcoin ist, die man initial lesen kann und keinerlei Vorkenntnisse erfordert. Ich werde von nun an Neulinge darauf hinweisen." Nic Carter, Castle Island Ventures"Es war viel rascher und leichter zu verstehen, als ich erwartet hatte [...] Nachdem ich es gelesen hatte, verkaufte ich einige meiner Altcoins für mehr Bitcoins. Ich stehe kurz davor, wegen Yan ein Maximalist zu werden." Nako Mbelle, Around The Coin Podcast"Die Erfindung von Bitcoin ist in letzter Zeit aus gutem Grund in aller Munde. Yan hat die vielleicht einfachste und informativste Einführung zu Bitcoin geschrieben" @cryptograffiti, Krypto-KünstlerYan Pritzker war in den letzten 20 Jahren als Entwickler und Startup-Unternehmer tätig. Zuletzt war er Mitbegründer und CTO von Reverb.com, wo er von 2012-2018 die Technologie und Infrastruktur leitete. Heute konzentriert er sich auf die Bitcoin-Bildungsarbeit und die Beratung von Startups in der frühen Phase. Seit 2020 ist er CTO der Bitcoin-Investment-App "Swan Bitcoin".
Game Programming with Unity and C#
Designed for beginners with no knowledge or experience in game development or programming, this book teaches the essentials of the Unity game engine, the C# programming language, and the art of object-oriented programming. New concepts are not only explained, but thoroughly demonstrated.Starting with an introduction to Unity, you'll learn about scenes, GameObjects, prefabs, components, and how to use the various windows to interact with the engine. You'll then dive into the fundamentals of programming by reviewing syntax rules, formatting, methods, variables, objects and types, classes, and inheritance, all while getting your hands dirty writing and testing code yourself. Later, the book explains how to expose script data in the Inspector and the basics of Unity’s serialization system.This carefully crafted work guides you through the planning and development of bare bones, simple game projects designed to exercise programming concepts while keeping less relevant interruptions out of the way, allowing you to focus on the implementation of game mechanics first and foremost. Through these example projects, the book teaches input handling, rigidbodies, colliders, cameras, prefab instantiation, scene loading, user interface design and coding, and more.By the end, you'll have built a solid foundation in programming that will pave your way forward in understanding core C# syntax and fundamentals of object-oriented programming—not just what to type but why it's typed and what it’s really doing. Game Programming with Unity and C# will send you on your way to becoming comfortable with the Unity game engine and its documentation and how to independently seek further information on yet-untouched concepts and challenges.WHAT YOU'LL LEARN* Understand the fundamentals of object-oriented computer programming, including topics specifically relevant for games.* Leverage beginner-to-intermediate-level skills of the C# programming language and its syntax.* Review all major component types of the Unity game engine: colliders and rigidbodies, lights, cameras, scripts, etc.* Use essential knowledge of the Unity game engine and its features to balance gameplay mechanics for making interesting experiences. WHO THIS BOOK IS FORBeginners who have no prior experience in programming or game development who would like to learn with a solid foundation that prepares them to further develop their skills.Casey Hardman is a hobbyist game developer, who found inspiration in the capacity for immersion and interactivity provided by games. His area of focus is the Unity game engine. He has nurtured a passion for video games since he was a child. In his early teens, this interest led him on a journey into the world of game design and programming. He is self-taught through a variety of personal projects, some small and some lofty. He has been regular contributor on various online game development platforms and spends far too much time in front of a keyboard.GAME PROGRAMMING WITH UNITY AND C#1: Installation and Setup2: Unity Basics3: Manipulating the Scene4: Parents and their Children5: Prefabs6: Programming Primer7: Code Blocks and Methods8: Conditions9: Working with Objects10: Working with Scripts11: Inheritance12: DebuggingGAME PROJECT 1: OBSTACLE COURSE13: Obstacle Course Design and Outline14: Player Movement15: Death and Respawning16: Basic Hazards17: Walls and Goals18: Patrolling Hazards19: Wandering Hazards20: Dashing21: Designing Levels22: Menus and UI23: In-Game Pause Menu24: Spike Traps25: Obstacle Course ConclusionGAME PROJECT 2: TOWER DEFENSE26: Tower Defense Design and Outline27: Camera Movement28: Enemies, Towers and Projectiles29: Build Mode30: Play Mode31: More Tower Types32: Tower Defense ConclusionGAME PROJECT 3: PHYSICS PLAYGROUND33: Physics Playground Design and Outline34: Mouse-aimed Camera35: Advanced 3D Movement36: Wall Jumping37: Pulling and Pushing38: Moving Platforms39: Joints and Swings40: Force Fields and Jump Pads41: Physics Playground Conclusion and More
Moving from Unity to Godot
Are you a Unity developer looking to switch to the Godot engine quickly? If so, this no-nonsense book is your guide to mastering the most popular open-source game engine.Godot is a completely free game engine for creating high-quality 2D and 3D games that can be launched on multiple platforms. You'll see how to transition seamlessly from Unity to Godot, getting up and running quickly and effectively, using practical case studies. In addition to building functional worlds from meshes and physical interactions, you'll work with reusable assets, such as textures.The book then moves on to lighting and rendering 2D and 3D scenes with baked and real-time lighting. You'll also work with navigation and path-finding for NPCs, and see how to create save-game states with JSON. With Moving from Unity to Godot you’ll be ready to create amazing 2D and 3D games that will supercharge your business.WHAT YOU WILL LEARN* Explore the similarities and differences between Unity and Godot* Maximize the benefits from Unity and Godot* Create believable game world and characters with Godot* Master the unique aspects of C# coding in GodotWHO THIS BOOK IS FORDevelopers familiar with Unity who want to master another game engine, such as Godot.Alan Thorn is an expert on leading technical teams for games development. He previously worked at Microsoft, Teesside University, Apress Publishing, and Disney. Alan specializes in helping “tech heads” thrive and flourish in their chosen fields. With 18-year game industry experience, Alan has written 28 books, presented 30 online courses, and created 33 games including the award-winning adventure, Baron Wittard: Nemesis of Ragnarok. Alan is dedicated to helping creative people make high-impact experiences. He was Studio Director at Wax Lyrical Games, a Senior Author at Linkedin Learning, and now he currently leads the prestigious MA program for Games Design and Development at the BAFTA-winning National Film and Television School, an incubation space for breakthrough gaming talent. Alan is a pioneer of the new “Open Stream” model of Transformative Learning, and he advises in higher education on disruptive curriculum content and instructional design. Alan speaks passionately worldwide about the future of interactive experiences. In this book, Alan Thorn clearly details Godot specific terminology, how to use its interface effectively, how scenes are structured, coding in C#, and optimal ways of working.CHAPTER 1: INTRODUCING GODOT - WHY MIGRATE?Chapter Goal: The Godot Engine is a free and powerful game engine. Learn why you should move from Unity to Godot. Explore the engine benefits and features in summarySub -Topics1. Godot engine introduction2. How to download and install3. Reasons to migrate4. Limitations and the futureCHAPTER 2: GODOT FUNDAMENTALSChapter Goal: The Godot engine has many similarities with Unity but also important differences. This chapter explores the core features of Godot for a first-time user looking to make a quick start.Sub - Topics1. Interface and controls2. Scenes and nodes3. Components and scripts4. Assets and resourcesCHAPTER 3: SCRIPTING WITH C# IN GODOT - COMMON TASKSChapter Goal: Godot supports several scripting languages for building gameplay. C# is a powerful choice. This chapter explores how to use C# to implement critical gameplay tasks easily.Sub - Topics:1. Getting started with C# scripting2. Events and responses3. Signals and Connections4. Processing nodes and scenesCHAPTER 4: MAKING A 2D GAMEChapter Goal: Learn how to make amazing looking scenes in 2D and 3D with Godot. This chapter explores materials, lights and post-processing to help you create believable, atmospheric worlds.Sub - Topics:1. Direct vs indirect illumination2. Directional, point and spotlights3. Baked lighting and global illumination4. Environments and effectsCHAPTER 5: NAVIGATION AND PATH-FINDINGChapter Goal: Create intelligent NPCs that can navigate around your scenes using the Godot Path-Finding Tools. Learn how to build navigation meshes and create steering behaviors for your NPCs.Sub - Topics:1. Build navigation meshes2. Refine and improve navigation tools3. Create intelligent NPCs4. Moving objectsCHAPTER 6: CODING A FIRST-PERSON CONTROLLER IN C#Chapter Goal: Build first-person functionality to create a first-person controller for 3D games. Allow your player to move and look around, and to collide with physical objects.Sub - Topics:1. Create movement behavior2. Add mouse look functionality3. Add physics and collision behavior4. Coding jumps and gravityCHAPTER 7: MINI-PROJECTS - CASE STUDIES IN GODOTChapter Goal: See practical, project samples in Godot for learning more advanced features. See how to save data, create coroutines, use visual scripting, and create animations.Sub - Topics:1. Coroutines2. Visual scripting3. Animating objects4. Saving game data
Privileged Attack Vectors
See how privileges, insecure passwords, administrative rights, and remote access can be combined as an attack vector to breach any organization. Cyber attacks continue to increase in volume and sophistication. It is not a matter of if, but when, your organization will be breached. Threat actors target the path of least resistance: users and their privileges.In decades past, an entire enterprise might be sufficiently managed through just a handful of credentials. Today’s environmental complexity has seen an explosion of privileged credentials for many different account types such as domain and local administrators, operating systems (Windows, Unix, Linux, macOS, etc.), directory services, databases, applications, cloud instances, networking hardware, Internet of Things (IoT), social media, and so many more. When unmanaged, these privileged credentials pose a significant threat from external hackers and insider threats. We are experiencing an expanding universe of privileged accounts almost everywhere.There is no one solution or strategy to provide the protection you need against all vectors and stages of an attack. And while some new and innovative products will help protect against or detect against a privilege attack, they are not guaranteed to stop 100% of malicious activity. The volume and frequency of privilege-based attacks continues to increase and test the limits of existing security controls and solution implementations.PRIVILEGED ATTACK VECTORS details the risks associated with poor privilege management, the techniques that threat actors leverage, and the defensive measures that organizations should adopt to protect against an incident, protect against lateral movement, and improve the ability to detect malicious activity due to the inappropriate usage of privileged credentials.This revised and expanded second edition covers new attack vectors, has updated definitions for privileged access management (PAM), new strategies for defense, tested empirical steps for a successful implementation, and includes new disciplines for least privilege endpoint management and privileged remote access.WHAT YOU WILL LEARN* Know how identities, accounts, credentials, passwords, and exploits can be leveraged to escalate privileges during an attack * Implement defensive and monitoring strategies to mitigate privilege threats and risk * Understand a 10-step universal privilege management implementation plan to guide you through a successful privilege access management journey* Develop a comprehensive model for documenting risk, compliance, and reporting based on privilege session activityWHO THIS BOOK IS FORSecurity management professionals, new security professionals, and auditors looking to understand and solve privilege access management problemsMOREY J. HABER is Chief Technology Officer at BeyondTrust. He has more than 20 years of IT industry experience, and has authored three Apress books: Asset Attack Vectors and Identity Attack Vectors, as well as the first edition of Privileged Attack Vectors. He joined BeyondTrust in 2012 as a part of the eEye Digital Security acquisition. He currently oversees BeyondTrust technology management solutions for vulnerability, and privileged and remote access. In 2004, he joined eEye as Director of Security Engineering and was responsible for strategic business discussions and vulnerability management architectures in Fortune 500 clients. Prior to eEye, he was Development Manager for Computer Associates, Inc. (CA), responsible for new product beta cycles and named customer accounts. He began his career as Reliability and Maintainability Engineer for a government contractor building flight and training simulators. He earned a Bachelor of Science degree in Electrical Engineering from the State University of New York at Stony Brook.
Learn Data Mining Through Excel
Use popular data mining techniques in Microsoft Excel to better understand machine learning methods.Software tools and programming language packages take data input and deliver data mining results directly, presenting no insight on working mechanics and creating a chasm between input and output. This is where Excel can help.Excel allows you to work with data in a transparent manner. When you open an Excel file, data is visible immediately and you can work with it directly. Intermediate results can be examined while you are conducting your mining task, offering a deeper understanding of how data is manipulated and results are obtained. These are critical aspects of the model construction process that are hidden in software tools and programming language packages.This book teaches you data mining through Excel. You will learn how Excel has an advantage in data mining when the data sets are not too large. It can give you a visual representation of data mining, building confidence in your results. You will go through every step manually, which offers not only an active learning experience, but teaches you how the mining process works and how to find the internal hidden patterns inside the data.WHAT YOU WILL LEARN* Comprehend data mining using a visual step-by-step approach* Build on a theoretical introduction of a data mining method, followed by an Excel implementation* Unveil the mystery behind machine learning algorithms, making a complex topic accessible to everyone* Become skilled in creative uses of Excel formulas and functions* Obtain hands-on experience with data mining and ExcelWHO THIS BOOK IS FORAnyone who is interested in learning data mining or machine learning, especially data science visual learners and people skilled in Excel, who would like to explore data science topics and/or expand their Excel skills. A basic or beginner level understanding of Excel is recommended.HONG ZHOU, PHD is a professor of computer science and mathematics and has been teaching courses in computer science, data science, mathematics, and informatics at the University of Saint Joseph for more than 15 years. His research interests include bioinformatics, data mining, software agents, and blockchain. Prior to his current position, he was as a Java developer in Silicon Valley. Dr. Zhou believes that learners can develop a better foundation of data mining models when they visually experience them step-by-step, which is what Excel offers. He has employed Excel in teaching data mining and finds it an effective approach for both data mining learners and educators.Chapter 1: Excel and Data MiningChapter 2: Linear RegressionChapter 3: K-Means ClusteringChapter 4: Linear discriminant analysisChapter 5: Cross validation and ROCChapter 6: Logistic regressionChapter 7: K-nearest neighborsChapter 8: Naïve Bayes classificationChapter 9: Decision TreesChapter 10: Association analysisChapter 11: Artificial Neural networkChapter 12: Text MiningChapter 13: After Excel
Essential Visual Studio 2019
Discover how Visual Studio 2019 can improve your development process.Visual Studio is an integral part of the daily life of millions of developers worldwide. Even as this rich integrated development environment approaches two decades, it has never ceased in innovating ways to make developers’ work life more productive.ESSENTIAL VISUAL STUDIO 2019 offers explicit guidance for the developer who is already familiar with Visual Studio, but might feel a little lost when it comes to understanding the more recent features and advances of the IDE. Busy developers simply don’t have the time to digest and distill what the latest and greatest tools are with each version. As a result, useful process and performance features may be overlooked. This book, by simply focusing on the most recent innovations in Visual Studio and its tangential developer market, is the perfect "go to" for bridging that gap.Be ready to plunge headfirst into key features and advances that have been added, expanded, or improved, and topics such as unit testing, refactoring, Git, debugging, containers, and more. You will procure the basic concepts and value first, before diving into hands-on code that is designed to quickly get you up and running.The goal of this book is to bring the developer up to speed on Visual Studio 2019. It does not focus just on functionality added in Visual Studio 2019, but takes a deep dive into the areas where Visual Studio 2019 changed. That way, even if you’re coming from much earlier versions of Visual Studio, you can easily discern how upgrading to Visual Studio 2019 can make you more productive.WHAT YOU WILL LEARN* Know how the new features and improvements in Visual Studio 2019 can make you more productive* Understand the value of modifications and when they can be used to take full advantage of this powerful IDE* Review changes to Visual Studio over the last two versions and see where the development process is heading* Discover the cloud-based, containerized, dev-ops-aware, and platform-flexible aspects of Visual Studio* Gain clarity on the areas that have the greatest impact to you personallyWHO THIS BOOK IS FORDevelopers who use Visual Studio on a daily basis. Familiarity with earlier versions is helpful, as the book is not a soup-to-nuts survey of the IDE and some basic functions will not be covered.BRUCE JOHNSON is co-founder and partner at ObjectSharp Consulting. He has more than three decades of experience, starting in UNIX, but then moved into the Windows development world. Over the course of his career, he gained expertise in rich client applications, web applications, and APIs, with a dash of database, microservices, and front-end development thrown in. After 20 years, it is almost impossible not to become a full-stack developer.Formerly a Microsoft MVP and MCT, Bruce enjoys teaching and presenting within the developer community. He has spoken hundreds of times at conferences and user groups throughout North America and Europe. He is the author of many books, articles, and columns. He can be reached on Twitter at @LACanuck and LinkedIn at bruce-johnson-95b468.Chapter 1: Installation and IDE DifferencesChapter 2: Assisted CodingChapter 3: Unit TestingChapter 4: Refactoring CodeChapter 5: Using Git in Visual Studio 2019Chapter 6: CollaborationChapter 7: Debugging and ProfilingChapter 8: Language-Specific ImprovementsChapter 9: Azure ToolingChapter 10: Containers and Orchestration
Pro Angular 9
THIS BOOK HAS ACCOMPANYING ONLINE FILES FOR ANGULAR 9, 10 AND 11; ALL EXAMPLES IN THE BOOK WORK WITHOUT CHANGES IN ANGULAR 10 OR 11.Welcome to this one-stop-shop for learning Angular. Pro Angular is the most concise and comprehensive guide available, giving you the knowledge you need to take full advantage of this popular framework for building your own dynamic JavaScript applications.The fourth edition of this full-color guide explains how to get the most from Angular, starting with an in-depth overview of the MVC pattern and presenting the range of benefits it can offer. From there, you will begin learning how to use Angular in your projects, starting with the nuts-and-bolts concepts, and progressing on to more advanced and sophisticated features. Each topic provides you with precisely enough learning and detail to be effective. In true Adam Freeman style, the most important features are given full court press treatment, while also addressing common problems and how to avoid them.WHAT YOU WILL LEARN:* Get access to accompanying online files for Angular 9, 10 and 11; book examples work without changes in Angular 10 or 11* Gain a solid architectural understanding of the MVC Pattern* Create rich and dynamic web app clients using Angular * Use the ng tools to create and build an Angular project* Extend and customize Angular* Acquire skills to unit test your Angular projectsWHO THIS BOOK IS FOR:This book is for web developers who want to create rich client-side applications. Foundational knowledge of HTML and JavaScript is recommended."Adam's books provide a finely tuned blend of architectural overview, technical depth, and experience-born wisdom. His clear, concise writing style, coupled with project driven real world examples, make me comfortable recommending his books to a broad audience, ranging from developers working with a technology for the first time to seasoned professionals who need to learn a new skill quickly."KEITH DUBLIN, SOLUTION PRINCIPAL, SLALOM CONSULTING“Adam’s books are the print version of a chat bot. His investment in learning how developers learn pays off in dividends, making this one of the most comprehensive resources available. Novices and experienced professionals alike will gain knowledge from the accessible and insightful material.”MARK DONILE, SOFTWARE ENGINEER, MS CSADAM FREEMAN is an experienced IT professional who has held senior positions in a range of companies, most recently serving as chief technology officer and chief operating officer of a global bank. Now retired, he spends his time writing and long-distance running.TOCPart I – Part 1 - Getting Started with Angular1. Getting Ready2. Your First Angular App3. Putting Angular in Context4. HTML and Bootstrap CSS Primer5. JavaScript and TypeScript Primer, Part 16. JavaScript and TypeScript Primer, Part 27. SportsStore: A Real Application8. SportsStore: Orders and Checkout9. SportsStore: Administration10. SportsStore: DeploymentPart II - Angular in Detail11. Creating an Angular Project12. Using Data Bindings13. Using the Built-In Directives14. Using Events and Forms15. Creating Attribute Directives16. Creating Structural Directives17. Understanding Components18. Using and Creating Pipes19. Using Services20. Using Service Providers21. Using and Creating ModulesPart III - Advanced Angular Features22. Creating the Example Project23. Using Reactive Extensions24. Making Asynchronous HTTP Requests25. Routing and Navigation, Part 126. Routing and Navigation, Part 227. Routing and Navigation, Part 328. Using Animation29. Angular Unit Testing
Pro Power BI Desktop
Deliver eye-catching and insightful business intelligence with Microsoft Power BI Desktop. This new edition has been updated to cover all the latest features of Microsoft’s continually evolving visualization product. New in this edition is help with storytelling—adapted to PCs, tablets, and smartphones—and the building of a data narrative. You will find coverage of templates and JSON style sheets, data model annotations, and the use of composite data sources. Also provided is an introduction to incorporating Python visuals and the much awaited Decomposition Tree visual.PRO POWER BI DESKTOPshows you how to use source data to produce stunning dashboards and compelling reports that you mold into a data narrative to seize your audience’s attention. Slice and dice the data with remarkable ease and then add metrics and KPIs to project the insights that create your competitive advantage. Convert raw data into clear, accurate, and interactive information with Microsoft’s free self-service BI tool.This book shows you how to choose from a wide range of built-in and third-party visualization types so that your message is always enhanced. You will be able to deliver those results on PCs, tablets, and smartphones, as well as share results via the cloud. The book helps you save time by preparing the underlying data correctly without needing an IT department to prepare it for you.WHAT YOU WILL LEARN* Deliver attention-grabbing information, turning data into insight* Find new insights as you chop and tweak your data as never before* Build a data narrative through interactive reports with drill-through and cross-page slicing* Mash up data from multiple sources into a cleansed and coherent data model* Build interdependent charts, maps, and tables to deliver visually stunning information* Create dashboards that help in monitoring key performance indicators of your business* Adapt delivery to mobile devices such as phones and tabletsWHO THIS BOOK IS FORPower users who are ready to step up to the big leagues by going beyond what Microsoft Excel by itself can offer. The book also is for line-of-business managers who are starved for actionable data needed to make decisions about their business. And the book is for BI analysts looking for an easy-to-use tool to analyze data and share results with C-suite colleagues they support.ADAM ASPIN is an independent business intelligence (BI) consultant based in the UK. He has worked with SQL Server for more than 25 years. During this time, he has developed several dozen reporting and analytical systems using Microsoft analytics.A graduate of Oxford University, Adam began his career in publishing before moving into IT. Databases soon became a passion, and his experience in this arena ranges from Access to Oracle and MySQL, with occasional sorties into the world of DB2. He is, however, most at home in the Microsoft universe using SQL Server, SQL Server Analysis Services, SQL Server Reporting Services, SQL Server Integration Services, and Power BI, both on-premises and in Azure.Business Intelligence has been Adam's principal focus for the last 25 years. He has applied his skills for a range of clients in industry sectors such as finance, utilities, telecommunications, insurance, manufacturing, and banking.Adam is a frequent contributor to SQLServerCentral.com and Simple-Talk. He has written numerous articles for various French IT publications. A fluent French speaker, Adam has worked in France and Switzerland for many years. He speaks regularly at events such as SQLBits, SQL Saturdays, and local SQL Server user groups.Adam is the author of the following Apress books: SQL Server Data Integration Recipes; High Impact Data Visualization with Power View, Power Map, and Power BI; Business Intelligence with SQL Server Reporting Services; and Data Mashup with Microsoft Excel (Apress).1. Discovering and Loading Data with Power BI Desktop2. Discovering and Loading File-Based Data with Power BI Desktop3. Discovering and Loading File-Based Data with Power BI Desktop4. DirectQuery and Connect Live5. Loading Data from the Web and the Cloud6. Loading Data from Other Data Sources7. Structuring Imported Data8. Data Transformation and Cleansing9. Restructuring Data10. Complex Data Loads11. Organizing, Managing, and Parameterizing Queries12. The M Language13. Creating a Data Model14. Table Visuals15. Matrix and Card Visuals16. Charts in Power BI Desktop17. Formatting Charts in Power BI Desktop18. Other Types of Visuals19. Third-Party Visuals20. Maps in Power BI Desktop21. Filtering Data22. Using Slicers23. Enhancing Dashboards24. Advanced Dashboarding Techniques25. Appendix A: Sample Data
Beginning Apache Spark Using Azure Databricks
Analyze vast amounts of data in record time using Apache Spark with Databricks in the Cloud. Learn the fundamentals, and more, of running analytics on large clusters in Azure and AWS, using Apache Spark with Databricks on top. Discover how to squeeze the most value out of your data at a mere fraction of what classical analytics solutions cost, while at the same time getting the results you need, incrementally faster.This book explains how the confluence of these pivotal technologies gives you enormous power, and cheaply, when it comes to huge datasets. You will begin by learning how cloud infrastructure makes it possible to scale your code to large amounts of processing units, without having to pay for the machinery in advance. From there you will learn how Apache Spark, an open source framework, can enable all those CPUs for data analytics use. Finally, you will see how services such as Databricks provide the power of Apache Spark, without you having to know anything aboutconfiguring hardware or software. By removing the need for expensive experts and hardware, your resources can instead be allocated to actually finding business value in the data.This book guides you through some advanced topics such as analytics in the cloud, data lakes, data ingestion, architecture, machine learning, and tools, including Apache Spark, Apache Hadoop, Apache Hive, Python, and SQL. Valuable exercises help reinforce what you have learned.WHAT YOU WILL LEARN* Discover the value of big data analytics that leverage the power of the cloud* Get started with Databricks using SQL and Python in either Microsoft Azure or AWS* Understand the underlying technology, and how the cloud and Apache Spark fit into the bigger picture * See how these tools are used in the real world* Run basic analytics, including machine learning, on billions of rows at a fraction of a cost or freeWHO THIS BOOK IS FORData engineers, data scientists, and cloud architects who want or need to run advanced analytics in the cloud. It is assumed that the reader has data experience, but perhaps minimal exposure to Apache Spark and Azure Databricks. The book is also recommended for people who want to get started in the analytics field, as it provides a strong foundation.ROBERT ILIJASON is a 20-year veteran in the business intelligence (BI) segment. He has worked as a contractor for some of Europe’s biggest companies and has conducted large-scale analytics projects within the areas of retail, telecom, banking, government, and more. He has seen his share of analytic trends come and go over the years, but unlike most of them, he strongly believes that Apache Spark in the cloud, especially with Azure Databricks, is a game changer.Chapter 1: Introduction to Large-Scale Data Analytics.- Chapter 2: Spark and Databricks.- Chapter 3: Getting Started with Databricks.- Chapter 4: Workspaces, Clusters, and Notebooks.- Chapter 5: Getting Data into Databricks.- Chapter 6: Querying Data Using SQL.- Chapter 7: The Power of Python.- Chapter 8: ETL and Advanced Data Wrangling.- Chapter 9: Connecting to and from Afar.- Chapter 10: Running in Production.- Chapter 11: Bits and Pieces.
Programming the Finite State Machine with 8-Bit PICs in Assembly and C
This practical guide is aimed at electronics students and hobbyists. It is intended to be a valuable aid in writing programs using Finite State Machines (FSMs) in assembly language using 8-bit PIC microcontrollers. The last two chapters introduce the use of the C programming language and make a direct comparison with development in Assembly.An FSM is a way of writing a program to make it easier to produce and modify. The machine is abstract in that it is just the structure of the program. This abstract machine can be represented by drawing a diagram on paper. The diagram is independent of the programming language used. The FSM chart gives a complete description of what the program does. It can then be implemented as source code.The book should appeal to those with an interest in the combination of electronics and software and have an interest in how things work. The book will describe writing code for two particular microcontrollers: The 12F1822 and 16F1823. Both are mid-range and inexpensive. To read and write the programs to and from the PICs, all that is required is an FTDI TTL level USB lead (TTL-232R-5V-WE) in addition to two programs that are both available for free download as executable files and source code from Elektor. Microsoft Windows or Linux can be used.The PIC programs are written in assembly language. This goes against the conventional wisdom of using a higher-level language such as C. One reason for this is that assembly is a good way of learning what is happening at the lowest level. This is important as microcontroller programming requires an understanding of the chip. Another reason for using the finite state machine approach is that it makes assembly programs surprisingly easy to follow. One of the main obstacles in the way of getting started with embedded programming is the installation and learning of new software tools.The emphasis of this book is on making things straightforward with as little complication as possible. Therefore you can concentrate on understanding the code. Real projects aren't just about coding: our software has to do something real. As a consequence, a chapter deals with a method of circuit board construction.All coding is done in a text editor of your choosing. The command line is used for running programs. If you are a Windows user, you might look at this as old fashioned. This is actually an efficient way of doing things: simple scripts for repetitive tasks save lots of mouse clicks. The last two chapters give an introduction to programming in C using the XC8 compiler. Again this is done using a text editor and the command line.The intention has been to achieve results using an inexpensive microcontroller with simple command line tools. Much emphasis is placed on using Microchip's datasheet as this is the best place to get correct detailed informationAndrew Pratt served for 25 years in the Royal Air Force as an Aircraft Technician. He holds a Higher National Certificate in electrical and electronicengineering and an Honours Degree from the Open University. He continued his career working in industrial controls.
Cyber Breach Response That Actually Works
YOU WILL BE BREACHED—THE ONLY QUESTION IS WHETHER YOU'LL BE READYA cyber breach could cost your organization millions of dollars—in 2019, the average cost of a cyber breach for companies was $3.9M, a figure that is increasing 20-30% annually. But effective planning can lessen the impact and duration of an inevitable cyberattack. Cyber Breach Response That Actually Works provides a business-focused methodology that will allow you to address the aftermath of a cyber breach and reduce its impact to your enterprise.This book goes beyond step-by-step instructions for technical staff, focusing on big-picture planning and strategy that makes the most business impact. Inside, you’ll learn what drives cyber incident response and how to build effective incident response capabilities. Expert author Andrew Gorecki delivers a vendor-agnostic approach based on his experience with Fortune 500 organizations.* Understand the evolving threat landscape and learn how to address tactical and strategic challenges to build a comprehensive and cohesive cyber breach response program* Discover how incident response fits within your overall information security program, including a look at risk management* Build a capable incident response team and create an actionable incident response plan to prepare for cyberattacks and minimize their impact to your organization* Effectively investigate small and large-scale incidents and recover faster by leveraging proven industry practices* Navigate legal issues impacting incident response, including laws and regulations, criminal cases and civil litigation, and types of evidence and their admissibility in courtIn addition to its valuable breadth of discussion on incident response from a business strategy perspective, Cyber Breach Response That Actually Works offers information on key technology considerations to aid you in building an effective capability and accelerating investigations to ensure your organization can continue business operations during significant cyber events.ANDREW GORECKI is a cybersecurity professional with experience across various IT and cybersecurity disciplines, including engineering, operations, and incident response. Originally from Europe, he provided consulting services across various industry sectors in the U.S., the UK, and other European countries. At the time of writing, he manages a team of incident response consultants within the X-Force IRIS competency of IBM Security where he leads investigations into large-scale breaches for Fortune 500 organizations, delivers proactive incident response services, and provides executive-level consulting on building and optimizing incident response programs. Foreword xxiiiIntroduction xxvCHAPTER 1 UNDERSTANDING THE BIGGER PICTURE 1Evolving Threat Landscape 2Identifying Threat Actors 2Cyberattack Lifecycle 4Cyberattack Preparation Framework 5Cyberattack Execution Framework 6Defining Cyber Breach Response 8Events, Alerts, Observations, Incidents, and Breaches 9Events 9Alerts 9Observations 10Incidents 10Breaches 11What is Cyber Breach Response? 12Identifying Drivers for Cyber Breach Response 13Risk Management 13Conducting Risk Management 13Risk Assessment Process 14Managing Residual Risk 17Cyber Threat Intelligence 18What is Cyber Threat Intelligence? 18Importance of Cyber Threat Intelligence 19Laws and Regulations 20Compliance Considerations 20Compliance Requirements for Cyber Breach Response 21Changing Business Objectives 22Incorporating Cyber Breach Response into aCybersecurity Program 23Strategic Planning 23Designing a Program 24Implementing Program Components 25Program Operations 26Continual Improvement 27Strategy Development 27Strategic Assessment 28Gap Analysis 28Maturity Assessment 30Strategy Definition 32Vision and Mission Statement 32Goals and Objectives 33Establishing Requirements 33Defining a Target Operating Model 35Developing a Business Case and Executive Alignment 35Strategy Execution 37Enacting an Incident Response Policy 37Assigning an Incident Response Team 38Creating an Incident Response Plan 38Documenting Legal Requirements 38Roadmap Development 39Governance 40Establishing Policies 40Enterprise Security Policy 41Issue-Specific Policies 41Identifying Key Stakeholders 42Executive Leadership 42Project Steering Committee 42Chief Information Security Officer 43Stakeholders with Interest in Cyber Breach Response 43Business Alignment 44Continual Improvement 44Necessity to Determine if the Program is Effective 45Changing Threat Landscape 45Changing Business Objectives 45Summary 46Notes 47CHAPTER 2 BUILDING A CYBERSECURITY INCIDENT RESPONSE TEAM 51Defining a CSIRT 51CSIRT History 52The Role of a CSIRT in the Enterprise 52Defining Incident Response Competencies and Functions 55Proactive Functions 55Developing and Maintaining Procedures 56Conducting Incident Response Exercises 56Assisting with Vulnerability Identification 57Deploying, Developing, and Tuning Tools 58Implementing Lessons Learned 59Reactive Functions 59Digital Forensics and Incident Response 59Cyber Threat Intelligence 60Malware Analysis 60Incident Management 61Creating an Incident Response Team 61Creating an Incident Response Mission Statement 62Choosing a Team Model 62Centralized Team Model 63Distributed Team Model 64Hybrid Team Model 65An Integrated Team 66Organizing an Incident Response Team 66Tiered Model 66Competency Model 68Hiring and Training Personnel 69Technical Skills 69Soft Skills 71Pros and Cons of Security Certifications 72Conducting Effective Interviews 73Retaining Incident Response Talent 74Establishing Authority 75Full Authority 75Shared Authority 76Indirect Authority 76No Authority 76Introducing an Incident Response Team to the Enterprise 77Enacting a CSIRT 78Defining a Coordination Model 78Communication Flow 80Incident Officer 80Incident Manager 81Assigning Roles and Responsibilities 82Business Functions 82Human Resources 82Corporate Communications 83Corporate Security 83Finance 84Other Business Functions 85Legal and Compliance 85Legal Counsel 85Compliance Functions 86Information Technology Functions 87Technical Groups 87Disaster Recovery 88Outsourcing Partners and Vendors 89Senior Management 89Working with Outsourcing Partners 90Outsourcing Considerations 91Proven Track Record of Success 91Offered Services and Capabilities 91Global Support 92Skills and Experience 92Outsourcing Costs and Pricing Models 92Establishing Successful Relationships with Vendors 93Summary 94Notes 95CHAPTER 3 TECHNOLOGY CONSIDERATIONS IN CYBER BREACH INVESTIGATIONS 97Sourcing Technology 98Comparing Commercial vs. Open Source Tools 98Commercial Tools 98Open Source Software 98Other Considerations 99Developing In-House Software Tools 100Procuring Hardware 101Acquiring Forensic Data 102Forensic Acquisition 102Order of Volatility 103Disk Imaging 103System Memory Acquisition 105Tool Considerations 106Forensic Acquisition Use Cases 107Live Response 108Live Response Considerations 109Live Response Tools 109Live Response Use Cases 112Incident Response Investigations in Virtualized Environments 113Traditional Virtualization 115Cloud Computing 115Forensic Acquisition 115Log Management in Cloud Computing Environments 117Leveraging Network Data in Investigations 118Firewall Logs and Network Flows 118Proxy Servers and Web Gateways 120Full-Packet Capture 120Identifying Forensic Evidence in Enterprise Technology Services 123Domain Name System 123Dynamic Host Confi guration Protocol 125Web Servers 125Databases 126Security Tools 127Intrusion Detection and Prevention Systems 127Web Application Firewalls 127Data Loss Prevention Systems 128Antivirus Software 128Endpoint Detection and Response 129Honeypots and Honeynets 129Log Management 130What is Logging? 130What is Log Management? 132Log Management Lifecycle 133Collection and Storage 134Agent-Based vs. Agentless Collection 134Log Management Architectures 135Managing Logs with a SIEM 137What is SIEM? 138SIEM Considerations 139Summary 140Notes 141CHAPTER 4 CRAFTING AN INCIDENT RESPONSE PLAN 143Incident Response Lifecycle 143Preparing for an Incident 144Detecting and Analyzing Incidents 145Detection and Triage 146Analyzing Incidents 146Containment, Eradication, and Recovery 147Containing a Breach 147Eradicating a Threat Actor 148Recovering Business Operations 149Post-Incident Activities 149Understanding Incident Management 150Identifying Process Components 151Defining a Process 151Process Controls 153Process Enablers 155Process Interfaces 155Roles and Responsibilities 158Service Levels 159Incident Management Workfl ow 160Sources of Incident Notifi cations 160Incident Classifi cation and Documentation 162Incident Categorization 163Severity Assignment 163Capturing Incident Information 167Incident Escalations 169Hierarchical Escalations 169Functional Escalation 169Creating and Managing Tasks 169Major Incidents 170Incident Closure 171Crafting an Incident Response Playbook 171Playbook Overview 171Identifying Workfl ow Components 173Detection 173Analysis 174Containment and Eradication 176Recovery 176Other Workflow Components 177Post-Incident Evaluation 177Vulnerability Management 177Purpose and Objectives 178Vulnerability Management Lifecycle 178Integrating Vulnerability Management and Risk Management 180Lessons Learned 180Lessons-Learned Process Components 181Conducting a Lessons-Learned Meeting 183Continual Improvement 184Continual Improvement Principles 184The Deming Cycle 184DIKW Hierarchy 185The Seven-Step Improvement Process 187Step 1: Define a Vision for Improvement 188Step 2: Define Metrics 188Step 3: Collect Data 189Step 4: Process Data 190Step 5: Analyze Information 191Step 6: Assess Findings and Create Plan 191Step 7: Implement the plan 192Summary 192Notes 193CHAPTER 5 INVESTIGATING AND REMEDIATING CYBER BREACHES 195Investigating Incidents 196Determine Objectives 197Acquire and Preserve Data 198Perform Analysis 200Contain and Eradicate 202Conducting Analysis 202Digital Forensics 203Digital Forensics Disciplines 203Timeline Analysis 205Other Considerations in Digital Forensics 206Cyber Threat Intelligence 207Cyber Threat Intelligence Lifecycle 208Identifying Attacker Activity with Cyber Threat Intelligence 209Categorizing Indicators 212Malware Analysis 214Classifying Malware 214Static Analysis 216Dynamic Analysis 217Malware Analysis and Cyber Threat Intelligence 217Threat Hunting 218Prerequisites to Threat Hunting 218Threat Hunting Lifecycle 219Reporting 221Evidence Types 223System Artifacts 223Persistent Artifacts 223Volatile Artifacts 225Network Artifacts 226Security Alerts 227Remediating Incidents 228Remediation Process 229Establishing a Remediation Team 230Remediation Lead 231Remediation Owner 232Remediation Planning 233Business Considerations 233Technology Considerations 234Logistics 235Assessing Readiness 235Consequences of Alerting the Attacker 236Developing an Execution Plan 237Containment and Eradication 238Containment 238Eradication 239Monitoring for Attacker Activity 240Summary 241Notes 242CHAPTER 6 LEGAL AND REGULATORY CONSIDERATIONS IN CYBER BREACH RESPONSE 243Understanding Breaches from a Legal Perspective 244Laws, Regulations, and Standards 244United States 245European Union 246Standards 246Materiality in Financial Disclosure 247Cyber Attribution 248Motive, Opportunity, Means 248Attributing a Cyber Attack 249Engaging Law Enforcement 251Cyber Insurance 252Collecting Digital Evidence 252What is Digital Evidence? 253Digital Evidence Lifecycle 253Information Governance 254Identification 254Preservation 255Collection 255Processing 255Reviewing 256Analysis 256Production 257Presentation 258Admissibility of Digital Evidence 258Federal Rules of Evidence 258Types of Evidence 260Direct Evidence 260Circumstantial Evidence 260Admission of Digital Evidence in Court 261Evidence Rules 261Hearsay Rule 261Business Records Exemption Rule 262Best Evidence 262Working with Legal Counsel 263Attorney-Client Privilege 263Attorney Work-Product 264Non-testifying Expert Privilege 264Litigation Hold 265Establishing a Chain of Custody 265What is a Chain of Custody? 266Establishing a Defensible Protocol 266Traditional Forensic Acquisition 267Live Response and Logical Acquisition 268Documenting a Defensible Protocol 269Documentation 269Accuracy 270Auditability and Reproducibility 270Collection Methods 270Data Privacy and Cyber Breach Investigations 271What is Data Privacy? 271Handling Personal Data During Investigations 272Enacting a Policy to Support Investigations 272Cyber Breach Investigations and GDPR 273Data Processing and Cyber Breach Investigations 274Establishing a Lawful Basis for the Processing of Personal Data 275Territorial Transfer of Personal Data 276Summary 277Notes 278Index 281
Django Standalone Apps
Develop standalone Django apps to serve as the reusable building blocks for larger Django projects. This book explores best practices for publishing these apps, with special considerations for testing Django apps, and strategies for extracting existing functionality into a separate package.This jumpstart reference is divided into four distinct and sequential sections, all containing short, engaging chapters that can be read in a modular fashion, depending on your level of experience. The first section covers the structure and scope of standalone Django apps. The second section digs into questions about pulling code out of existing projects and into new standalone apps for reuse. The third section details additional, advanced technical best practices toward making standalone apps as broadly useful as possible. The fourth and final section covers strategies for managing a published Django app.Django Standalone Apps is the perfect resource for developers who have at least some prior experience working with Django web applications and want to simplify their deployments and share their knowledge as open source packages.WHAT YOU'LL LEARN* Scope a standalone Django app project for optimum usefulness* Extract code from existing projects to reuse* Test a standalone app outside of your Django project* Reuse your own code for increased delivery cadence and code quality* Review best practices for maintaining a Django app packageWHO THIS BOOK IS FORProfessional developers who work with Django. Deep expertise is not required or expected, but readers should have working familiarity with Django.Ben is cofounder of a web development consultancy and has been working professionally with Django for almost a decade. He has architected and led development on Django-based web applications including, custom content management systems, media platforms, and multi tenant back office solutions.He lives in the Rochester, NY, area, and graduated from the University of Virginia with a degree in Economics. Previously he managed the data and analytics services for a market research firm and was an IT strategy consultant for a global management consulting firm. His own standalone apps include Django Organizations, a long term project for managing multi user accounts in Django projects.Chapter 1: Defining the Scope of a Django Standalone AppChapter 2: Structuring Django Standalone AppsChapter 3: TestingChapter 4: Model MigrationsChapter 5: TemplatesChapter 6: Using Static FilesChapter 7: Namespacing in Your AppChapter 8: Creating a Basic PackageChapter 9: Scooping and Drawing BoundariesChapter 10: Separating Your AppChapter 11: Adding Your App Back InChapter 12: Handling App SettingsChapter 13: InternationalizationChapter 14: Managing Version CompatibilityChapter 15: Mixed Dependency SupportChapter 16: ModularityChapter 17: Better PackagingChapter: 18: LicensingChapter: 19: Documenting Your Standalone AppChapter 20: Additional TestingChapter 21: AutomatingChapter 22: Databases and other backend specific considerationsChapter 23: CollaboratingChapter 24: Using App Templates
Microsoft Dynamics 365 Business Central
Das Anwenderbuch für den kompakten Einstieg in Microsoft Dynamics 365 Business Central!Als integrierte Unternehmenslösung unterstützt Microsoft Dynamics 365 Business Central durchgängig die Geschäftsprozesse in Unternehmen. Der Buchaufbau orientiert sich an den Unternehmensbereichen Beschaffung, Vertrieb, Lager, Produktion und Produktionsplanung sowie Finanzmanagement.Ausgehend von der Bedienung des Systems, Aspekten zur Systemeinrichtung und zugrunde liegenden Konzepten erklären die Autoren am Beispiel der verschiedenen Rollen, wie Sie die zentralen Geschäftsabläufe im Unternehmen abwickeln – vom Einkauf über die Produktion bis hin zum Vertrieb.Neben dem Umgang mit der Software lernen Sie auch, wie Geschäftsprozesse in Dynamics 365 Business Central abgebildet werden. Mithilfe von Schrittanleitungen lösen Sie zentrale Aufgaben im jeweiligen Fachgebiet und vertiefen Ihre neu erworbenen Kenntnisse. Michaela Gayer ist als Microsoft Certified Trainer für Microsoft Dynamics NAV tätig. Sie arbeitet bereits seit den 1990er Jahren mit dem Produkt und sammelte dabei Erfahrung in Programmierung, Consulting, Projektleitung, Verkauf und Training. Seit 2013 ist sie auch erfolgreich als Autorin für Videotrainings tätig.Christian Hauptmann ist freiberuflicher Trainer und Berater für Dynamics NAV in Österreich und Deutschland. Er arbeitet seit 20 Jahren mit Microsoft Dynamics NAV in zahlreichen Projekten und verfügt über umfangreiches Wissen in den verschiedenen Bereichen der ERP-Software.Jürgen Ebert arbeitet seit fast 25 Jahren als Berater, Trainer und Programmierer im Microsoft Dynamics NAV-Umfeld. Seit mehr als 10 Jahren ist er selbstständiger Microsoft Certified Business Management Solutions Specialist.Zu seinen Kunden zählen Marktführer in ihrer Branche ebenso wie „hidden champions“.
Pro ASP.NET Core 3
Now in its 8th edition, PRO ASP.NET CORE has been thoroughly updated for ASP.NET Core 3 and online for ASP.NET Core 5 and .NET 5.0. This comprehensive, full-color guide is the only book you need to learn ASP.NET Core development.Professional developers get ready to produce leaner applications for the ASP.NET Core platform. This edition puts ASP.NET Core 3 into context, and takes a deep dive into the tools and techniques required to build modern, extensible web applications. New features and capabilities such as MVC 3, Razor Pages, Blazor Server, and Blazor WebAssembly are covered, along with demonstrations of how they can be applied in practice.Following the same popular format and style found in previous editions, author Adam Freeman explains how to get the most out of ASP.NET Core 3. Starting with the nuts-and-bolts topics, he teaches readers about middleware components, built-in services, request model binding, and more. Moving along, he introduces increasingly more complex topics and advanced features, including endpoint routing and dependency injection.Written for professionals wanting to incorporate the latest functionality of ASP.NET Core 3 into their projects, this book also serves as a complete reference on ASP.NET Core. Beginners with some background in Microsoft web development will also greatly benefit from the in-depth coverage provided throughout.WHAT YOU WILL LEARN:* Build a solid foundation and skill set for working with the entire ASP.NET Core platform* Apply ASP.NET Core 3 and ASP.NET Core 5 features in your developer environment; plentiful reusable templates* See how to create RESTful web services, web applications, and client-side applications* Leverage existing knowledge to efficiently get up and running with new programming modelsADAM FREEMAN is an experienced IT professional who has held senior positions in a range of companies, most recently serving as chief technology officer and chief operating officer of a global bank. Now retired, he spends his time writing and long-distance running.“The Rolls-Royce of ASP.NET books, (or if you’re American, the Cadillac). Very thorough!”LES JACKSON, MCSD, DOTNET PLAYBOOK“The author’s instruction is direct, easy to understand and supplemented with clear code examples... Whether you are a beginner learning ASP.NET Core 3.1 app development, or an experienced professional ready to master advanced concepts, I consider this book a 'must have' for you!"JEREMY LIKNESS, SENIOR PROGRAM MANAGER, MICROSOFT“…the best single resource for teaching MVC web apps using ASP.NET. “CHARLES CARTER, MSCS, MSWE, JD, CLOUD APPLICATION DEVELOPMENT INSTRUCTOR, MICROSOFT SOFTWARE AND SYSTEMS ACADEMYADAM FREEMAN is an experienced IT professional who has held senior positions in a range of companies, most recently serving as chief technology officer and chief operating officer of a global bank. Now retired, he spends his time writing and long-distance running.Part 11. Putting ASP.NET Core into Context2. Getting Started3. Your First ASP.NET Core Application4. Using the Development Tools5. Essential C# Features6. Unit Testing ASP.NET Core Applications7. SportsStore8. SportsStore: Navigation & Cart9. SportsStore: Completing the Cart10. SportsStore: Adminstration11. SportsStore: Security & DeploymentPart 212. Understanding the ASP.NET Core Platform13. Using URL Routing14. Using Dependency Injection15. Using the Platform Features, Part 116. Using the Platform Features, Part 217. Working with DataPart 318. Creating the Example Project19. Creating RESTFul Web Services20. Advanced Web Service Features21. Using Controllers with Views22. Using Controllers with Views, Part 223. Using Razor Pages24. Using View Components25. Using Tag Helpers26. Using the Built-In Tag Helpers27. Using the Forms Tag Helpers28. Using Model Binding29. Using Model Validation30. Using Filters31. Creating Form ApplicationsPart 432. Creating the Example Application33. Using Blazor Server, Part 134. Using Blazor Server Part 235. Advanced Blazor Features36. Blazor Forms and Data37. Blazor Web Assembly38. Using ASP.NET Core Identity39. Applying ASP.NET Core Identity
Building Single Page Applications in .NET Core 3
Attention .NET developers who no longer want to use JavaScript for your front end. Quickly and efficiently learn how to use C# for your single-page application (SPA) thanks to Blazor.Today’s reality is that most modern applications are web-based and if you want the same user experience as a desktop application, you need to be able to create a single-page application. While there are multiple frameworks and libraries to choose from (including Angular, React, and VueJS), you still need to know how to code in JavaScript. But now there is another option from Microsoft. Blazor is an open-source framework that enables developers to create web applications using C# and HTML, and everything you need to get started is covered in this guide. You will learn the steps, through build-along coding examples, that will allow you to use the same language for both the front end and the back end of your application.This book is designed to get you comfortable creating a single-page application in the shortest time possible. Get ready to create a complete business application that teaches and reinforces the skills you need in a Blazor production environment.WHAT YOU WILL LEARN* Develop the front end of an application using C# and .NET Core* Use this quick-start for .NET developers who need to improve their application with a single-page front end* Take a code-first approach that models an actual business application* Gain insights for developing a high-functioning and maintainable application* Study guidance on repurposing your .NET skill setWHO THIS BOOK IS FORC# and .NET developers who have some experience in web developmentMICHELE APONTE is a programmer working with Java, .NET, and JavaScript at software and IT consulting companies in his native Italy since 1993. Combining his training, consulting, and development skills, in 2013 Michele founded “Blexin” to help customers migrate older software and systems to new technologies in order to improve their businesses. Passionate about programming, Michele embraces sharing with the community. He founded DotNetCampania, a Microsoft User Group in 2008, and has organized many regional conferences. Recognized as a Microsoft MVP, he often presents on Microsoft and JavaScript topics at tech conferences throughout Italy. Chapter 1: The Case for BlazorChapter 2: Blazor Server vs Blazor WebAssemblyChapter 3: Create Your Single Page ApplicationChapter 4: Build Your Reusable Blazor LibraryChapter 5: Deploy Your Application
Thinking in Pandas
Understand and implement big data analysis solutions in pandas with an emphasis on performance. This book strengthens your intuition for working with pandas, the Python data analysis library, by exploring its underlying implementation and data structures.Thinking in Pandas introduces the topic of big data and demonstrates concepts by looking at exciting and impactful projects that pandas helped to solve. From there, you will learn to assess your own projects by size and type to see if pandas is the appropriate library for your needs. Author Hannah Stepanek explains how to load and normalize data in pandas efficiently, and reviews some of the most commonly used loaders and several of their most powerful options. You will then learn how to access and transform data efficiently, what methods to avoid, and when to employ more advanced performance techniques. You will also go over basic data access and munging in pandas and the intuitive dictionary syntax. Choosing the right DataFrame format, working with multi-level DataFrames, and how pandas might be improved upon in the future are also covered.By the end of the book, you will have a solid understanding of how the pandas library works under the hood. Get ready to make confident decisions in your own projects by utilizing pandas—the right way.WHAT YOU WILL LEARN* Understand the underlying data structure of pandas and why it performs the way it does under certain circumstances* Discover how to use pandas to extract, transform, and load data correctly with an emphasis on performance* Choose the right DataFrame so that the data analysis is simple and efficient.* Improve performance of pandas operations with other Python librariesWHO THIS BOOK IS FORSoftware engineers with basic programming skills in Python keen on using pandas for a big data analysis project. Python software developers interested in big data.Hannah Stepanek is a software developer with a passion for performance and is an open source advocate. She has over seven years of industry experience programming in Python and spent about two of those years implementing a data analysis project using pandas.Hannah was born and raised in Corvallis, OR, and graduated from Oregon State University with a major in Electrical Computer Engineering. She enjoys engaging with the software community, often giving talks at local meetups as well as larger conferences. In early 2019, she spoke at PyCon US about the pandas library and at OpenCon Cascadia about the benefits of open source software. In her spare time she enjoys riding her horse Sophie and playing board games.
Modern Data Mining Algorithms in C++ and CUDA C
Discover a variety of data-mining algorithms that are useful for selecting small sets of important features from among unwieldy masses of candidates, or extracting useful features from measured variables.As a serious data miner you will often be faced with thousands of candidate features for your prediction or classification application, with most of the features being of little or no value. You’ll know that many of these features may be useful only in combination with certain other features while being practically worthless alone or in combination with most others. Some features may have enormous predictive power, but only within a small, specialized area of the feature space. The problems that plague modern data miners are endless. This book helps you solve this problem by presenting modern feature selection techniques and the code to implement them. Some of these techniques are:* Forward selection component analysis* Local feature selection* Linking features and a target with a hidden Markov model* Improvements on traditional stepwise selection* Nominal-to-ordinal conversionAll algorithms are intuitively justified and supported by the relevant equations and explanatory material. The author also presents and explains complete, highly commented source code.The example code is in C++ and CUDA C but Python or other code can be substituted; the algorithm is important, not the code that's used to write it.WHAT YOU WILL LEARN* Combine principal component analysis with forward and backward stepwise selection to identify a compact subset of a large collection of variables that captures the maximum possible variation within the entire set.* Identify features that may have predictive power over only a small subset of the feature domain. Such features can be profitably used by modern predictive models but may be missed by other feature selection methods.* Find an underlying hidden Markov model that controls the distributions of feature variables and the target simultaneously. The memory inherent in this method is especially valuable in high-noise applications such as prediction of financial markets.* Improve traditional stepwise selection in three ways: examine a collection of 'best-so-far' feature sets; test candidate features for inclusion with cross validation to automatically and effectively limit model complexity; and at each step estimate the probability that our results so far could be just the product of random good luck. We also estimate the probability that the improvement obtained by adding a new variable could have been just good luck. Take a potentially valuable nominal variable (a category or class membership) that is unsuitable for input to a prediction model, and assign to each category a sensible numeric value that can be used as a model input.WHO THIS BOOK IS FORIntermediate to advanced data science programmers and analysts.Timothy Masters has a PhD in statistics and is an experienced programmer. His dissertation was in image analysis. His career moved in the direction of signal processing, and for the last 25 years he's been involved in the development of automated trading systems in various financial markets.1) Introduction 72) Forward Selection Component Analysis 11A) Introduction to Forward Selection Component Analysis 12B) The Mathematics and Code Examples 16Maximizing the Explained Variance 18Code for the Variance Maximization Criterion 20Backward Refinement 24Multi-Threading Backward Refinement 28Orthogonalizing Ordered Components 36C) Putting It All Together 39Components From a Forward-Only Subset 44Components From a Backward Refined Subset 46D) An Example With Contrived Variables 483) Local Feature Selection 53A) Intuitive Overview of the Algorithm 54What This Algorithm Reports 60B) A Brief Detour: the Simplex Algorithm 62The Linear Programming Problem 63Interfacing to the Simplex Class 64A Little More Detail 67C) A More Rigorous Approach to LFS 69Intra-Class and Inter-Class Separation 73Computing the Weights 77Maximizing Inter-Class Separation 81Minimizing Intra-Class Separation 86Testing a Trial Beta 88A Quick Note on Threads 93D) CUDA Computation of Weights 94Integrating the CUDA Code Into the Algorithm 95Initializing the CUDA Hardware 97Computing Differences from the Current Case 100 Computing the Distance Matrix 102Computing the Minimum Distances 104Computing the Terms for the Weight Equation 112Transposing the Term Matrix 113Summing the Terms For the Weights 114Moving the Weights to the Host 116E) An Example of Local Feature Selection 117F) A Note on Run Time 1184) Memory in Time Series Features 119A) A Gentle Mathematical Overview 122The Forward Algorithm 123The Backward Algorithm 128Correct Alpha and Beta, For Those Who Care 131B) Some Mundane Computations 136Means and Covariances 136Densities 138The Multivariate Normal Density Function 139C) Starting Parameters 141 Outline of the Initialization Algorithm 141Perturbing Means 142Perturbing Covariances 143Perturbing Transition Probabilities 144A Note on Random Number Generators 145D) The Complete Optimization Algorithm 146Computing State Probabilities 147Updating the Means and Covariances 151Updating Initial and Transition Probabilities 153 E) Assessing HMM Memory in a Time Series 159F) Linking Features to a Target 164Linking HMM States to the Target 173A Contrived and Inappropriate Example 183A Sensible and Practical Example 1865) Stepwise Selection on Steroids 189A) The Feature Evaluation Model 192Code For the Foundation Model 193B) The Cross-Validated Performance Measure 198C) The Stepwise Algorithm 201Finding the First Variable 207Adding a Variable to an Existing Model 210D) Demonstrating the Algorithm Three Ways 2146) Nominal-to-Ordinal Conversion 217A) Implementation Overview 221B) Testing For a Legitimate Relationship 222C) An Example From Equity Price Changes 223D) Code for Nominal-to-Ordinal Conversion 227The Constructor 228Printing the Table of Counts 232Computing the Mapping Function 234Monte-Carlo Permutation Tests 2377) Index 353
Robust Methods for Dense Monocular Non-Rigid 3D Reconstruction and Alignment of Point Clouds
Vladislav Golyanik proposes several new methods for dense non-rigid structure from motion (NRSfM) as well as alignment of point clouds. The introduced methods improve the state of the art in various aspects, i.e. in the ability to handle inaccurate point tracks and 3D data with contaminations. NRSfM with shape priors obtained on-the-fly from several unoccluded frames of the sequence and the new gravitational class of methods for point set alignment represent the primary contributions of this book.ABOUT THE AUTHOR:VLADISLAV GOLYANIK is currently a postdoctoral researcher at the Max Planck Institute for Informatics in Saarbrücken, Germany. The current focus of his research lies on 3D reconstruction and analysis of general deformable scenes, 3D reconstruction of human body and matching problems on point sets and graphs. He is interested in machine learning (both supervised and unsupervised), physics-based methods as well as new hardware and sensors for computer vision and graphics (e.g., quantum computers and event cameras).VLADISLAV GOLYANIK is currently a postdoctoral researcher at the Max Planck Institute for Informatics in Saarbrücken, Germany. The current focus of his research lies on 3D reconstruction and analysis of general deformable scenes, 3D reconstruction of human body and matching problems on point sets and graphs. He is interested in machine learning (both supervised and unsupervised), physics-based methods as well as new hardware and sensors for computer vision and graphics (e.g., quantum computers and event cameras).Scalable Dense Non-rigid Structure from Motion.- Shape Priors in Dense Non-rigid Structure from Motion.- Probabilistic Point Set Registration with Prior Correspondences.- Point Set Registration Relying on Principles of Particle Dynamics.
Don't Teach Coding
THE DEFINITIVE RESOURCE FOR UNDERSTANDING WHAT CODING IS, DESIGNED FOR EDUCATORS AND PARENTSEven though the vast majority of teachers, parents, and students understand the importance of computer science in the 21st century, many struggle to find appropriate educational resources. Don't Teach Coding: Until You Read This Book fills a gap in current knowledge by explaining exactly what coding is and addressing why and how to teach the subject. Providing a historically grounded, philosophically sensitive description of computer coding, this book helps readers understand the best practices for teaching computer science to their students and their children.The authors, experts in teaching computer sciences to students of all ages, offer practical insights on whether coding is a field for everyone, as opposed to a field reserved for specialists. This innovative book provides an overview of recent scientific research on how the brain learns coding, and features practical exercises that strengthen coding skills. Clear, straightforward chapters discuss a broad range of questions using principles of computer science, such as why we should teach students to code and is coding a science, engineering, technology, mathematics, or language? Helping readers understand the principles and issues of coding education, this book:* Helps those with no previous background in computer science education understand the questions and debates within the field* Explores the history of computer science education and its influence on the present* Views teaching practices through a computational lens* Addresses why many schools fail to teach computer science adequately* Explains contemporary issues in computer science such as the language wars and trends that equate coding with essential life skills like reading and writingDon't Teach Coding: Until You Read This Book is a valuable resource for K-12 educators in computer science education and parents wishing to understand the field to help chart their children’s education path.STEPHEN R. FOSTER, PHD, is a researcher, author, and co-founder of several social enterprises with a mission to teach teachers how to teach coding. An expert in video game end-user programming and computer science education, Stephen has coded to generate peer-reviewed scientific results, coded to build educational technology solutions for teachers and students, and coded to bootstrap educational startups and non-profit organizations. LINDSEY D. HANDLEY, PHD, is a teacher, researcher, entrepreneur, author, and co-founder, with Stephen Foster, of ThoughtSTEM and MetaCoders.org, which have helped hundreds of thousands of beginning coders. She is a passionate advocate of both using science to improve education and of improving the teaching of science worldwide. About the Authors xiAcknowledgments xiiiINTRODUCTION 1Who is This Book For? 3Let’s Do It! 3CHAPTER 1: PROLOGUES 5A Wizard’s Tale 5The Sorting of Wizards 5The Call to Action 10A Language Without 10Our Strange Protagonists 10(cons 'Apple 'Soft) 13Tower of Babel 15Confessions 16Penances 17A Language Within 17Installing Languages 17Writing in Tongues 19Kiss, Gift, Poison 20Nova: Va o no va? 22Hello, Hello, Hello 23Languages Without 25Tongueless Languages 27Babbage’s Calculus Club 29Diffs 31Finite Descriptions of the Infinite 31Bottling the Human Will 33Machines Anchor Language 35Now That It’s Out of Our System 39Languages Within 40Signed Languages 42Silent Battles 43Our Strange Citizens of Broca’s Area 49CHAPTER 2: BEGINNINGS 51A Wizard’s Tale 51The Leap of Faith 51The Forge 53They Slept 56A Language Without 56Syntax – Building Materials 59A Meta-Linguistic Meander 60Back to Syntax 62Semantics: “When your eyes see this, do this with your mind . . . ” 63Checking Assumptions 65We Have a “Language.” Now What? 66A Language Within 66Cats 66Stories and Back Stories 71Ab(stract) 74Shortest Path: Dijkstra to You 75A Brave New Syntax 79Languages Without 81The Unwritten, Unwritable Backstory 83Three Old Friends: Language, Math, Algorithms 84Algorithms of Antiquity 88A Brief Story of Stories 90Languages Within 91Foreign Language: A Friend, Perhaps a Mentor 96Zapping Broca’s Area 97More Monkey Business 98CHAPTER 3: MIDDLES 101A Wizard’s Tale 101Purgatory 101Descent 103Ascent 105A Language Without 106(Stories (Within Stories)) 106Order Word 111Easing the Transition 113Magic Tricks 114A Language Within 122Implicit Learning 122Animation 122Napoleon’s Risky Maneuver 126Noughts and Crosses 131Round Stories; Square Frames 132Languages Without 133Illusions of Mind 133Dactylonomy: Digits to Digital 134Externalization 137The Spark of the Pascaline 139The Best of all Possible Languages 141Automatons 144King Ludd 147The Song for the Luddites 149Languages Within 152The Machine Within 152Potions for the Mind 152Science and Schools 154Mindset 156Metacognition 158Deliberate Practice 160Second LanguageAcquisition 160Krash Course 162Fluency and Expertise 164What It Feels Like to Upgrade Your Own Wetware 166Meta-teaching 168A Universal Educational Language 169The Loop of Being Human 173CHAPTER 4: ENDS 175A Wizard’s Tale 176Learn to Teach; Teach to Learn 176Montage 178Loop Back 183The Beginning 184A Language Without 184Our Road Thus Far 184Definitions 185Becoming the Machine 187Loops 188Mad Libs 190Turing Completeness 191Ifs 196Extending Language 199A Language Within 200So lernt man lernen: Der Weg zum Erfolg 200Designing Your Deck 207The System 210Unburdening Yourself 213Parting Exercises 214Languages Without 215The Flood and the Tower 215Soft is the New Hard, and the Old Hard 216Abstraction’s Arrow 218Languages Within 224The Education Bottleneck 224History’s First Coding Students 225(environment (mind (fluency))) 228Co-Authoring the EdTech Story 233Babbages and Lovelaces of Education 238This Final Section Has No Name 240CONCLUSION 241Next Steps: Learning Sciences 241Next Steps: Languages to Learn 242Next Steps: Coding 242Next Steps: Software Engineering 242Next Steps: Hacker Culture 243Next Steps: History 243Naming Things: Computer Science 244Naming Things: Philosophy of Mind 245Naming Things: Learning Science 245Thank You 246Bibliography 247Index 259
Artificial Intelligence for Business
Artificial Intelligence for Business: A Roadmap for Getting Started with AI will provide the reader with an easy to understand roadmap for how to take an organization through the adoption of AI technology. It will first help with the identification of which business problems and opportunities are right for AI and how to prioritize them to maximize the likelihood of success. Specific methodologies are introduced to help with finding critical training data within an organization and how to fill data gaps if they exist. With data in hand, a scoped prototype can be built to limit risk and provide tangible value to the organization as a whole to justify further investment. Finally, a production level AI system can be developed with best practices to ensure quality with not only the application code, but also the AI models. Finally, with this particular AI adoption journey at an end, the authors will show that there is additional value to be gained by iterating on this AI adoption lifecycle and improving other parts of the organization. JEFFREY L. COVEYDUC is Vice President and Master Inventor at IBM. His diverse background consists of positions that encompass the creation of innovative, technologically advanced global AI solutions and client adoption. JASON L. ANDERSON is a Partner and CTO with the data consultancy, Comp Three, where he established a new AI line of business. He is also a former IBM Cognitive Architect and Master Inventor. He received both BS and MS degrees in Computer Science from California Polytechnic State University, SLO. Preface ixAcknowledgments xiCHAPTER 1 INTRODUCTION 1Case Study #1: FANUC Corporation 2Case Study #2: H&R Block 4Case Study #3: BlackRock, Inc. 5How to Get Started 6The Road Ahead 10Notes 11CHAPTER 2 IDEATION 13An Artificial Intelligence Primer 13Becoming an Innovation-Focused Organization 23Idea Bank 25Business Process Mapping 27Flowcharts, SOPs, and You 28Information Flows 29Coming Up with Ideas 31Value Analysis 31Sorting and Filtering 34Ranking, Categorizing, and Classifying 35Reviewing the Idea Bank 37Brainstorming and Chance Encounters 38AI Limitations 41Pitfalls 44Action Checklist 45Notes 46CHAPTER 3 DEFINING THE PROJECT 47The What, Why, and How of a Project Plan 48The Components of a Project Plan 49Approaches to Break Down a Project 53Project Measurability 62Balanced Scorecard 63Building an AI Project Plan 64Pitfalls 66Action Checklist 69CHAPTER 4 DATA CURATION AND GOVERNANCE 71Data Collection 73Leveraging the Power of Existing Systems 81The Role of a Data Scientist 81Feedback Loops 82Making Data Accessible 84Data Governance 85Are You Data Ready? 89Pitfalls 90Action Checklist 94Notes 94CHAPTER 5 PROTOTYPING 97Is There an Existing Solution? 97Employing vs. Contracting Talent 99Scrum Overview 101User Story Prioritization 103The Development Feedback Loop 105Designing the Prototype 106Technology Selection 107Cloud APIs and Microservices 110Internal APIs 112Pitfalls 112Action Checklist 114Notes 114CHAPTER 6 PRODUCTION 117Reusing the Prototype vs. Starting from a Clean Slate 117Continuous Integration 119Automated Testing 124Ensuring a Robust AI System 128Human Intervention in AI Systems 129Ensure Prototype Technology Scales 131Cloud Deployment Paradigms 133Cloud API’s SLA 135Continuing the Feedback Loop 135Pitfalls 135Action Checklist 137Notes 137CHAPTER 7 THRIVING WITH AN AI LIFECYCLE 139Incorporate User Feedback 140AI Systems Learn 142New Technology 144Quantifying Model Performance 145Updating and Reviewing the Idea Bank 147Knowledge Base 148Building a Model Library 150Contributing to Open Source 155Data Improvements 157With Great Power Comes Responsibility 158Pitfalls 159Action Checklist 161Notes 161CHAPTER 8 CONCLUSION 163The Intelligent Business Model 164The Recap 164So What are You Waiting For? 168APPENDIX A AI EXPERTS 169AI Experts 169Chris Ackerson 169Jeff Bradford 173Nathan S. Robinson 175Evelyn Duesterwald 177Jill Nephew 179Rahul Akolkar 183Steven Flores 187APPENDIX B ROADMAP ACTION CHECKLISTS 191Step 1: Ideation 191Step 2: Defining the Project 191Step 3: Data Curation and Governance 192Step 4: Prototyping 192Step 5: Production 193Thriving with an AI Lifecycle 193APPENDIX C PITFALLS TO AVOID 195Step 1: Ideation 195Step 2: Defining the Project 196Step 3: Data Curation and Governance 199Step 4: Prototyping 203Step 5: Production 204Thriving with an AI Lifecycle 206Index 209