Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen

Programmierung

Produkte filtern
Produktbild für Rust for the IoT

Rust for the IoT

Get started programming Rust applications for the Internet of Things (IoT). This book is a programming skills migration book that teaches you the Rust programming techniques most useful for IoT applications. You'll step through from server to board development in creating a set of IoT applications.In Rust for the IoT, you'll learn how to build a modern server-side application using Rust on the backend. Then you'll use docker and Kubernetes to deploy these to a managed cloud. Finally you will use a Raspberry Pi with a SenseHat and Camera to capture the world around you and send that information to the cloud.While you will be able to follow along without any cloud or hardware, to make the most of it we recommend a few cloud pieces and hardware that is designed to integrate with the software in this book. After reading and using this book, you'll see how to apply Rust to the Internet of Things.WHAT YOU WILL LEARN* Create a modern Rust backend complete with handling eventual consistency and interacting via a GraphQL interface* Use the Raspberry PI to serve as a cheap IoT device that one can easily deploy around the house* Capture temperature, video, and use the interactive joystick to interact with the software you’ve created* Use OpenCV to perform facial detection from the PI’s camera and save that information to the cloud.* Create deployable helm charts for the cloud, and for the device create complete ISOs that allow you to easily deploy the Pi’s OS + custom softwareWHO THIS BOOK IS FORYou will need to have a basic understanding of cloud application development at a minimum and the basics of Rust coding. This book is for those interested in or working with the IoT and the Raspberry Pi who want to learn how Rust can work for them.JOSEPH FAISAL NUSAIRAT is a a senior partner at Integrallis Software and is a software developer who has been working full-time in the Columbus, Ohio, area since 1998, primarily focused on Java and most recently Rust application development. His career has taken him into a variety of Fortune 500 industries, including military applications, data centers, banking, Internet security, pharmaceuticals, and insurance. Throughout this experience, he has worked on all varieties of application development from design to architecture to development. Joseph, like most Java developers, is particularly fond of open source projects and tries to use as much open source software as possible when working with clients. Joseph is a graduate of Ohio University with dual degrees in computer science and microbiology and a minor in chemistry. While at Ohio University, Joseph also dabbled in student politics and was a research assistant in the virology labs.* Introduction, covers what this book is going to solve, we tackle the issues and problems surrounding IoT applications and their architecture. We also go over the hardware that is needed for this book and the chapter ends with some simple Rust examples.* Server Side, starts with setting up and creating our first microservice the retrieval_svc, this will set up simple calls to it and integrate and set up the database for it.* File Uploading and Parsing, this chapter is more heavily focused on the upload_svc and in here we learn how to upload images and video files to store locally. We then parse the metadata out of the files and call the retrieval_svc to store their metadata.* Messaging and GraphQL, back to the retrieval_svc we add GraphQL to use on top of the web tier instead of pure RESTful endpoints. We also create the mqtt_service that will serve as our bridge to communicate between the backend and the Pi using MQTT.* Performance, enhancing both the retrieval_svc and the mqtt_service by instead having the communication between the two be REST calls, instead they will use serialized binary data via Cap’n Proto to talk. Also on the retrieval_svc side we add CQRS and eventual consistency to our graph mutations for comments.* Security, this adds using Auth0 to authenticate the user so that our database can identify a device to a user. We also add self signed certificates to secure the communication of the MQTT.* Deployment, this chapter we learn how to create Docker images of all our microservices, combining them with Kubernetes and deploying to a cloud provider with Helm charts.* Sense HAT, our first hands on chapter with the Raspberry Pi we will set up the heartbeat to communicate to the MQTT backend we created earlier.* Sense HAT, this incorporates the Sense HAT device to gather data about our environment to the Pi. The SenseHat provides us a visual LED display, temperature sensors, and a joystick for interactions.* Camera, this chapter we add a camera to the device which will allow us to do facial tracking and recording.* Integration, one of the last chapters we incorporate the video camera to send data back to the cloud as well as allowing the Pi to receive recording commands from the cloud and finally we allow the Pi to be used as a HomeKit device to show temperature and motion.* Final Thoughts, this final short chapter discusses how we would build an ISO image for our given application and other bundling issues.

Regulärer Preis: 66,99 €
Produktbild für Beginning Android Games Development

Beginning Android Games Development

Do you have an awesome idea for the next break-through mobile gaming title? This updated edition will help you kick-start your project as it guides you through the process of creating several example game apps using APIs available in Android.You will learn the basics needed to join the ranks of successful Android game app developers. the book starts with game design fundamentals using Canvas and Android SDK 10 or earlier programming basics. You then will progress toward creating your own basic game engine and playable game apps that work on Android 10 or earlier smartphones and tablets. You take your game through the chapters and topics in the book to learn different tools such as OpenGL ES.And you will learn about publishing and marketing your games to monetize your creation.WHAT YOU WILL LEARN* Gain knowledge on the fundamentals of game programming in the context of Android* Use Android's APIs for graphics, audio, and user input to reflect those fundamentals* Develop two 2D games from scratch, based on Canvas API and OpenGL ES* Create a full-featured 3D game* Publish your games, get crash reports, and support your users* Complete your own playable 2D OpenGL gamesWHO THIS BOOK IS FORThose with basic knowledge of Java who want to write games on the Android platform, and experienced game developers who want to know about the pitfalls and peculiarities of the platformTED HAGOS is CTO and Data Protection Officer of RenditionDigital International, a software development company based out of Dublin, Ireland. Before joining RDI, he had various software development roles and also spent time as a trainer at IBM Advanced Career Education, Ateneo ITI, and Asia Pacific College. He spent many years in software development, dating back to Turbo C, Clipper, dBase IV, and Visual Basic. Eventually, he found Java and spent many years there. Nowadays, he is busy with full-stack JavaScript and Android.MARIO ZECHNER runs Badlogic Games, a game development shop focused on Android.JF DIMARZIO is a seasoned Android developer and author. He began developing games in Basic on the TRS-80 Color Computer II in 1984. Since then, he has worked in the technology departments of companies such as the US Department of Defense and the Walt Disney Company. He has been developing on the Android platform since the beta release of version .03. He is also an accomplished author. Over the last 20 years, he has released fifteen books, including Android: A Programmer's Guide. His books have been translated into four languages and published worldwide. His writing style is very easy to read and understand, which makes the information on the topics that he presents more retainable.ROBERT GREEN is a mobile video game developer from Portland, Oregon who develops and publishes mobile games under the brand Battery Powered Games. He has developed over a dozen mobile games and graphically interactive apps for himself and clients in the last two years, which include 2D and 3D action, puzzle, racing, and casual games. Before diving full time into video game development, he worked for software companies in Minneapolis, Minnesota and Chicago, Illinois, including IBM Interactive. His current focus is on cross-platform game development and high-performance mobile gaming.1. ANDROID, SETUP AND CONFIGURATIONa. Installing Android Studiob. Configuring Android Studio2. QUICK TOUR OF ANDROID STUDIOa. The IDEb. Composing activitiesc. Runningd. Debugging3. ANDROID FOR GAME DEVELOPERSa. What makes up a projectb. Activitiesc. Basic I/Od. Resources4. GAME DEVELOPMENT 101a. Genresb. Game framework5. BALLOON POPPERa. Describe the game’s logicb. What the finished game will look and feel likec. Creating the project in Android Studio6. DEFINING VISUAL PRESENTATIONa. Background imageb. Adding the game controlsc. Implementing the Visual objects7. GAME LOGIC FOR BALLOON POPPERa. Thinking about levelsb. Popping the balloonsc. Managing game resources8. ADDING AUDIOa. The media playerb. Sound effects9. INTRODUCTION TO OPENGL ESa. What’s OpenGL ESb. Texture mappingc. Transformations10. BALLOON POPPER IN OPENGL ES11. OPENGL ES 3Da. Vertices in 3Db. Z-bufferc. Meshes12. MARKETING AND MONETIZINGa. Advertisingb. Discoveryc. In-app purchasesd. Virtual currency13. PUBLISHING THE GAMEa. Cleaning up the buildb. A checklist before publishingc. Signing the APKd. Google Play14. WHERE TO GO FROM HEREa. Discussions on popular enginesb. Unityc. Coronad. Vulkan

Regulärer Preis: 62,99 €
Produktbild für Benutzerzentrierte Unternehmensarchitekturen

Benutzerzentrierte Unternehmensarchitekturen

Unternehmensarchitektur-Management unterstützt die Planung und Durchführung von Geschäftstransformation. Existierende Ansätze können in portfolio- und projekt-orientierte Ansätze eingeteilt werden. Die Synthese dieser Ansätze bietet das Beste aus beiden Welten. Das Buch stellt den kombinierten Ansatz vor.Der Inhalt gliedert sich in ausgewählte Best-Practice-Szenarien. Der Fokus liegt jeweils auf dem Thema Benutzererfahrung – ein Schwerpunkt, der in Transformationsprojekten oftmals vernachlässigt wird.Zur Evaluierung von Unternehmensarchitekturen aus Sicht der Benutzer steht unter ww.omilab.org/usercentricassessment ein Online-Service zur Verfügung.DIE HERAUSGEBERO. UNIV.-PROF. PROF.H.C. DR. DIMITRIS KARAGIANNIS ist an der Universität Wien tätig, wo er die Forschungsgruppe Knowledge Engineering der Fakultät für Informatik leitet.DR. CHRISTOPH MOSER ist Produktmanager von ADOIT, der von Analystenhäusern als Leader eingestuften EA-Suite.DR. ANKE HELMES ist als Senior Management Consultant bei der BOC Gruppe tätig und trägt die Regionalverantwortung für den süddeutschen Raum.Geschäftstransformation – Eine Notwendigkeit.- Das Zusammenspiel zwischen TOGAF®, ArchiMate® und EA-Szenarien.- Transformationsportfolio-Management.- Capability-Portfolio-Management.- Applikationsportfolio-Management.- Datenportfolio-Management.- Technologieportfolio-Management.- Compliance-Portfolio-Management.- Benutzererfahrung als Wegweiser in der Geschäftstransformation.

Regulärer Preis: 66,99 €
Produktbild für Raku Fundamentals

Raku Fundamentals

Gain the skills to begin developing Raku applications from the ground up in this hands-on compact book, which includes a foreword from Larry Wall, creator of Perl. You’ll learn enough to get started building with Raku, using Raku's gradual typing, handy object orientated features, powerful parsing capabilities, and human-usable concurrency. This book has been updated to include the latest version of Raku based upon the Perl 6.d major version which includes over 3,400 new commits in its specification.After a short introduction, each chapter develops a small example project, explaining the Raku features used. When the example is done, you’ll explore another aspect, such as optimizing further for readability or testing the code. Along the way you’ll see Raku basics, such as variables and scoping; subroutines; classes and objects; regexes; and code testing.When you’ve mastered the basics, Raku Fundamentals moves onto more advanced topics to give you a deeper understanding of the language. You’ll learn, amongst other things, how to work with persistent storage, how to generate good error messages, and how to write tricky applications such as a file and directory usage graph and a Unicode search tool.WHAT YOU WILL LEARN* Get coding with latest version of Raku* Work on several hands-on examples and projectsIntegrate Python libraries into your Raku-based programs * Parse INI files using regexes and grammars* Build a date-time converter * Carry out refactoring and other automated testsWHO THIS BOOK IS FORIf you already know one or more programming languages, and want to learn about Raku, then this book is for you. MORITZ LENZ is a Perl 6, now Raku, core developer. He has contributed significantly to the official test suite, the Rakudo Perl compiler, and is the initiator of the official Raku documentation project. He has also authored several modules, and runs infrastructure for the Raku community. In his day job, he develops Perl 5 and Python code, and maintains a continuous delivery system for his employer.1. What is Raku?1.1 Perl 5, the Older Sister1.2 Library Availability1.3 Why Should I Use Raku?2. Running Rakudo Raku2.1 Installers2.2 Docker2.3 Building from Source2.4 Testing your Rakudo Star Installation3. Formatting a Sudoku Puzzle3.1 Making the Sudoku Playable3.2 Shortcuts, Constants, and more Shortcuts3.3 IO and other Tragedies3.4 Get Creative!4. Datetime Conversion for the Command Line4.1 Libraries To The Rescue4.2 DateTime Formatting4.3 Looking the Other Way4.4 Dealing With Time4.5 Tighten Your Seat Belt4.6 MAIN magic4.7 Automatic Tests4.8 Summary5. Testing say()5.1 Summary6. Silent Cron, a Cron Wrapper6.1 Running Commands Asynchronously6.2 Implementing Timeouts6.3 More on Promises6.4 Possible Extensions6.5 Refactoring and Automated TestsRefactoringMocking and TestingImproving Reliability and TimingInstalling a Module6.6 Summary7. Stateful Silent Cron7.1 Persistent Storage7.2 Developing the Storage Backend7.3 Using the Storage Backend7.4 Room for Expansion7.5 Summary8. Review of the Raku Basics8.1 Variables and Scoping8.2 Subroutines8.3 Classes and Objects8.4 Concurrency8.5 Outlook9. Parsing INI files using Regexes and Grammars9.1 Regex BasicsCharacter ClassesQuantifiersAlternatives9.2 Parsing the INI primitives9.3 Putting Things Together9.4 Backtracking9.5 Grammars9.6 Extracting Data from the Match9.7 Generating Good Error MessagesFailure is NormalDetecting Harmful FailureProviding ContextShortcuts for Parsing Matching Pairs9.8 Write Your Own Grammars9.9 Summary10. A File and Directory Usage Graph10.1 Reading File Sizes10.2 Generating a Tree Map10.3 Flame Graphs10.4 Functional Refactorings10.5 More Language Support for Functional Programming10.6 More Improvements10.7 Explore!10.8 Summary11. A Unicode Search Tool11.1 Code Points, Grapheme Clusters and Bytes11.2 Numbers11.3 Other Unicode Properties11.4 Collation11.5 Summary12. Plotting Using Inline::Python and Matplotlib13. What's Next?

Regulärer Preis: 62,99 €
Produktbild für Practical Blockchains and Cryptocurrencies

Practical Blockchains and Cryptocurrencies

Create cryptocurrency and blockchain applications by examining the key algorithms and concepts pertaining to blockchains, transaction processing, mining, distributed consensus, and anonymous currencies. In this book, you’ll develop a fully functional cryptocurrency from scratch in the Python language. PRACTICAL BLOCKCHAINS AND CRYPTOCURRENCIES is a reference for development of blockchain applications and provides you with rigorous information on cryptography and the theory underlying blockchains.This book consists of small chapters that focus on particular topics. You’ll start with a short history of money. Next, you will survey the bitcoin and altcoin ecosystem before delving into cryptographic hash functions, symmetric encryption, public key cryptography, and digital signatures. All the mathematics required to develop blockchain applications is covered. The emphasis is on providing a lucid and rigorous exposition on the nature and working of these constructs.The next major segment of the book discusses the key concepts and algorithms required to develop blockchain and cryptocurrency applications. There are expositions on blockchain construction, Merkle trees, peer-to-peer networks, cryptocurrency addresses, transactions, and mining. You’ll take a deep dive into the formation of consensus in distributed systems.In this book you’ll develop a fully functional cryptocurrency called Helium from scratch in Python. The language requirements are modest since it is presumed that most readers will not be acquainted with Python. The entire source code and unit test code is included in this book.PRACTICAL BLOCKCHAINS AND CRYPTOCURRENCIES interleaves theory and Helium program code chapters in order to demonstrate the practical application of theory in working Helium program code.WHAT YOU WILL LEARN* Gain the mathematical foundations as well as the concepts and algorithms of blockchains and cryptocurrencies* Implement a cryptocurrency from scratch in Python* Master the design of distributed blockchain applications WHO THIS BOOK IS FORAnyone interested in creating cryptocurrency and blockchain applicationsKARAN SINGH GAREWAL is an attorney at law in Canada. He has over 20 years of software development experience in C, C++, Go, JavaScript, Node, Ruby/Rails, Python/Django, Vue, PostgresSQL, MySQL, and Cassandra. His current interests are in financial engineering and real-time algorithmic trading systems. He is developing a neural network cryptocurrency trading platform on a C++, Go, Cassandra, and Vue stack.CHAPTER 1: THE HISTORY OF MONEY AND ALTERNATE CURRENCIESChapter Goal: Explain the historical evolution of money and alternate currencies prior to bitcoinSub-Topics1. Characteristics of money2. Gold and silver backed currencies3. Gold standard and fiat currencies4. Alternate currencies prior to bitcoin (Liberty coin, etc.)5. Bitcoin6. The Darknet7. Future evolution of cryptocurrenciesCHAPTER 2: BITCOIN AND ALTCOINSChapter Goal: Discussion of bitcoin and altcoins in circulation and their properties and their raison d’etre.Sub-Topics1. Introduction2. Bitcoin3. Ethereum4. Monero5. Ripple6. Stellar, Tron, and other cryptocurrenciesCHAPTER 3: CRYPTOGRAPHIC HASH FUNCTIONSChapter Goal: Explain cryptographic hash functions, their characteristics, and why they are important in blockchain and cryptocurrency application development.Sub-Topics1. Introduction2. Cryptographic hash functions3. The collision free property of cryptographic hash functions4. Proving the tamper free property5. The irreversible property6. The unique range property7. Hash pointers and data structures8. Proving authenticity with crytpographic hashes9. The SHA-256 cryptographic hash10. Common cryptographic hash functionsCHAPTER 4: SYMMETRIC ENCRYPTIONChapter Goal: Explain what symmetric encryption is and it’s deficiency in secure key distributionSub-Topics:1. Introduction2. How symmetric encryption works3. The key distribution problem4. Common symmetric encryption algorithmsCHAPTER 5: PUBLIC KEY CRYPTOGRAPHYChapter Goal: Explain what public key cryptography is and how it worksSub-Topics:1. Introduction2. Algorithms to generate public private key pairs3. RSA and elliptic curve cryptography4. Using public–private key pairs for encryption and decryption5. Identity formation and proof with public keys6. Generating globally unique IDsCHAPTER 6: DIGITAL SIGNATURESChapter Goal: Show how the digital signature algorithm is implemented and how it can be used to prove authorship and authenticity of documentsSub-Topics:1. Introduction2. Creating digital signatures3. Proving authorship and authenticity of documentsCHAPTER 7: BLOCKCHAIN CONSTRUCTIONChapter Goal: Discuss properties of a blockchain and how to create a blockchainSub-Topics:1. Introduction2. Properties of blockchain3. How to create a blockchain4. The bitcoin blockchain5. Scalability issues in blockchain6. Blockchain databases7. The genesis block8. Creating a simple cryptocurrencyCHAPTER 8: THE MERKLE TREE ALGORITHMChapter Goal: A discussion of the Merkle tree algorithm along with source code implementationsSub-Topics:1. Introduction2. Implementation of the Merkle tree algorithmCHAPTER 9: TOPOLOGY OF CRYPTOCURRENCY NETWORKSChapter Goal: What is a peer-to-peer network and the use of such P2P networks in blockchain applications to broadcast and verify transactions.Sub-Topics:1. Introduction2. Peer-to-peer networks3. Node identity and supernodes4. The bitcoin blockchain5. Block and transaction propagationCHAPTER 10: CRYPTOCURRENCY PARAMETERS AND CONFIGURATIONChapter Goal: Enumerate some common configuration parameters that are used when creating a cryptocurrency and their implications.Sub-Topics:1. Introduction2. Common cryptocurrency parametersCHAPTER 11: CRYPTOCURRENCY ADDRESSESChapter Goal: Creating and using cryptocurrency addressesSub-Topics:1. Introduction2. How to make a cryptocurrency address3. How bitcoin uses addresses4. Key generation algorithms5. Hierarchical deterministic key generationCHAPTER 12: CRYPTOCURRENCY TRANSACTIONSChapter Goal: How transactions are implemented and broadcast in a cryptocurrency network.Sub-Topics:1. Introduction2. Transaction mechanics3. Canonical transaction structures4. Broadcasting transactions5. Transaction validation6. How bitcoin implements transactions7. Locking and unlocking transactions8. Transaction feesCHAPTER 13: CRYPTOCURRENCY STORAGEChapter Goal: Discuss methods for storing cryptocurrenciesSub-Topics:1. Introduction2. Cold storage and hot storage3. Wallets and local storage4. Storage on the blockchain5. Online wallets6. ExchangesCHAPTER 14: MININGChapter Goal: Explain how blocks are mined in a cryptocurrency networkSub-Topics:1. Introduction2. How mining works3. Incentives for block formation4. Bitcoin mining5. Chainstate database6. Proof of work and the difficulty number7. Energy consumption8. ASIC resistant mining9. Mining attacks10. Proof of stake and virtual mining11. Hash power computationsCHAPTER 15: THE BITCOIN DISTRIBUTED CONSENSUS ALGORITHMChapter Goal: Discussion of the distributed consensus algorithm in bitcoinSub-Topics:1. Introduction2. Consensus formation in bitcoin3. Blockchain forks4. Double spend resolution in the bitcoin networkCHAPTER 16: ALTERNATE DISTRIBUTED CONSENSUS ALGORITHMSChapter Goal: Discussion of distributed consensus algorithm that is not based on bitcoin’s proof of work algorithmSub-Topics:1. Introduction2. Proof of stake distributed consensus3. Delegated proof of stake4. Proof of weight algorithms5. The Byzantine Generals problem6. Byzantine Fault tolerance7. Federated Byzantine agreement algorithm8. Proof of weight, DAGs, and other algorithmsCHAPTER 17: WORKING AT SCALEChapter Goal: How to build blockchain and cryptocurrency applications that scaleSub-Topics:1. Introduction2. Scalability in the bitcoin network3. Subchains4. The lightening network5. Sharded networks6. Other solutionsCHAPTER 18: ANONYMOUS CRYPTOCURRENCY NETWORKSChapter Goal: Discussion of anonymity in cryptocurrency networksSub-Topics:1. Introduction2. Why bitcoin is not an anonymous currency3. Some simple precautions for bitcoin transactions4. Mixers5. Implementing anonymity for a cryptocurrency6. Using TorCHAPTER 19: DESIGNING A CRYPTOCURRENCYChapter Goal: Architecture and logical design principles in cryptocurrency creationSub-Topics:1. Introduction2. Network architectures3. Blockchain specification and implementation4. Database implementation5. Transaction specification6. Selecting a distributed consensus algorithm7. The mining algorithm8. The money supply9. The velocity of money10. Creating the genesis block11. Founder’s reserve12. Language selection13. Bon voyageAPPENDIX: INSTALLING AND USING A BITCOIN NODEChapter Goal: Install a full Bitcoin node on a Linux machine

Regulärer Preis: 79,99 €
Produktbild für Reinforcement Learning

Reinforcement Learning

In uralten Spielen wie Schach oder Go können sich die brillantesten Spieler verbessern, indem sie die von einer Maschine produzierten Strategien studieren. Robotische Systeme üben ihre Bewegungen selbst. In Arcade Games erreichen lernfähige Agenten innerhalb weniger Stunden übermenschliches Niveau. Wie funktionieren diese spektakulären Algorithmen des bestärkenden Lernens? Mit gut verständlichen Erklärungen und übersichtlichen Beispielen in Java und Greenfoot können Sie sich die Prinzipien des bestärkenden Lernens aneignen und in eigenen intelligenten Agenten anwenden. Greenfoot (M.Kölling, King’s College London) und das Hamster-Modell (D.Bohles, Universität Oldenburg) sind einfache aber auch mächtige didaktische Werkzeuge, die entwickelt wurden, um Grundkonzepte der Programmierung zu vermitteln. Wir werden Figuren wie den Java-Hamster zu lernfähigen Agenten machen, die eigenständig ihre Umgebung erkunden.Nach seinem Studium der Informatik und Philosophie mit Schwerpunkt künstliche Intelligenz und maschinelles Lernen an der Humboldt-Universität in Berlin und einigen Jahren als Projektingenieur ist Uwe Lorenz derzeit als Gymnasiallehrer für Informatik und Mathematik tätig. Seit seinem Erstkontakt mit Computern Ende der 80er Jahre hat ihn das Thema Künstliche Intelligenz nicht mehr losgelassen.Bestärkendes Lernen als Teilgebiet des Maschinellen Lernens.-Grundbegriffe des Bestärkenden Lernens.-Optimale Entscheidungen in einem bekannten Umweltsystem.-Dynamische Programmierung.- rekursive Tiefensuche.-Entscheiden und Lernen in einem unbekannten Umweltsystem.-Q- und Sarsa Learning, Eignungspfade, Dyna-Q.-Policy Gradient und Actor Critic.- Monte Carlo-Evaluationen und Monte Carlo-Baumsuche (MCTS).-Künstliche neuronalen Netze als Schätzer für Zustandsbewertungen und Handlungspreferenzen.-Werden digitale Agenten bald intelligenter als Menschen sein?.-Leitbilder in der K.I..

Regulärer Preis: 42,79 €
Produktbild für Machine Learning für Softwareentwickler

Machine Learning für Softwareentwickler

* Eine Einführung in das maschinelle Lernen für Entwickler * Alle wesentlichen Ideen, Werkzeuge und Konzepte des supervised Learning, von neuronalen Netzen und des Deep Learning werden präsentiert * Der gesamte Programmcode ist in Python geschrieben

Regulärer Preis: 27,90 €
Produktbild für Java Challenge

Java Challenge

Ihr persönlicher Java-Coach !* Ihr Java-Trainingsbuch mit Musterlösungen* Lernen Sie Tipps und Kniffe vom Java-Experten kennen* Erweitern Sie Ihr Java-Knowhow in praxisrelevanten BereichenDieses Buch bietet Ihnen ein breit gefächertes Spektrumvon über 100 Übungsaufgaben und Programmierpuzzlesinklusive Lösungen zum Knobeln und Erweitern IhrerKenntnisse zu unterschiedlichen praxisrelevantenThemengebieten wie Arrays, Datenstrukturen, Rekursion,Date and Time API usw.Jedes Themengebiet wird in einem eigenen Kapitelbehandelt, das zunächst mit einer Einführung in dieGrundlagen beginnt. Danach finden sich zumeist10 bis 15 Übungsaufgaben verschiedenerSchwierigkeitsgrade, sodass von Anfänger bisFortgeschrittenen immer etwas dabei ist undsich die Programmierkenntnisse effektiv verbessernlassen. Dabei helfen am Kapitelabschluss insbesonderedetaillierte Musterlösungen inklusive der genutztenAlgorithmen zu allen Aufgaben. Vielfach werdenzudem alternative Lösungswege aufgezeigt, aberauch mögliche Fallstricke und typische Fehlerthematisiert.Abgerundet wird das Buch durch zwei Anhänge.Einer gibt einen Überblick in wesentliche Neuerungenvon Java 8. Der zweite beschäftigt sich mit derJShell, die zum Ausprobieren der Codeschnipselund Beispiele des Buchs oftmals hilfreich ist.Dipl.-Inform. Michael Inden ist Oracle-zertifizierter Java-Entwickler. Nach seinem Studium in Oldenburg hat er bei diversen internationalen Firmen in verschiedenen Rollen etwa als Softwareentwickler und -architekt, als Consultant, Teamleiter, CTO und Leiter Academy sowie Trainer gearbeitet. Zurzeit ist er freiberuflich in Zürich tätig.Michael Inden hat über zwanzig Jahre Berufserfahrung beim Entwurf komplexer Softwaresysteme gesammelt, an diversen Fortbildungen und mehreren Java-One-Konferenzen teilgenommen. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen mit ergonomischen GUIs sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der Java User Group Switzerland, bei der JAX/W-JAX, ch.open und den IT-Tagen.

Regulärer Preis: 27,90 €
Produktbild für Exploring C++20

Exploring C++20

Discover everything you need to know about C++ in a logical progression of small lessons that you can work through as quickly or as slowly as you need. This book divides C++ up into bite-sized chunks that will help you learn the language one step at a time. Fully updated to include C++20, it assumes no familiarity with C++ or any other C-based language.Exploring C++20 acknowledges that C++ can be a complicated language, so rather than baffle you with complex chapters explaining functions, classes, and statements in isolation you’ll focus on how to achieve results. By learning a little bit of this and a little of that you’ll soon have amassed enough knowledge to be writing non-trivial programs and will have built a solid foundation of experience that puts those previously baffling concepts into context.In this fully-revised third edition of Exploring C++, you’ll learn how to use the standard library early in the book. Next, you’ll work with operators, objects, and data-sources in increasingly realistic situations. Finally, you’ll start putting the pieces together to create sophisticated programs of your own design confident that you’ve built a firm base of experience from which to grow.WHAT YOU WILL LEARN* Grasp the basics, including compound statements, modules, and moreWork with custom types and see how to use them * Write useful algorithms, functions, and more* Discover the latest C++ 20 features, including concepts, modules, and ranges* Apply your skills to projects that include a fixed-point numbers and body-mass index applicationsCarry out generic programming and apply it in a practical project * Exploit multiple inheritance, traits/policies, overloaded functions, and metaprogrammingWHO THIS BOOK IS FORExperienced programmers who may have little or no experience with C++ who want an accelerated learning guide to C++20 so they can hit the ground running.Ray Lischner has a bachelor's degree in computer science from Caltech and a master's in computer science from Oregon State University. He worked as a software developer for a dozen years, at big and small companies across the US, using PL/I, C, C++, Delphi, Smalltalk, and various assembly languages on both large and small systems. He has been self-employed as a consultant, trainer, and author for the last ten years. Ray taught computer science at Oregon State University for several years and specialized in teaching introductory computer programming. He taught courses in C and C++ and software engineering.Part I: The Basics.-1. Honing your tools.-2. Reading C++ Code.-3. Integer Expressions.-4. Strings.-5. Simple Input.-6. Error Messages.-7. For Loops.-8. Formatted Output.-9. Arrays and Vectors.-10. Algorithms and Ranges.-11. Increment and Decrement.-12. Conditions and Logic.-13. Compound Statements.-14. Introduction to File I/O.-15. The Map Data Structure.-16. Type Synonyms.-17. Characters.-18. Character Categories.-19. Case-Folding.-20. Writing Functions.-21. Function Arguments.-22. Using Ranges.-23. Using Iterators.-24. Unnamed Functioins.-25. Overloading Function Names.-26. Big and Little Numbers.-27. Very Big and Very Little Numbers.-28. Documentation.- 29. Project 1: Body-Mass IndexPart II: Custom Types.-30. Custom Types.-31. Overloading Operators.-32. Custom I/O Operators.-33. Assignment and Initialization.-34. Writing Classes.- 35. More About Member Functions.-36. Access Levels.-37. Understanding Object-Oriented Programming.-38. Inheritance.-39. Virtual Functions.-40. Classes and Types.-41. Declarations and Definitions.- 42. Modules.-43. Old-Fashioned "Modules".-44. Function Objects.-45. Useful Algorithms.-46. More About Iterators.-47. Ranges, Views and Adaptors.-48. Exceptions.-49. More Operators.-50. Project 2: Fixed-Point Numbers.-Part III: Generic Programming.-51. Function Templates.-52. Class Templates.-53. Template Specialization.-54. Partial Template Specialization.-55. Template Constraints.-56. Names and Namespaces.-57. Containers.-58. Locales and Facets.-59. International Characters.-60. TextI/O.-61. Project3: Currency Type.-Part IV: Real Programming.-62. Pointers.-63. Regular Expressions.-64. Moving Data with Rvalue References.-65. Smart Pointers.-66. Files and File Names.-67. Working with Bits.-68. Enumerations.-69. Multiple Inheritance.-70. Concepts, Traits and Policies.-71. Names, Namespaces, and Templates.-72. Overloaded Functions and Operators.-73. Programming at Compile Time.-74. Project 4: Calculator.

Regulärer Preis: 84,99 €
Produktbild für Practical Numerical C Programming

Practical Numerical C Programming

Master the C code appropriate for numerical methods and computational modeling, including syntax, loops, subroutines, and files. Then, this hands-on book dives into financial applications using regression models, product moment correlation coefficients, and asset pricing.Next, Practical Numerical C Programming covers applications for engineering/business such as supermarket stock reordering simulation as well as flight information boards at airports and controlling a power plant. Finally, the book concludes with some physics including building simulation models for energy and pendulum motion. Along the way, you’ll learn center-of-mass calculations, Brownian motion, and more.After reading and using this book, you'll come away with pragmatic case studies of actual applications using C code at work. Source code is freely available and includes the latest C20 standard release.WHAT YOU WILL LEARN* Apply regression techniques to find the pattern for depreciation of the value of cars over a period of years* Work with the product moment correlation coefficient technique to illustrate the accuracy (or otherwise) of regression techniques* Use the past stock values of an asset to predict what its future values may be using Monte Carlo methods* Simulate the buying of supermarket stock by shoppers and check the remaining stock: if it is too low print a message to reorder the stock* Create a file of arrivals for an airport and send data to the airport’s display boards to show the current situation for the incoming flights* Simulate the patterns of particles moving in gases or solids WHO THIS BOOK IS FORProgrammers and computational modelers with at least some prior experience with programming in C as well as programming in general.Philip Joyce has 28 years experience as a software engineer – working on control of steel production, control of oil refineries, communications software (pre-Internet), office products (server software), and computer control of airports. Programming in Assembler, COBOL, Coral66, C, and C++. Mentor to new graduates in the company. He also has a MSc in computational physics (including augmented matrix techniques and Monte Carlo techniques using Fortran) - Salford University 1996. Chartered scientist, chartered physicist, member of the Institute of Physics (member of the higher education group).Chapter 1 Review of CReview of C and SDK with reference to the topics in this book.Reminds the reader of C syntax.Use loops, subroutines, file access.Create typical programs in C using SDK ExercisesPART 1 – FINANCIAL APPLICATIONSChapter 2 Regression:Use regression techniques to find the pattern for depreciation of the value of cars over a period of years.Program written will create graphical displays to illustrate the topic.ExercisesChapter 3 Product Moment Correlation Coefficient (PMCC):Use this technique to illustrate the accuracy (or otherwise) of regression techniques.ExercisesChapter 4 : Asset PricingUse the past stock values of an Asset to predict what its future values may be using Monte Carlo methods.Graphics displays to illustrate the topic.ExercisesPART 2 – ENGINEERING/INDUSTRIAL/COMMERCIAL APPLICATIONSChapter 5: Supermarket Stock Reordering SimulationCreate a file of stock for a supermarket. Simulate the buying of stock by shoppers. Check the remaining stock. If it is too low print a message to reorder the stock.ExercisesChapter 6: Flight Information Boards at AirportsCreate a file of arrivals for an airport. Send data to the airport’s display boards to show the current situation for the incoming flights. Update a flight and refresh the information to the display boards.ExercisesChapter 6 : Power Plant ControlProgram receives messages about pressures, temperatures, flow rates etc for a power plant. The program checks for values outside safety ranges and acts upon any problem values by sending messages to both the gauges and the managers responsible for them.ExercisesPART 3 – PHYSICS APPLICATIONSChapter 8 Potential Energy and Kinetic Energy SimulationUse formulas for Potential Energy and Kinetic Energy to show how one falls at the same rate as the other rises.ExercisesChapter 9 Pendulum Simulation Use formulas for the motion of a pendulum to create a graph to illustrate the mathematical relationship on a graph .ExercisesChapter 10: Centre of Mass CalculationCalculate the centre of mass of unusually-shaped objects.ExercisesChapter 11 : Brownian MotionSimulate the patterns of particles moving in gases or solids.Graphical displays to illustrate the topic.ExercisesChapter 12 Vacancy Model of Atoms Moving in SolidsDemonstrate the Vacancy Model of atoms moving in solids where they can move into empty sites within the solid. Graphical displays will show the movement of the atoms within a 2D site.ExercisesAPPENDICESA. C Programming Code GuideB. Answers to exercisesThese could be contained in an included CD which could also contain some data files the students could use in their examples

Regulärer Preis: 79,99 €
Produktbild für Raspberry Pi Full Stack

Raspberry Pi Full Stack

This book will take you on a whirlwind tour of full-stack web application development using Raspberry Pi. You will learn how to build an application from the ground up.You will gain experience and know-how of technologies including:- The Linux operating system and command line.- The Python programming language.- The Raspberry Pi General Purpose Input Output pins (GPIOs).- The Nginx web server.- Flask Python web application microframework.- JQuery and CSS for creating user interfaces.- Dealing with time zones.- Creating charts with Plotly and Google Charts.- Data logging with Google Sheet.- Developing applets with IFTTT.- Securing your application with SSL.- Receiving SMS notifications to your phone using Twilio.This book will also teach you how to set up a remote wireless Arduino sensor node and collect data from it. Your Raspberry Pi web application will be able to process Arduino node data in the same way it processes data from its onboard sensor.Raspberry Pi Full Stack will teach you many skills essential to building Web and Internet of Things applications.The application you will build in this project is a platform that you can extend upon. This is just the start of what you can do with a Raspberry Pi and the software and hardware components that you will learn about.This book is supported by the author via a dedicated discussion space.Dr. Peter Dalmaris is an educator, an electrical engineer and Maker. Creator of online video courses on DIY electronics andauthor of several technical books. As a Chief Tech Explorer since 2013 at Tech Explorations, the company he founded in Sydney, Australia, Peter's mission is to explore technology and help educate the world.

Regulärer Preis: 32,99 €
Produktbild für OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide

OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide

THIS OCP ORACLE CERTIFIED PROFESSIONAL JAVA SE 11 DEVELOPER COMPLETE STUDY GUIDE WAS PUBLISHED BEFORE ORACLE ANNOUNCED MAJOR CHANGES TO ITS OCP CERTIFICATION PROGRAM AND THE RELEASE OF THE NEW DEVELOPER 1Z0-819 EXAM. NO MATTER THE CHANGES, REST ASSURED THIS STUDY GUIDE COVERS EVERYTHING YOU NEED TO PREPARE FOR AND TAKE THE EXAM.NOTE: The OCP Java SE 11 Programmer I Exam 1Z0-815 and Programmer II Exam 1Z0-816 have been retired (as of October 1, 2020), and Oracle has released a new Developer Exam 1Z0-819 to replace the previous exams. The Upgrade Exam 1Z0-817 remains the same.THIS IS THE MOST COMPREHENSIVE PREP GUIDE AVAILABLE FOR THE OCP ORACLE CERTIFIED PROFESSIONAL JAVA SE 11 DEVELOPER CERTIFICATION—IT COVERS EXAM 1Z0-819 AND THE UPGRADE EXAM 1Z0-817 (AS WELL AS THE RETIRED PROGRAMMER I EXAM 1Z0-815 AND PROGRAMMER II EXAM 1Z0-816)!Java is widely-used for backend cloud applications, Software as a Service applications (SAAS), and is the principal language used to develop Android applications. This object-oriented programming language is designed to run on all platforms that support Java without the need for recompilation. Oracle Java Programmer certification is highly valued by employers throughout the technology industry.The OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide in an indispensable resource for anyone preparing for the certification exam. This fully up-to-date guide covers 100% of exam objectives for Exam 1Z0-819 and Upgrade Exam 1Z0-817 (in addition to the previous Exam 1Z0-815 and Exam 1Z0-816). In-depth chapters present clear, comprehensive coverage of the functional-programming knowledge necessary to succeed. Each chapter clarifies complex material while reinforcing your understanding of vital exam topics. Also included is access to Sybex's superior online interactive learning environment and test bank that includes self-assessment tests, chapter tests, bonus practice exam questions, electronic flashcards, and a searchable glossary of important terms. The ultimate study aid for the challenging OCP exams, this popular guide:* Helps you master the changes in depth, difficultly, and new module topics of the latest OCP exams* Covers all exam objectives such as Java arrays, primitive data types, string APIs, objects and classes, operators and decision constructs, and applying encapsulation* Allows developers to catch up on all of the newest Java material like lambda expressions, streams, concurrency, annotations, generics, and modules* Provides practical methods for building Java applications, handling exceptions, programming through interfaces, secure coding in Java SE, and more* Enables you to gain the information, understanding, and practice you need to pass the OCP examsThe OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide is a must-have book for certification candidates needing to pass these challenging exams, as well as junior- to senior-level developers who use Java as their primary programming language.JEANNE BOYARSKY, OCA/OCP 8 AND OCP 11, is a Java Champion and has worked as a Java developer for a major bank for more than 18 years. She is a senior moderator at CodeRanch, and trains and mentors students of all levels, including the programming division of a FIRST robotics team.SCOTT SELIKOFF, OCA/OCP 8 AND OCP 11, has been a professional Java Enterprise architect for over 20 years. He is the founder of Selikoff Solutions, LLC, specializing in building custom mobile and server solutions for businesses in the tri-state New York City area.Introduction xxixAssessment Tests lixPART I EXAM 1Z0-815, OCP JAVA SE 11 PROGRAMMER I 1Chapter 1 Welcome to Java 3Chapter 2 Java Building Blocks 37Chapter 3 Operators 81Chapter 4 Making Decisions 115Chapter 5 Core Java APIs 163Chapter 6 Lambdas and Functional Interfaces 223Chapter 7 Methods and Encapsulation 249Chapter 8 Class Design 297Chapter 9 Advanced Class Design 365Chapter 10 Exceptions 403Chapter 11 Modules 453PART II EXAM 1Z0-816, OCP JAVA SE 11 PROGRAMMER II EXAM 1Z0-817, UPGRADE OCP JAVA SE 11 493Chapter 12 Java Fundamentals 495Chapter 13 Annotations 553Chapter 14 Generics and Collections 599Chapter 15 Functional Programming 669Chapter 16 Exceptions, Assertions, and Localization 741Chapter 17 Modular Applications 803Chapter 18 Concurrency 839Chapter 19 I/O 913Chapter 20 NIO.2 969Chapter 21 JDBC 1023Chapter 22 Security 1069APPENDIX ANSWERS TO REVIEW QUESTIONS 1105Index 1177

Regulärer Preis: 54,99 €
Produktbild für Ganzheitliche Businessmodell-Transformation

Ganzheitliche Businessmodell-Transformation

In diesem Buch wird der regelkreisorientierte Changemanagementprozess zur Implementierung eines digitalen Businessmodells über das ganzheitliche Organisation 4.0-MITO-Konfigurationsmanagement beschrieben. Die inhaltliche Kapitelstruktur dieses MITO-Buches mit der Beschreibung der unterschiedlichen Transformations-Gestaltungssichten orientiert sich an dem übergeordneten betrieblichen Regelkreisprinzip innerhalb der in Abbildung 1 gezeigten MITO-Modellsegmente. Wobei das Managementsegment (M) noch vorgabeseitig in das prozessbezogene Führungssegment und rückmeldeseitig in das sachbezogene Leitungssegment unterteilt ist. Das darauf aufsetzende MITO-Businessmodell ergänzt die 5 Modellsegmente um das nachgelagerte Kunden- und vorgelagerte Lieferantensegment und integriert in die MITO-Modelldarstellung das hierarchische Prozessebenenmodell für die Konzeption des prozessorientierten Ziel-, Führungs- und Leitungssystems.Hartmut F. Binner war von 1978 - 2009 hauptamtlicher Professor an der Hochschule Hannover im Fachbereich Maschinenbau. Im Rahmen seiner Doktorarbeit entwickelte er die Swimlane-Darstellung, heute wesentliches BPMN 2.0-Strukturelement.Von 1999 - 2003 war er Präsident des REFA e.V., von 2007-2017 Vorstandsvorsitzender der Gesellschaft für Organisation.Innerhalb der letzten 20 Jahre schrieb er Beiträge in über 500 Zeitschriften und mehr als 18 Grundlagenwerke zum Thema Organisations- und Prozessgestaltung. Seit Dezember 2015 ist er der Vice Chairman der iTA (IT Automotive Service Partner e.V.).

Regulärer Preis: 49,99 €
Produktbild für SwiftUI For Dummies

SwiftUI For Dummies

THE SIMPLEST WAY TO CREATE WORLD-CLASS APPSHave a unique app idea but worried you don’t quite have the coding skills to build it? Good news: You can stop fretting about someone beating you to market with the same idea and start work right now using SwiftUI. SwiftUI is a gateway app development framework that has become one of the best ways for fledgling developers to get iOS apps off the ground without having to become a coding expert overnight.SwiftUI For Dummies makes that process even faster, providing a friendly introduction to the SwiftUI and Swift programming language and helping you feel right at home creating and building with playgrounds. The book also covers the frameworks and APIs that make it so easy to create smooth, intuitive interfaces—just dive right in and have fun!* Combine projects into workspaces * Employ Xcode editing tools * Use constants and variables * Test your code on iOS Simulator Time is of the essence, and with SwiftUI For Dummies, it’s also on your side. Get going with this friendly guide today, and you’ll be celebrating the successful launch of your app way before you thought possible!WEI-MENG LEE (Singapore) is founder of Developer Learning Solutions, a firm specializing in hands-on training for software developers. He teaches courses in mobile development, blockchain, machine learning, and AI. He is author of a number of books, including Beginning Swift Programming (Wiley).INTRODUCTION 1About This Book 1Foolish Assumptions 2Icons Used in This Book 2Beyond the Book 3Where to Go from Here 3PART 1: GETTING STARTED WITH SWIFT AND SWIFTUI 5CHAPTER 1: INTRODUCING SWIFTUI 7Understanding What SwiftUI Is 7Getting the Tools 11Hello, SwiftUI 12Automatically previewing your user interface using the canvas 14Working with Live Preview 18Generating different previews 19The Gory Details 21Info plist 22AppDelegate swift 22SceneDelegate swift 23CHAPTER 2: BASICS OF THE SWIFT PROGRAMMING LANGUAGE 25Basic Swift Syntax 26Constants 26Variables 27Strings 27Comments 27Basic Data Types 28Integers 28Floating-point numbers 29Booleans 29Tuples 30Arrays 30Retrieving elements from an array 31Inserting elements into an array 31Modifying elements in an array 31Appending elements to an array 31Removing elements from an array 32Dictionaries 32Retrieving elements from a dictionary 32Modifying an item in a dictionary 33Removing an item from a dictionary 33Optional Types 33Working with implicitly unwrapped optionals 35Using optional binding 36Unwrapping optionals using “?” 36Using the nil coalescing operator 37Functions 38Understanding input parameters 38Returning a value 39Flow Control 39If-Else statement 40Ternary conditional operator 40Switch statement 40Looping 41For-In loop 42While loop 42Repeat-While loop 42Control transfer statements 42Range operators 43Structures 43Memberwise initializers 44Structures as value types 45Classes 47Defining a class 47Understanding properties 47Using methods in classes 49Trying out the self property 50Closures 51Understanding closures 51Using functions as closures 52Assigning closures to variables 52Writing closures inline 53Understanding type inference 53Using shorthand argument names 54Working with the operator function 54Using trailing closures 55Protocols 55Defining and using a protocol 56Conforming to a protocol 56Using the Codable protocol 57Using the some keyword 59PART 2: UNDERSTANDING THE BASICS OF SWIFTUI 61CHAPTER 3: GETTING STARTED WITH THE BASICS OF SWIFTUI 63Taking a Look at SwiftUI Views 63Conforming to the View protocol 64Using modifiers 66Stacking modifiers 66Using the Inspector 67Displaying an Image 70Using modifiers on the Image view 72Resizing images 73Displaying a Button 75Customizing the button 76Adding actions 77Stacking the Views 78VStack 79HStack 80Putting on the Finishing Touches 85CHAPTER 4: HANDLING USER INPUTS AND CUSTOM VIEWS 87Looking at Input Views 87TextField 88SecureField 92Toggle 93Slider 94Stepper 98Picker 100Composing Custom Views 103Composing the custom view 104Using the custom view 111CHAPTER 5: DISPLAYING LISTS OF ITEMS 113Using the List View to Display Items 113Customizing the rows 114Adding rows programmatically 116Alternative way to generate rows in a List view 119Displaying the List within a NavigationView 120Making the items tappable 121Adding rows 123Using the Identifiable protocol 125Deleting rows 126Editing rows 128Moving rows 130Displaying Sections 133Displaying sections from a dictionary 134Changing the style of the List view 136Previewing in Light and Dark Modes 138During runtime 138During design time 139CHAPTER 6: CREATING NAVIGATION AND TABBED APPLICATIONS 143Creating Navigation Apps 144Working with the two key views in navigation-style apps 145Navigating to a page 148Navigating programmatically 149Creating a news reader application 151Creating Tabbed Applications 167Using the TabView 168Selecting TabViews programmatically 169CHAPTER 7: FORMATTING YOUR USER INTERFACE 173Laying Out Views Using Stacks 173VStack 174HStack 186ZStack 190Using Container Views 195Form and Section 198Group 200Divider 203PART 3: EXPLORING WITH SWIFTUI IN MORE DETAIL 205CHAPTER 8: UNDERSTANDING STATE MANAGEMENT IN SWIFTUI 207Using a Property Wrapper 207Maintaining State Using State Variables 209Binding State Variables 213Managing State from External Objects 218Using the ObservableObject protocol and @Published 219Using the @ObservedObject 221Sharing Objects 223Accessing Built-in Environment Variables 228Defining your own environment keys 230Using your own environment keys 231CHAPTER 9: USING LEGACY UIKIT VIEWS AND VIEW CONTROLLERS IN SWIFTUI 235Using UIKit in SwiftUI 236Understanding the UIKit View Controller life cycle 237Understanding the SwiftUI view life cycle 239Using the UIViewRepresentable Protocol for UIKit Views 247ActivityIndicator 248WebView 251Using the UIViewControllerRepresentable Protocol for UIKit View Controllers 253Creating the ImagePickerViewController 254Handling events using coordinators 256Defining the methods in the Coordinator class 258Using the updated ImagePickerViewController 260PART 4: PERFORMING ANIMATIONS AND DRAWINGS 263CHAPTER 10: DRAWINGS AND SPECIAL EFFECTS 265Drawing Using the Five Built-in Shapes 266Rectangles 266Rounded rectangles 270Circles 273Capsules 274Ellipses 275Clipping with the Basic Shapes 277Drawing Custom Shapes 281Drawing lines 283Filling the shape 284Drawing a border 286Drawing an arc 287Combining fill and stroke 289Using Special Effects in SwiftUI 292Blend modes 292Blurs 297Saturation 298CHAPTER 11: PERFORMING ANIMATIONS IN SWIFTUI 299Understanding How to Animate 299Specifying the type of animation 303Repeating the animation 303Stopping the animation 304Performing Your Own Animation 307Rotating in 2D 307Rotating in 3D 309Creating a Custom Progress Indicator 314Indeterminate progress indicator 314Determinate progress indicator 318CHAPTER 12: CREATING A COMPLETE PROJECT 323Understanding What the App Does 323Building the Project 325Creating the layouts 325Defining the news sources and observable objects 328Fetching the data 330Displaying the news headlines 331Displaying the images 334Displaying the news 336Creating the share sheet 338Creating the preferences view 339Persisting the user’s preferences 344Deploying the App 346PART 5: THE PART OF TENS 351CHAPTER 13: TEN SWIFTUI TIPS AND TRICKS 353Resuming Live Preview 353Implementing Localization 354Combining Text Views 358Creating Custom Modifiers 360Displaying Multiple Alerts 362Enabling Debug Preview 363Previewing Using Different Devices 364Dark Mode Only Works On NavigationView 368Extracting Subviews 370Displaying a Context Menu 373CHAPTER 14: TEN GREAT SWIFTUI RESOURCES 375Apple 375SwiftUI by Example 376100 Days of SwiftUI 376Gosh Darn SwiftUI 376SwiftUI Hub 376Awesome SwiftUI 377raywenderlich com 377Swift Talk 377About SwiftUI 377Stack Overflow 378Appendix: Code Snippets for Common Swiftui Views 379Index 387

Regulärer Preis: 22,99 €
Produktbild für Control Your Home with Raspberry Pi

Control Your Home with Raspberry Pi

Ever since the Raspberry Pi was introduced, it has been used by enthusiasts to automate their homes. The Raspberry Pi is a powerful computer in a small package, with lots of interfacing options to control various devices. This book shows you how you can automate your home with a Raspberry Pi. You'll learn how to use various wireless protocols for home automation, such as Bluetooth, 433.92 MHz radio waves, Z-Wave, and Zigbee. Soon you'll automate your home with Python, Node-RED, and Home Assistant, and you'll even be able to speak to your home automation system. All this is done securely, with a modular system, completely open-source, without relying on third-party services. You're in control of your home, and no one else. At the end of this book, you can install and configure your Raspberry Pi as a highly flexible home automation gateway for protocols of your choice, and link various services with MQTT to make it your own system. This DIY (do it yourself) approach is a bit more laborious than just installing an off-the-shelf home automation system, but in the process, you can learn a lot, and in the end, you know exactly what's running your house and how to tweak it. This is why you were interested in the Raspberry Pi in the first place, right? - Turn your Raspberry Pi into a reliable gateway for various home automation protocols. - Make your home automation setup reproducible with Docker Compose. Secure all your network communication with TLS. - Create a video surveillance system for your home. - Automate your home with Python, Node-RED, Home Assistant and AppDaemon. - Securely access your home automation dashboard from remote locations. - Use fully offline voice commands in your own language. Koen Vervloesem has been writing for over 20 years on Linux, open-source software, security, home automation, AI, and programming. He holds a Master's degree in Computer Science Engineering, a Master's degree in Philosophy and an LPIC-3 303 Security certificate. He is editor-in-chief of the Dutch MagPi magazine and is a board member of the Belgian privacy activist organization, the Ministry of Privacy.

Regulärer Preis: 32,99 €
Produktbild für Beginning Jakarta EE Web Development

Beginning Jakarta EE Web Development

Start building Java-based web applications now, even if you’re a complete newcomer to Java. Comprehensive and example-driven, this book is all you need to develop dynamic Java-based web applications using JSP, connect to databases with JSF, and put them into action using the popular open source Java web server, Apache Tomcat.Beginning Jakarta EE Web Development is a comprehensive introduction to building Java-based web applications using JSP, JSF, MySQL, and the Apache Tomcat web application server. Other APIs including JSON, JSTL, and XML parser are covered along the way.Key concepts are made easy to grasp with numerous working examples and a walk-through of the development of a complete ecommerce project. This book is written for professionals by practicing Java web application professionals and experts.WHAT YOU WILL LEARN* Build Java-based web applications using JSP and JSF with Eclipse Jakarta EE* Configure your database with MySQL* Define XML documents for your applications* Use the Apache MyFaces APIs to create JSF applications* Integrate and implement JSF and JSP together* Build an online ecommerce web application WHO THIS BOOK IS FORProgrammers new to programming in Java and programming in general.Luciano Manelli earned a PhD in computer science from the IT department, University of Bari - Aldo Moro. His PhD focused on grid computing and formal methods, and he published the results in international publications. Luciano obtained several certificates in the IT sector, and, in 2014, began working for the Port Network Authority of the Ionian Sea – Port of Taranto, after working for 13 years for InfoCamere SCpA. He has worked mainly in the design, analysis, and development of large software systems; research and development; testing; and production with roles of increasing responsibility in several areas over the years. Luciano has developed a great capability to make decisions in a technical and business context and is mainly interested in project management and business process management. In his current position, he deals with port community systems and software innovation. Additionally, he has written several IT books and is a contract professor at the Polytechnic of Bari (foundations of computer science), and at the University of Bari - Aldo Moro (programming for web, computer science, and computer lab).Giulio Zambon's first love was physics, but he decided to dedicate himself to software development more than 30 years ago: back when computers were still made of transistors and core memories, programs were punched on cards, and Fortran only had arithmetic IFs. Over the years, he learned a dozen computer languages and worked with all sorts of operating systems. His specific interests were in telecom and real-time systems, and he managed several projects to their successful completion. In 2001 Giulio founded his own company offering computer telephony integration (CTI) services, and he used JSP and Tomcat exclusively to develop the web side of the service platform. Back in Australia after many years in Europe, he now dedicates himself to writing software to generate and solve numeric puzzles.1. Introducing Jakarta Server Pages (JSP) and Apache Tomcat2. JSP Elements3. JSP Application Architectures4. JSP in Action5. JSON, XML-based JSL and JSP6. JSP and Databases7. Jakarta Server Faces (JSF)8. JSF and EshopA. Eclipse IDE/FrameworkNOTES from Author on Revision Plan:I'd like to propose a revision of the Beginning Jakarta EE Web Development book and I would change the structure of the book to make it more modern and implementable:1) I would prefer to start the reading of a book for beginners step by step avoiding the copy&paste operations of complex code (i.e. Listing 1-1. pag 6);2) It's a good idea the theory&practice used in the book, so I would delete the appendices and Chapter9, inserting part of them directly in the main text;3) I would avoid so many areas of software development (there are a lot of xml /tipology of tags applications): I think is better focus on the eshop application;4) I would use more graphical tools, like Eclipse using autocompilation or automatic generation tools (for example of beans) in order to maximize learning and to minimize the copy&paste operations of the code.5) I will update it.Thank you,LM

Regulärer Preis: 56,99 €
Produktbild für Delphi Quick Syntax Reference

Delphi Quick Syntax Reference

The Delphi Quick Syntax Reference is a succinct code and syntax reference guide to Delphi. It presents the fundamental knowledge to get newcomers started with the language and provides a refresher to seasoned or returning Delphi developers.It covers all the new features added by Embarcadero during the last few years. Delphi celebrates 25 years in 2020 and, alongside the free community version that was introduced a couple of years ago, this syntax guide is a great way to get into the language.WHAT YOU WILL LEARN* Quickly use and learn Delphi* Compile, build and run a Delphi program* Master Delphi strings, variables, constants, and operators and how to apply them* Use conditions, loops, procedures, and functions in Delphi * Apply object-oriented programming in Delphi WHO THIS BOOK IS FORReturning or current Delphi developers: The book is a resource for reference for this group of developers especially for the new features that were introduced in the language over the last couple of years. Newcomers to the language: These developers will learn the fundamentals of the language in a very condensed and effective text that accelerates learning. John Kouraklis started exploring computers when he was 16 and since then has followed all the way from Turbo Pascal to Delphi and Delphi Tokyo as a hobby initially and as a profession for most of his adult life. He has developed a wide range of applications, from financial software to reverse engineering tools, including an application for professional gamblers.He is part of the Delphi community and participates in online communities, forums, and many other events. For example, he is active on Delphi Praxis, which is perhaps the biggest English-speaking online forum about Delphi. John also has a personal website where he posts articles regularly. Lastly, he has written two books about Delphi published by Apress.Chapter 1: Introduction to DelphiChapter 2: Anatomy of a Delphi programChapter 3: Compiling, Building and Running a program (including cross platform environments)Chapter 3: Variables, Constants and OperatorsChapter 4: StringsChapter 5: Conditionals and LoopsChapter 6: Procedures and FunctionsChapter 7: OOP in DelphiChapter 8: Enhancements (Anonymous Methods, etc.)

Regulärer Preis: 46,99 €
Produktbild für Bite-Size Python

Bite-Size Python

INTRODUCE CHILDREN TO THE POPULAR PYTHON PROGRAMMING LANGUAGE THROUGH RELATABLE EXAMPLES AND FUN PROJECTS!Python has now surpassed Java as the most commonly used programming language. As the language rises in popularity, this complete guide can teach basic Python concepts to kids with its simple, friendly format. Bite-Size Python: An Introduction to Python Programming provides children with a foundation in the Python language. This unique book shares knowledge through easy-to-understand examples, fast exercises, and fun projects!As children learn, their parents, caregivers, and instructors can also join in their discoveries. Bite-Size Python is ideal for those who are new to programming, giving kids ages 9 and up a beginners’ approach to learning one of the most important programming languages.* Gives an overview of Python* Provides exciting programming projects* Offers instruction on how to download and install Python* Presents key programming language concepts* Simplifies technical definitionsWith this playful guide to learning Python, readers can try out activities on their computers for a hands-on learning experience. The artwork in Bite-Size Python represents children of various backgrounds, so any child who picks up this book will be empowered to learn and young readers will love showing their projects to friends and family!APRIL SPEIGHT is a Python developer with a passion for helping beginners get started with programming. She believes that by providing programming instruction that is equal parts approachable, relatable, and fun she can truly foster a welcoming learning experience. Considered a true creator at heart, April enjoys programming AI assistants and chat bots, creating experiences with mixed reality, and discovering new ways to teach technical concepts to nontechnical audiences. Curious about what she's currently learning or creating? Follow her on Twitter @VogueandCode. 1 What is Python? 32 Install Python 93 IDLE 154 Variables 235 Numbers 396 Strings 517 Conditionals and Control Flow 698 Lists 839 for Loops 9710 while Loops 11711 Functions 13312 Dictionaries 16113 Modules 18714 Next Steps 205Appendix 213Index 219

Regulärer Preis: 18,99 €
Produktbild für C++ mit Visual Studio 2019

C++ mit Visual Studio 2019

C++ hat sich in den letzten Jahren rasant entwickelt: C++11, C++14, C++17 und C++20 haben viele Verbesserungen und neue Möglichkeiten gebracht. Vieles, was vor 10 Jahren noch gut und empfehlenswert war, kann heute besser und sicherer gemacht werden.Dieses Buch stellt C++ mit Visual Studio 2019 auf dem Stand von Mai 2020 umfassend dar. Das ist nicht nur der Umfang von C++17, sondern auch schon ein Teil von C++20.Es entstand aus zahlreichen Vorlesungen und Firmenseminaren. Dementsprechend richtet es sich einerseits an STUDIERENDE, die C++ lernen wollen. Der Aufbau, die vielen Beispiele und Übungsaufgaben sind erprobt und bewährt. Es eignet sich zum Selbststudium und als Lehrbuch für Vorlesungen an Fachhochschulen und Universitäten.Dieses Buch zeigt aber ebenso PROFESSIONELLEN SOFTWARE-ENTWICKLERN mit einer jahre­langen C++-Praxis den aktuellen Stand der Technik. Viele der Spracherweiterungen machen elementare Programmiertechniken einfacher und sicherer. Dazu kommen neue Konzepte, die bessere und effizientere Lösun­gen als noch vor einigen Jahren ermöglichen.Dieses Buch erscheint in zwei weitgehend identischen Ausgaben:– IN DER VORLIEGENDEN AUSGABE werden Programme ohne eine graphische Benutzeroberfläche geschrieben. Alle Ein- und Ausgaben erfolgen mit cin und cout über die Konsole.– IN DER ANDEREN AUSGABE „C++ mit Visual Studio 2019 und Windows-Forms-Anwen­dungen“ werden Programme geschrieben, in denen alle Ein- und Ausgaben über eine Windows-Benutzeroberfläche erfolgen.Nach seinem Mathematikstudium an der Universität Tübingen war Richard Kaiser in der Lehrerausbildung tätig, Trainer in der Industrie, Software-Entwickler und -Abteilungsleiter. Als Professor an der Dualen Hochschule Baden-Württemberg hat er Vorlesungen über C, C++, C# und Mathematik gehalten und zahlreiche Firmenseminare über C++ und C# durchgeführt.Die Entwicklungsumgebung.- Steuerelemente für die Benutzeroberfläche.- Elementare Datentypen und Anweisungen in C und C++.- Sie Stringklassen string und wstring.- Arrays und Container.- Einfache selbstdefinierte Datentypen.- Zeiger, Strings und dynamisch erzeugte Variablen.- Überladene Funktionen und Operatoren.- ObjektorientierteProgrammierung.- Namensbereiche.- Exception-Handling.- Containerklassen der C++-Standardbibliothek.- Dateibearbeitung mit den Stream-Klassen.- Funktionsobjekte und Lambda-Ausdrücke.- Templates und STL.- C++11 Smart Pointer: shared_ptr, unique_ptr und weak_ptr.- Literatur.- Index.

Regulärer Preis: 66,99 €
Produktbild für C++20 Quick Syntax Reference

C++20 Quick Syntax Reference

This quick C++ 20 guide is a condensed code and syntax reference to the popular programming language, fully updated for C++20. It presents the essential C++20 code syntax in a well-organized format that can be used as a handy reference.This edition covers topics including designated initializers, lambdas and lambda captures, the spaceship operator, pack expressions, string literals as template parameters, atomic smart pointers, and contracts. It also covers library changes including extended futures, latches and barriers, task blocks, and text formatting.In the C++20 Quick Syntax Reference, you will find short, simple, and focused code examples. This book includes a well-laid-out table of contents and a comprehensive index allowing for easy review. You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What you will find is a language reference that is concise, to the point, and highly accessible. The book is packed with useful information and is a must-have for any C++ programmer.WHAT YOU'LL LEARN* Discover the key C++20 features* Work with concepts to constrain template arguments* Use modules as a replacement for header files* Take advantage of the three-way comparison operator* Create immediate functions using the consteval keyword* Make use of constexpr, constinit and designated initializersWHO THIS BOOK IS FORExperienced C++ programmers. Additionally, this is a concise, easily-digested introduction for other programmers new to C++.Mikael Olsson is a professional web entrepreneur, programmer, and author. He works for an R&D company in Finland where he specializes in software development. In his spare time he writes books and creates websites that summarize various fields of interest. The books he writes are focused on teaching their subject in the most efficient way possible, by explaining only what is relevant and practical without any unnecessary repetition or theory. 1. HelloWorld2. Compile and Run3. Variables4. Operators5. Pointers6. References7. Arrays8. String9. Conditionals10. Loops11. Functions12. Class13. Constructor14. Inheritance15. Overriding16. Access Levels17. Static18. Enum19. Struct and Union20. Operator Overloading21. Custom Conversions22. Namespaces23. Constants24. Preprocessor25. Exception Handling26. Type Conversions27. Smart Pointers28. Templates29. Headers

Regulärer Preis: 62,99 €
Produktbild für Practical Hexo

Practical Hexo

Leverage the power of Hexo to quickly produce static blog sites that are efficient and fast. This project-oriented book simplifies the process of setting up Hexo and manipulating content, using little more than a text editor and free software. It will equip you with a starting toolset that you can use to develop future projects, incorporate into your existing workflow and allow you to take your websites to the next level.Hexo is based on JavaScript and Node.js, two of the biggest tools available for developers: you can enhance, extend, and configure Hexo as requirements dictate. With Hexo the art of possible is only limited by the extent of your imagination and the power of JavaScript and Node.js.Practical Hexo gets you quickly acquainted with creating and manipulating blogs using a static site generator approach. You will understand how to use the Hexo framework to rapidly create and deploy blogs that are performant, with the minimum of fuss, then extend and customize your content using plugins and themes. You will work through some practical projects to help solidify your skills, and put them into practice.WHAT YOU'LL LEARN* Implement the Hexo framework in a project* Customize and extend content* Consider maintenance requirements and how they compare to other blog systems* Apply skills to practical, real-world projects* Create themes and build plugins* Make changes using other tools and libraries.WHO THIS BOOK IS FORWebsite developers who are already familiar with JavaScript and keen to learn how to leverage the Hexo framework.Agile development team members, where time is of the essence to deliver results quickly.Developers who want to focus on simplicity, to produce efficient and properly optimized content in modern browsers using tools already in their possession.ALEX LIBBY is a front-end engineer and seasoned computer book author, who hails from England. His passion for all things Open Source dates back to the days of his degree studies, where he first came across web development, and has been hooked ever since. His daily work involves extensive use of JavaScript, HTML and CSS to manipulate existing website content; Alex enjoys tinkering with different open source libraries to see how they work. He has spent a stint maintaining the jQuery Tools library, and enjoys writing about Open Source technologies, principally for front end UI development. You can find him on LinkedIn: https://www.linkedin.com/in/alexlibby1/.1. Getting Started2. Manipulating Content and Media3. Creating Themes4. Developing Themes5. Working with the API6. Building Plugins7. Deployment and Publishing8. Improving our Workflow and Blog9. Localizing Content10. Creating an eCommerce Site11. Migrating to Hexo

Regulärer Preis: 52,99 €
Produktbild für Grundkurs Machine Learning

Grundkurs Machine Learning

Maschinelles Lernen – alle Grundlagen! Paul Wilmott ist für seine erhellende und unterhaltsame Darstellung angewandter Mathematik bekannt. Von der linearen Regression bis zu Neuronalen Netzwerken führt er Sie durch alle Verfahren, und zwar komplett Software-unabhängig. Der Vorteil dabei: Jeder Schritt ist schwarz auf weiß zu sehen, kein Framework kann etwas „verstecken“, es geht immer um die Sache selbst. Mit vielen Beispielen, Grafiken und Schritt-für-Schritt-Kästen. Für alle, die wirklich verstehen wollen, wie Maschinen lernen. Aus dem Inhalt: Lineare Regressionk-Nearest NeighborsNaive Bayes-Klassifikatorenk-Means-AlgorithmusSupport Vector MachinesLogistische RegressionSelbstorganisierende KartenEntscheidungsbäumeReinforcement LearningNeuronale Netze   Vorwort ... 13   1.  Einführung ... 17        1.1 ... Maschinelles Lernen ... 18        1.2 ... Lernen ist der Schlüssel ... 19        1.3 ... Ein wenig Geschichte ... 20        1.4 ... Schlüsselmethodiken in diesem Buch ... 22        1.5 ... Klassische mathematische Modellierung ... 26        1.6 ... Maschinelles Lernen ist anders ... 28        1.7 ... Einfachheit führt zu Komplexität ... 29        1.8 ... Weiterführende Literatur ... 33   2.  Allgemeines ... 35        2.1 ... Jargon und Notation ... 35        2.2 ... Skalierung ... 37        2.3 ... Distanzmessung ... 38        2.4 ... Fluch der Dimensionalität ... 39        2.5 ... Hauptkomponentenanalyse ... 39        2.6 ... Maximum-Likelihood-Schätzung ... 40        2.7 ... Konfusionsmatrix ... 44        2.8 ... Kostenfunktion ... 47        2.9 ... Gradientenabstieg ... 52        2.10 ... Training, Testen und Validieren ... 54        2.11 ... Bias und Varianz ... 57        2.12 ... Lagrange-Multiplikatoren ... 63        2.13 ... Mehrfachklassen ... 65        2.14 ... Informationstheorie und Entropie ... 67        2.15 ... Verarbeitung natürlicher Sprache (NLP) ... 70        2.16 ... Bayes-Theorem ... 72        2.17 ... Was nun? ... 73        2.18 ... Weiterführende Literatur ... 74   3.  K-nächste Nachbarn ... 75        3.1 ... Wofür können wir die Methode verwenden? ... 75        3.2 ... Wie die Methode funktioniert ... 76        3.3 ... Der Algorithmus ... 78        3.4 ... Probleme mit KNN ... 78        3.5 ... Beispiel: Körpergröße und -gewicht ... 79        3.6 ... Regression ... 83        3.7 ... Weiterführende Literatur ... 85   4.  K-Means Clustering ... 87        4.1 ... Wofür können wir die Methode verwenden? ... 87        4.2 ... Was macht K-Means Clustering? ... 89        4.3 ... Scree-Plots ... 93        4.4 ... Beispiel: Kriminalität in England, 13 Dimensionen ... 94        4.5 ... Beispiel: Volatiliät ... 98        4.6 ... Beispiel: Zinssatz und Inflation ... 100        4.7 ... Beispiel: Zinssätze, Inflation und BIP-Wachstum ... 103        4.8 ... Ein paar Kommentare ... 104        4.9 ... Weiterführende Literatur ... 105   5.  Naiver Bayes-Klassifikator ... 107        5.1 ... Wofür können wir ihn verwenden? ... 107        5.2 ... Verwendung des Bayes-Theorems ... 108        5.3 ... Anwendung des NBK ... 108        5.4 ... In Symbolen ... 110        5.5 ... Beispiel: Politische Reden ... 111        5.6 ... Weiterführende Literatur ... 114   6.  Regressionsmethoden ... 115        6.1 ... Wofür können wir sie verwenden? ... 115        6.2 ... Mehrdimensionale lineare Regression ... 116        6.3 ... Logistische Regression ... 117        6.4 ... Beispiel: Noch einmal politische Reden ... 119        6.5 ... Weitere Regressionsmethoden ... 121        6.6 ... Weiterführende Literatur ... 122   7.  Support-Vektor-Maschinen ... 123        7.1 ... Wofür können wir sie verwenden? ... 123        7.2 ... Harte Ränder ... 123        7.3 ... Beispiel: Iris (Schwertlilie) ... 126        7.4 ... Lagrange-Multiplier-Version ... 128        7.5 ... Weiche Ränder ... 130        7.6 ... Kernel-Trick ... 132        7.7 ... Weiterführende Literatur ... 136   8.  Selbstorganisierende Karten ... 137        8.1 ... Wofür können wir sie verwenden? ... 137        8.2 ... Die Methode ... 138        8.3 ... Der Lernalgorithmus ... 140        8.4 ... Beispiel: Gruppierung von Aktien ... 142        8.5 ... Beispiel: Abstimmungen im Unterhaus ... 147        8.6 ... Weiterführende Literatur ... 149   9.  Entscheidungsbäume ... 151        9.1 ... Wofür können wir sie verwenden? ... 151        9.2 ... Beispiel: Zeitschriftenabo ... 153        9.3 ... Entropie ... 158        9.4 ... Überanpassung und Abbruchregeln ... 161        9.5 ... Zuschneiden ... 162        9.6 ... Numerische Merkmale/Attribute ... 162        9.7 ... Regression ... 164        9.8 ... Ausblick ... 171        9.9 ... Bagging und Random Forest ... 171        9.10 ... Weiterführende Literatur ... 172 10.  Neuronale Netze ... 173        10.1 ... Wofür können wir sie verwenden? ... 173        10.2 ... Ein sehr einfaches Netzwerk ... 173        10.3 ... Universelles Approximations-Theorem ... 174        10.4 ... Ein noch einfacheres Netzwerk ... 176        10.5 ... Die mathematische Manipulation im Detail ... 177        10.6 ... Häufige Aktivierungsfunktionen ... 181        10.7 ... Das Ziel ... 182        10.8 ... Beispiel: Approximation einer Funktion ... 183        10.9 ... Kostenfunktion ... 184        10.10 ... Backpropagation ... 185        10.11 ... Beispiel: Buchstabenerkennung ... 188        10.12 ... Training und Testen ... 190        10.13 ... Mehr Architekturen ... 194        10.14 ... Deep Learning ... 196        10.15 ... Weiterführende Literatur ... 197 11.  Verstärkendes Lernen ... 199        11.1 ... Wofür können wir es verwenden? ... 199        11.2 ... Geländeausfahrt mit Ihrem Lamborghini 400 GT ... 200        11.3 ... Jargon ... 202        11.4 ... Ein erster Blick auf Blackjack ... 203        11.5 ... Der klassische Markow-Entscheidungsprozess für Tic-Tac-Toe ... 204        11.6 ... Noch mehr Jargon ... 206        11.7 ... Beispiel: Der mehrarmige Bandit ... 207        11.8 ... Etwas anspruchsvoller 1: Bekannte Umgebung ... 211        11.9 ... Beispiel: Ein Labyrinth ... 214        11.10 ... Notation zu Wertefunktionen ... 218        11.11 ... Die Bellman-Gleichung ... 220        11.12 ... Optimale Policy ... 221        11.13 ... Die Bedeutung der Wahrscheinlichkeit ... 222        11.14 ... Etwas anspruchsvoller 2: Modell-frei ... 223        11.15 ... Monte Carlo Policy Evaluation ... 224        11.16 ... Temporal-Difference-Lernen ... 227        11.17 ... Vor- und Nachteile: MC versus TD ... 228        11.18 ... Finden der optimalen Policy ... 229        11.19 ... Sarsa ... 230        11.20 ... Q-Lernen ... 232        11.21 ... Beispiel: Blackjack ... 233        11.22 ... Große Zustandsräume ... 245        11.23 ... Weiterführende Literatur ... 245   Datensätze ... 247   Epilog ... 251   Index ... 253

Regulärer Preis: 23,92 €
Produktbild für Einstieg in C++

Einstieg in C++

Mit diesem Buch gelingt Ihnen der Einstieg in die C++-Entwicklung mühelos. Anschauliche Erklärungen, praxisnahe Beispiele und Übungen begleiten Sie von den ersten Schritten bis zum fertigen Programm. Sie lernen alle wichtigen Themen wie Vererbung, Objektorientierung, Polymorphie, GUI-Entwicklung und Datenbanken. Kenntnisse in C oder einer anderen Sprache werden nicht vorausgesetzt. Aus dem Inhalt: SprachgrundlagenReferenzen und PointerObjektorientierte ProgrammierungVererbung und PolymorphieModerne Bibliotheken: chrono, random, thread, filesystemArbeiten mit ContainernGUI-Entwicklung mit QtDatenbanken mit SQLite verwalten   Materialien zum Buch ... 17   1.  Eine erste Einführung ... 19        1.1 ... Was machen wir mit C++? ... 19        1.2 ... Was benötige ich zum Programmieren? ... 20        1.3 ... Die Entwicklung von C++ ... 20        1.4 ... So sieht das erste Programm aus ... 21        1.5 ... Kommentieren Sie Ihre Programme ... 22   2.  Arbeiten mit Zahlen und Operatoren ... 25        2.1 ... Wie speichere ich Zahlen? ... 25        2.2 ... Rechnen mit Operatoren ... 27        2.3 ... Fehler suchen ... 29        2.4 ... Wie können Daten eingegeben werden? ... 31        2.5 ... Zahlen formatieren mit Manipulatoren ... 33        2.6 ... Zuweisungen kürzer schreiben ... 34        2.7 ... Übung ... 36        2.8 ... Mehr über die Speicherung von Zahlen ... 37        2.9 ... Feste Werte in Konstanten speichern ... 41        2.10 ... Konstanten in Enumerationen zusammenfassen ... 42        2.11 ... Zahlensysteme ... 43        2.12 ... Initialisierung ... 45        2.13 ... Wie erzeuge ich zufällige Zahlen? ... 47        2.14 ... Übung ... 48   3.  Mehrere Zweige in einem Programm ... 49        3.1 ... Zwei Zweige mit »if« und »else« ... 49        3.2 ... Bedingungen benötigen Vergleiche ... 51        3.3 ... Mehr als zwei Zweige ... 53        3.4 ... Wie kann ich Bedingungen kombinieren? ... 55        3.5 ... Zweige zusammenfassen mit »switch« und »case« ... 57        3.6 ... Was ist mit dem Rest? ... 58        3.7 ... Welcher Operator hat Vorrang? ... 59        3.8 ... Übungen ... 60        3.9 ... Wie speichere ich Wahrheitswerte? ... 63        3.10 ... Die Kurzform: der bedingte Ausdruck ... 65   4.  Teile von Programmen wiederholen ... 67        4.1 ... Regelmäßige Wiederholungen mit »for« ... 67        4.2 ... Wiederholungen für einen Bereich ... 70        4.3 ... Bedingte Wiederholungen mit »do-while« ... 71        4.4 ... Besser vorher prüfen mit »while« ... 72        4.5 ... Wiederholungen abbrechen oder fortsetzen ... 73        4.6 ... Die Wiederholung der Wiederholung ... 75        4.7 ... Übungen ... 76   5.  Programme aufteilen in Funktionen ... 79        5.1 ... So schreibe ich eine eigene Funktion ... 79        5.2 ... Wie übergebe ich Daten? ... 81        5.3 ... Wie erhalte ich ein Ergebnis zurück? ... 87        5.4 ... Mehr Ordnung im Programm ... 88        5.5 ... Statische Variablen behalten ihren Wert ... 90        5.6 ... Fehler suchen ... 91        5.7 ... Übungen ... 92        5.8 ... Standardwerte vorgeben ... 93        5.9 ... Beliebig viele Parameter ... 94        5.10 ... Funktionen mehrfach definieren ... 96        5.11 ... Funktionen, die sich selbst aufrufen ... 98        5.12 ... Anonyme Funktionen ... 99        5.13 ... Funktionen als Parameter ... 105   6.  Große Datenmengen speichern in Feldern ... 109        6.1 ... Wie werden Felder unterschieden? ... 109        6.2 ... Einfache Felder mit fester Größe ... 110        6.3 ... Intelligente Felder mit fester Größe ... 111        6.4 ... Ausnahmen behandeln ... 113        6.5 ... Einfache und intelligente Zeiger ... 115        6.6 ... Intelligente Felder mit variabler Größe ... 122        6.7 ... Felder initialisieren ... 124        6.8 ... Felder als Parameter ... 125        6.9 ... Daten in mehreren Dimensionen speichern ... 127        6.10 ... Übungen ... 131   7.  Arbeiten mit Zeichen und Texten ... 133        7.1 ... Einzelne Zeichen ... 133        7.2 ... Einfache Zeichenketten ... 134        7.3 ... Intelligente Zeichenketten: Strings ... 137        7.4 ... Wie wandle ich Zahlen in Strings um? ... 143        7.5 ... Wie verarbeite ich Eingaben? ... 144        7.6 ... Felder von Zeichenketten ... 147        7.7 ... Suchen und Ersetzen ... 149        7.8 ... Übungen ... 154   8.  Daten in Strukturen zusammenfassen ... 157        8.1 ... Wie speichere ich zusammengehörige Daten? ... 157        8.2 ... Besser einen Typ definieren ... 159        8.3 ... Strukturen und Felder ... 161        8.4 ... Strukturen und Funktionen ... 165        8.5 ... Eine Hierarchie von Strukturen ... 170        8.6 ... Übung ... 172   9.  Vorhandene Funktionen nutzen ... 175        9.1 ... Umgang mit Datum und Uhrzeit ... 175        9.2 ... Bessere zufällige Zahlen ... 181        9.3 ... Mehrere Threads zur gleichen Zeit ... 184        9.4 ... Nützliche mathematische Funktionen ... 193        9.5 ... Übungen ... 202        9.6 ... Rechnen mit komplexen Zahlen ... 203        9.7 ... Daten mit dem Betriebssystem austauschen ... 210        9.8 ... Zugriff auf Dateien und Verzeichnisse ... 219 10.  Eigene Klassen entwerfen ... 237        10.1 ... Klassen umfassen Eigenschaften und Methoden ... 237        10.2 ... Schützen Sie die Daten ... 240        10.3 ... Wie erzeuge und lösche ich Objekte? ... 244        10.4 ... Statische Elemente einer Klasse ... 248        10.5 ... Wie überlade ich Operatoren? ... 252        10.6 ... Objekte und Felder ... 256        10.7 ... Objekte ausgeben ... 260        10.8 ... Eigenschaften können Objekte sein ... 262        10.9 ... Übungen ... 264 11.  Vererbung und Polymorphie ... 269        11.1 ... Basisklasse und abgeleitete Klassen ... 269        11.2 ... Welche Elemente sind an welcher Stelle erreichbar? ... 276        11.3 ... Konstruktoren in abgeleiteten Klassen ... 277        11.4 ... Was bedeutet Polymorphie? ... 281        11.5 ... Erben von mehreren Klassen ... 284 12.  Datenströme verarbeiten ... 289        12.1 ... Sequenzielles Schreiben und Lesen ... 289        12.2 ... Schreiben und Lesen an beliebiger Stelle ... 296        12.3 ... Wie leiten Sie Datenströme? ... 305        12.4 ... Wie ist das CSV-Format zum Austausch aufgebaut? ... 308        12.5 ... Übung ... 315 13.  Container sind vielfältige Datenstrukturen ... 319        13.1 ... Wie durchlaufe ich Container? ... 320        13.2 ... Intelligente Felder mit fester Größe ... 322        13.3 ... Intelligente Felder mit variabler Größe ... 326        13.4 ... Eine Warteschlange mit zwei Enden ... 330        13.5 ... Daten in Listen verketten ... 334        13.6 ... Drei einfache Container ... 344        13.7 ... Zwei nützliche Typen ... 351        13.8 ... Eine Menge von Elementen ... 355        13.9 ... Schlüssel und Werte in einer Map ... 362        13.10 ... Algorithmen für Bereiche ... 369        13.11 ... Mengenlehre ... 374        13.12 ... Eine Menge von Bits ... 378 14.  Mehr zu eigenen Klassen ... 383        14.1 ... Objekte initialisieren, kopieren und erzeugen ... 383        14.2 ... Klassen können Freunde haben ... 386        14.3 ... Namen müssen eindeutig sein ... 389        14.4 ... Fehler behandeln mit Ausnahmen ... 392        14.5 ... Innere Klassen ... 400        14.6 ... Templates sind Vorlagen ... 402 15.  Präprozessor-Anweisungen ... 409        15.1 ... Einbinden von Dateien ... 409        15.2 ... Definitionen und Makros ... 410        15.3 ... Definitionen und Verzweigungen ... 412        15.4 ... Eine Systemweiche ... 414 16.  Grafische Benutzeroberflächen mit der Qt-Bibliothek ... 417        16.1 ... Die erste GUI-Anwendung ... 418        16.2 ... Ein einfacher Kopfrechentrainer ... 429        16.3 ... Ein erweiterter Kopfrechentrainer ... 434        16.4 ... Weitere Widgets ... 441 17.  Datenbanken mit SQLite verwalten ... 449        17.1 ... Der Aufbau einer Datenbank ... 449        17.2 ... Wie erzeuge ich Datenbank und Tabelle? ... 450        17.3 ... Wie speichere ich Daten in einer Tabelle? ... 455        17.4 ... So zeige ich alle Daten einer Tabelle an ... 457        17.5 ... Wie wähle ich bestimmte Daten aus? ... 460        17.6 ... Der Benutzer wählt Daten aus ... 464        17.7 ... Daten sollten sortiert werden ... 465        17.8 ... Wie ändere ich Daten? ... 466        17.9 ... Vorsicht beim Löschen von Daten ... 468        17.10 ... Eine Datenbank mit mehreren Tabellen ... 469        17.11 ... Projekt Vokabeln ... 476        17.12 ... Übung ... 497   Anhang ... 501        A ... Installationen ... 501        B ... Hilfestellungen und Übersichten ... 525   Index ... 531

Regulärer Preis: 19,92 €
Produktbild für Clean Agile. Die Essenz der agilen Softwareentwicklung

Clean Agile. Die Essenz der agilen Softwareentwicklung

* LERNEN SIE AUS UNCLE BOBS JAHRZEHNTELANGER ERFAHRUNG, WORAUF ES BEI DER AGILEN SOFTWAREENTWICKLUNG WIRKLICH ANKOMMT* DIE URSPRÜNGLICHEN AGILEN WERTE UND PRINZIPIEN KURZ UND PRÄGNANT FÜR DEN PRAXISEINSATZ ERLÄUTERT* VON DEN UNTERNEHMERISCHEN ASPEKTEN ÜBER DIE KOMMUNIKATION IM TEAM BIS ZU DEN TECHNISCHEN PRAKTIKEN WIE TEST-DRIVEN DEVELOPMENT (TDD), EINFACHES DESIGN UND PAIR PROGRAMMINGFast 20 Jahre nach der Veröffentlichung des agilen Manifests ruft der legendäre Softwareentwickler Robert C. Martin (»Uncle Bob«) dazu auf, sich wieder auf die ursprünglichen Werte und Prinzipien zurückzubesinnen, die den eigentlichen Kern der agilen Softwareentwicklung ausmachen und die für die Praxis von zentraler Bedeutung sind. Mit Clean Agile lässt er alle an seiner jahrzehntelangen Erfahrung teilhaben und räumt mit Missverständnissen und Fehlinterpretationen auf, die im Laufe der Jahre entstanden sind. Dabei wendet er sich gleichermaßen an Programmierer und Nicht-Programmierer.Uncle Bob macht deutlich, was agile Softwareentwicklung eigentlich ist, war und immer sein sollte: ein einfaches Konzept, das kleinen Softwareteams hilft, kleine Projekte zu managen - denn daraus setzen sich letztendlich alle großen Projekte zusammen. Dabei konzentriert er sich insbesondere auf die Praktiken des Extreme Programmings (XP), ohne sich in technischen Details zu verlieren.Egal, ob Sie Entwickler, Tester, Projektmanager oder Auftraggeber sind - dieses Buch zeigt Ihnen, worauf es bei der Umsetzung agiler Methoden wirklich ankommt.AUS DEM INHALT:* Ursprünge der agilen Softwareentwicklung* Agile Werte und Prinzipien* Der richtige Einsatz von Scrum* Agile Transformation* Extreme Programming* Unternehmensbezogene Praktiken: User Stories, Velocity, kleine Releases und Akzeptanztests* Teambezogene Praktiken: gemeinsame Eigentümerschaft, kontinuierliche Integration und Stand-up-Meetings* Technische Praktiken: TDD, Refactoring, einfaches Design und Pair Programming* Zertifizierung und Coaching* Software CraftsmanshipSTIMMEN ZUM BUCH:»Bobs Frustration spiegelt sich in jedem Satz des Buchs wider - und das zu Recht. Der Zustand, in dem sich die Welt der agilen Softwareentwicklung befindet, ist nichts im Vergleich zu dem, was sie eigentlich sein könnte. Das Buch beschreibt, auf was man sich aus Bobs Sicht konzentrieren sollte, um das zu erreichen, was sein könnte. Und er hat es schon erreicht, deshalb lohnt es sich, ihm zuzuhören.«- Kent Beck»Uncle Bob ist einer der klügsten Menschen, die ich kenne, und seine Begeisterung für Programmierung kennt keine Grenzen. Wenn es jemandem gelingt, agile Softwareentwicklung zu entmystifizieren, dann ihm.«- Jerry FitzpatrickRobert C. Martin (»Uncle Bob«) ist bereits seit 1970 als Programmierer tätig. Neben seiner Beraterfirma Uncle Bob Consulting, LLC gründete er gemeinsam mit seinem Sohn Micah Martin auch das Unternehmen The Clean Coders, LLC. Er hat zahlreiche Artikel in verschiedenen Zeitschriften veröffentlicht und hält regelmäßig Vorträge auf internationalen Konferenzen. Zu seinen bekanntesten Büchern zählen Clean Code, Clean Coder und Clean Architecture.

Regulärer Preis: 14,99 €