Programmierung
ESP32 steuert Roboterfahrzeug
• Open-Source-Code mit Arduino IDE und PlatformIO• Autonomes Fahren: GPS, Accelerometer, Gyroskop• PS3-ControllerMikrocontroller wie der Arduino und Einplatinenrechner wie der Raspberry Pi haben sich zu beliebten Komponenten entwickelt. Dritter im Bunde ist der ESP32 der Firma Espressif. Mikrocontroller dieser Baureihe zeichnen sich durch eine Vielzahl implementierter Funktionen aus, die bei einem Arduino konventioneller Prägung mit einem Atmel-AVR-Mikrocontroller erst mit weiterer Hardware möglich sind. Prominentes Beispiel sind hier die WiFi- und Bluetooth- Funktionalitäten. Gegenüber einem Raspberry Pi zeichnen sie sich durch einen deutlich geringeren Preis aus.Allgemeine Informationen für die Realisierung eines Roboterauto- Projekts mit dem ESP32 sind leicht zu finden. Dabei handelt es sich aber oft nur um Ausführungen zu einem Teilaspekt, ohne inhaltliche oder funktionale Abstimmung. So ist nicht nur die Beschaffung der benötigten Informationen mühselig und zeitaufwändig, sie kann auch außerordentlich fehlerträchtig sein.Ansatzpunkt dieses Buches ist, diese Lücke zu schließen. Es geht auf verschiedene Möglichkeiten eines Chassis ein, vermittelt nötige Kenntnisse und führt schrittweise von einer einfachen Motorsteuerung zu einem komplexen sensor- und sprachgesteuerten Roboterauto. Hacks rund um GPS und eine Playstation 3 runden die Sache ab.InhaltBei der Reihenfolge der Kapitel wurde versucht – beginnend bei der Darstellung von grundlegenden Informationen – über die Lösung einfacher Aufgaben zu etwas anspruchsvolleren Techniken zu führen.> Der Mikrocontroller ESP32> Die Software erstellen> Die Stromversorgung> Rund um die Hardware> Das Chassis> Der Gleichstrommotor> Kabellose Steuerung über WiFi> Mit Sensoren Hindernisse erkennen> Eine eigene Roboterauto-App> Servo und Lichtsensor> GPS> Accelerometer / Gyroskop> PS3-Controller> Roboterauto-AppUdo Brandes war lange Jahre als Systementwickler beim Rechenzentrum der Finanzverwaltung des Landes Nordrhein-Westfalen tätig. Verschiedene Aufgaben bei der Stadt Wuppertal markierten seinen weiteren beruflichen Weg. Seit einigen Jahren arbeitet er als selbstständiger Programmierer, IT-Entwickler und Autor. Ansätze und Möglichkeiten der Mikrocontrollerprogrammierung sind Zukunftsthemen, die den Autor faszinieren und mit deren Chancen und Risiken er sich seit langem intensiv befasst.
Drawing Product Ideas
EXPLORE STRAIGHTFORWARD DRAWING SKILLS TO HELP YOU COMMUNICATE PRODUCT IDEAS EXPONENTIALLY FASTER THAN YOU COULD WITH TEXTIn Drawing Product Ideas: Fast and Easy UX Drawing for Anyone, RSA Fellow and Google Data Visualization Lead, Kent Eisenhuth delivers a new and exciting guide to effectively communicating product ideas by drawing just two simple things: boxes and lines! In the book, you'll learn why drawing is important and how it supports the design thinking process. You'll also discover how to build your drawing toolkit by exploring your own personal drawing style.The author also includes:* Strategies for how to use your drawing to support your solutions to real-world problems* Tips and tricks for applying your new drawing skills in a workshop setting, in real-time* An illuminating foreword by the celebrated Manuel Lima, a Fellow of the Royal Society of ArtsAn essential volume for engineers, researchers, and product managers, Drawing Product Ideas is also an indispensable blueprint for anyone seeking to improve their public, ad-hoc drawing skills.Foreword ixPreface xiIntroduction xvCHAPTER 1 WHY DRAW? 1Explore an Idea 2Gain a Shared Understanding 5Improve Collaboration 7Anyone Can Draw 7Right Time and Place 10CHAPTER 2 REFRAMING OUR THINKING 15Breaking It Down 17Introducing the System 19Common Drawings 23CHAPTER 3 LINES AND POINTS 33Telling Stories with Lines 34Making Meaning with Points 42Tools and Materials 45CHAPTER 4 BUILDING FROM RECTANGLES 47Creating Diagrams 48Content Elements 55Navigation Elements 58Forms 65CHAPTER 5 BUILDING FROM CIRCLES, TRIANGLES, AND MORE 81Circular Elements 81Triangular Elements 89Advanced Icons and Symbols 92Representing Interactions 98CHAPTER 6 ILLUSTRATING LIGHT, MOTION, AND OTHER CONCEPTS 103Shading Techniques 103Using Accent Marks 105Looking at Lighting 105Using Elevation 110Using Texture 116Capturing Motion 119Conveying Luminance 120Communicating Sound 121CHAPTER 7 THE SYSTEM 127Putting It Together 128Creating Something New 134CHAPTER 8 USING FLOWS TO TELL STORIES 139Starting with the Syntax 139Showing Interactions 142Just Enough Information 144Depicting Transitions 145Labels and Annotations 147Being Conscious of Composition 150CHAPTER 9 TELLING ENGAGING STORIES 157Real-WorldConstraints 160Invoking Emotion 166Adapting the Visual Language 170Wayfinding and Landmarks 174Choreography and Timing 178Packaging Your Drawings 180CHAPTER 10 MOVING FORWARD 183Works Cited 185Index 187
C# für Kids
Einfacher Einstieg in die C#-Programmierung mit vielen Schritt-für-Schritt-Anleitungen Zahlreiche kleine Spiele programmieren wie ein Quiz, ein Würfel-Glücksspiel und eine Spinnen-Animation Mit Fragen und Aufgaben am Ende jedes Kapitels sowie Code zum Download Hans-Georg Schumann zeigt in einfachen Schritten, wie du in die Programmiersprache C# einsteigst und schnell erste Programme schreibst. Anhand selbst programmierter Spiele erfährst du, wie du Buttons und Labels anlegst, mit Variablen umgehst und Klassen festlegst. Die frei verfügbare Community-Version der Entwicklungsumgebung Visual Studio hilft dir, wie ein Profi zu programmieren bis hin zur Objektorientierten Programmierung. Du lernst, Schaltflächen zu verwenden, ein Quiz zu entwickeln und sogar eine Spinne über den Bildschirm zu jagen. So wird dir das Programmieren richtig Spaß machen! Zwischendurch kannst du immer wieder Fragen und Aufgaben beantworten, um das Gelernte zu festigen. Die richtigen Antworten und Lösungen sowie alle Codebeispiele findest du im Internet zum Download. Aus dem Inhalt: Mit C# ein erstes kleines Programm schreiben Was eine Entwicklungsumgebung ist und wie du z.B. mit Visual Studio programmierst Variablen und Kontrollstrukturen im ersten Projekt kennenlernen Kleine Spiele entwickeln: Zensuren umrechnen und Zahlen raten Grundlagen der Objektorientierten Programmierung Eine Lottoziehung und ein Rätselspiel programmieren Den Wortschatz von C# selber erweitern Mit Kapselung und Vererbung umgehen lernen Hilfreiche Buttons und andere optische Komponenten verwenden Die grafischen Möglichkeiten von C# nutzen Gleichzeitig spielen und lernen: ein größeres Quizprojekt programmieren Viele Anregungen für eigene Spiele: vom Würfel-Glücksspiel bis zur Spinnen-Animation Ausführlicher Anhang zur Installation und zur Fehlersuche Hans-Georg Schumann war Informatik- und Mathematiklehrer an einer Gesamtschule. Er hat bereits viele erfolgreiche Bücher in der mitp-Buchreihe »... für Kids« geschrieben.
Drawing Product Ideas
EXPLORE STRAIGHTFORWARD DRAWING SKILLS TO HELP YOU COMMUNICATE PRODUCT IDEAS EXPONENTIALLY FASTER THAN YOU COULD WITH TEXTIn Drawing Product Ideas: Fast and Easy UX Drawing for Anyone, RSA Fellow and Google Data Visualization Lead, Kent Eisenhuth delivers a new and exciting guide to effectively communicating product ideas by drawing just two simple things: boxes and lines! In the book, you'll learn why drawing is important and how it supports the design thinking process. You'll also discover how to build your drawing toolkit by exploring your own personal drawing style.The author also includes:* Strategies for how to use your drawing to support your solutions to real-world problems* Tips and tricks for applying your new drawing skills in a workshop setting, in real-time* An illuminating foreword by the celebrated Manuel Lima, a Fellow of the Royal Society of ArtsAn essential volume for engineers, researchers, and product managers, Drawing Product Ideas is also an indispensable blueprint for anyone seeking to improve their public, ad-hoc drawing skills.Foreword ixPreface xiIntroduction xvCHAPTER 1 WHY DRAW? 1Explore an Idea 2Gain a Shared Understanding 5Improve Collaboration 7Anyone Can Draw 7Right Time and Place 10CHAPTER 2 REFRAMING OUR THINKING 15Breaking It Down 17Introducing the System 19Common Drawings 23CHAPTER 3 LINES AND POINTS 33Telling Stories with Lines 34Making Meaning with Points 42Tools and Materials 45CHAPTER 4 BUILDING FROM RECTANGLES 47Creating Diagrams 48Content Elements 55Navigation Elements 58Forms 65CHAPTER 5 BUILDING FROM CIRCLES, TRIANGLES, AND MORE 81Circular Elements 81Triangular Elements 89Advanced Icons and Symbols 92Representing Interactions 98CHAPTER 6 ILLUSTRATING LIGHT, MOTION, AND OTHER CONCEPTS 103Shading Techniques 103Using Accent Marks 105Looking at Lighting 105Using Elevation 110Using Texture 116Capturing Motion 119Conveying Luminance 120Communicating Sound 121CHAPTER 7 THE SYSTEM 127Putting It Together 128Creating Something New 134CHAPTER 8 USING FLOWS TO TELL STORIES 139Starting with the Syntax 139Showing Interactions 142Just Enough Information 144Depicting Transitions 145Labels and Annotations 147Being Conscious of Composition 150CHAPTER 9 TELLING ENGAGING STORIES 157Real-WorldConstraints 160Invoking Emotion 166Adapting the Visual Language 170Wayfinding and Landmarks 174Choreography and Timing 178Packaging Your Drawings 180CHAPTER 10 MOVING FORWARD 183Works Cited 185Index 187
A Practical Guide to Verilog-A
Discover how Verilog-A is particularly designed to describe behavior and connectivity of circuits and system components for analog SPICE-class simulators, or for continuous time (SPICE-based) kernels in Verilog-AMS simulators. With continuous updates since it’s release 30 years ago, this practical guide provides a comprehensive foundation and understanding to the modeling language in its most recent standard formulation.With the introduction of language extensions to support compact device modeling, the Verilog-A has become today de facto standard language in the electronics industry for coding compact models of active and passive semiconductor devices. You'll gain an in depth look at how analog circuit simulators work, solving system equations, modeling of components from other physical domains, and modeling the same physical circuits and systems at various levels of detail and at different levels of abstraction.All industry standard compact models released by Si2 Compact Model Coalition (CMC) as well as compact models of emerging nano-electronics devices released by New Era Electronic Devices and Systems (NEEDS) initiative are coded in Verilog-A. This book prepares you for the current trends in the neuromorphic computing, hardware customization for artificial intelligence applications as well as circuit design for internet of things (IOT) will only increase the need for analog simulation modeling and make Verilog-A even more important as a multi-domain component-oriented modeling language.Let A Practical Guide to Verilog-A be the initial step in learning the extended mixed-signal Verilog-AMS hardware description language.WHAT YOU'LL LEARN* Review the hardware description and modeling language Verilog-A in its most recent standard formulation.* Code new compact models of active and passive semiconductor devices as well as new models for emerging circuit components from different physical disciplines.* Extend the application of SPICE-like circuit simulators to non-electronics field (neuromorphic, thermal, mechanical, etc systems).* Apply the initial steps towards the extended mixed-signal Verilog-AMS hardware description language.WHO THIS BOOK IS FORElectronic circuit designers and SPICE simulation model developers in academia and industry. Developers of electronic design automation (EDA) tools. Engineers, scientists and students of various disciplines using SPICE-like simulators for research and development.Dr. Slobodan Mijalkovic is a Senior R&D Engineer at Silvaco, Inc., specialized in semiconductor device and integrated circuit modeling for electronic design automation (EDA) software tools. Before joining Silvaco Europe, he was a Principal Researcher in HiTeC Laboratory at Delft University of Technology in the Netherlands, where he led a team for standardization of the Mextram bipolar transistor model with Compact Model Coalition (CMC). Formerly, he was an Assistant and an Associate Professor with the Department of Microelectronics at Faculty of Electronics Engineering, University of Nis in Serbia (Yugoslavia).Dr. Mijalkovic has authored 50 cited publications including the monograph “Multigrid Methods for Process Simulation” published by Springer. In the period 2002-2006 he has set and chaired four editions of “Compact Modeling for RF Application (CMRF)” workshops that strongly contributed to the acceptance of Verilog-A as a standard compact modeling language. He is a senior Member of IEEE and currently a member of the IEEE EDS Compact Modeling Committee.Chapter 1: IntroductionChapter Goal: Verilog-A delineation. Comparison to other HDLs and modeling languages. Book organization.Chapter 2: The Lexical Basis of Verilog-AChapter Goal: Introducing Verilog-A lexical tokens, token separators as well as basic token groups and token containers.Chapter 3: Basic Types and ExpressionsChapter Goal: Introducing integer, real and string data types and how expressions are assembled for different types using operators.Chapter 4: Nets and SignalsChapter Goal: Introducing the concept of nets and signals defined by nature and net_discipline types.Chapter 5: Modules and NetlistsChapter Goal: Introducing modules, as basic units of hierarchy in Verilog-A language, and their instantiation in SPICE and Verilog-A netlists.Chapter 6: Parameters and ParamsetsChapter Goal: Introducing the concept of parameters, customization of modules by passing parameters into a module at instantiation and the concept of instance and model parameters defined via paramsets.Chapter 7: Branch Contribution StatementsChapter Goal: Introducing the concept of analog branch assignments and signal access mechanisms.Chapter 8: Procedural StatementsChapter Goal: Introducing analog procedural block and procedural control statements.Chapter 9: Derivative and Integral OperatorsChapter Goal: Detailed description of analog functions used to perform differentiation and integration in time.Chapter 10: Built-in Mathematical FunctionsChapter Goal: Define all Verilog-A standard mathematical function.Chapter 11: User Defined FunctionsChapter Goal: Describe how to write modular, maintainable and reusable models in Verilog-A using user defined functions.Chapter 12: Analog Filter FunctionsChapter Goal: Introducing Verilog-A time and frequency domain filter functions and their usage with constant and dynamic arguments.Chapter 13: Look-Up Table ModelsChapter Goal: Describing how to create a multidimensional interpolation lookup-up table models in Verilog-AChapter 14: Small Signal and Noise SourcesChapter Goal: Introducing Verilog-A functions supporting small signal and noise analysis in SPICE simulators.Chapter 15: EventsChapter Goal: Introducing methods to control analog behaviour of the component models in Verilog-A.Chapter 16: Input and OutputChapter Goal: Describe methods and functions to read and write formatted data.Chapter 17: Simulator Query and Control MethodsChapter Goal: Describing the methods to access the simulator kernel parameters in the Verilog-A model.Chapter 18: AttributesChapter Goal: Introducing attributes as a mechanism for specifying properties about objects, statements and groups of statements in the Verilog-A source that can be used by the simulator.Chapter 19: Compiler DirectivesChapter Goal: Introducing compiler directives that dictate Verilog-A compiler behaviour in a pre-processingcompilation phase.Chapter 20: SPICE CompatibilityChapter Goal: Describes the degree of compatibility with SPICE-like simulators which Verilog-A provides and the approach taken to provide that compatibility.
Practical MATLAB Deep Learning
Harness the power of MATLAB for deep-learning challenges. Practical MATLAB Deep Learning, Second Edition, remains a one-of a-kind book that provides an introduction to deep learning and using MATLAB's deep-learning toolboxes. In this book, you’ll see how these toolboxes provide the complete set of functions needed to implement all aspects of deep learning. This edition includes new and expanded projects, and covers generative deep learning and reinforcement learning.Over the course of the book, you'll learn to model complex systems and apply deep learning to problems in those areas. Applications include:* Aircraft navigation* An aircraft that lands on Titan, the moon of Saturn, using reinforcement learning* Stock market prediction* Natural language processing* Music creation usng generative deep learning* Plasma control* Earth sensor processing for spacecraft* MATLAB Bluetooth data acquisition applied to dance physics WHAT YOU WILL LEARN* Explore deep learning using MATLAB and compare it to algorithms* Write a deep learning function in MATLAB and train it with examples* Use MATLAB toolboxes related to deep learning* Implement tokamak disruption prediction* Now includes reinforcement learningWHO THIS BOOK IS FOREngineers, data scientists, and students wanting a book rich in examples on deep learning 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' 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' current extensive product line. He is currently leading an 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 U.S. 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' 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 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' Attitude and Orbit Control textbook, featuring examples using the Spacecraft Control Toolbox, and written many software User's 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 Air Force, and the European Space Agency.ERIC HAM is a a Technical Specialist, Princeton Satellite Systems. His expertise lies with deep learning, programming using MATLAB, C++ and related.1. What is deep learning? – no changes except editoriala. Machine learning vs. deep learningb. Approaches to deep learningc. Recurrent deep learningd. Convolutional deep learning2. MATLAB machine and deep learning toolboxesa. Describe the functionality and applications of each toolboxb. Demonstrate MATLAB toolboxes related to Deep Learningc. Include the text toolbox generative toolbox and reinforcement learning toolboxd. Add more detail on each3. Finding Circles – no changes except editorial.4. Classifying movies – no changes except editorial.5. Tokamak disruption detection – this would be updated.6. Classifying a pirouette – no changes except editorial.7. Completing sentences - This would be revamped using the MATLAB Text Processing Toolbox.8. Terrain based navigation-The example in the original book would be changed to a regression approach that can interpolate position. We would switch to a terrestrial example applicable to drones.9. Stock prediction – this is a very popular chapter. We would improve the algorithm.10. Image classification – no changes except editorial.11. Orbit Determination – add inclination to the algorithm.12. Earth Sensors – a new example on how to use neural networks to measure roll and yaw from any Earth sensor.13. Generative deep learning example. This would be a neural network that generates pictures after learning an artist’s style.14. Reinforcement learning. This would be a simple quadcopter hovering control system. It would be simulation based although readers would be able to apply this to any programmable quadcopter.
Einstieg in Visual Basic mit Visual Studio 2022
Sie möchten das Programmieren mit Visual Basic lernen? Dann führt Sie dieses Buch schnell und sicher zum Ziel. An anschaulichen und leicht nachvollziehbaren Beispielen lernen Sie alle wichtigen Themen kennen: Grundlagen zu Variablen, Operatoren, Schleifen und Co., objektorientierte Programmierung, GUI-Programmierung mit Windows Forms, Fehlerbehandlung und Entwicklung von Datenbankanwendungen. Auch in die Entwicklung von GUIs mit der Windows Presentation Foundation werden Sie eingeführt. Ausführliche Schritt-für-Schritt-Anleitungen und regelmäßige Zusammenfassungen sichern Ihren Lernerfolg. Ihr neu gewonnenes Wissen können Sie an einer Vielzahl von Übungsaufgaben unter Beweis stellen und an Musterlösungen überprüfen. So werden Sie schon bald selbstständig eigene Windows-Programme entwickeln. Aus dem Inhalt: VB-Sprachgrundlagen.NET 6 und Visual Studio 2022Einführung in die Windows-ProgrammierungFehlerbehandlungObjektorientierte ProgrammierungWichtige KlassenDatenbank-AnwendungenZeichnen mit GDI+Einführung in Windows Presentation FoundationVerteilung von ProgrammenÜbungen und Musterlösungen Materialien zum Buch ... 18 1. Einführung ... 19 1.1 ... Visual Basic .NET, ein moderner Klassiker ... 19 1.2 ... Visual Basic .NET und Visual Studio ... 20 1.3 ... Aufbau dieses Buchs ... 21 1.4 ... Visual Studio 2022 ... 21 1.5 ... Mein erstes Windows-Programm ... 22 1.6 ... Visual-Studio-Entwicklungsumgebung ... 22 1.7 ... Ausgaben ... 36 1.8 ... Arbeiten mit Steuerelementen ... 41 2. Grundlagen ... 49 2.1 ... Variablen und Datentypen ... 49 2.2 ... Operatoren ... 60 2.3 ... Einfache Steuerelemente ... 67 2.4 ... Verzweigungen mit »If« und »IIf()« ... 75 2.5 ... Verzweigungen mit »Select« und »Case« ... 85 2.6 ... Verzweigungen und Steuerelemente ... 88 2.7 ... Schleifen ... 97 2.8 ... Schleifen und Steuerelemente ... 106 3. Fehlerbehandlung ... 119 3.1 ... Entwicklung eines Programms ... 119 3.2 ... Fehlerarten ... 120 3.3 ... Syntaxfehler ... 120 3.4 ... Laufzeitfehler und Exception Handling ... 123 3.5 ... Logische Fehler und Debuggen ... 127 4. Erweiterte Grundlagen ... 131 4.1 ... Steuerelemente aktivieren ... 131 4.2 ... Bedienung per Tastatur ... 136 4.3 ... Ereignisgesteuerte Programmierung ... 138 4.4 ... Datenfelder ... 145 4.5 ... Methoden ... 157 4.6 ... Nullbare Datentypen ... 171 4.7 ... Konsolenanwendung ... 176 4.8 ... Tupel ... 183 5. Objektorientierte Programmierung ... 191 5.1 ... Was ist Objektorientierung? ... 191 5.2 ... Klasse, Eigenschaft, Methode, Objekt ... 192 5.3 ... Eigenschaftsmethode ... 196 5.4 ... Konstruktor ... 198 5.5 ... Namensräume ... 201 5.6 ... Referenzen, Vergleiche und Typen ... 202 5.7 ... Operatormethoden ... 209 5.8 ... Statische Elemente ... 214 5.9 ... Delegates ... 217 5.10 ... Vererbung ... 220 5.11 ... Polymorphie ... 225 5.12 ... Abstrakte Klassen ... 228 5.13 ... Schnittstellen ... 232 5.14 ... Strukturen ... 235 5.15 ... Generische Datentypen ... 239 5.16 ... Erweiterungsmethoden ... 249 5.17 ... Eigene Klassenbibliotheken ... 252 5.18 ... Mehrere Formulare ... 254 6. Wichtige Klassen in .NET ... 261 6.1 ... Zeichenketten ... 261 6.2 ... Datum und Uhrzeit ... 274 6.3 ... Textdateien ... 281 6.4 ... XML-Dateien ... 288 6.5 ... Verzeichnisse ... 295 6.6 ... Mathematische Funktionen ... 301 7. Weitere Elemente eines Windows-Programms ... 307 7.1 ... Hauptmenü ... 307 7.2 ... Kontextmenü ... 315 7.3 ... Symbolleiste ... 317 7.4 ... Statusleiste ... 320 7.5 ... Dialogfeld »InputBox« ... 322 7.6 ... Dialogfeld »MessageBox« ... 325 7.7 ... Standarddialogfelder ... 329 7.8 ... Steuerelement »RichTextBox« ... 335 7.9 ... Steuerelement »ListView« ... 337 7.10 ... Steuerelement »DataGridView« ... 340 8. Datenbankanwendungen ... 345 8.1 ... Was sind relationale Datenbanken? ... 345 8.2 ... Anlegen einer Datenbank in MS Access ... 354 8.3 ... Datenbankzugriff mit Visual Basic .NET in Visual Studio ... 360 8.4 ... SQL-Befehle ... 368 8.5 ... Ein Verwaltungsprogramm ... 380 8.6 ... Verbindung zu MySQL ... 387 8.7 ... Verbindung zu SQLite ... 389 8.8 ... Datenbank mit mehreren Tabellen ... 392 9. Zeichnen mit GDI+ ... 437 9.1 ... Grundlagen von GDI+ ... 437 9.2 ... Linie, Rechteck, Polygon und Ellipse zeichnen ... 437 9.3 ... Text zeichnen ... 442 9.4 ... Bilder darstellen ... 445 9.5 ... Dauerhaft zeichnen ... 446 9.6 ... Zeichnen einer Funktion ... 447 10. Beispielprojekte ... 451 10.1 ... Spielprogramm »Tetris« ... 451 10.2 ... Lernprogramm »Vokabeln« ... 463 11. Windows Presentation Foundation ... 473 11.1 ... Layout ... 474 11.2 ... Steuerelemente ... 477 11.3 ... Anwendung mit Navigation ... 480 11.4 ... Zweidimensionale Grafik ... 483 11.5 ... Dreidimensionale Grafik ... 486 11.6 ... Animation ... 490 A. Installation und technische Hinweise ... 495 Index ... 499
Job Ready Go
TACKLE GOLANG WITH PRACTICAL AND EMPLOYMENT-FOCUSED INSTRUCTIONIn Job Ready Go, software education guru Dr. Haythem Balti delivers an essential and hands-on guide to Go, an open-source programming language developed by Google engineers to combine the most sought-after capabilities of other programming languages, including Java, C#, and C++. In the book, the author walks you through all the most critical skills necessary for successful, on-the-job Go programming. You’ll discover:* How to get started with Go, including how to run, build, and test your own go programs* Understand control flow and data structures in Go including arrays, slices, maps, and pointerss* How to leverage structs, interfaces, and methods to organize and reuse code* How to leverage go to process data, access different types of files and develop APIs* Leverage concurrency and gRPCs to create complex and interconnected systems. Job Ready Go offers readers straightforward and elegant instruction based on the renowned mthree Global Academy and Software Guild training program. It’s an essential read for aspiring Go developers looking for a fast-track to developing real-world skills demanded by employers. HAYTHEM BALTI, PHD, is an associate dean at Wiley Edge. He has created courses used by thousands of Software Guild and Wiley Edge (formerly mthree) alumni to learn Go, Java, Python, and other development and data science skills. KIMBERLY A. WEISS is a Senior Manager of Curriculum Operations for Wiley Edge. She has worked with multiple universities as well as corporate training settings to develop interactive instructional content appropriate for the target learners and course goals, specializing in software development courses. About the Authors vAbout the Technical Writer viAbout the Technical Editor viiAcknowledgments viiiIntroduction xxiPART I: THE BASICS OF THE GO PROGRAMMING LANGUAGE 1Lesson 1: Getting Started with Go 3Lesson 2: Understanding Go Basics 21Lesson 3: Storing with Variables 39Lesson 4: Performing Operations 69Lesson 5: Controlling Program Flow with Conditional Statements 99Lesson 6: Controlling Program Flow with Loops 123Lesson 7: Pulling It All Together: Income Tax Calculator 145PART II: ORGANIZING CODE AND DATA IN GO 173Lesson 8: Using Functions 175Lesson 9: Accessing Arrays 195Lesson 10: Working with Pointers 215Lesson 11: Organizing with Structs 237Lesson 12: Accessing Slices 263Lesson 13: Manipulating Maps 287Lesson 14: Creating Methods 305Lesson 15: Adding Interfaces 325Lesson 16: Pulling It All Together: Building a Burger Shop 343PART III: CREATING JOB READY SOLUTIONS IN GO 377Lesson 17: Handling Errors 379Lesson 18: Concurrency 395Lesson 19: Sorting and Data Processing 421Lesson 20: File I/O and OS Operations 453Lesson 21: Pulling It All Together: Word Analysis in Go 485PART IV: ADVANCED TOPICS FOR GO DEVELOPMENT 525Lesson 22: Testing 527Lesson 23: API Development Tutorial 561Lesson 24: Working with gRPC 591Lesson 25: Pulling It All Together: Using Smart Data 607Lesson 26: Using Modules 645Appendix: File Permissions and Access Rights 651Index 655
Microsoft Azure for Java Developers
Learn Azure-based features to build and deploy Java applications on Microsoft’s Azure cloud platform. This book provides examples of components on Azure that are of special interest to Java programmers, including the different deployment models that are available. The book shows how to deploy your Java applications in Azure WebApp, Azure Kubernetes Service, Azure Functions, and Azure Spring Cloud. Also covered is integration with components such as Graph API, Azure Storage, Azure Redis Cache, and Azure SQL.The book begins with a brief discussion of cloud computing and an introduction to Java support on Azure. You’ll then learn how to deploy Java applications using each of the deployment models, and you’ll see examples of integrating with Azure services that are of particular interest to Java programmers. Security is an important aspect, and this book shows you how to enable authentication and authorization for your Java applications using Azure Active Directory.Implementing a DevOps strategy is essential in today’s market when building any application. Examples in this book show you how to build continuous integration and continuous deployment pipelines to build and deploy Java applications on Azure. The book focuses on the best practices you should follow while designing and implementing Java applications on Azure. The book also elaborates on monitoring and debugging Java applications running on Azure using Application Insights and Azure Monitor.WHAT YOU WILL LEARN* Design and build Azure-based Java applications* Run Azure-based Java applications on services such as Azure App Services, Azure Spring Cloud, Azure Functions, and Azure Kubernetes Service* Integrate Azure services such as Azure SQL, Azure Storage Account, Azure Redis Cache, Azure Active Directory, and more with Java applications running on Azure * Monitor and debug Java applications running on Azure* Secure Azure-based Java applications* Build DevOps CI/CD strategy for Azure-based Java applications* Package and deploy Azure-based Java applications on Azure WHO THIS BOOK IS FORJava developers planning to build Azure-based Java applications and deploy them on Azure. Developers should be aware of the preliminary cloud fundamentals to help them understand the Java capability available on Azure. They do not need to be an expert in Azure to grasp the book’s content and start building Java-based applications using the capability available on Azure. However, they should have a good understanding of the Java programming language and frameworks.ABHISHEK MISHRA is a Principal Cloud Architect at a leading organization and has more than 17 years of experience in building and architecting software solutions for large and complex enterprises across the globe. He has deep expertise in enabling digital transformation for his customers using the cloud and artificial intelligence. He speaks at conferences on Azure and has authored four books on Azure prior to writing this new book.IntroductionPART I. BUILDING AND DEPLOYING JAVA APPLICATIONS TO AZURE1. Getting Started with Java Development for Azure2. Java for Azure WebApp3. Java-based Azure Functions4. Containerizing Java Applications with Azure Kubernetes Service5. Running Java Applications on Azure Spring CloudPART II. INTEGRATING JAVA APPLICATIONS WITH POPULAR AZURE SERVICES6. Integrating with Azure Storage Account7. Azure SQL from Java Applications8. Work with Azure Cosmos DB9. Storing Runtime Data in Azure Redis Cache10. Sending Emails using Graph API11. Debugging and Monitoring using Azure Monitor12. Authentication and Authorization with Azure Active DirectoryPART III. DEVOPS AND BEST PRACTICES13. Provisioning Resources with Azure DevOps and Azure CLI14. Building and Deploying using Azure DevOps15. A Near-Production Azure-based Java Application
From Complex Sentences to a Formal Semantic Representation using Syntactic Text Simplification and Open Information Extraction
This work presents a discourse-aware Text Simplification approach that splits and rephrases complex English sentences within the semantic context in which they occur. Based on a linguistically grounded transformation stage, complex sentences are transformed into shorter utterances with a simple canonical structure that can be easily analyzed by downstream applications. To avoid breaking down the input into a disjointed sequence of statements that is difficult to interpret, the author incorporates the semantic context between the split propositions in the form of hierarchical structures and semantic relationships, thus generating a novel representation of complex assertions that puts a semantic layer on top of the simplified sentences. In a second step, she leverages the semantic hierarchy of minimal propositions to improve the performance of Open IE frameworks. She shows that such systems benefit in two dimensions. First, the canonical structure of the simplified sentences facilitatesthe extraction of relational tuples, leading to an improved precision and recall of the extracted relations. Second, the semantic hierarchy can be leveraged to enrich the output of existing Open IE approaches with additional meta-information, resulting in a novel lightweight semantic representation for complex text data in the form of normalized and context-preserving relational tuples. Background.- Discourse-Aware Sentence Splitting.- Open Information Extraction.- Evaluation.- Conclusion.
Web Application Development with Streamlit
Transition from a back-end developer to a full-stack developer with knowledge of all the dimensions of web application development, namely, front-end, back-end and server-side software. This book provides a comprehensive overview of Streamlit, allowing developers and programmers of all backgrounds to get up to speed in as little time as possible.Streamlit is a pure Python web framework that will bridge the skills gap and shorten development time from weeks to hours. This book walks you through the complete cycle of web application development, from an introductory to advanced level with accompanying source code and resources. You will be exposed to developing basic, intermediate, and sophisticated user interfaces and subsequently you will be acquainted with data visualization, database systems, application security, and cloud deployment in Streamlit.In a market with a surplus demand for full stack developers, this skill set could not possibly come at a better time. In one sentence, Streamlit is a means for the empowerment of developers everywhere and all stand to gain from it.WHAT YOU’LL LEARN* Mutate big data in real-time* Visualize big data interactively* Implement web application security and privacy protocols * Deploy Streamlit web applications to the cloud using Streamlit, Linux and Windows serversWHO IS THIS BOOK FOR?Developers with solid programming experience wanting to learn Streamlit; Back-end developers looking to upskill and transition to become a full-stack developers; Those who wish to learn and become more acquainted with data visualization, database systems, security and cloud deployment with SteamlitMOHAMMAD KHORASANI A hybrid of an engineer and a computer scientist with a Bachelor’s of Science in Mechanical Engineering from Texas A&M University, and a Master’s in Computer Science from the University of Illinois at Urbana-Champaign. Mohammad specializes in developing and implementing software solutions for the advancement of renewable energy systems and services at Iberdrola. In addition, he develops robotic devices using embedded systems and rapid prototyping technologies. He is also an avid blog-ger of STEM related topics on Towards Data Science - a Medium publication.MOHAMED ABDOU A Software Engineer with diverse academic and industrial exposure. A graduate of Computer Engineering from Qatar University, and currently a SDE at Amazon. Mohamed has built a variety of open source tools used by tens of thousands in the Streamlit community. He led the first Google Developer Student Club in Qatar, and represented Qatar University in national and international programming contests. He is a a cyber security enthusiast, and was ranked 2nd nationwide in bug bounty hunting in Qatar in 2020 among under 25 year old’s.JAVIER HERNANDEZ FERNANDEZ specializes in the area of technology innovation and brings over twenty years of practical experience in overseeing the design and delivery of technological developments on behalf of multi-national companies in the fields of IT, telecom, and utilities. He publishes extensively, speaks at conferences around the world, and spends his days wading through piles of academic papers in the hope of finding something interesting. He holds Masters’ degrees in both Energy Management and Project Management, in addition to a B.Sc. in Computer Science from the from the Faculty of Engineering of the University of Ottawa.PART I: INTRODUCTION TO STREAMLIT1 GETTING STARTED WITH STREAMLIT1.1 Why Streamlit?1.2 How Streamlit Works1.3 Firing it up2 STREAMLIT BASICS2.1 The Streamlit API2.2 Creating a basic appPART II: DEVELOPING ADVANCED INTERFACES AND APPLICATIONS3 ARCHITECTING STREAMLIT’S FRONT-END DESIGN3.1 Designing the application3.2 Provisioning multi-page applications3.3 Data wrangling4 GRAPHING IN DEPTH4.1 Visualization stack4.2 Exploring Plotly data visualizationsPART III: INTERFACING WITH DATABASE AND BACK-END SYSTEMS5 DATABASE INTEGRATION5.1 Relational Databases5.2 Non-relational databases6 BACK-END SERVERS6.1 The need for back-end servers6.2 Front-end/ Back-end Communication6.3 Working with JSON files6.4 Provisioning a back-end server6.5 Multi-threading and multi-processing request6.6 Connecting Streamlit to a Back-end ServerPART IV: ENFORCING APPLICATION SECURITY AND PRIVACY7 SESSION STATE7.1 Introducing session IDs7.2 Implementing session state persistently7.3 Recording user insights7.4 Implementing session state natively7.5 Cookies management8 AUTHENTICATION AND APPLICATION SECURITY8.1 Developing user accounts8.2 Verifying user credentials8.3 Secrets management8.4 Anti-SQL injection measures with SQL Alchemy8.5 Configuring Git Ignore variablesPART V: DEPLOYING STREAMLIT TO THE CLOUD9 PERSISTENT DEPLOYMENT9.1 Deployment to Streamlit Sharing9.2 Deployment to Linux9.3 Deployment to Windows Server10 EXPOSING LOCAL STREAMLIT TO THE WORLD WIDE WEB10.1 Port forwarding over network gateway10.2 Reverse Port Forwarding using NGROKPART VI: STREAMLIT CUSTOM COMPONENTS11 BUILDING STREAMLIT COMPONENTS WITH REACT.JS11.1 Introduction to Streamlit custom components11.2 Using React.js to create custom HTML components11.3 Deploying components as a Pip package12 EXTRA-STREAMLIT-COMPONENTS PACKAGE12.1 Stepper bar12.2 Splash screen . .12.3 Tab bar12.4 Cookie ManagerPART VII: STREAMLIT CASE STUDIES13 GENERAL USE CASES13.1 Data science & machine learning applications13.2 Dashboards and real-time applications13.3 Time-series applications13.4 Advanced application development14 STEAMLIT AT WORK14.1 Iberdrola Renewables14.2 DummyLearn.com
Learn JavaFX Game and App Development
Understand real-world game development concepts using JavaFX game engine called FXGL. The core focus of the book is on developing a standalone game or application with FXGL.We will start with an overview of the book followed by requisite concepts from Java and JavaFX that will be used throughout this book. Next, we will learn about the FXGL game engine and its wide range of real-world game development techniques. In the following chapter, we learn about entity-component model used in FXGL to create a powerful abstraction of the game world. The next chapter builds on this, where we develop a platformer game using the physics engine and a popular external tool called Tiled. An important concept of games AI is covered in the following chapter. Visually complex features related to graphics and rendering as well as UI elements and animation system in FXGL will be discussed in the next chapter. The following chapter is dedicated to non-game applications that can be developed using FXGL. The last two chapters cover packaging and deployment of JavaFX and FXGL applications and discussion on future projects.The key take-away skill from this book is the ability to develop professional-level applications and games with FXGL. During the course of this book, you will have produced a range of cross-platform applications and games using FXGL, reinforcing the game development concepts covered throughout.WHAT YOU WILL LEARN• Understand use of advanced Java and JavaFX concepts• Learn about real-world game development concepts in a general-purpose programming language• Master professional cross-platform, desktop and mobile, games using the FXGL game engineWHO IS THIS BOOK FORThis book is for beginners in Java and/or JavaFX who wish to develop apps and games with FXGL, while improving Java and JavaFX skills.Dr Almas Baimagambetov is a Principal Lecturer in Computer Science at the University of Brighton, UK. He has considerable software development experience and is a huge fan of open source. His prominent contributions to the JVM community on GitHub include the FXGL game engine, collaborations on numerous JavaFX projects, a wide range of open-source games, and a collection of practical tutorials. Almas also has a YouTube channel focused on Java, Kotlin, JavaFX, Unity, and Unreal Engine. Chapter 1: IntroductionChapter Goal: Sets the scene for the book, provides an overview and sets expectationsChapter 2: Requisite Java and JavaFX ConceptsChapter Goal: Covers fundamental knowledge required to understand the book contentSub-topics: Java programmingJavaFX scene graphJavaFX model of programmingJavaFX conceptsChapter 3: FXGL ArchitectureChapter Goal: Provides an overview of the FXGL architecture, features, and capabilitiesChapter 4: Entity-Component Case Study: Develop Arcade GamesChapter Goal: Introduction to entity-component model used for abstracting game worldsSub-topics:Game worldEntity-Component modelPong and Breakout style gamesChapter 5: Physics Case Study: Develop a Platformer GameChapter Goal: Introduction to lightweight and heavyweight physics engines in FXGLSub-topics:Collision detectionRigid body dynamicsMario style gameChapter 6: AI Case Study: Develop a Maze Action GameChapter Goal: Provides a foundation for using and developing AI agents in FXGLSub-topics:A* pathfindingGraph theoryComponent-driven behaviorPac-man style gameChapter 7: Graphics and UI Case Study: Develop a Top-Down Shooter GameChapter Goal: Introduction to the particle and animation systems used in FXGLSub-topics:Particle systemMulti-layer renderingAnimationsInterpolationsGeometry wars style gameChapter 8: Developing General-Purpose ApplicationsChapter Goal: Provide information on how FXGL can be used in non-game contextsChapter 9: Cross-platform DeploymentChapter Goal: Demonstrates the package and deployment process with FXGLSub-topics:jlinkNative imagesGluon toolsMobile developmentChapter 10: ConclusionChapter Goal: Recap what was covered in the chapters, provides external resources and ideas for future projects
Object Detection by Stereo Vision Images
OBJECT DETECTION BY STEREO VISION IMAGESSINCE BOTH THEORETICAL AND PRACTICAL ASPECTS OF THE DEVELOPMENTS IN THIS FIELD OF RESEARCH ARE EXPLORED, INCLUDING RECENT STATE-OF-THE-ART TECHNOLOGIES AND RESEARCH OPPORTUNITIES IN THE AREA OF OBJECT DETECTION, THIS BOOK WILL ACT AS A GOOD REFERENCE FOR PRACTITIONERS, STUDENTS, AND RESEARCHERS.Current state-of-the-art technologies have opened up new opportunities in research in the areas of object detection and recognition of digital images and videos, robotics, neural networks, machine learning, stereo vision matching algorithms, soft computing, customer prediction, social media analysis, recommendation systems, and stereo vision. This book has been designed to provide directions for those interested in researching and developing intelligent applications to detect an object and estimate depth. In addition to focusing on the performance of the system using high-performance computing techniques, a technical overview of certain tools, languages, libraries, frameworks, and APIs for developing applications is also given. More specifically, detection using stereo vision images/video from its developmental stage up till today, its possible applications, and general research problems relating to it are covered. Also presented are techniques and algorithms that satisfy the peculiar needs of stereo vision images along with emerging research opportunities through analysis of modern techniques being applied to intelligent systems. AUDIENCEResearchers in information technology looking at robotics, deep learning, machine learning, big data analytics, neural networks, pattern & data mining, and image and object recognition. Industrial sectors include automotive electronics, security and surveillance systems, and online retailers. R. AROKIA PRIYA, PHD, is Head of Electronics & Telecommunication Department at Dr. D Y Patil Institute of Engineering, Management and Research, Pune, India. She has 20 years of experience in this field as well as more than 40 publications, one patent and two copyrights to her credit.ANUPAMA V PATIL, PHD, is the Principal at Dr. D Y Patil Institute of Engineering, Management and Research, Pune, India. She has more than 30 years of experience in this field as well as more than 40 publications and 1 patent to her credit. MANISHA BHENDE, PHD, is a professor at the Marathwada Mitra Mandals Institute of Technology, Pune, India. She has 23 years of experience in this field as well as 39 research papers in international and national conferences and journals, and has published five patents and four copyrights to her credit. ANURADHA THAKARE, PHD, is a professor in the Department of Computer Engineering at Pimpri Chinchwad College of Engineering, Pune, India. She has 20 years of experience in academics and research, with 78 research publications and eight IPR’s (Patents and Copyrights) to her credit. SANJEEV WAGH, PHD, is a Professor in the Department of Information Technology at Govt. College of Engineering, Karad, India. He has 71 research papers to his credit. Preface xiii1 DATA CONDITIONING FOR MEDICAL IMAGING 1Shahzia Sayyad, Deepti Nikumbh, Dhruvi Lalit Jain, Prachi Dhiren Khatri, Alok Saratchandra Panda and Rupesh Ravindra Joshi1.1 Introduction 21.2 Importance of Image Preprocessing 21.3 Introduction to Digital Medical Imaging 31.3.1 Types of Medical Images for Screening 41.3.1.1 X-rays 41.3.1.2 Computed Tomography (CT) Scan 41.3.1.3 Ultrasound 41.3.1.4 Magnetic Resonance Imaging (MRI) 51.3.1.5 Positron Emission Tomography (PET) Scan 51.3.1.6 Mammogram 51.3.1.7 Fluoroscopy 51.3.1.8 Infrared Thermography 61.4 Preprocessing Techniques of Medical Imaging Using Python 61.4.1 Medical Image Preprocessing 61.4.1.1 Reading the Image 71.4.1.2 Resizing the Image 71.4.1.3 Noise Removal 81.4.1.4 Filtering and Smoothing 91.4.1.5 Image Segmentation 111.5 Medical Image Processing Using Python 131.5.1 Medical Image Processing Methods 161.5.1.1 Image Formation 171.5.1.2 Image Enhancement 191.5.1.3 Image Analysis 191.5.1.4 Image Visualization 191.5.1.5 Image Management 191.6 Feature Extraction Using Python 201.7 Case Study on Throat Cancer 241.7.1 Introduction 241.7.1.1 HSI System 251.7.1.2 The Adaptive Deep Learning Method Proposed 251.7.2 Results and Findings 271.7.3 Discussion 281.7.4 Conclusion 291.8 Conclusion 29References 30Additional Reading 31Key Terms and Definition 322 DETECTION OF PNEUMONIA USING MACHINE LEARNING AND DEEP LEARNING TECHNIQUES: AN ANALYTICAL STUDY 33Shravani Nimbolkar, Anuradha Thakare, Subhradeep Mitra, Omkar Biranje and Anant Sutar2.1 Introduction 332.2 Literature Review 352.3 Learning Methods 412.3.1 Machine Learning 412.3.2 Deep Learning 422.3.3 Transfer Learning 422.4 Detection of Lung Diseases Using Machine Learning and Deep Learning Techniques 432.4.1 Dataset Description 432.4.2 Evaluation Platform 442.4.3 Training Process 442.4.4 Model Evaluation of CNN Classifier 462.4.5 Mathematical Model 472.4.6 Parameter Optimization 472.4.7 Performance Metrics 502.5 Conclusion 52References 533 CONTAMINATION MONITORING SYSTEM USING IOT AND GIS 57Kavita R. Singh, Ravi Wasalwar, Ajit Dharmik and Deepshikha Tiwari3.1 Introduction 583.2 Literature Survey 583.3 Proposed Work 603.4 Experimentation and Results 613.4.1 Experimental Setup 613.5 Results 643.6 Conclusion 70Acknowledgement 71References 714 VIDEO ERROR CONCEALMENT USING PARTICLE SWARM OPTIMIZATION 73Rajani P. K. and Arti Khaparde4.1 Introduction 744.2 Proposed Research Work Overview 754.3 Error Detection 754.4 Frame Replacement Video Error Concealment Algorithm 774.5 Research Methodology 774.5.1 Particle Swarm Optimization 784.5.2 Spatio-Temporal Video Error Concealment Method 784.5.3 Proposed Modified Particle Swarm Optimization Algorithm 794.6 Results and Analysis 834.6.1 Single Frame With Block Error Analysis 854.6.2 Single Frame With Random Error Analysis 864.6.3 Multiple Frame Error Analysis 884.6.4 Sequential Frame Error Analysis 914.6.5 Subjective Video Quality Analysis for Color Videos 934.6.6 Scene Change of Videos 944.7 Conclusion 954.8 Future Scope 97References 975 ENHANCED IMAGE FUSION WITH GUIDED FILTERS 99Nalini Jagtap and Sudeep D. Thepade5.1 Introduction 1005.2 Related Works 1005.3 Proposed Methodology 1025.3.1 System Model 1025.3.2 Steps of the Proposed Methodology 1045.4 Experimental Results 1045.4.1 Entropy 1045.4.2 Peak Signal-to-Noise Ratio 1055.4.3 Root Mean Square Error 1075.4.3.1 Qab/f 1085.5 Conclusion 108References 1096 DEEPFAKE DETECTION USING LSTM-BASED NEURAL NETWORK 111Tejaswini Yesugade, Shrikant Kokate, Sarjana Patil, Ritik Varma and Sejal Pawar6.1 Introduction 1116.2 Related Work 1126.2.1 Deepfake Generation 1126.2.2 LSTM and CNN 1126.3 Existing System 1136.3.1 AI-Generated Fake Face Videos by Detecting Eye Blinking 1136.3.2 Detection Using Inconsistence in Head Pose 1136.3.3 Exploiting Visual Artifacts 1136.4 Proposed System 1146.4.1 Dataset 1146.4.2 Preprocessing 1146.4.3 Model 1156.5 Results 1176.6 Limitations 1196.7 Application 1196.8 Conclusion 119References 1197 CLASSIFICATION OF FETAL BRAIN ABNORMALITIES WITH MRI IMAGES: A SURVEY 121Kavita Shinde and Anuradha Thakare7.1 Introduction 1217.2 Related Work 1237.3 Evaluation of Related Research 1297.4 General Framework for Fetal Brain Abnormality Classification 1297.4.1 Image Acquisition 1307.4.2 Image Pre-Processing 1307.4.2.1 Image Thresholding 1307.4.2.2 Morphological Operations 1317.4.2.3 Hole Filling and Mask Generation 1317.4.2.4 MRI Segmentation for Fetal Brain Extraction 1327.4.3 Feature Extraction 1327.4.3.1 Gray-Level Co-Occurrence Matrix 1337.4.3.2 Discrete Wavelet Transformation 1337.4.3.3 Gabor Filters 1347.4.3.4 Discrete Statistical Descriptive Features 1347.4.4 Feature Reduction 1347.4.4.1 Principal Component Analysis 1357.4.4.2 Linear Discriminant Analysis 1367.4.4.3 Non-Linear Dimensionality Reduction Techniques 1377.4.5 Classification by Using Machine Learning Classifiers 1377.4.5.1 Support Vector Machine 1387.4.5.2 K-Nearest Neighbors 1387.4.5.3 Random Forest 1397.4.5.4 Linear Discriminant Analysis 1397.4.5.5 Naïve Bayes 1397.4.5.6 Decision Tree (DT) 1407.4.5.7 Convolutional Neural Network 1407.5 Performance Metrics for Research in Fetal Brain Analysis 1417.6 Challenges 1427.7 Conclusion and Future Works 142References 1438 ANALYSIS OF COVID-19 DATA USING MACHINE LEARNING ALGORITHM 147Chinnaiah Kotadi, Mithun Chakravarthi K., Srihari Chintha and Kapil Gupta8.1 Introduction 1478.2 Pre-Processing 1488.3 Selecting Features 1498.4 Analysis of COVID-19–Confirmed Cases in India 1528.4.1 Analysis to Highest COVID-19–Confirmed Case States in India 1538.4.2 Analysis to Highest COVID-19 Death Rate States in India 1538.4.3 Analysis to Highest COVID-19 Cured Case States in India 1548.4.4 Analysis of Daily COVID-19 Cases in Maharashtra State 1558.5 Linear Regression Used for Predicting Daily Wise COVID- 19Cases in Maharashtra 1568.6 Conclusion 157References 1579 INTELLIGENT RECOMMENDATION SYSTEM TO EVALUATE TEACHING FACULTY PERFORMANCE USING ADAPTIVE COLLABORATIVE FILTERING 159Manish Sharma and Rutuja Deshmukh9.1 Introduction 1609.2 Related Work 1629.3 Recommender Systems and Collaborative Filtering 1649.4 Proposed Methodology 1659.5 Experiment Analysis 1679.6 Conclusion 168References 16810 VIRTUAL MORATORIUM SYSTEM 171Manisha Bhende, Muzasarali Badger, Pranish Kumbhar, Vedanti Bhatkar and Payal Chavan10.1 Introduction 17210.1.1 Objectives 17210.2 Literature Survey 17210.2.1 Virtual Assistant—BLU 17210.2.2 HDFC Ask EVA 17310.3 Methodologies of Problem Solving 17310.4 Modules 17410.4.1 Chatbot 17410.4.2 Android Application 17510.4.3 Web Application 17510.5 Detailed Flow of Proposed Work 17610.5.1 System Architecture 17610.5.2 DFD Level 1 17710.6 Architecture Design 17810.6.1 Main Server 17810.6.2 Chatbot 17810.6.3 Database Architecture 18010.6.4 Web Scraper 18010.7 Algorithms Used 18110.7.1 AES-256 Algorithm 18110.7.2 Rasa NLU 18110.8 Results 18210.9 Discussions 18310.9.1 Applications 18310.9.2 Future Work 18310.9.3 Conclusion 183References 18311 EFFICIENT LAND COVER CLASSIFICATION FOR URBAN PLANNING 185Vandana Tulshidas Chavan and Sanjeev J. Wagh11.1 Introduction 18511.2 Literature Survey 18911.3 Proposed Methodology 19111.4 Conclusion 192References 19212 DATA-DRIVEN APPROCHES FOR FAKE NEWS DETECTION ON SOCIAL MEDIA PLATFORMS: REVIEW 195Pradnya Patil and Sanjeev J. Wagh12.1 Introduction 19612.2 Literature Survey 19612.3 Problem Statement and Objectives 20112.3.1 Problem Statement 20112.3.2 Objectives 20112.4 Proposed Methodology 20212.4.1 Pre-Processing 20212.4.2 Feature Extraction 20312.4.3 Classification 20312.5 Conclusion 204References 20413 DISTANCE MEASUREMENT FOR OBJECT DETECTION FOR AUTOMOTIVE APPLICATIONS USING 3D DENSITY-BASED CLUSTERING 207Anupama Patil, Manisha Bhende, Suvarna Patil and P. P. Shevatekar13.1 Introduction 20813.2 Related Work 21013.3 Distance Measurement Using Stereo Vision 21313.3.1 Calibration of the Camera 21513.3.2 Stereo Image Rectification 21513.3.3 Disparity Estimation and Stereo Matching 21613.3.4 Measurement of Distance 21713.4 Object Segmentation in Depth Map 21813.4.1 Formation of Depth Map 21813.4.2 Density-Based in 3D Object Grouping Clustering 21813.4.3 Layered Images Object Segmentation 21913.4.3.1 Image Layer Formation 22113.4.3.2 Determination of Object Boundaries 22213.5 Conclusion 223References 22414 REAL-TIME DEPTH ESTIMATION USING BLOB DETECTION/ CONTOUR DETECTION 227Arokia Priya Charles, Anupama V. Patil and Sunil Dambhare14.1 Introduction 22714.2 Estimation of Depth Using Blob Detection 22914.2.1 Grayscale Conversion 23014.2.2 Thresholding 23114.2.3 Image Subtraction in Case of Input with Background 23214.2.3.1 Preliminaries 23314.2.3.2 Computing Time 23414.3 Blob 23414.3.1 BLOB Extraction 23414.3.2 Blob Classification 23514.3.2.1 Image Moments 23614.3.2.2 Centroid Using Image Moments 23814.3.2.3 Central Moments 23814.4 Challenges 24114.5 Experimental Results 24114.6 Conclusion 251References 255Index 257
Vue.js
Von Grundlagen bis Best Practices – für den Um- und Einstieg in Vue 3Dieses Buch ist ein praxisnaher Einstieg für alle, die sich Vue einmal genauer ansehen möchten. Fabian Deitelhoff erklärt den komponentenbasierte Ansatz, wie dieser umgesetzt wird und natürlich was für Vorteile er hat. Die Neuerungen von Vue 3 erläutert er detailliert. Und wer noch mit Vue 2 arbeiten muss oder möchte, findet hilfreiche Tipps und Hinweise zu Unterschieden und Stolpersteinen. Auch ein Blick in das Vue-Ökosystem rund um Themen wie State Management oder Internationalisierung sind Teil dieses Buchs. Angereichert mit vielen Code-Beispielen und praktischen Tipps aus der Webentwicklung begleitet Sie der Autor so von Projektstart, über Architektur bis Testen und Deployment.Autor:Dr. Fabian Deitelhoff arbeitet nach seiner Promotion zu „Source Code Comprehension“ als Tech-Lead Domestics an Cloud-Themen bei Miele. Darüber hinaus ist er mit brickobotik in der MINT-Bildung und mit Loosely in der Cross-Plattform-Softwareentwicklung tätig. Seine Schwerpunkte sind Low- und No-Code sowie digitale Geschäftsmodelle. Daneben ist er als freier Autor, Dozent und Softwareentwickler im .NET- und Web-Umfeld tätig. Sie erreichen ihn über deitelhoff.me, unter fabian@deitelhoff.me oder auf Twitter als @FDeitelhoff.Zielgruppe:Softwareentwickler*innenWebentwickler*innenFrontend-Entwickler*innenInformatikstudierendeAuszubildende
Blockchain and Ethereum Smart Contract Solution Development
Build decentralized applications with smart contract programming. Following the curriculum from an active blockchain course taught by the author at the McCombs School of Business at the University of Texas, this book fills the gaps for you from learning about basic cryptocurrency uses of blockchain to understanding smart contracts and dapps.You’ll first start by understanding the basics of blockchain technology. Take a business point of view to discover general concepts about blockchains and dapps or “decentralized apps” built off of smart contracts. Next, learn about the token economy, how to design tokens, and relevant client technologies, such as web3, metamask, and UI/UX design. Then, install a blockchain node yourself.With a basic understanding of blockchain applications and business uses, you’ll move further into hands-on development. There are ten modules for hands-on smart contract programming covered to build your own decentralized applications. Several team projects built end-to-end from concept to deployment to operation are also provided. Using these models and your own original work, you’ll build a smart contract development environment, practice Solidity programming, compile source code, perform security reviews, and deploy bytecode to blockchains.The breakthrough in blockchain technology has empowered novel ecosystems and applications in the areas of Decentralized Finance (DeFi), Central Bank Digital Currency (CBDC), Non-Fungible Tokens (NFT), Decentralized Autonomous Organization (DAO), and more. Blockchain and Ethereum Smart Contract Solution Development will prepare you to create fantastic applications using Ethereum’s smart contracts and solid concepts of decentralized programming!WHAT YOU'LL LEARN* Become familiar with Blockchain technology, both in theory and in practice* Understand architectural components of blockchain and the underlying computer science* Implement blockchain smart contract solutions using both public and enterprise Ethereum blockchainsWHO THIS BOOK IS FORIT professionals and mid-level managers interested in smart contract development. Blockchain Consultants who want to have a handbook of smart contract development methodologies. And enterprise technologiests helping companies through the transformation to blockchain technologies.DR.WEIJIA ZHANG teaches a smart contract development course at the University of Texas. Dr. Weijia Zhang has extensive R&D knowledge and engineering experience in blockchain, cognitive sciences, mental modeling, Computational Fluid Dynamics (CFD), software modeling, computer technologies, and industrial standards. Weijia has published over thirty research and technical papers and is named as an inventor for over twenty patents, granted and pending, in computer and digital technology. He has also served as a technical committee voting member to publish the Solution Deployment Descriptor (SDD) by the Organization for the Advancement of Structured Information Standards (OASIS).DR TEJ ANAND is an award-winning business-technology strategist, consultant, and innovator with a passion for conceiving and successfully implementing transformative data-driven business initiatives. He’s known for being a charismatic leader who effectively collaborates across silos to create committed and impactful cross-functional teams. As a published author, adjunct professor, and educator, Dr. Anand also holds multiple patents in healthcare business processes and business intelligence.CHAPTER 1: BUSINESS AND ECONOMIC MOTIVATION FOR BLOCKCHAIN● Origin of moneyEvolution of fiat currencyComplications with multiparty transactionsAdvantages and disadvantages of paper currents● Current economic inefficiencies● Blockchain potential● QuizzesCHAPTER 2: THE CORE TECHNOLOGIES SUPPORTING BLOCKCHAIN● Cryptology● Distributed systems● Peer-to-peer networking● QuizzesCHAPTER 3: BLOCKCHAIN COMPONENTS AND ARCHITECTURE● Notion of distributed ledgers● Transactions, blocks, mining● Smart contracts● QuizzesCHAPTER 4: BLOCKCHAIN BUSINESS APPLICATION GUIDELINES● Selecting a use case● Design issues● QuizzesCHAPTER 5: BITCOIN BLOCKCHAIN IMPLEMENTATION AND ECONOMICS● Bitcoin system setup● Programming Assignments● QuizzesCHAPTER 6: ETHEREUM OVERVIEW AND ARCHITECTURE● Blockchain Ecosystem and Dapps● Assignment: Ethereum Smart contract setup with environments● geth client, Besu client, Metamask, Remix, Truffle, web3CHAPTER 7: PROGRAMMING SMART CONTRACT WITH SOLIDITY● Module 1 Hello World and syntax● Module 2 data structure● Module 3 event● Module 4 security● Module 5 (Tools, Test, Debug)● Module 6 (Client consideration)CHAPTER 8: SECURITY CONSIDERATIONSCHAPTER 9: LAYER 2, SHARDING, ETH2 TECHNOLOGIES PROJECT DESIGNSCHAPTER 10: FUNDING A PROJECTCHAPTER 11: BUILDING TEAM PROJECTS● Brainstorming● User stories● Architecture● Token and smart contract Design● Client consideration● Security review● Testnet deployment● Mainnet deployment● Operation and upgrade considerationAudience: Intermediate
Simulation with Python
Understand the theory and implementation of simulation. This book covers simulation topics from a scenario-driven approach using Python and rich visualizations and tabulations.The book discusses simulation used in the natural and social sciences and with simulations taken from the top algorithms used in the industry today. The authors use an engaging approach that mixes mathematics and programming experiments with beginning-intermediate level Python code to create an immersive learning experience that is cohesive and integrated.After reading this book, you will have an understanding of simulation used in natural sciences, engineering, and social sciences using Python.WHAT YOU'LL LEARN* Use Python and numerical computation to demonstrate the power of simulation* Choose a paradigm to run a simulation* Draw statistical insights from numerical experiments* Know how simulation is used to solve real-world problemsWHO THIS BOOK IS FOREntry-level to mid-level Python developers from various backgrounds, including backend developers, academic research programmers, data scientists, and machine learning engineers. The book is also useful to high school students and college undergraduates and graduates with STEM backgrounds.RON LI is a long-term and enthusiastic educator. He has been a researcher, data science instructor, and business intelligence engineer. Ron published a highly rated (4.5-star rating out of 5 on amazon) book titled Essential Statistics for Non-STEM Data Analysts. He has also authored/co-authored academic papers, taught (pro bono) data science to non-STEM professionals, and gives talks at conferences such as PyData.AIICHIRO NAKANO is a Professor of Computer Science with joint appointments in Physics & Astronomy, Chemical Engineering & Materials Science, Biological Sciences, and at the Collaboratory for Advanced Computing and Simulations at the University of Southern California. He received a PhD in physics from the University of Tokyo, Japan, in 1989. He has authored more than 360 refereed articles in the areas of scalable scientific algorithms, massive data visualization and analysis, and computational materials science.Chapter 1: Calculating Pi and Beyond: Searching Order in Disorder with Simulation [30]Description: The beginning chapter will use Monte Carlo simulation as a topic to introduce some fundamental concepts in simulation.Topics to be covered:1. Simulating Pi2. The goat problem and uniform sampling3. How to properly set a simulation environmentChapter 2: Markov Chain: A Peek into the Future [20]Description: Markov chain simulation will be introduced from both probabilistic perspective and matrix multiplication perspective.Topics to be covered:1. How to predict weather?2. The transition matrix and stability states3. Markov chain Monte Carlo simulationChapter 3: Multi-Armed Bandits: Probability Simulation and Bayesian Statistics [30]Description: Classical multi-armed bandits’ model will be introduced to continue the probabilistic perspective of the previous chapter. In addition, Bayesian statistics will be introduced.Topics to be covered:1. Introduction to multi-armed bandit2. Greedy versus explorative strategies3. The interpretation of a Bayesian statistician.Chapter 4: Balls in 2D Box: A Simplest Physics Engine [20]Description: This chapter is mainly about event-driven simulation. It is not about simulation in the time space but in the event space.Topics to be covered:1. Introduce the physics laws that govern motion2. Use event-driven paradigm to build a physics engine3. More realistic simulation with frictionChapter 5: Percolation: Threshold and Phase Change [25]Description: Phase changing is an important physics behavior for systems near critical boundaries. We are going to simulate critical behaviors using percolation as examples.Topics to be covered:1. The concept of percolation and2. Why dimension matters: 1D percolation and 2D percolation3. 3D percolation and even higher dimensionsChapter 6: Queuing System: How Stock Trades are Made [30]Description: As the first example in the business world, concepts in queuing systems are introduced and the simulation using basic data structures like queue and deque will be carried out.Topics to be covered:1. Basic data structures in Python2. Microstructure of trading3. Simulating tradingChapter 7: Rock, Scissor and Paper: Multi-Agent Simulation[30]Description: Sometimes we want to simulate a system with multiple agents acting on their own behalf. In this chapter, we are going to run a multi-agent simulation and test the performance of different competing strategies in such a scenario.Topics to be covered:1. Characteristics of multi-agent system2. Baseline strategies3. Analyzing nontrivial strategiesChapter 8: Matthew Effect and Tax Policy: Why the Rich Keeps Getting Richer[30]Description: Differential equation is an important field of study that governs a big group of phenomena. In this chapter, we are going to study it with a very relevant topic: wealth distribution in modern society.Topics to be covered:1. Introduction of differential equations2. Matthew effect and ROI3. How tax policy can gauge social wealth distributionChapter 9: Misinformation Spreading: Simulation on a Graph (Centrality, Networkx)[30]Description: Network simulation is another important domain. Nowadays social media like Twitter, Facebook and reddit can be easily modelled as a network. We will cover a simple simulation to study how misinformation can spread in a network and how we can fight against it.Topics to be covered:1. Concepts of a network2. Simulate misinformation spreading in a directed network3. How to fight misinformation (or suppress freedom of expression)Chapter 10: Simulated Annealing and Genetic Algorithm [30]Description: There are two simulation algorithms widely used in research and industry that mimic natural phenomena. We are going to use them to solve two real world problems and explain the origin of their power.Topics to be covered:4. Simulated Annealing Basics5. Use Simulated Annealing to solve an optimization problem6. Genetic Algorithm7. Use Genetic algorithm to solve an optimization problem
Pragmatic Python Programming
Explore the world of programming languages through Python and learn the building blocks of writing programs. This book covers Python 3.10, explaining it through six key concepts. Each chapter contains a real-world example with practical advice and a section on advanced concepts.You'll start by reviewing the concept of expressions and functions, which are two of the core building blocks of programming languages. You'll then move on to object-oriented concepts to help gain a practical understanding of Python, along with a chapter on control flow constructs. The book also takes a close look at sequences, explaining constructs and additional types, and wraps up with a chapter on modules, focusing on how to use and create packages.Whether you’re new to programming or already an experienced developer, upon finishing this book, you will have a solid understanding of Python's state-of-the-art development features.WHAT YOU WILL LEARN* Study the six main concepts of the programming languages* Learn how to use programming language constructs through examples* Review the core Python language notations and concepts.* Start using Python as a working languageWHO THIS BOOK IS FORSoftware developers wanting to gain professional core Python knowledge quickly, and non-developers wanting to gain an understanding of programming concepts.Gabor Guta has studied and researched at Research Institute for Symbolic Computation, Johannes Kepler University, Linz to gain an understanding of the formal meaning of programming languages. He worked on complex technology transfer and cheminformatics projects where both strong theoretical background and practical software development skills were crucial. Currently, he is developing distributed software for bioinformatics and system biology projects. Beside his software development work, he has been continuously training people both in academic and industrial settings. He has been actively teaching Python since 2017. CHAPTER 1: EXPRESSION- Explains expression as the first key concept of a programming language.1.1. What is an expression?1.2. Expressions containing different types1.3. Variable names1.4. Statements1.5. Deleting variable names1.6. Further language constructs1.7. Expressions and statements in practice1.8. References:CHAPTER 2: FUNCTION- Explains function as the second most important building block.2.1. What is a function?2.2. Calling functions2.3. Functions with side effects2.4. Function parameters2.5. Defining functions2.6. Referencing to variable and function names2.7. Function as parameter2.8. Embedded function definitions2.9. Function in practice2.10. ReferencesCHAPTER 3: CLASS- Explains object-oriented concepts as everything is an object in Python.3.1. What is object-oriented programming?3.2. What is a class?3.3. Creating objects3.4. Using attributes and methods3.5. Defining classes3.6. Connection between classes3.7. Properties3.8. Inheritance3.9. Embedded classes3.10. Special methods3.11. Classes in practice3.12. ReferencesCHAPTER 4. CONTROL FLOW- Explains what control flow constructs and everything related to it (exceptions,recursion, etc.)4.1. What is control flow?4.2. Conditional statement4.3. Condition-controlled loops4.4. Count-controlled loops4.5. Exception handling4.6. Context management4.7. ReferencesCHAPTER 5: SEQUENCE- Explains the list like constructs and additional container types.5.1. What is a sequence?5.2. List and its operations5.3. List comprehension5.4. Tuples5.5. Dictionaries5.6. Sets5.7. ReferencesCHAPTER 6: MODULE- Explains how to use and create packages.6.1. What is a module?6.2. Built-in modules6.3. Create your own modules6.4. Packages6.5. Package management6.6. Interesting third party packages6.7. References
Create an Enterprise-Level Test Automation Framework with Appium
Think from a framework design perspective and move beyond straightforward coding skills. You’ll design an enterprise level test framework that is capable of supporting both TDD and BDD at the same time, using the latest open source tools and coding best practices. Taking a less-is-more approach, superfluous information is excised in favor of sleek and direct instruction and focused coding practices.Your framework will be built with Spring-Boot, Gradle, and Junit. And it will support HP QC integration, Allure (TDD, BDD), Extent (BDD), and customized Pdf reporting (TDD, BDD). Extensive utilities are provided, such as HP ALM integration, device management utilities, email reporting, pdf reporting, OCR utility, Log utility, and more! There’s also a special chapter on internationalization/localization testing in multiple languages. After reading this book, you’ll have full confidence in your ability to build new test automation frameworks for yourself.Though primarily written for software professionals who are in test automation, recent engineering graduates who have programming knowledge and want to prepare for a role in mobile test automation will also find what’s taught here helpful. Test engineers and computer science graduates alike can use what they learn here to become absolute pros in test automation.WHAT YOU'LL LEARN* Design an enterprise level mobile test automation framework capable of supporting both TDD and BDD* Work with the latest open source tools and coding best practices* Build with Spring-Boot, Gradle, and Junit while supporting HP QC integration, Allure, Extent, and customized PDF reportingWHO THIS BOOK IS FORSoftware professionals working in test automation. Recent engineering graduates who have programming knowledge and want to prepare for a role in mobile test automation should also find it helpful.KOUSHIK DAS is an Automation Architect with over 18 years of experience in software development, manual testing, and test automation. He has built automation frameworks for mobile, web, and desktop applications using a variety of tools. Koushik believes in leveraging the power of test automation whenever possible and has recently published a book to help mobile test automation engineers graduate to an architect role. When not testing software, Koushik likes reading, traveling, and playing with his baby daughter.IntroductionChapter 1: Automation Framework OverviewFramework Technology StackFramework Key FeaturesScripting Strategy FollowedAutomation Coding Standards FollowedChapter 2: Creating the Wireframes with Spring-BootBootstrapping with Spring-BootOpening Your Project in IntelliJIntelliJ PluginsDeciding on your Folder StructureChapter 3: Configuring GradlePreparing build.gradlePreparing gradle.propertiesCreating Annotations for Gradle TasksPreparing settings.gradleChapter 4: Creating the Properties FilesCreating Your Properties FilesReading from Properties File with Spring-Boot LibraryReading from Properties File Traditional WayChapter 5: Creating Android, iOS and Web Drivers On DemandCreating Driver with Standard Desired CapabilitiesCreating Driver with Default ServiceCreating Drivers for Grid or Cloud ExecutionQuitting Driver and TeardownChapter 6: Enhancing Framework – Common Mobile ActionsCreating VariablesCoding for Common Screen ActionsChapter 7: Creating Page ObjectsInitializing Page Objects and Workflow ClassDeciding on Locator StrategyWriting Page Object MethodsChapter 8: Writing Your First Test SuiteUsing Various AnnotationsWriting Soft AssertionsPlugging in the Reporting ModuleRunning Test Suite in GradleChapter 9: Importing Test Data From Excel, XML or Other FormatsImporting Test Data from ExcelImporting Test Data From XML and Other FormatsChapter 10: Adding BDD Capabilities with CucumberUsing Spring Runner with CucumberGenerating ExtentReport in Runner ClassWriting Step DefinitionsRunning Test Suite in GradleChapter 11: Adding Allure Reporting for TDD and BDDGenerating Allure ReportViewing Allure ReportChapter 12: Making Extent Report Better and Workable with JunitMaking Extent Report Work with JUnitImproving Extent Report to Print Data-TablesCreating Separate Extent Report for each Test-SuiteChapter 13: Creating a PDF Report with ScreenshotsCreating a PDF Util to Generate reports for each Test SuitePassing Parameters to PDF Util from Test SuiteMerging Multiple PDFsChapter 14: Enhancing Framework – ScreenshotsCreating Screenshot and Saving at Default LocationCreating Screenshot and Saving at Variable LocationCreating Screenshot with Page Object NameChapter 15: Testing Multiple Apps and Versions in Same Test SuiteTesting Multiple Versions of App in Same Test SuiteTesting Multiple Apps in Same Test SuiteBest Practices To FollowChapter 16: Running Scripts or Batch Files From Test SuiteScenarios Where Running Script or Batch Files Are RequiredRunning Script or Batch Files from Test SuiteSome ExamplesChapter 17: API TestingTesting REST API with Web ClientExampleChapter 18: Advanced Topic I – Adding Device Management FunctionsOverviewUnlocking DeviceToggling Wi-FiSetting LanguageSetting Device Date, Time, Timezone and Time FormatReading Device PropertiesEnabling and Disabling App NotificationsChapter 19: Advanced Topic 2 – Integrating with HP ALMUsing ALM 15.x APILogin and AuthenticationCRUD Operations in AboutAppTestSuiteChapter 20: Advanced Topic 3 – Adding Localization Testing CapabilitiesDeciding on Approach Based on RequirementsLocalization Testing in AndroidLocalization Testing in iOSChapter 21: Advanced Topic 4 – Implementing Parallel Test ExecutionManaging multiple SessionsUpdating BaseTest ClassUpdating Test Suites and Step DefinitionsChapter 22: Other UtilitiesOverviewOCR UtilImage Comparison UTILEmail UtilAppendixAudience: Intermediate
Softwarearchitektur pragmatisch
Der Weg von der Software- in die Unternehmens-ArchitekturAls frischgebackener Architekt aus Ihrer IT-Domäne müssen Sie plötzlich mit anderen Architekten zusammenarbeiten und wichtige Entscheidungen treffen. Aber Sie verstehen davon noch zu wenig.Mit diesem Buch ändert sich das. Anhand von Betriebssystemen, die den Zugriff auf gemeinsame Güter regeln, lernen Sie Software-Architekturen zu analysieren. Architektur-Muster werden identifiziert und Architektur-Prinzipien entdeckt. Als Nicht-Software-Entwickler erfahren Sie die Architektur komplexer Software-Systeme, als Software-Entwickler erweiterten Sie Ihren Horizont.Im zweiten Teil schlüpfen Sie in die Rolle des Enterprise-Architekten, dessen Arbeit stark von Einflussfaktoren und Qualitätsmerkmalen geprägt werden. Anhand eines Transformations-Projektes durchlaufen Sie gewisse TOGAF Phasen, entdecken ArchiMate und vertiefen sich in die Informations- und Applikations-Architektur mit dem Gartner PACE Modell und diversen Sichten, die Ihnen helfen, die Architektur zu beschreiben. Dabei finden die Architektur-Muster Anwendung, die Sie bei den Betriebssystemen kennengelernt haben.Aus dem Inhalt:Teil 1: Architektur entdeckenEinführung in die Software-Architektur am Beispiel verschiedener BetriebssystemeParallelisierung von ProzessenTeil 2: Entwerfen einer ArchitekturEinflussfaktoren der ArchitekturTOGAFArchiMateApplikations-ArchitekturIntegrations-ArchitekturScotland Trading – Beispiel einer TransformationChecklisteLeseprobe (PDF-Link)Autor: Philipp Friberg ist SAP Solution Architekt hat Software-Engineering an der Hochschule Rapperswil und Science in Business Information Systems an der Hochschule Liechtenstein studiert. Sein Wissen vermittelt er als Dozent an der TBZ Höheren Fachschule Zürich, als Autor sowie als Speaker auf Fachkonferenzen.
Einstieg in SAPUI5
Lernen Sie die UI-Technologie von SAP mit all ihren Funktionen kennen. Ob Anfängerin, Junior-Entwickler oder Dynpro-Profi – dieses praktische Einsteigerbuch vermittelt Ihnen, wie Sie Webanwendungen mit SAPUI5 entwickeln. Dank der Beispiele zu den neuen Entwicklungsumgebungen Visual Studio Code und SAP Business Application Studio sowie nützlicher Gestaltungstipps gelingt Ihnen der Einstieg in SAPUI5 mühelos. Aus dem Inhalt: Erste Schritte in SAPUI5 und OpenUI5JavaScript, CSS3 und HTML5Entwicklungsumgebung einrichtenLaufzeitumgebungSystemanbindung mit ODataSAP Fiori AppsSAP Business Application StudioVisual Studio Code Einleitung ... 13 Zum Aufbau des Buches ... 14 Danksagung ... 16 Danksagung zur dritten Auflage ... 17 1. HTML5 und CSS3 ... 19 1.1 ... Einführung in HTML5 ... 20 1.2 ... Einführung in CSS ... 34 2. JavaScript ... 45 2.1 ... Grundlagen ... 45 2.2 ... Variablen ... 56 2.3 ... Operatoren ... 59 2.4 ... Kontrollstrukturen - Bedingungen und Schleifen ... 62 2.5 ... Document Object Model ... 73 2.6 ... Ereignisse ... 80 3. jQuery ... 83 3.1 ... Grundlagen ... 83 3.2 ... Selektoren und Ereignisse ... 84 3.3 ... DOM-Manipulation ... 92 3.4 ... AJAX ... 96 4. Entwicklungsumgebung einrichten ... 105 4.1 ... SAP Business Application Studio ... 105 4.2 ... Visual Studio Code ... 112 4.3 ... ECMAScript6-Entwicklung ... 116 4.4 ... Vergleich von Visual Studio Code mit SAP Business Application Studio ... 118 5. Erste Schritte in SAPUI5 ... 119 5.1 ... Webentwicklung auf dem SAP NetWeaver Application Server ABAP ... 120 5.2 ... Model-View-Controller-Architekturmuster ... 128 5.3 ... SAPUI5-Entwicklungsprojekt anlegen ... 130 5.4 ... SAPUI5-Demokit ... 142 5.5 ... Ihre ersten SAPUI5-Anwendungen ... 144 5.6 ... Debugging ... 162 6. SAPUI5-Laufzeitumgebung ... 169 6.1 ... Initialisierung der Anwendung ... 169 6.2 ... Modelle zur Datenbindung ... 195 6.3 ... Datenbindungstypen ... 216 7. Weitere Techniken in SAPUI5 ... 239 7.1 ... SAPUI5-Datentypisierung ... 239 7.2 ... Layoutanpassungen ... 248 7.3 ... Components ... 266 7.4 ... Fragments ... 290 7.5 ... Kundeneigene Controls ... 298 7.6 ... Kommunikation mit dem SAP-Backend ... 303 8. Systemanbindung mit OData ... 309 8.1 ... Open Data Protocol ... 309 8.2 ... SAP Gateway ... 314 8.3 ... OData-Service implementieren ... 315 8.4 ... OData-Service konsumieren ... 337 8.5 ... Smart Controls ... 362 8.6 ... Mit Mockdaten arbeiten ... 368 9. Beispielentwicklung einer Portalanwendung ... 371 9.1 ... User-Interface-Design entwerfen ... 371 9.2 ... Datenmodell erstellen ... 379 9.3 ... Benutzeroberfläche implementieren ... 380 10. Beispielentwicklung einer SAP-Fiori-App ... 447 10.1 ... Mobile Lösungen mit SAPUI5 entwickeln ... 449 10.2 ... Anwendungsbeispiel ... 452 10.3 ... Bereitstellung über das SAP Fiori Launchpad ... 464 Über den Autor ... 475 Index ... 477
Raspberry Pi Image Processing Programming
Understand the concepts of image processing with Python 3 and create applications using Raspberry Pi 4. This book covers image processing with the latest release of Python 3, using Raspberry Pi OS and Raspberry Pi 4B with the 8 GB RAM model as the preferred computing platform.This second edition begins with the installation of Raspberry Pi OS on the latest model of Raspberry Pi and then introduces Python programming language, IDEs for Python, and digital image processing. It also illustrates the theoretical foundations of Image processing followed by advanced operations in image processing. You'll then review image processing with NumPy, and Matplotlib followed by transformations, interpolation, and measurements of images.Different types of filters such as Kernels convolution filters, low pass filters, high pass filters, and Fourier filters are discussed in a clear, methodical manner. Additionally, the book examines various image processing techniques such as Morphology, Thresholding, and Segmentation, followed by a chapter on live webcam input with OpenCV, an image processing library with Python. The book concludes with an appendix covering a new library for image processing with Python, pgmagik, followed by a few important tips and tricks relevant to RPi.WHAT YOU'LL LEARN* Get started with Raspberry Pi and Python* Understand Image Processing with Pillow* See how image processing is processed using Numpy and Matplotlib* Use Pi camera and webcamWHO THIS BOOK IS FORRaspberry Pi and IoT enthusiasts, and Python and Open Source professionalsASHWIN PAJANKAR earned a Master of Technology in Computer Science Engineering from IIIT Hyderabad and has over 25 years of programming experience. He started his journey in programming and electronics at the tender age of 7 with a MS-DOS computer and BASIC programming language. He is now proficient in Assembly programming, C, C++, Java, Shell Scripting, JavaScript, Go Programming, HTML, and Python. His other technical expertise includes single board computers such as Raspberry Pi and Banana Pro, and microcontroller boards (Arduino), and embedded boards (BBC Micro Bit). He has worked extensively on domains such as Software/Product Testing, Software Automation, Databases, Data Analytics, Computer Vision, and Web Development.Ashwin is currently a freelance online instructor teaching programming and electronics to more than 8200 professionals. He also regularly conducts live programming boot camps for software professionals. His growing Youtube channel has an audience of more than 11000 subscribers. He has published more than 20 books on programming and electronics with many international publications, including Apress and regularly reviews books on programming written by other authors.Chapter 1: Introduction to Single Board Computers and RPiChapter Goal: Brief intro into SBCs and RPiNo of pagesSub -Topics1. SBCs2. Raspberry Pi3. Raspberry Pi Imager and setup4. Configuring the PiChapter 2: Introduction to Python and Digital Image ProcessingChapter Goal: Brief acquaintance with the subject of the bookNo of pages:Sub - Topics:1. History of Python2. Features3. Installation of Python on Raspberry Pi4. IDEs for Python5. Digital Image ProcessingChapter 3: Getting Started with Image ProcessingChapter Goal: Getting to understand the basicsNo of pages:Sub - Topics:1. Image Sources (Standard Image Datasets)2. Various Cameras for RPi3. Pillow Basics4. Tk Basics5. Reading and displaying images with Pillow and Tk6. Image PropertiesChapter 4: Basic Operations on ImagesChapter Goal: Getting to know PillowNo of pages:Sub - Topics:1. Image modulea) Image channelsb) Mode Conversionc) Blendingd) Resizinge) Rotationf) Crop and pasteg) Alpha compositionh) Mandelbrot seti) Noise and gradient2. ImageChops module3. ImageOps moduleChapter 5: Advanced Operations on ImagesChapter Goal: Filtering and Enhancements1. Image filter (will cover more filters in the second edition)2. Image enhancements (will cover additional effects)3. Color quantization4. Histogram and equalizationChapter 6: Scientific PythonChapter Goal: Introduction to the Scientific Python1. The SciPy stack2. NumPy, SciPy, and Matplotlib3. Image Processing with NumPy and MatplotlibChapter 7: Transformations, Interpolation, and MeasurementsChapter Goal: Transformations and Measurements1. Transformations and Interpolationsa) Affine_transformb) Geometric_transformc) Map_coordinatesd) Rotatee) Shiftf) Spline_filterg) Spline_filter1dh) Zoom2. Measurementsa) Center_of_massb) Extremac) Find_objectsd) Histograme) Labelf) Labeled_comprehensiong) Maximumh) Maximum_positioni) Meanj) Mediank) Minimuml) Minimum_positionm) Standard_deviationn) Sum_labelso) Variancep) Watershed_iftChapter 8: Filters and their ApplicationChapter Goal: Study Various types of filters1. Kernels, Convolution, Filters2. Correlation3. Low Pass Filtersa) Blurring Filter (Gaussian, Gaussian 1D, uniform, uniform 1D, percentile, rank)b) Noise Removal (Gaussian, Median, Maximum, Minimum, rank)4. High Pass filtersa) Prewittb) Sobelc) Laplaciand) Gaussian Gradient Magnitudee) Gaussian Laplace5. Fourier FiltersChapter 9: Morphology, Thresholding, and SegmentationChapter Goal: Study operations1. Morphologya) Distance transformb) Structuring Element (generate_binary_structure)c) Binary Morphological Operationsd) Greyscale Morphological Operationse) More Morphological Operations2. Thresholding and SegmentationChapter 10: pgmagikChapter Goal: Learn pgmagic library in detail1. Installation2. Creating images3. Draw text4. Image filter and transformation5. Bezier curve6. Blob7. Circle8. Animation
Pro C# 10 with .NET 6
Welcome to the most comprehensive foundational guide available on the topic of C# coding and .NET. This book goes beyond “do this, to achieve this” to drill down into the core stuff that makes a good developer, great. This expanded 11th edition delivers loads of new content on Entity Framework, Razor Pages, Web APIs and more. You will find the latest C# 10 and .NET 6 features served up with plenty of “behind the curtain” discussion designed to expand developers’ critical thinking skills when it comes to their craft. Coverage of ASP.NET Core, Entity Framework Core, and more sits alongside the latest updates to the new unified .NET platform, from performance improvements to Windows Desktop apps on .NET 6, updates in XAML tooling, and expanded coverage of data files and data handling. Going beyond the latest features in C# 10, all code samples are rewritten for this latest release.Dive in and discover why this essential classic is a favorite of C# developers worldwide. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections, and numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). PRO C# 10 WITH .NET 6 will build your coding confidence putting C# into practice, and exploring the .NET universe and its vast potential on your own terms.WHAT YOU WILL LEARN* Explore C# 10 features and updates in records and record structs, global and implicit using directives, file level namespaces, extended property patterns, and more* Develop applications with C# and modern frameworks for services, web, and smart client applications* Hit the ground running with ASP.NET Core web applications using MVC and Razor Pages, including view components, custom tag helpers, custom validation, GDPR support, and areas* Build ASP.NET RESTful services complete with versioning, enhanced swagger, and basic authentication* Embrace Entity Framework Core for building real-world, data-centric applications, with deeply expanded coverage new to this edition including SQL Server temporal table support* Dive into Windows Desktop Apps on .NET 6 using Windows Presentation Foundation* Understand the philosophy behind .NET* Discover the new features in .NET 6, including single file applications, smaller container images, and moreWHO THIS BOOK IS FORDevelopers of any level who want to either learn C# and .NET or want to take their skills to the next level.“Amazing! Provides easy-to-follow explanations and examples. I remember reading the first version of this book; this is a ‘must-have’ for your collection if you are learning .NET!”– Rick McGuire, Senior Application Development Manager, Microsoft“Phil is a journeyman programmer who brings years of experience and a passion for teaching to make this fully revised and modernized ‘classic’ a ‘must-have’. Any developer who wants full-spectrum, up-to-date coverage of both the C# language and how to use it with .NET and ASP.NET Core should get this book.”– Brian A. Randell, Partner, MCW Technologies and Microsoft MVPANDREW TROELSEN has more than 20 years of experience in the software industry. Over this time he has worked as a developer, educator, author, public speaker, and now team lead and lead engineer. He is the author of numerous books in the Microsoft universe. He holds a master of science degree in software engineering (MSSE) from the University of St. Thomas and another in computational linguistics (CLMS) from the University of Washington.PHIL JAPIKSE is an international speaker, Microsoft MVP, ASPInsider, Professional Scrum Trainer, and a passionate member of the developer community. He is the lead director of the Cincinnati .NET User Group and the Cincinnati Software Architect Roundtable, and he founded the CincyDeliver conference, Currently, he works as a Director of Consulting and Enterprise Architect. Follow him on his blog (skimedic.com) or on Twitter @skimedic.Part 1: Introducing C# and .NET 61 Introducing C# and .NET (Core) 62 Building C# ApplicationsPart 2: Core C# Programming3 Core C# Programming Constructs, Part 14 Core C# Programming Constructs, Part 2Part 3: Object Oriented Programming with C#5 Understanding Encapsulation6 Understanding Inheritance and Polymorphism7 Understanding Structured Exception Handling8 Working with Interfaces9 Understanding Object LifetimePart 4: Advanced C# Programming10 Collections and Generics11 Advanced C# Language Features12 Delegates, Events, and Lambda Expressions13 LINQ To Objects14 Processes, AppDomains, and Load Contexts15 Multithreaded, Parallel, and Async ProgrammingPart 5: Programming with .NET Core Assemblies16 Building and Configuring Class Libraries17 Type Reflection, Late Binding, Attributes, and Dynamic Types18 Understanding CIL and the Role of Dynamic AssembliesPart 6: File Handling, Object Serialization, and Data Access19 File I/O and Object Serialization20 Data Access with ADO.NETPart 7: Entity Framework Core21 Introducing Entity Framework Core22 Exploring EF Core23 Build a Data Access Layer with Entity Framework Core24 Test Driving the Autolot Data Access LayerPart 8: Windows Client Development25 Introducing Windows Presentation Foundation and XAML26 WPF Controls, Layouts, Events, and Data Binding27 WPF Graphics Rendering Services28 WPF Resources, Animations, Styles, and Templates29 WPF Notifications, Validations, Commands, and MVVMPart 9: ASP.NET Core30 Introducing ASP.NET Core31 Diving into ASP.NET Core32 RESTful Services with ASP.NET Core33 Web Applications using MVC34 Web Applications using Razor Pages
Das DevOps-Handbuch (2. Auflage)
Teams, Tools und Infrastrukturen erfolgreich umgestaltenDie IT ist heute das Herzstück eines jeden Unternehmens, unabhängig vom Geschäftsmodell oder Produkt. DevOps-Praktiken werden daher immer häufiger nicht nur in der IT-Abteilung genutzt, sondern im gesamten Unternehmen eingeführt. Diese Entwicklung veranschaulichen auch die zahlreichen neuen Fallstudien beispielsweise von Adidas oder American Airlines, um die die Neuauflage dieses Standardwerks erweitert wurde.Das DevOps-Handbuch – jetzt aktualisiert und durch neueste Erkenntnisse und Methoden ergänzt – erläutert, wie die DevOps-Philosopie praktisch implementiert wird: Sie lernen konkrete Tools und Techniken kennen, die Ihnen helfen, Software schneller und sicherer zu produzieren. Zudem stellt das Autorenteam Ihnen Maßnahmen vor, die die Zusammenarbeit aller Abteilungen optimieren, die Arbeitskultur verbessern und die Profitabilität Ihres Unternehmens steigern.Die 2. Auflage wurde vollständig aktualisiert und durch die neuesten Forschungsergebnisse und 15 neue Case Studies erweitert.Themen des Buchs sind: Die Drei Wege: Die obersten Prinzipien, von denen alle DevOps-Maßnahmen abgeleitet werdenEinen Ausgangspunkt finden: Eine Strategie für die DevOps-Transformation entwickeln, Wertketten und Veränderungsmuster kennenlernen, Teams schützen und fördernFlow beschleunigen: Den schnellen Fluss der Arbeit von Dev hin zu Ops ermöglichen durch eine optimale Deployment-Pipeline, automatisierte Tests, Continuous Integration und Continuous DeliveryFeedback verstärken: Feedback-Schleifen verkürzen und vertiefen, Telemetriedaten erzeugen und Informationen unternehmensweit sichtbar machenKontinuierliches Lernen ermöglichen: Eine »Just Culture« aufbauen und ausreichend Zeit reservieren, um das firmenweite Lernen zu fördern
Java - die Neuerungen in Version 17 LTS, 18 und 19
Dieses Buch von Michael Inden eignet sich für alle, die ihr Java-Wissen auf den neuesten Stand bringen und es durch eine Vielzahl an Übungen festigen möchten. Es beschreibt alle wichtigen Neuerungen in Java 17 – der aktuellen LTS-Version – sowie in den brandaktuellen Versionen 18 und 19.»Java – die Neuerungen in Version 17 LTS, 18 und 19« behandelt alle wesentlichen Änderungen der aktuellen Java-Versionen. Einen Schwerpunkt bildet die Beschreibung einer Vielzahl an Syntaxverbesserungen. Beispiele sind die prägnantere Syntax bei switch sowie die mehrzeiligen Strings und records, welche die Definition von Werteklassen erleichtern. Auch das immer populärer werdende Pattern Matching für instanceof und switch wird vorgestellt. Nicht nur in der Syntax, sondern auch in den APIs finden sich einige Neuerungen, etwa der HTTP/2-Support sowie diverse Detailverbesserungen, beispielsweise im Stream-API. Schließlich werden nennenswerte Neuerungen in der JVM beschrieben, unter anderem Direct Compilation, die JShell zum interaktiven Ausprobieren, JMH zum Erstellen von Microbenchmarks sowie jpackage zum Bereitstellen von installierbaren Distributionen.Zielgruppe: Java-Programmierer*innenSoftwareentwickler*innenAutor: Dipl.-Inform. Michael Inden ist Oracle-zertifizierter Java-Entwickler. Nach seinem Studium in Oldenburg hat er bei diversen internationalen Firmen in verschiedenen Rollen etwa als Softwareentwickler, -architekt, Consultant, Teamleiter, CTO sowie Leiter Academy gearbeitet. Nach rund 1,5 Jahren als freiberuflicher Autor und Trainer ist er seit Januar 2022 als Head of Development in Zürich tätig.Michael Inden hat über zwanzig Jahre Berufserfahrung beim Entwurf komplexer Softwaresysteme gesammelt und an diversen Fortbildungen sowie mehreren Java-One-Konferenzen teilgenommen. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der JAX/W-JAX, JAX London, Oracle Code One, ch.open sowie bei der Java User Group Switzerland.