Computer und IT
Datengetriebenes Marketing
Wir leben in einer Zeit, in der Daten immer mehr Relevanz besitzen, und zwar sowohl für die Geschäftsmodelle von Unternehmen im Gesamten als auch für einzelne Funktionsbereiche. Insbesondere im Marketing besitzen Daten eine hohe Relevanz, denn sie helfen, den Kunden zu verstehen und geeignete Maßnahmen abzuleiten. Doch viele Unternehmen tun sich schwer, einen Einstieg in das datengetriebene Marketing zu finden. Jonas Rashedi stellt mit diesem Buch einen Orientierungs- und Handlungsrahmen vor, der Unternehmen bei der Umsetzung und organisatorischen Verankerung eines datengetriebenen Marketings unterstützt. Der vorgestellte Prozess ist unabhängig von aktuell vorhandenen technologischen Lösungen gestaltet, sodass er für Unternehmen längerfristig Gültigkeit besitzt.
Control Your Home with Raspberry Pi
Ever since the Raspberry Pi was introduced, it has been used by enthusiasts to automate their homes. The Raspberry Pi is a powerful computer in a small package, with lots of interfacing options to control various devices. This book shows you how you can automate your home with a Raspberry Pi. You'll learn how to use various wireless protocols for home automation, such as Bluetooth, 433.92 MHz radio waves, Z-Wave, and Zigbee. Soon you'll automate your home with Python, Node-RED, and Home Assistant, and you'll even be able to speak to your home automation system. All this is done securely, with a modular system, completely open-source, without relying on third-party services. You're in control of your home, and no one else. At the end of this book, you can install and configure your Raspberry Pi as a highly flexible home automation gateway for protocols of your choice, and link various services with MQTT to make it your own system. This DIY (do it yourself) approach is a bit more laborious than just installing an off-the-shelf home automation system, but in the process, you can learn a lot, and in the end, you know exactly what's running your house and how to tweak it. This is why you were interested in the Raspberry Pi in the first place, right? - Turn your Raspberry Pi into a reliable gateway for various home automation protocols. - Make your home automation setup reproducible with Docker Compose. Secure all your network communication with TLS. - Create a video surveillance system for your home. - Automate your home with Python, Node-RED, Home Assistant and AppDaemon. - Securely access your home automation dashboard from remote locations. - Use fully offline voice commands in your own language. Koen Vervloesem has been writing for over 20 years on Linux, open-source software, security, home automation, AI, and programming. He holds a Master's degree in Computer Science Engineering, a Master's degree in Philosophy and an LPIC-3 303 Security certificate. He is editor-in-chief of the Dutch MagPi magazine and is a board member of the Belgian privacy activist organization, the Ministry of Privacy.
Hacking und Bug Hunting
Bugs in Websites aufspüren, Gutes tun, Spaß dabei haben ... und Geld verdienen Ein praktischer Leitfaden für die Suche nach Softwarefehlern Ein Blick hinter die Kulissen: Sie sehen, wie professionelle Bughunter vorgehen Eine Anleitung, wie man mit Bughunting Geld verdient Lernen Sie, wie Hacker Websites knacken und wie auch Sie das tun können. Dieses Buch ist ein praktischer Leitfaden für die Suche nach Software-Bugs. Egal ob Sie in die Cybersicherheit einsteigen, um das Internet zu einem sichereren Ort zu machen, oder ob Sie als erfahrener Entwickler sichereren Code schreiben wollen – Peter Yaworski, ein überzeugter "Ethical Hacker", zeigt Ihnen, wie es geht. Sie lernen die gängigsten Arten von Bugs kennen, wie Cross-Site-Scripting, unsichere Objekt-Referenzen oder Server-Side Request-Forgery. Echte Fallbeispiele aufgedeckter und entlohnter Schwachstellen in Anwendungen von Twitter, Facebook, Google und Uber zeigen erstaunliche Hacks, und sie erfahren, wie Hacker bei Überweisungen Race Conditions nutzen, URL-Parameter verwenden, um unbeabsichtigt Tweets zu liken, und vieles mehr. Sie lernen: - wie Angreifer Websites kompromittieren - wo Sie mit der Suche nach Bugs anfangen - welche Funktionalitäten üblicherweise mit Schwachstellen assoziiert werden - wie Sie Bug-Bounty-Programme finden - wie Sie effektive Schwachstellen-Reports verfassen "Hacking und Bug-Hunting" ist eine faszinierende und umfassende Einführung in die Sicherheit von Webanwendungen, mit Geschichten von der vordersten Schwachstellenfront und praktischen Erkenntnissen. Mit Ihrem neu gewonnenen Wissen um die Websicherheit und Schwachstellen können Sie das Web zu einem sichereren Ort machen—und dabei noch Geld verdienen.
Beginning Jakarta EE Web Development
Start building Java-based web applications now, even if you’re a complete newcomer to Java. Comprehensive and example-driven, this book is all you need to develop dynamic Java-based web applications using JSP, connect to databases with JSF, and put them into action using the popular open source Java web server, Apache Tomcat.Beginning Jakarta EE Web Development is a comprehensive introduction to building Java-based web applications using JSP, JSF, MySQL, and the Apache Tomcat web application server. Other APIs including JSON, JSTL, and XML parser are covered along the way.Key concepts are made easy to grasp with numerous working examples and a walk-through of the development of a complete ecommerce project. This book is written for professionals by practicing Java web application professionals and experts.WHAT YOU WILL LEARN* Build Java-based web applications using JSP and JSF with Eclipse Jakarta EE* Configure your database with MySQL* Define XML documents for your applications* Use the Apache MyFaces APIs to create JSF applications* Integrate and implement JSF and JSP together* Build an online ecommerce web application WHO THIS BOOK IS FORProgrammers new to programming in Java and programming in general.Luciano Manelli earned a PhD in computer science from the IT department, University of Bari - Aldo Moro. His PhD focused on grid computing and formal methods, and he published the results in international publications. Luciano obtained several certificates in the IT sector, and, in 2014, began working for the Port Network Authority of the Ionian Sea – Port of Taranto, after working for 13 years for InfoCamere SCpA. He has worked mainly in the design, analysis, and development of large software systems; research and development; testing; and production with roles of increasing responsibility in several areas over the years. Luciano has developed a great capability to make decisions in a technical and business context and is mainly interested in project management and business process management. In his current position, he deals with port community systems and software innovation. Additionally, he has written several IT books and is a contract professor at the Polytechnic of Bari (foundations of computer science), and at the University of Bari - Aldo Moro (programming for web, computer science, and computer lab).Giulio Zambon's first love was physics, but he decided to dedicate himself to software development more than 30 years ago: back when computers were still made of transistors and core memories, programs were punched on cards, and Fortran only had arithmetic IFs. Over the years, he learned a dozen computer languages and worked with all sorts of operating systems. His specific interests were in telecom and real-time systems, and he managed several projects to their successful completion. In 2001 Giulio founded his own company offering computer telephony integration (CTI) services, and he used JSP and Tomcat exclusively to develop the web side of the service platform. Back in Australia after many years in Europe, he now dedicates himself to writing software to generate and solve numeric puzzles.1. Introducing Jakarta Server Pages (JSP) and Apache Tomcat2. JSP Elements3. JSP Application Architectures4. JSP in Action5. JSON, XML-based JSL and JSP6. JSP and Databases7. Jakarta Server Faces (JSF)8. JSF and EshopA. Eclipse IDE/FrameworkNOTES from Author on Revision Plan:I'd like to propose a revision of the Beginning Jakarta EE Web Development book and I would change the structure of the book to make it more modern and implementable:1) I would prefer to start the reading of a book for beginners step by step avoiding the copy&paste operations of complex code (i.e. Listing 1-1. pag 6);2) It's a good idea the theory&practice used in the book, so I would delete the appendices and Chapter9, inserting part of them directly in the main text;3) I would avoid so many areas of software development (there are a lot of xml /tipology of tags applications): I think is better focus on the eshop application;4) I would use more graphical tools, like Eclipse using autocompilation or automatic generation tools (for example of beans) in order to maximize learning and to minimize the copy&paste operations of the code.5) I will update it.Thank you,LM
Basic Linux Terminal Tips and Tricks
Learn command line tricks, programs, and hacks you can use day to day as a Linux user, programmer, and system administrator. When you interact with the digital world, you can’t go far without interacting with Linux systems. This book shows you how to leverage its power to serve your needs.Many users know "top" is installed on almost all Linux machines, but did you know with a few keystrokes you can customize it specifically for your needs? Stuck using `cd` and `ls` commands for navigating file systems? This book looks at how you can use Ranger to quickly navigate through multiple levels of folders, and quickly run bash commands without ever leaving the terminal. We also suggest programs that can be used for common tasks such as finding which programs are using the most processing, data download/upload, and file space.You’ll know how to quickly connect to remote machines and run your commonly needed jobs in a keystroke or even on auto-pilot. With Basic Linux Terminal Tips and Tricks you'll be equipped with a wide range of tools that can be used for daily work and maintenance on all sorts of Linux systems including servers, desktops, and even embedded devices.WHAT YOU WILL LEARN* Work with common tools on your local network.* Techniques for efficient use of command line.* Easily manipulate text files for processing.* Monitor the state of a system with a handful of popular programs.* Combine programs to create useful processes.WHO THIS BOOK IS FORAnyone who is interested in Linux and Unix based operating systems as a hobby or for work.PHILIP KIRKBRIDE has been developing software for over 10 years. After college he worked as a contractor developing websites and mobile apps in Southern Ontario, Canada. He has since worked at several software and hardware startups, and contributed to open-source projects. He is currently maintaining applications for a handful of clients while completing his masters. When he is not working on tech, he enjoys spending time being outdoors. He can be reached at kirkins@gmail.com.1. Linux Primer2. File/Folder Navigation3. History and Shortcuts4. Scripts and Pipes5. Using SSH6. File Transfer7. Network Scanning8. System Monitoring9. Hardware Details and /dev10. Parsing Text11. systemd12. Vim13. Emacs14. Configure Bash15. Tmux Workflow16. Work with Images and Video17. Extras17. Cheat Sheets
Delphi Quick Syntax Reference
The Delphi Quick Syntax Reference is a succinct code and syntax reference guide to Delphi. It presents the fundamental knowledge to get newcomers started with the language and provides a refresher to seasoned or returning Delphi developers.It covers all the new features added by Embarcadero during the last few years. Delphi celebrates 25 years in 2020 and, alongside the free community version that was introduced a couple of years ago, this syntax guide is a great way to get into the language.WHAT YOU WILL LEARN* Quickly use and learn Delphi* Compile, build and run a Delphi program* Master Delphi strings, variables, constants, and operators and how to apply them* Use conditions, loops, procedures, and functions in Delphi * Apply object-oriented programming in Delphi WHO THIS BOOK IS FORReturning or current Delphi developers: The book is a resource for reference for this group of developers especially for the new features that were introduced in the language over the last couple of years. Newcomers to the language: These developers will learn the fundamentals of the language in a very condensed and effective text that accelerates learning. John Kouraklis started exploring computers when he was 16 and since then has followed all the way from Turbo Pascal to Delphi and Delphi Tokyo as a hobby initially and as a profession for most of his adult life. He has developed a wide range of applications, from financial software to reverse engineering tools, including an application for professional gamblers.He is part of the Delphi community and participates in online communities, forums, and many other events. For example, he is active on Delphi Praxis, which is perhaps the biggest English-speaking online forum about Delphi. John also has a personal website where he posts articles regularly. Lastly, he has written two books about Delphi published by Apress.Chapter 1: Introduction to DelphiChapter 2: Anatomy of a Delphi programChapter 3: Compiling, Building and Running a program (including cross platform environments)Chapter 3: Variables, Constants and OperatorsChapter 4: StringsChapter 5: Conditionals and LoopsChapter 6: Procedures and FunctionsChapter 7: OOP in DelphiChapter 8: Enhancements (Anonymous Methods, etc.)
KI verändert die Spielregeln
Geschäftsmodelle, Kundenbeziehungen und Produkte neu denken.Künstliche Intelligenz (KI) ist in der Wirtschaft in aller Munde. Aber nur die wenigsten Firmen wissen, wie sie KI für den Aufbau neuer Geschäftsfelder nutzen können. Genau darum geht es in diesem Buch. Die Autoren kommen aus der Praxis und beschreiben unter anderem KI-Projekte, die sie gemeinsam mit ihren Kunden umgesetzt haben. Profitieren Sie von diesem Know-how , um mit KI erfolgreich zu sein:- grundlegendes Verständnis für die Möglichkeiten von Künstlicher Intelligenz- Vorgehensmodell für das Entwickeln von KI-Anwendungen- Folgenabschätzung für Prozesse und Geschäftsmodelle in verschiedenen Branchen durch KI- Einsatzszenarien für Prozesse von Kommunikation bis Verwaltung- Unterstützung mobiler Prozesse mithilfe von KIDas Buch enthält konkrete, realisierbare Anwendungsfälle für das verarbeitende Gewerbe und für Dienstleister. Lassen Sie sich davon inspirieren, um eigene Lösungen zu entwickeln und zu vermarkten.
Bite-Size Python
INTRODUCE CHILDREN TO THE POPULAR PYTHON PROGRAMMING LANGUAGE THROUGH RELATABLE EXAMPLES AND FUN PROJECTS!Python has now surpassed Java as the most commonly used programming language. As the language rises in popularity, this complete guide can teach basic Python concepts to kids with its simple, friendly format. Bite-Size Python: An Introduction to Python Programming provides children with a foundation in the Python language. This unique book shares knowledge through easy-to-understand examples, fast exercises, and fun projects!As children learn, their parents, caregivers, and instructors can also join in their discoveries. Bite-Size Python is ideal for those who are new to programming, giving kids ages 9 and up a beginners’ approach to learning one of the most important programming languages.* Gives an overview of Python* Provides exciting programming projects* Offers instruction on how to download and install Python* Presents key programming language concepts* Simplifies technical definitionsWith this playful guide to learning Python, readers can try out activities on their computers for a hands-on learning experience. The artwork in Bite-Size Python represents children of various backgrounds, so any child who picks up this book will be empowered to learn and young readers will love showing their projects to friends and family!APRIL SPEIGHT is a Python developer with a passion for helping beginners get started with programming. She believes that by providing programming instruction that is equal parts approachable, relatable, and fun she can truly foster a welcoming learning experience. Considered a true creator at heart, April enjoys programming AI assistants and chat bots, creating experiences with mixed reality, and discovering new ways to teach technical concepts to nontechnical audiences. Curious about what she's currently learning or creating? Follow her on Twitter @VogueandCode. 1 What is Python? 32 Install Python 93 IDLE 154 Variables 235 Numbers 396 Strings 517 Conditionals and Control Flow 698 Lists 839 for Loops 9710 while Loops 11711 Functions 13312 Dictionaries 16113 Modules 18714 Next Steps 205Appendix 213Index 219
Blended Learning mit Moodle
BLENDED LEARNING MIT MOODLE - Moodle-Infrastruktur aufbauen und verstehen- Moodle professionell verwalten- Kurse gestalten und in das Unterrichtsprogramm integrieren- Unterstützender Einsatz von Hot Potatoes und H5P im Präsenzunterricht- Erfolgreich und zuverlässig Prüfungen mit Moodle durchführenBei „Moodle“ bzw. „E-/Blended Learning“ geht es vor allem darum, gezielt Kurse zu entwickeln, die sich ideal in das didaktische Konzept der Lehre integrieren und diese unterstützen. Auch die Durchführung von Prüfungen und Lernzielkontrollen sowie die Abgabe von Hausaufgaben sind ein wichtiges Thema. Das Lehrpersonal und der menschliche Kontakt sollen dadurch aber nicht ersetzt werden.Vorbereitende Übungen zur Vertiefung des Stoffs sollen kurzweilig gestaltet und auch für kurze Übungssequenzen geeignet sein. Einen Einblick in externe Software, die über den SCORM-Standard (Sharable Content Object Reference Model) in Moodle integriert werden kann, gibt die Vorstellung von Hot Potatoes. In der Zukunft wird für die Unterstützung der Präsenzlehre und der Fernschulung sowie als motivierendes Recherchemedium die Integration multimedialer, interaktiver Technologien wie H5P in Moodle immer wichtiger.Blended-Learning-Technologien (hier am Beispiel des am weitesten verbreiteten LMS Moodle) sollen eine Unterstützung der Aus- und Fortbildung sein, nicht jedoch als eine disruptive Konkurrenz zu einer zwischenmenschlich geprägten Pädagogik aufgefasst werden. Dazu soll dieses Werk beitragen.AUS DEM INHALTTeil I - Allgemeine Ansätze- Potenzielle Zielgruppen- Potenzielle EinsatzbereicheTeil II – Technik- Der Moodle-Server- Moodle-Grundinstallation- Benutzerverwaltung- Rollen im Moodle-System- Bereichs- und Kursverwaltung- E-Mail-Kommunikation- DesignsTeil III - Moodle in der Praxis- Moodle im Überblick- Aktivitäten - Werkzeuge zur Kursgestaltung- Ergänzende Lernhilfen für Moodle- Fragenkataloge in Moodle- Lernzielkontrollen und Prüfungen
Python 3 Crashkurs - 2., aktualisierte Auflage
Ihr Weg zum Python-Profi! US-Bestseller Lernen Sie Python programmieren wie die Profis Komplett aktualisiert auf Python 3 »Python Crashkurs« ist eine kompakte und gründliche Einführung, die es Ihnen nach kurzer Zeit ermöglicht, Python-Programme zu schreiben, die für Sie Probleme lösen oder Ihnen erlauben, Aufgaben mit dem Computer zu erledigen. In der ersten Hälfte des Buches werden Sie mit grundlegenden Programmierkonzepten wie Listen, Wörterbücher, Klassen und Schleifen vertraut gemacht. Sie erlernen das Schreiben von sauberem und lesbarem Code mit Übungen zu jedem Thema. Sie erfahren auch, wie Sie Ihre Programme interaktiv machen und Ihren Code testen, bevor Sie ihn einem Projekt hinzufügen. Danach werden Sie Ihr neues Wissen in drei komplexen Projekten in die Praxis umsetzen: ein durch »Space Invaders« inspiriertes Arcade-Spiel, eine Datenvisualisierung mit Pythons superpraktischen Bibliotheken und eine einfache Web-App, die Sie online bereitstellen können. Während der Arbeit mit dem »Python Crashkurs« lernen Sie, wie Sie: leistungsstarke Python-Bibliotheken und Tools richtig einsetzen – einschließlich matplotlib, NumPy und Pygal 2D-Spiele programmieren, die auf Tastendrücke und Mausklicks reagieren, und die schwieriger werden, je weiter das Spiel fortschreitet mit Daten arbeiten, um interaktive Visualisierungen zu generieren Web-Apps erstellen und anpassen können, um diese sicher online zu deployen mit Fehlern umgehen, die häufig beim Programmieren auftreten Dieses Buch wird Ihnen effektiv helfen, Python zu erlernen und eigene Programme damit zu entwickeln. Warum länger warten? Fangen Sie an!
C++ mit Visual Studio 2019
C++ hat sich in den letzten Jahren rasant entwickelt: C++11, C++14, C++17 und C++20 haben viele Verbesserungen und neue Möglichkeiten gebracht. Vieles, was vor 10 Jahren noch gut und empfehlenswert war, kann heute besser und sicherer gemacht werden.Dieses Buch stellt C++ mit Visual Studio 2019 auf dem Stand von Mai 2020 umfassend dar. Das ist nicht nur der Umfang von C++17, sondern auch schon ein Teil von C++20.Es entstand aus zahlreichen Vorlesungen und Firmenseminaren. Dementsprechend richtet es sich einerseits an STUDIERENDE, die C++ lernen wollen. Der Aufbau, die vielen Beispiele und Übungsaufgaben sind erprobt und bewährt. Es eignet sich zum Selbststudium und als Lehrbuch für Vorlesungen an Fachhochschulen und Universitäten.Dieses Buch zeigt aber ebenso PROFESSIONELLEN SOFTWARE-ENTWICKLERN mit einer jahrelangen C++-Praxis den aktuellen Stand der Technik. Viele der Spracherweiterungen machen elementare Programmiertechniken einfacher und sicherer. Dazu kommen neue Konzepte, die bessere und effizientere Lösungen als noch vor einigen Jahren ermöglichen.Dieses Buch erscheint in zwei weitgehend identischen Ausgaben:– IN DER VORLIEGENDEN AUSGABE werden Programme ohne eine graphische Benutzeroberfläche geschrieben. Alle Ein- und Ausgaben erfolgen mit cin und cout über die Konsole.– IN DER ANDEREN AUSGABE „C++ mit Visual Studio 2019 und Windows-Forms-Anwendungen“ werden Programme geschrieben, in denen alle Ein- und Ausgaben über eine Windows-Benutzeroberfläche erfolgen.Nach seinem Mathematikstudium an der Universität Tübingen war Richard Kaiser in der Lehrerausbildung tätig, Trainer in der Industrie, Software-Entwickler und -Abteilungsleiter. Als Professor an der Dualen Hochschule Baden-Württemberg hat er Vorlesungen über C, C++, C# und Mathematik gehalten und zahlreiche Firmenseminare über C++ und C# durchgeführt.Die Entwicklungsumgebung.- Steuerelemente für die Benutzeroberfläche.- Elementare Datentypen und Anweisungen in C und C++.- Sie Stringklassen string und wstring.- Arrays und Container.- Einfache selbstdefinierte Datentypen.- Zeiger, Strings und dynamisch erzeugte Variablen.- Überladene Funktionen und Operatoren.- ObjektorientierteProgrammierung.- Namensbereiche.- Exception-Handling.- Containerklassen der C++-Standardbibliothek.- Dateibearbeitung mit den Stream-Klassen.- Funktionsobjekte und Lambda-Ausdrücke.- Templates und STL.- C++11 Smart Pointer: shared_ptr, unique_ptr und weak_ptr.- Literatur.- Index.
KI & Recht kompakt
Das Buch gibt einen kompakten Einblick in alle wesentlichen Rechtsfragen rund um den Einsatz Künstlicher Intelligenz in Unternehmen oder Produkten. Versierte Autoren mit Praxiserfahrung erläutern die wichtigsten rechtlichen Themen beim Einsatz intelligenter Systeme und behandeln nach einer Einführung in die technischen Grundlagen die Auswirkungen und Besonderheiten Künstlicher Intelligenz in den Bereichen:* Zivilrecht* Vertragsgestaltung* Lizenzierung * Haftung* Immaterialgüterrechte * Datenschutz* Strafrecht* ArbeitsrechtMatthias Hartmann ist Rechtsanwalt und Fachanwalt für IT-Recht. Er beschäftigt sich seit über 20 Jahren mit Rechtsfragen der Künstlichen Intelligenz und berät Hersteller und Nutzer von KI-Systemen als Gründungspartner der auf IT-Recht spezialisierten Kanzlei HK2 Rechtsanwälte. Die weiteren Autoren des Buches sind Experten in ihren jeweiligen Fachbereichen und haben sich intensiv mit den Rechtsfragen beim Einsatz Künstlicher Intelligenz auseinandergesetzt.Technische Grundlagen.-Künstliche Intelligenz im Zivilrecht.- Haftung am Beispiel automatisierter Fahrzeuge.- KI im Immaterialgüterrecht.-Datenschutz.- Datenschutz in öffentlichen KI-Forschungsprojekten.- KI im Arbeitsrecht.- Künstliche Intelligenz und das Strafrecht.
Gut gepackt - Kein Bit zu viel
Bei der heutigen Datenflut, die auf Speichermedien und im Internet kursiert, ist die Kompression digitaler Daten nach wie vor ein immens wichtiger Aspekt bei Datenübertragung und -speicherung. Dieses essential erläutert ohne theoretischen Überbau und mit elementaren mathematischen und informatischen Methoden die wichtigsten Kompressionsverfahren, so unter anderem die Entropiecodierungen von Shannon-Fano und von Huffman, sowie die Wörterbuchcodierungen der Lempel-Ziv-Familie. Ausführlich eingegangen wird auch auf Irrelevanzreduktion und die Quantisierung bei optischen und akustischen Signalen, die die Unzulänglichkeiten des menschlichen Auges und Ohres zur Datenkompression ausnutzen. Illustriert wird das Ganze anhand gängiger Praxisanwendungen aus dem alltäglichen Umfeld. Die Aufbereitung erlaubt den Einsatz beispielsweise in Arbeitsgruppen an MINT-Schulen, bei Einführungskursen an Hochschulen und ist auch für interessierte Laien geeignet.
SketchUp For Dummies
THE FIRST STEP IN MAKING YOUR IDEAS A REALITYSketchUp offers a vast array of tools that help you get your building, woodworking, and design plans out of your head and into a real model. Even if you’ve never dabbled in the software, SketchUp All-in-One For Dummies makes it easy to get started as quickly as the ideas pop into your head!Providing real-world insight from top SketchUp insiders, these six-books-in-one teach you how to tackle the basics of the program and apply those skills to real-world projects. You’ll discover the basics of modeling as they apply to either free or paid versions of SketchUp before diving into creating models to use for making objects, constructing buildings, or redesigning interiors.* Navigate the SketchUp product mix* Get familiar with the basics of modeling* View and share your models* Make your architecture, interior design, and woodworking dreams a realityYou have tons of great ideas—and now you can harness this powerful software to bring them to life.BILL FANE is the author of AutoCAD For Dummies. He spent years as a product designer before becoming an educator focused on design tools. MARK HARRISON is a product manager for Trimble, Inc., SketchUp's parent company. He studies learnability in 3D software. JOSH REILLY is a training manager with Trimble and a longtime SketchUp instructor. INTRODUCTION 1About This Book 1Foolish Assumptions 2Icons Used in This Book 2Beyond the Book 3Where to Go from Here 4PART 1: GETTING STARTED WITH SKETCHUP 5CHAPTER 1: THE SKETCHUP SETUP 7Picking a Version of SketchUp 7SketchUp for Schools 9SketchUp Pro 9SketchUp for Web 10Trimble Connect 12Navigating SketchUp 12Customizing settings to see better 13Getting to know your mouse 13Finding your Zen with click-release, click-to-finish 14Working faster with keyboard shortcuts 15Introducing Undo 16Taking the 10-Minute SketchUp Tour 17The SketchUp Frame of Mind 19CHAPTER 2: GETTING A RUNNING START 21Making a Quick Model from Scratch 21Slapping On Some Paint 28Giving Your Model Some Style 31Switching On the Sun 33Sharing Your Masterpiece 35CHAPTER 3: ESTABLISHING THE MODELING MINDSET 37All about Edges and Faces 38Living on the edge 38Facing the facts about faces 39Understanding the relationship between edges and faces 41Drawing in 3D on a 2D Screen 43Giving instructions with the drawing axes 44Keeping an eye out for inferences 44Using inferences to help you model 47Warming Up Your SketchUp Muscles 49Getting the best view of what you’re doing 49Drawing and erasing edges with ease 52Injecting accuracy into your model 53Selecting what you mean to select 57Moving and copying like a champ 60Making and using guides 67Painting your faces with color and texture 70PART 2: MODELING IN SKETCHUP 73CHAPTER 4: BUILDING BUILDINGS 75Drawing Floors and Walls 76Starting out in 2D 77Coming up with a simple plan 82Doing an inside job 83Going from 2D to 3D 90Adding floors to your building 95Inserting doors and windows 104Staring Down Stairs 108The Subdivided Rectangles method 109The Copied Profile method 111Raising the Roof 113Building flat roofs with parapets 115Creating eaves for buildings with pitched roofs 116Constructing gabled roofs 117Making hip roofs 119Sticking your roof together with Intersect Faces 121CHAPTER 5: FALLING IN LOVE WITH COMPONENTS 125SketchUp Groupies 126Working with Components 127What makes components so great? 128Exploring the Components panel 132Creating your own components 138Editing, exploding, and locking component instances 140Discovering Dynamic Components 142Poking around to see what happens 147Taking Advantage of Components to Build Better Models 148Modeling symmetrically: Good news for lazy people 148Modeling with repeated elements 155CHAPTER 6: GOING BEYOND BUILDINGS 159Extruding with Purpose: Follow Me 160Using Follow Me 160Making lathed forms 162Creating extruded shapes 164Subtracting from a model with Follow Me 169Modeling with the Scale Tool 174Getting the hang of Scale 174Scaling profiles to make organic forms 177Making and Modifying Terrain 183Creating a new terrain model 184Editing an existing terrain model 192Building a Solid Tools Foundation 199Understanding solids 200Checking out the Solid Tools 202Putting the Solid Tools to work 204CHAPTER 7: KEEPING YOUR MODEL ORGANIZED 209Taking Stock of Your Tools 210Seeing the Big Picture: The Outliner 211Taking a good look at the Outliner 212Making good use of the Outliner 213Discovering the Ins and Outs of Tags 214What Tags are — and what they’re not 214Navigating the Tags panel 215Tag, you’re it! 216Staying out of trouble 217Putting It All Together 218CHAPTER 8: MODELING WITH TEXTURES, PHOTOGRAPHS, AND CAD FILES 223Painting Faces with Image Files 224Applying textures to flat faces 224Controlling color and transparency 232Applying textures to curved surfaces 233Modeling Directly from a Photo: Introducing Photo-Matching 238Choosing a Match Photo–friendly image 238Modeling by photo-matching 239Making your matched photo reappear (or disappear) 245Adding Geographic Data 246Working with Imported CAD files 249Importing a CAD file into SketchUp Pro 249Cleaning up imported CAD data 252Modeling on top of imported CAD data 256CHAPTER 9: 3D PRINTING WITH SKETCHUP MODELS 263Building Up a View of 3D Printing 264Knowing Your 3D Printers 265Fused deposition modeling (FDM) 265Stereolithography (SLA) 266Fused powder modeling (FPM) 266Designing for Successful 3D Printing 267Building a model in layers 267Designing to avoid support material 268Bridging 269Preparing a SketchUp Model for 3D Printing 270Peeking inside a model 270Knowing what makes a solid model 271Using Solid Tools to combine groups 272CleanUp3 and Solid Inspector2 273Combining groups with Intersect Faces 275Checking a model’s normals 277Size matters! 278Breaking your model into arts 279Exporting Your SketchUp File 2843D printing services 284Using Your 3D Printer 285Print early, print often 285Inside your model 286Going beyond Basic 3D Printing 287Designing Parts that connect 287Testing your model’s moving Parts 291Designing Things That Move 292Captive joints 292Pins 293Gears 293Assemblies 294PART 3: VIEWING YOUR MODEL IN DIFFERENT WAYS 295CHAPTER 10: WORKING WITH STYLES AND SHADOWS 297Styling Your Model’s Appearance 298Choosing how and where to apply styles 298Applying styles to your models 299Editing your styles 301Creating a new style 318Saving and sharing styles you make (Desktop only) 319Working with Shadows 322Discovering the shadow settings 322Adding depth and realism 324Creating accurate shadow studies (Desktop only) 328CHAPTER 11: PREPARING MODELS FOR PRESENTATION 333Exploring Your Creation on Foot 334These tools were made for walking 334Stopping to look around 337Setting your field of view 337Taking the Scenic Route 339Creating scenes 340Moving from scene to scene 342Modifying scenes after you make ’em 344Mastering the Sectional Approach 352Cutting plans and sections 353Animating sections with scenes 361PART 4: SHARING WHAT YOU’VE MADE 363CHAPTER 12: CREATING IMAGES, PRESENTATIONS, AND DOCUMENTS IN LAYOUT 365Building a LayOut Document 366Customizing a document’s pages and layers 368Adding and editing text 370Inserting SketchUp model views 372Adding photos and other graphics 379Drawing with LayOut’s vector tools 380Create clipping masks to emphasize details 384Annotating with labels 385Displaying dimensions 387Creating tables 392Creating Your Own Templates 394Putting Together Your Own Scrapbooks 395Getting Your Document out the Door 396Printing your work 396Exporting a PDF or image files 396Exporting a DWG or DXF file 398Going full-screen 399CHAPTER 13: OTHER WAYS TO SHARE YOUR WORK 401Exporting Images from SketchUp for Web 402Making Sure You Export Enough Pixels 405Exporting Enough Pixels for a Digital Presentation 407Printing from SketchUp for Web 407Printing to Scale in SketchUp for Web 408Making Movies with Animation Export 410Getting ready for prime time 410Exporting a movie 411Figuring out the Animation Export Options settings 413Exporting a CAD File 415Preparing your file 415Exporting a 2D DWG file 416Exporting a 3D DWG file 417Working with the 3D Warehouse 418Why use 3D Warehouse? 418Getting to the 3D Warehouse 419Find, preview, and download models 420Uploading a model 420Managing models online 421PART 5: THE PART OF TENS 425CHAPTER 14: TEN SKETCHUP TRAPS AND THEIR WORKAROUNDS 427SketchUp Won’t Create a Face Where You Want It To 427Your Faces Are Two Different Colors 429Edges on a Face Won’t Sink In 430SketchUp Crashed, and You Lost Your Model 431SketchUp is Sooooo Slooooooooow 432You Can’t Get a Good View of the Inside of Your Model 434A Face Flashes When You Orbit 435You Can’t Move Your Component the Way You Want 435Bad Stuff Happens Almost Every Time You Use the Eraser 436All Your Edges and Faces Have Different Tags 437CHAPTER 15: TEN SKETCHUP QUICK WINS 439Setting Your Click Style to Click-Move-Click 439Customizing Shortcuts 440Using the Inference Locking Force 442Transporting Yourself across Space and Time 444Rounding Off Edges with the Arc Tool 445Using the Scale Tool to Set Length for Simple Objects 446Ten Extensions for Dummies 447Getting SketchUp on Your Smartphone 450Turning Off Your Profiles 453Connecting with the SketchUp Community 453Index 455
Clean Agile - Deutsche Ausgabe
Die Essenz der agilen SoftwareentwicklungZurück zu den Ursprüngen: Die agilen Werte und Prinzipien effektiv in der Praxis umsetzen Lernen Sie aus Uncle Bobs jahrzehntelanger Erfahrung, worauf es bei der agilen Softwareentwicklung wirklich ankommt Die ursprünglichen agilen Werte und Prinzipien kurz und prägnant für den Praxiseinsatz erläutert Von den unternehmerischen Aspekten über die Kommunikation im Team bis zu den technischen Praktiken wie Test-Driven Development (TDD), einfaches Design und Pair Programming Fast 20 Jahre nach der Veröffentlichung des agilen Manifests ruft der legendäre Softwareentwickler Robert C. Martin (»Uncle Bob«) dazu auf, sich wieder auf die ursprünglichen Werte und Prinzipien zurückzubesinnen, die den eigentlichen Kern der agilen Softwareentwicklung ausmachen und die für die Praxis von zentraler Bedeutung sind. Mit Clean Agile lässt er alle an seiner jahrzehntelangen Erfahrung teilhaben und räumt mit Missverständnissen und Fehlinterpretationen auf, die im Laufe der Jahre entstanden sind. Dabei wendet er sich gleichermaßen an Programmierer und Nicht-Programmierer. Uncle Bob macht deutlich, was agile Softwareentwicklung eigentlich ist, war und immer sein sollte: ein einfaches Konzept, das kleinen Softwareteams hilft, kleine Projekte zu managen – denn daraus setzen sich letztendlich alle großen Projekte zusammen. Dabei konzentriert er sich insbesondere auf die Praktiken des Extreme Programmings (XP), ohne sich in technischen Details zu verlieren. Egal, ob Sie Entwickler, Tester, Projektmanager oder Auftraggeber sind – dieses Buch zeigt Ihnen, worauf es bei der Umsetzung agiler Methoden wirklich ankommt. Aus dem Inhalt: Ursprünge der agilen Softwareentwicklung Agile Werte und Prinzipien Der richtige Einsatz von Scrum Agile Transformation Extreme Programming Unternehmensbezogene Praktiken: User Stories, Velocity, kleine Releases und Akzeptanztests Teambezogene Praktiken: gemeinsame Eigentümerschaft, kontinuierliche Integration und Stand-up-Meetings Technische Praktiken: TDD, Refactoring, einfaches Design und Pair Programming Zertifizierung und Coaching Software Craftsmanship
Datensicherheit
Anhand vieler Praxisbeispiele und Merksätze bietet das Buch einen leicht verständlichen Einstieg in die technische und organisatorische Datensicherheit. Es liefert einen Einblick in das für Datenschutzbeauftragte obligatorische technische Wissen. Datensicherheit ist ein untrennbarer Teil des Datenschutzes, der mehr und mehr in unserer Gesellschaft an Bedeutung gewinnt. Er kann nur dann wirksam umgesetzt werden, wenn ein Verständnis für technische Zusammenhänge und Gefährdungen gegeben ist. Dabei erstreckt sich die Datensicherheit auf weit mehr Informationen als nur auf Daten mit Personenbezug. Sie sichert sämtliche Daten und damit den Fortbestand von Unternehmen und Organisationen.DR. THOMAS H. LENHARD ist international anerkannter Experte für Informationstechnologie und Datenschutz. Er greift auf einen umfangreichen Erfahrungsschatz aus drei Jahrzehnten Datenschutz und Datensicherheit zurück.Datenschutz und Datensicherheit – Wie Computer miteinander kommunizieren – Was Datenbeständen zustoßen kann – Technische Bedrohungen – Gefährliche Software – Gefahren durch mobile Datenträger und Geräte – Telefonanlage als Gefahrenquelle – Zerstörung von Daten – Sicherung von Daten – Verschlüsselung – Sicherheit von Webseiten – Häufige Bedrohungen der IT-Sicherheit – Identifikation von Computern und IP-Adressen – Firewalls – Router – Konfiguration von Schutzsystemen – Die Demilitarisierte Zone – Organisatorischer Datenschutz
Big Data und Data Science in der strategischen Beschaffung
Big Data und Data Science sind Trends, die sowohl in der Wissenschaft als auch in Unternehmen auf großes Interesse stoßen. Dieses essential zeigt einen konzeptionellen Rahmen auf, um die Grundlagen von Big Data und Data Science besser zu verstehen. Einkaufsentscheider und Einkaufsorganisationen können dann aufbauend auf der Beschaffungsdigitalisierung sowie weiteren Datenquellen ein Big Data Warehouse konzipieren, welches die Voraussetzung schafft, um wichtige Beschaffungsprobleme zu lösen. Analytische Methoden werden genauso beleuchtet, wie neue Fähigkeiten in bereichsübergreifenden Teams. Abschließend werden 30 konkrete Anwendungsfälle von Big Data für die strategische Beschaffung vorgestellt.
G Suite For Dummies
GET FAST ANSWERS TO YOUR G SUITE QUESTIONS WITH THIS FRIENDLY RESOURCEG Suite For Dummies is the fun guide to the productivity suite that’s quickly winning over professional and personal users. This book shares the steps on how to collaborate in the cloud, create documents and spreadsheets, build presentations, and connect with chat or video. Written in the easy-to-follow For Dummies style, G Suite For Dummies covers the essential components of Google’s popular software, including:* Google Docs for word processing* Gmail for email* Google Calendar for scheduling and day planning* Google Sheets for spreadsheet functionality* Google Drive for data storage* Google Hangouts and Google Meet for videoconferencing and calling capability The book helps navigate the G Suite payment plans and subscription options as well as settings that ensure your own privacy and security while operating in the cloud. Perfect for anyone hoping to get things done with this tool, G Suite For Dummies belongs on the bookshelf of every G Suite user who needs help from time to time.PAUL MCFEDRIES has worked, programmed, and even talked to computers large and small since 1975. Primarily a writer, he has worked as a programmer, consultant, and database and website developer. His more than 95 books have sold 4+ million copies worldwide. INTRODUCTION 1About This Book 1What You Can Safely Ignore 2Foolish Assumptions 2Icons Used in This Book 3Beyond the Book 4Where to Go from Here 4PART 1: KEEPING YOUR AFFAIRS IN ORDER 5CHAPTER 1: G SUITE: THE 50¢ TOUR 7What is G Suite? 8What You Get with G Suite 9Using Apps Online — Really? Here are the FAQs 10Introducing Online Collaboration 14Going Mobile 15CHAPTER 2: TAMING THE EMAIL BEAST 17Rhymes with Email: Getting to Know Gmail 17Touring the Gmail app 18Touring the Gmail Inbox 19Showing your good side: Adding a profile photo 20The Outbox: Sending an Email Message 22The basics: Composing and sending a message 22Easier addressing: Using the Contacts app 24Inserting attachments and other hangers-on 25Creating a signature 25Scheduling a send 27Undoing a send 28The Inbox: Handling Incoming Messages 29Refreshing your messages 29Reading your messages 29Easier reading with the Reading pane 30Attending to attachments 32Responding to a message 33Creating a task from a message 34Setting up a vacation responder 34Selecting messages 36Dealing with the Onslaught 37Cleaning out your inbox 37Labeling your messages 38Muting a conversation 42Snoozing a conversation 42Searching for messages 44Filtering your messages 45CHAPTER 3: PLACES TO GO, PEOPLE TO SEE: MANAGING YOUR CALENDAR 47Navigating the Calendar Window 48Changing the Calendar View 50Time Traveling: Changing the Date 51Setting Your Social Schedule: Entering Events 52Adding an event 53Editing an event 55Lather, rise, repeat: Creating a repeating event 56Scheduling an all-day event 59Psst: Setting up event notifications 60Nudge, nudge: Creating a reminder 62Things to do: Creating a task 63Going Calendar Crazy: Adding Even More Calendars 66CHAPTER 4: FRIENDS, ROMANS, COUNTRYMEN: MANAGING YOUR CONTACTS 69Eyeballing the Contacts App 70What’s with those “other” contacts? 71Configuring the Contacts columns 72Changing the sort order 73Populating Your Contacts List 74Adding a contact from scratch 74Adding a contact from Gmail 75Going legit: Turning an “other” contact into a real contact 76Adding multiple contacts all at once 77Importing contacts 78Managing Your Contacts 79Editing a contact 80Grouping contacts with labels 81Merging duplicate contacts 82Exporting contacts 83Deleting contacts 84Doing Stuff with Your Contacts 85Emailing a contact 85Emailing a contact who has multiple addresses 86Emailing multiple contacts 86Calling a contact 87Surfing to a contact’s website 87PART 2: MAKING STUFF: DOCUMENTS, SPREADSHEETS, AND MORE 89CHAPTER 5: GETTING STARTED WITH DOCS 91Opening Docs 92Touring the Google Docs Home Page 92Creating a Shiny, New Document 94Checking Out the Document Screen 94Dealing with Documents 96Saving your work — just kidding! 96Naming a new document 97Opening an existing document 97Saving a copy of a document 99Learning Some Editing Basics 100Navigating with the keyboard 100Selecting text 102Deleting stuff 102Deleting characters 103Fooling around with special characters 104Stating your case: Uppercase versus lowercase 106Adding links 106Setting tab stops 107Search and Ye Shall Replace 108Finding stuff 108Some notes on searching 109Finding-and-replacing stuff 110Checking Spelling and Grammar 111Handling spelling slip-ups 111Handling grammar gaffes 112CHAPTER 6: LOOKING GOOD: FORMATTING DOCUMENTS 115Making Your Characters Look Good 115Getting familiar with fonts 116Formatting with fonts 118Avoiding the ransom note look 120Copy text formatting by “painting” it 121Making Your Lines and Paragraphs Look Good 121Getting your text ducks in a row: Aligning paragraphs 121Breathing room: Changing the line spacing 123Giving paragraphs some elbow room 125Keeping stuff together 125Indenting paragraphs 126Using Styles to Make Looking Good Look Easy 128Style advantages 129Applying default Docs styles to avoid reinventing the style wheel 130Updating a default style to taste 132Saving your updated styles 132Telling Docs to use your updated styles 133Resetting the default styles 133Making Lists, Checking Them Twice 133Putting your affairs in order with numbered lists 133Scoring points with bulleted lists 135Image is Everything: Adding Graphics 137Inserting an image from your PC 138Inserting an image from the web 139Inserting an image from Drive 139Inserting an image from Photos 140Inserting an image from a URL 140Inserting a photo from your PC’s camera 140Setting a few image options 141CHAPTER 7: FIDDLING WITH DOCUMENT LAYOUT 143Building a Table with Your Bare Hands 143What is a table? 144Inserting a table 145Populating a table 145Adjusting column widths 146Selecting table cells 147Setting table properties 147Inserting a new row or column 149Deleting a row or column 150Merging table cells 150Headers and Footers from Head to Toe 151Adding a header 151Adding a footer 153Opening the header or footer for editing 154Creating a unique first-page header and footer 154Creating unique odd and even page headers and footers 154Changing the Page Setup 156Setting the page margins 156Changing the page orientation 158Changing the paper size 158Adding a page break 159Adding a section break 159Working with Columns, Just Like the Pros 161Getting text into columns, Part 1: The easy way 161Getting text into columns, Part 2: The ever-so-slightly-harder way 162Entering text in columns 163Show Your Work: Adding Footnotes 164CHAPTER 8: GETTING STARTED WITH SHEETS 167Opening Sheets 168Touring the Google Sheets Home Page 168Creating a New Spreadsheet 170Checking Out the Spreadsheet Screen 170Dealing with Spreadsheets 172Sheets saves your work for you 172Naming a new spreadsheet 173Opening an existing spreadsheet 173Saving a copy of a spreadsheet 174Understanding Sheet Cells 174Entering Data 175Entering text 175Entering numbers 176Entering dates and times 177Navigating a sheet 179Editing cell contents 180Working with Ranges 180Understanding ranges 180Selecting a range 181Specifying a range input in a dialog box 184Working with named ranges 185Filling a range with data 187Filling a range with a series of values 187Copying a range 188Moving a range 188Formatting a Cell 189Formatting the cell font 189Aligning cell data 190Applying a numeric, date, or time format 191Using the Paint Format tool 192Working with Columns and Rows 193Adjusting the column width 193Adjusting the row height 194Hiding columns and rows 196Inserting columns and rows 196Deleting columns and rows 197CHAPTER 9: CRUNCHING NUMBERS 199Building Formulas 199Creating a simple formula 200Understanding formula operators 201Avoiding problems with cell references 202Using Functions for More Powerful Formulas 206Entering functions directly 207Entering functions via the Function menu 208Using a Range as a Database 209Sorting a range 209Filtering a range 211Visualizing Data with Charts 213Getting to know the chart elements 213How Sheets converts sheet data into a chart 214Creating a chart 216Moving a chart to its own sheet 217Editing the chart 217Building Pivot Tables 218Understanding pivot tables 219Exploring pivot table features 220Building a pivot table 221Adding multiple fields to a pivot table area 224Pivoting a field to a different area 225Grouping pivot table values 225Filtering pivot table values 227CHAPTER 10: CREATING EYE-POPPING PRESENTATIONS 229Opening Slides 230Touring the Google Slides Home Page 230Creating a New Presentation 232Checking Out the Presentation Screen 232Dealing with Presentations 234Slides saves your work for you 234Naming a new presentation 234Opening an existing presentation 234Saving a copy of a presentation 235Applying a presentation theme 235Working with Slides 237Adding a slide to the presentation 237Adding data to a slide 239Selecting slides 242Rearranging slides 242Changing the layout of a slide 242Changing the slide background 243Working with the Master Slide 243Formatting Slide Text 245Formatting with fonts 245Aligning paragraphs 246Slide formatting considerations 247Animating Your Slides 249Learning a few animation guidelines 249Setting up a slide transition 250Animating slide objects 252Running a Slide Show 253Starting the slide show 253Navigating slides 253Navigating the slide show from the keyboard 255PART 3: COLLABORATING WITH YOUR TEAM 257CHAPTER 11: COLLABORATING ON FILES 259Sharing a File 259Sharing a file for editing 261Sharing a file for commenting and suggesting 262Sharing a file for viewing 263Sharing a link to a file 264Emailing your collaborators 267Setting an access expiration date 267Changing a user’s sharing access 268Removing a user’s sharing access 269Dealing with Shared Files 269Responding to a sharing invitation 269Viewing which files have been shared with you 270Working on a Shared File 271Making suggested edits to a shared Docs document 273Adding comments to a file 274Requesting edit access 275Chatting with your fellow collaborators 276Viewing a file’s sharing activity 276Reviewing a Shared File 278Accepting or rejecting suggested changes in Docs 278Working with comments 280CHAPTER 12: COLLABORATING WITH CALENDAR 281Inviting Guests to a Meeting 282Inviting guests to a new meeting 282Inviting guests to an existing meeting 283Controlling your guest list 284Coordinating attendee schedules 286Getting suggested meeting times 287Responding to a Meeting Invitation 288Sharing Your Calendar 289Controlling access to your calendar in your organization 289Making your calendar available to the public 290Making your calendar unavailable to other G Suite apps 291Sharing your calendar on an ad hoc basis 291Sharing your calendar with only specific people 292Subscribing to a Shared Calendar 294Importing Events 295Exporting Events 296CHAPTER 13: SETTING UP VIDEO MEETINGS 297What Do You Need to Use Meet? 298Allowing Meet to use your camera and microphone 299Making sure Meet is using the equipment you want 300Starting a Video Meeting 302Starting a video meeting from the Meet home page 302Starting a video meeting from Gmail 303Adding people to your video meeting 305Scheduling a video meeting with Calendar 306Joining a Video Meeting 307Joining a video meeting from the Meet home page 308Joining a video meeting from Gmail 309Dialing in to a video meeting and using the phone for audio 309Customizing Video Meeting Settings 311Changing the meeting layout 311Messing around with meeting participants 312Displaying captions 313Sharing Resources During a Video Meeting 314Chatting with meeting participants 314Presenting your screen 315CHAPTER 14: CHATTING WITH YOUR TEAM 319Chatting, G Suite Style 319Chatting with Gmail 320Chatting with Docs, Sheets, and Slides 320Chatting with Meet 322Chatting with Google Chat 322Exchanging Messages 323Formatting chat text 324Messing around with messages 325Collaborating with Chat 326Chatting with a group 326Uploading a file to a chat 327Adding a video meeting to a chat 328More Collaboration: Congregating in a Chat Room 329Creating a room 330Managing a room 331Robotexting: Chatting with Bots 332Adding a bot 333GIPHY: Animated GIF fun and frivolity 334Meet: Managing your meetings 335Google Drive: Getting file alerts 337CHAPTER 15: COLLABORATING WITH GROUPS 339Why Create a Group? 340Investigating the Groups Home Page 340Understanding Group Roles 342Finding a Group 344Joining a Group 345Joining a group directly 346Asking to join a group 347Leaving a group 348Posting Messages 348Responding to Posts 349Creating a Group 350Preparing to add a group 350Creating the group 350Adding more people directly to the group 354Inviting people to your group 355Managing group requests and invitations 355CHAPTER 16: COLLABORATING WITH FORMS AND NOTES 357Gathering Info with Forms 358Loading the Forms website 358Touring the Forms home page 358Creating a new form 360Touring the form screen 360Fabricating a form 360Constructing a quiz 362Adding form collaborators 362Sending your form 363Checking out the form responses 365Sharing Notes 365Checking out the Keep home page 365Creating a new note 367Adding note collaborators 368PART 4: THE PART OF TENS 371CHAPTER 17: TEN TIPS FOR WORKING FROM HOME 373Set Your Working Hours 374Show Your Availability 375Tell Chat to Chill for a While 377Keep Up the Face-to-Face Communication 378Know Which Communications Tools to Use 379Add Time Zones in Your Calendar 379Configure Calendar for Speedy Meetings 381Read Email from Another Account 382Handle Microsoft Office Documents 385Set Up Your Video Conference Space 387CHAPTER 18: TEN REALLY USEFUL GMAIL SETTINGS 389Five Splendiferous Send Settings 390Sending a message as plain text 390Setting the default reply behavior 391Replying and archiving in one fell swoop 392Setting the default text style 393Preventing Gmail from creating contacts automatically 393Five Stupendous Read Settings 394Turning off Conversation view 394Adding importance markers 395Setting the maximum page size 396Managing notifications 396Indicating messages sent only to you 398CHAPTER 19: TEN WAYS TO ENHANCE PRIVACY AND SECURITY 401Make Sure Your Wi-Fi Network is Locked Up Tight 402Secure Your Google Account with a Strong Password 404Enable Google’s 2-Step Verification 406Set Up Your Contact Verification Methods 407Hide Images in Gmail Messages 409Blocking Senders in Gmail 411Choose Who Can See Your Personal Info 412Manage Your Activity Controls 413Manage Your Devices 415Manage Third-Party Apps 416Appendix: Glossary of G Suite Terms 419Index 427
C++20 Quick Syntax Reference
This quick C++ 20 guide is a condensed code and syntax reference to the popular programming language, fully updated for C++20. It presents the essential C++20 code syntax in a well-organized format that can be used as a handy reference.This edition covers topics including designated initializers, lambdas and lambda captures, the spaceship operator, pack expressions, string literals as template parameters, atomic smart pointers, and contracts. It also covers library changes including extended futures, latches and barriers, task blocks, and text formatting.In the C++20 Quick Syntax Reference, you will find short, simple, and focused code examples. This book includes a well-laid-out table of contents and a comprehensive index allowing for easy review. You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point, and highly accessible. The book is packed with useful information and is a must-have for any C++ programmer.WHAT YOU'LL LEARN* Discover the key C++20 features* Work with concepts to constrain template arguments* Use modules as a replacement for header files* Take advantage of the three-way comparison operator* Create immediate functions using the consteval keyword* Make use of constexpr, constinit and designated initializersWHO THIS BOOK IS FORExperienced C++ programmers. Additionally, this is a concise, easily-digested introduction for other programmers new to C++.Mikael Olsson is a professional web entrepreneur, programmer, and author. He works for an R&D company in Finland where he specializes in software development. In his spare time he writes books and creates websites that summarize various fields of interest. The books he writes are focused on teaching their subject in the most efficient way possible, by explaining only what is relevant and practical without any unnecessary repetition or theory. 1. HelloWorld2. Compile and Run3. Variables4. Operators5. Pointers6. References7. Arrays8. String9. Conditionals10. Loops11. Functions12. Class13. Constructor14. Inheritance15. Overriding16. Access Levels17. Static18. Enum19. Struct and Union20. Operator Overloading21. Custom Conversions22. Namespaces23. Constants24. Preprocessor25. Exception Handling26. Type Conversions27. Smart Pointers28. Templates29. Headers
Practical Hexo
Leverage the power of Hexo to quickly produce static blog sites that are efficient and fast. This project-oriented book simplifies the process of setting up Hexo and manipulating content, using little more than a text editor and free software. It will equip you with a starting toolset that you can use to develop future projects, incorporate into your existing workflow and allow you to take your websites to the next level.Hexo is based on JavaScript and Node.js, two of the biggest tools available for developers: you can enhance, extend, and configure Hexo as requirements dictate. With Hexo the art of possible is only limited by the extent of your imagination and the power of JavaScript and Node.js.Practical Hexo gets you quickly acquainted with creating and manipulating blogs using a static site generator approach. You will understand how to use the Hexo framework to rapidly create and deploy blogs that are performant, with the minimum of fuss, then extend and customize your content using plugins and themes. You will work through some practical projects to help solidify your skills, and put them into practice.WHAT YOU'LL LEARN* Implement the Hexo framework in a project* Customize and extend content* Consider maintenance requirements and how they compare to other blog systems* Apply skills to practical, real-world projects* Create themes and build plugins* Make changes using other tools and libraries.WHO THIS BOOK IS FORWebsite developers who are already familiar with JavaScript and keen to learn how to leverage the Hexo framework.Agile development team members, where time is of the essence to deliver results quickly.Developers who want to focus on simplicity, to produce efficient and properly optimized content in modern browsers using tools already in their possession.ALEX LIBBY is a front-end engineer and seasoned computer book author, who hails from England. His passion for all things Open Source dates back to the days of his degree studies, where he first came across web development, and has been hooked ever since. His daily work involves extensive use of JavaScript, HTML and CSS to manipulate existing website content; Alex enjoys tinkering with different open source libraries to see how they work. He has spent a stint maintaining the jQuery Tools library, and enjoys writing about Open Source technologies, principally for front end UI development. You can find him on LinkedIn: https://www.linkedin.com/in/alexlibby1/.1. Getting Started2. Manipulating Content and Media3. Creating Themes4. Developing Themes5. Working with the API6. Building Plugins7. Deployment and Publishing8. Improving our Workflow and Blog9. Localizing Content10. Creating an eCommerce Site11. Migrating to Hexo
Ontology-Based Information Retrieval for Healthcare Systems
With the advancements of semantic web, ontology has become the crucial mechanism for representing concepts in various domains. For research and dispersal of customized healthcare services, a major challenge is to efficiently retrieve and analyze individual patient data from a large volume of heterogeneous data over a long time span. This requirement demands effective ontology-based information retrieval approaches for clinical information systems so that the pertinent information can be mined from large amount of distributed data.This unique and groundbreaking book highlights the key advances in ontology-based information retrieval techniques being applied in the healthcare domain and covers the following areas:* Semantic data integration in e-health care systems* Keyword-based medical information retrieval* Ontology-based query retrieval support for e-health implementation* Ontologies as a database management system technology for medical information retrieval* Information integration using contextual knowledge and ontology merging* Collaborative ontology-based information indexing and retrieval in health informatics* An ontology-based text mining framework for vulnerability assessment in health and social care* An ontology-based multi-agent system for matchmaking patient healthcare monitoring* A multi-agent system for querying heterogeneous data sources with ontologies for reducing cost of customized healthcare systems* A methodology for ontology based multi agent systems development* Ontology based systems for clinical systems: validity, ethics and regulationVISHAL JAIN is an associate professor at Bharati Vidyapeeth's Institute of Computer Applications and Management (BVICAM), New Delhi, India. He has more than 350 research citation indices with Google Scholar (h-index score 9 and i-10 index 9). He has authored more than 70 research papers in reputed conferences and journals indexed by Web of Science and Scopus, as well as authored and edited more than 10 books with various international publishers. His research areas include information retrieval, semantic web, ontology engineering, data mining, adhoc networks, and sensor networks. RITIKA WASON is currently working as an associate professor at Bharati Vidyapeeth's Institute of Computer Applications and Management (BVICAM), New Delhi. She completed her PhD degree in Computer Science from Sharda University. She has more than 10 years of teaching experience and has authored as well as edited several books in computer science and has been a recipient of many awards and honors. JYOTIR MOY CHATTERJEE is currently an assistant professor in the IT department at Lord Buddha Education Foundation (Asia Pacific University of Technology & Innovation), Kathmandu, Nepal. He has completed M. Tech from Kalinga Institute of Industrial Technology, Bhubaneswar, Odisha and B. Tech in Computer Science & Engineering from Dr. MGR Educational & Research Institute, Chennai. His research interests include the cloud computing, big data, privacy preservation, data mining, Internet of Things, machine learning. DAC-NHUONG LE, PhD is the Head-Deputy of Faculty of Information Technology, Haiphong University, Vietnam. He has a total academic teaching experience of 10 years with many publications in reputed international conferences, journals and online book chapter contributions. He researches interests span the optimization and algorithmic mathematics underpinnings of network communication, security and vulnerability, network performance analysis, and cloud computing. Preface xixAcknowledgment xxiii1 ROLE OF ONTOLOGY IN HEALTH CARE 1Sonia Singla1.1 Introduction 21.2 Ontology in Diabetes 31.2.1 Ontology Process 41.2.2 Impediments of the Present Investigation 51.3 Role of Ontology in Cardiovascular Diseases 61.4 Role of Ontology in Parkinson Diseases 81.4.1 The Spread of Disease With Age and Onset of Disease 101.4.2 Cost of PD for Health Care, Household 111.4.3 Treatment and Medicines 111.5 Role of Ontology in Depression 131.6 Conclusion 151.7 Future Scope 15References 152 A STUDY ON BASAL GANGLIA CIRCUIT AND ITS RELATION WITH MOVEMENT DISORDERS 19Dinesh Bhatia2.1 Introduction 192.2 Anatomy and Functioning of Basal Ganglia 212.2.1 The Striatum-Major Entrance to Basal Ganglia Circuitry 222.2.2 Direct and Indirect Striatofugal Projections 232.2.3 The STN: Another Entrance to Basal Ganglia Circuitry 252.3 Movement Disorders 262.3.1 Parkinson Disease 262.3.2 Dyskinetic Disorder 272.3.3 Dystonia 282.4 Effect of Basal Ganglia Dysfunctioning on Movement Disorders 292.5 Conclusion and Future Scope 31References 313 EXTRACTION OF SIGNIFICANT ASSOCIATION RULES USING PRE- AND POST-MINING TECHNIQUES—AN ANALYSIS 37M. Nandhini and S. N. Sivanandam3.1 Introduction 383.2 Background 393.2.1 Interestingness Measures 393.2.2 Pre-Mining Techniques 403.2.2.1 Candidate Set Reduction Schemes 403.2.2.2 Optimal Threshold Computation Schemes 413.2.2.3 Weight-Based Mining Schemes 423.2.3 Post-Mining Techniques 423.2.3.1 Rule Pruning Schemes 433.2.3.2 Schemes Using Knowledge Base 433.3 Methodology 443.3.1 Data Preprocessing 443.3.2 Pre-Mining 463.3.2.1 Pre-Mining Technique 1: Optimal Support and Confidence Threshold Value Computation Using PSO 463.3.2.2 Pre-Mining Technique 2: Attribute Weight Computation Using IG Measure 483.3.3 Association Rule Generation 503.3.3.1 ARM Preliminaries 503.3.3.2 WARM Preliminaries 523.3.4 Post-Mining 563.3.4.1 Filters 563.3.4.2 Operators 583.3.4.3 Rule Schemas 583.4 Experiments and Results 593.4.1 Parameter Settings for PSO-Based Pre-Mining Technique 603.4.2 Parameter Settings for PAW-Based Pre-Mining Technique 603.5 Conclusions 63References 654 ONTOLOGY IN MEDICINE AS A DATABASE MANAGEMENT SYSTEM 69Shobowale K. O.4.1 Introduction 704.1.1 Ontology Engineering and Development Methodology 724.2 Literature Review on Medical Data Processing 724.3 Information on Medical Ontology 754.3.1 Types of Medical Ontology 754.3.2 Knowledge Representation 764.3.3 Methodology of Developing Medical Ontology 764.3.4 Medical Ontology Standards 774.4 Ontologies as a Knowledge-Based System 784.4.1 Domain Ontology in Medicine 794.4.2 Brief Introduction of Some Medical Standards 814.4.2.1 Medical Subject Headings (MeSH) 814.4.2.2 Medical Dictionary for Regulatory Activities (MedDRA) 814.4.2.3 Medical Entities Dictionary (MED) 814.4.3 Reusing Medical Ontology 824.4.4 Ontology Evaluation 854.5 Conclusion 864.6 Future Scope 86References 875 USING IOT AND SEMANTIC WEB TECHNOLOGIES FOR HEALTHCARE AND MEDICAL SECTOR 91Nikita Malik and Sanjay Kumar Malik5.1 Introduction 925.1.1 Significance of Healthcare and Medical Sector and Its Digitization 925.1.2 e-Health and m-Health 925.1.3 Internet of Things and Its Use 945.1.4 Semantic Web and Its Technologies 965.2 Use of IoT in Healthcare and Medical Domain 985.2.1 Scope of IoT in Healthcare and Medical Sector 985.2.2 Benefits of IoT in Healthcare and Medical Systems 1005.2.3 IoT Healthcare Challenges and Open Issues 1005.3 Role of SWTs in Healthcare Services 1015.3.1 Scope and Benefits of Incorporating Semantics in Healthcare 1015.3.2 Ontologies and Datasets for Healthcare and Medical Domain 1035.3.3 Challenges in the Use of SWTs in Healthcare Sector 1045.4 Incorporating IoT and/or SWTs in Healthcare and Medical Sector 1065.4.1 Proposed Architecture or Framework or Model 1065.4.2 Access Mechanisms or Approaches 1085.4.3 Applications or Systems 1095.5 Healthcare Data Analytics Using Data Mining and Machine Learning 1105.6 Conclusion 1125.7 Future Work 113References 1136 AN ONTOLOGICAL MODEL, DESIGN, AND IMPLEMENTATION OF CSPF FOR HEALTHCARE 117Pooja Mohan6.1 Introduction 1176.2 Related Work 1196.3 Mathematical Representation of CSPF Model 1226.3.1 Basic Sets of CSPF Model 1236.3.2 Conditional Contextual Security and Privacy Constraints 1236.3.3 CSPF Model States CsetofStates 1246.3.4 Permission Cpermission 1246.3.5 Security Evaluation Function (SEFcontexts) 1246.3.6 Secure State 1256.3.7 CSPF Model Operations 1256.3.7.1 Administrative Operations 1256.3.7.2 Users’ Operations 1276.4 Ontological Model 1276.4.1 Development of Class Hierarchy 1276.4.1.1 Object Properties of Sensor Class 1296.4.1.2 Data Properties 1296.4.1.3 The Individuals 1296.5 The Design of Context-Aware Security and Privacy Model for Wireless Sensor Network 1296.6 Implementation 1336.7 Analysis and Results 1356.7.1 Inference Time/Latency/Query Response Time vs. No. of Policies 1356.7.2 Average Inference Time vs. Contexts 1366.8 Conclusion and Future Scope 137References 1387 ONTOLOGY-BASED QUERY RETRIEVAL SUPPORT FOR E-HEALTH IMPLEMENTATION 143Aatif Ahmad Khan and Sanjay Kumar Malik7.1 Introduction 1437.1.1 Health Care Record Management 1447.1.1.1 Electronic Health Record 1447.1.1.2 Electronic Medical Record 1457.1.1.3 Picture Archiving and Communication System 1457.1.1.4 Pharmacy Systems 1457.1.2 Information Retrieval 1457.1.3 Ontology 1467.2 Ontology-Based Query Retrieval Support 1467.3 E-Health 1507.3.1 Objectives and Scope 1507.3.2 Benefits of E-Health 1517.3.3 E-Health Implementation 1517.4 Ontology-Driven Information Retrieval for E-Health 1547.4.1 Ontology for E-Heath Implementation 1557.4.2 Frameworks for Information Retrieval Using Ontology for E-Health 1577.4.3 Applications of Ontology-Driven Information Retrieval in Health Care 1587.4.4 Benefits and Limitations 1607.5 Discussion 1607.6 Conclusion 164References 1648 ONTOLOGY-BASED CASE RETRIEVAL IN AN E-MENTAL HEALTH INTELLIGENT INFORMATION SYSTEM 167Georgia Kaoura, Konstantinos Kovas and Basilis Boutsinas8.1 Introduction 1678.2 Literature Survey 1708.3 Problem Identified 1738.4 Proposed Solution 1748.4.1 The PAVEFS Ontology 1748.4.2 Knowledge Base 1798.4.3 Reasoning 1808.4.4 User Interaction 1828.5 Pros and Cons of Solution 1838.5.1 Evaluation Methodology and Results 1838.5.2 Evaluation Methodology 1858.5.2.1 Evaluation Tools 1868.5.2.2 Results 1878.6 Conclusions 1898.7 Future Scope 190References 1909 ONTOLOGY ENGINEERING APPLICATIONS IN MEDICAL DOMAIN 193Mariam Gawich and Marco Alfonse9.1 Introduction 1939.2 Ontology Activities 1959.2.1 Ontology Learning 1959.2.2 Ontology Matching 1959.2.3 Ontology Merging (Unification) 1959.2.4 Ontology Validation 1969.2.5 Ontology Verification 1969.2.6 Ontology Alignment 1969.2.7 Ontology Annotation 1969.2.8 Ontology Evaluation 1969.2.9 Ontology Evolution 1969.3 Ontology Development Methodologies 1979.3.1 TOVE 1979.3.2 Methontology 1989.3.3 Brusa et al. Methodology 1989.3.4 UPON Methodology 1999.3.5 Uschold and King Methodology 2009.4 Ontology Languages 2039.4.1 RDF-RDF Schema 2039.4.2 OWL 2059.4.3 OWL 2 2059.5 Ontology Tools 2089.5.1 Apollo 2089.5.2 NeON 2099.5.3 Protégé 2109.6 Ontology Engineering Applications in Medical Domain 2129.6.1 Ontology-Based Decision Support System (DSS) 2139.6.1.1 OntoDiabetic 2139.6.1.2 Ontology-Based CDSS for Diabetes Diagnosis 2149.6.1.3 Ontology-Based Medical DSS within E-Care Telemonitoring Platform 2159.6.2 Medical Ontology in the Dynamic Healthcare Environment 2169.6.3 Knowledge Management Systems 2179.6.3.1 Ontology-Based System for Cancer Diseases 2179.6.3.2 Personalized Care System for Chronic Patients at Home 2189.7 Ontology Engineering Applications in Other Domains 2199.7.1 Ontology Engineering Applications in E-Commerce 2199.7.1.1 Automated Approach to Product Taxonomy Mapping in E-Commerce 2199.7.1.2 LexOnt Matching Approach 2219.7.2 Ontology Engineering Applications in Social Media Domain 2229.7.2.1 Emotive Ontology Approach 2229.7.2.2 Ontology-Based Approach for Social Media Analysis 2249.7.2.3 Methodological Framework for Semantic Comparison of Emotional Values 225References 22610 ONTOLOGIES ON BIOMEDICAL INFORMATICS 233Marco Alfonse and Mariam Gawich10.1 Introduction 23310.2 Defining Ontology 23410.3 Biomedical Ontologies and Ontology-Based Systems 23510.3.1 MetaMap 23510.3.2 GALEN 23610.3.3 NIH-CDE 23610.3.4 LOINC 23710.3.5 Current Procedural Terminology (CPT) 23810.3.6 Medline Plus Connect 23810.3.7 Gene Ontology 23910.3.8 UMLS 24010.3.9 SNOMED-CT 24010.3.10 OBO Foundry 24010.3.11 Textpresso 24010.3.12 National Cancer Institute Thesaurus 241References 24111 MACHINE LEARNING TECHNIQUES BEST FOR LARGE DATA PREDICTION: A CASE STUDY OF BREAST CANCER CATEGORICAL DATA: K-NEAREST NEIGHBORS 245Yagyanath Rimal11.1 Introduction 24611.2 R Programming 25011.3 Conclusion 255References 25512 NEED OF ONTOLOGY-BASED SYSTEMS IN HEALTHCARE SYSTEM 257Tshepiso Larona Mokgetse12.1 Introduction 25812.2 What is Ontology? 25912.3 Need for Ontology in Healthcare Systems 26012.3.1 Primary Healthcare 26212.3.1.1 Semantic Web System 26212.3.2 Emergency Services 26312.3.2.1 Service-Oriented Architecture 26312.3.2.2 IOT Ontology 26412.3.3 Public Healthcare 26512.3.3.1 IOT Data Model 26512.3.4 Chronic Disease Healthcare 26612.3.4.1 Clinical Reminder System 26612.3.4.2 Chronic Care Model 26712.3.5 Specialized Healthcare 26812.3.5.1 E-Health Record System 26812.3.5.2 Maternal and Child Health 26912.3.6 Cardiovascular System 27012.3.6.1 Distributed Healthcare System 27012.3.6.2 Records Management System 27012.3.7 Stroke Rehabilitation 27112.3.7.1 Patient Information System 27112.3.7.2 Toronto Virtual System 27112.4 Conclusion 272References 27213 EXPLORATION OF INFORMATION RETRIEVAL APPROACHES WITH FOCUS ON MEDICAL INFORMATION RETRIEVAL 275Mamata Rath and Jyotir Moy Chatterjee13.1 Introduction 27613.1.1 Machine Learning-Based Medical Information System 27813.1.2 Cognitive Information Retrieval 27813.2 Review of Literature 27913.3 Cognitive Methods of IR 28113.4 Cognitive and Interactive IR Systems 28613.5 Conclusion 288References 28914 ONTOLOGY AS A TOOL TO ENABLE HEALTH INTERNET OF THINGS VIABLE 5G COMMUNICATION NETWORKS 293Nidhi Sharma and R. K. Aggarwal14.1 Introduction 29314.2 From Concept Representations to Medical Ontologies 29514.2.1 Current Medical Research Trends 29614.2.2 Ontology as a Paradigm Shift in Health Informatics 29614.3 Primer Literature Review 29714.3.1 Remote Health Monitoring 29814.3.2 Collecting and Understanding Medical Data 29814.3.3 Patient Monitoring 29814.3.4 Tele-Health 29914.3.5 Advanced Human Services Records Frameworks 29914.3.6 Applied Autonomy and Healthcare Mechanization 30014.3.7 IoT Powers the Preventive Healthcare 30114.3.8 Hospital Statistics Control System (HSCS) 30114.3.9 End-to-End Accessibility and Moderateness 30114.3.10 Information Mixing and Assessment 30214.3.11 Following and Alerts 30214.3.12 Remote Remedial Assistance 30214.4 Establishments of Health IoT 30314.4.1 Technological Challenges 30414.4.2 Probable Solutions 30614.4.3 Bit-by-Bit Action Statements 30714.5 Incubation of IoT in Health Industry 30714.5.1 Hearables 30814.5.2 Ingestible Sensors 30814.5.3 Moodables 30814.5.4 PC Vision Innovation 30814.5.5 Social Insurance Outlining 30814.6 Concluding Remarks 309References 30915 TOOLS AND TECHNIQUES FOR STREAMING DATA: AN OVERVIEW 313K. Saranya, S. Chellammal and Pethuru Raj Chelliah15.1 Introduction 31415.2 Traditional Techniques 31515.2.1 Random Sampling 31515.2.2 Histograms 31615.2.3 Sliding Window 31615.2.4 Sketches 31715.2.4.1 Bloom Filters 31715.2.4.2 Count-Min Sketch 31715.3 Data Mining Techniques 31715.3.1 Clustering 31815.3.1.1 STREAM 31815.3.1.2 BRICH 31815.3.1.3 CLUSTREAM 31915.3.2 Classification 31915.3.2.1 Naïve Bayesian 31915.3.2.2 Hoeffding 32015.3.2.3 Very Fast Decision Tree 32015.3.2.4 Concept Adaptive Very Fast Decision Tree 32015.4 Big Data Platforms 32015.4.1 Apache Storm 32115.4.2 Apache Spark 32115.4.2.1 Apache Spark Core 32115.4.2.2 Spark SQL 32215.4.2.3 Machine Learning Library 32215.4.2.4 Streaming Data API 32215.4.2.5 GraphX 32315.4.3 Apache Flume 32315.4.4 Apache Kafka 32315.4.5 Apache Flink 32615.5 Conclusion 327References 32816 AN ONTOLOGY-BASED IR FOR HEALTH CARE 331J. P. Patra, Gurudatta Verma and Sumitra Samal16.1 Introduction 33116.2 General Definition of Information Retrieval Model 33316.3 Information Retrieval Model Based on Ontology 33416.4 Literature Survey 33616.5 Methodolgy for IR 339References 344
Role of Edge Analytics in Sustainable Smart City Development
Efficient Single Board Computers (SBCs) and advanced VLSI systems have resulted in edge analytics and faster decision making. The QoS parameters like energy, delay, reliability, security, and throughput should be improved on seeking better intelligent expert systems. The resource constraints in the Edge devices, challenges the researchers to meet the required QoS. Since these devices and components work in a remote unattended environment, an optimum methodology to improve its lifetime has become mandatory. Continuous monitoring of events is mandatory to avoid tragic situations; it can only be enabled by providing high QoS. The applications of IoT in digital twin development, health care, traffic analysis, home surveillance, intelligent agriculture monitoring, defense and all common day to day activities have resulted in pioneering embedded devices, which can offer high computational facility without much latency and delay. The book address industrial problems in designing expert system and IoT applications. It provides novel survey and case study report on recent industrial approach towards Smart City development.G. R. KANAGACHIDAMBARESAN received his PhD from Anna University Chennai in 2017. He is currently an associate professor in the Department of Computer Science Engineering, Veltech Rangarajan Dr. Sagunthala R&D Institute of Science and Technology, India. His main research interests include Industry 4.0, smart city projects, Body Sensor Network and Fault Tolerant Wireless Sensor Network. He has published several articles in SCI journals and is an associate editor of Wireless Networks. Preface xv1 SMART HEALTH CARE DEVELOPMENT: CHALLENGES AND SOLUTIONS 1R. Sujatha, E.P. Ephzibah and S. Sree Dharinya1.1 Introduction 21.2 ICT Explosion 31.2.1 RFID 41.2.2 IoT and Big Data 51.2.3 Wearable Sensors—Head to Toe 71.2.4 Cloud Computing 81.3 Intelligent Healthcare 101.4 Home Healthcare 111.5 Data Analytics 111.6 Technologies—Data Cognitive 131.6.1 Machine Learning 131.6.2 Image Processing 141.6.3 Deep Learning 141.7 Adoption Technologies 151.8 Conclusion 15References 152 WORKING OF MOBILE INTELLIGENT AGENTS ON THE WEB—A SURVEY 21P.R. Joe Dhanith and B. Surendiran2.1 Introduction 212.2 Mobile Crawler 232.3 Comparative Study of the Mobile Crawlers 472.4 Conclusion 47References 473 POWER MANAGEMENT SCHEME FOR PHOTOVOLTAIC/BATTERY HYBRID SYSTEM IN SMART GRID 49T. Bharani Prakash and S. Nagakumararaj3.1 Power Management Scheme 503.2 Internal Power Flow Management 503.2.1 PI Controller 513.2.2 State of Charge 533.3 Voltage Source Control 543.3.1 Phase-Locked Loop 553.3.2 Space Vector Pulse Width Modulation 563.3.3 Park Transformation (abc to dq0) 573.4 Simulation Diagram and Results 583.4.1 Simulation Diagram 583.4.2 Simulation Results 63Conclusion 654 ANALYSIS: A NEURAL NETWORK EQUALIZER FOR CHANNEL EQUALIZATION BY PARTICLE SWARM OPTIMIZATION FOR VARIOUS CHANNEL MODELS 67M. Muthumari, D.C. Diana and C. Ambika Bhuvaneswari4.1 Introduction 684.2 Channel Equalization 724.2.1 Channel Models 734.2.1.1 Tapped Delay Line Model 744.2.1.2 Stanford University Interim (SUI) Channel Models 754.2.2 Artificial Neural Network 754.3 Functional Link Artificial Neural Network 764.4 Particle Swarm Optimization 764.5 Result and Discussion 774.5.1 Convergence Analysis 774.5.2 Comparison Between Different Parameters 794.5.3 Comparison Between Different Channel Models 804.6 Conclusion 81References 825 IMPLEMENTING HADOOP CONTAINER MIGRATIONS IN OPENNEBULA PRIVATE CLOUD ENVIRONMENT 85P. Kalyanaraman, K.R. Jothi, P. Balakrishnan, R.G. Navya, A. Shah and V. Pandey5.1 Introduction 865.1.1 Hadoop Architecture 865.1.2 Hadoop and Big Data 885.1.3 Hadoop and Virtualization 885.1.4 What is OpenNebula? 895.2 Literature Survey 905.2.1 Performance Analysis of Hadoop 905.2.2 Evaluating Map Reduce on Virtual Machines 915.2.3 Virtualizing Hadoop Containers 945.2.4 Optimization of Hadoop Cluster Using Cloud Platform 955.2.5 Heterogeneous Clusters in Cloud Computing 965.2.6 Performance Analysis and Optimization in Hadoop 975.2.7 Virtual Technologies 975.2.8 Scheduling 985.2.9 Scheduling of Hadoop VMs 985.3 Discussion 995.4 Conclusion 100References 1016 TRANSMISSION LINE INSPECTION USING UNMANNED AERIAL VEHICLE 105A. Mahaboob Subahani, M. Kathiresh and S. Sanjeev6.1 Introduction 1066.1.1 Unmanned Aerial Vehicle 1066.1.2 Quadcopter 1066.2 Literature Survey 1076.3 System Architecture 1086.4 ArduPilot 1096.5 Arduino Mega 1116.6 Brushless DC Motor 1116.7 Battery 1126.8 CMOS Camera 1136.9 Electronic Speed Control 1136.10 Power Module 1156.11 Display Shield 1166.12 Navigational LEDS 1166.13 Role of Sensors in the Proposed System 1186.13.1 Accelerometer and Gyroscope 1186.13.2 Magnetometer 1186.13.3 Barometric Pressure Sensor 1196.13.4 Global Positioning System 1196.14 Wireless Communication 1206.15 Radio Controller 1206.16 Telemetry Radio 1216.17 Camera Transmitter 1216.18 Results and Discussion 1216.19 Conclusion 124References 1257 SMART CITY INFRASTRUCTURE MANAGEMENT SYSTEM USING IOT 127S. Ramamoorthy, M. Kowsigan, P. Balasubramanie and P. John Paul7.1 Introduction 1287.2 Major Challenges in IoT-Based Technology 1297.2.1 Peer to Peer Communication Security 1297.2.2 Objective of Smart Infrastructure 1307.3 Internet of Things (IoT) 1317.3.1 Key Components of Components of IoT 1317.3.1.1 Network Gateway 1327.3.1.2 HTTP (HyperText Transfer Protocol) 1327.3.1.3 LoRaWan (Long Range Wide Area Network) 1337.3.1.4 Bluetooth 1337.3.1.5 ZigBee 1337.3.2 IoT Data Protocols 1337.3.2.1 Message Queue Telemetry Transport (MQTT) 1337.3.2.2 Constrained Application Protocol (CoAP) 1347.3.2.3 Advanced Message Queuing Protocol (AMQP) 1347.3.2.4 Data Analytics 1347.4 Machine Learning-Based Smart Decision-Making Process 1357.5 Cloud Computing 136References 1388 LIGHTWEIGHT CRYPTOGRAPHY ALGORITHMS FOR IOT RESOURCE-STARVING DEVICES 139S. Aruna, G. Usha, P. Madhavan and M.V. Ranjith Kumar8.1 Introduction 1398.1.1 Need of the Cryptography 1408.2 Challenges on Lightweight Cryptography 1418.3 Hashing Techniques on Lightweight Cryptography 1428.4 Applications on Lighweight Cryptography 1528.5 Conclusion 167References 1689 PRE-LEARNING-BASED SEMANTIC SEGMENTATION FOR LIDAR POINT CLOUD DATA USING SELF-ORGANIZED MAP 171K. Rajathi and P. Sarasu9.1 Introduction 1729.2 Related Work 1739.2.1 Semantic Segmentation for Images 1739.3 Semantic Segmentation for LiDAR Point Cloud 1739.4 Proposed Work 1759.4.1 Data Acquisition 1759.4.2 Our Approach 1759.4.3 Pre-Learning Processing 1799.5 Region of Interest (RoI) 1809.6 Registration of Point Cloud 1819.7 Semantic Segmentation 1819.8 Self-Organized Map (SOM) 1829.9 Experimental Result 1839.10 Conclusion 186References 18710 SMART LOAD BALANCING ALGORITHMS IN CLOUD COMPUTING—A REVIEW 189K.R. Jothi, S. Anto, M. Kohar, M. Chadha and P. Madhavan10.1 Introduction 18910.2 Research Challenges 19210.2.1 Security & Routing 19210.2.2 Storage/Replication 19210.2.3 Spatial Spread of the Cloud Nodes 19210.2.4 Fault Tolerance 19310.2.5 Algorithm Complexity 19310.3 Literature Survey 19310.4 Survey Table 20110.5 Discussion & Comparison 20210.6 Conclusion 202References 21611 A LOW-COST WEARABLE REMOTE HEALTHCARE MONITORING SYSTEM 219Konguvel Elango and Kannan Muniandi11.1 Introduction 21911.1.1 Problem Statement 22011.1.2 Objective of the Study 22111.2 Related Works 22211.2.1 Remote Healthcare Monitoring Systems 22211.2.2 Pulse Rate Detection 22411.2.3 Temperate Measurement 22511.2.4 Fall Detection 22511.3 Methodology 22611.3.1 NodeMCU 22611.3.2 Pulse Rate Detection System 22711.3.3 Fall Detection System 23011.3.4 Temperature Detection System 23111.3.5 LCD Specification 23411.3.6 ADC Specification 23411.4 Results and Discussions 23611.4.1 System Implementation 23611.4.2 Fall Detection Results 23611.4.3 ThingSpeak 23611.5 Conclusion 23911.6 Future Scope 240References 24112 IOT-BASED SECURE SMART INFRASTRUCTURE DATA MANAGEMENT 243R. Poorvadevi, M. Kowsigan, P. Balasubramanie and J. Rajeshkumar12.1 Introduction 24412.1.1 List of Security Threats Related to the Smart IoT Network 24412.1.2 Major Application Areas of IoT 24412.1.3 IoT Threats and Security Issues 24512.1.4 Unpatched Vulnerabilities 24512.1.5 Weak Authentication 24512.1.6 Vulnerable API’s 24512.2 Types of Threats to Users 24512.3 Internet of Things Security Management 24612.3.1 Managing IoT Devices 24612.3.2 Role of External Devices in IoT Platform 24712.3.3 Threats to Other Computer Networks 24812.4 Significance of IoT Security 24912.4.1 Aspects of Workplace Security 24912.4.2 Important IoT Security Breaches and IoT Attacks 25012.5 IoT Security Tools and Legislation 25012.6 Protection of IoT Systems and Devices 25112.6.1 IoT Issues and Security Challenges 25112.6.2 Providing Secured Connections 25212.7 Five Ways to Secure IoT Devices 25312.8 Conclusion 255References 25513 A STUDY OF ADDICTION BEHAVIOR FOR SMART PSYCHOLOGICAL HEALTH CARE SYSTEM 257V. Sabapathi and K.P. Vijayakumar13.1 Introduction 25813.2 Basic Criteria of Addiction 25813.3 Influencing Factors of Addiction Behavior 25913.3.1 Peers Influence 25913.3.2 Environment Influence 26013.3.3 Media Influence 26213.3.4 Family Group and Society 26213.4 Types of Addiction and Their Effects 26213.4.1 Gaming Addiction 26313.4.2 Pornography Addiction 26413.4.3 Smart Phone Addiction 26513.4.4 Gambling Addiction 26713.4.5 Food Addiction 26713.4.6 Sexual Addiction 26813.4.7 Cigarette and Alcohol Addiction 26813.4.8 Status Expressive Addiction 26913.4.9 Workaholic Addiction 26913.5 Conclusion 269References 27014 A CUSTOM CLUSTER DESIGN WITH RASPBERRY PI FOR PARALLEL PROGRAMMING AND DEPLOYMENT OF PRIVATE CLOUD 273Sukesh, B., Venkatesh, K. and Srinivas, L.N.B.14.1 Introduction 27414.2 Cluster Design with Raspberry Pi 27614.2.1 Assembling Materials for Implementing Cluster 27614.2.1.1 Raspberry Pi4 27714.2.1.2 RPi 4 Model B Specifications 27714.2.2 Setting Up Cluster 27814.2.2.1 Installing Raspbian and Configuring Master Node 27914.2.2.2 Installing MPICH and MPI4PY 27914.2.2.3 Cloning the Slave Nodes 27914.3 Parallel Computing and MPI on Raspberry Pi Cluster 27914.4 Deployment of Private Cloud on Raspberry Pi Cluster 28114.4.1 NextCloud Software 28114.5 Implementation 28114.5.1 NextCloud on RPi Cluster 28114.5.2 Parallel Computing on RPi Cluster 28214.6 Results and Discussions 28614.7 Conclusion 287References 28715 ENERGY EFFICIENT LOAD BALANCING TECHNIQUE FOR DISTRIBUTED DATA TRANSMISSION USING EDGE COMPUTING 289Karthikeyan, K. and Madhavan, P.15.1 Introduction 29015.2 Energy Efficiency Offloading Data Transmission 29015.2.1 Web-Based Offloading 29115.3 Energy Harvesting 29115.3.1 LODCO Algorithm 29215.4 User-Level Online Offloading Framework (ULOOF) 29315.5 Frequency Scaling 29415.6 Computation Offloading and Resource Allocation 29515.7 Communication Technology 29615.8 Ultra-Dense Network 29715.9 Conclusion 299References 29916 BLOCKCHAIN-BASED SDR SIGNATURE SCHEME WITH TIME-STAMP 303Swathi Singh, Divya Satish and Sree Rathna Lakshmi16.1 Introduction 30316.2 Literature Study 30416.2.1 Signatures With Hashes 30416.2.2 Signature Scheme With Server Support 30516.2.3 Signatures Scheme Based on Interaction 30516.3 Methodology 30616.3.1 Preliminaries 30616.3.1.1 Hash Trees 30616.3.1.2 Chains of Hashes 30616.3.2 Interactive Hash-Based Signature Scheme 30716.3.3 Significant Properties of Hash-Based Signature Scheme 30916.3.4 Proposed SDR Scheme Structure 31016.3.4.1 One-Time Keys 31016.3.4.2 Server Behavior Authentication 31016.3.4.3 Pre-Authentication by Repository 31116.4 SDR Signature Scheme 31116.4.1 Pre-Requisites 31116.4.2 Key Generation Algorithm 31216.4.2.1 Server 31316.4.3 Sign Algorithm 31316.4.3.1 Signer 31316.4.3.2 Server 31316.4.3.3 Repository 31416.4.4 Verification Algorithm 31416.5 Supportive Theory 31516.5.1 Signing Algorithm Supported by Server 31516.5.2 Repository Deployment 31616.5.3 SDR Signature Scheme Setup 31616.5.4 Results and Observation 31616.6 Conclusion 317References 317Index 321
Grundkurs Machine Learning
Maschinelles Lernen – alle Grundlagen! Paul Wilmott ist für seine erhellende und unterhaltsame Darstellung angewandter Mathematik bekannt. Von der linearen Regression bis zu Neuronalen Netzwerken führt er Sie durch alle Verfahren, und zwar komplett Software-unabhängig. Der Vorteil dabei: Jeder Schritt ist schwarz auf weiß zu sehen, kein Framework kann etwas „verstecken“, es geht immer um die Sache selbst. Mit vielen Beispielen, Grafiken und Schritt-für-Schritt-Kästen. Für alle, die wirklich verstehen wollen, wie Maschinen lernen. Aus dem Inhalt: Lineare Regressionk-Nearest NeighborsNaive Bayes-Klassifikatorenk-Means-AlgorithmusSupport Vector MachinesLogistische RegressionSelbstorganisierende KartenEntscheidungsbäumeReinforcement LearningNeuronale Netze Vorwort ... 13 1. Einführung ... 17 1.1 ... Maschinelles Lernen ... 18 1.2 ... Lernen ist der Schlüssel ... 19 1.3 ... Ein wenig Geschichte ... 20 1.4 ... Schlüsselmethodiken in diesem Buch ... 22 1.5 ... Klassische mathematische Modellierung ... 26 1.6 ... Maschinelles Lernen ist anders ... 28 1.7 ... Einfachheit führt zu Komplexität ... 29 1.8 ... Weiterführende Literatur ... 33 2. Allgemeines ... 35 2.1 ... Jargon und Notation ... 35 2.2 ... Skalierung ... 37 2.3 ... Distanzmessung ... 38 2.4 ... Fluch der Dimensionalität ... 39 2.5 ... Hauptkomponentenanalyse ... 39 2.6 ... Maximum-Likelihood-Schätzung ... 40 2.7 ... Konfusionsmatrix ... 44 2.8 ... Kostenfunktion ... 47 2.9 ... Gradientenabstieg ... 52 2.10 ... Training, Testen und Validieren ... 54 2.11 ... Bias und Varianz ... 57 2.12 ... Lagrange-Multiplikatoren ... 63 2.13 ... Mehrfachklassen ... 65 2.14 ... Informationstheorie und Entropie ... 67 2.15 ... Verarbeitung natürlicher Sprache (NLP) ... 70 2.16 ... Bayes-Theorem ... 72 2.17 ... Was nun? ... 73 2.18 ... Weiterführende Literatur ... 74 3. K-nächste Nachbarn ... 75 3.1 ... Wofür können wir die Methode verwenden? ... 75 3.2 ... Wie die Methode funktioniert ... 76 3.3 ... Der Algorithmus ... 78 3.4 ... Probleme mit KNN ... 78 3.5 ... Beispiel: Körpergröße und -gewicht ... 79 3.6 ... Regression ... 83 3.7 ... Weiterführende Literatur ... 85 4. K-Means Clustering ... 87 4.1 ... Wofür können wir die Methode verwenden? ... 87 4.2 ... Was macht K-Means Clustering? ... 89 4.3 ... Scree-Plots ... 93 4.4 ... Beispiel: Kriminalität in England, 13 Dimensionen ... 94 4.5 ... Beispiel: Volatiliät ... 98 4.6 ... Beispiel: Zinssatz und Inflation ... 100 4.7 ... Beispiel: Zinssätze, Inflation und BIP-Wachstum ... 103 4.8 ... Ein paar Kommentare ... 104 4.9 ... Weiterführende Literatur ... 105 5. Naiver Bayes-Klassifikator ... 107 5.1 ... Wofür können wir ihn verwenden? ... 107 5.2 ... Verwendung des Bayes-Theorems ... 108 5.3 ... Anwendung des NBK ... 108 5.4 ... In Symbolen ... 110 5.5 ... Beispiel: Politische Reden ... 111 5.6 ... Weiterführende Literatur ... 114 6. Regressionsmethoden ... 115 6.1 ... Wofür können wir sie verwenden? ... 115 6.2 ... Mehrdimensionale lineare Regression ... 116 6.3 ... Logistische Regression ... 117 6.4 ... Beispiel: Noch einmal politische Reden ... 119 6.5 ... Weitere Regressionsmethoden ... 121 6.6 ... Weiterführende Literatur ... 122 7. Support-Vektor-Maschinen ... 123 7.1 ... Wofür können wir sie verwenden? ... 123 7.2 ... Harte Ränder ... 123 7.3 ... Beispiel: Iris (Schwertlilie) ... 126 7.4 ... Lagrange-Multiplier-Version ... 128 7.5 ... Weiche Ränder ... 130 7.6 ... Kernel-Trick ... 132 7.7 ... Weiterführende Literatur ... 136 8. Selbstorganisierende Karten ... 137 8.1 ... Wofür können wir sie verwenden? ... 137 8.2 ... Die Methode ... 138 8.3 ... Der Lernalgorithmus ... 140 8.4 ... Beispiel: Gruppierung von Aktien ... 142 8.5 ... Beispiel: Abstimmungen im Unterhaus ... 147 8.6 ... Weiterführende Literatur ... 149 9. Entscheidungsbäume ... 151 9.1 ... Wofür können wir sie verwenden? ... 151 9.2 ... Beispiel: Zeitschriftenabo ... 153 9.3 ... Entropie ... 158 9.4 ... Überanpassung und Abbruchregeln ... 161 9.5 ... Zuschneiden ... 162 9.6 ... Numerische Merkmale/Attribute ... 162 9.7 ... Regression ... 164 9.8 ... Ausblick ... 171 9.9 ... Bagging und Random Forest ... 171 9.10 ... Weiterführende Literatur ... 172 10. Neuronale Netze ... 173 10.1 ... Wofür können wir sie verwenden? ... 173 10.2 ... Ein sehr einfaches Netzwerk ... 173 10.3 ... Universelles Approximations-Theorem ... 174 10.4 ... Ein noch einfacheres Netzwerk ... 176 10.5 ... Die mathematische Manipulation im Detail ... 177 10.6 ... Häufige Aktivierungsfunktionen ... 181 10.7 ... Das Ziel ... 182 10.8 ... Beispiel: Approximation einer Funktion ... 183 10.9 ... Kostenfunktion ... 184 10.10 ... Backpropagation ... 185 10.11 ... Beispiel: Buchstabenerkennung ... 188 10.12 ... Training und Testen ... 190 10.13 ... Mehr Architekturen ... 194 10.14 ... Deep Learning ... 196 10.15 ... Weiterführende Literatur ... 197 11. Verstärkendes Lernen ... 199 11.1 ... Wofür können wir es verwenden? ... 199 11.2 ... Geländeausfahrt mit Ihrem Lamborghini 400 GT ... 200 11.3 ... Jargon ... 202 11.4 ... Ein erster Blick auf Blackjack ... 203 11.5 ... Der klassische Markow-Entscheidungsprozess für Tic-Tac-Toe ... 204 11.6 ... Noch mehr Jargon ... 206 11.7 ... Beispiel: Der mehrarmige Bandit ... 207 11.8 ... Etwas anspruchsvoller 1: Bekannte Umgebung ... 211 11.9 ... Beispiel: Ein Labyrinth ... 214 11.10 ... Notation zu Wertefunktionen ... 218 11.11 ... Die Bellman-Gleichung ... 220 11.12 ... Optimale Policy ... 221 11.13 ... Die Bedeutung der Wahrscheinlichkeit ... 222 11.14 ... Etwas anspruchsvoller 2: Modell-frei ... 223 11.15 ... Monte Carlo Policy Evaluation ... 224 11.16 ... Temporal-Difference-Lernen ... 227 11.17 ... Vor- und Nachteile: MC versus TD ... 228 11.18 ... Finden der optimalen Policy ... 229 11.19 ... Sarsa ... 230 11.20 ... Q-Lernen ... 232 11.21 ... Beispiel: Blackjack ... 233 11.22 ... Große Zustandsräume ... 245 11.23 ... Weiterführende Literatur ... 245 Datensätze ... 247 Epilog ... 251 Index ... 253
Einstieg in C++
Mit diesem Buch gelingt Ihnen der Einstieg in die C++-Entwicklung mühelos. Anschauliche Erklärungen, praxisnahe Beispiele und Übungen begleiten Sie von den ersten Schritten bis zum fertigen Programm. Sie lernen alle wichtigen Themen wie Vererbung, Objektorientierung, Polymorphie, GUI-Entwicklung und Datenbanken. Kenntnisse in C oder einer anderen Sprache werden nicht vorausgesetzt. Aus dem Inhalt: SprachgrundlagenReferenzen und PointerObjektorientierte ProgrammierungVererbung und PolymorphieModerne Bibliotheken: chrono, random, thread, filesystemArbeiten mit ContainernGUI-Entwicklung mit QtDatenbanken mit SQLite verwalten Materialien zum Buch ... 17 1. Eine erste Einführung ... 19 1.1 ... Was machen wir mit C++? ... 19 1.2 ... Was benötige ich zum Programmieren? ... 20 1.3 ... Die Entwicklung von C++ ... 20 1.4 ... So sieht das erste Programm aus ... 21 1.5 ... Kommentieren Sie Ihre Programme ... 22 2. Arbeiten mit Zahlen und Operatoren ... 25 2.1 ... Wie speichere ich Zahlen? ... 25 2.2 ... Rechnen mit Operatoren ... 27 2.3 ... Fehler suchen ... 29 2.4 ... Wie können Daten eingegeben werden? ... 31 2.5 ... Zahlen formatieren mit Manipulatoren ... 33 2.6 ... Zuweisungen kürzer schreiben ... 34 2.7 ... Übung ... 36 2.8 ... Mehr über die Speicherung von Zahlen ... 37 2.9 ... Feste Werte in Konstanten speichern ... 41 2.10 ... Konstanten in Enumerationen zusammenfassen ... 42 2.11 ... Zahlensysteme ... 43 2.12 ... Initialisierung ... 45 2.13 ... Wie erzeuge ich zufällige Zahlen? ... 47 2.14 ... Übung ... 48 3. Mehrere Zweige in einem Programm ... 49 3.1 ... Zwei Zweige mit »if« und »else« ... 49 3.2 ... Bedingungen benötigen Vergleiche ... 51 3.3 ... Mehr als zwei Zweige ... 53 3.4 ... Wie kann ich Bedingungen kombinieren? ... 55 3.5 ... Zweige zusammenfassen mit »switch« und »case« ... 57 3.6 ... Was ist mit dem Rest? ... 58 3.7 ... Welcher Operator hat Vorrang? ... 59 3.8 ... Übungen ... 60 3.9 ... Wie speichere ich Wahrheitswerte? ... 63 3.10 ... Die Kurzform: der bedingte Ausdruck ... 65 4. Teile von Programmen wiederholen ... 67 4.1 ... Regelmäßige Wiederholungen mit »for« ... 67 4.2 ... Wiederholungen für einen Bereich ... 70 4.3 ... Bedingte Wiederholungen mit »do-while« ... 71 4.4 ... Besser vorher prüfen mit »while« ... 72 4.5 ... Wiederholungen abbrechen oder fortsetzen ... 73 4.6 ... Die Wiederholung der Wiederholung ... 75 4.7 ... Übungen ... 76 5. Programme aufteilen in Funktionen ... 79 5.1 ... So schreibe ich eine eigene Funktion ... 79 5.2 ... Wie übergebe ich Daten? ... 81 5.3 ... Wie erhalte ich ein Ergebnis zurück? ... 87 5.4 ... Mehr Ordnung im Programm ... 88 5.5 ... Statische Variablen behalten ihren Wert ... 90 5.6 ... Fehler suchen ... 91 5.7 ... Übungen ... 92 5.8 ... Standardwerte vorgeben ... 93 5.9 ... Beliebig viele Parameter ... 94 5.10 ... Funktionen mehrfach definieren ... 96 5.11 ... Funktionen, die sich selbst aufrufen ... 98 5.12 ... Anonyme Funktionen ... 99 5.13 ... Funktionen als Parameter ... 105 6. Große Datenmengen speichern in Feldern ... 109 6.1 ... Wie werden Felder unterschieden? ... 109 6.2 ... Einfache Felder mit fester Größe ... 110 6.3 ... Intelligente Felder mit fester Größe ... 111 6.4 ... Ausnahmen behandeln ... 113 6.5 ... Einfache und intelligente Zeiger ... 115 6.6 ... Intelligente Felder mit variabler Größe ... 122 6.7 ... Felder initialisieren ... 124 6.8 ... Felder als Parameter ... 125 6.9 ... Daten in mehreren Dimensionen speichern ... 127 6.10 ... Übungen ... 131 7. Arbeiten mit Zeichen und Texten ... 133 7.1 ... Einzelne Zeichen ... 133 7.2 ... Einfache Zeichenketten ... 134 7.3 ... Intelligente Zeichenketten: Strings ... 137 7.4 ... Wie wandle ich Zahlen in Strings um? ... 143 7.5 ... Wie verarbeite ich Eingaben? ... 144 7.6 ... Felder von Zeichenketten ... 147 7.7 ... Suchen und Ersetzen ... 149 7.8 ... Übungen ... 154 8. Daten in Strukturen zusammenfassen ... 157 8.1 ... Wie speichere ich zusammengehörige Daten? ... 157 8.2 ... Besser einen Typ definieren ... 159 8.3 ... Strukturen und Felder ... 161 8.4 ... Strukturen und Funktionen ... 165 8.5 ... Eine Hierarchie von Strukturen ... 170 8.6 ... Übung ... 172 9. Vorhandene Funktionen nutzen ... 175 9.1 ... Umgang mit Datum und Uhrzeit ... 175 9.2 ... Bessere zufällige Zahlen ... 181 9.3 ... Mehrere Threads zur gleichen Zeit ... 184 9.4 ... Nützliche mathematische Funktionen ... 193 9.5 ... Übungen ... 202 9.6 ... Rechnen mit komplexen Zahlen ... 203 9.7 ... Daten mit dem Betriebssystem austauschen ... 210 9.8 ... Zugriff auf Dateien und Verzeichnisse ... 219 10. Eigene Klassen entwerfen ... 237 10.1 ... Klassen umfassen Eigenschaften und Methoden ... 237 10.2 ... Schützen Sie die Daten ... 240 10.3 ... Wie erzeuge und lösche ich Objekte? ... 244 10.4 ... Statische Elemente einer Klasse ... 248 10.5 ... Wie überlade ich Operatoren? ... 252 10.6 ... Objekte und Felder ... 256 10.7 ... Objekte ausgeben ... 260 10.8 ... Eigenschaften können Objekte sein ... 262 10.9 ... Übungen ... 264 11. Vererbung und Polymorphie ... 269 11.1 ... Basisklasse und abgeleitete Klassen ... 269 11.2 ... Welche Elemente sind an welcher Stelle erreichbar? ... 276 11.3 ... Konstruktoren in abgeleiteten Klassen ... 277 11.4 ... Was bedeutet Polymorphie? ... 281 11.5 ... Erben von mehreren Klassen ... 284 12. Datenströme verarbeiten ... 289 12.1 ... Sequenzielles Schreiben und Lesen ... 289 12.2 ... Schreiben und Lesen an beliebiger Stelle ... 296 12.3 ... Wie leiten Sie Datenströme? ... 305 12.4 ... Wie ist das CSV-Format zum Austausch aufgebaut? ... 308 12.5 ... Übung ... 315 13. Container sind vielfältige Datenstrukturen ... 319 13.1 ... Wie durchlaufe ich Container? ... 320 13.2 ... Intelligente Felder mit fester Größe ... 322 13.3 ... Intelligente Felder mit variabler Größe ... 326 13.4 ... Eine Warteschlange mit zwei Enden ... 330 13.5 ... Daten in Listen verketten ... 334 13.6 ... Drei einfache Container ... 344 13.7 ... Zwei nützliche Typen ... 351 13.8 ... Eine Menge von Elementen ... 355 13.9 ... Schlüssel und Werte in einer Map ... 362 13.10 ... Algorithmen für Bereiche ... 369 13.11 ... Mengenlehre ... 374 13.12 ... Eine Menge von Bits ... 378 14. Mehr zu eigenen Klassen ... 383 14.1 ... Objekte initialisieren, kopieren und erzeugen ... 383 14.2 ... Klassen können Freunde haben ... 386 14.3 ... Namen müssen eindeutig sein ... 389 14.4 ... Fehler behandeln mit Ausnahmen ... 392 14.5 ... Innere Klassen ... 400 14.6 ... Templates sind Vorlagen ... 402 15. Präprozessor-Anweisungen ... 409 15.1 ... Einbinden von Dateien ... 409 15.2 ... Definitionen und Makros ... 410 15.3 ... Definitionen und Verzweigungen ... 412 15.4 ... Eine Systemweiche ... 414 16. Grafische Benutzeroberflächen mit der Qt-Bibliothek ... 417 16.1 ... Die erste GUI-Anwendung ... 418 16.2 ... Ein einfacher Kopfrechentrainer ... 429 16.3 ... Ein erweiterter Kopfrechentrainer ... 434 16.4 ... Weitere Widgets ... 441 17. Datenbanken mit SQLite verwalten ... 449 17.1 ... Der Aufbau einer Datenbank ... 449 17.2 ... Wie erzeuge ich Datenbank und Tabelle? ... 450 17.3 ... Wie speichere ich Daten in einer Tabelle? ... 455 17.4 ... So zeige ich alle Daten einer Tabelle an ... 457 17.5 ... Wie wähle ich bestimmte Daten aus? ... 460 17.6 ... Der Benutzer wählt Daten aus ... 464 17.7 ... Daten sollten sortiert werden ... 465 17.8 ... Wie ändere ich Daten? ... 466 17.9 ... Vorsicht beim Löschen von Daten ... 468 17.10 ... Eine Datenbank mit mehreren Tabellen ... 469 17.11 ... Projekt Vokabeln ... 476 17.12 ... Übung ... 497 Anhang ... 501 A ... Installationen ... 501 B ... Hilfestellungen und Übersichten ... 525 Index ... 531