Software
Heimautomation mit Arduino, ESP8266 und Raspberry Pi
Das eigene Heim als Smart Home für Heimwerker, Bastler und Maker.Mit diesem umfassenden Praxis-Handbuch erfahren Sie, wie Sie Ihr Heim selbst automatisieren können.Anhand zahlreicher Beispiele lernen Sie Schritt für Schritt die Umsetzung verschiedener Projekte wie z.B. 433-MHz-Sender und -Empfänger, IoT-Gateway mit 433 MHz, drahtlose Infrarot-Fernsteuerung für den Fernseher, Wettermodul, drahtlose Klingel, Strom- und Briefkastenwächter und Aquarium-Timer.Der Autor zeigt Ihnen die praktischen Einsatzmöglichkeiten verschiedener Sensoren und Aktoren im Smart Home wie Licht-, Umwelt- und Barometersensor. Dabei werden zum einen selbst gebaute einfache Elektronik-Module mit Arduino, ESP8266 und Wemos-Modulen realisiert und über eine Schaltzentrale mit Raspberry Pi gesteuert. Zum anderen werden fertige Module wie Bewegungsmelder, Kontakte oder Rauchmelder über einfache Gateways ins System integriert. Dabei wird für die Zentrale Node-Red verwendet, um die Daten und Zustände zu verarbeiten und zu visualisieren.Jedes einzelne Projekt wird mit Stückliste und Steckbrett-Aufbau ausführlich dargestellt und beschrieben.Dieses Buch richtet sich an Bastler und Maker, die bereits etwas Erfahrung mit Arduino und Raspberry Pi gesammelt haben und nun praktische Anwendungen in ihrem Heim aufbauen möchten.Inhalte & Projekte:IoT-Hardware mit Arduino, ESP8266 und Raspberry PiArduino IDE und Node-RedDie Protokolle HTTP und MQTTArduino als SensormodulSchaltmodule mit Tasmota-FirmwareNode-Red als SchaltzentraleWettermodul mit Licht-, Umwelt- und Barometersensor433-MHz-Sender und -EmpfängerIoT-Gateway mit 433 MHzESP8266 als RF-GatewayNode-Red-Schaltzentrale mit Arduino-InterfaceDrahtlose Infrarot-Fernsteuerung für den FernseherDrahtlose KlingelAnalog-Wandler-ModulHomeautomation-PlattformenBriefkastenwächterStromwächterAquarium-TimerLeuchtstreifensteuerungInhalt & Leseprobe (PDF-Link)
Machine Learning mit Python (3. Auflg.)
Das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics in 3. Auflage 03/2021.Mit diesem Buch erhalten Sie eine umfassende Einführung in die Grundlagen und den effektiven Einsatz von Machine-Learning- und Deep-Learning-Algorithmen und wenden diese anhand zahlreicher Beispiele praktisch an. Dafür setzen Sie ein breites Spektrum leistungsfähiger Python-Bibliotheken ein, insbesondere Keras, TensorFlow 2 und Scikit-learn. Auch die für die praktische Anwendung unverzichtbaren mathematischen Konzepte werden verständlich und anhand zahlreicher Diagramme anschaulich erläutert.Die dritte Auflage dieses Buchs wurde für TensorFlow 2 komplett aktualisiert und berücksichtigt die jüngsten Entwicklungen und Technologien, die für Machine Learning, Neuronale Netze und Deep Learning wichtig sind. Dazu zählen insbesondere die neuen Features der Keras-API, das Synthetisieren neuer Daten mit Generative Adversarial Networks (GANs) sowie die Entscheidungsfindung per Reinforcement Learning.Ein sicherer Umgang mit Python wird vorausgesetzt.Aus dem Inhalt:Trainieren von Lernalgorithmen und Implementierung in PythonGängige Klassifikationsalgorithmen wie Support Vector Machines (SVM), Entscheidungsbäume und Random ForestNatural Language Processing zur Klassifizierung von FilmbewertungenClusteranalyse zum Auffinden verborgener Muster und Strukturen in Ihren DatenDeep-Learning-Verfahren für die BilderkennungDatenkomprimierung durch DimensionsreduktionTraining Neuronaler Netze und GANs mit TensorFlow 2Kombination verschiedener Modelle für das Ensemble LearningEinbettung von Machine-Learning-Modellen in WebanwendungenStimmungsanalyse in Social NetworksModellierung sequenzieller Daten durch rekurrente Neuronale NetzeReinforcement Learning und Implementierung von Q-Learning-AlgorithmenInhalt & Leseprobe (PDF-Link)
Windows 10 Pro
Das umfassende Handbuch - umfassendes Praxiswissen für Windows-Profis, aktuelle Auflage Februar 2021.Dieses Buch bietet Ihnen auf über 900 Seiten fundiertes Wissen für Windows-Anwender. Praxisnah dank der zahlreichen Anwendungsbeispiele und mit einer Fülle an Profitipps durchleuchtet Mareile Heiting alle Ecken und Winkel des Windows-Systems. Erfahren Sie, welche Features sich unter der Oberfläche verstecken und wie Sie Ihren Workflow spürbar verbessern. Profitieren Sie von aktuellen, effektiven Tipps für ein rundum abgesichertes System. Meistern Sie die Arbeit mit Windows-Rechnern und setzen Sie auch anspruchsvolle Anforderungen um: Netzwerk & VPN einrichten, Aufgaben automatisieren, Daten verschlüsseln und vieles mehr. Ideal als Nachschlagewerk für Power User und erfahrene Anwender von Windows 10.Alles zu Windows 10Updates und InstallationWindows 10 richtig nutzen: Desktop & AppsDaten verwalten und sichern: BitLocker, DatensicherungAlle Optionen und KonfigurationsmöglichkeitenSystemdienste und VerwaltungskonsolenTreiberprobleme lösen, Hardware einrichtenDatenschutz und PrivatsphäreVirenschutz und FirewallDatenfreigabe im NetzwerkRemotezugriff und VPNPowerShell & Windows Subsystem für LinuxVirtualisierung mit Hyper-VLeseprobe (PDF-Link)
Microsoft 365 Education
Endlich einfach erklärt: Mit Microsoft 365 können sich Lehrende digital organisieren und Unterricht multimedial gestalten. Wie Sie Microsoft Office in der Schule einsetzen und im Alltag viel Zeit sparen, zeigt Stefan Malter mit vielen Beispielen aus der Praxis. Präsentieren und kommunizieren Sie online per Video, gestalten Sie Unterrichtsmaterial multimedial und fördern Sie die digitalen Kompetenzen Ihrer Schülerinnen und Schüler. Profitieren Sie und Ihr Kollegium von den Microsoft-Apps und ihren vielfältigen Möglichkeiten zur Zusammenarbeit. Aus dem Inhalt: Unterrichtsmaterial und Arbeitsblätter mit Word und OneNote erstellenDigitale Tafelbilder und Präsentationen mit PowerPoint und Whiteboard-AppTermine, Aufgaben und Kontakte mit Outlook und Windows-AppsChats in Teams-Arbeitsgruppen und -KanälenOnline-Unterricht live in Teams durchführen und moderierenGemeinsam an Dateien und Projekten arbeitenOneNote-Kursnotizbücher für Schülerinnen und SchülerLehrerkonferenzen und Elternabende als VideokonferenzExcel: Grundlagen für Lehrende und Schüler*innenIndividuell Feedback zu Leistungen geben und Tests in Forms durchführenAudio-visuelle Medien erstellen und barrierefreie Tools einsetzenMicrosoft 365 auf mobilen GerätenDateien mit OneDrive und SharePoint synchron haltenGeräte einrichten, Daten speichern und schützen, Benutzerkonten verwaltenTipps für Schulorganisation und Administration Vorwort ... 13 Teil I. Microsoft 365 Education kennenlernen ... 15 1. Voraussetzungen für den digitalen Schulalltag mit Microsoft 365 ... 17 1.1 ... Hardware und Software: Voraussetzungen ... 19 1.2 ... Datenschutz - leidiges Thema, wichtiges Thema ... 21 2. Microsoft 365 Education: Was ist das? Was steckt da drin? ... 25 2.1 ... Unterschiedliche Lizenzen - unterschiedliche Möglichkeiten ... 25 2.2 ... Benutzerkonten in Microsoft 365 ... 26 2.3 ... Online-Portal von Microsoft 365 ... 28 2.4 ... Online arbeiten mit Microsoft 365 ... 34 2.5 ... Online und offline arbeiten mit Windows-Apps und Office-Programmen ... 36 3. Windows 10 einrichten und bedienen ... 37 3.1 ... Windows 10 auf einem neuen PC einrichten ... 37 3.2 ... Windows Updates - nervig, aber wichtig! ... 44 3.3 ... Windows-Sicherheit ... 48 3.4 ... Windows-Einstellungen: Produktiv arbeiten, persönlich wohlfühlen ... 50 3.5 ... Mehrere Benutzerkonten mit Windows 10 nutzen ... 62 3.6 ... PC zurücksetzen und Windows 10 neu installieren ... 65 4. Dateien speichern und verwalten mit Microsoft 365 und Windows 10 ... 69 4.1 ... Dateien online speichern mit OneDrive ... 69 4.2 ... Dateien offline speichern mit Windows 10 ... 81 4.3 ... Systempflege und Backups ... 101 5. Apps und Tools in Windows 10 ... 111 5.1 ... Apps in Windows 10 nutzen und verwalten ... 111 5.2 ... Microsoft Edge - Internetbrowser ... 120 5.3 ... Kurznotizen (Sticky Notes) - digitale Klebezettel ... 124 5.4 ... Microsoft To Do - digitale Aufgabenlisten ... 126 5.5 ... Ausschneiden und skizzieren - Screenshot-App ... 127 5.6 ... Fotos - einfache Bild- und Videobearbeitung ... 128 5.7 ... Kamera - Fotos und Videos aufnehmen ... 131 5.8 ... Filme & TV - Videos abspielen ... 133 5.9 ... Microsoft Whiteboard - die digitale Tafel ... 136 5.10 ... Paint und Paint 3D - digital zeichnen ... 139 5.11 ... Ihr Smartphone ... 142 5.12 ... Weitere Windows-Apps im Überblick ... 143 6. Office-Programme und Dienste in Microsoft 365 ... 149 6.1 ... Microsoft Office installieren und einrichten ... 150 6.2 ... Microsoft Teams - Dreh- und Angelpunkt für digitalen Unterricht ... 155 6.3 ... Microsoft Outlook für EMails, Kontakte und Kalender ... 164 6.4 ... Microsoft OneNote - digitale Notizbücher ... 166 6.5 ... Microsoft Word - Textverarbeitung mit festem Layout ... 169 6.6 ... Microsoft PowerPoint - Präsentationen und mehr ... 172 6.7 ... Microsoft Sway - interaktive Web-Präsentationen ... 174 6.8 ... Microsoft Excel - Tabellenkalkulation ... 176 6.9 ... Microsoft Forms ... 178 6.10 ... Microsoft Stream ... 180 6.11 ... Weitere Apps und Dienste in Microsoft 365 Education ... 182 Teil II. Microsoft 365 in Schule und Unterricht einsetzen ... 187 7. Unterrichtsmaterial recherchieren, erstellen und organisieren ... 189 7.1 ... Inhalte in OneNote sammeln ... 189 7.2 ... Internetrecherche mit Office-Apps und Microsoft Edge ... 204 7.3 ... Arbeitsblätter digital erstellen ... 217 7.4 ... Präsentationen für den Unterricht vorbereiten ... 232 8. Dokumente verteilen und zur Verfügung stellen ... 243 8.1 ... Ausdrucken mit Windows 10 ... 243 8.2 ... Per EMail versenden ... 248 8.3 ... Teilen per OneDrive ... 254 8.4 ... Dokumente bereitstellen in Microsoft Teams ... 261 8.5 ... Inhalte teilen mit OneNote und OneNote-Kursnotizbüchern (Class Notebooks) ... 268 9. Korrigieren, Feedback geben und prüfen mit Microsoft 365 ... 279 9.1 ... Aufsätze und Arbeiten korrigieren und kommentieren mit Microsoft Edge und Microsoft Word ... 279 9.2 ... Schüleraufgaben in OneNote-Kursnotizbüchern korrigieren und kommentieren ... 284 9.3 ... Aufgaben mit Microsoft Teams verteilen und bewerten ... 288 9.4 ... Tests und Quizze mit Microsoft Forms ... 296 9.5 ... Mündliche Prüfungen per Videokonferenz mit Microsoft Teams ... 310 10. Digitale Inhalte im Unterricht präsentieren ... 311 10.1 ... Beamer, Smartboard, TV - Projizieren mit Windows 10 ... 311 10.2 ... Präsentieren mit OneNote ... 315 10.3 ... Tafelbilder erstellen mit Microsoft Whiteboard ... 319 10.4 ... Präsentieren mit PowerPoint ... 324 11. Selbstorganisation im Lehrerbüro ... 331 11.1 ... Aufgaben und To-Do-Listen mit Sticky Notes, OneNote, Microsoft To Do und Outlook ... 331 11.2 ... Kalender und Termine mit Outlook ... 341 11.3 ... Gesprächsnotizen und Protokolle mit OneNote ... 348 11.4 ... Punkte und Noten ausrechnen mit Microsoft Excel ... 352 12. Kommunikation mit Kollegium, Schüler*innen und Eltern ... 361 12.1 ... Kontakte verwalten in Outlook und Microsoft 365 ... 361 12.2 ... Kommunikation per EMail mit Outlook ... 366 12.3 ... Chat-Nachrichten - Microsoft Teams als Messenger ... 376 12.4 ... Sprach- und Videoanrufe mit Microsoft Teams ... 382 12.5 ... Online-Besprechungen planen und durchführen mit Microsoft Teams ... 389 12.6 ... Online-Unterricht mit Microsoft Teams ... 396 Teil III. Weitere Möglichkeiten mit Microsoft 365 ... 405 13. Audio- und Videoproduktionen für den Unterricht ... 407 13.1 ... Audioaufnahmen mit dem Sprachrekorder für Windows 10 ... 407 13.2 ... Videoaufnahmen mit der Kamera-App für Windows 10 ... 411 13.3 ... Videoschnitt mit dem Video-Editor der Fotos-App ... 414 13.4 ... Erklärvideos mit PowerPoint produzieren ... 423 13.5 ... Videos verteilen mit OneDrive und Stream ... 431 14. Barrierefreiheit und erleichterte Bedienung mit Microsoft 365 ... 441 14.1 ... Erleichterte Bedienung mit Windows 10 ... 442 14.2 ... Barrierearme Dokumente mit den Office-Apps ... 454 15. Microsoft-Apps für mobile Geräte wie Smartphone und Tablet ... 459 15.1 ... Microsoft Office als mobile App ... 460 15.2 ... OneDrive als mobile App ... 471 15.3 ... OneNote als mobile App ... 473 15.4 ... Microsoft To Do als mobile App ... 477 15.5 ... Outlook als mobile App ... 479 15.6 ... Microsoft Teams als mobile App ... 486 15.7 ... Microsoft Edge als mobile App ... 490 15.8 ... Begleiter für Ihr Smartphone - Verbindung per App zu Windows 10 ... 494 16. Projekte mit Microsoft 365: Ideen für die Praxis ... 499 16.1 ... Klassenfahrt digital organisieren ... 499 16.2 ... Medienproduktion mit Schüler*innen ... 506 17. Tipps für die Administration von Microsoft 365 ... 511 17.1 ... Benutzerkonten im Admin Center erstellen und verwalten ... 514 17.2 ... Schülergeräte einrichten und verwalten ... 524 18. Hilfe bei Fragen und Problemen ... 533 18.1 ... Reparaturversuche mit Windows 10 ... 534 18.2 ... Hilfe und Support von Microsoft 365 ... 540 18.3 ... Online-Community »Microsoft 365 für Lehrer« ... 544 Index ... 547
SAP Conversational AI
Lassen Sie Bots für sich sprechen! Ob Kundenservice oder digitaler Assistent – mit diesem Buch lernen Sie, wie Sie mit SAP Conversational AI eigene Chatbots programmieren. Die Autoren führen Sie durch alle Phasen der Entwicklung vom Training des Bots bis zur Anbindung an die SAP-Systeme. Sie erhalten wertvolle Tipps zur Auswahl geeigneter Anwendungsfälle sowie für Monitoring und Optimierung. Aus dem Inhalt: Conversational User ExperienceTerminologie und GrundkonzepteSAP Conversational AIFrage-und-Antwort-Bots (Q&A) und reguläre BotsChatbots trainieren, verbinden und verbessernAnwendungsfälleDeployment und Betrieb von BotsFallback und DisambiguierungBerechtigungen und Datenschutz Einleitung ... 15 TEIL I. Einführung ... 21 1. Ziele und Einsatzgebiete von Conversational User Experience ... 23 1.1 ... Was ist Conversational User Experience? ... 23 1.2 ... Terminologie und Grundkonzepte ... 26 1.3 ... Geschichte der Chatbots ... 38 1.4 ... Chatbot vs. digitaler Assistent ... 41 1.5 ... Zusammenfassung ... 46 2. Einführung in SAP Conversational AI ... 47 2.1 ... Die Plattform SAP Conversational AI im Überblick ... 48 2.2 ... Verwaltungs- und Einstellungsmöglichkeiten im Benutzerprofil ... 57 2.3 ... Arten von Bots ... 71 2.4 ... Erste Schritte zur Erstellung eines Chatbots ... 73 2.5 ... Verwendung vordefinierter Chatbot-Bestandteile ... 80 2.6 ... Zusammenfassung ... 82 TEIL II. Entwicklung eines Chatbots ... 83 3. Einen Chatbot trainieren ... 85 3.1 ... Überblick über die Registerkarte »Train« ... 86 3.2 ... Gesprächsabsichten mit Intents definieren ... 95 3.3 ... Das Entitätenkonzept ... 100 3.4 ... Entitätsanreicherungen hinzufügen ... 115 3.5 ... Das Datenset testen ... 120 3.6 ... Unterstützte Sprachen ... 122 3.7 ... Anwendung von NLP-Technologien ... 123 3.8 ... Training des Beispiel-Bots ... 125 3.9 ... Zusammenfassung ... 129 4. Einen Chatbot aufbauen ... 131 4.1 ... Überblick über die Registerkarte »Build« ... 132 4.2 ... Skills verwalten ... 138 4.3 ... Trigger verwenden ... 145 4.4 ... Voraussetzungen definieren ... 150 4.5 ... Aktionen erstellen ... 155 4.6 ... Zusammenfassung ... 177 5. Den Chatbot verbinden ... 179 5.1 ... Bereitstellungskanäle ... 179 5.2 ... SAP Conversational AI Web Client ... 189 5.3 ... Fallback-Kanäle ... 194 5.4 ... Slack-Kanal für den Beispiel-Bot konfigurieren ... 197 5.5 ... Zusammenfassung ... 200 6. Den Chatbot verbessern ... 201 6.1 ... Einträge filtern ... 202 6.2 ... Protokoll der Sprachverarbeitung auswerten ... 204 6.3 ... Verwendungsmetriken ... 208 6.4 ... Trainingsanalyse ... 212 6.5 ... Konversationsprotokolle ... 218 6.6 ... Zusammenfassung ... 220 7. Bot-Einstellungen ... 221 7.1 ... Einstellungen eines Chatbots ... 223 7.2 ... Versionen ... 234 7.3 ... Umgebungen verwenden ... 240 7.4 ... Zusammenfassung ... 245 8. Frage-Antwort-Bots ... 247 8.1 ... Frage-Antwort-Bot trainieren ... 249 8.2 ... Frage-Antwort-Bots bauen ... 256 8.3 ... Frage-Antwort-Bot verbessern ... 259 8.4 ... Einen eigenen Frage-Antwort-Bot erstellen ... 261 8.5 ... Zusammenfassung ... 266 TEIL III. Fortgeschrittene Chatbot-Konzepte ... 267 9. Weiterführende Konzepte ... 269 9.1 ... Laufzeitverhalten eines Chatbots testen ... 269 9.2 ... Nutzung von API-Endpunkten ... 275 9.3 ... Feinheiten des Laufzeitverhaltens eines Chatbots ... 288 9.4 ... Mehrsprachigkeit und Ermittlung der Sprache ... 298 9.5 ... Skill-Disambiguierung ... 303 9.6 ... Zusammenfassung ... 308 10. Das Bot-Entwicklungsprojekt -- ein Praxisbeispiel ... 309 10.1 ... Von der Idee zum Chatbot-Projekt ... 310 10.2 ... Vor Beginn der Implementierung ... 317 10.3 ... Implementierung des Chatbots ... 331 10.4 ... Den fertigen Bot bereitstellen ... 347 10.5 ... Zusammenfassung ... 352 11. Integration von SAP Conversational AI ... 353 11.1 ... Integration externer Ressourcen ... 354 11.2 ... Integration in die SAP Integration Suite ... 369 11.3 ... Integration ins SAP Fiori Launchpad ... 381 11.4 ... Berechtigungskonzept und Single Sign-on ... 391 11.5 ... Konfiguration eines SAP-S/HANA-Frontend-Servers ... 394 11.6 ... Automatisierte Tests der Enterprise Edition ... 396 11.7 ... Zusammenfassung ... 404 12. Ausblick und zukünftige Technologien ... 405 12.1 ... Zukünftige Funktionalität von SAP Conversational AI ... 405 12.2 ... Trends im Bereich der künstlichen Intelligenz ... 408 12.3 ... Trends im Bereich Conversational User Experience ... 412 12.4 ... Zusammenfassung ... 414 A. Glossar ... 419 B. Literaturverzeichnis ... 421 C. Das Autorenteam ... 425 Index ... 427
Objektorientierte Programmierung
Komplexe Projekte solide strukturieren, tragfähige Designs erstellen, guten Code schreiben und wartbare Software liefern: Dafür brauchen Entwickler ein Repertoire, aus dem Objektorientierung nicht wegzudenken ist. In diesem Buch finden Sie alles, was Sie brauchen, um sich gründlich einzuarbeiten und die Prinzipien der OOP zur Basis Ihrer eigenen Arbeit zu machen. Die Autoren erläutern alle Themen anschaulich und verständlich anhand einer Vielzahl typischer Beispiele. Mit UML-Diagrammen und gut kommentierten Codebeispielen in den gängigsten objektorientierten Sprachen bringen sie Ihnen die Umsetzung nahe. Da so manches lehrreiche Detail erst auftaucht, wenn Sie konkrete Probleme lösen, ziehen sie viele praktische Anwendungsfälle heran und geben immer wieder Tipps, wie Sie bad smells vermeiden und sauberen Code schreiben. Anhand eines größeren Projekts bekommen Sie zudem einmal von Anfang bis Ende gezeigt, wie Sie objektorientierte Programmierung konsequent realisieren können. So profitieren Sie von der langjährigen Erfahrung der Autoren mit allen Aspekten der Entwicklung komplexer Software. Aus dem Inhalt: Prinzipien des objektorientierten EntwurfsKapselung von DatenPolymorphieStruktur objektorientierter SoftwareKlassen und PrototypenKonkrete und abstrakte DatentypenBeziehungen zwischen ObjektenKlassen von Werten und ObjektenVererbungsbeziehungenMehrfachvererbungStatische und dynamische KlassifizierungPersistenzErzeugung und Zerstörung von ObjektenObjekte in Aktion und in InteraktionObjekte als VertragspartnerModule als konfigurierbare und änderbare KomponentenMVCAspekte und ObjektorientierungBeispielprojektGlossar Materialien zum Buch ... 12 1. Einleitung ... 13 1.1 ... Was ist Objektorientierung? ... 13 1.2 ... Hallo liebe Zielgruppe ... 14 1.3 ... Was bietet dieses Buch (und was nicht)? ... 16 1.4 ... Warum überhaupt Objektorientierung? ... 22 2. Die Basis der Objektorientierung ... 27 2.1 ... Die strukturierte Programmierung als Vorläufer der Objektorientierung ... 28 2.2 ... Die Kapselung von Daten ... 31 2.3 ... Polymorphie ... 33 2.4 ... Die Vererbung ... 34 3. Die Prinzipien des objektorientierten Entwurfs ... 39 3.1 ... Prinzip 1: Prinzip einer einzigen Verantwortung ... 40 3.2 ... Prinzip 2: Trennung der Anliegen ... 46 3.3 ... Prinzip 3: Wiederholungen vermeiden ... 48 3.4 ... Prinzip 4: offen für Erweiterung, geschlossen für Änderung ... 51 3.5 ... Prinzip 5: Trennung der Schnittstelle von der Implementierung ... 54 3.6 ... Prinzip 6: Umkehr der Abhängigkeiten ... 57 3.7 ... Prinzip 7: mach es testbar ... 63 4. Die Struktur objektorientierter Software ... 65 4.1 ... Die Basis von allem: das Objekt ... 65 4.2 ... Klassen: Objekte haben Gemeinsamkeiten ... 85 4.3 ... Beziehungen zwischen Objekten ... 120 4.4 ... Klassen von Werten und Klassen von Objekten ... 137 5. Vererbung und Polymorphie ... 155 5.1 ... Die Vererbung der Spezifikation ... 155 5.2 ... Polymorphie und ihre Anwendungen ... 195 5.3 ... Die Vererbung der Implementierung ... 242 5.4 ... Mehrfachvererbung ... 265 5.5 ... Statische und dynamische Klassifizierung ... 295 6. Persistenz ... 305 6.1 ... Serialisierung von Objekten ... 305 6.2 ... Speicherung in Datenbanken ... 306 6.3 ... Abbildung auf relationale Datenbanken ... 313 6.4 ... Normalisierung und Denormalisierung ... 326 7. Abläufe in einem objektorientierten System ... 343 7.1 ... Erzeugung von Objekten mit Konstruktoren und Prototypen ... 344 7.2 ... Fabriken als Abstraktionsebene für die Objekterzeugung ... 355 7.3 ... Objekte löschen ... 404 7.4 ... Objekte in Aktion und in Interaktion ... 419 7.5 ... Kontrakte: Objekte als Vertragspartner ... 463 7.6 ... Exceptions: wenn der Kontrakt nicht eingehalten werden kann ... 480 8. Module und Architektur ... 511 8.1 ... Module als konfigurierbare und änderbare Komponenten ... 511 8.2 ... Die Präsentationsschicht: Model, View, Controller (MVC) ... 520 9. Aspekte und Objektorientierung ... 533 9.1 ... Trennung der Anliegen ... 533 9.2 ... Aspektorientiertes Programmieren ... 545 9.3 ... Anwendungen der Aspektorientierung ... 556 9.4 ... Annotations ... 569 10. Objektorientierung am Beispiel: eine Webapplikation in JavaScript ... 579 10.1 ... OOP in JavaScript ... 581 10.2 ... Die Anwendung im Überblick ... 589 10.3 ... Das Framework ... 594 10.4 ... Die Applikation ... 612 10.5 ... Ein Fazit -- und was noch übrig bleibt ... 636 Anhang ... 639 A. Verwendete Programmiersprachen ... 641 B. Glossar ... 661 C. Die Autoren ... 675 Index ... 677
GitHub - Eine praktische Einführung
GitHub - praktisch und anschaulich erklärt. Von den ersten Schritten bis zu eigenen GitHub Actions.GitHub ist derzeit die größte Internetplattform für Open-Source-Entwicklungsprojekte und bietet ein grafisches Webinterface mit vielen Funktionen für die gemeinsame Arbeit sowie interessante Community-Features. Technisch setzt es auf der bekannten Versionsverwaltung Git auf.Aber was ist ein Repository, Branch, Commit, Pull-Request oder Fork? Wie lege ich ein eigenes Projekt an? Was muss ich beim Mergen beachten und wann sind »etwas Git« oder Actions und Apps ein guter nächster Schritt?Einsteiger*innen lernen alle wichtigen Werkzeuge und Begriffe kennen, spielen typische Arbeitsschritte durch und erhalten über die Funktionalität der Plattform hinaus viele Infos und Praxistipps. Mit diesem verständlichen und humorvollen Leitfaden gelingt der unfallfreie Einstieg in die Open-Source-Welt – garantiert.GitHub – die Plattform kennenlernen Die Oberfläche erkunden und einen eigenen Account anlegenDas erste GitHub-Projekt Mit Repositories, Issues und Branches arbeiten, Pull-Requests erstellen und mergenOpen-Source-Lizenzen Unterschiede verstehen und eine passende Lizenz auswählenAuf eigenen und fremden Projekten zusammenarbeiten Projekte für Mitstreiter attraktiver machen, Maintainer einsetzen, Pull-Requests einreichen und Projekte forkenEinstieg in Git Git installieren und wichtige Befehle ausprobierenGit und GitHub im Zusammenspiel Projekte mit GitHub und Git bearbeiten und synchron halten, Repositories forken und Merge-Konflikte lösenMit Actions und Apps effizienter arbeiten Apps und Actions aus dem Marketplace installieren und eine eigene Action programmieren
Aerodynamic Study on the Vehicle Shape Parameters with Respect to Ground Simulation
Chenyi Zhang analyzes the influences of moving ground simulation technique in wind tunnel tests. In his work, the classical investigations on vehicle shape parameters with fixed ground conditions are reviewed with modern moving ground simulation technique. The investigations are performed by means of CFD simulations and model scale wind tunnel tests at IFS, University of Stuttgart. The shape parameters of two reference vehicles – the DrivAer and the AeroSUV model with notchback, fastback and estate back – are varied and investigated. The author presents different results in drag and lift for the varied geometry parameters. The classical results of the parametric study on the vehicle basic shapes for vehicle aerodynamics could be complemented with the findings of the present research. Basic Theories and State of the Art.- Results of the DrivAer Model.- Statistical Analysis of the Parameters.- Transferability Study on the SUV Model.
Wissensmanagement (7. Auflg.)
Grundlagen, Methoden und technische Unterstützung - ein aktueller und umfassender Überblick über das Thema Wissensmanagement.Die Entwicklung der letzten zehn Jahre zeigt, dass in Organisationen das Interesse am Wissensmanagement wächst. Dennoch ist festzustellen, dass der Nutzen des Wissensmanagements von einem tieferen Verständnis der verfügbaren Konzepte abhängt und nicht von der Unternehmensgröße.Das Themenfeld des Wissensmanagements wird in diesem Buch systematisch geordnet und in Verbindung mit den aktuellen Entwicklungen auf einem anspruchsvollen Niveau aufbereitet. Ziele sind eine umfassende Einführung und ein ganzheitlicher Überblick. Der Fokus wird dabei auch auf die praktische Umsetzung und auf ungelöste Probleme und Herausforderungen gelenkt. Damit bietet das Buch Orientierung in einem innovativen und zukunftsorientierten Anwendungsfeld, das mittlerweile in der Wissenschaft und in der Praxis gleichermaßen akzeptiert ist. Neu in der 7. Auflage ist das Thema KI in Verbindung mit Wissensmanagement und Fallbeispiele zu Wissensmanagement in Coronazeiten.AUS DEM INHALT:Die Herausforderung: Wandel und Bewältigung von Wandel in Unternehmen // Grundlagen des Wissensmanagements // Referenzdisziplinen des Wissensmanagements // Methodische und softwaretechnische Unterstützung des Wissensmanagements // Wissensmanagement in der Praxis
Integration von Sensitivitätsanalysemethoden in den Entwicklungsprozess für Fahrwerkregelsysteme
Die zunehmende Komplexität mechatronischer Systeme steht im Zielkonflikt mit kürzeren Entwicklungszyklen, der mithilfe skalierbarer, digitaler Untersuchungsmethoden teilweise aufzulösen ist. Dies erfordert eine durchgängig anwendbare, digitale Entwicklungsplattform einschließlich geeigneter Untersuchungsmethoden, sodass datenbasierte Entscheidungen getroffen werden können. Die digitalen Analyseschritte sind in den Entwicklungsprozess zu integrieren. Christopher Braunholz zeigt diese Aktualisierungen der konventionellen Entwicklung am Beispiel der Fahrwerkregelsystementwicklung. Varianzbasierte Sensitivitätsanalysen einer Gesamtfahrzeugsimulation offenbaren Zielkonflikte und Wechselwirkungen der Funktionen und Systeme in der Entwurfs- und Integrationsphase. Auslegungsmethodik und Aktualisierung des Entwicklungsprozesses.- Virtuelle Entwicklungsumgebung.- Integration der Sensitivitätsanalysemethode.- Anwendung der Entwicklungsmethode.
Versionsverwaltung mit Git
* Von grundlegenden Funktionen über die Handhabung von Branches und Remote-Repositorys bis zu Tipps und Tricks für (nicht nur) alltägliche Funktionen * Auswahl sinnvoller Workflows und Einsatz in Teams * Git-Repositorys hosten mit GitHub und GitLab Git ist in der Softwareentwicklung bereits weit verbreitet – sowohl in Firmen als auch in Open-Source-Projekten. Zum Einstieg lernen Anfänger häufig nur die wichtigsten Befehle, die schnell nicht mehr ausreichen, vor allem wenn die ersten Fehler auftreten. Dieses Buch behandelt einerseits die gängigen Befehle, die Sie beim täglichen Arbeiten mit Git brauchen. Andererseits geht es dem Autor auch darum, dass Sie Git als Ganzes verstehen, um es effektiv im Entwicklungsprozess einsetzen zu können. Der Fokus des Buchs liegt auf dem praktischen Arbeiten mit Git. Sie lernen anhand eines Projekts, welche Befehle es gibt, wie diese arbeiten und wie Sie auftretende Probleme lösen können. Neben alltäglichen Funktionen finden Sie auch seltener gebrauchte Kommandos, die aber ebenfalls wichtig sind. Dabei legt der Autor großen Wert auf die Einbindung und Anpassung des Entwicklungsprozesses. Im zweiten Teil des Buchs werden fortgeschrittene Themen behandelt. Der Schwerpunkt liegt auf dem Einsatz von Git in Teams. Darunter etwa das Hosten verteilter Repositorys mit GitHub und GitLab. Ein weiteres Kapitel behandelt die Workflows, die je nach Anzahl der beteiligten Personen, Branches und Repositorys eines Projekts variieren. Darüber hinaus gibt Ihnen der Autor hilfreiche Informationen für den Umstieg von Subversion, einen Überblick über grafische Git-Programme, Hinweise für eine langfristig nachvollziehbare Git-Historie sowie eine Einführung in DevOps, wofür Git die technische Grundlage bildet. Ein Kapitel zu häufig gestellten Fragen rundet diesen Praxiseinstieg ab. Das Buch richtet sich sowohl an blutige Einsteiger als auch an erfahrene Leser. Aus dem Inhalt: * Konfiguration * Arbeiten mit Branches * Verteilte Repositorys * Hosting mit GitHub und GitLab * Workflows * Hooks * Umstieg von Subversion * Zahlreiche Tipps für die tägliche Arbeit * Grafische Clients * Tipps für nachvollziehbare Git-Historien * Frequently Asked Questions * Einstieg in DevOps * Befehlsreferenz
Der Computer erscheint im Holozän
Die sieben Weltwunder wurden bereits in der Antike beschrieben, etwa zur selben Zeit wie die mechanische Rechenhilfe Abacus, ein Zählrahmen mit Holz- oder Glasperlen. Dieses Buch beschreibt und diskutiert die sieben Weltwunder der IT, ohne die unsere digitale Wirtschaft und Gesellschaft kaum überlebensfähig scheint: Computermaus, Datenbanken, Kryptografie, Graphgrammatiken, Internet, Blockchain und Soft Computing.Jedes Weltwunder der IT wird kurz charakterisiert, bevor Anwendungsoptionen für Wirtschaft und Gesellschaft exemplarisch aufgezeigt und gewürdigt werden.Das Werk richtet sich an alle, die sich mit der digitalen Transformation auseinandersetzen. Es soll helfen, digitale Entwicklungen im eigenen Unternehmen, in der Verwaltung oder im öffentlichen wie im privaten Leben zu positionieren und zu reflektieren.ANDREAS MEIER hat Musik an der Musikakademie in Wien und Mathematik an der ETH in Zürich studiert, wo er doktorierte und habilitierte. Er arbeitete in internationalen Forschungsinstitutionen und Organisationen und war an der Universität Fribourg, Schweiz für eBusiness und eCommerce verantwortlich. Er gründete und leitete das Forschungszentrum Fuzzy Management Methods (FMsquare.org).FABRICE TSCHUDI hat Kommunikationswissenschaften an der Universität Fribourg und Wirtschaftsinformatik an der Universität Bern studiert. Er setzt sich für eine Vision von digitalen Systemen ein, die zu einer lebensdienlichen Wirtschaft und Gesellschaft im Sinne von nachhaltigem Wohlergehen beitragen. Er begleitet Organisationen auf dem Weg zu „wertvoller Digitalisierung“ und ist überzeugt, dass partizipative Lern- und Arbeitsformate hierfür ein zentraler Erfolgsfaktor sind.De septem mundi miraculis - Vom Abacus zur digitalen Rechenmaschine - Die 7 Weltwunder der IT - Wo führt die Reise hin? - Literatur
Beginning Rust Programming
QUICKLY LEARN THE ROPES WITH THE RUST PROGRAMMING LANGUAGE USING THIS PRACTICAL, STEP-BY-STEP GUIDEIn Beginning Rust Programming, accomplished programmer and author Ric Messier delivers a highly practical, real-world guide to coding with Rust. Avoiding dry, theoretical content and “Hello, world”-type tutorials of questionable utility, the book dives immediately into functional Rust programming that takes advantage of the language’s blazing speed and memory efficiency.Designed from the ground up to give you a running start to using the multiparadigm system programming language, this book will teach you to:* Solve real-world computer science problems of practical importance * Use Rust’s rich type system and ownership model to guarantee memory-safety and thread-safety * Integrate Rust with other programming languages and use it for embedded devices Perfect for programmers with some experience in other languages, like C or C++, Beginning Rust Programming is also a great pick for students new to programming and seeking a user-friendly and robust language with which to start their coding career.ABOUT THE AUTHORRIC MESSIER is Senior Information Security Consultant with FireEye Mandiant. He is an author, consultant, and educator who holds GCIH, GSEC, CEH, and CISSP certifications and has published several books on information security and digital forensics. He is familiar with a wide variety of languages, including BASIC, Pascal, C, C++, C#, Rexx, Perl, Python, Java, Go, Swift, and Objective-C. VISIT US AT WROX.COM FOR FREE CODE SAMPLES.Introduction xixCHAPTER 1: GAME OF LIFE: THE BASICS 1Game of Life: The Program 2Starting with Cargo 4Putting the Pieces Together 5Bringing In External Functionality 5Namespaces 6Generating the Game Grid 7Dissecting Main 8Defining Functions 8Defining Variables 9Datatypes 11Arrays 12Control Structures 14Looking at More Function Functions 16Returning Values 16Passing Parameters 18Scope 21Compiling Programs 22Summary 24Exercises 25Additional Resources 25CHAPTER 2: EXTENDED LIFE 27Understanding Ownership 28Extending Life 30Adding Modules 32Working with Command-Line Arguments 34Option Types 36Reading from Files 39Extracting Values 41Populating from the Vector 42Outputting to the Terminal 43Using Colors 44Printing Generations 44Summary 46Exercises 48Additional Resources 48CHAPTER 3: BUILDING A LIBRARY 49References 50First Pass 53Traits and Implementations 56Self-Identification 60The Rest 60Second Pass 62The Driver 65Summary 67Exercises 69Additional Resources 69CHAPTER 4: HANGMAN 71Our Data 74The Traits 77Implementations 79Using the Option Enum 82Finishing Up the Implementation 83Reading Files and Selecting Words 84Handling Errors Concisely 85Generics and Bounds 87A Vector of Lines 88The Rest of the Story 90Initialization 91Playing the Game 92Summary 94Exercises 95Additional Resources 95CHAPTER 5: IN CONCURRENCE 97The Dining Philosophers 98Mutexes and Semaphores 101Interprocess Communications 103The Main Event 106Unix Sockets 107File and Directory Handling 109Closures 112Threading in the Main 114Creating Streams 115Cryptographic Hashing 116Creating Threads 117Summary 118Exercises 119Additional Resources 119CHAPTER 6: CLIENTS AND SERVERS 121Planning 123Network Programming 125Programming Sockets 128Rust TCP Server 131Handling Requests 134Operating System Calls 137Summary 139Exercises 140Additional Resources 140CHAPTER 7: CLIENT-SIDE APPLICATIONS 141Encryption 142Encryption Algorithms 144Going Hybrid 145Encryption Algorithms 147Transport Layer Security (TLS) 147TLS Server 151Remote Access Client 154Creating the Connection 156Validating Input 157Regular Expressions 157The Final Function 159Summary 163Exercises 164Additional Resources 164CHAPTER 8: GOING RELATIONAL 165Application Architectures 166n-Tier Applications 167Microservices 169Model-View-Controller 171Databases 172Structured Query Language 172Server or Embedded 175Accessing Databases 176Writing a Database Program 177Main and Modules 178Database Functions 183Adding Records 184Listing Records 186Summary 189Exercises 190Additional Resources 190CHAPTER 9: NO(SQL) GOING 191Assertions 192Design by Contract 195NoSQL 198Working with MongoDB 202Inserting Data 202Reading in Data from a File 206Populating the Database 207Retrieving Values 209Summary 213Exercises 214Additional Resources 214CHAPTER 10: WEB COMMUNICATIONS 215Style Guides 216Hypertext Transfer Protocol 219Programmatic Communication 222Web Communication Over TLS 227Client Communication 229Jumping Ahead 232Jumping Back 237Summary 238Exercises 239Additional Resources 240CHAPTER 11: WEB SERVER 241Offensive vs. Defensive Programming 242Web Application Communications 245Web Application Parameters 245Asynchronous JavaScript and XML 248Representational State Transfer 249APIs in Node.js and Python 250API Server in Rust 252Rust Rocket 255Summary 262Exercises 262Additional Resources 263CHAPTER 12: GETTING TO THE SYSTEM 265Extending Functionality 266Windows Registry 272Programmatic Access to the Registry 275Using Rust to Access the Registry 277System Information with Rust 282Persistence (for Fun) 287Summary 289Exercises 290Additional Resources 290CHAPTER 13: DEVICE PROGRAMMING 291Logging 292Using syslog 292Using Windows Event Logs 299Working with Raspberry Pi 305Lighting Lights 310Reading GPIO 315Summary 318Exercises 319Additional Resources 319CHAPTER 14: COLLECTING STUFF 321Arrays and Vectors 322Linked Lists 329Stacks 333Queues 336Sorting 337Search Trees 340Summary 345Exercises 346Additional Resources 346CHAPTER 15: ODDS AND SODS 347Unit Testing 348Testing Types 350Test Plans 351Unit Tests 353Recursion 360Machine Learning 364Chatbots 366Neural Networks 369Summary 371Exercises 373Additional Resources 373Index 375
Security by Design
Der Softwareingenieur von heute muss die grundlegende Disziplin der Entwicklung sicherer informationstechnischer Systeme verstehen. Nicht, weil es eine ein „gute Idee“ ist, sondern weil unsere Arbeits- und Lebenswelten zunehmend auf die Funktionsfähigkeit und die Sicherheit hochkomplexer und dynamischer informationstechnischer Infrastrukturen angewiesen sind. Die Vorstellung, dass die Sicherheit informationstechnischer Systeme etwas Besonderes ist, ist ein Trugschluss. Tatsächlich ist Sicherheit nur ein Aspekt der Zuverlässigkeit. Wir können keine zuverlässigen Anwendungen und Systeme haben, wenn diese nicht sicher sind.Vor diesem Hintergrund gehen die Autoren der Frage nach, ob und in welchem Ausmaß die mit dem Einsatz der Artefakte der digitalen Revolution einhergehenden Risiken beherrschbar bleiben, und welche Möglichkeiten wir bereits heute haben, die Eindämmung von Risiken und Gefahren schon beim Entwurf informationstechnischer Systeme zu berücksichtigen. Die Antwort ist ein systematischer praxis- und modellbasierter Ansatz für das Security-Engineering von Informationssystemen.DR. ARMIN LUNKEIT ist Informatiker und widmet sich seit mehr als 20 Jahren der Entwicklung und dem Einsatz sicherheitskritischer Anwendungen und Systeme. Er hat sich in diesem Zeitraum intensiv mit der Integration des Security Engineerings in die Systementwicklung auseinandergesetzt und dazu mehrere Artikel veröffentlicht.DR. WOLF ZIMMER ist Physiker und war mehr als 25 Jahre in der Softwareentwicklung und Strategieberatung eines weltweit agierenden IT-Unternehmens tätig. Er hat in diesem Umfeld bereits mehrere Bücher und Artikel veröffentlicht.Was ist das Problem? - Der IT-Sicherheitsstack - Systems Engineering ist Security Engineering - Modell-basiertes Design - Die SmartFit AG - Fragile Kryptografie - The Proof of the Pudding is in the eating - Die Vermessung der (Un-)Sicherheit - Ausblick
Zoom - Der leichte Einstieg in die Onlinekommunikation
Alle Grundlagen, Profitipps und detaillierte Anleitungen auf einen Blick:- So gelingen Videokonferenzen und Teamwork- Nutzen Sie die App optimal - privat, geschäftlich und im VereinFür die digitale Kommunikation mit Kollegen und Geschäftspartnern ist Zoom die optimale Wahl. Auch private Onlinetreffen lassen sich über die Software entspannt, zuverlässig und sicher durchführen. Wie Sie das Programm gezielt einsetzen und seine vielen praktischen Funktionen effizient nutzen, erfahren Sie in dieser Anleitung.Lernen Sie Schritt für Schritt und anhand anschaulicher Beispielbilder, wie Sie mit Zoom Meetings, Onlineseminare oder Plauschabende mit Ihren Freunden abhalten, Präsentationen vorführen, mit Ihrem Team Dateien austauschen und vieles mehr. Zahlreiche Tipps helfen Ihnen dabei, im Homeoffice stressfrei zu arbeiten und online Kontakte zu pflegen.Aus dem Inhalt:- Das Programm Zoom und seine Funktionen - Überblick über die verschiedenen Versionen - Voraussetzungen, Kosten und Wissenswertes- So funktionieren Installation und Einladung- Videokonferenzen erfolgreich durchführen- Teamwork: Chatten und Austausch von Dateien- Die professionelle Moderation eines Meetings - Screensharing: Präsentationen über Zoom halten- Die Software für private Kommunikation verwenden- Ein Webinar reibungslos durchführen- Zoom auf unterschiedlichen Geräten nutzen
Python Challenge
Ihr persönlicher Python-Coach: Fit für Prüfung, Job-Interview und Praxis – mit 100 Aufgaben und MusterlösungenMit 100 Übungsaufgaben und Programmierpuzzles inklusive Lösungen zum Knobeln und Erweitern Ihrer Kenntnisse bietet Ihnen die »Python Challenge« ein kurzweiliges Lernen, eine fundierte Vorbereitung auf die nächste Prüfung oder ein Jobinterview. Dabei werden viele praxisrelevante Themengebiete wie Strings, Datenstrukturen, Rekursion, Arrays usw. berücksichtigt.Jedes Themengebiet wird in einem eigenen Kapitel behandelt, wobei zunächst kurz auf die Grundlagen eingegangen wird. Danach folgen rund 10 bis 15 Übungsaufgaben verschiedener Schwierigkeitsgrade.So lassen sich die Python-Programmierkenntnisse effektiv verbessern. Dabei helfen insbesondere detaillierte Musterlösungen inklusive der genutzten Algorithmen zu allen Aufgaben. Ebenso werden von Michael Inden alternative Lösungswege beschrieben, aber auch mögliche Fallstricke und typische Fehler im Python-Code analysiert.Abgerundet wird das Buch durch drei Anhänge. Einer beschäftigt sich mit dem Python-Kommandozeileninterpreter, der zum Ausprobieren der Codeschnipsel und Beispiele des Buchs oftmals hilfreich ist. Der zweite gibt einen Überblick über Pytest zum Unit Testen und Prüfen der Lösungen. Der dritte erläutert die O-Notation zur Abschätzung der Performance.Leseproben:Einleitung — DownloadInhaltsverzeichnis — DownloadStrings (Auszug) — DownloadSuchen und Sortieren (Auszug) — DownloadZusatzmaterial:Python_Challenge_Import — DownloadPythonChallenge — Download
MATLAB Recipes
Learn from state-of-the-art examples in robotics, motors, detection filters, chemical processes, aircraft, and spacecraft. With this book you will review contemporary MATLAB coding including the latest MATLAB language features and use MATLAB as a software development environment including code organization, GUI development, and algorithm design and testing.Features now covered include the new graph and digraph classes for charts and networks; interactive documents that combine text, code, and output; a new development environment for building apps; locally defined functions in scripts; automatic expansion of dimensions; tall arrays for big data; the new string type; new functions to encode/decode JSON; handling non-English languages; the new class architecture; the Mocking framework; an engine API for Java; the cloud-based MATLAB desktop; the memoize function; and heatmap charts._MATLAB Recipes: A Problem-Solution Approach, Second Edition__ _provides practical, hands-on code snippets and guidance for using MATLAB to build a body of code you can turn to time and again for solving technical problems in your work. Develop algorithms, test them, visualize the results, and pass the code along to others to create a functional code base for your firm.WHAT YOU WILL LEARN* Get up to date with the latest MATLAB up to and including MATLAB 2020b* Code in MATLAB* Write applications in MATLAB* Build your own toolbox of MATLAB code to increase your efficiency and effectivenessWHO THIS BOOK IS FOREngineers, data scientists, and students wanting a book rich in examples using MATLAB.MICHAEL PALUSZEK is the co-author of MATLAB Recipes published by Apress. He is President of Princeton Satellite Systems, Inc. (PSS) in Plainsboro, New Jersey. Mr. Paluszek founded PSS in 1992 to provide aerospace consulting services. He used MATLAB to develop the control system and simulation for the Indostar-1 geosynschronous communications satellite, resulting in the launch of PSS's first commercial MATLAB toolbox, the Spacecraft Control Toolbox, in 1995. Since then he has developed toolboxes and software packages for aircraft, submarines, robotics, and fusion propulsion, resulting in PSS's current extensive product line. He is currently leading a US Army research contract for precision attitude control of small satellites and working with the Princeton Plasma Physics Laboratory on a compact nuclear fusion reactor for energy generation and propulsion.Prior to founding PSS, Mr. Paluszek was an engineer at GE Astro Space in East Windsor, NJ. At GE he designed the Global Geospace Science Polar despun platform control system and led the design of the GPS IIR attitude control system, the Inmarsat-3 attitude control systems and the Mars Observer delta-V control system, leveraging MATLAB for control design. Mr. Paluszek also worked on the attitude determination system for the DMSP meteorological satellites. Mr. Paluszek flew communication satellites on over twelve satellite launches, including the GSTAR III recovery, the first transfer of a satellite to an operational orbit using electric thrusters. At Draper Laboratory Mr. Paluszek worked on the Space Shuttle, space station and submarine navigation. His space station work included designing of control moment gyro based control systems for attitude control. Mr. Paluszek received his bachelors in electrical engineering, and master's and engineer’s degrees in aeronautics and astronautics from the Massachusetts Institute of Technology. He is author of numerous papers and has over a dozen US patents.STEPHANIE THOMAS is the co-author of MATLAB Recipes, published by Apress. She received her bachelor's and master's degrees in aeronautics and astronautics from the Massachusetts Institute of Technology in 1999 and 2001. Ms. Thomas was introduced to PSS's Spacecraft Control Toolbox for MATLAB during a summer internship in 1996 and has been using MATLAB for aerospace analysis ever since. She built a simulation of a lunar transfer vehicle in C++, LunarPilot, during the same internship. In her nearly 20 years of MATLAB experience, she has developed many software tools including the Solar Sail Module for the Spacecraft Control Toolbox; a proximity satellite operations toolbox for the US Air Force; collision monitoring Simulink blocks for the Prisma satellite mission; and launch vehicle analysis tools in MATLAB and Java, to name a few. She has developed novel methods for space situation assessment such as a numeric approach to assessing the general rendezvous problem between any two satellites implemented in both MATLAB and C++. Ms. Thomas has contributed to PSS's Attitude and Orbit Control textbook, featuring examples using the Spacecraft Control Toolbox, and written many software user guides. She has conducted SCT training for engineers from diverse locales such as Australia, Canada, Brazil, and Thailand and has performed MATLAB consulting for NASA, the US Air Force, and the European Space Agency.PART I CODING IN MATLAB1 CODING HANDBOOK2 MATLAB STYLE3 VISUALIZATION4 INTERACTIVE GRAPHICS5 TESTING AND DEBUGGING6 CLASSESPART II APPLICATIONS7 THE DOUBLE INTEGRATOR8 ROBOTICS9 ELECTRIC MOTORS10 FAULT DETECTION11 CHEMICAL PROCESSES12 AIRCRAFT13 SPACECRAFT14 AUTOMOBILES
JavaScript für Ungeduldige
Der schnelle Einstieg in modernes JavaScript.»JavaScript für Ungeduldige« ist ein vollständiger und dennoch prägnanter Leitfaden für modernes JavaScript, bis zu ES2020. Wenn Sie mit Sprachen wie Java, C#, C oder C++ umgehen können, werden Sie mit diesem Buch schnell mit JavaScript produktiv arbeiten können, ohne sich lange mit veralteten Konzepten rumschlagen zu müssen.Cay S. Horstmann deckt alles ab, was Sie über JavaScript wissen müssen, und liefert Inhalte in kleinen Häppchen, die das Lernen angenehm machen. Die praktischen Einblicke und praxisnahen Codebeispiele helfen Ihnen, die Vorteile von modernem JavaScript zu nutzen, und dabei häufige Fallstricke und veraltete Funktionen zu meiden.Das bietet »JavaScript für Ungeduldige«:Sie lernen schnell die Grundlagen von modernem JavaScript Sie vermeiden veraltete Techniken, die unnötige Komplexität und Risiken mitbringen Sie machen das Beste aus funktionalen, objektorientierten und asynchronen Programmierstilen Sie verwenden Module, um komplexe Programme effizient zu organisieren und auszuführen Sie verstehen fortgeschrittene JavaScript-Techniken, wie Metaprogrammierung und Generatoren Sie erfahren, wie Sie Ihren JavaScript-Code mit TypeScript sicherer machen
Zoom - für PC, Tablet & Smartphone
Umfassende Infos für Meetings, Videokonferenzen und Chats.Seit Corona ist Zoom eines der angesagten Tools für Videokonferenzen und fürs Homeoffice – für PC, Tablet und Smartphone. Egal, ob für Schüler, Studenten oder im Business-Bereich. Autor Martin Quedenbaum, Lehrer an einer Medien-Berufsschule, zeigt Ihnen in diesem Buch, welche Möglichkeiten die Software bietet und worauf Sie achten sollten, damit auch die Sicherheit bei Ihren Videomeetings, der gemeinsamen Arbeit an Projekten und im Homeoffice gewährleistet ist.Aus dem InhaltEinstieg in ZoomEin erstes Zoom-Video-Meeting in fünf MinutenAn einem Zoom-Video-Meeting teilnehmenEin zukünftiges Meeting planenZoom in andere Programme integrierenEinladungen anpassenVorbereitung ist allesSo starten Sie ein geplantes MeetingZweistufige AuthentifizierungOptimieren Sie Ihr VideobildMeeting aufzeichnenVirtuelle HintergründeBildschirminhalte mit anderen teilenGruppenarbeit – Breakout-RäumeIhr eigener Zoom-RaumMit angelegten Kontakten kommunizierenUmfragen und Webinare
Dein Smartphone mit Android 11
Android 11 - selber einrichten und verstehen. Für alle Android-Smartphones von Samsung, Google Pixel, Huawei, Nokia, OnePlus, ...Dieses Buch zu Android 11 macht Sie – unabhängig vom Gerätehersteller – mit den grundlegenden und täglich genutzten Funktionen Ihres Android-Smartphones vertraut.Unterwegs im Internet, E-Mails schreiben und empfangen, Telefonieren, Fotografieren, nützliche Apps – Android-Experte Christian Immler navigiert Sie mit anschaulichen Erklärungen durch den Funktionsdschungel.Zudem verraten Ihnen Insidertipps, wie Sie Ihr Android-Gerät zur Steuerung von Smarthome-Technik einsetzen, wie Sie ein verlorenes oder gestohlenes Smartphone wiederfinden und Ihr Gerät vor ungewollten Zugriffen schützen.Aus dem Inhalt:Die Ersteinrichtung eines neuen Android-SmartphonesAlltag mit dem Android-11-SmartphoneApps finden und installierenMit Android ins InternetKommunikation mit dem SmartphoneUnterwegs mit dem Android-SmartphoneDas Smartphone als KameraSprachassistenten und SmarthomeCoole AppsInsidertipps zur BedienungDie Sicherheitsthematik bei AndroidInhalt & Leseprobe (PDF-Link)
Beginning Mathematica and Wolfram for Data Science
Enhance your data science programming and analysis with the Wolfram programming language and Mathematica, an applied mathematical tools suite. The book will introduce you to the Wolfram programming language and its syntax, as well as the structure of Mathematica and its advantages and disadvantages.You’ll see how to use the Wolfram language for data science from a theoretical and practical perspective. Learning this language makes your data science code better because it is very intuitive and comes with pre-existing functions that can provide a welcoming experience for those who use other programming languages.You’ll cover how to use Mathematica where data management and mathematical computations are needed. Along the way you’ll appreciate how Mathematica provides a complete integrated platform: it has a mixed syntax as a result of its symbolic and numerical calculations allowing it to carry out various processes without superfluous lines of code. You’ll learn to use its notebooks as a standard format, which also serves to create detailed reports of the processes carried out.WHAT YOU WILL LEARN* Use Mathematica to explore data and describe the concepts using Wolfram language commands* Create datasets, work with data frames, and create tables* Import, export, analyze, and visualize data* Work with the Wolfram data repository * Build reports on the analysis* Use Mathematica for machine learning, with different algorithms, including linear, multiple, and logistic regression; decision trees; and data clusteringWHO THIS BOOK IS FORData scientists new to using Wolfram and Mathematica as a language/tool to program in. Programmers should have some prior programming experience, but can be new to the Wolfram language.JALIL VILLALOBOS ALVA is a Wolfram language programmer and Mathematica user. He graduated with a degree in engineering physics from the Universidad Iberoamericana in Mexico City. His research background comprises quantum physics, bionformatics, proteomics, and protein design. His academic interests cover the topics of quantum technology, bioinformatics, machine learning, stochastic processes, and space engineering. During his idle hours he likes to play soccer, swim, and listen to music.1. Introductiona. What is Data science?b. Data science and Statisticsc. Data scientist2. Introduction to Mathematicaa. Why Mathematica?b. Wolfram Languagec. Structure of Mathematicad. Notebookse. How Mathematica worksf. Input Form3. Data Manipulationa. Listsb. Lists of objectsc. Manipulating listsd. Operations with listse. Indexed Tablesf. Working with data framesg. Datasets4. Data Analysisa. Data Import and exportb. Wolfram data repositoryc. Statistical Analysisd. Visualizing datae. Making reports5. Machine learning with Wolfram Languagea. Linear Regressionb. Multiple Regressionc. Logistic Regressiond. Decision Tresse. Data Clustering6. Neural networks with Wolfram Languagea. Network Data and structureb. Network Layersc. Perceptron Modeld. Multi-layer Neural Networke. Using preconstructed nets from Wolfram Neural net repositoryf. LeNet Neural net for text recognition
Modern C for Absolute Beginners
Learn the C programming language easily and in a straightforward way. This book teaches the basics of C, the C Standard Library, and modern C standards. No previous programming experience is required.C is a language that is as popular today as it was decades ago. C covers a wide variety of domains. It can be used to program a microcontroller, or to develop an entire operating system. This book is an effort to introduce the reader to the C programming language in a concise and easy to follow manner.The author takes you through the C programming language, the Standard Library, and the C standards basics. Each chapter is the right balance of theory and code examples.After reading and using this book, you'll have the essentials to start programming in modern C.WHAT YOU WILL LEARN* The C programming language fundamentals* The C Standard Library fundamentals* New C Standards features* The basics of types, operators, statements, arrays, functions, and structs* The basics of pointers, memory allocation, and memory manipulation* Take advantage of best practices in CWHO THIS BOOK IS FORBeginner or novice programmers who wish to learn the C programming language. No prior programming experience is required.SLOBODAN DMITROVIĆ is a software consultant, trainer, and entrepreneur. He is the CEO and founder of “Clear Programming Paradigm”, an LLC that provides outsourcing and training services. Slobodan’s ability to summarize complex topics and provide insightful training made him a sought after consultant for the automotive, fintech, and other industries. Slobodan has a strong interest in C, C++, software architecture, training, and R&D.Part I: The C Programming LanguageChapter 1: IntroductionChapter 2: Our First ProgramChapter 3: Types and DeclarationsChapter 4: ExercisesChapter 5: OperatorsChapter 6: ExpressionsChapter 7: StatementsChapter 8: ExercisesChapter 9: ArraysChapter 10: PointersChapter 11: Command-line ArgumentsChapter 12: ExercisesChapter 13: FunctionsChapter 14: ExercisesChapter 15: StructuresChapter 16: UnionsChapter 17: Conditional ExpressionChapter 18: TypedefChapter 19: Const QualifierChapter 20: EnumerationsChapter 21: Function PointersChapter 22: ExercisesChapter 23: PreprocessorChapter 24: ExerciesChapter 25: Dynamic Memory AllocationChapter 26: Storage and ScopeChapter 27: ExercisesChapter 28: Standard Input and OutputChapter 29: File Input and OutputChapter 30: ExercisesChapter 31: Header and Source FilesPart II: The C Standard LibraryChapter 32: Introduction to C Standard LibraryPart III: Modern C StandardsChapter 33: Introduction to C 11 StandardsChapter 34: The C 17 StandardChapter 35: The Upcoming C2X StandardPart IV: Dos and Don'tsChapter 36: Do Not Use the gets FunctionChapter 37: Initialize Variables Before Using ThemChapter 38: Do Not Read Out of BoundsChapter 39: Do Not Free the Allocated Memory TwiceChapter 40: Do Not Cast the Result of mallocChapter 41: Do Not Overflow a Signed IntegerChapter 42: Cast a Pointer to void* When Printing Through printfChapter 43: Do Not Divide by ZeroChapter 44: Where to Use Pointers?Chapter 45: Prefer Functions to Function-like MacrosChapter 46: Static Global NamesChapter 47: What to Put in Header Files?Part V: AppendicesAppendix A: LinkageAppendix B: Time and DateAppendix C: Bitwise OperatorsAppendix D: Numeric LimitsAppendix E: Summary and Advice
Basiswissen Testautomatisierung (3. Auflg.)
Konzepte, Methoden und Techniken für die Testautomatisierung. 3. aktualisierte und überarbeitete Auflage.Dieses Buch vermittelt die Grundlagen und gibt einen fundierten Überblick, wie Testautomatisierung mit Fokus auf den funktionalen Systemtest konzipiert und in bestehende Projekte und die Organisation eingegliedert wird. Dabei werden sowohl fachliche als auch technische Konzepte vorgestellt.Ziele und Erfolgsfaktoren der TestautomatisierungVorbereitungen für die TestautomatisierungEinführung in die generische TestautomatisierungsarchitekturRisiken und Eventualitäten bei der SoftwareverteilungBerichte und MetrikenÜberführung des manuellen Testens in eine automatisierte UmgebungVerifizierung der TestautomatisierungslösungFortlaufende OptimierungIm Anhang finden sich ein Überblick über die Softwarequalitätsmerkmale nach ISO 25010, eine Einführung in Last- und Performanztests sowie beispielhaft ein Kriterienkatalog zur Testwerkzeugauswahl.Die 3. Auflage wurde vollständig überarbeitet und ist konform zum ISTQB®-Lehrplan Advanced Level Specialist – Certified Test Automation Engineer. Das Buch eignet sich mit vielen erläuternden Beispielen gleichermaßen zur Vorbereitung auf die Zertifizierung wie als kompaktes Basiswerk zum Thema in der Praxis und an Hochschulen.Über die Autoren:Manfred Baumgartner, Vice President Quality Assurance bei Nagarro GmbH, Wien, ist seit über 30 Jahren im Bereich Softwaretest und Qualitätssicherung als Berater, Coach und Manager tätig. Seine umfangreichen Erfahrungen bringt er in viele Präsentationen auf Konferenzen im gesamten deutschsprachigen Raum sowie in Artikeln und Büchern zum Thema Softwaretest ein.Stefan Gwihs ist begeisterter Softwareentwickler, Softwaretester und Testautomatisierer für die Nagarro GmbH, Wien. Aktuell beschäftigt er sich vor allem mit Themen im Bereich mobiler Testautomatisierung und agiler Softwareentwicklung.Richard Seidl ist Berater und Coach für agile Methoden und Softwaretest. Er hat in seiner beruflichen Laufbahn schon viel Software gesehen und getestet: gute und schlechte, große und kleine, alte und neue, Schokolade und Grütze. Mit seiner Erfahrung unterstützt er Unternehmen dabei, ihre Entwicklungs- und Testprozesse zu verbessern und so zu gestalten, dass Software effektiver realisiert wird, höhere Qualität hat und die Teams Spaß an der Entwicklung haben.Thomas Steirer ist als Automatisierungsexperte, Berater und Trainer für die Nagarro GmbH, Wien, tätig und leitet die globale Practice für Test Automation. Er ist Autor von Fachartikeln, Speaker auf Konferenzen und Architekt von A2A, dem Nagarro „Advanced Automation Approach".Marc-Florian Wendland ist seit über 10 Jahren Senior Researcher am Fraunhofer Institut FOKUS in Berlin im Bereich Qualitätssicherung softwareintensiver Systeme. Seine Expertise liegt vor allem in der Testautomatisierung und stützt sich auf die Erfahrungen aus zahlreichen nationalen und internationalen Forschungs- und Industrieprojekten. Darüber hinaus ist er in verschiedene Standardisierungsaktivitäten im Bereich des Softwaretests involviert.
Mach was mit Python & Raspberry Pi!
Spielerisch programmieren lernen und mit DIY-Projekten durchstarten. Entwickle deine Python-Anwendungen für den Raspberry Pi!Der Raspberry Pi ist ein preiswerter, leistungsfähiger Mini-Computer. Python ist eine leicht erlernbare, vielseitig einsetzbare Programmiersprache. Im Doppelpack sind sie die perfekte Spielwiese für alle Elektronik- und Programmierneulinge, die darauf brennen, ihre DIY-Projekte in die Tat umzusetzen.Dieses Buch führt dich auf spielerische Weise in die Python-Programmierung für den Raspberry Pi ein. Zahlreiche Beispielprojekte versetzen dich Schritt für Schritt in die Lage, deine eigenen Anwendungen für den RasPi zu entwickeln.Folgende Themen erwarten dich:Raspbian- und Python 3-Installation, Raspberry Pi-FernsteuerungEntwicklungsumgebungen im Einsatz: IDLE, Thonny und GeanyGrundlagen der Python-Programmierung: Abfragen, Schleifen, Funktionen, Variablen, Debugging&Co.Python-Anwendungen für den Raspberry Pi: von der Konsolen- und GUI-Programmierung über Grafik- und Soundanwendungen bis zur App- und WebprogrammierungDie Beispielprojekte aus dem Buch: Zahlenratespiel, Vokabeltrainer, Analoguhr, Taschenrechner, Spieleprogrammierung, Webradio, To-do-App und Wetter-AppLeseprobe (PDF-Link)