Programmierung
Introducing Micronaut
The microservice architecture has been adopted by many developer teams around the world. To be successful, it's crucial that you understand how to program a microservice and get it running in the cloud. This book will walk you through the process of how to build, test, and deploy a Java-based Micronaut microservice to the Oracle Cloud with GitHub Actions.You'll learn how to create a Virtual Machine (with both the Oracle Cloud Infrastructure (OCI) CLI and the OCI Gradle Plugin), as well as create and deploy the microservice as a Docker container that can be stored in Oracle Container Infrastructure Registry (OCIR) and deployed to an Oracle Kubernetes Engine (OKE) cluster. The microservice will use Micronaut Data for persistence, Testcontainers for testing, and Liquibase to manage your Oracle DB production schema.After reading or using this book, you'll be able to build, test and deploy your first microservices using the Micronaut framework, Oracle Cloud and more.WHAT YOU'LL LEARN* Build and deploy Java-based microservices using Micronaut and Oracle Cloud* Run tests and publishing reports* Deploy to Oracle Cloud using OCI CLI and the OCI Gradle plug-in* Add a persistence tier to the microservice* Distribute a microservice with persistenceWHO THIS BOOK IS FORProgrammers and software developers with experience in Java and microservices programming who are new to Micronaut.Todd Sharp is a software/web developer advocate for Oracle focusing on Oracle Cloud. He works with Micronaut and other Java frameworks to build, test and deploy microservices, web services and other web applications. He has worked with dynamic Java scripting languages, JVMs and various JavaScript frameworks for more than 14 years, originally with ColdFusion and more recently with Java/Groovy/Grails on the server side.1. Creating a Micronaut Application & Getting Started with GitHub Actions2. Building & Publishing a JAR3. Running Tests and Publishing Test Reports4. Deploying a Microservice to the Oracle Cloud with GitHub Actions and the OCI CLI5. Deploying a Microservice to the Oracle Cloud with GitHub Actions and the OCI Gradle Plugin6. Adding a Persistence Tier to the Microservice7. Testing the Persistence Tier with Testcontainers8. Deploying the Microservice with a Tested Persistence Tier in Place9. Deploying the Microservice as a Docker Container10. Deploying the Microservice Docker Container to Kubernetes.
Beginning Software Engineering
DISCOVER THE FOUNDATIONS OF SOFTWARE ENGINEERING WITH THIS EASY AND INTUITIVE GUIDEIn the newly updated second edition of Beginning Software Engineering, expert programmer and tech educator Rod Stephens delivers an instructive and intuitive introduction to the fundamentals of software engineering. In the book, you’ll learn to create well-constructed software applications that meet the needs of users while developing the practical, hands-on skills needed to build robust, efficient, and reliable software. The author skips the unnecessary jargon and sticks to simple and straightforward English to help you understand the concepts and ideas discussed within. He also offers you real-world tested methods you can apply to any programming language. You’ll also get:* Practical tips for preparing for programming job interviews, which often include questions about software engineering practices* A no-nonsense guide to requirements gathering, system modeling, design, implementation, testing, and debugging* Brand-new coverage of user interface design, algorithms, and programming language choicesBeginning Software Engineering doesn’t assume any experience with programming, development, or management. It’s plentiful figures and graphics help to explain the foundational concepts and every chapter offers several case examples, Try It Out, and How It Works explanatory sections. For anyone interested in a new career in software development, or simply curious about the software engineering process, Beginning Software Engineering, Second Edition is the handbook you’ve been waiting for. ROD STEPHENS is a former Microsoft MVP, programmer, and award-winning instructor who speaks regularly at programming conferences and users’ group meetings. He has written more than 250 magazine articles as well as 37 books that have been translated into at least ten different languages on topics including C#, Python, and other languages. He runs the popular C# Helper and VB Helper web sites. Introduction xxviiPART I: SOFTWARE ENGINEERING STEP- BY- STEPCHAPTER 1: SOFTWARE ENGINEERING FROM 20,000 FEET 3Requirements Gathering 4High- Level Design 5Low- Level Design 6Development 6Testing 7Deployment 9Maintenance 10Wrap- Up 10Everything All at Once 11Summary 12What You Learned in This Chapter 13CHAPTER 2: BEFORE THE BEGINNING 15Document Management 16Historical Documents 19Email 19Code 22Code Documentation 22Application Documentation 25Summary 26What You Learned in This Chapter 27CHAPTER 3: THE TEAM 29Team Features 30Clear Roles 30Effective Leadership 30Clear Goals 31Consensus 32Open Communication 32Support for Risk- Taking 33Shared Accountability 33Informal Atmosphere 34Trust 34Team Roles 34Common Roles 35More- Specialized Roles 36Informal Roles 36Roles Wrap- Up 37Team Culture 37Interviews 40Interview Puzzles 40The Bottom Line 41Physical Environment 41Creativity 41Office Space 43Ergonomics 43Work- Life Balance 45Collaboration Software 46Searching 46Overload 47Outsourcing 47Summary 48What You Learned in This Chapter 50CHAPTER 4: PROJECT MANAGEMENT 53Executive Support 54Project Management 56PERT Charts 57Critical Path Methods 62Gantt Charts 65Scheduling Software 67Predicting Times 68Get Experience 69Break Unknown Tasks into Simpler Pieces 70Look for Similarities 71Expect the Unexpected 71Track Progress 73Risk Management 74Summary 76What You Learned in This Chapter 79CHAPTER 5: REQUIREMENTS GATHERING 81Requirements Defined 82Clear 82Unambiguous 83Consistent 84Prioritized 84Verifiable 88Words to Avoid 89Requirement Categories 89Audience- Oriented Requirements 90Business Requirements 90User Requirements 90Functional Requirements 91Nonfunctional Requirements 92Implementation Requirements 92FURPS 92FURPS+ 93Common Requirements 96Gathering Requirements 96Listen to Customers (and Users) 97Use the Five Ws (and One H) 98Who 98What 98When 98Where 98Why 99How 99Study Users 99Refining Requirements 100Copy Existing Systems 101Clairvoyance 102Brainstorm 103Recording Requirements 106UML 107User Stories 107Use Cases 108Prototypes 108Requirements Specification 109Validation and Verification 110Changing Requirements 110Digital Transformation 111What to Digitize 111How to Digitize 112Summary 113What You Learned in This Chapter 116CHAPTER 6: HIGH- LEVEL DESIGN 117The Big Picture 118What to Specify 119Security 119Hardware 120User Interface 121Internal Interfaces 122External Interfaces 123Architecture 124Monolithic 124Client/Server 125Component- Based 127Service- Oriented 128Data- Centric 130Event- Driven 130Rule- Based 130Distributed 131MIX and Match 132Reports 133Other Outputs 134Database 135Audit Trails 136User Access 136Database Maintenance 137NoSQL 137Cloud Databases 138Configuration Data 138Data Flows and States 139Training 139UML 141Structure Diagrams 142Behavior Diagrams 145Activity Diagrams 145Use Case Diagram 146State Machine Diagram 147Interaction Diagrams 148Sequence Diagram 148Communication Diagram 150Timing Diagram 150Interaction Overview Diagram 151UML Summary 151Summary 151What You Learned in This Chapter 152CHAPTER 7: LOW- LEVEL DESIGN 155Design Approaches 156Design- to- Schedule 157Design- to- Tools 158Process- Oriented Design 158Data- Oriented Design 159Object- Oriented Design 159Hybrid Approaches 159High, Low, and Iterative Design 160OO Design 160Identifying Classes 161Building Inheritance Hierarchies 162Refinement 163Generalization 165Hierarchy Warning Signs 167Object Composition 167Database Design 168Relational Databases 168First Normal Form 170Second Normal Form 174Third Normal Form 176Higher Levels of Normalization 179When to Optimize 180Summary 180What You Learned in This Chapter 182CHAPTER 8: SECURITY DESIGN 185Security Goals 186Security Types 186Cybersecurity 188Shift- Left Security 189Malware Menagerie 189Phishing and Spoofing 193Social Engineering Attacks 195Crapware 197Password Attacks 198User Access 201Countermeasures 201Cyber Insurance 202Summary 203What You Learned in This Chapter 207CHAPTER 9: USER EXPERIENCE DESIGN 209Design Mindset 210UI vs. UX 210UX Designers 211Platform 212User Skill Level 214Beginners and Beyond 216Configuration 217Hidden Configuration 218Models 219Metaphors and Idioms 220Case Study: Microsoft Word 221Design Guidelines 225Allow Exploration 225Make the Interface Immutable 227Support Commensurate Difficulty 227Avoid State 228Make Similar Things Similar 228Provide Redundant Commands 230Do the Right Thing 231Show Qualitative Data, Explain Quantitative Data 232Give Forms Purpose 232Gather All Information at Once 233Provide Reasonable Performance 234Only Allow What’s Right 235Flag Mistakes 235Form Design 236Use Standard Controls 236Decorating 237Displaying 237Arranging 237Commanding 238Selecting 238Entering 239Display Five Things 240Arrange Controls Nicely 241Summary 241What You Learned in This Chapter 242CHAPTER 10: PROGRAMMING 245Tools 246Hardware 246Network 247Development Environment 248Source Code Control 249Profilers 249Static Analysis Tools 249Testing Tools 249Source Code Formatters 250Refactoring Tools 250Training 250Collaboration Tools 250Algorithms 251Top- Down Design 252Programming Tips and Tricks 255Be Alert 255Write for People, Not the Computer 255Comment First 256Write Self- Documenting Code 259Keep It Small 259Stay Focused 261Avoid Side Effects 261Validate Results 262Practice Offensive Programming 264Use Exceptions 266Write Exception Handlers First 266Don’t Repeat Code 267Defer Optimization 267Summary 269What You Learned in This Chapter 270CHAPTER 11: ALGORITHMS 273Algorithm Study 274Algorithmic Approaches 275Decision Trees 275Knapsack 275The Eight Queens Problem 276Exhaustive Search 277Backtracking 278Pruning Trees 279Branch and Bound 279Heuristics 280Greedy 281Divide and Conquer 282Recursion 283Dynamic Programming 285Caching 287Randomization 287Monte Carlo Algorithms 287Las Vegas Algorithms 288Atlantic City Algorithms 289State Diagrams 289Design Patterns 290Creational Patterns 291Structural Patterns 291Behavioral Patterns 292Design Pattern Summary 293Parallel Programming 293Artificial Intelligence 295Definitions 295Learning Systems 296Natural Language Processing 297Artificial Neural Network 297Deep Learning 297Expert System 298Artificial General Intelligence 298Algorithm Characteristics 301Summary 302What You Learned in This Chapter 304CHAPTER 12: PROGRAMMING LANGUAGES 307The Myth of Picking a Language 308Language Generations 311First Generation 311Second Generation 311Third Generation (3GL) 312Fourth Generation 313Fifth Generation 314Sixth Generation 314IDEs 315Language Families 316Assembly 316Imperative 317Procedural 317Declarative 318Object- Oriented 318Functional 319Specialized 319Language Family Summary 319The Best Language 319Summary 323What You Learned in This Chapter 324CHAPTER 13: TESTING 327Testing Goals 329Reasons Bugs Never Die 330Diminishing Returns 330Deadlines 330Consequences 330It’s Too Soon 330Usefulness 331Obsolescence 331It’s Not a Bug 331It Never Ends 332It’s Better Than Nothing 333Fixing Bugs Is Dangerous 333Which Bugs to Fix 334Levels of Testing 334Unit Testing 335Integration Testing 336Regression Testing 337Automated Testing 337Component Interface Testing 338System Testing 339Acceptance Testing 340Other Testing Categories 341Testing Techniques 342Exhaustive Testing 342Black- Box Testing 343White- Box Testing 344Gray- Box Testing 344Testing Habits 345Test and Debug When Alert 345Test Your Own Code 346Have Someone Else Test Your Code 346Fix Your Own Bugs 348Think Before You Change 349Don’t Believe in Magic 349See What Changed 350Fix Bugs, Not Symptoms 350Test Your Tests 350How to Fix a Bug 351Estimating Number of Bugs 351Tracking Bugs Found 352Seeding 353The Lincoln Index 353Summary 355What You Learned in This Chapter 357CHAPTER 14: DEPLOYMENT 359Scope 360The Plan 361Cutover 362Staged Deployment 362Gradual Cutover 363Incremental Deployment 365Parallel Testing 365Deployment Tasks 365Deployment Mistakes 366Summary 368What You Learned in This Chapter 370CHAPTER 15: METRICS 371Wrap Party 372Defect Analysis 372Species of Bugs 373Discoverer 373Severity 374Creation Time 374Age at Fix 374Task Type 375Defect Database 376Ishikawa Diagrams 376Software Metrics 379Qualities of Good Attributes and Metrics 381Using Metrics 382Process Metrics 384Project Metrics 384Things to Measure 385Size Normalization 387Function Point Normalization 389Count Function Point Metrics 390Multiply by Complexity Factors 391Calculate Complexity Adjustment Value 392Calculate Adjusted FP 394Summary 395What You Learned in This Chapter 398CHAPTER 16: MAINTENANCE 401Maintenance Costs 402Task Categories 404Perfective Tasks 404Feature Improvements 406New Features 406The Second System Effect 407Adaptive Tasks 408Corrective Tasks 410Preventive Tasks 414Clarification 414Code Reuse 415Improved Flexibility 416Bug Swarms 417Bad Programming Practices 417Individual Bugs 418Not Invented Here 418Task Execution 419Summary 420What You Learned in This Chapter 423PART II: PROCESS MODELSCHAPTER 17: PREDICTIVE MODELS 427Model Approaches 428Prerequisites 428Predictive and Adaptive 429Success and Failure Indicators for Predictive Models 430Advantages and Disadvantages of Predictive Models 431Waterfall 432Waterfall with Feedback 433Sashimi 434Incremental Waterfall 436V- model 438Software Development Life Cycle 439Summary 442What You Learned in This Chapter 444CHAPTER 18: ITERATIVE MODELS 445Iterative vs. Predictive 446Iterative vs. Incremental 448Prototypes 449Types of Prototypes 451Pros and Cons 451Spiral 453Clarifications 455Pros and Cons 456Unified Process 457Pros and Cons 459Rational Unified Process 459Cleanroom 460Cowboy Coding 461Summary 461What You Learned in This Chapter 463CHAPTER 19: RAD 465RAD Principles 467James Martin RAD 470Agile 471Self- Organizing Teams 473Agile Techniques 474Communication 474Incremental Development 475Focus on Quality 478XP 478XP Roles 479XP Values 480XP Practices 481Have a Customer On-Site 481Play the Planning Game 482Use Stand- Up Meetings 483Make Frequent Small Releases 483Use Intuitive Metaphors 484Keep Designs Simple 484Defer Optimization 484Refactor When Necessary 485Give Everyone Ownership of the Code 485Use Coding Standards 486Promote Generalization 486Use Pair Programming 486Test Constantly 486Integrate Continuously 486Work Sustainably 487Use Test- Driven and Test- First Development 487Scrum 488Scrum Roles 489Scrum Sprints 490Planning Poker 491Burndown 492Velocity 494Lean 494Lean Principles 494Crystal 495Crystal Clear 498Crystal Yellow 498Crystal Orange 499Feature- Driven Development 500FDD Roles 501FDD Phases 502Develop a Model 502Build a Feature List 502Plan by Feature 503Design by Feature 503Build by Feature 504FDD Iteration Milestones 504Disciplined Agile Delivery 506DAD Principles 506DAD Roles 506DAD Phases 507Dynamic Systems Development Method 508DSDM Phases 508DSDM Principles 510DSDM Roles 511Kanban 512Kanban Principles 513Kanban Practices 513Kanban Board 514Summary 515What You Learned in This Chapter 517PART III: ADVANCED TOPICSCHAPTER 20: SOFTWARE ETHICS 523Ethical Behavior 524IEEE- CS/ACM 524ACS 525CPSR 526Business Ethics 527Nada 528Hacker Ethics 529Hacker Terms 530Responsibility 531Gray Areas 533Software Engineering Dilemmas 535Misusing Data and the Temptation of Free Data 535Disruptive Technology 536Algorithmic Bias 537False Confidence 537Lack of Oversight 538Getting Paid 539Thought Experiments 539The Tunnel Problem 540The Trolley Problem 542Summary 544What You Learned in This Chapter 545CHAPTER 21: FUTURE TRENDS 547Security 548UX/UI 549Code Packaging 550Cloud Technology 551Software Development 552Algorithms 553Tech Toys 554Summary 555What You Learned in This Chapter 556Appendix: Solutions to Exercises 559Glossary 631Index 663
The Absolute Beginner's Guide to Python Programming
Written as an illustrated, step-by-step guide, this book will introduce you to Python with examples using the latest version of the language.You'll begin by learning to set up your Python environment. The next few chapters cover the basics of Python such as language classifications, Python language syntax, and how to write a program. Next, you will learn how to work with variables, basic data types, arithmetic, companion, and Boolean operators, followed by lab exercises. Further, the book covers flow control, using functions, and exception handling, as well as the principles of object-oriented programming and building an interface design. The last section explains how to develop a game by installing PyGame and how to use basic animation, and concludes with coverage of Python web development with web servers and Python web frameworks.The Absolute Beginners Guide to Python Programming will give you the tools, confidence, and inspiration to start writing Python programs. If you are a programmer, developer, or a student, or someone who wants to learn on their own, this book is for you.WHAT YOU WILL LEARN* Gain an understanding of computer programming * Understand different data and data types* Work with Classes and OOP* Build interfaces, simple games, and web development with PythonWHO THIS BOOK IS FORSoftware programmers, developers or students, or anyone who wants to learn Python programming on their own. With over 20 years’ experience in the computer industry, Kevin Wilson has made a career out of technology and showing others how to use it. After earning a master's degree in computer science, software engineering, and multimedia systems, Kevin has held various positions in the IT industry including graphic & web design, digital film & photography, programming & software engineering, developing & managing corporate networks, building computer systems, and IT support. He currently teaches computer science at college and works as an IT trainer in England while researching for his PhD. CHAPTER 1: WHAT IS PYTHON.Goal: About Python, what it is, how to set up the interpreter on machineSub-topicsSetting UpCHAPTER 2: THE BASICSGoal: Covers basics, syntax, writing a basic program and executing the codeSub-topicsLanguage ClassificationLow-Level LanguageHigh-Level LanguagePython Language SyntaxReserved WordsIdentifiersIndentationCommentsInputOutputEscape CharactersWriting a ProgramCHAPTER 3: WORKING WITH DATAGoal: Covers data types: integers, lists, strings, etc, etc , variables, operatorsSub-topicsVariablesLocal VariablesGlobal VariablesBasic Data TypesIntegersFloating Point NumbersStringsListsTwo Dimensional ListsSetsTuplesDictionariesCasting Data TypesArithmetic OperatorsOperator PrecedencePerforming ArithmeticComparison OperatorsBoolean OperatorsBitwise OperatorsLab ExercisesCHAPTER 4: FLOW CONTROLGoal: Explains flow control, sequence, if/elif, for/whileSub-topicsSequenceSelectionif...elseelifIteration (Loops)For loopWhile loopBreak and ContinueLab ExercisesCHAPTER 5: HANDLING FILESGoal: Explains file handling, reading files, writing to files, text files, binary filesFile TypesText FileBinaryText File OperationsOpen FilesWrite to a FileRead from a FileBinary File OperationsOpen FilesWrite to a FileRead a FileRandom File AccessLab ExercisesCHAPTER 6: USING FUNCTIONSSub-topicsDeclaring FunctionsRecursionLab ExercisesCHAPTER 7: EXCEPTION HANDLINGGoal: Covers exception and error handlingSub-topicsTypes of ExceptionCatching ExceptionsRaising your Own ExceptionsCHAPTER 8: OBJECT ORIENTED PROGRAMMINGGoal: OOP principles, classes, objects and inheritanceSub-topicsPrinciples of OOPEncapsulationInheritancePolymorphismAbstractionClasses & ObjectsClass InheritancePolymorphic ClassesMethod OverridingCHAPTER 9: BUILDING AN INTERFACEGoal: Building an interface using tkinterSub-topicsCreating a WindowAdding WidgetsMenusThe CanvasImagesButtonsMessage BoxesText FieldListboxCheckboxLabelsLabel FrameInterface DesignCHAPTER 10: DEVELOPING A GAMESub-topicsInstalling PyGameOpening a WindowAdding an ImageThe Game LoopThe Event LoopShapesBasic AnimationCHAPTER 11: PYTHON WEB DEVELOPMENTSub-topicsWeb ServersExecuting a ScriptPython Web FrameworksQUICK REFERENCEData TypesNumeric OperatorsComparison OperatorsBoolean OperatorsString OperatorsList OperatorsDictionary OperatorsString MethodsList MethodsDictionary MethodsFunctionsFilesConditionalMulti ConditionalWhile LoopFor LoopLoop ControlModulesBuilt in FunctionsDeclare a ClassChild ClassCreate ObjectCall Object Method
Modern C Up and Running
Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas.The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients.Memory efficiency and safety are the two major challenges in C programming, and you’ll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals.Many books introduce C, but few also explain how to use it properly and optimally. Essential C does just that.WHAT YOU'LL LEARN* Accelerate your path to C mastery with this book for experienced programmers* Refresh your approach to program structure and data types* Dive into aggregates and pointers using modern C language* Revisit storage classes and scope* Dive into concurrency (multiprocessing and multithreading) and instruction-level parallelism* Finish with regular expressions, assertions, signals, locales and moreWHO THIS BOOK IS FORProfessional programmers or software developers who has prior experience with C or in general wanting an accelerated learning guide to modern C programming language.Martin Kalin has a Ph.D. from Northwestern University and is a professor in the College of Computing and Digital Media at DePaul University. He has co-written a series of books on C and C++ and written a book on Java for programmers. He enjoys commercial programming and has co-developed large distributed systems in process scheduling and product configuration.1. Program Structure2. Basic Data Types3. Aggregates and Pointers4. Storage Classes5. Input and Output6. Networking7. Concurrency and Parallelism8. Miscellaneous Topics
Usability und User Experience Design
Gute Usability und User Experience sind niemals Zufall. Dahinter stecken systematische Prozesse und Know-how aus verschiedenen Disziplinen. Produkte zu schaffen, die Menschen nicht nur leicht und sicher bedienen können, sondern rundum schätzen – wenn das Ihr professionelles Ziel ist, sind Sie hier richtig. Lernen Sie mit diesem Handbuch das Fach gründlich kennen, vertiefen Sie Ihre Expertise oder steigen Sie in eine stärker datengetriebene Arbeitsweise ein. Die Autoren sind erfolgreiche Spezialisten für die Usability und UX technischer Produkte. Sie stellen Ihnen Grundlagen aus Psychologie und Design vor und geben Ihnen ein umfassendes Methodenrepertoire an die Hand. Inklusive praktischer Auswahlhilfe und konkreter Anleitungen. So evaluieren und optimieren Sie Ihre Produkte oder unterstützen Ihre Kunden mit professionellen Usability- und UX-Projekten. Für B2B, B2C, verschiedene Branchen und Budgets haben Sie damit immer eine effiziente Methode parat. Dr. Michaela Kauer-Franz und Dr. Benjamin Franz betreuen auch komplexe Anwendungen und solche mit speziellen Anforderungen wie Medizinprodukte. Profitieren Sie von ihrem Erfahrungsschatz! Aus dem Inhalt: Übersicht über Prozesse und VorgehenDer richtige "Mindset"User Researcher Skills: Beobachten, Fragenstellen, ZuhörenPsychologische GrundlagenNutzer*innen, Kund*innen und wirDesigngrundlagenData Driven UX DesignInhaltspunktLösungen evaluierenEin Glossar mit allen wichtigen Fachbegriffen 1. Für wen ist dieses Buch? Warum und wie sollten Sie das Buch lesen? ... 21 1.1 ... Für wen ist dieses Buch geschrieben? ... 21 1.2 ... Warum sollten Sie dieses Buch lesen? ... 22 1.3 ... Wie sollten Sie dieses Buch lesen? ... 26 1.4 ... Ihre ständigen Begleiter: Unsere drei Beispiele ... 27 2. Die wichtigsten Begriffe und ihre Historie ... 33 2.1 ... Die (Vor-)Geschichte von Usability und User Experience ... 33 2.2 ... Usability und User Experience Design -- die Kernbegriffe ... 40 2.3 ... Das Zusammenspiel von Ergonomie, Usability und User Experience ... 52 3. Usability und User Experience als Erfolgsfaktor herausragender Produkte ... 67 3.1 ... Was ist der Return on Investment (ROI)? ... 68 3.2 ... Metriken für den unternehmerischen Erfolg ... 68 3.3 ... ROI planen statt ROI »entdecken« ... 75 3.4 ... Unterschiede zwischen Metriken für den unternehmerischen Erfolg im B2C- vs. B2B-Bereich ... 78 3.5 ... Was sind typisch erreichbare ROIs durch Usability und User Experience Design? ... 80 3.6 ... Praxisbeispiel: Messung des ROI bei MoveHub ... 83 3.7 ... Praxisbeispiel: Messung des ROI bei BusinessBooster ... 84 3.8 ... Praxisbeispiel: Messung des ROI bei Healthyfy ... 86 4. Wie »mache« ich Usability und User Experience Design? ... 87 4.1 ... Die Norm ISO 9241-210 -- Menschzentrierte Gestaltung interaktiver Systeme ... 88 4.2 ... Design Thinking ... 95 4.3 ... Minimum Viable Product (MVP) -- das kleinste, sinnvolle Produkt ... 108 4.4 ... Double Diamond ... 113 4.5 ... Usability Engineering bei Medizinprodukten nach der Norm IEC 62366-1 ... 117 4.6 ... Gemeinsamkeiten der beschriebenen Verfahren ... 120 5. Data-Driven UX Design ... 127 5.1 ... Das Ziel des Data-Driven UX Design-Prozesses ... 128 5.2 ... Der Data-Driven UX Design-Prozess (3DUX) im Überblick ... 129 5.3 ... Die Flexibilitäts- und Risikomatrix -- oder: Wie viele Daten brauchen Sie wirklich? ... 143 5.4 ... Objektive versus subjektive Daten ... 151 5.5 ... Quantitative versus qualitative Daten ... 154 5.6 ... Daten kritisch bewerten ... 155 5.7 ... Schnelle Hilfestellung zur Einordnung ... 160 6. Ein hilfreiches Mindset für Usability und User Experience Design ... 165 6.1 ... Annahmen vs. Wissen ... 166 6.2 ... Die Nutzer wissen nicht, was sie wollen! ... 182 6.3 ... Die wichtigsten Skills der User Researcher: beobachten, Fragen stellen, zuhören ... 190 6.4 ... Gestaltung als lernbarer Prozess ... 204 6.5 ... Testen und Unternehmenskultur ... 208 7. Grundlagen ... 211 7.1 ... Psychologische Grundlagen -- keine Angst, es geht um Menschen ... 211 7.2 ... Wahrnehmung -- die menschliche Sensorik ... 212 7.3 ... Menschliche Informationsverarbeitung ... 253 7.4 ... Designgrundlagen ... 275 8. Der Data-Driven UX Design-Prozess im Detail -- Vorbereitung ... 343 8.1 ... Die Planung des Data-Driven UX Design-Prozesses ... 344 8.2 ... Integration von Data-Driven UX Design in agile Entwicklungsprojekte ... 353 8.3 ... Den Aufwand von Data-Driven UX Design angemessen auswählen ... 357 9. Der Data-Driven UX Design-Prozess im Detail -- Nutzungskontextanalyse ... 361 9.1 ... Welche Fragen muss die Nutzungskontextanalyse beantworten? ... 362 9.2 ... Was ist überhaupt der Nutzungskontext? ... 364 9.3 ... Methoden der Nutzungskontextanalyse ... 376 9.4 ... Analytische Methoden der Nutzungskontextanalyse ... 423 9.5 ... Praxisbeispiele zur Kontextanalyse ... 443 10. Der Data-Driven UX Design-Prozess im Detail -- Nutzungsanforderungen spezifizieren ... 455 10.1 ... Betrachten Sie Ihre Personas oder Empathy Maps ... 456 10.2 ... Use Cases und User Stories -- wie es nicht geht und wie es doch geht ... 458 10.3 ... Von der User Story zur Anforderung ... 466 10.4 ... Anforderungen formulieren für MoveHub ... 475 10.5 ... Anforderungen formulieren für BusinessBooster ... 477 10.6 ... Anforderungen formulieren für Healthyfy ... 479 11. Der Data-Driven UX Design-Prozess im Detail -- Gestaltungslösungen entwickeln ... 481 11.1 ... Erinnerung: Was ist das Ziel der Gestaltung und wie gehen wir dabei vor? ... 481 11.2 ... Design Research ... 482 11.3 ... Vom Groben zum Feinen ... 486 11.4 ... Grundsätzliche Lösungsmöglichkeiten entwickeln ... 487 11.5 ... Arbeit mit Prototypen ... 491 11.6 ... Wireframes ... 496 11.7 ... Die Qualität von User-Interface-Konzepten mit dem Designgrid prüfen ... 543 11.8 ... Screenflows ... 546 11.9 ... Klickdummys ... 548 11.10 ... Desktop, Mobile oder Smartwatch first? ... 554 11.11 ... Responsive Design ... 559 11.12 ... Visual Design ... 560 11.13 ... Ausflug: Low-Code und No-Code ... 573 11.14 ... Beispiel: Mögliche Design-Steps für MoveHub ... 574 11.15 ... Beispiel: Mögliche Design-Steps für BusinessBooster ... 576 11.16 ... Beispiel: Mögliche Design-Steps für Healthyfy ... 577 12. Der Data-Driven UX Design-Prozess im Detail -- Gestaltungslösungen evaluieren ... 581 12.1 ... Formatives vs. summatives Testen ... 581 12.2 ... Wissenslücken identifizieren ... 586 12.3 ... Nutzerevaluation vs. Expertenevaluation ... 587 12.4 ... Remote vs. vor Ort ... 589 12.5 ... Test-Cases gestalten ... 593 12.6 ... Die vorgestellten Methoden ... 598 12.7 ... Der Usability- und der User Experience-Test ... 599 12.8 ... Usability und User Experience-Sprint ... 609 12.9 ... Rapid User-Tests ... 615 12.10 ... A/B-Testing ... 620 12.11 ... UX-Benchmarking ... 625 12.12 ... 5-Sekunden-Test ... 630 12.13 ... Standardisierte Fragebögen ... 635 12.14 ... Analyse von quantitativen Nutzungsdaten ... 648 12.15 ... Webtracking/Klickanalyse ... 652 12.16 ... Tagebuchstudie ... 653 12.17 ... Card Sorting ... 660 12.18 ... Experten-Review ... 665 12.19 ... Assoziationsraumtest (ARTTest) ... 670 12.20 ... Eyetracking ... 673 12.21 ... Physiologische Messverfahren ... 680 12.22 ... Fehler analysieren mithilfe der Root-Cause-Analyse ... 683 12.23 ... Aus den Daten lernen und begründete Entscheidungen treffen ... 689 12.24 ... Evaluationen in der Medizinprodukteentwicklung ... 692 12.25 ... Beispiel: Evaluationsmethoden für MoveHub ... 693 12.26 ... Beispiel: Evaluationsmethoden für BusinessBooster ... 694 12.27 ... Beispiel: Evaluationsmethoden für Healthyfy ... 697 13. Design, Get Data, Repeat -- wann ist Schluss? ... 699 13.1 ... Den Übergang anhand der Qualität bestimmen ... 700 13.2 ... Den Übergang anhand der Zeit bestimmen ... 702 13.3 ... Nachsteuern ja oder nein? Die Flexibilitäts- und Risikomatrix als Hilfestellung ... 703 13.4 ... Den richtigen Ansatz wählen ... 704 13.5 ... So geht es weiter mit MoveHub, der B2C-Mobilitäts-App für jede Gelegenheit ... 706 13.6 ... So geht es weiter mit BusinessBooster, dem B2B-CRM-BI-Tool für kleine und mittelständische Unternehmen ... 706 13.7 ... So geht es weiter mit Healthyfy, dem Vermittlungsportal für Gesundheitsexperten (B2B- und B2C-Medizinprodukt) ... 707 14. Entscheidungsmatrix für die Methodenauswahl ... 709 14.1 ... Fragestellungen ... 710 15. Wrap-up und Fazit ... 719 15.1 ... Es geht um die Nutzenden ... 719 15.2 ... Usability und User Experience Design ist interdisziplinär ... 720 15.3 ... User Experience designt man nicht, sondern sie wird erlebt ... 720 15.4 ... Der Weg zu einem herausragenden Produkt ist iterativ ... 721 15.5 ... Man fängt zwar irgendwann mit Usability und User Experience Design an, aber man hört nie wieder damit auf ... 721 15.6 ... Gestalten Sie anhand von Daten ... 722 15.7 ... Schlusswort und Aufruf zur Mitgestaltung ... 722 Anhang ... 725 A ... Glossar ... 725 B ... Literaturverzeichnis ... 738 Index ... 746
Programming and GUI Fundamentals
PROGRAMMING AND GUI FUNDAMENTALSDISCOVER THE FOUNDATIONS OF TCL PROGRAMMING AND GUI DEVELOPMENTProgramming and GUI Fundamentals: Tcl-Tk for Electronic Design Automation (EDA), delivers a comprehensive exploration of the major design challenges and potential present in application and tool development with Tcl-Tk. Accessibly written and easy-to-understand, the book can be used by students at a variety of levels, as well as researchers and working professionals. The authors present the fundamental concepts of Tcl programming and graphic user interface (GUI) development using images, and photographs, assisting with concept understanding and retention. They describe real-time system designs and offer students and designers the opportunity to learn about critical concepts in scripting and GUI development. Readers will learn to design their own GUI, place and package widgets on the GUI, and allow EDA professionals, chip designers and students to code and design in TCL-TK. They will also benefit from:* A thorough introduction to scripting languages and wish interpreters, including their fundamental concepts, TCL tips and tricks, and command, variable, and procedure examples* Comprehensive explorations of the TCL data structure, including datatypes, strings and commands, lists and commands, and arrays and commands* Practical discussions of TCL control flow, including conditional commands, multi-condition commands, and loop commands* In-depth examinations of file input/output processing, including TCL file read-write, open and close commands, gets, and puts.Perfect for undergraduate and graduate students studying programming or computer science, as well as professionals working on electronic design automation and chip design, Programming and GUI Fundamentals: Tcl-Tk for Electronic Design Automation (EDA) is also an indispensable resource for programming professionals seeking to upskill. SUMAN LATA TRIPATHI, PHD, is Professor of VLSI Design at Lovely Professional University. She is a Senior Member of the IEEE and obtained her doctorate in Microelectronics and VLSI Design from Motilal Nehru National Institute of Technology, Allahabad, India. ABHISHEK KUMAR, PHD, is Associate Professor at Lovely Professional University. He received his doctorate in VLSI Design for Low Power and Secured Architecture from Lovely Professional University, Punjab, India. JYOTIRMOY PATHAK is Assistant Professor at Lovely Professional University, Punjab India. He has published over 10 research papers, holds 9 patents, and 1 copyright. Author BiographiesChapter 1 - IntroductionChapter 2 – Basic CommandChapter 3 - Program Flow ControlChapter 4 - Tcl Data StructureChapter 5 - Tcl Object-Oriented ProgrammingChapter 6: File ProcessingChapter 7: Toolkit WidgetChapter 8 - Binding Command and Other WidgetChapter 9 - Canvas Widget and Tk CommandsChapter 10 - Tcl-Tk for EDA ToolIndex
Python für Excel
Befreien Sie sich aus dem Chaos der riesigen Arbeitsmappen, Tausenden von Formeln und hässlichen VBA-HacksExcel ist nach wie vor ein unverzichtbares Analysetool und hat in den letzten Jahren viele neue Funktionen hinzubekommen, doch die Automatisierungssprache VBA hat sich nicht parallel weiterentwickelt. Viele Excel-Poweruser nutzen daher bereits Python, um Routinearbeiten zu automatisieren. Felix Zumstein zeigt in diesem praktischen Leitfaden erfahrenen Excel-Benutzerinnen und -Benutzern, wie sich Python als Skriptsprache für Excel effizient verwenden lässt.Dieses Buch bietet Ihnen einen schnell zugänglichen Einstieg in Python, sodass Sie direkt in die Praxis starten können:Verwenden Sie Python ohne fortgeschrittene ProgrammierkenntnisseArbeiten Sie mit modernen Tools wie Jupyter-Notebooks und Visual Studio CodeNutzen Sie pandas zum Erfassen, Bereinigen und Analysieren von Daten und ersetzen Sie typische Excel-BerechnungenAutomatisieren Sie mühsame Aufgaben wie die Konsolidierung von Excel-Arbeitsmappen und das Erstellen von Excel-BerichtenSetzen Sie xlwings ein, um interaktive Excel-Tools zu erstellen, die Python als Berechnungsmodul verwendenVerbinden Sie Excel mit Datenbanken und CSV-Dateien und rufen Sie mit Python-Code Daten aus Internetquellen abVerwenden Sie Python als Universalwerkzeug, um VBA, Power Query und Power Pivot zu ersetzenAutor:Felix Zumstein ist der Schöpfer und Betreuer von xlwings, einem beliebten Open-Source-Paket, das die Automatisierung von Excel mit Python unter Windows und macOS ermöglicht. Er organisiert auch die xlwings-Treffen in London und New York City, um eine breite Palette innovativer Lösungen für Excel zu fördern.Als CEO von xltrail, einem Versionskontrollsystem für Excel-Dateien, hat er mit Hunderten von Anwendern gesprochen, die Excel für geschäftskritische Aufgaben verwenden, und ist daher mit den typischen Excel-Anwendungsfällen und -Problemen in verschiedenen Branchen bestens vertraut.Zielgruppe:Excel-Praktiker*innenBusiness-Analyst*innenVBA-Entwickler*innenData ScientistsLeseprobe (PDF-Link)
Test Your Skills in C# Programming
Review the fundamental constructs in C# using Q&As and program segments to boost your confidence and gain expertise. This book will help you analyze your programs more efficiently and enhance your programming skills.The book is divided into three parts, where you will learn the fundamentals, object-oriented programming, and some advanced features of C#. In the first part, you will review C# and .NET basics along with the important constructs such as strings, arrays, and structures. In the second part, you'll review the concepts of object-oriented programming in detail. Here, you will go through various program segments in class and objects, inheritance, polymorphism, abstraction, encapsulation, and much more. You will also analyze the output of the given programs with the help of Q&A sections. The uses of interfaces, static class, and exception handling are discussed in the book along with some other important concepts in C#. In the third and last part, you will learn advanced features of C# programming such as delegates, events, lambdas, generics, and multithreading. Here, you'll also cover some of the latest features of C#.After reading this book, you will be able to analyze and apply the basic and frequently used features along with the advanced features of C#.WHAT WILL YOU LEARN* Understand the core and some of the latest features in C#* Review your programming skills along with some of the latest features in C#* Know how object-oriented programming (OOP) is used in C#* Get up and running on the advanced features of C# such as delegates, lambdas, generics, and moreWHO THIS IS BOOK FORProgrammers with basic knowledge of C#VASKARAN SARCAR obtained his Master of Engineering in software engineering from Jadavpur University, Kolkata (India) and an MCA from Vidyasagar University, Midnapore (India). He was a National Gate Scholar (2007-2009) and has more than 12 years of experience in education and the IT industry. Vaskaran devoted his early years (2005-2007) to the teaching profession at various engineering colleges, and later he joined HP India PPS R&D Hub Bangalore. He worked there until August 2019. At the time of his retirement from HP, he was a Senior Software Engineer and Team Lead at HP. To follow his dream and passion, Vaskaran is now an independent full-time author. Other Apress books by him include: _Java Design Patterns Third Edition, _Simple and Efficient Programming in C#, _Design Patterns in C# Second Edition, __Getting Started with Advanced C#, __Interactive Object-Oriented Programming in Java Second Edition,__ __Java Design Patterns Second Edition, __Design Patterns in C#, __Interactive C#, __Interactive Object-Oriented Programming in Java, _Java Design Patterns.PART I FUNDAMENTALSCHAPTER 1: LANGUAGE BASICSCHAPTER GOAL: THIS CHAPTER DISCUSSES THE FOLLOWING TOPICS:The important concepts in .NETThe basic programming constructs in C#.Use of some useful data types including the var type.Use of some useful operators and explicit-casting.Use of the selection statements and case guards.Use of iteration statements.Use of the jump statements.Use of the ternary operator.No of pages: 28SUB - TOPICS NCHAPTER 2: STRING AND ARRAYSCHAPTER GOAL:ONCE YOU FINISH THIS CHAPTER, YOU CAN ANSWER THE FOLLOWING QUESTIONS AND RELATED AREAS:How can you use string datatype in your program?How can you use the common in-built methods from the String class?How a String variable is different from a StringBuilder?How can you convert a string to an int?How can you use nullable reference type in a program?How to create arrays in C#?What are the different types of C# arrays and how to use them?How to use common in-built methods from the System.Array class?How can you iterate over a string or an array?NO OF PAGES 23SUB - TOPICS NACHAPTER 3: ENUMERATION AND STRUCTURESCHAPTER GOAL: This chapter discusses the following topics:The enum fundamentalsFlags enumerationDefaut value expressionsThe struct fundamentalsNon-destructive mutationsNO OF PAGES: 26SUB - TOPICS NAPART II OBJECT-ORIENTED PROGRAMMINGCHAPTER 4: CLASS AND OBJECTSCHAPTER GOAL: This chapter focuses on the following topics:Classes and objects creations.Instance fields and methods.Constructors and their usage.Optional parameters.Object initializers.Nested classes.The uses of private, internal, and public modifiers inside a class.NO OF PAGES: 17SUB - TOPICS NACHAPTER 5: INHERITANCECHAPTER GOAL: This chapter covers the following topics:Inheritance and types.Method and constructor overloading.Method overriding.Use of virtual, override, and new keywords.Use of the sealed keyword.Introductory discussion on covariance and contravarianceNO OF PAGES 33Sub - Topics NAChapter 6: PolymorphismCHAPTER GOAL: This chapter helps you to review:Polymorphism and its benefits.Abstract classes and their uses.Interfaces and their uses.Different types of interfaces.Writing polymorphic codes using abstract classes and interfacesNO OF PAGES: 30SUB - TOPICS NAChapter 7: EncapsulationCHAPTER GOAL: This chapter covers the following topics:What is encapsulation? How is it different from an abstraction?Properties and their usage.Different ways to create a property.The usage of the get and set accessors.Virtual and abstract properties.The discussion of the init accessor.Indexers and their usage.How can the indexers and properties work with an interface?Discussion on different aspects of properties and indexers.NO OF PAGES: 26SUB - TOPICS NAChapter 8: Exception HandlingCHAPTER GOAL: This chapter covers the following topics:Exception and its uses in C# programming.Use of the try, catch, and finally blocks.Use of multiple catch blocks in a program.Use of a general catch block.How to throw and re-throw an exception.Use of exception filters.Custom exception class and its usage.NO OF PAGES: 23SUB - TOPICS NAChapter 9: Useful ConceptsChapter Goal: Q&A and program segments on some useful constructs such as casting and boxing, static class and methods, passing value type by value, passing value type by references(using ref and out keyword), extension methods, and so on.NO OF PAGES: 15-25+SUB - TOPICS NAPart III Advanced Features Chapter 10: DelegatesCHAPTER GOAL: This chapter covers the following topics:Delegates and their usesMulticast delegatesSome commonly used in-built delegatesCovariance and contravariance using delegatesNO OF PAGES: 20SUB - TOPICS NAChapter 11: EventsCHAPTER GOAL: This chapter helps you to review your understanding of events and discusses the following:Events creation and their uses.How to pass the event data.Use of event accessors.Use of interface events (both implicit and explicit).Simplified coding with events.NO OF PAGES: 22SUB - TOPICS NAChapter 12: LambdasCHAPTER GOAL: This chapter focuses on this and covers the following topics:Lambda expressions and their useExpression-bodied membersUse of local variables inside lambda expressions.Event handling using lambda expressions.Use of a static lambda.Understanding natural type.NO OF PAGES: 22SUB - TOPICS NACHAPTER 13: GENERICSCHAPTER GOAL: This chapter focuses on the following topics:The motivation behind generics.The fundamentals of generic programs.Use of generic interfaces.Use of generic constraints.Use of covariance and contravariance using generics.Self-referencing generic type.Experimenting with generic method’s overloading and overriding.Analyzing the static data in the context of generics.NO OF PAGES: 35SUB - TOPICS NACHAPTER 14: MULTITHREADINGChapter Goal: Upon completion of this chapter, you’ll be able to answer the following questions:What are the threads and how can you create them?What is a multithreaded program? How does it differ from a single-threaded application?Why are the ThreadStart and ParameterizedThreadStart delegates important in thread programming?How to block a thread using Sleep or Join methods?How can you use lambda expressions in a multithreaded program?How to use important Thread class members?How a foreground thread is different from a background thread?What is synchronization and why is it needed?How can you implement thread safety in C# using lock statements?How can you implement an alternative approach to lock statements using Monitor’s Entry and Exit Method?What is a deadlock and how can you detect the deadlock in your system?What is the purpose of using the ThreadPool class? What are the associative pros and cons of using it?How to cancel a running thread in the managed environment?And many more.NO OF PAGES: 40SUB - TOPICS NACHAPTER 15: MISCELLANEOUSCHAPTER GOAL: Q&A and program segments on the related latest features that are covered in the previous chapters and any other important topics(if any).NO OF PAGES: 10-20+SUB - TOPICS NA
Practical Haskell
Get a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This updated edition includes more modern treatment of Haskell's web framework and APIs.This book contains excellent coverage of the Haskell ecosystem and supporting tools, including Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, WAI and Elm to develop the back end and front end of web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.You’ll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community.This makes Haskell the best tool for both learning and applying functional programming, and Practical Haskell, Third Edition takes advantage of this to show off the language and what it can do. Free source code available on the Apress GitHub page for this book.WHAT YOU WILL LEARN* Get started programming with Haskell* Examine the different parts of the language* Gain an overview of the most important libraries and tools in the Haskell ecosystem* Apply functional patterns in real-world scenarios* Understand monads and monad transformers* Proficiently use laziness and resource managementWHO THIS BOOK IS FORExperienced programmers who may be new to the Haskell programming language. However, some prior exposure to Haskell is recommended.ALEJANDRO SERRANO MENA has more than a decade of experience as a developer, trainer, and researcher in functional programming, with an emphasis on Haskell and related languages. He holds a Ph.D. from Utrecht University on the topic of error message customization in compilers. He's an active member of the community, maintaining a few open-source projects, writing books about Haskell, and collaborating on podcasts and conferences.PART I: FIRST STEPS1. Going Functional2. Declaring the Data Model3. Increasing Code Reuse4. Using Containers and Type Classes5. Laziness and Infinite StructuresPART II: DATA MINING6. Knowing Your Clients Using Monads7. More Monads: Now for Recommendations8. Working in Several CoresPART III: RESOURCE HANDLING9. Dealing with Files: IO and Conduit10. Building and Parsing Text11. Safe Database Access12. Web ApplicationsPART IV: DOMAIN SPECIFIC LANGUAGES13. Strong Types14. Interpreting Offers with AttributesPART V: ENGINEERING THE STORE15. Documenting, Testing, and Verifying16. Architecting Your Application17. Looking Further
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
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
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