Computer und IT
Data Control
Businesses are becoming increasingly aware of the importance of data and information. As such, they are eager to develop ways to �manage� them, to enrich them and take advantage of them. Indeed, the recent explosion of a phenomenal amount of data, and the need to analyze it, brings to the forefront the well-known hierarchical model: �Data, Information, Knowledge�.Foreword ixAcknowledgements xiiiIntroduction xvCHAPTER 1. FROM DATA TO DECISION-MAKING: A MAJOR PATHWAY 11.1. Background on economic intelligence 21.2. Strategic economic intelligence revisited 31.2.1. The three major steps for decision support 31.2.2. Modeling the concept of strategic business intelligence 41.3. Conclusion 9CHAPTER 2. DATA: AN INDISPENSABLE PLATFORM FOR COMPANIES 112.1. The key figures of digital technology 142.1.1. Figures on social networks 202.1.2. Numbers: Big Data 222.1.3. Key figures: the Internet of Things 242.2. The power of data: a major challenge 282.3. The Big Data revolution, “Mega Data” 302.3.1. Understanding the world of Big Data 312.3.2. Open data: a new challenge 412.4. Developing the culture of data sharing 552.5. Storage of data in databases 562.6. The appearance of buzzwords: Big, Open, Viz, etc. 582.7. Conclusion 59CHAPTER 3. FROM DATA TO INFORMATION: ESSENTIAL TRANSFORMATIONS 633.1. Value creation from data processing 633.2. Value creation and analysis of open databases 693.3. From data to information: the “DataViz” or data visualization 733.4. From data to information: statistical processing 743.4.1. Phases of data processing 753.4.2. Processing the data 753.5. Turning mass data into an opportunity for innovation 813.6. Development of company assets in the web of data 873.7. Conclusion 91CHAPTER 4. INFORMATION: CONTEXTUALIZED AND MATERIALIZED DATA 934.1. What is information? 944.1.1. How can we define information? 944.2. Internal and external information 1004.2.1. Internal information 1004.2.2. External information 1004.3. Formal and informal information 1004.3.1. Formal information 1004.3.2. Informal information 1014.4. Importance of information 1014.4.1. White information 1014.4.2. Gray information 1014.4.3. Black information 1014.5. Décodex set up by Le Monde 1024.6. Conclusion 103CHAPTER 5. FROM INFORMATION TO KNOWLEDGE: VALUING AND INNOVATING 1055.1. Innovation as a driving force of growth 1055.1.1. Innovation and the intangible economy 1065.2. Knowledge: the key to innovation 1085.3. Building knowledge: economic intelligence 1095.3.1. The EI process and the transition from information to knowledge 1105.3.2. Managing the data warehouse to extract knowledge and insight 1115.4. Data mining, Statistica and Tibco 1145.5. Information an economic good? 1155.5.1. Innovation as a driving force of growth 1155.5.2. Strategic business intelligence 1165.6. What is data science? 1185.7. Conclusion 119CHAPTER 6. FROM KNOWLEDGE TO STRATEGIC BUSINESS INTELLIGENCE: DECISION-MAKING 1216.1. Data valuation mechanisms 1216.2. How do you value data? 1226.3. Data governance: a key factor in valuation 1326.4. EI: protection and enhancement of digital heritage 1386.5. Data analysis techniques: data mining/text mining 1436.6. Conclusion 148Conclusion 151Glossary 157References 159Index 173
Artificial Intelligence in Drug Discovery
Following significant advances in deep learning and related areas interest in artificial intelligence (AI) has rapidly grown. In particular, the application of AI in drug discovery provides an opportunity to tackle challenges that previously have been difficult to solve, such as predicting properties, designing molecules and optimising synthetic routes. Artificial Intelligence in Drug Discovery aims to introduce the reader to AI and machine learning tools and techniques, and to outline specific challenges including designing new molecular structures, synthesis planning and simulation. Providing a wealth of information from leading experts in the field this book is ideal for students, postgraduates and established researchers in both industry and academia.Introduction; The History of Artificial Intelligence and Chemistry; Chemical Topic Modelling – An Unsupervised Approach Originating from Text-mining to Organize Chemical Data; Deep Learning and Chemical Data; Concepts and Applications of Conformal Prediction in Computational Drug Discovery; Non-applicability Domain. The Benefits of Defining “I don’t know” in Artificial Intelligence; Predicting Protein-Ligand Binding-Affinities; Virtual Screening with Convolutional Neural Networks; Machine Learning in the Area of Molecular Dynamics Simulations; Compound Design Using Generative Neural Networks; Junction Tree Variational Autoencoder for Molecular Graph Generation; AI via Matched Molecular Pair Analysis; Molecular de novo Design Through Deep Generative Models; Active Learning for Drug Discovery and Automated Data Curation; Data-driven Prediction of Organic Reaction Outcomes; ChemOS: an Orchestration Software to Democratize Autonomous Discovery; Summary and Outlook
Educational System in a Globalized World
Educational System in a Globalize World is a book that will help individual situates themselves to earn income at home in teaching online. Also, taking classes online this book is your tools on how to guide yourself in taking classes online.
GraphQL
API-Design mit GraphQL für Um- und Einsteiger- Einführung in GraphQL und die GraphQL-Spezifikation- Beispielimplementierungen in Java und JavaScript- Vorteile und Unterschiede zu REST und anderen API-DesignsIn Anwendungen, bei denen es auf komplexe aber dennoch schlanke Datenabfragen ankommt, spielt GraphQL seine Vorteile aus. Dominik Kress gibt Ihnen dafür das nötige Wissen rund um API-Design und die GraphQL-spezifischen Datenmodelle an die Hand.Entwickler*innen, die bereits Erfahrungen mit APIs und beispielsweise REST gesammelt haben, können ihr Wissen auffrischen und dann direkt mit den Details von GraphQL starten.Zwei Praxisprojekte – eins in JavaScript und eins in Java – zeigen, wie Entwickler*innen mit den Besonderheiten von GraphQL umgehen können und wie ein Datenschema und die GraphQL-Spezifikation in der Praxis umgesetzt werden. Der Code der Projekte liegt auf GitHub zum Download bereit und lässt sich als idealen Ausgangspunkt für die ersten eigenen GraphQLProjekte nutzen. Dominik Kress ist Software Engineer mit Heimat im E-Commerce. In seiner langjährigen Arbeit bei der größten Retail-Gruppe Europas hilft er bei der Modernisierung der internationalen Onlineshop-Systeme. Bei der Transformation von einem klassischen On-Premise-Monolithen zu einer Cloud-basierten Self-Contained-Systems-Architektur entwickelte und vertiefte sich seine Liebe zum Thema APIs. Sowohl im Umfeld seiner Arbeit als auch in privaten Projekten probiert er sich leidenschaftlich gerne an neuen Technologien, Spezifikationen und Methodiken. Daher ist für ihn der Austausch von Wissen und Erfahrungen auf Veranstaltungen und Konferenzen, die er auch gerne selbst nebenbei organisiert, besonders wichtig.
Data Parallel C++
Learn how to accelerate C++ programs using data parallelism. This open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices—including GPUs, CPUs, FPGAs and AI ASICs—that are suitable to the problems at hand.This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group and Data Parallel C++ (DPC++), the open source compiler used in this book. Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems.WHAT YOU'LL LEARN* Accelerate C++ programs using data-parallel programming* Target multiple device types (e.g. CPU, GPU, FPGA)* Use SYCL and SYCL compilers * Connect with computing’s heterogeneous future via Intel’s oneAPI initiativeWHO THIS BOOK IS FORThose new data-parallel programming and computer programmers interested in data-parallel programming using C++.James Reinders is a consultant with more than three decades experience in Parallel Computing, and is an author/co-author/editor of nine technical books related to parallel programming. He has had the great fortune to help make key contributions to two of the world's fastest computers (#1 on Top500 list) as well as many other supercomputers, and software developer tools. James finished 10,001 days (over 27 years) at Intel in mid-2016, and now continues to write, teach, program, and do consulting in areas related to parallel computing (HPC and AI).Chapter 1: IntroductionSets expectation that book describes SYCL 1.2.1 with Intel extensions, and that most extensions are proof points of features that should end up in a future version of SYCL. Overview notion of different accelerator architectures doing well on different workloads, and introduce accelerator archs (but don’t overdo the topic). Overview/level setting on parallelism and relevant terminology, language landscape, SYCL history.• SYCL key feature overview (single source, C++, multi-accelerator) - intended to draw people in and show simple code• Language versions and extensions covered by this book• Mixed-architecture compute and modern architectures• Classes of parallelism• Accelerator programming landscape (OpenMP, CUDA, TBB, OpenACC, AMD HCC, Kokkos, RAJA)• Evolution of SYCLChapter 2: Where code executesDescribes which parts of code run natively on CPU versus on "devices". Differentiate between accelerator devices and the "host device". Show more code to increase reader familiarity with program structure.• Single source programming model• Built-in device selectors• Writing a custom device selectorChapter 3: Data management and ordering the uses of dataOverview the primary ways that data is accessible by both host and device(s): USM and buffers. Introduce command groups as futures for execution, and concept of dependencies between nodes forming a DAG.• Intro• Unified Shared Memory• Buffers• DAG mechanismChapter 4: Expressing parallelismThe multiple alternative constructs for expressing parallelism are hard to comprehend from the spec, and for anyone without major parallel programming experience. This chapter must position the parallelism mechanisms relative to each other, and leave the reader with a conceptual understanding of each, plus an understand of how to use the most common forms.• Parallelism within kernels• Overview of language features for expressions of parallelism• Basic data parallel kernels• Explicit ND-Range kernels• Hierarchical parallelism kernels• Choosing a parallelism/coding styleChapter 5: Error handlingSYCL uses C++-style error handling. This is different/more modern than people using OpenCL and CUDA are used to. This chapter must frame the differences, and provide samples from which readers can manage exceptions easily in their code.• Exception-based• Synchronous and asynchronous exceptions• Strategies for error management• Fallback queue mechanismChapter 6: USM in detailUSM is a key usability feature when porting code, from C++ for example. When mixed with differing hardware capabilities, the USM landscape isn’t trivial to understand. This key chapter must leave the reader with an understanding of USM on different hardware capabilities, what is guaranteed at each level, and how to write code with USM features.• Usability• Device capability levels• Allocating memory• Use of data in kernels• Sharing of data between host and devices• Data ownership and migration• USM as a usability feature• USM as a performance feature• Relation to OpenCL SVMChapter 7: Buffers in detailBuffers will be available on all hardware, and are an important feature for people writing code that doesn’t have pointer-based data structures, particularly when implicit dependence management is desired. This chapter must cover the more complex aspects of buffers in an accessible waym, including when data movement is triggered, sub-buffer dependencies, and advanced host/buffer synchronization (mutexes).• Buffer construction• Access modes (e.g. discard_write) and set_final_data• Device accessors• Host accessors• Sub-buffers for finer grained DAG dependencies• Explicit data motion• Advanced buffer data sharing between device and hostChapter 8: DAG scheduling in detailMust describe the DAG mechanism from a high level, which the spec does not do. Must describe the in-order simplifications, and common gotchas that people hit with the DAG (e.g. read data before buffer destruction and therefore kernel execution).• Queues• Common gotchas with DAGs• Synchronizing with the host program• Manual dependency managementChapter 9: Local memory and work-group barriers• "Local" memory• Managing "local" memory• Work-group barriersChapter 10: Defining kernels• Lambdas• Functors• OpenCL interop objectsChapter 11: Vectors• Vector data types• Swizzles• Mapping to hardwareChapter 12: Device-specific extension mechanism• TBDChapter 13: Programming for GPUs• Use of sub-groups• Device partitioning• Data movement• Images and samplers• TBDChapter 14: Programming for CPUs• Loop vectorization• Use of sub-groups• TBDChapter 15: Programming for FPGAs• Pipes• Memory controls• Loop controlsChapter 16: Address spaces and multi_ptr• Address spaces• The multi_ptr class• Intefacing with external codeChapter 17: Using libraries• Linking to external code• Exchanging data with librariesChapter 18: Working with OpenCL• Interoperability• Program objects• Build options• Using SPIR-V kernelsChapter 19: Memory model and atomics• The memory model• Fences• Buffer atomics• USM atomics
Machine Learning in the Oil and Gas Industry
Apply machine and deep learning to solve some of the challenges in the oil and gas industry. The book begins with a brief discussion of the oil and gas exploration and production life cycle in the context of data flow through the different stages of industry operations. This leads to a survey of some interesting problems, which are good candidates for applying machine and deep learning approaches. The initial chapters provide a primer on the Python programming language used for implementing the algorithms; this is followed by an overview of supervised and unsupervised machine learning concepts. The authors provide industry examples using open source data sets along with practical explanations of the algorithms, without diving too deep into the theoretical aspects of the algorithms employed. Machine Learning in the Oil and Gas Industry covers problems encompassing diverse industry topics, including geophysics (seismic interpretation), geological modeling, reservoir engineering, and production engineering.Throughout the book, the emphasis is on providing a practical approach with step-by-step explanations and code examples for implementing machine and deep learning algorithms for solving real-life problems in the oil and gas industry.WHAT YOU WILL LEARN* Understanding the end-to-end industry life cycle and flow of data in the industrial operations of the oil and gas industry* Get the basic concepts of computer programming and machine and deep learning required for implementing the algorithms used* Study interesting industry problems that are good candidates for being solved by machine and deep learning* Discover the practical considerations and challenges for executing machine and deep learning projects in the oil and gas industryWHO THIS BOOK IS FORProfessionals in the oil and gas industry who can benefit from a practical understanding of the machine and deep learning approach to solving real-life problems.Yogendra Pandey is a senior product manager at Oracle Cloud Infrastructure. He has more than 14 years of experience in orchestrating intelligent systems for the oil and gas, utilities, and chemical industries. He has worked in different capacities with oil and gas, and utilities companies, including Halliburton, ExxonMobil, and ADNOC. Yogendra holds a bachelor’s degree in chemical engineering from the Indian Institute of Technology (BHU), and a PhD from the University of Houston, with specialization in high-performance computing applications to complex engineering problems. He served as an executive editor for the Journal of Natural Gas Science and Engineering. Also, he has authored/co-authored more than 25 peer-reviewed journal articles, conference publications, and patent applications. He is a member of the Society of Petroleum Engineers.Ayush Rastogi is a data scientist at BPX Energy, Denver CO. His research interests are based on multi-phase fluid flow modeling and integrating physics-based and data-driven algorithms to develop robust predictive models. He has published his work in the field of machine learning and data-driven predictive modeling in the oil and gas industry. He has previously worked with Liberty Oilfield Services in the technology team in Denver, prior to which he worked as a field engineer in TX, ND, and CO as a part of his internship. He also has experience working as a petroleum engineering consultant in Houston, TX. Ayush holds a PhD in petroleum engineering with a minor in computer science from Colorado School of Mines, and is an active member of the Society of Petroleum Engineers.Sribharath Kainkaryam leads a team of data scientists and data engineers at TGS. Prior to joining TGS in 2018, he was a research scientist working on imaging and velocity model building challenges at Schlumberger. He graduated with a masters in computational geophysics from Purdue University and has an undergraduate degree from the Indian Institute of Technology, Kharagpur.Srimoyee Bhattacharya is a reservoir engineer in the Permian asset team in the Shell Exploration and Production Company. She has over 11 years of combined academic and professional experience in the oil and gas industry. She has worked in reservoir modeling, enhanced oil recovery, history matching, fracture design, production optimization, proxy modelling, and applications of multivariate analysis methods. She also worked with Halliburton as a research intern on digitalization of oil fields and field-wide data analysis using statistical methods. Srimoyee holds a PhD in chemical engineering from the University of Houston, and a bachelor’s degree from the Indian Institute of Technology, Kharagpur. She has served as a technical reviewer for the SPE Journal, Journal of Natural Gas Science and Engineering, and Journal of Sustainable Energy Engineering. She has authored/co-authored more than 25 peer-reviewed journal articles, conference publications, technical reports, and patent application.Luigi Saputelli is a reservoir management expert advisor to ADNOC and Frontender Corporation with over 28 years of experience. He worked in various operators and services companies around the world including PDVSA, Hess, and Halliburton. He is a founding member of the Real-time Optimization TIG and Petroleum Data-driven Analytics technical section of the Society of Petroleum Engineers, and recipient of the 2015 Society of Petroleum Engineers international production and operations award. He also received the 2007 employee of the year award from Halliburton. He has published more than 90 industry papers on applied technologies related to reservoir management, real-time optimization, and production operations. Saputelli is an electronic engineer with a masters in petroleum engineering, and a PhD in chemical engineering. He also serves as managing partner in Frontender Corporation, a petroleum engineering services firm based in Houston.MACHINE LEARNING IN THE OIL AND GAS INDUSTRY WITH PYTHONChapter 1: Towards Oil and Gas 4.0Chapter Goal: This chapter provides an overview of the digital transformation state-of-the-art in the Oil & Gas industry. The overview includes a literature review of the publications from the academic and industrial institutions, available in the public domain. It follows a theme of end-to-end Oil & Gas exploration and production project lifecycle.CHAPTER 2: PYTHON PROGRAMMING PRIMERChapter Goal: This chapter provides a brief primer of the Python programming language. The idea is to make the user familiar with the basic syntax on Python programming language. This chapter also briefly touches on the numpy, pandas, and a selected visualization (to be selected from matplotlib/seaborn/bokeh) library.CHAPTER 3: OVERVIEW OF MACHINE AND DEEP LEARNING CONCEPTSChapter Goal: This chapter introduces supervised and unsupervised machine learning concepts with the code examples using simplistic and clean data sets. The aim is to provide readers with understanding of practical concepts of different machine and deep learning algorithms, along with simple coding examples. Scikit-learn and Keras will be used for machine and deep learning code samples respectively.CHAPTER 4: GEOPHYSICS AND SEISMIC DATA PROCESSINGChapter Goal: This chapter will focus on using seismic data available from open data sources, e.g., Equinor Volve project, to provide two example applications for seismic data interpolation, and fault identification. Further, it will also discuss other problems, such as, horizon identification, and salt dome identification, without going in to too much details, while providing enough pointers and resources to the interested users.CHAPTER 5: GEOMODELINGChapter Goal: This chapter focuses on the geological modeling problems, including unsupervised learning for clustering different rock types based upon the petrophysical well logs, and estimation of the petrophysical properties away from the well locations by applying supervised machine learning techniques.CHAPTER 6: RESERVOIR ENGINEERINGChapter Goal: This chapter focused on the approaches for developing machine learning based proxy models to replace a full-physics reservoir simulator, and the use of these proxy models for generating production forecasts. The chapter will also cover related topics of interest including well placement optimization, and planning future wells based upon the historical production data.CHAPTER 7: PRODUCTION ENGINEERINGChapter Goal: This chapter will cover the topic of production modeling using machine learning methodologies. The topics will include identification of specific completion design for a well to achieve optimal production rates, and identifying the producing wells, which may benefit from the workover activities. A part of chapter will also provide methodology for equipment failure analytics, and predictive maintenance for production equipment, e.g., electrical submersible pumps (ESPs).CHAPTER 8: OPPORTUNITIES, CHALLENGES, AND EXPECTED FUTURE TRENDSChapter Goal: This chapters gleans over the challenges arising in the execution of the machine learning based digital transformation projects, the pitfalls leading to the project failure. Also, the opportunities that inherently lie in addressing these challenges are discussed from both the executive and practitioners’ perspective. Finally, an overview of the expected roadmap for the industry over the next decade will be discussed.
Beginning e-Textile Development
Electronic textiles (e-textiles) involves the combination of electronics and textiles to form "smart" textile products. It is an emerging technology with immense opportunities in the field of wearables fashion technology. And while there are many e-textile development platforms available on the market, this book uses the Wearic smart textile kit, a modular prototyping platform, to get you building projects and experiments easily and quickly.This book presents the essential skills required to get started developing e-textiles. The code presented is built using MakeCode blocks, an easy-to-use visual programming language. You'll use the BBC micro:bit microcontroller for all the projects, and with few exceptions, they require no soldering and wiring. In the end, you'll be able to apply and sew electronics to wearables, garments, and fabrics in this emerging technology.Beginning e-Textile Development presents the essential components to get you started with developing e-textiles.WHAT YOU'LL LEARN* Program with the BBC micro:bit* Add lights to your wearables using LED textiles* Use different textile sensors to measure heat, detect water, actuate attachments, and enable sense touch and pressure* Actuate attachments on wearables with muscle activity and heartbeat* Make chemistry-based color-changing fabrics using thermochromic pigments* Utilize Bluetooth Low Energy to send sensor data to mobile apps and WiFi to send sensor data to the ThingSpeak IoT analytics platform serviceWHO THIS BOOK IS FORBeginners to the e-textile industry seeking a comprehensive toolkit. Fashion designers, Makers, engineers, scientists, and students can all benefit from this book.Pradeeka Seneviratne is a software engineer with over 10 years of experience in computer programming and systems design. He is an expert in the development of Arduino and Raspberry Pi-based embedded systems and is currently a full-time embedded software engineer working with embedded systems and highly scalable technologies. Previously, Pradeeka worked as a software engineer for several IT infrastructure and technology servicing companies.Chapter 1. Getting StartedChapter Goal: This chapter will get you started with your Wearic Smart Textiles kit. It will also set the stage for the experiments and projects you will find in the following chapters. You will learn how to program the microcontroller using the Arduino IDE and MakeCode blocks.• Introduction to the wearable electronics• Introduction to the Wearic Smart Textiles kit• Setting up the development environment• Writing your first program to control the onboard LEDChapter 2. Making Wearables Attractive and Visible Using LightsChapter Goal: In this chapter, you will learn how to use the Wearic LED textile to add lights to your wearables. LEDs are a beautiful way to add light to wearable tech garments. Different lighting effects make your textile more attractive and highly visible. Sometimes LEDs use as indicators. You will learn basic sewing skills with conductive threads, basic electronics, and basic programming (to create different lighting effects). The skills you gain by this chapter will help you to follow the rest of the chapters.• Learn about the LED textile in detail• Applications in fashion and other industries• Testing: finding LED polarity, Use batteries and wires to test LEDs• Sewing LEDs onto the LED textile• Snapping LED textile to the expansion board• Programming: Creating light effects (i.e: blinking both LEDs, toggle LEDs, fading)• Controlling other types of LEDs (RGB, NeoPixels, etc)Chapter 3. Physical Controlling with ButtonsChapter Goal: In this chapter, you will learn how to use the Wearic Push-button textile to your wearables. A push-button textile consists of two soft-push buttons. By programming the microcontroller these buttons can be used to control actuators such as LEDs, heating textiles, wet textiles, etc. The skills you gain by this chapter will help you to follow the rest of the chapters.• Learn about the Push button textile• Applications in the fashion industry• Snapping Push-button textile to the expansion board• Programming: learning about different button status by controlling LEDSChapter 4. Staying WarmChapter Goal: In this chapter, you will learn how to use the Wearic Heating textile to keep your wearables warm. You will learn various techniques on how to program the heated textile to make different heating effects/experiences. By following this chapter the reader will able to make textiles by adding heating textiles, sensors, and LEDs (actuators).• Learn about the ‘Heating textile’ in detail• Alternatives/ Industrial applications• Testing: Use batteries and wires to test the heating textile• Snapping Heating textile to the expansion board• Programming: Controlling heating textile through the microcontroller• Programming: Using PWM to control the heating textile.• Programming: Using a feedback mechanism to keep the temperature at a specific level using a temperature sensor.• Programming: Putting them all together to build a heated mat with feedback LEDs.Chapter 5. Your Second SkinChapter Goal: In this chapter, you will learn how to use the Wearic textile pressure sensor to enable your wearable touch and pressure-sensitive. By following this chapter the reader will able to make textiles by adding pressure-sensitive textiles, sensors, and actuators.• Learn about the ‘Textile pressure sensor’ in detail.• Alternatives / Applications in fashion tech / Applications in medical• Snapping textile pressure sensor to the expansion board.• Programming: Sensing pressure, low and high-pressure levels• Programming: Using a pressure threshold level to control the LED textile• Programming: Occupancy detection• Making your own pressure sensorsChapter 6. Know When Your Garments is WetChapter Goal: In this chapter, you will learn how to use the Wearic wetness sensor to sense if your garments/wearables getting wet by water or any liquids. By following this chapter the reader will able to make textiles by adding wetness sensors, and actuators.• Learn about the ‘Wetness sensor’ in detail• Alternatives/ Applications in fashion tech / Applications in medical• Snapping wetness sensor to the expansion board.• Programming: Sensing wetness, exploring different wetness levels.• Programming: Using the wetness sensor to control the LED textile.Chapter 7. Muscle Activity and HeartbeatChapter Goal: In this chapter, you will learn to use Textile Skin Electrodes (EMG|EEG|ECG) to detect your muscle activity and heartbeat. By following this chapter the reader will able to make textiles by adding Skin Electrodes to activate different actuators by using muscle activity and heartbeat measures.• Learn about the Textile Skin Electrodes (EMG|EEG|ECG)• Wiring Textile Skin Electrodes• Programming: heartbeat LEDs• Programming: Muscle activated LEDsChapter 8. Color Changing FabricsChapter Goal: In this chapter, you will learn how to make color-changing fabrics by using the Wearic heated textile and temperature sensors (the skills you gained in chapter 4). You will learn how to apply thermochromic pigments onto the fabrics and build a control circuit using the Wearic textiles kit.• Introduction to Thermochromic/chemistry based color changing• Applications in the fashion industry• Choosing the correct thermochromic pigments• Applying thermochromic pigments onto the fabric• Direct powering• Programming: Temperature control
Python 3 for Science and Engineering Applications
If you have mastered the basics of Python and are wanting to explore the language in more depth, this book is for you. By means of concrete application examples used in different applications, you are guided on how Python can be used tackle a wide range of problems. Including general ideas and solutions, the specifics of Python and how these can be practically applied are discussed. The book illustrates many aspects of programming including algorithms, recursion, data structures, and helps develop problem-oriented thinking.Python 3 for Science and Engineering Applications includes:>practical and goal-oriented learning>basic Python techniques> modern Python 3.6+ including comprehensions, decorators andgenerators>complete code available online> more than 40 exercises, solutions documented online>no additional packages or installation required, 100% pure PythonTopics cover:>identifying large prime numbers and computing Pi> writing and understanding recursive functions with memorisation>computing in parallel and utilising all system cores>processing text data and encrypting messages>comprehending backtracking and solving Sudokus>analysing and simulating games of chance to develop optimalwinning strategies>handling genetic code and generating extremely long palindromesFelix Bittmann is a research associate at the Leibniz Institute for Educational Trajectories and a doctoral candidate at the University of Bamberg, Germany. His research interests include social inequality, the role of education in the course of life, quantitative methods, and the philosophy of science. With a focus on statistical analysis and applied research, Python is an integral and multifunctional tool of his daily workflow.
Creating EPUB E-books Using EPUB Editors and Converters
Creating E-books in epub format is very important to sell E-books in electronic book stores. Most publishing and distribution E-book stores will not accept the epub format document for E-book if it includes any warnings or errors when validated and that is a very big challenge to all authors.I devoted this book to evaluate some tools that can be used for creating, validating and editing E-books to be in proper Epub format without errors.Personally, I suggest the following guidelines for preparing E-book in Epub format.• Write the document in Microsoft word as .docx file. Make sure to properly setup the h1headings and h2 headings and h3 headings on each section of the document as these data are the most important data used by the Epub management software to convert the document to epub format.• Convert the Microsoft document to Epub format using Calibre E-book management software. Add all required metadata and the cover and also create a table of contents when converting the file.• Using any Epub reader, check if the layout of epub document according to the headings you made on the word document is good and comfortable to any reader.• Validate the epub document to see if it has errors and warnings using the website http://validator.idpf.org.• Then try to troubleshoot and identify the exact location of the errors detected by the epub validator on the epub document by tracing the code view of the epub document using Sigil epub editor. Then, modify the word document to eliminate the errors. And reconvert the word document to epub format using Calibre E-book management software. Validate the updated epub document for any errors again.This book contains the following sections:1. Some online publishing and distribution stores2. Epub Validators3. Creation Epub file through online websites4. Common software's to convert a file to Epub format5. Converting document to Epub format using Calibre software6. Editing Epub documents using Sigil Epub Editor
Practical Apache Lucene 8
Gain a thorough knowledge of Lucene's capabilities and use it to develop your own search applications. This book explores the Java-based, high-performance text search engine library used to build search capabilities in your applications.Starting with the basics of Lucene and searching, you will learn about the types of queries used in it and also take a look at scoring models. Applying this basic knowledge, you will develop a hello world app using basic Lucene queries and explore functions like scoring and document level boosting.Along the way you will also uncover the concepts of partial searching and matching in Lucene and then learn how to integrate geographical information (geospatial data) in Lucene using spatial queries and n-dimensional indexing. This will prepare you to build a location-aware search engine with a representative data set that allows location constraints to be specified during a search. You’ll also develop a text classifier using Lucene and Apache Mahout, a popular machine learning framework.After a detailed review of performance bench-marking and common issues associated with it, you’ll learn some of the best practices of tuning the performance of your application. By the end of the book you’ll be able to build your first Lucene patch, where you will not only write your patch, but also test it and ensure it adheres to community coding standards.WHAT YOU’LL LEARN* Master the basics of Apache Lucene* Utilize different query types in Apache Lucene* Explore scoring and document level boosting* Integrate geospatial data into your applicationWHO THIS BOOK IS FORDevelopers wanting to learn the finer details of Apache Lucene by developing a series of projects with it.Atri is a distributed systems engineer with expertise in building and scaling large data oriented systems, and an Apache Lucene/Solr committer. He has worked for Microsoft, where he was responsible for scaling the storage and query engines for Azure CosmosDB. He is also a long time PostgreSQL contributor and an Apache committer and PMC member for HAWQ, MADLib, and Apex.CHAPTER 1: MEETING THE BEAST -- HOIA LUCENE! - 15 PAGESThis chapter will go over basics of Lucene and search, and give details of basic query structures in Lucene along with the different data structures and types in Lucene which can be diverse in application and usage.1. What Is Search, Anyway?2. Meet Lucene3. Types of Structures In Lucene4. Query Types -- Done The Lucene Way5. Lucene Vs Relational DatabasesCHAPTER 2: HELLO WORLD -- THE LUCENE WAY - 10 PAGESThis chapter will try out a few basic Lucene queries on a standard data set. User will index some standard data set and query different types of queries on top of it. The user will explore scoring, document level boosting and queries like TopN hits, uses of Collectors.1. Index Data In Lucene2. Internals of a Lucene Index3. Scoring and Boosting4. Doing your first query5. TopN Hits -- Why Should I Care About the 100th Hit?6. Collectors -- The Life Of Your ApplicationCHAPTER 3: BUILD A PERSONAL DESKTOP FILE SEARCHER - 40 PAGESThis chapter will go over details of building a file searcher using Lucene which will have the capability to search across the entire file system of the user’s computer and provide search results to the user for relevant documents and files given a partial or complete keyword.1. Basics of Document Searching with Lucene2. Partial Searches and Matching3. A Bit About TF/IDF4. Build The Core of Our Searcher5. Building the File System Seek and Search Functionality6. Bringing It All TogetherCHAPTER 4: A BIT ABOUT SPATIAL INDEXING - 20 PAGESBasics of Spatial Indexing and space vectors. The chapter will cover spatial indexing and querying in Lucene and advanced level details of N dimensional indexing and searching.1. Spatial Indexing2. Lucene’s Spatial Indexing Basics3. When To Use Spatial Indexing?4. N Dimensional Indexing5. Lucene Spatial Query TypesCHAPTER 5: DEVELOPING A LOCATION AWARE SEARCH ENGINE - 40 PAGESThis chapter will go over details of building a location aware search engine with representative data set and allowing location constraints to be specified during a search.1. What is Location Aware Searching?2. Representing Data As Spatial Data3. Metadata Searches4. Combining Searches -- Actual Text and Location CombinedCHAPTER 6: CREATE A TEXT CLASSIFIER WITH APACHE MAHOUT AND LUCENE - 30 PAGESThis chapter will go over building a classifier using Apache Mahout, a popular Machine Learning framework and Lucene.1. What is Mahout?2. What is a Text Classifier Engine?3. Building The Model in Mahout4. Building the Parser in Lucene5. Bringing It All TogetherCHAPTER 7: PERFORMANCE TUNING YOUR LUCENE APPLICATIONS - 15 PAGESPerformance is key to any search applications and small changes to the application can cause amplified changes to the performance of the application. We will performance benchmark applications, learn common pitfalls and learn best practices to tune performance in search applications with Lucene.1. Lucene Performance Basics2. Performance Bench-marking3. Lucene Performance Tuning4. Lucene Performance with System Performance ToolsCHAPTER 8: YOUR FIRST LUCENE PATCH - 15 PAGESThis chapter will focus on building your first patch to the heart of the engine itself. We will go through the cycle of writing a patch, testing it, adhering to community code standards, JIRA navigation, community interaction etc.1. Lucene Internals2. Working with Git3. Writing a Patch4. Test Test Test!5. Opening a JIRA for your issue6. Community Interaction
Azure SQL Revealed
Access detailed content and examples on Azure SQL, a set of cloud services that allows for SQL Server to be deployed in the cloud. This book teaches the fundamentals of deployment, configuration, security, performance, and availability of Azure SQL from the perspective of these same tasks and capabilities in SQL Server. This distinct approach makes this book an ideal learning platform for readers familiar with SQL Server on-premises who want to migrate their skills toward providing cloud solutions to an enterprise market that is increasingly cloud-focused.If you know SQL Server, you will love this book. You will be able to take your existing knowledge of SQL Server and translate that knowledge into the world of cloud services from the Microsoft Azure platform, and in particular into Azure SQL. This book provides information never seen before about the history and architecture of Azure SQL. Author Bob Ward is a leading expert with access to and support from the Microsoft engineering team that built Azure SQL and related database cloud services. He presents powerful, behind-the-scenes insights into the workings of one of the most popular database cloud services in the industry.WHAT YOU WILL LEARN* Know the history of Azure SQL* Deploy, configure, and connect to Azure SQL* Choose the correct way to deploy SQL Server in Azure* Migrate existing SQL Server instances to Azure SQL* Monitor and tune Azure SQL’s performance to meet your needs* Ensure your data and application are highly available* Secure your data from attack and theftWHO THIS BOOK IS FORThis book is designed to teach SQL Server in the Azure cloud to the SQL Server professional. Anyone who operates, manages, or develops applications for SQL Server will benefit from this book. Readers will be able to translate their current knowledge of SQL Server—especially of SQL Server 2019—directly to Azure. This book is ideal for database professionals looking to remain relevant as their customer base moves into the cloud.BOB WARD is a principal architect for the Microsoft Azure Data Server team, which owns the development for all SQL Server versions. He has worked for Microsoft for more than 27 years on every version of SQL Server shipped from OS/2 1.1 to SQL Server 2019, including Azure SQL. Bob is a well-known speaker on SQL Server, often presenting talks on new releases, internals, and performance at events such as PASS Summit, Red Hat Summit, Microsoft //build, SQLBits, SQLIntersection, Microsoft Inspire, and Microsoft Ignite. You can follow him at @bobwardms and linkedin.com/in/bobwardms. Bob is the author of the Apress books Pro SQL Server on Linux and SQL Server 2019 Revealed. 1. SQL Server Rises to the Clouds2. What is Azure SQL?3. SQL Server on Azure Virtual Machine4. Deploying Azure SQL5. Configuring Azure SQL6. Securing Azure SQL7. Monitoring and Tuning Performance for Azure SQL8. Availability for Azure SQL9. Completing Your Knowledge of Azure SQL10. Go Big with the Cloud
Windows 10 Portable Genius
YOUR NO-FLUFF, FAST-PACED GUIDE TO EVERYTHING WINDOWS 10This handy, jargon-free guide is designed to help you quickly learn whatever you need to know about Windows 10. Perfect for novices and experienced users alike, you'll get tips, tricks, and savvy advice on how to install programs, set up user accounts, play music and other media files, download photos from your digital camera, go online, set up and secure an email account, and much, much more.* Shows how to perform more than 150 Windows tasks, including working with files, digital images, and media; customizing Windows; optimizing performance; and sharing a computer with multiple users* Covers installing and repairing applications, system maintenance, setting up password-protected accounts, downloading photos to your computer, and staying safe onlineWith concise, easy-to-follow instructions, and its small, portable size, this is the ideal, on-the-go guide for Windows 10 users everywhere.PAUL MCFEDRIES is the president of Logophilia Limited, a technical writing company. He has written more than four dozen books that have sold more than four million copies.Fun, hip, and straightforward, the Portable Genius series gives forward-thinking computer users useful information in handy, compact books that are easy to navigate and don't skimp on the essentials. Collect the whole series and make the most of your digital lifestyle.Acknowledgments iiiIntroduction xCHAPTER 1 HOW DO I CUSTOMIZE WINDOWS? 2Working with Settings 4Opening the Settings app 4Synchronizing settingsbetween PCs 6Accessing an app’s settings 6Customizing the Start Menu 7Pinning an app to the Start menu 7Arranging and sizing Start menu tiles 8Customizing Start menu settings 9Customizing the Taskbar 10Pinning an app to the taskbar 10Customizing taskbar settings 11Customizing the taskbar’s notification area 13Customizing the Lock Screen 15Changing the Lock screen background 16Adding an app to the Lock screen 17Extending Your Desktop with Multiple Monitors 18Setting Up Multiple Desktops 20Adding a new desktop 20Switching to another desktop 21Moving an app to a different desktop 22CHAPTER 2 HOW CAN I MAKE THE MOST OF SURFING THE WEB? 24Taking Advantage of Tabs 26Opening a link in a new tab 26Creating a new tab 26Customizing the new tab page 26Navigating tabs 28Duplicating a tab 28Pinning a tab 28Controlling which tabs appear at startup 28Closing tabs 30Saving Your Favorite Pages 30Adding a page to the Favorites list 30Working with the Favorites bar 31Opening a page from the Favorites list 33Maintaining favorites 33Customizing Edge 34Changing the Edge search engine 34Changing the theme 35Setting the default zoom level 36Customizing the toolbar 37Customizing the font 39CHAPTER 3 HOW DO I MAXIMIZE SENDING AND RECEIVING EMAIL? 42Managing Mail Accounts 44Adding an account 44Changing the account name 46Deleting an account 47Setting Options for Incoming Messages 47Customizing account sync settings 48Combining the Focused and Other tabs 49Grouping messages individually 49Controlling notifications 50Switching between accounts 51Setting Send Options 51Creating a signature 51Setting the default message font 52Changing your message priority 54Running the spell-checker to eliminate message errors 55CHAPTER 4 CAN I USE WINDOWS TO MANAGE CONTACTS AND APPOINTMENTS? 58Managing Your Contacts 60Adding contacts from an existing account 60Creating a contact 62Viewing contacts 64Editing a contact 65Assigning a photo to a contact 65Creating a new contact from an electronic business card 67Filtering your contacts 68Linking multiple profiles to a contact 69Deleting a contact 70Tracking Your Events 71Viewing your calendar 71Adding an event to your calendar 72Creating a recurring event 73Adding an event reminder 74Setting up an online meeting 74Customizing your calendar 76CHAPTER 5 WHAT OTHER DAY-TO-DAY TASKS CAN I PERFORM? 78Finding Stuff on Your PC 80Viewing your timeline 80Searching your PC 80Configuring the Cortana Voice Assistant 83Controlling your PC with Cortana 84Making Video Calls 85Configuring Skype 85Calling someone using Skype 86Dealing with an incoming Skype call 86Working with Maps 87Giving Maps access to your location 87Displaying a location on a map 88Getting directions to a location 90Checking the Weather 93Checking your weather forecast 93Checking another city’s weather forecast 95CHAPTER 6 HOW DO I MAX OUT THE WINDOWS IMAGE TOOLS? 96Getting Images into Your PC 98Importing images from a smartphone or digital camera 98Scanning an image 99Taking a picture or video with your PC camera 101Viewing Your Images 103Using File Explorer to view your images 103Using the Photos app to view your images 104Starting a slide show 106Enhancing Your Images 107Cropping an image 107Applying a filter 108Adding a vignette effect 110Repairing Your Images 111Rotating an image 111Straightening an image 111Adjusting the light 112Adjusting the colors 114Enhancing image clarity 115Getting rid of red eye 115Fixing small flaws 116CHAPTER 7 CAN I SHARE MY COMPUTER? 118Sharing Your PC via User Accounts 120Creating a user account 120Switching between accounts 122Changing your user account picture 125Changing the account type 126Deleting an account 127Sharing Your PC with a Child 127Adding a child to your PC 128Setting restrictions on a child’s account 128Sharing PC Resources 132Sharing a document or folder 132Switching to advanced sharing 134Sharing a folder with other users on the network 135Protect your shared folders with advanced file permissions 136CHAPTER 8 HOW CAN I GET MORE FROM A TABLET PC? 138Working in Tablet Mode 140Controlling Windows with Gestures 141Understanding gestures 142Using gestures to control Windows 142Inputting Text with the Touch Keyboard 143Displaying the touch keyboard 143Selecting a touch keyboard type 144Using the touch keyboard 145Entering text using the handwriting panel 147Configuring the touch keyboard 149Setting Power and Battery Options 149Monitoring battery life 150Setting the power mode 150Adjusting screen brightness 151Switching to Battery Saver mode 151Creating a custom power plan to improve battery life 152Checking out more ways to save energy 153CHAPTER 9 HOW DO I WORK WITH DOCUMENTS? 156Editing Documents 158Creating a new document 158Saving a document 158Opening a document 159Changing the text font 160Finding text 162Replacing text 164Inserting special symbols 165Saving a copy of a document 167Taking Notes with OneNote 168Creating a OneNote notebook 168Adding pages and sections to a notebook 168Adding and working with text notes 170Adding an image to a notebook page 172Working with notebook lists 173Working with Files 175Selecting a file 175Changing the file view 176Previewing a file 176Copying a file 178Moving a file 178Renaming a document 179Creating a new file 180Deleting a document 181Extracting files from a compressed folder 183Specifying a different app when opening a document 185CHAPTER 10 WHAT ARE SOME WAYS TO ENHANCE PC SECURITY? 188Enhancing Sign-In Security 190Creating a strong password 190Updating your account password 191Creating a picture password 192Signing in with a PIN 193Setting up a fingerprint sign-in 194Locking Your PC to Prevent Others from Using It 195Locking your computer 196Configuring your PC to lock automatically 196Enhancing Your Privacy 198Making the Start menu more private 198Controlling your private information 199Stopping an app’s notifications 201Clearing your activity history 201Resetting your computer to preserve privacy 202CHAPTER 11 HOW DO I INCREASE INTERNET PRIVACY AND SECURITY? 204Making the Web More Secure 206Avoiding viruses 206Opting to never save a site’s password 208Deleting a saved website password 208Making the Web More Private 209Deleting your browsing data to ensure privacy 209Turning on private browsing 211Preventing ad sites from tracking you online 211Enabling strict tracking prevention 212Preventing sites from requesting your location 213Enhancing Email Security and Privacy 215Avoiding viruses in email 215Preventing messages from opening automatically 216Thwarting web bugs by blocking images in messages 216Avoiding phishing scams 217CHAPTER 12 HOW DO I MAINTAIN WINDOWS? 220Performing a Few Maintenance Chores 222Scheduling automatic maintenance 222Checking hard drive free space 223Deleting unnecessary files 225Safeguarding Your Files 226Keeping a history of your files 226Restoring a file from your history 227Creating a system image backup 228Using the Windows Recovery Environment 229Understanding the Recovery Environment’s tools 229Accessing the Recovery Environment 230Working with a Recovery Drive 233Creating the recovery drive 233Booting your PC using the recovery drive 234Working with Restore Points 235Creating a system restore point 235Reverting to an earlier restore point 235Index 238
The Pentester BluePrint
JUMPSTART YOUR NEW AND EXCITING CAREER AS A PENETRATION TESTERThe Pentester BluePrint: Your Guide to Being a Pentester offers readers a chance to delve deeply into the world of the ethical, or "white-hat" hacker. Accomplished pentester and author Phillip L. Wylie and cybersecurity researcher Kim Crawley walk you through the basic and advanced topics necessary to understand how to make a career out of finding vulnerabilities in systems, networks, and applications.You'll learn about the role of a penetration tester, what a pentest involves, and the prerequisite knowledge you'll need to start the educational journey of becoming a pentester. Discover how to develop a plan by assessing your current skillset and finding a starting place to begin growing your knowledge and skills. Finally, find out how to become employed as a pentester by using social media, networking strategies, and community involvement.Perfect for IT workers and entry-level information security professionals, The Pentester BluePrint also belongs on the bookshelves of anyone seeking to transition to the exciting and in-demand field of penetration testing.Written in a highly approachable and accessible style, The Pentester BluePrint avoids unnecessarily technical lingo in favor of concrete advice and practical strategies to help you get your start in pentesting. This book will teach you:* The foundations of pentesting, including basic IT skills like operating systems, networking, and security systems* The development of hacking skills and a hacker mindset* Where to find educational options, including college and university classes, security training providers, volunteer work, and self-study* Which certifications and degrees are most useful for gaining employment as a pentester* How to get experience in the pentesting field, including labs, CTFs, and bug bountiesPHILLIP L. WYLIE has over two decades of experience working in IT and information security. In addition to working as a penetration tester he has founded and runs The Pwn School Project, teaching ethical hacking. He holds the CISSP, OSCP, and GWAPT certifications. He is a highly sought-after public speaker who frequently presents at conferences about pentesting. He was interviewed for the Tribe of Hackers Red Team book. KIM CRAWLEY is dedicated to researching and writing about a plethora of cybersecurity issues. Some of the companies Kim has worked for over the years include Sophos, AT&T Cybersecurity, BlackBerry Cylance, Tripwire, and Venafi. All matters red team, blue team, and purple team fascinate her. But she's especially fascinated by malware, social engineering, and advanced persistent threats. Kim's extracurricular activities include running an online cybersecurity event called DisInfoSec, and autistic self-advocacy. Foreword xviIntroduction xviii1 WHAT IS A PENTESTER? 1Synonymous Terms and Types of Hackers 2Pentests Described 3Benefits and Reasons 3Legality and Permission 5Pentest Methodology 5Pre-engagement Interactions 7Intelligence Gathering 7Threat Modeling 7Vulnerability Analysis 7Exploitation 8Post Exploitation 8Reporting 8Pentest Types 9Vulnerability Scanning 10Vulnerability Assessments 10Pentest Targets and Specializations 11Generalist Pentesting 11Application Pentesting 11Internet of Things (IoT) 12Industrial Control Systems (ICS) 12Hardware and Medical Devices 13Social Engineering 13Physical Pentesting 13Transportation Pentesting 14Red Team Pentesting 14Career Outlook 14Summary 162 PREREQUISITE SKILLS 17Skills Required for Learning Pentesting 18Operating Systems 18Networking 19Information Security 19Prerequisites Learning 19Information Security Basics 20What is Information Security? 21The CIA Triad 22Security Controls 24Access Control 26Incident Response 28Malware 30Advanced Persistent Threats 34The Cyber Kill Chain 35Common Vulnerabilities and Exposures 36Phishing and Other Social Engineering 37Airgapped Machines 38The Dark Web 39Summary 403 EDUCATION OF A HACKER 43Hacking Skills 43Hacker Mindset 44The Pentester Blueprint Formula 45Ethical Hacking Areas 45Operating Systems and Applications 46Networks 46Social Engineering 47Physical Security 48Types of Pentesting 48Black Box Testing 49White Box Testing 49Gray Box Testing 50A Brief History of Pentesting 50The Early Days of Pentesting 51Improving the Security of Your Site by Breaking into It 51Pentesting Today 52Summary 534 EDUCATION RESOURCES 55Pentesting Courses 55Pentesting Books 56Pentesting Labs 60Web Resources 60Summary 645 BUILDING A PENTESTING LAB 65Pentesting Lab Options 65Minimalist Lab 66Dedicated Lab 66Advanced Lab 67Hacking Systems 67Popular Pentesting Tools 68Kali Linux 68Nmap 69Wireshark 69Vulnerability Scanning Applications 69Hak5 70Hacking Targets 70PentestBox 70VulnHub 71Proving Grounds 71How Pentesters Build Their Labs 71Summary 816 CERTIFICATIONS AND DEGREES 83Pentesting Certifications 83Entry-Level Certifications 84Intermediate-Level Certifications 85Advanced-Level Certifications 87Specialization Web Application Pentesting Certifications 88Wireless Pentesting Certifications 90Mobile Pentesting Certifications 91Pentesting Training and Coursework 91Acquiring Pentesting Credentials 92Certification Study Resources 99CEH v10 Certified Ethical Hacker Study Guide 100EC-Council 100Quizlet CEH v10 Study Flashcards 100Hacking Wireless Networks for Dummies 100CompTIA PenTest+ Study Guide 101CompTIA PenTest+ Website 101Cybrary’s Advanced Penetration Testing 101Linux Server Security: Hack and Defend 101Advanced Penetration Testing: Hacking the World’s Most Secure Networks 102The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws 102Summary 1027 DEVELOPING A PLAN 105Skills Inventory 105Skill Gaps 111Action Plan 112Summary 1138 GAINING EXPERIENCE 115Capture the Flag 115Bug Bounties 123A Brief History of Bug Bounty Programs 124Pro Bono and Volunteer Work 125Internships 126Labs 126Pentesters on Experience 126Summary 1359 GETTING EMPLOYED AS A PENTESTER 137Job Descriptions 137Professional Networking 138Social Media 139Résumé and Interview Tips 139Summary 148Appendix: The Pentester Blueprint 149Glossary 155Index 167
Learn Electronics with Raspberry Pi
Updated for the recent Raspberry Pi boards, including the Raspberry Pi 4, this new edition offers an all new digital logic circuits project, explaining the theory behind how digital electronics work while creating a new project for measuring temperature.Raspberry Pi is everywhere, it’s inexpensive, and it's a wonderful tool for teaching about electronics and programming. This book demonstrates how to make a variety of cool projects using the Pi with programming languages like Scratch and Python, with no experience necessary. You'll see how the Pi works, how to work with Raspbian Linux on the Pi, and how to design and create electronic circuits.You'll create projects like an arcade game, disco lights, and infrared transmitter, and an LCD display. You'll also learn how to control Minecraft's Steve with a joystick and how to build a Minecraft house with a Pi, and even how to control a LEGO train with a Pi. And, you'll build your own robot, including how to solder and even design a printed circuit board.Learning electronics can be tremendous fun — your first flashing LED circuit is a reason to celebrate! But where do you go from there, and how can you move into more challenging projects without spending a lot of money on proprietary kits? _Learn Electronics with Raspberry Pi_ shows you how to, and a lot more.WHAT YOU'LL LEARN* Design and build electronic circuits* Make fun projects like an arcade game, a robot, and a Minecraft controller* Program the Pi with Scratch and PythonWHO THIS BOOK IS FORMakers, students, and teachers who want to learn about electronics and programming with the fun and low-cost Raspberry Pi.Stewart Watkiss graduated from the University of Hull, United Kingdom, with a masters degree in electronic engineering. He has been a fan of Linux since first installing it on a home computer during the late 1990s. While working as a Linux system administrator, he was awarded Advanced Linux Certification (LPIC 2) in 2006, and created the Penguin Tutor website to help others learning Linux and working toward Linux certification.Stewart is a big fan of the Raspberry Pi. He owns several Raspberry Pi computers that he uses to help to protect his home (Internet filter), provide entertainment (XBMC), and teach programming to his two children. He also volunteers as a STEM ambassador, going into local schools to help support teachers and teach programming to teachers and children.Chapter 1 - Getting Started with Electronic CircuitsIntroduction to electronicsChapter 2 - All About Raspberry PiExplanation about Raspberry Pi and getting startedChapter 3 - Starting with the Basics: Programming with ScratchA first project introducing Scratch and simple electronicsCreates a controller for a gameChapter 4 - Using Python for Input and Output: GPIO ZeroIntroduction to GPIO Zero, switching larger loads.Disco light projectsChapter 5 - More Input and Output: Infrared Sensors and LCD DisplaysMotion sensor cameraTrue and False gameChapter 6 - Adding Control in Python and LinuxControl a lego trainRGB LEDsChapter 7 - Creating Video with a Pi CameraUsing infrared remote control to control cameraMaking those images into a stop-frame animationChapter 8 - Rolling Forward: Designing and Building a RobotCreating a simple wheeled robotControlling motors using H-BridgeMeasuring distance with ultrasonic range sensorUsing a wireless controllerChapter 9 - Customize Your Gameplay: Minecraft Hardware ProgrammingInterfacing between Minecraft and electronicsChapter 10 - Understanding Digital LogicHow logic gates workCombining logic gatesMeasuring temperature and displaying using a BCD to 7-segment decoderChapter 11 - Making Your Circuits PermanentSolderingCreating enclosuresMultimeter and OscilloscopeChapter 12 - Let the Innovation Begin: Designing Your Own CircuitsUnderstanding datasheetsCreating circuits in FritzingCreating a PCBPowering electronic projects
Cybercrime
Unter den Begriff Cybercrime werden Straftaten gefasst, die mittels Informa-tionstechnologie und IT-Strukturen begangen werden. Diese Delikte sind durch eine Vielzahl, vor dem Hintergrund der technischen Entwicklung stark wandelbarer, Tatbegehungsformen gekennzeichnet. Das mannigfache Spektrum dieser Phanomene umfasst: die Botnetzkriminalitat; den verbrecherischen Einsatz von Malware, Ransomware oder Scareware; Phishing, Pharming und Skimming; NFC-Betrug; Cybermobbing und Cybergrooming sowie vielfaltige Formen strafbarer Urheberrechtsverletzungen. Die Darstellung dieser und weiterer Spielarten der unterschiedlichen Erscheinungsformen von Cybercrime und ihre strafrechtliche Beurteilung bilden den Ausgangspunkt dieses Studienbriefs. In den nachfolgenden Kapiteln stehen die Ermittlungsmglichkeiten der Strafverfolgungsbehrden durch die Computerforensik und die Informationsgewinnung in Netzwerken im Fokus, gefolgt von Handlungsanweisungen zur polizeilichen Bekmpfung der Internetkriminalitt im sog. Ersten Angriff. In einem Ausblick wird zudem auf den ermittlungstechnischen Einsatz von Big-Data-Technologie aufmerksam gemacht. Als Einfhrungswerk richtet sich die Schrift in erster Linie an Praktiker, die einen Neueinstieg in die Materie suchen, sowie an Polizeibeamte in Ausbildung und Studium.
Die UNIX-Story
Ein Betriebssystem, das die IT-Welt am Laufen hält. Die faszinierende Geschichte, wie Unix begann und wie es die Computerwelt eroberte.Brian W. Kernighan war in der Entwicklung von UNIX beteiligt. In diesem kurzen Band erzählt er eine umfassende Geschichte des äußerst einflussreichen und weit verbreiteten Betriebssystems und erzählt aus einer persönlichen Perspektive von den Anfängen. Unix war in seinen frühen Tagen weitgehend das Produkt von Kernighans Kollegen Ken Thompson und Dennis Ritchie von den Bell Labs. Aber Kernighan leistete fast von Anfang an aktive Beiträge. Sein persönliches Wissen verleiht dem Buch einen großen Wert. Kernighan schafft eine gelungene Balance zwischen »offizieller Geschichte« und seinem eigenen Engagement während der Entwicklung von UNIX. Die Konzepte, die mit UNIX und seinem Ökosystem zusammenhängen, erklärt er klar und methodisch. »Die UNIX-History« ist ein kurzweiliges Buch für alle, die mehr über die Geschichte hinter der Geschichte von UNIX erfahren wollen. Mit Insider-Storys und technischen Erklärungen bekommt man einen ganz neuen Blick auf UNIX und auf die Entwicklung von Betriebssystemen.Leseprobe (PDF-Link)
Datenschutz mit SAP
Entwickeln Sie ein Datenschutzkonzept, das den strengen Anforderungen der EU-Datenschutz-Grundverordnung (DSGVO) standhält. Dieses Buch erklärt Ihnen die rechtlichen Grundlagen und zeigt Ihnen Schritt für Schritt, wie Sie mithilfe von SAP-Lösungen Ihre IT-Landschaft (ob on-premise oder in der Cloud) datenschutzkonform gestalten. Von der Einführung eines Sperr- und Löschkonzeptes bis hin zur Umsetzung der Informations- und Berichtspflichten werden alle erforderlichen Maßnahmen praxisnah erläutert. Aus dem Inhalt: Was bedeutet die DSGVO für Sie?Personenbezogene Daten im SAP-SystemDer Weg zur datenschutzkonformen IT-LandschaftSperren und Löschen mit SAP Information Lifecycle ManagementOrganisations- und Stammdatenstrukturen entwickelnData Controller Rule FrameworkAuswirkungen auf das BerechtigungskonzeptInformation Retrieval FrameworkSecurity SafeguardsSAP Read Access LoggingSAP Cloud PlatformAriba, SuccessFactors, Concur, C/4HANASAP-Lösungen für GRCZentrale Kontrollen Geleitwort ... 19 Einleitung ... 21 1. »Maßnehmen für Maßnahmen«: Einführung ... 31 1.1 ... Die DSGVO fiel nicht vom Himmel ... 32 1.2 ... Was bedeutet die DSGVO für Sie? ... 33 1.3 ... Welche Anforderungen sind notwendigerweise technisch zu unterstützen? ... 67 1.4 ... Welche Anforderungen können technisch unterstützt werden? ... 88 1.5 ... Auftragsverarbeitung ... 95 1.6 ... Zusammenfassung ... 97 2. »Wo laufen sie denn«: Wo Sie personenbezogene Daten finden ... 99 2.1 ... SAP Business Suite und SAP S/4HANA ... 100 2.2 ... Stammdaten -- Bewegungsdaten ... 100 2.3 ... Personenbezogene Daten in SAP ERP und SAP S/4HANA ... 102 2.4 ... Personenbezogene Daten in SAP ERP Human Capital Management ... 117 2.5 ... Personenbezogene Daten in SAP Customer Relationship Management ... 121 2.6 ... Zusammenfassung ... 125 3. »Vom ersten Schritt zum Weg zum Ziel«: Vorgehensmodell ... 127 3.1 ... Übersicht zur Vorgehensweise ... 127 3.2 ... Wege zum Verzeichnis von Verarbeitungstätigkeiten ... 148 3.3 ... Zusammenfassung ... 151 4. »Auch das Ende muss bestimmt sein«: Sperren und Löschen mit SAP Information Lifecycle Management ... 153 4.1 ... Einführung ... 154 4.2 ... Überblick über das Sperren und Löschen mit SAP ILM ... 160 4.3 ... Vorbereitungen für das vereinfachte Sperren ... 164 4.4 ... Stamm- und Bewegungsdaten sperren ... 190 4.5 ... Datenvernichtung ... 209 4.6 ... Legal Case Management ... 226 4.7 ... ILM-Benachrichtigungen ... 240 4.8 ... Zeitabhängiges Sperren personenbezogener Daten in der Personaladministration (SAP ERP HCM-PA) ... 250 4.9 ... Zusammenfassung ... 251 5. »Struktur ist alles«: Verarbeitung muss auf dem Zweck basieren ... 253 5.1 ... Verantwortlicher und Zweck ... 253 5.2 ... Organisationsstrukturen (Linienorganisation) ... 257 5.3 ... Prozessorganisation ... 263 5.4 ... Linien- und Prozessorganisation definieren den Zweck ... 270 5.5 ... Zusammenfassung ... 272 6. »Dem Ende Struktur geben«: Data Controller Rule Framework ... 273 6.1 ... Organisation des Löschens in Geschäftsprozessen ... 274 6.2 ... Funktionen und Konfiguration des Data Controller Rule Frameworks ... 278 6.3 ... Zusammenfassung ... 297 7. »Die Struktur berechtigt«: Auswirkungen auf das Berechtigungskonzept ... 299 7.1 ... Benutzer und Berechtigungen -- eine Einführung ... 299 7.2 ... Organisationsebenen neu denken ... 305 7.3 ... Prozessattribute identifizieren ... 308 7.4 ... Berechtigungsrisiken ... 309 7.5 ... Zusammenfassung ... 314 8. »Transparenz gewinnt«: Information Retrieval Framework ... 315 8.1 ... Transparenz -- Auskunft und Vorabinformation ... 316 8.2 ... Neuerungen im Information Retrieval Framework ... 317 8.3 ... Setup des Information Retrieval Frameworks ... 319 8.4 ... Ein Datenmodell erzeugen ... 324 8.5 ... Datenmodell testen ... 335 8.6 ... Beauskunftung durchführen ... 344 8.7 ... Komplexere Feldverknüpfungen ... 349 8.8 ... Datenmodell im Browser anzeigen ... 350 8.9 ... Bestehende Datenmodelle übernehmen ... 352 8.10 ... Zusammenfassung ... 353 9. »Schau mal, wer da liest«: Read Access Logging ... 355 9.1 ... Anforderungen an eine Leseprotokollierung ... 355 9.2 ... Verfügbarkeit und Funktionsumfang von Read Access Logging ... 357 9.3 ... Setup und Pflege ... 358 9.4 ... Festlegen von Zweckbestimmung und Protokolldomänen ... 361 9.5 ... Aufzeichnungen für UI-Kanäle ... 364 9.6 ... Konfigurationen ... 368 9.7 ... Auswertung von Protokollen ... 373 9.8 ... Konfigurationen für Remote-API-Kanäle ... 377 9.9 ... Bedingungen ... 381 9.10 ... Transportmechanismen ... 386 9.11 ... Import und Export ... 386 9.12 ... Zusammenfassung ... 387 10. »Der Herr der Daten werden«: SAP Master Data Governance ... 389 10.1 ... Transparenz erzielen ... 389 10.2 ... Die Szenarien der Stammdatenpflege ... 390 10.3 ... Central Governance in SAP Master Data Governance ... 391 10.4 ... Konsolidierung in SAP Master Data Governance ... 393 10.5 ... Kombination der Szenarien ... 396 10.6 ... Sensible Daten mit SAP Master Data Governance bearbeiten ... 396 10.7 ... Organisatorische Trennung ... 398 10.8 ... Datenqualitätssicherung mit Services ... 400 10.9 ... Zusammenfassung ... 403 11. »Der Kopf in den Wolken«: Datenschutz in Cloud-Lösungen ... 405 11.1 ... Datenschutz aus Sicht der Cloud -- eine Einführung ... 405 11.2 ... Datenschutzservices und -prozesse für die SAP-Cloud-Lösungen ... 412 11.3 ... Zusammenfassung ... 433 12. »Lösungen, die wachsen und nicht wuchern«: Datenschutz in der SAP Cloud Platform ... 435 12.1 ... Was ist SAP Cloud Platform? ... 435 12.2 ... Datenschutzfunktionen von SAP Subscription Billing ... 443 12.3 ... Datenschutzfunktionen der SAP Cloud Platform für kundeneigene Cloud-Anwendungen ... 461 13. »In der Wolke auf Sicht steuern«: Übersicht über die Datenschutzfunktionen in SAP-Cloud-Lösungen ... 477 13.1 ... Einführung ... 477 13.2 ... Datenschutz in SAP Ariba ... 480 13.3 ... Datenschutz in SAP Concur ... 500 13.4 ... Datenschutzfunktionen in SAP SuccessFactors ... 521 13.5 ... Datenschutzfunktionen in SAP Customer Experience ... 553 13.6 ... Zusammenfassung ... 597 14. »Täglich grüßt das ...«: Schützen, Kontrollieren, Nachweisen und Kontrollen nachweisen ... 599 14.1 ... Kontrollrahmen und Grundlagen der Verarbeitung ... 600 14.2 ... Rechtmäßigkeit, Treu und Glauben und Transparenz ... 601 14.3 ... Zweckbindung ... 603 14.4 ... Datenminimierung ... 606 14.5 ... Richtigkeit ... 610 14.6 ... Speicherbegrenzung ... 612 14.7 ... Integrität und Vertraulichkeit ... 614 14.8 ... Rechenschaftspflicht ... 623 14.9 ... Abstrakte technische Kontrollhandlungen ... 625 14.10 ... Beispiele technischer Kontrollhandlungen ... 627 14.11 ... Zusammenfassung ... 658 A. Glossar ... 663 B. Relevante Transaktionen, relevante Reports, Hinweise ... 669 C. Literaturverzeichnis ... 675 D. Die Autoren ... 679 Index ... 683
Das neue SAPUI5-Handbuch
Für Einsteiger und SAPUI5-Profis: Programmieren Sie Schritt für Schritt Ihre erste eigene Anwendung, oder starten Sie direkt mit Performanceoptimierung und Fehleranalyse. Dieses Buch beantwortet Ihre Fragen rund um die Anwendungsentwicklung mit SAPUI5. Beginnen Sie z.B. mit der Implementierung einfacher Controls und lernen Sie im Anschluss, wie Smart Controls Ihre Arbeit vereinfachen. Sie möchten lieber gleich wissen, wie Sie Ihre Apps um eigene Controls erweitern? Schlagen Sie es einfach nach! Aus dem Inhalt: BootstrappingLifecycle ManagementOberfächen und Dialoge gestaltenKomponentenorientiertes ProgrammierenAnwendungsdeskriptorSortieren, Gruppieren und FilternEingabevalidierung Eventbasierte KommunikationEntwicklungsinfrastrukturEinführung in die Konzepte von SAP Fiori Einleitung ... 19 Teil I. Einführung ... 27 1. SAPUI5 -- ein Überblick ... 29 1.1 ... Was ist SAPUI5? ... 29 1.2 ... Anwendungsfälle ... 43 2. Grundlegender Aufbau und Ressourcen ... 47 2.1 ... Die Model-View-Controller-Architektur in SAPUI5 ... 47 2.2 ... Aufbau und Struktur einer SAPUI5-Anwendung ... 51 2.3 ... Bibliotheken und Namensräume ... 55 2.4 ... Typen von Views ... 67 2.5 ... Modelle ... 72 2.6 ... Datenbindung ... 81 2.7 ... Entwicklungs- und Laufzeitumgebung ... 89 Teil II. SAPUI5 -- Anwendungsentwicklung ... 99 3. In 7 Schritten zur ersten eigenen Anwendung ... 101 3.1 ... Ablaufumgebung aufsetzen ... 101 3.2 ... Einführung in den Aufbau einer UI5-Anwendung ... 105 3.3 ... Einführung in die Arbeit mit einfachen UI5-Controls ... 115 3.4 ... Verwendung von komplexen UI5-Controls ... 121 3.5 ... Die Programmierschnittstelle von SAPUI5 ... 127 3.6 ... Implementierung von Eventhandlern ... 131 3.7 ... Komponentenorientierte Anwendungsentwicklung ... 137 4. Das Bootstrapping ... 143 4.1 ... Einführung in das Bootstrapping von SAPUI5 ... 143 4.2 ... Komponentenerstellung ... 147 4.3 ... Weitere Konfigurationsmöglichkeiten ... 149 5. Instanziierung und Lebenszyklus ... 153 5.1 ... Einführung in das Lifecycle-Management von SAPUI5 ... 153 5.2 ... Ressourcen verwenden ... 160 6. Benutzeroberflächen und Dialoge gestalten ... 163 6.1 ... Gestaltung von einfachen Benutzeroberflächen ... 163 6.2 ... Gestaltung von komplexen Benutzeroberflächen ... 170 6.3 ... Arbeiten mit Fragmenten ... 178 6.4 ... Dialoge implementieren und verwenden ... 189 7. Arbeiten mit Layouts ... 197 7.1 ... Einführung in die Arbeit mit Layouts ... 197 7.2 ... Standardlayouts zur Anordnung von UI-Controls ... 201 7.3 ... Arbeiten mit Formularlayouts ... 205 7.4 ... Arbeiten mit Fullscreen-Layouts ... 210 8. Responsive und adaptive Benutzeroberflächen ... 217 8.1 ... Responsiv versus adaptiv ... 217 8.2 ... Implementierung responsiver SAPUI5-Anwendungen ... 219 8.3 ... Implementierung adaptiver SAPUI5-Anwendungen ... 233 9. Komponentenorientiertes Programmieren ... 241 9.1 ... Aufbau einer Komponente ... 241 9.2 ... Integration von Komponenten ... 257 10. Anwendungsdeskriptor ... 267 10.1 ... Aufbau des Anwendungsdeskriptors ... 268 10.2 ... Zugriff auf die Konfigurationsdaten zur Laufzeit ... 285 11. Routing und Navigation ... 289 11.1 ... Einführung in die Navigationskonzepte von SAPUI5 ... 289 11.2 ... Navigation am Beispiel einer Master-Detail-Anwendung ... 301 11.3 ... Erweiterte Routingkonzepte ... 315 12. Arbeiten mit Modellen ... 321 12.1 ... JSON-Modell ... 321 12.2 ... Ressourcenmodell ... 325 12.3 ... OData-Modell ... 335 13. Sortieren, gruppieren und filtern ... 351 13.1 ... Sortieren ... 352 13.2 ... Gruppieren ... 362 13.3 ... Filtern ... 371 14. CUDQ mit OData ... 381 14.1 ... Create ... 382 14.2 ... Update ... 397 14.3 ... Delete ... 406 14.4 ... Query ... 408 14.5 ... Funktionsimport ... 414 14.6 ... Das OData-Modell der 4-Version -- ein Ausblick ... 416 15. Eingabevalidierung und eigene Datentypen ... 425 15.1 ... Einführung in die Arbeit mit Datentypen ... 425 15.2 ... Implementierung eigener Datentypen ... 435 Teil III. Weiterführende Themen ... 449 16. Smart Controls ... 451 16.1 ... Einführung in Smart Controls ... 451 16.2 ... Verwendung der »SmartTable« ... 452 16.3 ... »SmartFilterBar« ... 460 16.4 ... »SmartForm« ... 468 17. Implementierung eigener Controls ... 473 17.1 ... Grundlagen der SAPUI5-Control-Entwicklung ... 473 17.2 ... UI-Controls erweitern ... 478 17.3 ... Eigene UI-Controls implementieren ... 483 17.4 ... XML Composite Controls implementieren ... 490 18. Eventbasierte Kommunikation mit dem Event Bus ... 495 18.1 ... Einführung in das eventbasierte Anwendungsdesign ... 495 18.2 ... Der Event Bus in SAPUI5 ... 497 18.3 ... Implementierung einer eventgesteuerten Anwendungskommunikation ... 499 19. Drag and Drop ... 507 19.1 ... Grundlagen der Implementierung von Drag and Drap in SAPUI5 ... 508 19.2 ... Einsatzszenarien von Drag and Drop und ihre Implementierung ... 514 20. Theming ... 527 20.1 ... CSS ... 527 20.2 ... UI Theme Designer ... 530 21. Testen von SAPUI5-Anwendungen ... 547 21.1 ... Grundlagen von Tests in SAPUI5 ... 547 21.2 ... Unit-Tests mit QUnit ... 553 21.3 ... Oberflächentests mit OPA5 ... 563 21.4 ... Daten simulieren mit dem UI5 MockServer ... 577 21.5 ... End-to-End-Tests mit UIVeri5 ... 581 22. Entwicklungsinfrastruktur ... 589 22.1 ... Einführung und Übersicht ... 589 22.2 ... Projektsetup mit dem UI5 Tooling ... 591 22.3 ... Automatisierte Tests für CI ... 600 22.4 ... Versionsverwaltung mit Git ... 606 22.5 ... Aufbau einer Continuous-Deployment-Pipeline ... 617 23. Performanceoptimierung und Fehleranalyse ... 625 23.1 ... Grundlagen der Performanceoptimierung von SAPUI5-Anwendungen ... 626 23.2 ... Der Support Assistant ... 638 23.3 ... Einführung in die Performanceanalyse ... 657 23.4 ... Typische Fehlersituationen in SAPUI5, ihre Ursache und Lösung ... 661 24. SAP Fiori ... 667 24.1 ... Überblick ... 667 24.2 ... Implementierung einer SAPUI5-Anwendung mit der SAP Web IDE ... 677 24.3 ... Fundamental Library Styles ... 699 24.4 ... SAP Fiori Elements ... 705 24.5 ... Integration in das SAP Fiori Launchpad ... 727 Die Autoren ... 739 Index ... 741
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen von Grund auf verstehen* Fundierte Einführung mit klarem didaktischen Aufbau* Mit konkreten Anwendungsbeispielen * Eine reichhaltige Fundgrube für Lehre und SelbststudiumKenntnisse von Algorithmen und Datenstrukturen sind ein Grundbaustein des Studiums der Informatik und verwandter Fachrichtungen. Das Buch behandelt diese Thematik in Verbindung mit der Programmiersprache Java und schlägt so eine Brücke zwischen den klassischen Lehrbüchern zur Theorie von Algorithmen und Datenstrukturen und den praktischen Einführungen in eine konkrete Programmiersprache.Die konkreten Algorithmen und deren Realisierung in Java werdenumfassend dargestellt. Daneben werden die theoretischen Grundlagen vermittelt, die in Programmiersprachen-Kursen oft zu kurz kommen: abstrakte Maschinenmodelle, Berechenbarkeit, Algorithmenparadigmen sowie parallele und verteilte Abläufe. Einen weiteren Schwerpunkt bilden Datenstrukturen wie Listen, Bäume, Graphen und Hashtabellen sowie deren objektorientierteImplementierung mit modernen Methoden der Softwareentwicklung.Die 6. Auflage führt einige neue Algorithmen ein und berücksichtigt die Neuerungen der aktuellen Java-Versionen, u.a. zu Themen wie Parallelisierung.Gunter Saake ist Professor für Datenbanken und Informationssysteme an der Uni Magdeburg und forscht unter anderem auf den Gebieten Datenbankintegration, digitale Bibliotheken, objektorientierte Informationssysteme und Informationsfusion. Er ist Koautor mehrerer Lehrbücher, u.a. zu Datenbankkonzepten und -implementierungstechniken, Datenbanken & Java. Kai-Uwe Sattler ist Professor für Datenbanken und Informationssysteme an der TU Ilmenau. Zu seinen Arbeitsgebieten zählen Datenbankintegration und Anfrageverarbeitung in heterogenen sowie massiv verteilten Datenbanksystemen. Er ist Koautor mehrerer Lehrbücher, u.a. zu Datenbankkonzepten und zu Datenbanken & Java.
Interconnection Network Reliability Evaluation
THIS BOOK PRESENTS NOVEL AND EFFICIENT TOOLS, TECHNIQUES AND APPROACHES FOR RELIABILITY EVALUATION, RELIABILITY ANALYSIS, AND DESIGN OF RELIABLE COMMUNICATION NETWORKS USING GRAPH THEORETIC CONCEPTS.In recent years, human beings have become largely dependent on communication networks, such as computer communication networks, telecommunication networks, mobile switching networks etc., for their day-to-day activities. In today's world, humans and critical machines depend on these communication networks to work properly. Failure of these communication networks can result in situations where people may find themselves isolated, helpless and exposed to hazards. It is a fact that every component or system can fail and its failure probability increases with size and complexity.The main objective of this book is to devize approaches for reliability modeling and evaluation of such complex networks. Such evaluation helps to understand which network can give us better reliability by their design. New designs of fault-tolerant interconnection network layouts are proposed, which are capable of providing high reliability through path redundancy and fault tolerance through reduction of common elements in paths. This book covers the reliability evaluation of various network topologies considering multiple reliability performance parameters (two terminal reliability, broadcast reliability, all terminal reliability, and multiple sources to multiple destinations reliability).DR. NEERAJ KUMAR GOYAL is currently an Associate Professor in Subir Chowdhury School of Quality and Reliability, Indian Institute of Technology (IIT), Kharagpur, India. He received his PhD degree from IIT Kharagpur in reliability engineering in 2006.His areas of research and teaching are network reliability, software reliability, electronic system reliability, reliability testing, probabilistic risk/safety assessment, and reliability design. He has completed various research and consultancy projects for various organizations, e.g. DRDO, NPCIL, Vodafone, and ECIL. He has contributed several research papers to various international journals and conference proceedings. DR. S. RAJKUMAR received his BE (Distinction) and ME (Distinction) degrees from Anna University, India, in 2009 and 2011, respectively. He obtained his PhD from the Indian Institute of Technology Kharagpur, India in 2017. Currently working as an Assistant Professor in Department of ECE at Adama Science and Technology University (ASTU), Ethiopia. His research interests include reliability engineering and interconnection networks. He has contributed notable research papers to international journals. Series Editor Preface ixPreface xiii1 INTRODUCTION 11.1 Introduction 11.2 Network Reliability Measures 21.3 The Probabilistic Graph Model 41.4 Approaches for Network Reliability Evaluation 61.5 Motivation and Summary 72 INTERCONNECTION NETWORKS 112.1 Interconnection Networks Classification 112.2 Multistage Interconnection Networks (MINs) 142.3 Research Issues in MIN Design 152.4 Some Existing MINs Implementations 192.5 Review of Topological Fault Tolerance 202.5.1 Redundant and Disjoint Paths 222.5.2 Backtracking 262.5.3 Dynamic Rerouting 272.6 MIN Topological Review on Disjoint Paths 272.6.1 Single-Disjoint Path Multistage Interconnection Networks 272.6.2 Two-Disjoint Paths Multistage Interconnection Networks 362.6.3 Three-Disjoint Paths Multistage Interconnection Networks 472.6.4 Four-Disjoint Paths Multistage Interconnection Networks 512.7 Hardware Cost Analysis 552.8 Observations 602.9 Summary 613 MIN RELIABILITY EVALUATION TECHNIQUES 633.1 Reliability Performance Criterion 633.1.1 Two Terminal or Terminal Pair Reliability (TPR) 643.1.2 Network or All Terminal Reliability (ATR) 643.1.3 Broadcast Reliability 653.2 Approaches for Reliability Evaluation 663.2.1 Continuous Time Markov Chains (CTMC) 673.2.2 Matrix Enumeration 673.2.3 Conditional Probability (CP) Method 673.2.4 Graph Models 693.2.5 Decomposition Method 703.2.6 Reliability Block Diagram (RBD) 713.2.7 Reliability Bounds 733.2.7.1 Lower Bound Reliability 753.2.7.2 Upper Bound Reliability 763.2.8 Monte Carlo Simulation 773.2.9 Path-Based or Cut-Based Approaches 783.3 Observations 814 TERMINAL RELIABILITY ANALYSIS OF MIN LAYOUTS 854.1 Chaturvedi and Misra Approach 874.1.1 Path Set Enumeration 884.1.2 Reliability Evaluation using MVI Techniques 964.1.3 Reliability Evaluation Techniques Comparison 994.1.3.1 Terminal Reliability of SEN, SEN+ and SEN+2 1004.1.3.2 Broadcast Reliability of SEN, SEN +, and SEN+2 1014.1.3.3 Comparison 1024.2 Reliability Analysis of Multistage Interconnection Networks 1044.3 Summary 1135 COMPREHENSIVE MIN RELIABILITY PARADIGMS EVALUATION 1155.1 Introduction 1155.2 Reliability Evaluation Approach 1195.2.1 Path Set Enumeration 1205.2.1.1 Assumptions 1205.2.1.2 Applied Approach 1215.2.1.3 Path Tracing Algorithm (PTA) 1225.2.1.4 Path Retrieval Algorithm (PRA) 1235.3 Reliability Evaluation Using MVI Techniques 1405.4 Summary 1566 DYNAMIC TOLERANT AND RELIABLE FOUR DISJOINT MIN LAYOUTS 1576.1 Topological Design Considerations 1606.1.1 Topology 1616.1.2 Switch Selection for Proposed 4DMIN 1626.2 Proposed 4-Disjoint Multistage Interconnection Network (4DMIN) Layout 1646.2.1 Switching Pattern 1646.2.2 Redundant and Disjoint Paths 1656.2.3 Routing and Dynamic Rerouting 1666.2.4 Algorithm: Decision Making by Switches at Each Stage 1686.2.5 Case Example 1706.2.6 Disjoint and Dynamic Rerouting Approach in 4DMIN 1726.2.7 Hardware Cost Analysis 1726.3 Reliability Analysis and Comparison of MINs 1746.4 Reliable Interconnection Network (RIN) Layout 1816.4.1 Topology Design 1856.4.2 Switching Pattern 1876.4.3 Routing and Dynamic Rerouting 1896.5 Reliability Analysis and Comparison of MINs 1976.6 Summary 201References 203Index 213
Basiswissen Medizinische Software (3. Auflg.)
Das Basiswerk für die Entwicklung von Software als Medizinprodukt. 3. überarbeitete und aktualisierte Auflage.Dieses Buch beschreibt den gesamten Lebenszyklus von Software als Medizinprodukt. Es deckt den kompletten CPMS-Lehrplan (Foundation Level) ab und ergänzt ihn durch weitere Informationen. Behandelt werden im Einzelnen:Rechtliche GrundlagenQualitäts- und Dokumentenmanagement (ISO 13485)Risikomanagement und -analyse (ISO 14971)Best Practices des Software Engineering (IEC 62304)Gebrauchstauglichkeit (Benutzungsschnittstellen und IEC 62366)Medizinische InformatikIT-Sicherheit bei MedizinproduktenDas Buch eignet sich zur individuellen Vorbereitung auf die CPMS-Zertifizierungsprüfung und als Begleitliteratur zu den entsprechenden Vorbereitungsschulungen.Die 3. Auflage wurde komplett überarbeitet und beinhaltet den aktuellen Stand der Normen und Richtlinien für die Medizintechnik.Über die Autoren:Professor Christian Johner unterrichtete an mehreren Hochschulen u.a. in Konstanz, Würzburg, Krems, St. Gallen und Stanford Software Engineering, Softwarearchitektur, Softwarequalitätssicherung und Medizinische Informatik. Am „Johner Institut“ bildet der promovierte Physiker im Rahmen von berufsbegleitenden Masterstudiengängen und Seminaren Personen aus, die IT-Lösungen für das Gesundheitswesen entwickeln, prüfen, anwenden und betreiben. Mit seiner Firma berät er Medizinproduktehersteller bei der Entwicklung, Qualitätssicherung und Zulassung von medizinischer Software.Matthias Hölzer-Klüpfel studierte Physik an der Universität Würzburg. Seit 2002 ist er als Entwickler, Berater und Projektleiter tätig. Er führte zahlreiche Medizintechnikprojekte durch und war dabei sowohl bei KMU-Firmen als auch in Großunternehmen im Einsatz. Heute ist er freiberuflicher Berater und unterstützt seine Kunden bei Fragen rund um die Software- und Systementwicklung in der Medizintechnik. Neben seinen beruflichen Tätigkeiten schloss er im Juli 2009 den Masterstudiengang „IT im Gesundheitswesen“ ab. Matthias Hölzer-Klüpfel ist Mitbegründer des Vereins „ICPMSB e.V.“, der die Grundlagen für die Zertifizierungen zum „Certified Professional for Medical Software“ erarbeitet, und Vorsitzender des Richtlinienausschusses „Medical SPICE“ im Verein Deutscher Ingenieure (VDI.)Sven Wittorf hat Elektro- und Informationstechnik an der TU Darmstadt studiert und einen Abschluss als Master of Science im Bereich IT im Gesundheitswesen. Er betreute und schulte Medizinproduktehersteller unterschiedlicher Größe beim Aufsetzen von deren Softwarentwicklungsprozessen. Seit 2012 ist er Geschäftsführender Gesellschafter der Medsoto GmbH, die Softwarewerkzeuge zur Unterstützung des normenkonformen und effizienten Arbeitens in der Medizintechnik erstellt und deren Einführung in Unternehmen begleitet. Er ist Gründungsmitglied des ICPMSB e. V. und Mitglied im nationalen Normungsgremium der IEC 62304 sowie im VDI Fachausschuss „Qualitätssicherung für Software in der Medizintechnik“.
Teach Yourself VISUALLY Chromebook
TEACH YOURSELF VISUALLY CHROMEBOOK IS YOUR ULTIMATE GUIDE TO GETTING THE MOST OUT OF YOUR CHROMEBOOK!Designed for ease of use and portable functionality, Chromebook is the device of choice for children, teens, and adults alike. Learn to setup and use your new Chromebook by configuring essential settings and connecting external devices.When you first open your Chromebook, you'll see several app icons sitting at the bottom of the screen. This area is called the Shelf, and it mimics the Windows taskbar. The Chrome OS Shelf shows which apps are running and provides an easy way to launch apps. To make the Chromebook your own you'll want to add your commonly used apps to the Shelf, and remove the ones you don't use.This guide will also teach you tips and tricks for how to share content with others from your Chromebook and how to download, run, and manage your applications!Chromebook is designed to be one of the most feature-rich and user-friendly solutions that allows users the portable functionality of a laptop and tablet running Chrome OS with the ability to run Android apps and Linux desktop apps.* Get started with Chromebook with over 800 full-color images* Master ChromeOS and get up and running in no time* Personalize your desktop backgroundGUY HART-DAVIS is the author of more than 100 computing books, including Teach Yourself VISUALLY iPhone, Teach Yourself VISUALLY MacBook, and Teach Yourself VISUALLY Google WorkspaceCHAPTER 1 GETTING STARTED WITH YOUR CHROMEBOOKUnderstanding the Chromebook Concept 4Explore Different Types of Chromebooks 6Set Up Your Chromebook 8Start Your Chromebook and Sign In 14Explore the Chrome OS Desktop 16Point, Click, and Scroll with the Touchpad 18Using the Touchscreen 20Using the Keyboard 21Using Keyboard Shortcuts 22Connect to a Wi‐Fi Network 24Give Commands 26Open, Close, and Manage Windows 28Work with Notifications 30Lock and Unlock Your Chromebook’s Screen 32Put Your Chromebook to Sleep and Wake It Up 34Sign Out and Sign Back In 36Shut Down Your Chromebook 38CHAPTER 2 CONFIGURING ESSENTIAL CHROMEBOOK SETTINGSConfigure the Shelf 42Configure the Launcher 44Change the Wallpaper 46Change the Display Scaling 48Configure the Night Light Settings 50Choose Power and Sleep Settings 52Set a Screen Lock for Security 54Configure the Keyboard 56Configure the Touchpad 58Configure Notifications and Do Not Disturb 60Configure Sound Settings 62Choose Which Pages to Display on Startup 64Customize the Default Chrome Theme 66Apply a Browser Theme to Chrome 68CHAPTER 3 CONFIGURING ACCESSIBILITY SETTINGSDisplay the Accessibility Settings 72Make the Screen Easier to See 74Zoom the Screen with the Magnifier Features 76Configure Keyboard Accessibility Settings 78Configure Mouse and Touchpad Accessibility Settings 80Configure Audio Accessibility Settings 82Configure Text‐to‐Speech Features 84CHAPTER 4 CONNECTING EXTERNAL DEVICESConnect and Use Bluetooth Devices 88Connect and Configure an External Mouse 90Connect and Configure a Second Display 92Connect a Printer and Print 94Using microSD Cards and USB Memory Sticks 96Cast Content to a Chromecast Device 98Connect Your Android Phone to Your Chromebook 102Connect to the Internet via Your Android Phone 104Connect to the Internet via USB Tethering 106CHAPTER 5 SHARING YOUR CHROMEBOOK WITH OTHERSEnable Guest Browsing 110Using a Chromebook in Guest Mode 112Configure the Sign‐In Screen 114Restrict the Users Who Can Sign In 116Implement Parental Controls 118Sign In Multiple Users and Switch Among Them 124CHAPTER 6 RUNNING AND MANAGING APPS AND EXTENSIONSUnderstanding Apps and Extensions 128Run an App 130Switch Among Open Windows 132Organize Your Windows with Desks 134Install an App from the Web Store 136Install an Extension 138Pin and Unpin Extensions 140Configure Settings for an Extension 141Manage and Remove Extensions 142Install an Android App 144Run an Android App 146Configure Preferences for Android Apps 148CHAPTER 7 MANAGING YOUR FILES AND FOLDERSUnderstanding Your File Storage Options 152Open the Files App and Explore Local Storage 154Explore Your Google Drive Storage 156Enable and Use Google Drive’s Offline Mode 158Work with Files on USB Drives or microSD Cards 160Connect Your Chromebook to a Network Drive 162Connect to Another Cloud File Service 164Open a File from Storage 168Change the Default App for a File Type 170Copy a File or Folder 172Move a File or Folder 174Rename a File or Folder 176CHAPTER 8 SURFING THE WEBGet Info on a File or Folder 177Search for a File or Folder 178Compress and Uncompress Files 180Recover a File from the Trash on Google Drive 182Open a Web Page 186Follow a Link to a Web Page 187Open Several Web Pages at Once 188Navigate Among Web Pages 190Return to a Recently Visited Page 192Play Music and Videos on the Web 194Set Your Search Engine 196Create Bookmarks for Web Pages 198Download Files 200Run a Safety Check in Chrome 202Configure Chrome for Security and Privacy 204CHAPTER 9 SENDING AND RECEIVING EMAILAdd External Email Accounts to Gmail 212Navigate the Gmail Interface 216Receive and Read Your Email Messages 218Send an Email Message 220Reply to a Message 222Forward a Message 224Include Formatting, Emojis, and Pictures in Messages 226Send an Email Message Using Confidential Mode 228Schedule a Message for Sending Later 229Send a File or a Link via Email 230Receive a File or a Link via Email 232View Email Messages by Conversations 236Block and Unblock Senders 238Create Email Filters 240CHAPTER 10 CHATTING AND CALLINGChat via Google Hangouts from Gmail 246Chat via Google Hangouts 248Video Chat via Google Hangouts 250Make Video Calls via Google Duo 252Set Up Google Messages for Web 254Chat from Your Chromebook Using Messages 256CHAPTER 11 ORGANIZING YOUR LIFEManage Your Google Account 260Open Google Calendar and Create a Shortcut 268Navigate the Google Calendar Interface 270Create a New Calendar 272Create an Event in Google Calendar 274Share a Calendar with Other People 276Subscribe to a Shared Calendar 278Open Google Contacts and Create a Shortcut 280Add Someone to Your Contacts 282Change a Contact’s Information 284Import Contacts into Google Contacts 286Merge and Fix Contacts 288Organize Your Contacts with Labels 290Track Your Commitments with Google Tasks 292Get Directions with Google Maps 296CHAPTER 12 ADVANCED MOVES AND TROUBLESHOOTINGKeep Your Chromebook Current with Updates 300Connect to a Remote Network via a VPN 302Using Remote Access and Remote Support 306Deal with Frozen Apps and Chrome Browser Tabs 310Using Task Manager for Troubleshooting 312Troubleshoot Network Problems 314Troubleshoot Wi‐Fi Connections 316Shut Down a Frozen Chromebook 318Powerwash Your Chromebook 320Recover Your Chromebook 322Index 326
Domain-Driven Laravel
Map concepts and ideas in domain-driven design (DDD) and transpose them into clean, testable, and quality code that is effective alongside the Laravel framework. This book teaches you how to implement the concepts and patterns present in DDD in the real world as a complete web application. With these tactics and concepts in place, you'll engage in a variety of example applications, built from the ground up, and taken directly from real-world domains.Begin by reviewing foundational stepping stones (with small, manageable examples to show proof of concepts as well as illustrations to conceptualize the more complex topics) of both DDD and Laravel. Specifically, such topics as entities, value objects, developing an ubiquitous language, DTOs, and knowledge discovery. Next, you will dive into some more advanced topics of DDD and use these concepts as a guide to make customizations to the default Laravel installation, giving you an understanding of why these alterations are vital to the DDD and Laravel platform. Finally, you will cover the very powerful Eloquent ORM that comes stock with Laravel and understand how it can be utilized to represent entities, handle repositories, and support domain events.Although there is a basic coverage chapter and a setup tutorial for Laravel (along with a high level intro about the components used within it), Domain-Driven Laravel is best suited to readers who have been at least exposed to the framework and have had the opportunity to tinker around with it.WHAT YOU'LL LEARN* Utilize a blazing-fast rapid development pipeline built from DDD building blocks and facilitated with Laravel* Implement value objects, repositories, entities, anti-corruption layers and others using Laravel as a web framework* Apply enhanced techniques for quick prototyping of complex requirements and quality results using an iterative and focused approach * Create a base framework (Laravel) that can serve as a template to start off any project* Gain insight on which details are important to a project’s success and how to acquire the necessary knowledge WHO THIS BOOK IS FORIdeal for for frontend/backend web developers, devops engineers, Laravel framework lovers and PHP developers hoping to learn more about either Domain Driven Design or the possibilities with the Laravel framework. Those with a working knowledge of plain PHP can also gain value from reading this book.JESSE GRIFFIN is a seasoned Laravel and Symfony developer who specializes in building e-commerce systems as well as add-ons for a variety of purposes and platforms related to shipping, packaging, warehouse management, inventory control, barcode systems, asset management/tracking, customer tracking as well as statistics and reporting. He has over 10 years of professional web application development experience and holds a bachelor's degree in computer science, although he’s been programming since he was 9 years old.DOMAIN-DRIVEN LARAVELPART 1: AN ODD COMBINATION1. Laying the Foundation2. Foundational Bootcamp3. Domain Driven What?4. Introduction to Laravel5. Advanced Laravel6. Architecting a Claim Processing System7. Modeling and Implementing the Domain8. Modularizing LaravelPART 2: A DOMAIN DRIVEN APPROACH9. A Domain Driven Approach to Claim Submission10. A Domain Driven Approach to Claim Validation11. Context MapsPART 3: TECHNICAL ASPECTS OF DDD12. DTOs, Entities, and Value Objects13. Domain Events14. Repositories15. Factories and Aggregates16. ServicesPART 4: DDD VIA LARAVEL17. Hexagon Driven Development18. Applying DDL in the Real World19. Conclusion and Additional Thoughts
Building Secure Firmware
Use this book to build secure firmware.As operating systems and hypervisors have become successively more hardened, malware has moved further down the stack and into firmware. Firmware represents the boundary between hardware and software, and given its persistence, mutability, and opaqueness to today’s antivirus scanning technology, it represents an interesting target for attackers.As platforms are universally network-connected and can contain multiple devices with firmware, and a global supply chain feeds into platform firmware, assurance is critical for consumers, IT enterprises, and governments. This importance is highlighted by emergent requirements such as NIST SP800-193 for firmware resilience and NIST SP800-155 for firmware measurement.This book covers the secure implementation of various aspects of firmware, including standards-based firmware—such as support of the Trusted Computing Group (TCG), Desktop Management Task Force (DMTF), and Unified Extensible Firmware Interface (UEFI) specifications—and also provides code samples and use cases. Beyond the standards, alternate firmware implementations such as ARM Trusted Firmware and other device firmware implementations (such as platform roots of trust), are covered.WHAT YOU WILL LEARN* Get an overview of proactive security development for firmware, including firmware threat modeling* Understand the details of architecture, including protection, detection, recovery, integrity measurement, and access control* Be familiar with best practices for secure firmware development, including trusted execution environments, cryptography, and language-based defenses* Know the techniques used for security validation and maintenanceWho This Book Is ForGiven the complexity of modern platform boot requirements and the threat landscape, this book is relevant for readers spanning from IT decision makers to developers building firmwareJIEWEN YAO is a principal engineer in the Intel Architecture, Graphics, and Software Group. He has been engaged as a firmware developer for over 15 years. He is a member of the UEFI Security sub team, and the TCG PC Client sub working group. He has presented at industry events such as the Intel Developer Forum, UEFI Plugfest, and RSA conference. He worked with co-author Vincent Zimmer to publish 30 “A Tour Beyond BIOS” technical papers for tianocore.org and firmware.intel.com. He holds 40 US patents.VINCENT ZIMMER is a senior principal engineer in the Intel Architecture, Graphics, and Software Group. He has been engaged as a firmware developer for over 25 years and leads the UEFI Security sub team. He has presented at industry events such as the Open Source Firmware Conference, Linux Fest Northwest, Intel Developer Forum, UEFI Plugfest, Open Compute Project Summit, BlackHat Las Vegas, BSides Seattle, Toorcon, and Cansecwest. In addition to collaborating with Jiewen Yao on many white papers, he has co-authored several books on firmware, papers, and over 400 issued US patents.PART 1: OVERVIEWCHAPTER 1: INTRODUCTION SECURITYThreat ModelDesignValidationCHAPTER 2: INTRODUCTION HOST FIRMWAREIndustry StandardBoot Flow / Phase hand-offMinimal Firmware RequirementHardware ROTCPU/silicon initPCI resource allocation.prepare platform info (memmap/ACPI)Jump to OS.Runtime Interface (SMM, UEFI Runtime, ASL)General Principle - Protect / Detect / RecoveryPART 2: BOOT SECURITYCHAPTER 3: FIRMWARE RESILIENCE - PROTECTIONFlash LockFlash Wear outCapsule Flow (*)Signed UpdateCHAPTER 4: FIRMWARE RESILIENCE - DETECTIONBoot Flow (*)Intel Boot GuardOBB VerificationUEFI Secure BootLocalRemoteTXT- SX(coreboot)CHAPTER 5: FIRMWARE RESILIENCE – RECOVERYRecovery Flow (*)Signed RecoveryTop SwapRollback, SVNsCHAPTER 6: OS/LOADER RESILIENCEPlatform RecoveryOS Recovery(Android Verified Boot)CHAPTER 7: TRUSTED BOOTMeasured Boot Flow (*)SRTM (Boot Guard)DRTM (TXT)TPM1.2/2.0Physical PresenceMOR / Secure MORCHAPTER 8: AUTHENTICATIONUser AuthenticationHDD PasswordOPAL PasswordCHAPTER 9: S3 RESUMES3 resume flow (*)LockBoxCHAPTER 10: DEVICE SECURITYPCI Bus (*)DMA protectionDevice MeasurementDevice AuthenticationDevice firmware updateCHAPTER 11: SILICON SECURITY CONFIGURATIONFlash SPI lockSMM LockBAR LockChapter: Supply Chain (Vincent)OEM/ODM/BIOS vendor/IHVOpen sourceFingerprintingManufacturing flow to shipmentPART 3: DATA SECURITYCHAPTER 12: UEFI KERNELDXE/PEI Core (*)Heap GuardStack GuardNX protectionEnclaveCHAPTER 13: MANAGEMENT MODESMM Core (*)SMM Communication (*)StandaloneMM (*)MMIO ProtectionSecure SMM CommunicationIntel Runtime ResilienceSTM (SMI Transfer Monitor)Chapter: UEFI Variable (Vincent)AuthenticationVariable LockVariable CheckVariable Quota ManagementConfidentialityIntegrity and RollbackTPM BindingRPMBRPMCPART 4: MISCELLANEOUSCHAPTER 14: GENERAL CODING PRACTICEBuffer OverflowBanned APIInteger OverflowSafeInt libChapter: Cryptograph (Vincent)Hash usage in firmwareEncryption usage in firmwareSigning & verification usage in firmwareChapter 15: Compiler Defensive TechnologyStack CookieNon-ExecutableAddress Space RandomizationControl Flow Integrity (CFI) / Control Flow Enforcement (CET)Runtime Check (stack/un-initialized data/integer overflow)Chapter: Race Condition (Vincent)BSP/AP handling in UEFIBSP/AP handling in SMMTOC/TOUCHAPTER 16: INFORMATION LEAKSide ChannelMDSSMMCHAPTER 17: PROGRAMMING LANGUAGEC LanguageRust LanguagePart: Security TestCHAPTER 18: HBFAHardware EmulationSecurity Unit TestFuzzing (AFL)Static analysisCHAPTER 19: CHIPSECConfiguration CheckSMI FuzzingVariable fuzzingWhitelisting/BlacklistingPART 5: OTHERCHAPTER 20: CONCLUSIONPART 6: APPENDICESSecure coding checklistSecure review checklistAPI summaryPART 7: REFERENCES