Software
Linux Mint 21 - Schnelleinstieg
Der einfache Einstieg in die Linux-Welt Steigen Sie mit Linux Mint in die Linux-Welt ein! Mit diesem Buch erhalten Sie eine leicht verständliche Schritt-für-Schritt-Anleitung für die Installation und den Einsatz von Linux Mint 21. Dafür benötigen Sie keinerlei Linux-Kenntnisse und können schnell und einfach von Windows umsteigen. Sie werden Schritt für Schritt durch die verschiedenen Installationsmöglichkeiten von Linux Mint geführt (Live-Version, Festinstallation, Linux Mint als einziges oder als zweites Betriebssystem parallel zu Windows) und erfahren, wie Sie Linux Mint einrichten und an Ihre Bedürfnisse anpassen. Um sich schnell zurechtzufinden, erhalten Sie eine Einführung in die für Linux Mint empfohlenen Arbeitsoberflächen Cinnamon, Mate und XFCE sowie einen Überblick über vorinstallierte und weitere beliebte Linux-Software. Darüber hinaus erfahren Sie, wie Sie Software, die eigentlich für den Betrieb unter Windows gedacht ist, auch unter Linux installieren und nutzen können. Eine Einführung in die wichtigsten Linux-Grundlagen wie die Datei- und Benutzerverwaltung, die Installation von Software (Paketverwaltung) sowie das Terminal runden diesen Praxiseinstieg ab. So sind Sie optimal darauf vorbereitet, alle im Alltag anfallenden Aufgaben mit Linux Mint zu meistern.Aus dem Inhalt: Grundlagen zu Linux und MintInstallation und Live-VersionDie grafischen Oberflächen Cinnamon, Mate und XFCEAnwendungen nachinstallierenWindows-Programme mit Linux Mint nutzenLinux-Alternativen zu gängigen Windows-ProgrammenBackups und SicherheitTerminal und Verzeichnishierarchie
Software Engineering (4. Auflg.)
Grundlagen, Menschen, Prozesse, TechnikenDas Buch vermittelt die Grundlagen, Erfahrungen und Techniken, die den Kern des Software Engineerings bilden. Es ist als Material zu Vorlesungen über Software Engineering konzipiert. Auch für Praktiker, die mit der Softwareentwicklung und -bearbeitung und den dabei auftretenden Problemen vertraut sind, ist das Buch sehr gut geeignet, um die Kenntnisse im Selbststudium zu ergänzen und zu vertiefen. Der Inhalt des Buches ist in fünf Hauptteile gegliedert:GrundlagenMenschen und ProzesseDaueraufgaben im SoftwareprojektTechniken der SoftwarebearbeitungVerwaltung und Erhaltung von SoftwareAuf die Ausbildung zukünftiger Software Engineers wird ebenfalls eingegangen. Ergänzende Informationen sind auf der Webseite der Autoren verfügbar: https://se-buch.de.Die 4. Auflage enthält neben vielen kleinen Verbesserungen und Aktualisierungen neue Themen wie Schätzung in agilen Projekten, agile Skalierung, Microservices, Domain-Driven Design und automatische Software-Auslieferung. Autoren:Jochen Ludewig, Horst LichterProf. Dr. rer. nat. Jochen Ludewig geboren 1947 in Hannover. Studium der Elektrotechnik (TU Hannover) und Informatik (TU München); Promotion 1981. 1975 bis 1980 Gesellschaft für Kernforschung, Karlsruhe, dann Brown Boveri Forschungszentrum in Baden/Schweiz. 1986 Assistenzprofessor an der ETH Zürich, 1988 Ruf auf den neuen Lehrstuhl Software Engineering an der Universität Stuttgart. Arbeitsgebiete: Softwareprojekt-Management, Software-Prüfung und Software-Qualität, Software-Wartung. Ab 1996 Konzeption und Aufbau des Diplomstudiengangs Softwaretechnik, der inzwischen in einen Bachelor- und einen Masterstudiengang umgewandelt wurde. Seit 2009 Fellow der Gesellschaft für Informatik (GI).Prof. Dr. rer. nat. Horst Lichter geboren 1960 in Trier. Studium der Informatik und Betriebswirtschaftslehr (TU Kaiserslautern). Wissenschaftlicher Mitarbeiter (ETH Zürich und Universität Stuttgart), Promotion 1993. Anschließend Schweizerische Bankgesellschaft Zürich und ABB Forschungszentrum Heidelberg. 1998 Ruf an die RWTH Aachen University, Leiter des Lehr- und Forschungsgebiets Software-Konstruktion. Arbeitsgebiete: Software-Architektur, Qualitätssicherung, Software-Evolution. Seit 2005 Lecturer an der Thai German Graduate School of Engineering (TGGS) in Bangkok. Von 2018-2021 Adjunct Lecturer an der Universiti Teknologi Petronas (UTP) Malaysia.Zielgruppe:Praktiker*innen und Manager*innen mit Verantwortung für Software-ProjekteStudierendeLehrende
GitHub For Dummies
GET MORE OUT OF YOUR CODING WITH GITHUBFor today’s coders, GitHub is a must. The world’s largest software development platform, GitHub helps developers store, track, and collaborate on software projects. In this easy-to-follow Dummies guide, you’ll find insight into creating repositories, establishing projects, collaborating, incorporating open-source resources, and establishing yourself as a valued member of the GitHub community. With a working knowledge of GitHub, you’ll be a better, more employable programmer. The simple instructions and interactive examples in this book will get you there quickly.* Get the instructions you need for using GitHub to collaborate on software projects* Become more attractive to employers with knowledge and experience in the largest development platform* Set up GitHub Desktop, create a repository, and launch your first project* Use GitHub Skills courses to learn new tricks, for beginners to prosYou’ve learned how to write a little code—now learn how to share it with GitHub. SARAH GUTHALS, PHD is the Director of Developer Relations for Sentry, and previously worked at GitHub as an Engineering Manager. She is coauthor of Helping Kids with Coding For Dummies. Introduction 1PART 1: GETTING STARTED WITH GITHUB.COM 5Chapter 1: Understanding the Git in GitHub 7Chapter 2: Setting Up Your Collaborative Coding Environment 25PART 2: STARTING YOUR FIRST SOLO PROJECT 35Chapter 3: Introducing GitHub Repositories 37Chapter 4: Setting Up a GitHub Website Repo 57Chapter 5: Creating a Website with GitHub Pages 73PART 3: CONTRIBUTING TO YOUR FIRST PROJECT 91Chapter 6: Forking GitHub Repositories 93Chapter 7: Writing and Committing Code 109Chapter 8: Working with Pull Requests 129PART 4: MANAGING AND CONTRIBUTING TO LARGE PROJECTS 149Chapter 9: Exploring and Contributing to OSS 151Chapter 10: Starting Your Own OSS 165Chapter 11: Inner-Source Your Code on GitHub 185PART 5: MAKING GITHUB WORK FOR YOU 203Chapter 12: Collaborating Outside of GitHub 205Chapter 13: GitHub Workflow Integrations 219Chapter 14: Personalizing GitHub 233PART 6: THE GITHUB ECOSYSTEM 247Chapter 15: Exploring the GitHub Marketplace 249Chapter 16: GitHub and You 259Chapter 17: Attending Events 267PART 7: THE PART OF TENS 277Chapter 18: Ten Ways to Level Up on GitHub 279Chapter 19: Ten Ways to Improve Your Development Workflow 291Chapter 20: Ten Tips for Being an Effective Community Member 299Index 307
Bessere Videos drehen
Mitreißende Videos mit dem Handy oder der Cam: von der Idee bis zum fertig geschnittenen Film Technik, Szenenführung, Kameraperspektive, Schnitt und Effekte gekonnt einsetzen Viel Wissenswertes zur Rechtslage und zum YouTube-Upload Der Multimedia-Experte Reinhard Nikschick zeigt dir, wie du dein kreatives Potenzial für einen Video-Dreh voll entfaltest sowie strukturiert und versiert an die Arbeit gehst. Von den technischen Grundlagen über die Ausgestaltung der Idee und Kniffe der Kameraführung bis hin zum Schnitt erfährst du, was du zum Erstellen eines qualitativ hochwertigen Videos benötigst. Viele Tipps zu den Besonderheiten beim Filmen von Interviews oder der nachträglichen Audio-Bearbeitung helfen dir, typische Fehler von vorneherein zu vermeiden. Mit dem Sinn für die optimale Szenenanordnung und interessanten Effekten wirst du deine Zuschauer für dein Video begeistern. Hilfreiche Tipps zur Rechtslage und zum Upload bei YouTube runden das Buch ab. Aus dem Inhalt: Technische Voraussetzungen für den Video-Dreh Bildformate, Bildauflösung, Bildpunkte Ideen generieren und in interessante Geschichten verwandeln Hilfsmittel für ein schlüssiges Video-Konzept Einstellungsgrößen der Kamera und ihre Wirkung verstehen Bewährte Szenenreihenfolge verinnerlichen Verschiedene Perspektiven einnehmen Ideen zu Drehorten, Requisiten und Kleidung Datensicherung auf Dreh: in der Cloud oder auf dem Laptop Videoschnitt mit dem kostenlosen Schnittprogramm Kdenlive Besonderheiten bei Interviews und Kommentaren Audio fürs Video aufbereiten Videos mit Titeltext, Bildkorrekturen und Effekte wie z.B. Chroma-Key-Technik verbessern Rechtsfragen beachten Videos bei YouTube hochladen Für Windows verfasst, aber auch für Mac- und Linux-User geeignet.Reinhard M. Nikschick ist Multimedia-Produzent und Toningenieur an der Hochschule für Film und Fernsehen Potsdam Babelsberg (Filmuniversität). Als Autor sowie Regisseur produziert er Videos für Unternehmen und Bildungseinrichtungen. Er arbeitete zudem als freier Mitarbeiter beim NDR.
Pro Kotlin Web Apps from Scratch
Build production-grade web apps from scratch – without using frameworks – with Kotlin on the Java platform. You’ll learn how to use and compose libraries, how to choose between different libraries, and the benefits of explicit and straight-forward code, vs. the implicit magic, conventions, and inversion of control you often see in frameworks.The book teaches the Kotlin language by building production-ready Kotlin code. You’ll gain a deep understanding of the idiomatic use of the Kotlin language along with knowledge of how to apply Kotlin in production-grade web apps. The book also bridges the gap between building from scratch and using existing frameworks. For example, you’ll learn how to integrate Spring Security-based authentication in web apps written from scratch, so you can leverage existing tooling in your organization without having to take on the entire Spring framework.The first section of the book sets up the base structure of your web app, such as routing, configuration files, and database migrations. The remaining chapters are broken into individual aspects of building production-ready web apps. Appendices at the end of the book explain how to use different libraries than the ones chosen in the main chapters, so you'll learn how to decouple your code from specific libraries, and choose between many different libraries to get the job done in your own web apps.WHAT YOU WILL LEARN* Compose libraries and manage boilerplate code using idiomatic and powerful Kotlin* Manage and query SQL databases without ORMs and mapping layers* Write resilient and change-proof tests in support of test-driven development practices* Create traditional, HTML-based web apps, APIs for JavaScript-based single-page web apps and native mobile apps* Manage parallelism and external service calls using Kotlin co-routines* Deploy to production using embedded servers, WAR files, and serverless approaches* Bridge the gap between custom-built apps and enterprise, using Spring Context and Spring SecurityWHO THIS BOOK IS FORThe expert developer who is ready to take full control of the tech stack, and use the Kotlin language, type system, and standard library, to ship production-ready web apps. Readers should have prior programming experience. Experience with Java or another JVM language is helpful.AUGUST LILLEAAS has built web apps, user interfaces, and real-time systems since 2004, and mobile apps since the app stores opened in the late 2000s. After picking up Clojure in 2012, he left the frameworks and ORMs behind and started to build web apps from scratch, and has shipped to production using Clojure, Groovy, Node.JS, Elixir, and Kotlin. August has worked as a consultant for a decade and is now an independent contractor and startup founder.PART I. UP AND RUNNING WITH A WEB APP1. Setting Up A Development Environment2. Setting Up the Web App Skeleton3. Configuration Files4. Decoupling Web Handlers from Specific LibrariesPART II. LIBRARIES AND SOLUTIONS5. Connecting to and Migrating SQL Databases6. Querying a SQL Database7. Automated Tests with jUnit 58. Parallelizing Service Calls with Coroutines9. Building Traditional Web Apps with HTML and CSS10. Building API Based Backends11. Deploying to Traditional Server Based Environments12. Build and Deploy to a Serverless Environment13. Setup, Teardown and Dependency Injection with Spring Context14. Enterprise Authentication using Spring SecurityPART III. TOOLS OF THE TRADE15. Choosing the Right Library16. An Assortment of Kotlin TricksAppendix A: Using Jooby Instead of KtorAppendix B: Using Hoplite Instead of Typesafe ConfigAppendix C: Using Spek Instead of jUnit 5
Betriebswirtschaftliche KI-Anwendungen
Digitalisierung und Künstliche Intelligenz ermöglichen Unternehmen disruptive Erweiterungen ihrer Geschäftsmodelle. Wer rechtzeitig digitale KI-Geschäftsmodelle einführt, wird seinen Erfolg nachhaltig sichern können. Aber wie und wo können solche Modelle Anwendung finden? Diese Publikation gibt Antworten, wo KI-Geschäftsmodelle greifen können, und wie diese von der ersten Idee bis zur produktiven Anwendung realisiert werden können.KI-Anwendungen in der Betriebswirtschaft.- Grundlagen und Technik.- Digitale Geschäftsmodelle auf Basis Künstlicher Intelligenz.- Prototyp einer digitalen KI-Anwendung.- Beispielanwendung 1.- Beispielanwendung 2.- Beispielanwendung 3.- Der Weg zum Erfolg mit KI.
Home Appliance Hack-and-IoT Guidebook
If you are looking for a small yet powerful IoT device, you are likely to come across the ESP8266 and compatible products on the market today. One of these, the Wemos/Lolin D1 Mini Pro board strikes a remarkable balance between cost and performance. A small and very aff ordable prototype board, the D1 Mini Pro stands out with its WiFi functionality and a 16-Mbytes flash memory for easy creation of a flash file system. In addition, there are suff icient input and output pins (only one analog input though) to support PWM, I2C, and One-Wire systems to mention but a few. The book describes the operation, modding, construction, and programming of home appliances including a colorful smart home accessory, a refrigerator/greenhouse controller, an AC powerline monitor, a door lock monitor, and an IKEA Trådfri controller.As a benefit, all firmware developed for these DIY, "IoT-ized" devices can be updated over-the-air (OTA).For most of the designs in the book, a small printed circuit board (PCB) and an enclosure are presented so readers can have a finished and attractive-looking product. Readers having – or with access to! – a 3D printer can "print" the suggested enclosures at home or in a shop.Some of the constructions benefit from a Raspberry Pi configured as a gateway or cms server. This is also described in detail with all the necessary configuring.You don't need to be an expert but the prerequisites to successful replication of the projects include basic skills with PC software including the ability to surf the Internet. In terms of hardware, you should be comfortable with soldering and generally assembling the PCBs presented in the book.All custom software written for the IoT devices, the PCB layouts, and 3D print files described in the book are available for free downloading from the books section of Elektor Store website, www.elektor.com/books – simply search for the book title.Hans Henrik Skovgaard has over 25 years of management experience in the mobile phone industry and holds an MSc. in Electronic Engineering. He has authored four top-selling books on electronics design and embedded software.
Der agile Festpreis
- Warum brauchen agil entwickelte IT-Projekte einen anderen Vertragsrahmen als Projekte nach der Wasserfallmethode? - Wie ein partnerschaftliches Miteinander zu größeren Projekterfolgen führt - Erfahren Sie, wie Sie Schritt für Schritt einen agilen Festpreisvertrag ausarbeiten, verhandeln und umsetzen - Nutzen Sie die Vertragsvorlage als Anregung für Ihre eigenen agilen Festpreisverträge - Reale Beispiele aus der Praxis illustrieren den Weg zum passenden Vertrag - Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten Buches Agiles Arbeiten ist in der Softwareentwicklung eine Selbstverständlichkeit und selbst Großkonzerne definieren im Zuge von Digitalisierungsinitiativen die Rahmenbedingungen ihrer Produktentwicklung neu. Sich mit den vertraglichen Bedingungen zwischen Kunden und Lieferanten unter agilen Vorzeichen auseinanderzusetzen, ist für den Projekterfolg ausschlaggebend und angesichts hochdynamischer Marktsituationen notwendiger denn je. Schließlich ist konstruktive Zusammenarbeit das maßgebliche Prinzip agiler Methoden und genau das wird von traditionellen Vertragsformen oft verhindert. Agile IT-Projekte brauchen Verträge, die den Spagat zwischen festem Kostenrahmen und agiler Entwicklung – etwa mit Scrum – schaffen. Der Agile Festpreis balanciert die Interessen von Anbieter und Kunde und formt ein kooperatives Modell, indem er Grundsätze der Zusammenarbeit und Flexibilität in der Ausgestaltung von Anforderungen bestmöglich vereint. Die 4. Auflage enthält neue Erfahrungsberichte und wurde um weitere Aspekte des Verhandelns sowie neue Praxisbeispiele ergänzt. Kunden, Lieferanten und Einkäufern bietet dieses Buch Best Practices, Vertragsvorlagen und Argumentarien. AUS DEM INHALT // - Wie der Agile Festpreisvertrag Sicherheit und Flexibilität vereinbart - Die 6 Schritte zum neuen Vertragsmodell - Muster für einen Agilen Festpreisvertrag - Ausschreibung und Preisfindung - Vor- und Nachteile verschiedener Vertragsformen
IBM Software Systems Integration
Examine the working details for real-world Java programs used for system integration with IBM Software, applying various API libraries (as used by Banking and Insurance companies). This book includes the step-by-step procedure to use the IBM FileNet Case Manager 5.3.3 Case Builder solution and the similar IBM System, IBM Business Automation Workflow to create an Audit System.You'll learn how to implement the workflow with a client Java Message Service (JMS) java method developed with Workflow Custom Operations System Step components. Using IBM Cognos Analytics Version 11.2, you'll be able to create new views for IBM Case Manager Analytics for custom time dimensions. The book also explains the SQL code and procedures required to create example Online Analytical Processing (OLAP) cubes with multi-level time dimensions for IBM Case Manager analytics.IBM Software Systems Integration features the most up to date systems software procedures using tested API calls.WHAT YOU WILL LEARN* Review techniques for generating custom IBM JMS code* Create a new custom view for a multi-level time dimension* See how a java program can provide the IBM FileNet document management API calls for content store folder and document replication* Configure Java components for content engine eventsWHO THIS BOOK IS FORIT consultants, Systems and Solution Architects.ALAN BLUCK has over 45 years IT experience. He has been a Solutions Architect for IBM for over 10 years. Elected as an IBM Champion (2022), he is now the Director and owner of ASB Software Development Limited, an IBM PartnerWorld partner, and a consultancy providing systems architecture for a broad range of services. He is a Member of the British Computer Society (MBCS, CITP).Chapter 1IBM FileNet Case Manager 5.3.3 Case Builder Solution Development Steps for The Audit SystemCHAPTER GOAL: Building the initial IBM Case Manager Audit SolutionNO OF PAGES 90SUB -TOPICSSECTIONS* Bill of Materials* Add a new solution* Add properties and Business Objects* Add Roles* Add properties to the Inbaskets for each role* Add Document class* Add Business Objects* Add Business Object Types as Case propertiesAdd Case Types* Audit Department Task* Add Business Objects to be searched* Audit Solution First Test* Remove the Case Search Business Objects* Edit the Cases Page to allow Case Search to work correctly* Debug the Case Manager Client* Check FileNet Version* Check FileNet Health* Check FileNet Object Store Upgrade Status* Check FileNet Workflow Upgrade StatusFix / Workaround for Error on Case Search * Other Fixes (Recommended)Chapter 2: Configuring Java Custom ComponentsCHAPTER GOAL: CREATION AND CONFIGURATION OF THE JAVA CUSTOMISATIONSNO OF PAGES: 20SUB - TOPICSSECTIONS* Configuring Java Components for Content Engine Events* Custom Code Module java JAR API call development* Adding a Code ModuleCreating a Custom Event Object* Configuring Workflow Subscriptions* Configuring Component Manager for WebSphere control* Component Manager Extension MBean Provider* Creating the Component Manager Custom Service* DbExecute system function* Setting DbExecute connections* Example DB2 Stored procedure* Example Oracle Stored procedure* Example SQL*Server Stored procedureChapter 3: IBM JMS (Java Message Service) Interface Development IBM FileNet 5.5.x WorkflowCHAPTER GOAL: Theexample development of a java jar file for the IBM Java Messaging Service calls and its deployment for use in an IBM Case Manager Workflow.NO OF PAGES : 240SUB - TOPICS:* MQ Series 7.5 Install and Configure* Notification of successful repository load into FileNet* Custom Operations Component Development- JMSMessage Operation* Custom Operations Component Development- Fix list for WebSphere MQ Version 7.5* IBM MQ Series 7.x Fix Pack Installation* Linux: Applying maintenance level updates on WebSphere MQ version* Setting up the client on Windows* Setting up the client on Linux* Sending a message from a client to a server* AuditOperations method parameterisation* AuditOperations.java Code Development* AuditOperations re-build and deploy .jar* Final pre-build test AuditOperations.jar* FileNet Workflow System Component AuditOperations.jar deployment* Checking deployment in the Component Manager and Workflow* Transfer Workflow and set up Workflow subscriptionsChapter 4: A Replication Java Program for IBM FileNet Object StoresCHAPTER GOAL: The development of the java API calls and the configuration required to replicate an IBM FileNet Document Management ObjectStore.NO OF PAGES: 100SUB - TOPICS:* Setting up the Creator Property* Setting Object Store Access Rights* Batch Jobs* Required supporting Library .jar files* The Configuration set up file* Encryption of the administrator user password in a config.xml Configuration file* Update of the Config.xml Start Date* Event Set-up * Folder Class - Update Event and Deletion Events* Document Class - Deletion Events* Unit Test results ( New Folder and Document )* Existing Folder Name and Security updatesNew Folder Name and Document updatesChapter 5: Cognos RTM Custom DevelopmentCHAPTER GOAL: Create a new Custom View for a Multi-level Time DimensionNO OF PAGES: 90SUB - TOPICS:SECTIONS* Creation and test of Multilevel Time Dimension for a new OLAP Database* Update to add Year YearNumber and Month* Update to add Hour* Create a new View for Workflow Tasks* Create a new data stream in Cognos RTM – Task Load Data Stream* Create a new Cube including the Multilevel Time Dimension* Case Attribute Review for Exposed Dimensions* Creation and test of Multilevel Time Dimensions* Create a new Multilevel Time Dimension Cube* Average Age Hours* Average Wait Time Hours* Average Processing Time Hours* Average Ready Time Hours* Average Failed Time HoursCHAPTER 6: PDF Document Creation using iTextCHAPTER GOAL: A Java Program to generate PDF document using the iText libraryNO OF PAGES: 20SUB - TOPICS:SECTIONS1. Adding an Image to a PDF2. Adding a Table to a PDF3. Creating a PdfWriter object4. Creating a PdfDocument object5. Creating the Document object6. Creating an Image object7. Adding image to the documentClosing the Document
Modernes C++: Concurrency meistern
Concurrency mit modernem C++ ist eine Reise durch die bestehende und die zukünftige Nebenläufigkeit in C++.Das Buch erklärt Ihnen die Details zu Nebenläufigkeit in modernem C++ und gibt Ihnen mehr als 100 lauffähige Programme. Damit können Sie die Theorie mit der Praxis verknüpfen um den optimalen Nutzen aus dem Buch zu ziehen.Nebenläufigkeit, Parallelität, Gleichzeitigkeit• C++11 und C++14 besitzen die elementaren Bausteine, um nebenläufige und parallele Programme zu schreiben.• Mit C++17 stehen die parallelen Algorithmen der Standard Template Library (STL) vor der Tür. Das heißt, dass die meisten der Algorithmen der STL sequentiell, parallel oder vektorisiert ausgeführt werden können.• Die Geschichte in C++ geht aber weiter. Dank C++20 können wir auf erweiterte Futures, Coroutinen, Transaktionen und noch viel mehr hoffen.Für C++ Entwickler, die ihr Niveau rund um Gleichzeitigkeit auf das nächste Niveau heben wollen. Gleichzeitigkeit ist neben Security und Verteilung eine der Schlüsselherausforderung der Softwareentwicklung der nächsten mindestens 10 Jahre.EXTRA: E-Book inside. Systemvoraussetzungen für E-Book inside: Internet-Verbindung und Adobe-Reader oder Ebook-Reader bzw. Adobe Digital Editions.
Der agile Festpreis (4. Auflg.)
Der agile Festpreis:Agiles Arbeiten ist in der Softwareentwicklung eine Selbstverständlichkeit und selbst Großkonzerne definieren im Zuge von Digitalisierungsinitiativen die Rahmenbedingungen ihrer Produktentwicklung neu. Sich mit den vertraglichen Bedingungen zwischen Kunden und Lieferanten unter agilen Vorzeichen auseinanderzusetzen, ist für den Projekterfolg ausschlaggebend und angesichts hochdynamischer Marktsituationen notwendiger denn je. Schließlich ist konstruktive Zusammenarbeit das maßgebliche Prinzip agiler Methoden und genau das wird von traditionellen Vertragsformen oft verhindert.Agile IT-Projekte brauchen Verträge, die den Spagat zwischen festem Kostenrahmen und agiler Entwicklung – etwa mit Scrum – schaffen.Der Agile Festpreis balanciert die Interessen von Anbieter und Kunde und formt ein kooperatives Modell, indem er Grundsätze der Zusammenarbeit und Flexibilität in der Ausgestaltung von Anforderungen bestmöglich vereint.Die 4. Auflage enthält neue Erfahrungsberichte und wurde um weitere Aspekte des Verhandelns sowie neue Praxisbeispiele ergänzt. Kunden, Lieferanten und Einkäufern bietet dieses Buch Best Practices, Vertragsvorlagen und Argumentarien.Inhalt:Wie der Agile Festpreisvertrag Sicherheit und Flexibilität vereinbartDie 6 Schritte zum neuen VertragsmodellMuster für einen Agilen FestpreisvertragAusschreibung und PreisfindungVor- und Nachteile verschiedener Vertragsformen
Java All-in-One For Dummies
Get started writing Java® code—the easy way Java® code is the go-to language for developing Android apps and all sorts of other things. With Java All-in-One For Dummies, you can write your first lines of code in Java and work your way to advanced stuff like Internet of Things (IoT) programming, JavaFX, and Java for the web. Easy-to-follow instructions, fun practice, and a time-tested instructional approach will shorten your learning journey. With eight mini-books in one, consider this the only Java book you’ll need as your take your knowledge to the next level, and the next, and the next. 8 Mini-books Inside… Java BasicsProgramming BasicsObject-Oriented ProgrammingStrings and Other Data TypesData StructuresAlgorithmsProgramming TechniquesJavaFX A beginning coder’s resource for learning the most popular coding language With Java All-in-One For Dummies, you get 8 books in one, for the most well-rounded Java knowledge on the market. Updated for Java 19, this book includes all the major changes to the programming language, so you won’t fall behind. Start by learning the basics of Java—you can do it, even if you’ve never written a line of code in your life. Then go in-depth, with all the info you need on object-oriented programming, Java FX, Java web development, and beyond. Grab a hot cup of java and settle in to learn some Java, with friendly For Dummies guidance! Learn the basics of computer programming and get started with the Java languageMaster strings, arrays, and collectionsDiscover the most recent Java updates and the latest in programming techniquesLaunch or further your career as a coder with easy-to-follow instruction This is the go-to Dummies guide for future and current coders who need an all-inclusive guide Java to take their knowledge to the next level. Introduction 1 Book 1: Java Basics 5 Chapter 1: Welcome to Java 7 Chapter 2: Installing and Using Java Tools 17 Chapter 3: Working with TextPad 31 Book 2: Programming Basics 37 Chapter 1: Java Programming Basics 39 Chapter 2: Working with Variables and Data Types 59 Chapter 3: Working with Numbers and Expressions 97 Chapter 4: Making Choices 127 Chapter 5: Going Around in Circles (or, Using Loops) 149 Chapter 6: Pulling a Switcheroo 177 Chapter 7: Adding Some Methods to Your Madness 195 Chapter 8: Handling Exceptions 215 Book 3: Object-Oriented Programming 237 Chapter 1: Understanding Object-Oriented Programming 239 Chapter 2: Making Your Own Classes 253 Chapter 3: Working with Statics 273 Chapter 4: Using Subclasses and Inheritance 283 Chapter 5: Using Abstract Classes and Interfaces 305 Chapter 6: Using the Object and Class Classes 327 Chapter 7: Using Inner Classes and Anonymous Classes 355 Chapter 8: Working with Packages and the Java Module System 365 Book 4: Strings and Other Data Types 387 Chapter 1: Working with Strings 389 Chapter 2: Using Regular Expressions 411 Chapter 3: Working with Dates and Times 429 Chapter 4: Using the BigDecimal Class 451 Book 5: Data Structures 471 Chapter 1: Introducing Data Structures 473 Chapter 2: Using Arrays 503 Chapter 3: Using the ArrayList Class 535 Chapter 4: Using the LinkedList Class 549 Chapter 5: Creating Generic Collection Classes 561 Chapter 6: Using Maps and Trees 575 Book 6: Algorithms 595 Chapter 1: Introducing Algorithms 597 Chapter 2: Using Recursion 613 Chapter 3: Sorting 625 Chapter 4: Searching 637 Book 7: Programming Techniques 657 Chapter 1: Programming Threads 659 Chapter 2: Using Functional Programming and Lambda Expressions 689 Chapter 3: Consuming Web Services with HttpClient 705 Book 8: JavaFX 727 Chapter 1: Hello, JavaFX! 729 Chapter 2: Handling Events 751 Chapter 3: Setting the Stage and Scene Layout 769 Chapter 4: Using Layout Panes to Arrange Your Scenes 791 Chapter 5: Getting Input from the User 825 Chapter 6: Choosing from a List 841 Index 869 Doug Lowe is an accomplished technology writer of more than 30 books. He is a tech guru on all things computer programming. His expertise covers networking, Microsoft® Office, programming, and computer building. He is the author of the previous edition of Java All-in-One For Dummies.
Python 3 - Das umfassende Handbuch (7. Auflage)
Das Python-Handbuch zum Lernen und Nachschlagen! Ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch lernen Sie alles, was Sie zu Python 3 wissen müssen. Angefangen mit einer Einführung in die Sprache bietet es eine Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen und verschiedenen Anwendungsbereichen. Von der GUI-Programmierung über die Webentwicklung bis zu Data Science: Dieses Buch macht den persönlichen Werkzeugkasten perfekt.Aus dem Inhalt: Sprachgrundlagen und objektorientierte ProgrammierungReguläre AusdrückeDatums- und ZeitfunktionenThread-ProgrammierungGUI-ProgrammierungWebentwicklung mit DjangoMigration von Python 2.x nach 3Mathematische ModuleWissenschaftliches RechnenData ScienceAutoren:Dr. Johannes Ernesti hat am Karlsruher Institut für Technologie (KIT) in angewandter Mathematik promoviert.Dr. Peter Kaiser hat am Karlsruher Institut für Technologie (KIT) in humanoider Robotik promoviert. Seit Mai 2019 arbeitet er als Research Scientist bei DeepL.Leseprobe (PDF-Link)
Outlook 2021
Lernen Sie Outlook 2021 von Grund auf kennen und erfahren Sie, wie Sie E-Mails schreiben, einen Terminkalender führen, Aufgaben und Erinnerungen anlegen und Outlook zu Ihrem persönlichen Adressbuch machen. Schritt für Schritt begleitet Sie der Outlook-Experte Otmar Witzgall durch das Programm, sodass Sie es schnell privat oder bei der Arbeit einsetzen und die tägliche Informationsflut locker im Griff behalten werden. Egal ob Ein- oder Umsteiger, dieses Buch zeigt Ihnen, wie Sie Outlook 2021 mühelos einsetzen. Aus dem Inhalt: Outlook kennenlernen und einrichtenE-Mails schreiben und versendenDen Posteingang verwaltenOrdnung in Ihre E-Mails bringenViren und unerwünschte Werbung abwehrenFortgeschrittene E-Mail-Funktionen nutzenEin Adressbuch anlegenDas Adressbuch für E-Mails verwendenTermine planenAufgaben organisierenMit Notizen arbeitenOutlook anpassenOutlook-Daten sichern 1. Outlook kennenlernen und einrichten ... 8 Ein E-Mail-Konto anlegen ... 10 Outlook mit Active-Sync-Konto verbinden ... 14 Outlook manuell mit POP-Konto verbinden ... 18 Die Benutzeroberfläche kennenlernen ... 22 Outlook per Touchscreen bedienen ... 28 Mit Ordnern arbeiten ... 30 Zwischen Outlook-Bereichen navigieren ... 32 Die Outlook-Hilfe nutzen ... 34 2. E-Mails verfassen und versenden ... 36 Empfänger, Betreff und Co. eingeben ... 38 Eine E-Mail an mehrere Empfänger versenden ... 42 Text eingeben ... 44 Die E-Mail als Entwurf speichern ... 48 Die E-Mail versenden ... 50 Weitere Sendeoptionen festlegen ... 52 Den Versand überprüfen ... 54 Dateien und Fotos anhängen ... 56 Text gestalten ... 60 Mit Formatvorlagen und Designs arbeiten ... 64 Eine Signatur anfügen ... 68 3. Den Posteingang verwalten ... 70 E-Mails empfangen und lesen ... 72 E-Mails beantworten oder weiterleiten ... 74 Einen Anhang öffnen und speichern ... 78 Lese- und Übermittlungsbestätigung verwenden ... 82 Lesebereich und Ansichten einstellen ... 84 Eine E-Mail drucken ... 88 4. Nachrichten effizient organisieren ... 90 E-Mails ordnen, verschieben und löschen ... 92 Unterhaltungen aufräumen ... 96 E-Mails automatisch verschieben ... 98 E-Mails suchen ... 104 Suchordner verwenden ... 108 E-Mails kategorisieren ... 110 Nachrichten zur Nachverfolgung kennzeichnen ... 112 Ordner aufräumen ... 114 Nachrichten endgültig löschen ... 120 5. Viren und unerwünschte Werbung abwehren ... 122 Einen Virenscan durchführen ... 124 Spam blockieren ... 128 Versehentlich blockierte Mails zurückholen ... 130 Sicherheitsmaßnahmen festlegen ... 132 6. Fortgeschrittene E-Mail-Funktionen nutzen ... 138 E-Mails filtern und sortieren ... 140 Abläufe mit QuickSteps vereinfachen ... 144 Nachrichten per RSS abonnieren ... 148 Mit Schnellbausteinen Zeit gewinnen ... 150 7. Ein Adressbuch anlegen ... 152 Einen Kontakt hinzufügen ... 154 Einen Kontakt neu anlegen ... 156 Kontakte bearbeiten ... 158 Kontaktordner erstellen ... 162 Kontakte sortieren und filtern ... 164 Kontakte suchen ... 166 Einem Kontakt Dateien und Notizen hinzufügen ... 168 Kontaktgruppen einrichten ... 170 Kontakte in eine Excel-Datei übertragen ... 172 Kontakte aus Excel importieren ... 176 8. Das Adressbuch für E-Mails verwenden ... 182 Empfänger aus dem Adressbuch wählen ... 184 Eine E-Mail an eine Kontaktgruppe senden ... 186 Visitenkarte abspeichern ... 188 Einen Kontakt als Visitenkarte weitergeben ... 190 9. Termine planen ... 192 Einen Termin anlegen ... 194 Die Erinnerungsfunktion nutzen ... 198 Aus regelmäßigen Terminen eine Serie machen ... 200 Einem Termin Dateien hinzufügen ... 202 Feiertage im Kalender anzeigen ... 204 Geburtstage eintragen ... 206 Besprechungen organisieren ... 210 Eine E-Mail als Termin übernehmen ... 214 Kalenderdaten weitergeben ... 218 Kalender drucken ... 220 10. Aufgaben organisieren ... 222 Aufgaben anlegen und bearbeiten ... 224 Die Anzeige von Aufgaben ändern ... 228 An Aufgaben erinnert werden ... 230 Wiederkehrende Aufgaben festlegen ... 232 Dateien und Notizen anhängen ... 234 11. Mit Notizen arbeiten ... 236 Eine Notiz erstellen ... 238 Notizen einfärben ... 240 Notizen sortieren ... 242 Notizen per E-Mail versenden ... 244 12. Outlook verwalten und anpassen ... 246 Das Menüband anpassen ... 248 Schnell auf Befehle zugreifen ... 252 Kontoeinstellungen ändern ... 254 Kalenderoptionen ändern ... 256 Einstellungen für Aufgaben vornehmen ... 258 Optionen für den Bereich Personen anpassen ... 260 Mehr Übersicht in den Listenansichten ... 262 Outlook mit Word und Co. verwenden ... 264 13. Outlook-Daten sichern ... 268 Alte Daten archivieren ... 270 Daten sichern ... 274 Daten wiederherstellen ... 278 Mit Datendateien arbeiten ... 282 Wichtige Tasten und Tastenkombinationen ... 284 Glossar ... 286 Stichwortverzeichnis ... 294
Die Kunst der agilen Entwicklung (2. Auflage)
Grundlagen, Methoden und PraktikenUm agile Entwicklung zu meistern, müssen Sie im Team lernen, unzählige Möglichkeiten von Moment zu Moment zu bewerten und intuitiv die beste Vorgehensweise auszuwählen.Dieses Buch beschreibt umfassend und praxisorientiert die Grundlagen, Methoden und Praktiken agiler Softwareentwicklung. James Shore gibt wertvolle Ratschläge für den Projektstart, inkrementellen Entwurf, Continuous Integration, iterative Planung und testgetriebene Entwicklung sowie die Bereitstellung und Refactoring von Software, die aus über zwei Jahrzehnten Erfahrung mit Agilität stammen. Er bringt den State of the Art aus Extreme Programming, Scrum, Lean, DevOps und mehr in ein zusammenhängendes Ganzes und vermittelt darüber hinaus, dass Agilität zu meistern auch bedeutet, in Abhängigkeit von Projektgegebenheiten und der Organisation, in der Software entwickelt wird, Praktiken anzupassen.Diese 2. Auflage ist vollständig überarbeitet und von Grund auf neu geschrieben worden und berücksichtigt dabei die Weiterentwicklung auf dem Gebiet der agilen Entwicklung der letzten 14 Jahre. Neu aufgenommen wurden Themen wie agile Skalierung, DevOps, die Arbeit mit Remote-Teams sowie das Agile Fluency Model zur Einführung und Anpassung von Agilität an die Bedürfnisse des Unternehmens. Autor:James Shore leitet seit 1999 Teams, die agile Entwicklung praktizieren. Er kombiniert ein tiefes Verständnis der agilen Ideen mit jahrzehntelanger praktischer Erfahrung in der Entwicklung und nutzt diese Erfahrung, um Menschen dabei zu unterstützen, zu verstehen, wie alle Aspekte von Agilität zusammenpassen, um herausragende Ergebnisse zu erzielen. James hat den Gordon Pask Award der Agile Alliance für Beiträge zur agilen Praxis erhalten, ist Moderator mehrerer Screencasts zur Softwareentwicklung und Mitbegründer des Agile Fluency Model. Er ist online unter jamesshore.com zu finden.Zielgruppe: Programmierer*innenSoftwareentwickler*innenProduktverantwortlicheProjektmanager*innenQualitätsverantwortlicheManagementStudierende
Java für Dummies (8. Auflg.)
Sie wollen in Java einsteigen oder Ihre Kenntnisse erweitern? »Java für Dummies« ist gleichzeitig Lehrbuch und unverzichtbares Nachschlagewerk für alle Java-Programmierer. Basiswissen zur objektorientierten Programmierung wird genauso vermittelt wie das Prinzip der Wiederverwendbarkeit von Programmbausteinen. Außerdem lernen Sie, wann Variablen innerhalb oder außerhalb von Methoden deklariert werden sollten, wo die Grenzen von Arrays liegen und wie Code mit Exceptions absturzsicher gemacht wird. Diese Auflage von »Java für Dummies« berücksichtigt die Neuerungen der Version Java 17. Barry Burd ist Mathematiker und Professor für Informatik. Er hat alle Auflagen von "Java für Dummies" und "Mit Java programmieren lernen für Dummies" verfasst und schreibt häufig Artikel über Java für Online-Publikationen.Einleitung 23TEIL I: LOS GEHT’S 27Kapitel 1: Alles über Java 29Kapitel 2: Alles über Software 41Kapitel 3: Die grundlegenden Bausteine verwenden 53TEIL II: EIGENE JAVA-PROGRAMME SCHREIBEN 75Kapitel 4: Das Optimum aus Variablen und ihren Werten herausholen 77Kapitel 5: Den Programmablauf mit entscheidungsfindenden Befehlen steuern 115Kapitel 6: Den Programmablauf mit Schleifen steuern 151TEIL III: DAS GROẞE GANZE: OBJEKTORIENTIERTE PROGRAMMIERUNG 169Kapitel 7: Die Sache mit der objektorientierten Programmierung 171Kapitel 8: Zeit und Geld sparen: Code wiederverwenden 211Kapitel 9: Neue Objekte entwerfen 243TEIL IV: INTELLIGENTE JAVA-TECHNIKEN 267Kapitel 10: Variablen und Methoden richtig platzieren 269Kapitel 11: Arrays verwenden, um mit Werten zu jonglieren 301Kapitel 12: Sammlungen und Streams verwenden (wenn Arrays nicht mehr ausreichen) 327Kapitel 13: Gut aussehen, wenn sich die Dinge unerwartet ändern 357Kapitel 14: Namen in Programmteilen gemeinsam nutzen 385Kapitel 15: Referenztypen 411Kapitel 16: Jonglieren mit Java 429Kapitel 17: Datenbankverbindungen aufbauen und nutzen mit Java 449TEIL V: DER TOP-TEN-TEIL 459Kapitel 18: Zehn Ratschläge für neue Softwareentwickler 461Kapitel 19: Zehn Websites für Java 467Abbildungsverzeichnis 469Stichwortverzeichnis 475
SQL für Dummies (8. Auflg.)
Daten und Datenbanken sind quasi überall. Mit der Standardabfragesprache SQL können Daten in relationalen Datenbanken einfach, strukturiert und zielsicher abgefragt werden. Erfahren Sie in diesem Buch, das kein Vorwissen voraussetzt, wie Sie Datenbanken erstellen, Daten ordnen und abfragen und wie Sie SQL-Anweisungen in Programme und Websites einbinden. Nutzen Sie dieses Buch auch als Nachschlagewerk. Ganz wichtig: Sie lernen auch, wie Sie Ihre Datenbanken und Daten schützen und wie Sie typische Fehler vermeiden. Allen G. Taylor ist Datenbank-Experte und Autor vieler Computerbücher, insbesondere über Datenbanksysteme.Über den Autor 9Einleitung 25TEIL I: GRUNDBEGRIFFE 29Kapitel 1: Grundlagen relationaler Datenbanken 31Kapitel 2: SQL-Grundlagen 45Kapitel 3: Die Komponenten von SQL 77TEIL II: DATENBANKEN MIT SQL ERSTELLEN 105Kapitel 4: Eine einfache Datenbankstruktur erstellen und verwalten 107Kapitel 5: Eine relationale Datenbank mit mehreren Tabellen erstellen 131TEIL III: DATEN SPEICHERN UND ABRUFEN 163Kapitel 6: Daten einer Datenbank bearbeiten 165Kapitel 7: Temporale Daten verarbeiten 183Kapitel 8: Das Angeben von Datenwerten 197Kapitel 9: SQL-Wertausdrücke – fortgeschrittener Teil 225Kapitel 10: Daten zielsicher finden 237Kapitel 11: Relationale Operatoren 267Kapitel 12: Mit verschachtelten Abfragen tief schürfen 289Kapitel 13: Rekursive Abfragen 307TEIL IV: KONTROLLMECHANISMEN 317Kapitel 14: Datenbanken schützen 319Kapitel 15: Daten schützen 335Kapitel 16: SQL in Anwendungen nutzen 355TEIL V: SQL IN DER PRAXIS 369Kapitel 17: Datenzugriffe mit ODBC und JDBC 371Kapitel 18: SQL und XML 381TEIL VI: SQL FÜR FORTGESCHRITTENE 401Kapitel 19: Cursor 403Kapitel 20: Prozedurale Möglichkeiten mit dauerhaft gespeicherten Modulen schaffen 413Kapitel 21: Fehlerbehandlung 431Kapitel 22: Trigger 443TEIL VII: DER TOP-TEN-TEIL 449Kapitel 23: Zehn häufige Fehler 451Kapitel 24: Zehn Tipps für Abfragen 455Anhang A: Wie kommt man zu einer Datenbankumgebung? 459Anhang B: SQL: Reservierte Wörter 465Abbildungsverzeichnis 467Stichwortverzeichnis 471
R All-in-One For Dummies
A DEEP DIVE INTO THE PROGRAMMING LANGUAGE OF CHOICE FOR STATISTICS AND DATAWith R All-in-One For Dummies, you get five mini-books in one, offering a complete and thorough resource on the R programming language and a road map for making sense of the sea of data we're all swimming in. Maybe you're pursuing a career in data science, maybe you're looking to infuse a little statistics know-how into your existing career, or maybe you're just R-curious. This book has your back. Along with providing an overview of coding in R and how to work with the language, this book delves into the types of projects and applications R programmers tend to tackle the most. You'll find coverage of statistical analysis, machine learning, and data management with R.* Grasp the basics of the R programming language and write your first lines of code* Understand how R programmers use code to analyze data and perform statistical analysis* Use R to create data visualizations and machine learning programs * Work through sample projects to hone your R coding skillThis is an excellent all-in-one resource for beginning coders who'd like to move into the data space by knowing more about R.JOSEPH SCHMULLER is a cognitive scientist and statistical analyst. His recent work in the For Dummies series includes the 5th edition of Statistical Analysis with Excel For Dummies along with Statistical Analysis with R For Dummies and R Projects For Dummies.Introduction 1BOOK 1: INTRODUCING R 5Chapter 1: R: What It Does and How It Does It 7Chapter 2: Working with Packages, Importing, and Exporting 37BOOK 2: DESCRIBING DATA 51Chapter 1: Getting Graphic 53Chapter 2: Finding Your Center 93Chapter 3: Deviating from the Average 103Chapter 4: Meeting Standards and Standings 113Chapter 5: Summarizing It All 125Chapter 6: What’s Normal? 145BOOK 3: ANALYZING DATA 163Chapter 1: The Confidence Game: Estimation 165Chapter 2: One-Sample Hypothesis Testing 181Chapter 3: Two-Sample Hypothesis Testing 207Chapter 4: Testing More than Two Samples 233Chapter 5: More Complicated Testing 257Chapter 6: Regression: Linear, Multiple, and the General Linear Model 279Chapter 7: Correlation: The Rise and Fall of Relationships 315Chapter 8: Curvilinear Regression: When Relationships Get Complicated 335Chapter 9: In Due Time 359Chapter 10: Non-Parametric Statistics 371Chapter 11: Introducing Probability 393Chapter 12: Probability Meets Regression: Logistic Regression 415BOOK 4: LEARNING FROM DATA 423Chapter 1: Tools and Data for Machine Learning Projects 425Chapter 2: Decisions, Decisions, Decisions 449Chapter 3: Into the Forest, Randomly 467Chapter 4: Support Your Local Vector 483Chapter 5: K-Means Clustering 503Chapter 6: Neural Networks 519Chapter 7: Exploring Marketing 537Chapter 8: From the City That Never Sleeps 557BOOK 5: HARNESSING R: SOME PROJECTS TO KEEP YOU BUSY 573Chapter 1: Working with a Browser 575Chapter 2: Dashboards — How Dashing! 603Index 639
Practical Debugging at Scale
Overhaul your debugging techniques and master the theory and tools needed to debug and troubleshoot cloud applications in production environments. This book teaches debugging skills that universities often avoid, but that typically consume as much as 60% of our time as developers. The book covers the use of debugger features such as tracepoints, object marking, watch renderers, and more. Author Shai Almog presents a scientific approach to debugging that is grounded in theory while being practical enough to help you to chase stubborn bugs through the maze of a Kubernetes deployment.Practical Debugging at Scale assumes a polyglot environment as is common for most enterprises, but focuses on JVM environments. Most of the tooling and techniques described are applicable to Python, Node, and other platforms, as well as to Java and other JVM languages. The book specifically covers debugging in production, an often-neglected discipline but an all too painful reality. You’ll learn modern techniques around observability, monitoring, logging, and full stack debugging that you can put to immediate use in troubleshooting common ailments in production environments.YOU WILL LEARN:* The scientific method underlying the process of debugging* Debugger capabilities such as tracepoints and marker objects* The correct use of less understood features such as exception breakpoints* Techniques for tracing issues in production Kubernetes environments* Observability and monitoring to resolve production problems* Industry best practices for common tooling such as logging * Profiling to understand performance and memory problems WHO THIS BOOK IS FORDevelopers in Java and JVM-related languages who want to improve their debugging skills and production reliability; and developers of cloud applications who are facing the pain of production bugs that are hard to replicate and fixSHAI ALMOG is an entrepreneur, open source hacker, speaker, author, blogger, Java rockstar, and more. He is a former Sun (later Oracle) developer with more than 30 years of experience. Shai has built JVMs, development tools, mobile phone environments, banking systems, startup/enterprise backends, user interfaces, development frameworks, and much more. He speaks at conferences all over the world and has shared the stage with luminaries such as James Gosling (father of Java). Shai is an award-winning, highly rated speaker with deep technical experience to share and he has a knack for engaging his audience. IntroductionPART I. BASICS1. Know Your Debugger2. The Checklist3. The Auxiliary Tools4. Logging, Testing, and Fail Fast5. Time Travel DebuggingPART II. THE MODERN PRODUCTION ENVIRONMENT6. Debugging Kubernetes7. Serverless Debugging8. Fullstack Debugging9. Observability and Monitoring10. Developer ObservabilityPART III. IN PRACTICE11. Tools of Learning12. Performance and Memory13. Security14. Bug Strategies
Pro Deep Learning with TensorFlow 2.0
This book builds upon the foundations established in its first edition, with updated chapters and the latest code implementations to bring it up to date with Tensorflow 2.0.Pro Deep Learning with TensorFlow 2.0 begins with the mathematical and core technical foundations of deep learning. Next, you will learn about convolutional neural networks, including new convolutional methods such as dilated convolution, depth-wise separable convolution, and their implementation. You’ll then gain an understanding of natural language processing in advanced network architectures such as transformers and various attention mechanisms relevant to natural language processing and neural networks in general. As you progress through the book, you’ll explore unsupervised learning frameworks that reflect the current state of deep learning methods, such as autoencoders and variational autoencoders. The final chapter covers the advanced topic of generative adversarial networks and their variants, such as cycle consistency GANs and graph neural network techniques such as graph attention networks and GraphSAGE.Upon completing this book, you will understand the mathematical foundations and concepts of deep learning, and be able to use the prototypes demonstrated to build new deep learning applications.WHAT YOU WILL LEARN* Understand full-stack deep learning using TensorFlow 2.0* Gain an understanding of the mathematical foundations of deep learning * Deploy complex deep learning solutions in production using TensorFlow 2.0* Understand generative adversarial networks, graph attention networks, and GraphSAGEWHO THIS BOOK IS FOR:Data scientists and machine learning professionals, software developers, graduate students, and open source enthusiasts.SANTANU PATTANAYAK works as a Senior Staff Machine Learning Specialist at Qualcomm Corp R&D and is the author of Quantum Machine Learning with Python, published by Apress. He has more than 16 years of experience, having worked at GE, Capgemini, and IBM before joining Qualcomm. He graduated with a degree in electrical engineering from Jadavpur University, Kolkata and is an avid math enthusiast. Santanu has a master’s degree in data science from the Indian Institute of Technology (IIT), Hyderabad. He also participates in Kaggle competitions in his spare time, where he ranks in the top 500. Currently, he resides in Bangalore with his wife.Chapter 1: Mathematical FoundationsChapter Goal: Setting the mathematical base for machine learning and deep learning .No of pages 100Sub -Topics1. Linear algebra2. Calculus3. Probability4. Formulation of machine learning algorithms and optimization techniques.Chapter 2: Introduction to Deep learning Concepts and Tensorflow 2.0Chapter Goal: Setting the foundational base for deep learning and introduction to Tensorflow 2.0 programming paradigm.No of pages: 75Sub - Topics:5. Deep learning and its evolution.6. Evolution of the learning techniques: from perceptron based learning to back-propagation7. Different deep learning objectives functions for supervised and unsupervised learning.8. Tensorflow 2.09. GPUChapter 3: Convolutional Neural networksChapter Goal: The mathematical and technical aspects of convolutional neural networkNo of pages: 801. Convolution operation2. Analog and digital signal3. 2D and 3D convolution, dilation and depth-wise separable convolution4. Common image processing filter5. Convolutional neural network and components6. Backpropagation through convolution and pooling layers7. Translational invariance and equivariance8. Batch normalization9. Image segmentation and localization methods (Moved from advanced Neural Network to here, to make room for Graph Neural Networks )Chapter 4: Deep learning for Natural Language ProcessingChapter Goal: Deep learning methods and natural language processing No of pages:Sub - Topics:1. Vector space model2. Word2Vec3. Introduction to recurrent neural network and LSTM4. Attention5. Transformer network architecturesChapter 5: Unsupervised Deep Learning MethodsChapter Goal: Foundations for different unsupervised deep learning techniquesNo of pages: 60Sub - Topics:1. Boltzmann distribution2. Bayesian inference3. Restricted Boltzmann machines4. Auto Encoders and variation methodsChapter 6: Advanced Neural NetworksChapter Goal: Generative adversarial networks and graph neural networksNo of pages: 70Sub - Topics:1. Introduction to generative adversarial networks2. CycleGAN, LSGAN Wasserstein GAN3. Introduction to graph neural network4. Graph attention network and graph SAGEChapter 7: Reinforcement LearningChapter Goal: Reinforcement Learning using Deep LearningNo of pages: 50Sub - Topics:1. Introduction to reinforcement learning and MDP formulation2. Value based methods3. DQN4. Policy based methods5. Reinforce and actor critic network in policy based formulations6. Transition-less reinforcement learning and bandit methods
Internet of Things Using Single Board Computers
Rapidly prototype and program new IoT and Edge solutions using low-cost Maker tech, such as those from Arduino, Raspberry Pi and Nvidia. With a focus on the electronics, this book allows experienced computer science students as well as researchers, practitioners, and even hobbyists to dive right into actual engineering of prototypes and not just theoretical programming and algorithms.You'll learn to interface sensors, work with various communication mediums, incorporate wired and wireless communication protocols, and more with these single board computers. All while working in the popular Python programming language. Additionally, you’ll discover both scripting-based and drag and drop solutions for different problems. As well as a variety of useful, data gathering approaches. Then you can apply what you’ve learned to IoT projects and troubleshooting Industry 4.0 problems.The rapid growth of technology and new development initiatives has made the Internet of Things and Edge analytics an inevitable platform in all engineering domains. The need for sophisticated and ambient environments controlled by tech has resulted in an exponential growth of automation and artificial intelligence. Internet of Things Using Single Board Computers reflects these recent developments while providing a low-cost, easy ramp into the fields of IoT using single board computers and Python programming.WHAT YOU'LL LEARN* Program Arduino, Raspberry Pi, and Nvidia boards for rapid prototyping in IoT and Edge environments* Interface sensors, communication mediums, and wired and wireless communications into your programs and projects.* Study practical applications of these low-cost solutions in fields such as home automation, smart cities, electrical vehicle charging, and more.WHO THIS BOOK IS FOREngineers and hobbyists working on Internet of Things prototypes and applications. Basic skills in electronics and a working knowledge of Python are recommended. Engineers and scientists working on smart environment projects and smart city applications will also benefit.DR. G. R. KANAGACHIDAMBARESAN completed his Ph.D. at Anna University Chennai in 2017. He is currently an Associate Professor in the Department of CSE at Vel Tech Rangarajan Dr. Sagunthala R&D Institute of Science and Technology. His main research interests include Body Sensor Networks and Fault Tolerant Wireless Sensor Networks. He has published several articles and undertaken consultancy activities for leading MNC companies. He has also guest-edited special issue volumes and books and served as an editorial review board member for peer-reviewed journals. He is presently working on several government sponsored research projects like ISRO, DBT, and DST. Presently, he is the Editor in chief for the Next Generation Computer and Communication Engineering series. INTERNET OF THINGS USING SINGLE BOARD COMPUTERSChapter 1: An Overview of IoTChapter 2: IoT ArchitectureChapter 3: Programming Through pythonChapter 4: Wireless Technology for IoTChapter 5: Building IoT with Raspberry PiChapter 6: Home AutomationChapter 7: Smart Cities and Smart GridsChapter 8: Electric Vehicle ChargingChapter 9: Agriculture
Numerical Methods Using Kotlin
This in-depth guide covers a wide range of topics, including chapters on linear algebra, root finding, curve fitting, differentiation and integration, solving differential equations, random numbers and simulation, a whole suite of unconstrained and constrained optimization algorithms, statistics, regression and time series analysis. The mathematical concepts behind the algorithms are clearly explained, with plenty of code examples and illustrations to help even beginners get started.In this book, you'll implement numerical algorithms in Kotlin using NM Dev, an object-oriented and high-performance programming library for applied and industrial mathematics. Discover how Kotlin has many advantages over Java in its speed, and in some cases, ease of use. In this book, you’ll see how it can help you easily create solutions for your complex engineering and data science problems.After reading this book, you'll come away with the knowledge to create your own numerical models and algorithms using the Kotlin programming language.WHAT YOU WILL LEARN* Program in Kotlin using a high-performance numerical library* Learn the mathematics necessary for a wide range of numerical computing algorithms* Convert ideas and equations into code* Put together algorithms and classes to build your own engineering solutions* Build solvers for industrial optimization problems* Perform data analysis using basic and advanced statisticsWHO THIS BOOK IS FORProgrammers, data scientists, and analysts with prior experience programming in any language, especially Kotlin or Java.HAKSUN LI, PHD, is founder of NM Group, a scientific and mathematical research company. He has the vision of “Making the World Better Using Mathematics”. Under his leadership, the firm serves worldwide brokerage houses and funds, multinational corporations and very high net worth individuals. Haksun is an expert in options trading, asset allocation, portfolio optimization and fixed-income product pricing. He has coded up a variety of numerical software, including SuanShu (a library of numerical methods), NM Dev (a library of numerical methods), AlgoQuant (a library for financial analytics), NMRMS (a portfolio management system for equities), and supercurve (a fixed-income options pricing system). Prior to this, Haksun was a quantitative trader/quantitative analyst with multiple investment banks. He has worked in New York, London, Tokyo, and Singapore. Additionally, Haksun is the vice dean of the Big Data Finance and Investment Institute of Fudan University, China. He was an adjunct professor with multiple universities. He has taught at the National University of Singapore (mathematics), Nanyang Technological University (business school), Fudan University (economics), as well as Hong Kong University of Science and Technology (mathematics). Dr. Haksun Li has a B.S. and M.S. in pure and financial mathematics from the University of Chicago, and an M.S. and a PhD in computer science and engineering from the University of Michigan, Ann Arbor.1: Introduction to Numerical Methods in Kotlin.-2: Linear Algebra.-3: Finding Roots of Equations.-4: Finding Roots of Systems of Equations.-5: Curve Fitting and Interpolation.-6: Numerical Differentiation and Integration.-7: Ordinary Differential Equations.-8: Partial Differential Equations.-9: Unconstrained Optimization.-10: Constrained Optimization.-11: Heuristics.-12: Basic Statistics.-13: Random Numbers and Simulation.-14: Linear Regression.-15: Time Series Analysis.-References.Table of ContentsAbout the Authors...........................................................................................................iPreface............................................................................................................................ii1. Why Kotlin?..............................................................................................................61.1. Kotlin in 2022.....................................................................................................61.2. Kotlin vs. C++....................................................................................................61.3. Kotlin vs. Python................................................................................................61.4. Kotlin in the future .............................................................................................62. Data Structures.......................................................................................................72.1. Function...........................................................................................................72.2. Polynomial ......................................................................................................73. Linear Algebra .......................................................................................................83.1. Vector and Matrix ...........................................................................................83.1.1. Vector Properties .....................................................................................83.1.2. Element-wise Operations.........................................................................83.1.3. Norm ........................................................................................................93.1.4. Inner product and angle ...........................................................................93.2. Matrix............................................................................................................103.3. Determinant, Transpose and Inverse.............................................................103.4. Diagonal Matrices and Diagonal of a Matrix................................................103.5. Eigenvalues and Eigenvectors.......................................................................103.5.1. Householder Tridiagonalization and QR Factorization Methods..........103.5.2. Transformation to Hessenberg Form (Nonsymmetric Matrices)...........104. Finding Roots of Single Variable Equations .......................................................114.1. Bracketing Methods ......................................................................................114.1.1. Bisection Method ...................................................................................114.2. Open Methods...............................................................................................114.2.1. Fixed-Point Method ...............................................................................114.2.2. Newton’s Method (Newton-Raphson Method) .....................................114.2.3. Secant Method .......................................................................................114.2.4. Brent’s Method ......................................................................................115. Finding Roots of Systems of Equations...............................................................125.1. Linear Systems of Equations.........................................................................125.2. Gauss Elimination Method............................................................................125.3. LU Factorization Methods ............................................................................125.3.1. Cholesky Factorization ..........................................................................125.4. Iterative Solution of Linear Systems.............................................................125.5. System of Nonlinear Equations.....................................................................126. Curve Fitting and Interpolation............................................................................146.1. Least-Squares Regression .............................................................................146.2. Linear Regression..........................................................................................146.3. Polynomial Regression..................................................................................146.4. Polynomial Interpolation...............................................................................146.5. Spline Interpolation .......................................................................................147. Numerical Differentiation and Integration...........................................................157.1. Numerical Differentiation .............................................................................157.2. Finite-Difference Formulas...........................................................................157.3. Newton-Cotes Formulas................................................................................157.3.1. Rectangular Rule....................................................................................157.3.2. Trapezoidal Rule....................................................................................157.3.3. Simpson’s Rules.....................................................................................157.3.4. Higher-Order Newton-Coles Formulas..................................................157.4. Romberg Integration .....................................................................................157.4.1. Gaussian Quadrature..............................................................................157.4.2. Improper Integrals..................................................................................158. Numerical Solution of Initial-Value Problems....................................................168.1. One-Step Methods.........................................................................................168.2. Euler’s Method..............................................................................................168.3. Runge-Kutta Methods...................................................................................168.4. Systems of Ordinary Differential Equations.................................................169. Numerical Solution of Partial Differential Equations..........................................179.1. Elliptic Partial Differential Equations...........................................................179.1.1. Dirichlet Problem...................................................................................179.2. Parabolic Partial Differential Equations........................................................179.2.1. Finite-Difference Method ......................................................................179.2.2. Crank-Nicolson Method.........................................................................179.3. Hyperbolic Partial Differential Equations.....................................................1710..................................................................................................................................1811..................................................................................................................................1912. Random Numbers and Simulation ....................................................................2012.1. Uniform Distribution .................................................................................2012.2. Normal Distribution...................................................................................2012.3. Exponential Distribution............................................................................2012.4. Poisson Distribution ..................................................................................2012.5. Beta Distribution........................................................................................2012.6. Gamma Distribution ..................................................................................2012.7. Multi-dimension Distribution ....................................................................2013. Unconstrainted Optimization ............................................................................2113.1. Single Variable Optimization ....................................................................2113.2. Multi Variable Optimization .....................................................................2114. Constrained Optimization .................................................................................2214.1. Linear Programming..................................................................................2214.2. Quadratic Programming ............................................................................2214.3. Second Order Conic Programming............................................................2214.4. Sequential Quadratic Programming...........................................................2214.5. Integer Programming.................................................................................2215. Heuristic Optimization......................................................................................2315.1. Genetic Algorithm .....................................................................................2315.2. Simulated Annealing .................................................................................2316. Basic Statistics..................................................................................................2416.1. Mean, Variance and Covariance................................................................2416.2. Moment......................................................................................................2416.3. Rank...........................................................................................................2417. Linear Regression .............................................................................................2517.1. Least-Squares Regression..........................................................................2517.2. General Linear Least Squares....................................................................2518. Time Series Analysis ........................................................................................2618.1. Univariate Time Series..............................................................................2618.2. Multivariate Time Series ...........................................................................2618.3. ARMA .......................................................................................................2618.4. GARCH .....................................................................................................2618.5. Cointegration .............................................................................................2619. Bibliography .....................................................................................................2720. Index .....................................................................................................
Functional Python Programming, 3rd edition
Not enough developers understand the benefits of functional programming, or even what it is. Author Steven Lott demystifies the approach, teaching you how to improve the way you code in Python and make gains in memory use and performance. If you’re a leetcoder preparing for coding interviews, this book is for you.Starting from the fundamentals, this book shows you how to apply functional thinking and techniques in a range of scenarios, with Python 3.10+ examples focused on mathematical and statistical algorithms, data cleaning, and exploratory data analysis. You'll learn how to use generator expressions, list comprehensions, and decorators to your advantage. You don't have to abandon object-oriented design completely, though – you'll also see how Python's native object orientation is used in conjunction with functional programming techniques.By the end of this book, you'll be well-versed in the essential functional programming features of Python and understand why and when functional thinking helps. You'll also have all the tools you need to pursue any additional functional topics that are not part of the Python language.
Beginning Spring Data
Use the popular Spring Data project for data access and persistence using various Java-based APIs such as JDBC, JPA, MongoDB, and more.This book shows how to easily incorporate data persistence and accessibility into your microservices, cloud-native applications, and monolithic enterprise applications. It also teaches you how to perform unit and performance testing of a component that accesses a database. And it walks you through an example of each type of SQL and NoSQL database covered.After reading this book, you’ll be able to create an application that interacts with one or multiple types of databases, and conduct unit and performance testing to analyze possible problems. Source code is available on GitHub.WHAT YOU’LL LEARN* Become familiar with the Spring Data project and its modules for data access and persistence* Explore various SQL and NoSQL persistence types* Uncover the persistence and domain models, and handle transaction management for SQL* Migrate database changes and versioning for SQL* Dive into NoSQL persistence with Redis, MongoDB, Neo4j, and Cassandra* Handle reactive database programming and access with R2DBC and MongoDB* Conduct unit, integration, and performance testing, and moreWHO THIS BOOK IS FORExperienced Java software application developers; programmers with experience using the Spring framework or the Spring Boot micro frameworkANDRES SACCO is a Technical Lead at Prisma. He has experience using languages such as Java, PHP, and NodeJs. He also has experience using Spring. In his previous job, Andres helped find alternative ways to optimize the transference of data between microservices, which reduced the cost of infrastructure by 55%. He also has written internal courses about new technologies and articles on Medium. Andres shares his knowledge of using different types of databases, depending on the situation. He has experience with various types of testing, to search for problems in queries or repositories that access the database. Part I - IntroductionChapter 1: Architecture of the ApplicationsChapter 2: Spring Basics and BeyondChapter 3: Spring Data and Persistence TypesPart II - SQL PersistenceChapter 4: Persistence and Domain ModelChapter 5: Transaction ManagementChapter 6: Versioning or Migrate the Changes of the DatabasePart III - NO-SQL PersistenceChapter 7: Redis key/value DatabaseChapter 8: MongoDB Document DatabaseChapter 9: Neo4j Graph DatabaseChapter 10: Cassandra wide-column DatabaseChapter 11: Reactive access w/R2DBC and MongoDBChapter 12: Unit/Integration TestingChapter 13: Performance TestingChapter 14: Best PracticesPart I - IntroductionThis part or section contains all the introduction about the basics of the Spring and the architecture of theapplication to use the persistence.Chapter 1: Architecture of the applicationsChapter Goal: In this chapter, the readers will see the different ways of structuring one application and thebest practices to organize all the things related to persistence like the use of DAO (repositories on Spring).• Small history of the methods of persistence (Plain query using the class of Java, ORM)• Different types of architectureso Layerso Hexagonal or onion• Persistence design patterso DAO (Repositories in Spring)o Data Transfer Object (DTO)Chapter 2: Spring basics and beyondChapter Goal: In this chapter, the readers will see the different ways of structuring one application and thebest practices to organize all the things related to persistence like the use of DAO (repositories on Spring).• Spring’s Architecture• Dependency Injection and Inversion of Control• Basic Application SetupChapter 3: Spring Data and different types of persistenceChapter Goal: This chapter will provide a full explanation about Spring Data, how it works and what this librarydoes behind the scenes.• How the Spring Data works• How the Repositories workso Using interfaceso Defining a custom implementationPart II - SQL persistenceThis part or section contains the information about different aspects of the persistence of databases whichhave a rigid schema. Also, the readers will see different strategies of deploying the changes on the schemas.Chapter 4: Persistence and domain modelChapter Goal: In this chapter, the readers will learn the basics about persistence and how it works behind thescenes. Also, the readers will see how to create validations in the schema like the size of the column and thedifferent types of relationship between entities.• JPA configuration using annotationso Entity, Ido Types of relationshipso Pre-update, pre-persist• Ways to define the querieso Using specificationso Define SQL• How validate the schema• Types of InherenceChapter 5: Transaction managementChapter Goal: In this chapter, the readers will learn the basics of the transactions and some concepts of ACID.• Definition of ACID• Isolation Levels• Transactional levelsChapter 6: Versioning or migrate the changes of the databaseChapter Goal: In this chapter the readers will see different tools or strategies to include the changes of thedatabases, e.g use Liquibase/Flyway, running the scripts manually, or using the auto-update of the Spring.Also, this chapter will include some mechanism to move the data from one column to another using featureflags.• Mechanism to migrate the changes• Tools to versioning the changeso Liquibaseo Flyway• Using Feature Flags to new featureso What is a Feature flag?o Benefits of use this approacho Common librariesPart III - NO-SQL persistenceIn this section the idea is to cover one example of each type of the databases NO-SQL like key/value,document, graph, and wide-column database. The idea is not to cover all more than one example of a type ofdatabase because most of them have certain operations similar.Chapter 7: Redis key/value databaseChapter Goal: In this chapter, the readers will see how to run a database and save the information using aspecific key. Also, this chapter will show the readers to create a serializer to persist data that is complex andsome best practices like persist the information in async mode.The last point is how to configure the TTL in the information that the readers persist in the database.• What is Redis and which are the benefits?• Connecting with multiples Redis• Persist synchronous or asynchronous• Object Mapping and ConversionChapter 8: MongoDB Document databaseChapter Goal: In this chapter, the readers will see how to run a mongo database and how to persist theinformation with the definition of the entities using the different operations that are permitted on MongoDB.• What is a document store?• Setting up a Mongo• Access using repositories• Manage transactions in a programmatic wayChapter 9: Neo4j Graph databaseChapter Goal: In this chapter, the readers will see how to run a database and how to create different types ofqueries. Also the reader will see the different aspects of the persistence of the information and the use ofreactive approach.• Modeling the problem as a Grapho Cases of usero Benefits• Persisting the domain• Manage transactionsChapter 10: Cassandra wide-column databaseChapter Goal: In this chapter, the readers will see how to configure the database on Spring and thedeclaration of the entities that need to be used to persist the information. Also, the different ways topersist or modify the information on Cassandra.The last point is how to configure the TTL in the information that the readers persist in the database.• What is Cassandra and how works?• Configuration for Cassandra• Access using repositories• Defining a TTLPart IV – Advanced, testing and best practicesThis part covers some aspects of any type of database to create different types of tests and validate theperformance of the queries. Also, this section covers some best practices to reduce the possible problems ormistakes in the applications that access a database.Chapter 11: Reactive accessChapter Goal: This chapter needs to cover how you can access and obtain the information in a reactive way.• What is reactive access?• Modifying queries to be reactiveo R2DBCo MongoDBChapter 12: Unit/Integration testingChapter Goal: This chapter needs to cover more in detail how you can write unit tests without using anexistent database but using the same motor of the database, to do this the reader will use Test Cointainerswith Junit 5 which is the standard to write unit tests.• Unit Testing with Mocks• Integration Testing with a Databaseo What is Test containers?o Test Containers vs embeddedo How you can use it?o Possible problems in the pipelineChapter 13: Performance testingChapter Goal: In this chapter the reader will use some tools like Gatling or QuickPerform to see how tocreate a performance test and analyze if the queries have some issue related with the use ofCPU/memory.• How check or analyze the performance of the queries?• Analyzing the complexity of queries• Performance test of an endpoint that access to a DBChapter 14: Best practicesChapter Goal: In this chapter the reader will know some strategies to improve the performance of thedatabase including some mechanism of cache to reduce the number of times that anyone accesses toobtain information.• Access to the information◦ Master-slave• Using cache to reduce the accessed to DB• Compress the information• Lazy Loading Issues• Pagination and ways to reduce the response