Computer und IT
Learn Microservices with Spring Boot
Build Java-based microservices architecture using the Spring Boot framework by evolving an application from a small monolith to an event-driven architecture composed of several services. This revised book follows an incremental approach in teaching the structure of microservices, test-driven development, and common patterns in distributed systems such as service discovery, load balancing, routing, centralized logs, per-environment configuration, and containerization.This updated book now covers what's been added to the latest Spring Boot release, including support for the latest Java SE; more deep-dive knowledge on how Spring Boot works; testing with JUnit 5; changes in the Spring Cloud tools used for service discovery and load balancing; building Docker images using cloud-native buildpacks; a basic centralized logging solution; E2E traceability with Sleuth; centralized configuration with Consul; many dependency upgrades; support for Spring Data Neumann; and more.Author Moises Macero uses a pragmatic approach to explain the benefits of using this type of software architecture, instead of keeping you distracted with theoretical concepts. He covers some of the state-of-the-art techniques in computer programming, from a practical point of view. You’ll focus on what's important, starting with the minimum viable product but keeping the flexibility to evolve it.WHAT YOU WILL LEARN* Build microservices with Spring Boot* Discover architecture patterns for distributed systems such as asynchronous processing, eventual consistency, resilience, scalability, and more* Use event-driven architecture and messaging with RabbitMQ* Master service discovery with Consul and load balancing with Spring Cloud Load Balancer* Route requests with Spring Cloud Gateway* Keep flexible configurations per environment with Spring Cloud Consul* Trace every request from beginning to end with Sleuth and centralized logging* Deploy your microservices anywhere as Docker containers* Start all the components in the microservice architecture with Docker ComposeWHO THIS BOOK IS FORThose with at least some prior experience with Java programming. Some prior exposure to Spring Boot recommended but not required.MOISÉS MACERO GARCÍA has been a software developer since he was a kid, when he started playing around with BASIC on his ZX Spectrum. During his career, Moisés has most often worked in development and architecture for small and large projects, and for his own startups as well. He enjoys making software problems simple, and he likes working in teams where he can not only coach others, but also learn from them.Moisés is the author of the blog thepracticaldeveloper.com, where he shares solutions for technical challenges, guides, and his view on different ways of working in IT companies. He also organizes workshops for companies that need a practical approach to software engineering. In his free time, he enjoys traveling and hiking.* Introduction* Core concepts* A basic Spring Boot app* A minimal frontend with React* The data layer* Starting with Microservices* Event-Driven Architecture* Cloud native patterns* End-to-End tests with Cucumber
A Complete Guide to Burp Suite
Use this comprehensive guide to learn the practical aspects of Burp Suite—from the basics to more advanced topics. The book goes beyond the standard OWASP Top 10 and also covers security testing of APIs and mobile apps.Burp Suite is a simple, yet powerful, tool used for application security testing. It is widely used for manual application security testing of web applications plus APIs and mobile apps. The book starts with the basics and shows you how to set up a testing environment. It covers basic building blocks and takes you on an in-depth tour of its various components such as intruder, repeater, decoder, comparer, and sequencer. It also takes you through other useful features such as infiltrator, collaborator, scanner, and extender. And it teaches you how to use Burp Suite for API and mobile app security testing.WHAT YOU WILL LEARN* Understand various components of Burp Suite* Configure the tool for the most efficient use* Exploit real-world web vulnerabilities using Burp Suite* Extend the tool with useful add-onsWHO THIS BOOK IS FORThose with a keen interest in web application security testing, API security testing, mobile application security testing, and bug bounty hunting; and quality analysis and development team members who are part of the secure Software Development Lifecycle (SDLC) and want to quickly determine application vulnerabilities using Burp SuiteSAGAR RAHALKAR is a seasoned information security professional with more than 13 years of experience in various verticals of information security. His domain expertise is mainly in AppsSec, cyber crime investigations, vulnerability assessments, penetration testing, and IT GRC. He holds a master’s degree in computer science and several industry-recognized certifications such as CISM, ISO 27001LA, and ECSA. He has been closely associated with Indian law enforcement agencies for more than three years, dealing with digital crime investigations and related training, and received awards from senior officials of the police and defense organizations in India. He also is an author and reviewer for several publications.Chapter 1: Introduction to Burp SuiteCHAPTER GOAL: INTRODUCE THE BURP SUITE TO THE USERS EXPLAINING ITS NEED AND A HIGH-LEVEL OVERVIEW. IT WOULD SET THE CONTEXT FOR REST OF THE CHAPTERS.NO OF PAGES – 6-8SUBTOPICS1. Introduction to application security testing2. Some basics of application security3. A brief introduction to Burp Suite4. Need for Burp Suite5. Peer comparison6. Burp Suite features and versions7. High level feature overviewChapter 2: Setting up the environmentCHAPTER GOAL: HELP THE READERS TO SETUP THE TESTING ENVIRONMENT FOR REST OF THE CHAPTERSNO OF PAGES 6SUBTOPICS1. Burp Suite installation2. Setting up vulnerable target web application3. Configuring the browser4. Using the Burp Suite CA certificateChapter 3: User options, project options, proxyCHAPTER GOAL: INTRODUCE THE READERS TO THE USER OPTIONS, PROJECT OPTIONS AND PROXY TAB OF BURP SUITE. THESE ARE SOME BASIC BUILDING BLOCKS TO GET STARTED FURTHER.NO OF PAGES 20-25SUBTOPICS1. Platform authentication, upstream proxy servers, SOCKS proxy2. Defining the hotkeys3. Automatic project backups4. Rest API5. Proxy interception, proxy history logging6. Performance feedback7. Project Options – Time outs, host name resolution, out of scope requests, redirections, TLS configuration, session handling rules, cookie jar and macros8. Proxy – Intercept, HTTP History, web socket history and optionsCHAPTER 4: DASHBOARD, TARGET, ENGAGEMENT TOOLSCHAPTER GOAL: INTRODUCE THE READERS TO THE DASHBOARD, TARGET TABS AND THE ENGAGEMENT TOOLSNO OF PAGES 10-15SUBTOPICS1.Dashboard overview2.Target Tab – introduction to various panes, filters3.Engagement toolsChapter 5: IntruderCHAPTER GOAL: INTRODUCE THE READERS TO THE BURP SUITE INTRUDER TOOL.NO OF PAGES 10SUBTOPICS1. Target tab2. Positions3. Payloads4. OptionsChapter 6: Repeater, sequencer, decoder and comparerCHAPTER GOAL: INTRODUCE THE READERS TO REPEATER, SEQUENCER, DECODER AND COMPARERNO OF PAGES 10 - 15SUBTOPICS1. Repeater – request and response, search filters, show response and render2. Sequencer – Live capture, manual load and analysis options3. Decoder – Encoding, Decoding and Hashing4. Efficiently using comparerChapter 7: Infiltrator, Collaborator and ClickbanditCHAPTER GOAL: INTRODUCE THE READERS TO INFILTRATOR, COLLABORATOR AND CLICKBANDIT TOOLSNO OF PAGES 10-15SUBTOPICS1. Infiltrator – patching the java binaries2. Collaborator basics for out of the band attacks3. Introduction to clickbandit for clickjacking POC’s.Chapter 8: Scanner and ReportingCHAPTER GOAL: INTRODUCE THE READERS TO BURP SUITE SCANNER AND VARIOUS REPORTING OPTIONSNO OF PAGES 6-8SUBTOPICS1. Crawl, audit2. Scan configuration3. Application login4. Resource poolsChapter 9: Extending Burp SuiteChapter Goal: Introduce the readers to Burp Suite extenderNO OF PAGES 15-20SUBTOPICS1. Burp Suite extensions2. Manual installation3. BApp store4. Other useful extensionsChapter 10: Testing mobile apps and API’s with Burp SuiteCHAPTER GOAL: Introduce the readers to techniques for performing security testing on mobile apps and API’s with Burp SuiteNO OF PAGES 15-20SUBTOPICS1. API security testing with Burp Suite2. Mobile App Security Testing with Burp Suite
Practical Azure SQL Database for Modern Developers
Here is the expert-level, insider guidance you need on using Azure SQL Database as your back-end data store. This book highlights best practices in everything ranging from full-stack projects to mobile applications to critical, back-end APIs. The book provides instruction on accessing your data from any language and platform. And you learn how to push processing-intensive work into the database engine to be near the data and avoid undue networking traffic. Azure SQL is explained from a developer's point of view, helping you master its feature set and create applications that perform well and delight users.Core to the book is showing you how Azure SQL Database provides relational and post-relational support so that any workload can be managed with easy accessibility from any platform and any language. You will learn about features ranging from lock-free tables to columnstore indexes, and about support for data formats ranging from JSON and key-values to the nodes and edges in the graph database paradigm. Reading this book prepares you to deal with almost all data management challenges, allowing you to create lean and specialized solutions having the elasticity and scalability that are needed in the modern world.WHAT YOU WILL LEARN* Master Azure SQL Database in your development projects from design to the CI/CD pipeline* Access your data from any programming language and platform* Combine key-value, JSON, and relational data in the same database* Push data-intensive compute work into the database for improved efficiency* Delight your customers by detecting and improving poorly performing queries* Enhance performance through features such as columnstore indexes and lock-free tables* Build confidence in your mastery of Azure SQL Database's feature setWHO THIS BOOK IS FORDevelopers of applications and APIs that benefit from cloud database support, developers who wish to master their tools (including Azure SQL Database, and those who want their applications to be known for speedy performance and the elegance of their codeDAVIDE MAURI is Program Manager in the Azure SQL Database product group. He has been working in the IT field since 1997 and was awarded Data Platform MVP status for 12 consecutive years. He started his career as a full-stack and back-end developer, then focused on databases and data science for 15 years while still keeping alive his passion for development (mainly in C# and Python). He then moved to the Internet of Things (IoT) and big data space where ingesting, processing, and analyzing millions of data points in near real time was his everyday challenge. Building from that experience, he joined Microsoft to help companies worldwide to leverage stream processing at scale. He now works for Azure SQL Database as the developer's voice inside the product group, working to make sure that Azure SQL Database is, and will be, the best database option for developers.SILVANO CORIANI has worked on SQL and other data technologies more than 25 years. He started as an embedded systems developer in industrial automation and moved to data acquisition, processing, and analysis in distributed solutions. He has worked on several RDBMS engines (SQL Server 6.0 and later releases, Oracle, IBM DB2, and more recently PostgreSQL), and on NoSQL and other analytical engines such as Spark and Hadoop. He also has experience in C/C++, Visual Basic, Java, and .NET. He has worked in several industries, including manufacturing, retail, and financial services. Since joining Microsoft in 2003, he has been busy helping ISVs and enterprise customers to learn and adopt Microsoft technologies. His experience includes being Developer Evangelist, Software Engineer in the SQL Customer Advisory Team, and most recently working in SQL Customer Success Engineering for the Azure Data team. He is also an active speaker at industry conferences such as PASS Summit and Microsoft Ignite.ANNA HOFFMAN is Data & Applied Scientist on the Azure Data team at Microsoft. She has worked in Microsoft Research, AI Engineering, and Microsoft Services in her time at Microsoft. She spent several years working on .NET, Python, R, and Java, to democratize AI via tools and services such as Azure Cognitive Services, Azure Machine Learning, and SQL Server (Machine Learning Services and Big Data Clusters). She now spends most of her time working on the Azure SQL Database product team and participating in the community. She has an undergraduate engineering degree from Georgia Institute of Technology, and she is wrapping up a Master of Science in analytics, also at Georgia Institute of Technology (he is always learning). You can follow her on Twitter at @AnalyticAnna.SANJAY MISHRA is Product Leader in Microsoft Azure Data. He leads product management for the Azure SQL Database team, which includes products such as Azure SQL DB, SQL Hyperscale, Elastic Pools. Prior to this role, he served as Technical Advisor to the VP of Azure Data PM, and led the eminent SQLCAT and DataCAT teams.JOVAN POPOVIC is Senior Program Manager working on Microsoft SQL Server, Azure SQL Database, and Azure Synapse Analytics. He is working in Microsoft Development Center Serbia as Program Manager on several developer-facing SQL Server/Azure SQL features such as T-SQL language enhancements, JSON/temporal support, columnstore/in-memory technologies, and built-in intelligence. He has more than 15 years of experience in various Microsoft technologies with a focus on SQL Server, Azure, ASP.NET, C#, and JavaScript. He has been working in various Microsoft Data Platform teams since 2012. He is a former Microsoft MVP for ASP.NET and has a PhD degree in software engineering from the University of Belgrade. He is am public speaker at top Microsoft conferences, and is author of several books and open-source projects. He enjoys exploring technologies (especially SQL Server capabilities) and finding the best ways to implement the most efficient solutions using them.1. Introduction2. Azure SQL Kickstart3. Connecting and Querying Azure SQL4. Developing with Azure SQL - Foundations5. Developing with Azure SQL - Advanced6. Practical Use of Tables and Indexes7. Scalability, Consistency, and Performance8. Multi-model Capabilities9. More Than Tables10. Monitoring and Debugging11. DevOps with Azure SQL
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
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
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.
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
The LEGO Arduino Cookbook
Push into new fields of technology using LEGO and Arduino with the projects in this Cookbook. MINDSTORMS EV3 inventions don’t have to be confined to LEGO factory-made sensors. Incorporate a wide range of sensors, displays, LED arrays, actuators, and even a smartphone into your creations.Add amazing capabilities to your LEGOs by building things such as a metal detector, long-range lidar, audio spectrum analyzer, weather station, and a smartphone. Step-by-step instructions bring these new devices to life. You’ll work with the reliable and inexpensive Arduino UNO to take your projects even further and make them truly smart. Learn to set up and program your Arduino UNO. Then learn data communications protocols (I2C, SPI, and PWM) to link sensors to the Arduino. A variety of data communications techniques are also demonstrated on passing data between the Arduino and the MINDSTORMS EV3 Intelligent Brick.Equipped with these new tools, LEGO inventors can build vast new capabilities into their designs.WHAT YOU'LL LEARN* Interface new sensors, devices, and communications with LEGO Mindstorms EV3* Work with communication protocols of pulse width modulation (PWM), I2c, and SPI* Convert pulse width modulation to analog voltage with resistor and capacitor componentsWHO THIS BOOK IS FORTech savvy fans of LEGO projects and hardware hackers. Also coaches or students involved in a school science/technology project or design competition.GRADY KOCH emphasizes building things from LEGO that can be applied to practical use in science, engineering, or security. He is the author of LEGO Optics: Projects in Optical and Laser Science with LEGO, High-Tech LEGO: Projects in Science, Engineering, and Spycraft with Technic and Mindstorms EV3, and Secrets of Eli’s LEGO Collection. He also writes for and runs hightechlego.com, which features various LEGO technology projects. His day job since 1987 has been as a research engineer with NASA Langley Research Center. There he works with technology for remote sensing atmospheric phenomena. He holds a PhD in Electrical Engineering. And he holds three patents in the field of wind measurements with lidar.IntroductionChapter 1: The LEGO Arduino WorkstationThe ArduinoAssembling the LEGO Arduino WorkstationThe Breadboard and WiringFinal AssemblySummaryChapter 2: Programming the EV3 Intelligent BrickGetting Started with the MINDSTORMS EV3 Programming EnvironmentProgrammingExtra and Aftermarket Device BlocksMy BlocksSummaryChapter 3: Programming the ArduinoInstalling the Arduino Integrated Development EnvironmentNavigating the Arduino IDERunning a First SketchWorking with LibrariesWorking with FunctionsSummaryChapter 4: Sensors and ElectronicsMINDSTORMS Sensors and MotorsAftermarket MINDSTORM-Compatible SensorsArduino SensorsPulsewidth Modulation (PWM)Inter-Integrated Circuit (I2C) IntefaceSerial Peripheral Interface (SPI)Electronic ComponentsResistorsCapacitorsSummaryChapter 5: The LEGO Metal Detector—I2C Sensor with EV3 Analog InterfaceMounting the Grove Inductive SensorThe Low-Pass FilterWiring ConnectionsEV3 CodeArduino SketchResultsAlternate MountSummaryChapter 6: Programmable LEDs—I2C Controller with EV3 Analog InterfaceMounting the Qwiic LED StickWiring ConnectionsAnalog Signals from the EV3 Intelligent BrickArduino SketchResultsSummaryChapter 7: I2C Communication with the EV3 Intelligent BrickThe EV3 I2C BlockBits and BytesWiring ConnectionsReading Bytes into the EV3 Intelligent BrickEV3 Code for ReadingArduino Sketch for ReadingWriting Bytes from the EV3 Intelligent BrickEV3 Code for WritingArduino Sketch for WritingI2C ConflictsSummaryChapter 8: The LEGO Lidar—PWM Sensor with EV3 I2C InterfaceMounting the LidarWiring ConnectionsEV3 Code for 10-m Distance CapabilityArduino Sketch for 10-m Distance CapabilitySoftware Modification for 40-m Distance CapabilityExample Application for Scanning a SceneExample Application for Measuring a TreeAdding a Camera to Build the LEGO Traffic MonitorSummaryChapter 9: The LEGO Weather Station—SPI Sensor with EV3 I2C InterfaceMounting the Atmospheric SensorBuilding the LEGO Weather StationWiring ConnectionsEV3 CodeArduino SketchExample Applications for Diurnal Weather TrendsSummaryChapter 10: The LEGO Spectrum Analyzer—Arduino Shield with I2C Input to EV3Mounting the Spectrum ShieldBuilding the Spectral DisplayWiring ConnectionsEV3 CodeArduino SketchResultsSummaryChapter 11: The Favorite Color Machine—Arduino Shield with I2C Output from EV3Mounting the NeoPixel ShieldMounting the LEGO MotorsWiring ConnectionsEV3 CodeArduino SketchUsing the Favorite Color MachineSummaryChapter 12: Connecting MINDSTORMS to a SmartphoneMounting the 1Sheeld+Building the Tilt MimicWiring Connections for the Tilt MimicEV3 Code for the Tilt MimicArduino Sketch for the Tilt MimicSetting up the Smartphone for the Tilt MimicRunning the Tilt MimicThe Intrusion MonitorBuilding the Intrusion Monitor Sensor MountBuilding the Intrusion Monitor Smartphone StandWiring Connections for the Intrusion MonitorEV3 Code for the Intrusion MonitorArduino Sketch for the Intrusion MonitorSetting up the Smartphone for the Intrusion MonitorRunning the Intrusion MonitorSummaryAppendix: Parts ListsParts Used in Chapter 1 for the LEGO Arduino WorkstationParts Used in Chapter 5 for the LEGO Metal DetectorParts Used in Chapter 6 for Programmable LEDsParts Used in Chapter 8 for the LEGO LidarParts Used in Chapter 9 for the LEGO Weather StationParts Used in Chapter 10 for the LEGO Spectrum AnalyzerParts Used in Chapter 11 for the Favorite Color MachineParts Used in Chapter 12 for Connecting MINDSTORMS to a Smartphone
Practical System Programming with C
This book teaches system programming with the latest versions of C through a set of practical examples and problems. It covers the development of a handful of programs, implementing efficient coding examples.Practical System Programming with C contains three main parts: getting your hands dirty with multithreaded C programming; practical system programming using concepts such as processes, signals, and inter-process communication; and advanced socket-based programming which consists of developing a network application for reliable communication.You will be introduced to a marvelous ecosystem of system programming with C, from handling basic system utility commands to communicating through socket programming. With the help of socket programming you will be able to build client-server applications in no time.The “secret sauce” of this book is its curated list of topics and solutions, which fit together through a set of different pragmatic examples; each topic is covered from scratch in an easy-to-learn way. On that journey, you’ll focus on practical implementations and an outline of best practices and potential pitfalls. The book also includes a bonus chapter with a list of advanced topics and directions to grow your skills.WHAT YOU WILL LEARN* Program with operating systems using the latest version of C * Work with Linux* Carry out multithreading with C Examine the POSIX standards* Work with files, directories, processes, and signals* Explore IPC and how to work with itWHO THIS BOOK IS FORProgrammers who have an exposure to C programming and want to learn system programming. This book will help them to learn about core concepts of operating systems with the help of C programming..Sri Manikanta Palakollu is a programmer and software developer with experience in C, C++, Java, and Python as well as Linux, POSIX, and other operating system-level programming. He is a tech reviewer for various tech book publishers. Sri also contributes to various open source projects.1. Introduction to Linux Environment• Getting familiar with Linux Kernel• Linux Kernel V/S Other OS Kernels.• File Handling Utilities• Process Utilities• Network Utilities• Backup Utilities.2. Implementation of Multithreading with C• Introduction to Threads• Threads V/S process• Introduction to Multithreading.• Importance of Multithreading.• Support of Multithreading in C• Creation of threads.• Practical Examples of Multithreading.• Use cases of Multithreading.3. Getting Started with System Programming• Understanding the POSIX Standard.• Introduction to API’s• Importance of API’s• Inbuilt API’s in C4. Files and Directories• Basic concepts in files• Files meta i-nodes• System Calls for Files• I/O Operations for Files• File Permissions.• Soft and Hard Links• System call for Directories.5. Processes and Signals• Introduction to process Environment• Environment Variables• Kernel Support for Processes• Process Creation• Concept of the Zombie process• Concept of Orphan Process• System Calls for Process management• Introduction to Signals• System calls for signals• Types of Signals6. Inter process Communication (IPC)• Introduction to IPC• Types of IPC• Creation of Named PIPES• Creation of UN-Named PIPES• Concept of Message Queues• Implementation of Message Queues• Concept of Semaphore• Implementation of Semaphore.• API for Named and unnamed PIPES• API for Message Queues• API for Semaphore.7. Shared Memory• Introduction to Shared Memory.• Kernel Support for Shared Memory.• Implementation of Shared Memory.• API for Shared Memory.8. Socket Programming• Introduction to Sockets• IPC Over Networks• API for Socket Programming• OSI Layer Protocol• TCP/IP Protocol• Client Server Architecture.• System calls for Socket Programming.• Implementation of Single Client Server Architecture.• Implementation of Multiple Client Server Architecture.9. Advanced Topics and Directions.
Practical Glimpse
Learn how to edit images and create compelling digital art with Glimpse, the newest open source alternative to Adobe Photoshop and GIMP. This book explores Glimpse's broad selection of tools and features that can create beautiful (raster) digital art; painting, drawings, and art created from photos by applying one of the many filters to create artistic effects.You will quickly become acquainted with this powerful program and understand how to use workspace tools and layers. You will learn step-by-step how to correct exposure, digitally retouch and repair damaged photos, and handle just about any photo editing task—even colorizing grayscale images. Practice files are provided with step-by-step instructions to jump into photo editing and art creation.Glimpse is a powerful program that is a viable alternative to Adobe Photoshop and other proprietary software. The possibilities of the art one can create are almost limitless—get started with it using this book today.WHAT YOU'LL LEARN* Navigate the Glimpse workspace* Use layers, which are essential in any professional quality image editing program* Work with the varied tools that Glimpse offers* Enhance, retouch, and modify digital images* Restore and repair damaged family photos, and create composites such as replacing backgrounds* Create compelling digital artwork using the drawing tools and by applying artistic filtersWHO THIS BOOK IS FORAnyone desiring to learn serious image editing with Glimpse. It can be used by both fledgling and professional photographers, freelance graphic designers, students, genealogists, and more. Because it’s free, it can be especially advantageous to teachers, students, and small business owners on a budget.PHILLIP WHITT is an author, photo retouch professional and graphic designer. He is the author of several Apress books and video tutorials pertaining to image editing using GIMP and Adobe Photoshop Elements. He has edited, retouched, and restored countless digital images since the late 1990s. He has served both clients from the general public and a number of commercial clients over the years. In addition to over 20 years of image editing and graphic design experience, he also has an Expert Rating Certification in Adobe Photoshop Skills, and VTC certifications in GIMP and Scribus.PART I. ACQUIRING, INSTALLING, AND GETTING TO KNOW GLIMPSE1. An Overview of Glimpse2. Layers, Channels, Paths, and Undo History3. An Overview of the ToolsPART II. WORKING WITH DIGITAL PHOTOS4. Correcting Exposure and Contrast5. Enhancing, Correcting, and Working with Color6. Modifying, Retouching, and Restoring Photos7. Compositing ImagesPART III. CREATING DIGITAL ART.8. Drawing Basics9. Creating Digital Artwork.10. Using Artistic Filters
Systems and Network Infrastructure Integration
IT infrastructures are now essential in all areas and sectors of human activity; they are the cornerstone of any information system. Thus, it is clear that the greatest of care must be given to their design, implementation, security and supervision in order to ensure optimum functionality and better performance. Within this context, Systems and Network Infrastructure Integration presents the methodological and theoretical principles necessary to successfully carry out an integration project for network and systems infrastructures. This book is aimed at anyone interested in the field of networks in general. In particular, it is intended for students of fields relating to networks and computer systems who are called upon to integrate their knowledge and skills, gained throughout their academic study, into a comprehensive project to set up a complete infrastructure, while respecting the necessary specifications.SAIDA HELALI is a university lecturer in Information Technology (specializing in networks and information systems) at the Institut Supérieur des Etudes Technologiques de Radès (Tunisia). He holds an ACREDITE master's degree (Analysis, Conception and Research in the Domain of Educational Technology Engineering), which was jointly awarded by the Université de Cergy-Pontoise (France), the Université de MONS (Belgium) and the Université de Genève (Switzerland). In 2017, he was chair of the Tunisian branch of the IEEE Education Society and he is also an acting member of AIPU TUNISIE, an international association about university pedagogy.Preface ixCHAPTER 1. INTRODUCTION TO PROJECT MANAGEMENT 11.1. Introduction 11.2. Project management 21.3. Project management methods and tools 31.3.1. Gantt diagram 51.3.2. RACI (Responsible, Accountable, Consulted, Informed) matrix 51.3.3. The concept of specifications 61.4. Chapter summary 8CHAPTER 2. SIMULATING NETWORK ARCHITECTURES WITH GNS3 92.1. Introduction 92.2. Definition 102.3. Introduction to GNS3 112.3.1. Functionalities of GNS3 122.3.2. Limitations 122.3.3. GNS3 installation 122.3.4. Getting started with GNS3 132.4. Chapter summary 25CHAPTER 3. GREEN IT 273.1. Introduction 273.2. Introduction of concept 283.3. Green IT trigger factors 293.4. Benefits of Green IT 293.5. The lifecycle of ICTs 303.6. Mechanisms and technical solutions for the implementation of a Green IT infrastructure 313.7. Green IT labels and standards 333.8. Some examples of Eco-ICTs 343.9. Chapter summary 36CHAPTER 4. DESIGN OF NETWORK INFRASTRUCTURES 374.1. Introduction 374.2. The founding principles of networks 384.2.1. Definition and preliminaries 384.2.2. Classification of digital data networks 394.2.3. Components of a network 404.2.4. Measuring network performance 454.2.5. Concepts of collision domain/broadcast domain and VLANs 474.3. Methods and models of IT network design 484.3.1. Principles of structured engineering 484.4. Assessment of needs and choice of equipment 544.5. Chapter summary 56CHAPTER 5. NETWORK SERVICES 575.1. Introduction 575.2. DHCP service 585.2.1. Introduction 585.2.2. Operating principle 585.2.3. Renewal of lease 625.2.4. The concept of a DHCP relay 625.3. DNS service 635.3.1. Introduction 635.3.2. Operating principle 635.4. LDAP service 665.4.1. Introduction 665.4.2. LDAP protocol 675.4.3. LDAP directory 685.5. E-mail service 705.5.1. Introduction 705.5.2. Architecture and operating principle. 715.5.3. Protocols involved 725.6. Web server 735.6.1. Introduction 735.6.2. Operating principle 735.6.3. The principle of virtual hosting 745.7. FTP file transfer service 765.7.1. Definition 765.7.2. Operating principle 775.7.3. Types 775.8. Chapter summary 78CHAPTER 6. SYSTEM AND NETWORK SECURITY 796.1. Introduction 796.2. Definitions, challenges and basic concepts 806.3. Threats/attacks 826.3.1. Access attacks 826.3.2. Modification attacks 836.3.3. Saturation attacks 836.3.4. Repudiation attacks 836.4. Security mechanisms 836.4.1. Encryption tools 846.4.2. Antivirus programs 846.4.3. Firewalls/IDS and IPS 846.4.4. VPNs 866.4.5. Other means of security 896.5. Security management systems: norms and security policies 916.5.1. Norms 916.5.2. The idea of security policy 926.6. Chapter summary 93CHAPTER 7. VIRTUALIZATION AND CLOUD COMPUTING 957.1. Introduction 957.2. Virtualization 967.2.1. Definition 967.2.2. Benefits of virtualization 967.2.3. Areas of application 977.2.4. Categories of virtualization 1007.2.5. Limits of virtualization 1037.3. Cloud computing 1037.3.1. Definitions 1037.3.2. Leverage factors and generic principles 1047.3.3. Architecture models 1047.3.4. Types of cloud 1077.3.5. Areas of application 1097.3.6. Advantages and limitations 1107.4. Chapter summary 111CHAPTER 8. QUALITY OF SERVICE AND HIGH AVAILABILITY 1138.1. Introduction 1138.2. Quality of service 1148.2.1. Motivation 1148.2.2. Definition(s) 1158.2.3. Objectives of QoS 1168.2.4. Metrics of QoS 1178.2.5. General principles of QoS 1188.2.6. QoS mechanisms 1208.3. High availability 1418.3.1. Redundancy in the physical layer 1438.3.2. Redundancy in the data link layer 1438.3.3. Redundancy in the network layer 1498.3.4. Redundancy in the application layer 1548.4. Chapter summary 156CHAPTER 9. MONITORING SYSTEMS AND NETWORKS 1579.1. Introduction 1579.2. Main concepts of network and service supervision 1589.2.1. Definition 1589.2.2. Challenges of monitoring 1589.2.3. Typology 1599.3. Monitoring protocols 1619.3.1. SNMP protocol (Simple Network Management Protocol) 1619.3.2. WMI (Windows Management Instrumentation) 1649.3.3. WS-Management (Web Services for Management) 1649.3.4. IPMI (Intelligent Platform Management Interface) 1649.3.5. NetFlow/IPFIX 1659.3.6. Netconf 1659.4. Monitoring tools 1659.4.1. Commercial monitoring solutions (HP OpenView, Tivoli) and software publisher solutions 1669.4.2. Free monitoring solutions 1679.5. Chapter summary 171References 173Index 179
Learn Rails 6
Effectively learn and apply software development and engineering techniques to web application development using Rails 6 with this accelerated tutorial. This book teaches modern engineering practices including git flow, containerization, debugging, testing, and deployment. Along the way, you’ll see how to build a social network application and then deploy it on a cloud provider such as Amazon Web Services.After reading and using this book, you'll be able to effectively build and deploy your Rails application to the cloud. You’ll also have used the Ruby on Rails framework to carry out the rapid development of an idea into a product without sacrificing quality.WHAT YOU WILL LEARN* Use the Ruby on Rails 6 web development framework* Integrate Docker with your Ruby on Rails code* Apply software engineering techniques to learning the Rails framework* Design, build, and deploy a social networking application to the Amazon cloudWHO THIS BOOK IS FORBeginners with at least some prior programming experience. Ruby experience is helpful, but not required.ADAM NOTODIKROMO (formerly Adam Pahlevi Baihaqi) is a software engineer committed to creating working and technically well-written apps. With his colleagues in Indonesia and Germany, he is building their company together: Sonasign. He lives in Meguro, Tokyo to enjoy bowls of Yokohama-style ramen and also dry tantanmen. He works with kind teammates at Autify.PART 1: INTRODUCTION TO RUBY AND RAILSCHAPTER 1: HELLO, RAILS· The world before the Rails· Favorite things I gained from Rails· Increased Signal-to-Noise ratio· Testability since Day 1· Programmer happiness· Installing Docker on Windows· Installing Docker on Ubuntu Linux· Installing Docker on MacOS· Creating simple containerized Rails app· MVC architecture· Deploying to Heroku· Git workflowCHAPTER 2: RUBY QUICK CRASH COURSE· What kind of a language is Ruby?· Interactive console· Number· String· Making a Class· Public functions· Private and protected membership· Instance variables· Constants· Building on a Module· Everything is an Object· Date· Array· Hash· Symbol (after having experience building Hash with Symbol vs String)· Instantiating other objects· Make your own Block (simple way to introduce yield & block, and learn build simple DSL)· Thread· Meta-programmingPart 2: Building a Social Network· What are we building?· Use case diagram· Entity diagramCHAPTER 3: BUILDING THE MODELS· User model· Inserting data· Updating data· Seeking data· Destroying data· Unit-test the model with RSpec· Complex Query· Status model and Has One-to-One relationship· Friendship model and Many-to-Many relationship· Testing up the relationships· Adding validations· Updating table schemaCHAPTER 4: LOGIN CAPABILITIES· Installing Devise· Routing· Layout· Building Sign in and Sign up form· Wiring up the Sign out· Testing up the requestCHAPTER 5: BUILDING POST AND TIMELINE· Building the Timeline· Introduction to Helper· Post a Status!· Integration testing with Capybara· Debugging with PryCHAPTER 6: ADD AS FRIEND· AJAX request· Sending friendship request· Confirming friendship request· Sending email· Background processingCHAPTER 7: DEPLOYING TO AWS· Making an Amazon account· Making an ElasticBeanstalk instance· Setting up deploy script· Seeing it online· How to associate it with a domain name?CHAPTER 8: WHAT NEXT?· Mobile App?· API controllers· Staging environment
DevOps
DevOps, eine Zusammensetzung aus den Begriffen DEVelopment und IT OPerations, ist ein Ansatz, der in vielen Start-ups, aber auch in großen Konzernen erfolgreich ist. DevOps definiert das Zusammenspiel von IT-Entwicklung, IT-Betrieb und dem Kunden mithilfe von Kultur, Werkzeugen und Prozessen neu. Dieses essential vermittelt das Wichtigste, was man dazu wissen muss. Die Autoren sind DevOps-Master und beschäftigen sich seit vielen Jahren mit DevOps sowie der Optimierung von IT-Services.Jürgen Halstenberg ist als Berater und Trainer bei der Maxpert GmbH seit vielen Jahren Teil der DevOps-Community in Deutschland.Dr. Bernd Pfitzinger ist Senior Experte bei der Toll Collect GmbH, Buchautor und Autor zahlreicher Veröffentlichungen.Dr. Thomas Jestädt ist IT-Manager, Buchautor und Lehrbeauftragter an der Technischen Universität Berlin.Einleitung - wozu DevOps?. - Was ist DevOps? - Everything is a Remix. - DevOps-Aktivitäten. - Kulturelle organisationale und kommunikative Aspekte von DevOps. - Wie führt man DevOps ein? - oder: Machen ist wie Wollen, nur krasser!. - DevOps - Kritik. - Zusammenfassung.
Eigene Chatbots programmieren für Dummies Junior
In diesem Buch lernst du Schritt für Schritt, wie du mit dem kostenlosen MIT App Inventor einen Chatbot entwickelst. Du erfährst zuerst, was Chatbots eigentlich sind und dass diese als Alexa, Siri, Bixby, Cortana und Google schon um uns sind. Du gehst der Frage nach, auf welche Weise Chatbots intelligent sind. Die erste Chatbot-App, die du nach Anleitung entwickelst, beantwortet eine einfache Frage von dir. Am Ende erzählt der Chatbot Witze. Weitere Beispiele zeigen dir, was sonst noch alles möglich ist: Der Chatbot wird immer schlauer und geht immer besser auf seinen Chatpartner ein. Bestens geeignet für Kinder und Jugendliche ab 10 Jahren. Nadine Bergner ist Professorin für Didaktik der Informatik an der TU Dresden. Sie gründete 2010 das InfoSphere - Schülerlabor Informatik an der RWTH Aachen. Unter ihrer Leitung wurden fast 40 Informatikmodule für Schülerinnen und Schüler der Klassenstufen 3 bis 13 entwickelt, die von Eintagesworkshops bis hin zu einwöchigen Feriencamps reichen. Tausende Kinder und Jugendliche nahmen an den Workshops teil.Thiemo Leonhardt ist Postdoc an der TU Dresden im Bereich "Didaktik der Informatik". Sein wissenschaftliches Interesse gilt insbesondere den Themen e-Learning, Simulationen, Kompetenzentwicklung durch Lernspiele und Educational Datamining.EINLEITUNG 5Hallo, zukünftige Chatbot-Entwicklerin oder zukünftiger Chatbot-Entwickler! 5Über den MIT App Inventor 2 5Über dieses Buch 6Über dich 7Über die Symbole, die wir in diesem Buch verwenden 8KAPITEL 1: WAS SIND CHATBOTS? 9Was ist ein Chatbot? 10Smart Home – alles ist vernetzt 12Sind Chatbots intelligent? 13KAPITEL 2: DEIN ERSTER CHATBOT 15Account anlegen, einloggen, starten 16Starte dein erstes Chatbot-Projekt! 24Ein Chatbot muss bedient werden können: Das Design 25Mit Chatbots reden – die Funktionalität 34Schritt für Schritt zum ersten Gespräch 44Option 1: Den Chatbot auf deinem Smartphone oder Tablet testen 44Option 2: Nur das Design deines Chatbots mittels Emulator testen 50Übers Ziel hinaus – noch mehr Möglichkeiten 52KAPITEL 3: CHATBOTS FÜR EINSTEIGER 53Der Sprachverzerrer 54Der Musik-Chatbot 64Der Sensor-Chatbot 87Sensor-Chatbot mit Beschleunigungssensor 95Sensor-Chatbot mit Lichtsensor 102KAPITEL 4: FÜR FORTGESCHRITTENE 108Schnick-Schnack-Schnuck-Chatbot 109Spieldesign 110Der Chatbot spielt mit 113Timer-Chatbot 125Die Zeitanzeige 126Sensoren für den Timer-Chatbot 130Kommandos geben 132KAPITEL 5: CHATBOTS FÜR PROFIS 146Der Witze-Chatbot 147Das Design 147Die Programmierung 149Der Quiz-Chatbot 153Weitere Ideen 157KAPITEL 6: BLICK ZU DEN PROFIS 159Programmieren mit Tastatur 160Bis zum nächsten Mal 160Zum Wiederfinden 161Über die Autoren 165