Software
C++ Das Übungsbuch
* TRAINIEREN SIE IHRE C++-KENNTNISSE* MIT KOMMENTIERTEN MUSTERLÖSUNGEN* FÜR STUDIUM UND SELBSTSTUDIUMDas Buch wendet sich an Leser, die ihre C++-Kenntnisse durch »Learning by Doing« vertiefen möchten. Es ist ideal, um sich im Stil eines Workshops auf Prüfungen oder auf die Mitarbeit in einem C++-Projekt vorzubereiten.Alle Kapitel beginnen mit einer Zusammenfassung des Stoffes, zu dem anschließend Fragen und Aufgaben gestellt werden. Jedes Kapitel besteht neben der einführenden Beschreibung des Themas aus drei weiteren Teilen: Verständnisfragen, Programmieraufgaben und Musterlösungen zu allen Fragen und Aufgaben.Mit jeweils 20 Verständnisfragen können Sie testen, wie gut Sie sich in dem jeweiligen Themenbereich auskennen. Sie finden Ja-Nein- und Multiple-Choice-Fragen sowie Lückentexte, die vervollständigt werden müssen.Im Aufgabenteil können Sie dann Ihr Wissen praktisch umsetzen. In jedem Kapitel gibt es mindestens zehn Aufgaben mit steigendem Schwierigkeitsgrad. Dabei wurde stets darauf geachtet, dass diese typisch und praxisnah sind.Umfangreich kommentierte Musterlösungen am Ende eines Kapitels geben Ihnen ein direktes und ausführliches Feedback zu Ihren Lösungsansätzen.Der Aufbau dieses Übungsbuches lehnt sich an das Lehrbuch »C++ - Lernen und professionell anwenden« derselben Autoren an, das den neuesten ISO-Standard von 2020 (kurz C++20) berücksichtigt und ebenfalls im mitp-Verlag erschienen ist. Es ist aber für das Übungsbuch nicht wesentlich, auf welcher Grundlage Sie C++ gelernt haben.Nach dem Durcharbeiten des Übungsbuches verfügen Sie über fundierte Programmierkenntnisse und einen umfangreichen Fundus an Beispiel-Code.AUS DEM INHALT:* Datentypen und Kontrollstrukturen* Verwendung von Standardklassen* Operatoren, Makros, Funktionen* Vektoren und Strings* Zeiger und Referenzen* Speicherreservierung zur Laufzeit* Klassen, Teilobjekte* Dynamische Elemente* Vererbung* Polymorphe Klassen, abstrakte Klassen* Überladen von Funktionen und Operatoren* Namensbereiche* Ausnahmebehandlung* Dateiverarbeitung mit StreamsProf. Dr. Ulla Kirch unterrichtet an der FH München und Dr. Peter Prinz ist Software-Entwickler. Die Autoren haben bereits zahlreiche Bücher zu C und C++ geschrieben.
Raspberry Pi Pico W
The Raspberry Pi Pico and Pico W are based on the fast, efficient, and low-cost dual-core ARM Cortex M0+ RP2040 microcontroller chip running at up to 133 MHz and sporting 264 KB of SRAM and 2 MB of Flash memory. Besides spacious memory, the Pico and Pico W offer many GPIO pins, and popular peripheral interface modules like ADC, SPI, I2C, UART, PWM, timing modules, a hardware debug interface, and an internal temperature sensor.The Raspberry Pi Pico W additionally includes an on-board Infineon CYW43439 Bluetooth and Wi-Fi chipset. At the time of writing this book, the Bluetooth firmware was not yet available. Wi-Fi is however fully supported at 2.4 GHz using the 802.11b/g/n protocols.This book is an introduction to using the Raspberry Pi Pico W in conjunction with the MicroPython programming language. The Thonny development environment (IDE) is used in all of the 60+ working and tested projects covering the following topics:> Installing the MicroPython on Raspberry Pi Pico using a Raspberry Pi or a PC> Timer interrupts and external interrupts> Analogue-to-digital converter (ADC) projects> Using the internal temperature sensor and external sensor chips> Using the internal temperature sensor and external temperature sensor chips> Datalogging projects> PWM, UART, I2C, and SPI projects> Using Bluetooth, WiFi, and apps to communicate with smartphones> Digital-to-analogue converter (DAC) projectsAll projects are tried & tested. They can be implemented on both the Raspberry Pi Pico and Raspberry Pi Pico W, although the Wi-Fi- based subjects will run on the Pico W only. Basic programming and electronics experience are required to follow the projects. Brief descriptions, block diagrams, detailed circuit diagrams, and full MicroPython program listings are given for all projects. The full program listings of all the projects discussed in the book may be downloaded free of charge www.elektor.com/20335.Prof Dogan Ibrahim has a BSc, Hons. degree in Electronic Engineering, an MSc degree in Automatic Control Engineering, and a PhD degree in Digital Signal Processing.Dogan has worked in many industrial organizations before he returned to academic life. He is the author of over 70 technical books and has published over 200 technical articles on electronics, microprocessors, microcontrollers, and related fields.
Everyday Enterprise Architecture
Discover what needs to happen in enterprise-architecture practice—and not just its outcomes, but also the activities from which those outcomes would arise. This book reveals how business and enterprise architects can deliver fast solutions to an always-on-the-go business world.To begin, you'll review a new technique called "context-space mapping," which provides a structured method for sense-making across the entire context of an enterprise. Throughout the book, you'll concentrate on the routine practices_ _that underpin each of the architecture disciplines.Working step-by-step through a real 10-day architecture project, this book explores the activities that underpin the strategy, structures and solutions in the real-time turmoil of an enterprise architect’s everyday work. You'll explore how and why and when the various documents, artefacts and items of ‘theory-stuff’ come into the practice – all those mainstream methods, frameworks, models, metamodels and other information sources.In the end, Everyday Enterprise Architecture will help you develop the skills, judgment, and awareness to keep enhancing the value of your architectural projects.WHAT YOU'LL LEARN* Work on architectures at "business-speed"* Adapt architectures for different tasks* Gather, use, and manage architectural informationWHO THIS BOOK IS FOREnterprise and business architects.Tom Graves has been an independent consultant for more than four decades, in business transformation, enterprise architecture and knowledge management. His clients in Europe, Australasia and the Americas cover a broad range of industries including banking, utilities, manufacturing, logistics, engineering, media telecoms, research, defence and government. He has a special interest in architectures beyond IT, and integration between IT-based and non-IT-based services.Chapter 1: IntroductionCHAPTER GOAL: DESCRIBE THE PURPOSE OF THE BOOK, HOW TO USE IT, AND WHAT THE VARIOUS ELEMENTS ARENO OF PAGES 4SUB -TOPICS1. Main project: How to use architecture ideas and activities to describe what actually happens in a real enterprise-architecture project, and the business-reasons and business-value for each of those activities2. Secondary project: Worked-example3. Application: How to adapt each chapter’s content to our own workChapter 2: Day 1: Get StartedCHAPTER GOAL: SHOW HOW TO GET STARTED ON A PROJECT, AND SUMMARISE HOW THE ALLOCATED TEN DAYS WILL BE USEDNO OF PAGES 16SUB -TOPICS1 Do an initial assessment2 Show how to use the project-diary and other tools3 Show how to do an initial assessment4 Show how to apply any ‘lessons-learned’ in our own projectsChapter 3: Day 2: Purpose, scope and contextCHAPTER GOAL: SET UP AND START THE MAIN AND SECONDARY PROJECTSNO OF PAGES: 16SUB - TOPICS1 Introduce the main project as exploring ‘the architecture of architecture’2 Show how to use the step-by-step action-task sequence3 Introduce the secondary project: customer-breakdown at a bank4 Show how to use the same step-by-step-step sequence for the bank contentChapter 4: Day 3: What’s going on?CHAPTER GOAL: LEARN HOW TO DO AN ARCHITECTURE-ASSESSMENTNO OF PAGES : 18SUB - TOPICS:1 Explore how to do a ‘to-be’ (futures) assessment2 Explore how to do an ‘as-was’ (past) assessment3 Explore how to identify issues that need to be addressed4 Learn how to cope with the challenges and stresses of the workChapter 5: Day 4: What do we want?CHAPTER GOAL: LEARN HOW TO ESTABLISH A BASELINENO OF PAGES: 12SUB - TOPICS:1 Explore how to do an ‘as-is’ (present) assessment2 How to do social-enquiry with stakeholders3 How to tackle the politics of architecture4 Architecture as decision-support for stakeholders, not decision-makingChapter 6: Day 5: What’s the difference?CHAPTER GOAL: HOW TO IDENTIFY GAPS WHERE CHANGE IS NEEDEDNO OF PAGES 14SUB -TOPICS1 Identify and build the skillsets needed for comparison-assessments2 How to do comparisons to identify gaps (including hidden-gaps)3 How to prioritise gaps and derive requirements4 How and why to avoid the temptation to rush to ‘solutions’Chapter 7: Day 6: How do we get from here to there?CHAPTER GOAL: GUIDING THE TRANSITION TO SOLUTION-DESIGNNO OF PAGES 10SUB -TOPICS1 How to identify the roles and specialisms needed for solution-design2 How to identify, work with and hand over to the change-team3 How to refine and simplify change-requirements4 Politics reminder: architecture is decision-support, not decision-makingChapter 8: Day 7: Step-by-step detailsCHAPTER GOAL: LEARN THE RELATIVE ROLES AND RELATIONS BETWEEN ARCHITECTURE AND DESIGNNO OF PAGES 12SUB -TOPICS1 Role of architect as generalist, to connect specialists together2 How to develop and use sense-making skills3 Role of architect to assist in finding missing-detail4 How to identify common missing-detail (system-failure, timescale, decommission)Chapter 9: Day 8: Putting it into practiceCHAPTER GOAL: WHAT TO DO WHEN THE STAKEHOLDERS THEMSELVES ARE THE SOLUTIONSNO OF PAGES 14SUB -TOPICS1 How to design a change-programme for stakeholders2 How to deliver and guide a change-programme for stakeholders3 How to guide stakeholders in sensemaking and decision-making4 Introduce sense-making tools such as context-space mappingChapter 10: Day 9: What did we achieve?CHAPTER GOAL: HOW TO DO AND USE AN AFTER-ACTION REVIEWNO OF PAGES 12SUB -TOPICS1 Purpose and value of an after-action review2 Elements of an after-action review3 How to do and document an after-action review4 How to derive new change-tasks from an after-action reviewChapter 11: Day 10: How To Review and LearnCHAPTER GOAL: HOW TO REVIEW AND LEARN FROM OUR OWN PROJECTSNO OF PAGES 10SUB -TOPICS1 Reprise on how to do and assess an after-action review2 How to derive our own insights from work done with others3 How to apply and test those insights for our own architecture-practice4 How to derive and enact change-tasks for our own continuous-improvementAppendix 1: The architecture information-storesCHAPTER GOAL: HOW TO CAPTURE, RETRIEVE AND REUSE ARCHITECTURAL INFORMATIONNO OF PAGES 6SUB -TOPICS1 Identify types, roles and uses of architecture-information2 Identify how and why to store each type of architectural information3 Identify how to retrieve and reuse each type of architectural information4 Identify how and when to delete architectural informationAppendix 2: More on context-space mappingCHAPTER GOAL: PRESENT CONTEXT-SPACE MAPPING AS A SENSEMAKING TOOL FOR ARCHITECTURENO OF PAGES 18SUB -TOPICS1 Describe purpose and underlying principles for context-space mapping2 Explore how context-space mapping works as a sensemaking method3 Provide detailed worked-examples of context-space mapping4 Show outcomes and value of context-space mapping in sensemakingAppendix 3: ResourcesCHAPTER GOAL: PROVIDE ADDITIONAL SUPPORT FOR THE PRACTICES IN THIS BOOKNO OF PAGES 2SUB -TOPICS1 Example books and other publications2 Websites and other online resources
arc42 in Aktion (2. Auflg.)
Praktische Tipps zur Architekturdokumentationarc42 ist das bewährte, praxisnahe Template zur Dokumentation und Entwicklung von Softwarearchitekturen. Dieser Praxisleitfaden zeigt, wie Sie Ihre Systeme einfach und effektiv kommunizieren und dokumentieren können.Über 200 praxisnahe Tipps zu arc422. überarbeitete Auflage Inhalt:arc42 im Überblick/Konkrete Beispiele/Grundregeln effektiver Dokumentation/arc42 in der Praxis einsetzen/Werkzeuge für arc42/Häufig gestellte Fragen ( FAQ )Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten BuchesAutoren:Dr. Gernot Starke stellt sich seit vielen Jahren der Herausforderung, die Architektur großer Systeme effektiv zu gestalten. Zu seinen Kunden zählen mittlere und große Unternehmen aus den Branchen Finanzdienstleistung, Logistik, Handel, Telekommunikation und dem öffentlichen Bereich. Er ist Mitinitiator und -betreiber von arc42, Mitgründer des iSAQB e.V. sowie Fellow der innoQ. Gernot lebt in Köln.Dr. Peter Hruschka ist einer der Prinzipale der Atlantic Systems Guild (www.systemsguild.com). Peter widmet sein Arbeitsleben dem Technologietransfer, insbesondere für große Hardware-/Software-Systeme. Er ist Mitbegründer von arc42 und req42 – der Heimat für pragmatische Softwarearchitektur und agiles Requirements-Engineering. Peter hat mehr als zehn Bücher und zahlreiche Artikel über Software- und System-Engineering veröffentlicht und unterrichtet und berät weltweit. Peter lebt in Aachen.Zielgruppe:Softwarearchitekten und -entwickler
Produktiv auf der Linux-Kommandozeile
Sicher und souverän mit Linux arbeitenSouverän unterwegs auf der Kommandozeile: Dieses praktische Buch hilft Ihnen dabei, schneller, intelligenter und effizienter zu arbeiten. Sie erfahren, wie Sie komplexe Befehle erzeugen und ausführen, die echte Probleme lösen, Informationen abrufen, verarbeiten und lästige Aufgaben automatisieren.Sie werden außerdem verstehen, was hinter dem Shell-Prompt passiert. Ganz gleich, welche Befehle Sie im Einzelnen einsetzen: Sie werden Ihren Linux-Alltag problemlos meistern und sich mit solidem Wissen für den Arbeitsmarkt qualifizieren.Sie entwickeln gute bis fortgeschrittene Fähigkeiten auf der Kommandozeile und lernen dabei, wie Sie:Befehle auswählen oder konstruieren, die schnell Ihre Arbeitsaufgaben erledigen - effizient Befehle ausführen und mit Leichtigkeit durch das Linux-Dateisystem navigierenaus einfacheren Befehlen komplexe und leistungsstarke Befehle zusammensetzenTextdateien umbauen und sie wie Datenbanken abfragen, um geschäftliche Aufgaben zu lösendie Point-and-Click-Funktionen von Linux auf der Kommandozeile kontrollierenAutor:Daniel J. BarrettDaniel J. Barrett unterrichtet seit mehr als 30 Jahren Linux und verwandte Technologien im geschäftlichen wie im akademischen Umfeld. Der Autor von O’Reillys Linux kurz & gut und Koautor von Linux Security Cookbook sowie SSH, The Secure Shell: The Definitive Guide ist darüber hinaus Softwareentwickler, Heavy-Metal-Sänger, Systemadministrator, Universitätsdozent, Webdesigner und Komiker. Er arbeitet bei Google.Zielgruppe:Systemadministrator*innenEntwickler*innenMitarbeitende im Site Reliability Engineeringambitionierte User*innen
Technik der IP-Netze (5. Auflage)
Internet-Kommunikation in Theorie und EinsatzIn IP-Netzen laufen komplexe Vorgänge bei der Übermittlung von Daten in Form von IP-Paketen ab. Das massive Internet-Wachstum und die dabei entstandenen Anforderungen haben zu zahlreichen Entwicklungen geführt – hervorzuheben sind u. a. das Internetprotokoll IPv6, die Techniken MPLS und GMPLS, mehrere Arten von Virtual Networks, Distributed Layer 2/3 Switching und »Internet of Things«.Neu in der 5. Auflage sind der von der IETF vorgeschlagene Standard QUIC, ein Abschnitt zu Network-Time-Protokollen sowie eine Einführung in Software Defined Networking (SDN).Das Buch enthält eine systematische Darstellung der TCP/IP-Protokollfamilie sowie von Routing-Prinzipien in klassischen IP- wie auch in IPv6-Netzen. Es erläutert außerdem die Konzepte zum Aufbau von IP-Netzen auf der Basis unterschiedlicher Netztechnologien speziell im Hinblick auf Virtual Networks sowie der Unterstützung der Mobilität. Zudem wird umfangreich auf die technologischen Grundlagen des »Internet of Things« eingegangen.Es eignet sich nicht nur als Lehrbuch für Studierende unterschiedlicher Fachrichtungen sowie für Neueinsteiger, sondern auch als Nachschlagewerk für den Praktiker. Im Buch sind die relevanten Quellen ins Internet verlinkt, sodass es sich auch als »Informations-Hub« für das Selbststudium einsetzen lässt.Autoren:Prof. Dr.-Ing. Anatol Badach war Professor im Fachbereich Angewandte Informatik der Hochschule Fulda. Seine Schwerpunkte in Lehre und Forschung waren Rechnerkommunikation, Netzwerktechnologien und Multiservice Networking. Er ist Autor mehrerer Fachbücher.Dr. Erwin Hoffmann ist Netzwerk- und Systemberater mit den Schwerpunkten Unix, Prozessmanagement und ITIL. Neben dieser Beratungstätigkeit ist er aktives Mitglied der GUUG und entwickelt eigene (Public Domain) Software.Leseprobe (PDF-Link)
Landschaftsfotos nach Plan
Beeindruckende Landschaftsfotos mit Himmelsereignissen durch Planung mit PhotoPills und anderen ToolsDurch die gezielte Planung von Landschaftsaufnahmen lässt sich die Quote an herausragenden Bildern enorm steigern. So können Sie Ereignisse wie Sonnen- und Mondfinsternisse, Meteoritenschauern oder spezielle Konstellationen mit Mond, Sonne und Milchstraße nutzen, um Bilder mit Wow-Faktor zu kreieren.Das Buch führt anhand mehrerer Planungstools, in dessen Zentrum die App PhotoPills steht, durch den kompletten Prozess, erläutert die einzelnen Werkzeuge im Detail und zeigt mit zahlreichen Praxisbeispielen die Möglichkeiten und das Potenzial von geplanten Aufnahmen auf.Lernen Sie, wie Sie PhotoPills und andere Tools einsetzen, um komplexe Konstellationen von Himmelsereignissen für spektakuläre Aufnahmen von Landschaften und Stadtlandschaften zu kreieren. Erweitern Sie Ihr Repertoire und lernen Sie eine neue Art zu fotografieren kennen.Über den Autor:Salke Hartung ist promovierter Informatiker und seit mehr als 10 Jahren Landschaftsfotograf aus Passion. Seine Schwerpunkte sind die Fotografie von Stadtlandschaften sowie die Nachtfotografie. Er ist Administrator der Facebook-Gruppe „Landschaftsfotografie mit Anspruch“, Betreiber des Facebook-Projekts RAWcketScience und wurde im Januar 2022 zum „PhotoPiller of the Month“ gekürt. www.salkehartung.de
Five Lines of Code
Clean Code durch gezieltes RefactoringRefactoring ist die Kunst, bestehenden Code so zu verbessern, dass der Wert von Software langfristig erhalten bleibt. Das Ergebnis des Vorgangs ist als Clean Code bekannt – aber wie kommen Sie dahin? Christian Clausen legt hier eine ganz neuartige Schule des Refactorings vor, die Sie Schritt für Schritt anleitet. Der Vorgang wird dazu in klare Regeln und Aufgaben gefasst, ohne Nuancen und Intuition über Bord zu werfen. So erreichen Sie mehr, als offensichtliche Code Smells zu beseitigen. Die Beispiele sind in TypeScript gehalten; das Vorgehen eignet sich für alle OOP-Sprachen.Aus dem Inhalt:Anzeichen für Verbesserungsbedarf im CodeCode in sicheren Schritten verbessern – auch, wenn Sie ihn nicht verstehenOptimierungen und Wiederverwendbarkeit sinnvoll abwägenGute Compiler-PraxisViele Patterns und Methoden für das konkrete VorgehenWie man Code schreibt, der ohne Kommentare auskommtBest Pracitces aus realen ProjektenAutor:Christian Clausen ist Agile Coach mit einem Beratungsschwerpunkt auf der technischen Seite der Softwareentwicklung.
Programmieren lernen in der Minecraft-Welt. Let's Code!
Programmieren lernen in der Minecraft-Welt: Erwecke die Roboter-Schildkröte zum Leben!Willkommen in TurtleCity! Du hast nicht nur ein Buch aufgeschlagen, du bist auch in Minecraft unterwegs und lernst dort Programmieren: Eine Robo-Schildkröte folgt genau deinen Befehlen. Du lässt sie verrückte Sachen bauen, nach Schätzen graben, und zusammen geht ihr so manche Challenge an.Für Kinder und Jugendliche ab 8 Jahren, online oder offline nutzbar. Eine Minecraft-Java-Lizenz wird benötigt, Vorkenntnisse nicht. Die Minecraft-Erweiterung mit der Schildkröte ist kostenlos und leicht zu installieren. Los geht's!Aus dem Inhalt:Installation nach AnleitungWas die Schildkröte alles kannBau mir ein ...Solange, bis ...Wenn ..., dann ...Verschachtelte SchleifenBaumfäller, Schürf-Roboter und andere nützliche Helfer programmierenDer Weg aus dem LabyrinthProgramme speichern und wieder ladenLeseprobe (PDF-Link)
Five Lines of Code
Refactoring ist die Kunst, bestehenden Code so zu verbessern, dass der Wert von Software langfristig erhalten bleibt. Das Ergebnis des Vorgangs ist als Clean Code bekannt – aber wie kommen Sie dahin? Christian Clausen legt hier eine ganz neuartige Schule des Refactorings vor, die Sie Schritt für Schritt anleitet. Das Vorgehen eignet sich für alle OOP-Sprachen. Die gut lesbaren Beispiele in TypeScript sind in einem Stil gehalten, der insbesondere Java- und C#- Entwickler*innen vertraut sein dürfte. Ein zweispaltiges Vorher-Nachher-Layout mit zeilengenauen Codekommentaren macht jeden Arbeitsschritt hervorragend nachvollziehbar. So gelingt Ihr Refactoring sicher! Aus dem Inhalt: Anzeichen für Verbesserungsbedarf im CodeCode in sicheren Schritten verbessern – auch, wenn Sie ihn nicht verstehenOptimierungen und Wiederverwendbarkeit sinnvoll abwägenGute Compiler-PraxisViele Patterns und Methoden für das konkrete VorgehenWie man Code schreibt, der ohne Kommentare auskommtBest Practices aus realen Projekten Materialien zum Buch ... 16 Vorwort ... 17 Einführung ... 19 Danksagungen ... 23 Der Autor ... 25 Der Übersetzer ... 25 1. Refactorings für Refactoring ... 27 1.1 ... Was ist Refactoring? ... 28 1.2 ... Fähigkeiten: Was sollte ich refactorn? ... 29 1.3 ... Kultur: Wann sollte ich refactorn? ... 31 1.4 ... Werkzeuge: Wie sollte ich (sicher) refactorn? ... 33 1.5 ... Werkzeuge für den Anfang ... 34 1.6 ... Das durchgehende Beispiel: ein 2D-Rätselspiel ... 36 1.7 ... Ein Wort zu Software aus der echten Welt ... 38 1.8 ... Zusammenfassung ... 39 2. Ein Blick unter die Haube ... 41 2.1 ... Lesbarkeit und Wartbarkeit verbessern ... 41 2.2 ... Geschwindigkeit, Flexibilität und Stabilität gewinnen ... 45 2.3 ... Refactoring und die tägliche Arbeit ... 47 2.4 ... Die Domäne einer Software definieren ... 48 2.5 ... Zusammenfassung ... 49 TEIL I. Das Refactoring eines Computerspiels als Lernbeispiel ... 51 3. Lange Funktionen zerschlagen ... 53 3.1 ... Unsere erste Regel: Warum fünf Zeilen? ... 54 3.2 ... Ein Refactoring, um Funktionen aufzubrechen ... 57 3.3 ... Funktionen teilen, um Abstraktionsebenen zu trennen ... 66 3.4 ... Eigenschaften eines guten Funktionsnamens ... 69 3.5 ... Funktionen aufbrechen, die zu viel tun ... 72 3.6 ... Zusammenfassung ... 76 4. Typen richtig nutzen ... 77 4.1 ... Refactoring einer einfachen if-Anweisung ... 77 4.2 ... Refactoring einer großen »if«-Anweisung ... 98 4.3 ... Mit doppeltem Code umgehen ... 114 4.4 ... Refactoring von zwei komplexen »if«-Anweisungen ... 118 4.5 ... Toten Code entfernen ... 122 4.6 ... Zusammenfassung ... 124 5. Ähnlichen Code zusammenführen ... 127 5.1 ... Ähnliche Klassen zusammenführen ... 128 5.2 ... Einfache Bedingungen zusammenführen ... 145 5.3 ... Komplexe Bedingungen zusammenführen ... 150 5.4 ... Code in verschiedenen Klassen zusammenführen ... 156 5.5 ... Ähnliche Funktionen zusammenführen ... 178 5.6 ... Ähnlichen Code zusammenführen ... 182 5.7 ... Zusammenfassung ... 187 6. Die Daten verteidigen ... 189 6.1 ... Kapselung ohne Getter ... 189 6.2 ... Einfache Daten kapseln ... 201 6.3 ... Komplexe Daten kapseln ... 214 6.4 ... Invariante Reihenfolgen entfernen ... 222 6.5 ... Ein anderes Vorgehen, um Enums zu löschen ... 226 6.6 ... Zusammenfassung ... 232 TEIL II. Das Gelernte in die Praxis übertragen ... 233 7. Mit dem Compiler zusammenarbeiten ... 235 7.1 ... Den Compiler kennenlernen ... 236 7.2 ... Den Compiler benutzen ... 245 7.3 ... Vertraue dem Compiler ... 255 7.4 ... Vertraue nur dem Compiler ... 258 7.5 ... Zusammenfassung ... 259 8. Finger weg von Kommentaren ... 261 8.1 ... Veraltete Kommentare löschen ... 263 8.2 ... Auskommentierten Code löschen ... 263 8.3 ... Überflüssige Kommentare löschen ... 264 8.4 ... Kommentare in Methodennamen umsetzen ... 265 8.5 ... Kommentare behalten, die Invarianten dokumentieren ... 266 8.6 ... Zusammenfassung ... 267 9. Lerne, das Löschen zu lieben ... 269 9.1 ... Code löschen: das nächste Abenteuer ... 270 9.2 ... Code löschen, um anfallende Komplexitätzu reduzieren ... 271 9.3 ... Code nach Vertrautheit kategorisieren ... 274 9.4 ... Code in einem Legacy-System löschen ... 275 9.5 ... Code aus einem eingefrorenen Projekt löschen ... 278 9.6 ... Branches aus der Versionskontrolle löschen ... 280 9.7 ... Codedokumentation löschen ... 282 9.8 ... Testcode löschen ... 284 9.9 ... Konfigurationscode löschen ... 286 9.10 ... Code löschen, um Bibliotheken loszuwerden ... 288 9.11 ... Code aus funktionierenden Features entfernen ... 291 9.12 ... Zusammenfassung ... 292 10. Keine Angst vor neuem Code ... 293 10.1 ... Unsicherheit akzeptieren: In die Gefahr eintreten ... 294 10.2 ... Prototypen: gegen die Angst, das Falsche zu entwickeln ... 294 10.3 ... Verhältnismäßige Arbeit: gegen die Angst vor Verschwendung und Risiko ... 296 10.4 ... Schrittweise Verbesserung: gegen die Angst vor Imperfektion ... 297 10.5 ... Wie Copy & Paste unsere Geschwindigkeit beeinflusst ... 298 10.6 ... Verändern durch Hinzufügen: geplante Erweiterbarkeit ... 299 10.7 ... Verändern durch Hinzufügen erlaubt Abwärtskompatibilität ... 300 10.8 ... Verändern durch Hinzufügen mit Featureschaltern ... 302 10.9 ... Verändern durch Hinzufügen mit Verzweigung durch Abstraktion ... 306 10.10 ... Zusammenfassung ... 309 11. Folge der Struktur im Code ... 311 11.1 ... Strukturen einteilen nach Wirkungsbereich und Herkunft ... 311 11.2 ... Drei Arten, wie Code Verhalten spiegelt ... 313 11.3 ... Code hinzufügen, um Struktur zu betonen ... 321 11.4 ... Beobachten statt vorhersagen -- empirische Techniken einsetzen ... 322 11.5 ... Sicherheit gewinnen, ohne den Code zu verstehen ... 323 11.6 ... Ungenutzte Strukturen finden ... 324 11.7 ... Zusammenfassung ... 333 12. Vermeide Optimierung und Generalität ... 335 12.1 ... Nach Einfachheit streben ... 336 12.2 ... Verallgemeinern -- wann und wie ... 338 12.3 ... Optimieren -- wann und wie ... 340 12.4 ... Zusammenfassung ... 352 13. Schlechter Code soll schlecht aussehen ... 353 13.1 ... Auf Prozessprobleme mit schlechtem Code aufmerksam machen ... 353 13.2 ... Trennung in sauberen und problematischen Code ... 355 13.3 ... Ansätze, schlechten Code zu definieren ... 356 13.4 ... Regeln für sicheren Vandalismus ... 359 13.5 ... Methoden für sicheren Vandalismus ... 359 13.6 ... Zusammenfassung ... 369 14. Zum Abschluss ... 371 14.1 ... Ein Rückblick auf die Reise in diesem Buch ... 371 14.2 ... Die Philosophie dahinter ... 372 14.3 ... Wie mache ich weiter? ... 377 14.4 ... Zusammenfassung ... 378 A. Die Werkzeuge für Teil I installieren ... 381 A.1 ... Node.js ... 381 A.2 ... TypeScript ... 381 A.3 ... Visual Studio Code ... 381 A.4 ... Git ... 382 A.5 ... Das TypeScript-Projekt einrichten ... 382 A.6 ... Das TypeScript-Projekt bauen ... 382 A.7 ... Wie du den Level änderst ... 383 Index ... 385
Agile Spiele und Simulationen
Praxiserprobte Games für Agile Coaches und Scrum Master. Inklusive vieler Spiele für Online-WorkshopsDer umfassende Spiele-Werkzeugkoffer für alle, die Workshops zu agilen Methoden moderieren.Spiele und Simulationen unterstützen Agile Coaches und Scrum Master optimal dabei, agile Prinzipien und Praktiken in Workshops und Trainings zu veranschaulichen – und sie machen Spaß! Mittlerweile sind sie fester Bestandteil des Werkzeugkoffers von agilen Moderatorinnen und Moderatoren. Dieses Buch beschreibt über 70 Spiele, die sich in der Praxis besonders bewährt haben.Marc Bleß und Dennis Wagner – beide seit vielen Jahren als Agile Coaches tätig – erläutern zunächst, was bei der Moderation von agilen Spielen zu beachten ist und wann welches Spiel eingesetzt werden kann. Sie zeigen außerdem, wie die meisten dieser Spiele auch in Online-Workshops genutzt werden können und was dabei grundsätzlich zu beachten ist.Vorgestellt werden Spiele aus diesen Kategorien:Vermittlung von agilen PrinzipienSimulationen von agilen PraktikenKommunikation und Social DynamicsEröffnung und Abschluss eines TrainingsEnergizer und Auflockerungen für zwischendurchNeu: Technical Skills – Spiele für die Vermittlung agiler EntwicklungspraktikenDas Buch ist eine Erweiterung des beliebten Taschenbuchs »Agile Spiele – kurz & gut«. Es enthält zahlreiche neue spannende Games und jetzt auch viele farbige Abbildungen. Alle Spielanleitungen wurden überarbeitet und ergänzt. Die Autoren beschreiben Vorbereitung, benötigtes Material, Ablauf und Nachbereitung jedes Spiels sowie mögliche Stolperfallen. Die vielen konkreten Tipps und Beispiele aus der Praxis garantieren, dass Spielfreude aufkommt und du erfolgreiche Workshops und Trainings durchführst.Autoren:Marc Bleß, Dennis WagnerMarc Bleß hat über 20 Jahre Erfahrung als Agile Coach, Scrum Master, Softwareentwickler und Führungskraft. Seine Leidenschaft ist die schnelle und nachhaltige Verbesserung von Teams und Organisationen. Als ausgebildeter Solution-Focused Coach und Certified Enterprise Coach (CEC) begleitet Marc Unternehmen auf allen Ebenen – vom Top-Level-Management bis zu einzelnen Teams – bei der Einführung agiler Entwicklungsmethoden und der Umsetzung agiler Werte, Prinzipien und Praktiken.Dennis Wagner ist, seit er mit 17 Jahren sein erstes eigenes Softwareprodukt verkauft hat, der Entwicklung verschrieben. In so unterschiedlichen Rollen wie Architekt, Team Lead, Entwickler oder Product Manager zeigte er viele Jahre erfolgreich Wege auf, wie man Software besser entwickelt. Seit er vor mehr als zehn Jahren XP und Scrum kennenlernte, ist er Agilist aus Überzeugung. Heute hilft er Teams, Führungskräften und Organisationen als Full Stack Agile Coach, ihr Potential zu entdecken und zu entwickeln.Zielgruppe:Scrum MasterAgile CoachesFührungskräfte, die Workshops zu agilen Methoden moderieren
Collaborative UX Design (2. Auflg.)
UX Design im Fokus der Produktentwicklung. 2. aktualisierte und erweiterte Auflage.Software wird zunehmend in cross-funktionalen Teams konzipiert. Die einzelnen Mitglieder eines zeitlich überdauernd zusammenarbeitenden Teams bringen Expertise aus verschiedenen Bereichen in gemeinsame Workshops zur Produktgestaltung ein.Die Autoren vermitteln kompakt und leicht verständlich ein fundiertes Grundwissen zu kollaborativen Methoden des UX Designs. Sie beschreiben die Auswahl und den Einsatz von disziplinübergreifenden UX-Methoden und illustrieren deren Verzahnung in einem auf Workshops basierenden Vorgehensmodell. Der dargestellte kollaborative Ansatz ist in menschzentrierten Entwicklungsmodellen, Design Thinking und Lean UX verwurzelt und stellt ein agiles, hypothesenbasiertes Vorgehen in den Vordergrund. Die fachliche Darstellung wird anhand eines durchgehenden Praxisprojekts illustriert, bei dem ein Team einen Problemlösungsprozess durchläuft, der im Vorgehensmodell auf acht inhaltlich aufeinander bezogene UX-Workshops abgebildet wird: Scoping, Research, Synthese, Ideation, Konzept, Prototyping, Validierung und zuletzt Roadmap.Auf einer das Buch begleitenden Website finden Sie Vorlagen zur Anwendung der im Buch angesprochenen Methoden sowie ein Glossar.Über die Autoren:Toni Steimle ist Ökonom und leitet mit der Ergosign Switzerland AG einen führenden UX-Design-Dienstleister. Er lehrt an der Hochschule Rapperswil, an der Hochschule Olten und der Universität Basel rund um Themen des User Experience Design. Seine Arbeitsschwerpunkte sind Vorgehensmodelle der Softwareentwicklung, User-Experience-Strategien, Kreativität und digitale Märkte.Dieter Wallach ist promovierter Kognitionswissenschaftler und prägte als UX-Pionier und Hochschullehrer die deutschsprachige User-Experience-Szene mit. Er ist Gründer und Co-Geschäftsführer der Ergosign GmbH. Er erhielt Rufe an die Universität Würzburg und an die Hochschulen Heilbronn, Trier und Kaiserslautern. Dieter Wallach forscht und lehrt als Professor für Human-Computer Interaction und Usability Engineering im Fachbereich Informatik und Mikrosystemtechnik an der Hochschule Kaiserslautern.
PyTorch Recipes
Learn how to use PyTorch to build neural network models using code snippets updated for this second edition. This book includes new chapters covering topics such as distributed PyTorch modeling, deploying PyTorch models in production, and developments around PyTorch with updated code.You'll start by learning how to use tensors to develop and fine-tune neural network models and implement deep learning models such as LSTMs, and RNNs. Next, you'll explore probability distribution concepts using PyTorch, as well as supervised and unsupervised algorithms with PyTorch. This is followed by a deep dive on building models with convolutional neural networks, deep neural networks, and recurrent neural networks using PyTorch. This new edition covers also topics such as Scorch, a compatible module equivalent to the Scikit machine learning library, model quantization to reduce parameter size, and preparing a model for deployment within a production system. Distributed parallel processing for balancing PyTorch workloads, using PyTorch for image processing, audio analysis, and model interpretation are also covered in detail. Each chapter includes recipe code snippets to perform specific activities.By the end of this book, you will be able to confidently build neural network models using PyTorch.WHAT YOU WILL LEARN* Utilize new code snippets and models to train machine learning models using PyTorch* Train deep learning models with fewer and smarter implementations* Explore the PyTorch framework for model explainability and to bring transparency to model interpretation* Build, train, and deploy neural network models designed to scale with PyTorch* Understand best practices for evaluating and fine-tuning models using PyTorch* Use advanced torch features in training deep neural networks* Explore various neural network models using PyTorch* Discover functions compatible with sci-kit learn compatible models* Perform distributed PyTorch training and executionWHO THIS BOOK IS FORMachine learning engineers, data scientists and Python programmers and software developers interested in learning the PyTorch framework.PRADEEPTA MISHRA is the Director of AI, Fosfor at L&T Infotech (LTI), leading a large group of Data Scientists, computational linguistics experts, Machine Learning and Deep Learning experts in building the next-generation product, ‘Leni,’ the world’s first virtual data scientist. He has expertise across core branches of Artificial Intelligence including Autonomous ML and Deep Learning pipelines, ML Ops, Image Processing, Audio Processing, Natural Language Processing (NLP), Natural Language Generation (NLG), design and implementation of expert systems, and personal digital assistants. In 2019 and 2020, he was named one of "India's Top "40Under40DataScientists" by Analytics India Magazine. Two of his books are translated into Chinese and Spanish based on popular demand.He delivered a keynote session at the Global Data Science conference 2018, USA. He has delivered a TEDx talk on "Can Machines Think?", available on the official TEDx YouTube channel. He has mentored more than 2000 data scientists globally. He has delivered 200+ tech talks on data science, ML, DL, NLP, and AI in various Universities, meetups, technical institutions, and community-arranged forums. He is a visiting faculty member to more than 10 universities, where he teaches deep learning and machine learning to professionals, and mentors them in pursuing a rewarding career in Artificial Intelligence.Chapter 1: Introduction to PyTorch, Tensors, and Tensor OperationsChapter Goal: This chapter is to understand what is PyTorch and its basic building blocks.Chapter 2: Probability Distributions Using PyTorchChapter Goal: This chapter aims at covering different distributions compatible with PyTorch for data analysis.Chapter 3: Neural Networks Using PyTorchChapter Goal: This chapter explains the use of PyTorch to develop a neural network model and optimize the model.Chapter 4: Deep Learning (CNN and RNN) Using PyTorchChapter Goal: This chapter explains the use of PyTorch to train deep neural networks for complex datasets.Chapter 5: Language Modeling Using PyTorchChapter Goal: In this chapter, we are going to use torch text for natural language processing, pre-processing, and feature engineering.Chapter 6: Supervised Learning Using PyTorchGoal: This chapter explains how supervised learning algorithms implementation with PyTorch.Chapter 7: Fine Tuning Deep Learning Models using PyTorchGoal: This chapter explains how to Fine Tuning Deep Learning Models using the PyTorch framework.Chapter 8: Distributed PyTorch ModelingChapter Goal: This chapter explains the use of parallel processing using the PyTorch framework.Chapter 9: Model Optimization Using Quantization MethodsChapter Goal: This chapter explains the use of quantization methods to optimize the PyTorch models and hyperparameter tuning with ray tune.Chapter 10: Deploying PyTorch Models in ProductionChapter Goal: In this chapter we are going to use torch serve, to deploy the PyTorch models into production.Chapter 11: PyTorch for AudioChapter Goal: In this chapter torch audio will be used for audio resampling, data augmentation, features extractions, model training, and pipeline development.Chapter 12: PyTorch for ImageChapter Goal: This chapter aims at using Torchvision for image transformations, pre-processing, feature engineering, and model training.Chapter 13: Model Explainability using CaptumChapter Goal: In this chapter, we are going to use the captum library for model interpretability to explain the model as if you are explaining the model to a 5-year-old.Chapter 14: Scikit Learn Model compatibility using SkorchChapter Goal: In this chapter, we are going to use skorch which is a high-level library for PyTorch that provides full sci-kit learn compatibility.
Cloud Computing nach der Datenschutz-Grundverordnung
Rechtliche Fragen und typische Probleme verständlich erklärt: Amazon Web Services, Google, Microsoft & Clouds anderer Anbieter in der Praxis.Cloud-Anwendungen von Anbietern wie Amazon Web Services (AWS), Google oder Microsoft werden von vielen Unternehmen, Organisationen und privaten Anwendern genutzt. Hierbei steht ihnen ein äußerst vielfältiges und umfangreiches Produktportfolio der jeweiligen Anbieter zur Verfügung. Datenschutz war in diesem Zusammenhang schon immer ein Thema, aber durch die europäische Datenschutz-Grundverordnung werden Verantwortliche nunmehr verstärkt in die Pflicht genommen. Bei Datenschutzverstößen drohen mitunter hohe Bußgelder sowie nicht absehbare Haftungsfolgen.Dieser Praxisleitfaden beschreibt die rechtlichen Fragen und typischen Probleme im Zusammenhang mit der Nutzung der von Cloud-Providern bereitgestellten Anwendungen im Allgemeinen wie beispielsweise Auswahl, Vorbereitung und konkrete rechtliche Umsetzung einer Auslagerung von Daten und Prozessen in eine Cloud, aber auch Fragen eines Exits, wie eine Datenmigration. Er geht aber auch ganz konkret auf einzelne Anwendungen ein und unterstützt hierzu mit konkreten Empfehlungen und Checklisten. Es werden keine Vorkenntnisse im Datenschutz oder in Bezug auf Cloud-Anwendungen vorausgesetzt.Autor:Dr. Thorsten Hennrich ist Rechtsanwalt mit den Schwerpunkten Informationstechnologie- und Datenschutzrecht. Er ist ein technikaffiner Jurist, der „beide Welten“ bestens kennt: als Rechtsanwalt im IT- und Datenschutzrecht, als Leiter der Rechtsabteilung eines Cloud-Anbieters sowie als langjähriger Geschäftsführer eines Cloud- und IT-Infrastruktur-Anbieters mit Rechenzentren in Frankfurt am Main und Amsterdam. Er blickt auf über 20 Jahre umfassende Praxiserfahrung zurück.Zielgruppe:IT-Verantwortlicheleitende AngestellteDatenschutzbeauftragteMitglieder der Geschäftsleitung
KI-Sprachassistenten mit Python entwickeln
Datenbewusst, open-source und modularSprachassistenten werden vermehrt in Bereichen wie z. B. Kundenkommunikation, Smart Home oder Automotive eingesetzt. Dieses Buch zeigt Ihnen, wie Sie in Python Schritt für Schritt einen eigenen Sprachassistenten komplett selbst entwickeln können – von der Architektur bis zur Paketierung der Anwendung. Zum einen lernen Sie, wie Sprachsynthese und Intents funktionieren und wie Sie diese einsetzen können. Zum anderen kommen Sie mit vielen Themen aus der professionellen Python-Entwicklung in Berührung, u. a. mit Logging, dynamischem Installieren von Paketen, dem „Einfrieren“ einer Anwendung oder der dazugehören Überführung in einen Installer.Ein weiteres wichtiges Thema ist der Datenschutz. Wenn Sie einen eigenen Assistenten programmiert haben, wissen Sie genau, welche Daten Sie rausgeben und welche auf Ihrem Gerät verarbeitet werden. Das schafft Vertrauen beim Anwender. Schreiben Sie Intents, denen auch sensible Daten anvertraut werden können. Darüber hinaus kann der selbst programmierte Assistent ein paar Dinge mehr als die Marktführer. Er reagiert z. B. individuell auf Ihre Stimme und Sie können ihm erlauben, nur auf Sie zu hören und andere Personen zu ignorieren.Aus dem Inhalt:Aufsetzen einer Entwicklungsumgebung, Versionsverwaltung mit GitText to Speech, Speech to Text, Fingerabdruck der StimmeDialogeIntents entwickeln und verwaltenUser InterfaceDie Anwendung paketierenAutor: Dr. Jonas Freiknecht arbeitet als Datenanalyst bei einem größeren IT-Systemhaus. Er hat in praktischer Informatik promoviert und erstellt seit vielen Jahren YouTube Videos zu IT-Themen, schreibt Fachbücher und veröffentlicht Tutorials auf seinem Blog.Leseprobe (PDF-Link)
Introduction to Photoshop
This full-color book is an essential guide to getting started with Adobe Photoshop. It's packed with tutorials, illustrations, and practical exercises to help you make sense of this complex and powerful software.You'll start with the basics of Photoshop, including an overview of its myriad tools and other options. Next, you will learn about some of the common tasks that can be performed in Photoshop, such as how to touch up images and basic applications in photography. You'll also be walked through how to leverage Photoshop for special and 3D effects. Each and every technique author Kevin Wilson presents is illustrated step-by-step using screenshots with concise, easy to follow text. Downloadable sample photoshop files and images are also provided, to help you work your way through the book.Whether you are a graphic design student, a photographer, or just a keen computer user, this book will provide you with a firm grasp of the underpinning foundations of Photoshop and equip you with the skills needed to unleash its full power.WHAT YOU WILL LEARN* Understand Photoshop's many tools* Use Photoshop to execute common image manipulation tasks * Touch up photographs and other images in Photoshop* Remove lens distortion and make photos look more professionalWHO THIS BOOK IS FORStudents, those interested in starting graphic design, and photographers looking to enhance, clean up and manipulate their photos. No experience with image-manipulation software is needed.With over 20 years’ experience in the computer industry, Kevin Wilson has made a career out of technology and showing others how to use it. After earning a master's degree in computer science, software engineering, and multimedia systems, Kevin has held various positions in the IT industry including graphic & web design, digital film & photography, programming & software engineering, developing & managing corporate networks, building computer systems, and IT support. He currently teaches computer science at college and works as an IT trainer in England while researching for his PhD. CHAPTER 1: GETTING STARTED WITH PHOTOSHOPSub –Topics• Introduction• Downloading Photoshop• Opening a Blank Project• Using a Template or Mockup• Opening a Saved Project• Menus• The Toolbox & Options Bar Pen Tool Crop Tool Slice Tool Move Tool Marquee Tool Lasso Tool Quick Selection Tool Eraser Text Tool Retouch Tool Healing Tools Custom Shapes Pencils & Brushes Eye Dropper• Panels Opening & Closing Panels Layers PanelCHAPTER 2: COMMON TASKSSub – Topics:• Import Images• Change Image Size• Rotate an Image• Crop an Image• Content Aware Crop• Adjust an Image Hue and Saturation levels Shadows and Highlights• Free Transform Tool• Text Tool• Shapes• Brushes• Automated Actions• Batch ProcessingCHAPTER 3: TOUCHING UP IMAGESSub - Topics:• Burn Tool• Dodge Tool• Heal Tool• Spot Healing Tool• Content Aware Move Tool• Clone Stamp Tool• Magnetic Lasso Tool• Quick Selection Tool• Magic WandCHAPTER 4: USING LAYERSSub - Topics:• The Layers Concept• Create an Image Collage• Selection & Free Transform• Layer Styles• Add Text• Format Text• Smart Objects• Adjustment Layers• Auto-align LayersCHAPTER 5: SPECIAL EFFECTSSub - Topics:• Filters• Radial Blur• Stylize Filters• Filter Gallery• Lighting Effects• Combining PhotosCHAPTER 6: 3D EFFECTSSub - Topics:• Creating 3D Objects 3D Postcard 3D Extrusion 3D Shape from Preset Add some 3D Text• Navigating 3D• Moving Around your Object• Inserting 3D Models• Build your SceneCHAPTER 7: PHOTOSHOP FOR PHOTOGRAPHYSub - Topics:• Import Photos• Camera RAW Reading a Histogram Adjusting a Photo Levelling Photos & Removing Lens DistortionCHAPTER 8: DIGITAL IMAGES & RESOLUTIONSub - Topics:• Image Types Bitmap Images Vector Images• Resolution Image Dimensions Image Resolution Image CompressionCOMMON IMAGE FORMATSAPPENDIXTOOL CHEAT SHEET
arc42 in Aktion
Der Praxiseinsatz von arc42 - dem Template für SoftwarearchitekturenSie finden konkrete Maßnahmen und Praktiken, um arc42 sowohl zur effektiven Kommunikation und Dokumentation wie auch zur Konstruktion und Entwicklung von Systemen anzuwenden.Unmittelbarer Nutzen für die tägliche ArbeitSoftwarearchitekten und -entwickler ziehen daraus unmittelbaren Nutzen für ihre tägliche Arbeit.
Instagram-Marketing für Unternehmen
* EINE PROFESSIONELLE SOCIAL-MEDIA-STRATEGIE ENTWICKELN UND UMSETZEN* RELEVANTEN CONTENT FÜR STORIES, REELS UND POSTS ERSTELLEN* ERFOLGREICH MIT INFLUENCERN ARBEITEN UND EFFEKTIVE WERBUNG AUF INSTAGRAM SCHALTEN* RECHTLICHE ANFORDERUNGEN FÜR UNTERNEHMEN BERÜCKSICHTIGENAuf Instagram ist die Marken- und Kaufaffinität der Nutzer besonders hoch. Beiträge von Unternehmen und Institutionen werden hier regelmäßig mit Aufmerksamkeit belohnt und inspirieren die Nutzer zu weiteren Handlungen - sei es der Kauf eines Produktes, die Umsetzung einer Idee oder die Spende für ein wichtiges Hilfsprojekt. Doch wie erschließen Sie sich das Potenzial, das Instagram für Ihr Unternehmen bietet?In diesem umfassenden Leitfaden zeigt Kristina Kobilke praxisnah, wie Unternehmen eine erfolgreiche Instagram-Strategie entwickeln und umsetzen: von der Bestandsaufnahme in Form eines Social-Media-Audits und der Zielgruppenanalyse über die Definition sinnvoller Ziele und dazu passendem Content bis hin zur Auswertung Ihrer Maßnahmen.Sie zeigt anhand vieler Beispiele, wie Sie Inhalte und Formate kreieren, die Aufmerksamkeit wecken und Interesse generieren, sei es mit Carousel-Posts, Stories oder Reels. Darüber hinaus erfahren Sie, wie Sie Ihre individuelle Bildsprache und Tonalität zum Ausdruck bringen, Inhalte vorausplanen und welche Maßnahmen geeignet sind, um Ihre Community aufzubauen und nachhaltig an sich zu binden.Umfangreiche Kapitel zu Influencer-Marketing und Werbung auf Instagram erläutern, wie Sie Meinungsführer erreichen, Ihre Bekanntheit erhöhen und Ihren Umsatz steigern. Für alle Themen stellt die Autorin zudem zahlreiche ergänzende Apps und nützliche Tools vor.AUS DEM INHALT:* Wichtigste Kanäle und Formate der App* Datenschutz und Impressum* Instagram-Strategie entwickeln:* Audit & Analyse* Unternehmensmission und -vision* Ziele und Zielgruppen* Bildsprache und Tonalität * Kennzahlen und KPIs* Community Management* Ressourcen- und Budgetplanung* Erfolgsmessung und Monitoring* Strategie umsetzen und Inhalte erstellen:* Konkrete Ideen für Posts, Reels und Stories* Redaktionsplan erstellen* Beiträge vorausplanen* Eine Community aufbauen * Influencer-Marketing: Strategie, Umsetzung, Bewertung* Werbung schalten: Ad-Formate, Targeting-Optionen, KampagnenKristina Kobilke ist digitale Marketingstrategin, Trainerin und Fachautorin aus Hamburg und bereits seit 23 Jahren im Digitalen Marketing aktiv. Mit ihren Trainings, Vorträgen, Webinaren und Fachpublikationen hilft sie Unternehmen, Agenturen und Marken dabei, integrierte Marketing- und Kommunikationsstrategien in einer digitalisierten Welt zu entwickeln. Seit 2012 ist eines ihrer Schwerpunktthemen die digitale Markenkommunikation über Visual Social Media, insbesondere Instagram. Ihr erstes Fachbuch dazu ist bereits im Jahr 2014 erschienen. Kristina Kobilke ist zudem Dozentin an verschiedenen Akademien, wie unter anderem der Akademie für Publizistik in Hamburg, Lehrende an der Leuphana Professional School sowie Teil des Storywerk.Berlin Experten-Teams, das insbesondere NGOs in Content-Marketing und Storytelling unterstützt. Vor ihrer Selbständigkeit war sie über 13 Jahre digitale Vermarktungsexpertin beim Internetpionier AOL Deutschland sowie beim Medienhaus Gruner + Jahr
Introduction to Java Through Game Development
Interested in learning how to program with Java? Let’s face it, the best way to learn to program is by writing programs. This can be a daunting proposition with the specter of hours of simple command line example programs hanging over your head. Fear not! Now you can learn to program in Java in a fun way by working on video games.With this book, you’ll get to work with three Java game projects and have access to the complete game code for each project, including a full Java game engine. After completing Introduction to Java through Game Development, you’ll be proficient in Java programming, having worked with the language’s fundamental aspects throughout the text, and will be ready to further your Java and game programming expertise with confidence.WHAT YOU'LL* Master the fundamentals of the Java programming language* Use different data structures like arrays, lists, stacks, and queues* Understand game programming basics including the main game loop* Gain experience working with three different game projects via the book’s coding challenges* Work with the 2D game engine that powers the book's included games and learn to create your own new game projects* Understand advanced Java topics like classes, encapsulation, inheritance, and polymorphism* Work with exceptions and how to use debugging techniques to trace through code* Sharpen your skills with over a dozen coding challenges that test your abilities with a development task on a real game projectWHO THIS BOOK IS FORThis book requires little to no programming experience to understand and benefit from the text.VICTOR BRUSCA is an experienced software developer specializing in building cross-platform applications and APIs. He regards himself as a self-starter with a keen eye for detail, an obsessive protection of systems/data, and a desire to write well-documented, well-encapsulated code. With over 14 years' software development experience, he has been involved in game and game engine projects on J2ME, T-Mobile SideKick, WebOS, Windows Phone, Xbox 360, Android, iOS, and web platforms. Chapter 1: IntroductionSub –topics• Introductiono About this texto Notes on formattingo Notes on conventions• The book’s objectiveso Java fundamental topicso Java advanced topicso Game projects included• Setting up your environmento Checking your Java versiono Installing the latest JDKo Installing the NetBeans IDE o Getting the game projects setup• Checking out the gameso Running pong cloneo Running memory matcho Running the duel• Conclusiono Talking pointso What we coveredChapter 2: What is Java ProgrammingSub – topics• Computers and programmingo Programming computerso Programming languageso Types of programs/programming• The Java programming languageo A very brief historyo The JREo The JDKo Syntax and semantics• Game programmingo Program structureo The game loopo General structure of included games• Conclusiono Talking pointso What we coveredChapter 3: VariablesSub - topics:• Data typeso Basico Advancedo Customo Enumerations• Using variableso Declaring variableso Assigning values to variableso Objects, classes, instanceso Enumerationso Casting• Conclusiono Talking pointso What we coveredChapter 4: Expressions and Flow ControlSub - topics:• Expressionso Numerico Booleano Operator precedence• Flow controlo If, else, else if statementso Switch statementso Try-catch statements• Conclusiono Talking pointso What we coveredChapter 5: Arrays and Data StructuresSub - topics:• Arrayso Declaring arrayso Initializing arrayso Using arrays• Data structureso Listso Dictionarieso Generic vs specialized data structures• Conclusiono Talking pointso What we coveredChapter 6: Looping and IterationSub - topics:• For loopso Basic for loop o For each loop• While loopso Basic while loopo Infinite loopo Main game loop• Conclusiono Talking pointso What we coveredChapter 7: Objects, Classes, and OOPSub - topics:• Introduction to OOPo Classeso Fieldso Methodso Constructorso Static members• Advanced class topicso Accesso Class designo Main game loop• Conclusiono Talking pointso What we coveredChapter 8: Encapsulation, Polymorphism, and InheritanceSub - topics:• Encapsulation• Polymorphism• Inheritance• Importing class libraries• Project structure• Conclusiono Talking pointso What we coveredChapter 9: Debugging TechniquesSub - topics:• Basic debugging o CLI output trace• Advanced debuggingo IDE debugging features• Exceptionso Handling exceptionso Defining your own exceptionso Getting familiar with a stack trace• Conclusiono Talking pointso What we coveredChapter 10: ConclusionSub - topics:• Final thoughts• High level topic review/takeaways/what we covered• Where to go from here• Saying bye
Build Your Own Multifunctional 4-Axis CNC Machine
This book covers the construction, hardware, software, and operation of the Z99 - CNC machine. This is a multifunctional 4-axis machine for home construction.The capabilities of the Z99 machine include:• large-format schematic plotting• PCB plotting with etch-resist pens• schematic plotting with conductive-ink pens• letter cutting out of vinyl• paper cutting• PCB/substrate drilling• PCB/substrate milling• text milling• laser engraving• laser cutting of solder paste masksBy making the support software available as freeware, readers of the book are challenged and encouraged to develop new applications for the Z99.The machine would not be of much use if the user has no option to create suitable files for the designs in mind. A large part of this book is dedicated to creating source files in a variety of freeware software packages, including Inkscape, DesignSpark PCB, KiCad, and FlatCAM.The book is also useful for readers keen to comprehend and then master the basic structure of HPGL, Gerber, Drill, and G-code files, as well as to have a go at deciphering them using software.José Ganseman, MD. (1951) was occupied as a General Practitioner for 35 years.He is a passionate, lifelong electronics hobbyist and software programmer in several languages.He is also an Elektor reader from the seventies on.After his retirement in 2010 he decided to build a multifunctional machine for personal use. The machine can be used for several tasks like plotting, cutting, milling, and laser etching/cutting.
Beginning Kotlin
This book introduces the Kotlin programming skills and techniques necessary for building applications. You'll learn how to migrate your Java programming skills to Kotlin, a Java Virtual Machine (JVM) programming language.The book starts with a quick tour of the Kotlin language and gradually walks you through the language in greater detail over the course of succeeding chapters. You’ll learn Kotlin fundamentals like generics, functional programming, type system, debugging, and unit testing. Additionally, with the book’s freely downloadable online appendices, you’ll discover how to use Kotlin for building Spring Boot applications, data persistence, and microservices.WHAT YOU WILL LEARN* Learn the Kotlin language, its functions, types, collections, generics, classes, and more* Dive into higher-order functions, generics, debugging, and unit testing* Apply the fundamentals of Kotlin to Spring Boot * Add Hibernate to your Spring Boot application for persistence and data accessibility * Take advantage of functional programming available in KotlinWHO THIS BOOK IS FORJava developers who are new to Kotlin and want to leverage Kotlin, particularly for building Spring Boot apps.TED HAGOS is the CTO and Data Protection Officer of RenditionDigital International (RDI), a software development company based out of Dublin. Before he joined RDI, he had various software development roles and also spent time as a trainer at IBM Advanced Career Education, Ateneo ITI, and Asia Pacific College. He spent many years in software development dating back to Turbo C, Clipper, dBase IV, and Visual Basic. Eventually, he found Java and spent many years working with it. Nowadays, he’s busy with full-stack JavaScript, Android, and Spring applications.Part 1: Kotlin1. Setup2. Tour of the Kotlin language3. Functions4. Types5. Higher order functions6. Collections7. Generics8. Classes9. Unit Testing10. Java InteroperabilityPart 2: Spring Boot11. Spring and SpringBoot12. Setup13. Getting started with a projecta. Using the project initializrb. Auto restarting an appc. Views and backing beansd. Views and controller functionse. Servicesf. Posting to a controllerg. Dependency Injection14. Functional Programminga. Overviewb. Function parametersc. Listsd. Filter and flatMape. Reduce and Foldf. Maps15. Hibernatea. Adding the dependenciesb. Entitiesc. Persisting to a database16. Reflectiona. Overviewb. Ins
Beginning Go Programming
Understand and write programs in Go, a multi-paradigm language with built-in features for concurrent programming. This book enables developers to build software that is simple, reliable, and efficient. It'll also help beginners to start programming Go-based applications.Beginning Go Programming begins by explaining the programming fundamentals of the Go language, including basic syntax, data type and structures, and the use of functions and methods. Next, it covers string formatting, Unicode data handling, and how to use regular expressions in Go. Further, it discusses how to encode and decode JSON formatted data for Go applications, and how to work with HTTP in Go. It concludes by exploring concurrency and covering the most powerful features of Go, as well as tips and tricks related to it.After reading this book and working through its practical examples, you will be ready to begin programming your own Go-based applications.WHAT YOU WILL LEARN* Understand the fundamentals of the Go programming language* Master the different features of Go and how to implement real-life scenarios using the language* Work with text in Go, such as string formatting and Unicode data handling* Work with HTTP in GoWHO THIS BOOK IS FORProgrammers and developers looking to learn Go programming language concepts for efficient application building.RUMEEL HUSSAIN, has a Bachelors Degree in Computer Science and is presently working as a Senior Blockchain Developer and Senior Tech Evangelist at BNB Chain (UAE), supporting the development and growth of the ecosystem. He is an information technology enthusiast with more than five years of experience leading and implementing blockchain applications and architectures, analyzing and refactoring modern programming languages like Go, troubleshooting cloud infrastructure, and assessing security risks. His current work is focused on leveraging blockchain technology and crypto to achieve the full potential of Web3 applications.MARYAM ZULFIQAR has four years of research experience and has a Masters Degree in Computer Science. She is currently working as a Tech Martian in BNB Chain (Pakistan Region). She also works as a Senior Researcher and Developer. She is passionate about developer education, especially in sharing her knowledge on topics that are "the talk of the town" in the technology field. She has also worked in the capacity of researcher and team lead roles for HEC-funded projects targeted at community growth and welfare.Chapter 1: Introduction to GoChapter Goal: Provides an overview of the Go programming language in terms of its basic features.No of pages:Sub -Topics:● Is GoLang Static-Typed or Compiled?● Is Go Object-Oriented?● Features that make Go lang the premium choice for programming● Features excluded from Go lang● Go programsChapter 2: Go BasicsChapter Goal: This chapter is intended to cover the programming fundamentals of the Go programming language. Covering basic syntax, program structure, data types, data structures, statements, functions, I/O from files, concurrency, and error handling.No of pages:Sub - Topics○ Overview■ Ancestors of Go○ Go Syntax○ Installing Go○ Go playground○ Using IDE for developing Go applications○ Getting started with programming Go applications■ Hello world!■ Different parts of Go programs■ Executing Go program■ Keywords○ Variables■ Variable data types■ Naming conventions■ Declaring variables■ Taking user input● Using scanf● Using scanln● Using bufio■ Math operators and packages● The math package● Dates and times● Operator precedence in Go○ Memory management & reference values■ New vs make● Incorrect memory allocation example● Correct memory allocation example■ Memory deallocation○ Pointers Data Type■ What is a pointer■ Declaring pointers■ Comparison with Java and C-style languages○ Ordered values in arrays and slices■ Arrays in Go● Declaring arrays● Initialising arrays● Accessing array elements● Querying the size of array● Multi-dimensional arrays [not included yet]■ Slices in Go● Defining a slice● The len() and cap() functions● Nil slice● Sub-slicing● append() and copy() functions● Sorting slices○ Maps■ Defining maps■ Adding entries in a map object■ Deleting entries from a map object■ Iterating over stored values in a map object■○ Structs Data Type■ Defining a struct■ Accessing structure members■ Structures as function arguments■ Pointers to structures○ Program flow■ If statement■ Switch statement■ For statement■ Goto statement○ Functions■ Defining a function■ Calling a function■ Returning multiple values from Function■ Function arguments■ Methods○ Read/Write text files■ Write text files■ Read text files○ HTTP Package○ JSON○ Go Recipes: Basics programming fundamentals■ Overview■ Numbers and slice in Go■ Working with maps in Go■ Go error handling■ Defer and panic recovery○ Hands-On challengeChapter 3: Working with TextChapter Goal: In this chapter, we will discuss how to work with text in Go language. Specifically, we will cover the string formatting, Unicode data handling, and how to use regular expressions in Go language.No of pages:Sub -Topics● Go String formatting and working with unicode● Case insensitive comparisons in Go● Regular expressions and reading text files with Go● Hands-On challengeChapter 4: Structs, Methods, and InterfacesChapter Goal: In this chapter, we will provide exercise related to the usage of structs, methods, and interfaces.No of pages:Sub -Topics:● Overview● Go structs, methods and interfaces○ Structs○ Methods○ Interfaces● Empty interface and working with iota in Go○ JSON Encoding/Decoding○ Generics● Hands-on challengeChapter 5: Working with JSONChapter Goal: In this chapter, we will discuss working with JSON, especially, how to encode and decode the JSON formatted data for use in Go applications.No of pages:Sub -Topics:● Overview● Unmarshalling JSON with GO● Parsing complex JSON with Go● Marshalling JSON with Go● Dealing with zero and missing values in Go● Using mapstructure to handle arbitrary JSONChapter 6: HTTPChapter Goal: In this chapter, we cover on how to work with HTTP in Go language. No of pages:Sub -Topics● Overview● HTTP calls in Go● Authentication and Writing an HTTP server in Go● REST with gorilla/mux● Hands-on challengeChapter 7: ConcurrencyChapter Goal: Go has rich support for concurrency using goroutines and channels. In this chapter, we discuss the most powerful feature of the Go Language, i.e., concurrency.No of pages:Sub -Topics● Understanding goroutines○ Converting sequential code to concurrent in Go● Using Goroutines with shared resources○ Seeing how shared resources impact goroutines○ Accessing shared resources using mutual exclusion○ Using atomic counters for modifying shared resources● Synchronizing Goroutines○ Timeouts in Go○ sync.WaitGroup and sync.Once○ Using a pool of goroutines○ sync/atomic● Hands-on ChallengeChapter 8: Tips & TricksChapter Goal: this chapter we cover different tips and tricks related to the Go language.No of pages:Sub -Topics● Alternate ways to import packages○ goimports○ Organization● Custom constructors● Breaking down code into packages● Sets● Dependency package management● Using errors● Quick look at some compiler’s optimizations● Set the build id using git’s SHA● How to see what packages my app imports● Iota: Elegant Constants○ Auto Increment○ Custom Types
Beginning Salesforce DX
Refer to the practical guidance provided in this book to develop Salesforce custom applications in a more agile, collaborative, and resilient way using Salesforce Developer Experience (DX).You will learn how to use the Salesforce Command Line Interface (CLI) to simplify working with projects, metadata, data and orgs. The CLI integrates with your development tools of choice such as Visual Studio Code, and CI/CD tools to implement DevOps pipelines. Readers will also gain an understanding of the package development model, which improves application quality and maintainability by grouping metadata into highly cohesive, loosely coupled containers.Salesforce DX supports application development throughout the entire development lifecycle where a version control system, rather than a Salesforce org, is the source of truth. It became generally available in late 2017 and has now reached a stage of feature richness and stability that it is becoming more widely adopted.Beginning Salesforce DX provides development teams with practical, how-to examples of using Salesforce DX that go beyond the Salesforce documentation. Commands and their parameters are described, including any gotchas, and the outcome of the commands on a Salesforce org is explained.WHAT YOU WILL LEARN• How to setup a Salesforce DX development environment• Understand the key Salesforce DX concepts and the Salesforce CLI• Work with Dev Hubs, projects, orgs, metadata and version control systems• Improve quality with test users and test data• Bootstrap pro-code development with templates• Apply Salesforce DX to an end-to-end package development projectWHO THIS BOOK IS FORInternal teams developing custom Salesforce applications for an individual customer, or those creating commercial applications for distribution via the Salesforce AppExchange enterprise marketplace. All team disciplines will benefit from understanding and applying Salesforce DX, including pro-code, low-code and no-code developers, testers, release managers, DevOps engineers and administrators. A secondary audience includes those needing to understand key concepts when establishing or evolving an organisation’s application lifecycle management capability, such as capability leaders, architects, consultants and business analysts.After graduating from Lancaster University with a degree in Electrical and Electronic Engineering, Ivan spent the first 15 years of his career in the aerospace and defense industry, designing, writing and testing safety-critical embedded software.During the second half of his career, he held several C-level technology and product leadership roles, helping B2B software companies bring innovative new solutions to market. Domains included games software development tools, information management and security, mobile network optimization, mobile network renewable energy, public cloud application development and artificial intelligence.More recently, Ivan has focused on creating products that are built on or that integrate with, Salesforce. He has launched five Salesforce AppExchange apps, including his own, and an AI platform that integrates with Service Cloud to provide customer service automation.Ivan then joined Salesforce as a Senior Program Architect in Australia, working with some of their largest and most complex multi-cloud customers on enterprise transformation projects to help accelerate their time to value.In September 2022, Ivan joined Provar Testing as their Chief Technology Officer in the UK. Provar provides an end-to-end test automation solution designed especially for Salesforce.Ivan enjoys running, walking his two dogs, supporting his local rugby union team and listening to his extensive vinyl collection in his spare time.FORWARDINTRODUCTIONPART ICHAPTER 1. HOW TO INSTALL THE SALESFORCE DX DEVELOPMENT TOOLSETCHAPTER 2. INTRODUCTION TO THE CORE SALESFORCE DX TOOLS AND CONCEPTSCHAPTER 3. OVERVIEW OF THE DEVELOPMENT MODELS THAT SFDX SUPPORTSCHAPTER 4. SAMPLE PROJECT DEVELOPMENT LIFECYCLE WALKTHROUGHPART IICHAPTER 5. CUSTOMIZING SERVICE CLOUDCHAPTER 6. CUSTOMIZING LIGHTNING SERVICE CONSOLECHAPTER 7. CUSTOMIZING LIGHTNING COMMUNITYCHAPTER 8. CUSTOMIZING LIGHTNING KNOWLEDGECHAPTER 9. CUSTOMIZING OMNI-CHANNELCHAPTER 10. CUSTOMIZING MESSAGINGCHAPTER 11. CUSTOMIZING CHATCHAPTER 12. SUMMARY
Beginning Programming with Python For Dummies
CREATE SIMPLE, EASY PROGRAMS IN THE POPULAR PYTHON LANGUAGEBeginning Programming with Python For Dummies is the trusted way to learn the foundations of programming using the Python programming language. Python is one of the top-ranked languages, and there’s no better way to get started in computer programming than this friendly guide. You’ll learn the basics of coding and the process of creating simple, fun programs right away. This updated edition features new chapters, including coverage of Google Colab, plus expanded information on functions and objects, and new examples and graphics that are relevant to today’s beginning coders. Dummies helps you discover the wealth of things you can achieve with Python.* Employ an online coding environment to avoid installation woes and code anywhere, any time * Learn the basics of programming using the popular Python language * Create easy, fun projects to show off your new coding chops * Fix errors in your code and use Python with external data sets Beginning Programming with Python For Dummies will get new programmers started—the easy way.JOHN MUELLER is an experienced technology writer with more than 100 titles to his name. He has experience with networking, AI, data, and programming. He is the author of the previous editions of Beginning Programming with Python For Dummies and many other For Dummies titles. Introduction 1PART 1: GETTING STARTED WITH PYTHON 7Chapter 1: Talking to Your Computer 9Chapter 2: Working with Google Colab 23Chapter 3: Interacting with Python 41Chapter 4: Writing Your First Application 57Chapter 5: Performing Magic 79PART 2: TALKING THE TALK 93Chapter 6: Storing and Modifying Information 95Chapter 7: Managing Information 107Chapter 8: Making Decisions 127Chapter 9: Performing Repetitive Tasks 143Chapter 10: Dealing with Errors 157PART 3: PERFORMING COMMON TASKS 187Chapter 11: Interacting with Packages 189Chapter 12: Working with Strings 215Chapter 13: Managing Lists 239Chapter 14: Collecting All Sorts of Data 257Chapter 15: Creating and Using Classes 279PART 4: PERFORMING ADVANCED TASKS 301Chapter 16: Storing Data in Files 303Chapter 17: Sending an Email 321PART 5: THE PART OF TENS 337Chapter 18: Ten Amazing Programming Resources 339Chapter 19: Ten Ways to Make a Living with Python 349Chapter 20: Ten Tools That Enhance Your Python Experience 357Chapter 21: Ten (Plus) Libraries You Need to Know About 369Index 379