Programmierung
Java Übungsbuch (2. Auflage)
Aufgaben mit vollständigen Lösungen für die Versionen Java 8 bis Java 17.Dieses Buch ist kein Lehrbuch, sondern ein reines Übungsbuch und wendet sich an Leser, die ihre Java-Kenntnisse anhand zahlreicher praktischer Übungen durch „Learning by Doing“ vertiefen und festigen möchten. Es ist ideal, um sich auf Prüfungen vorzubereiten oder das Programmieren mit Java praktisch zu üben.Jedes Kapitel beginnt mit einer kompakten Zusammenfassung des Stoffs, der in den Übungsaufgaben dieses Kapitels verwendet wird. Anschließend haben Sie die Möglichkeit, zwischen Aufgaben in drei verschiedenen Schwierigkeitsstufen – von einfach bis anspruchsvoll – zu wählen. Anhand dieser Aufgaben können Sie Ihr Wissen praktisch testen. Am Ende der Kapitel finden Sie vollständige und kommentierte Musterlösungen.Es werden folgende Themen abgedeckt:Die Kapitel 1 bis 3 enthalten Aufgaben zur objektorientierten Programmierung mit Java und die Neuerungen aus den Versionen 8 bis 13, die sich auf die neue Date&Time API, Textblöcke, Compact Strings und die Weiterentwicklung von Interfaces beziehen.In Kapitel 4 geht es im Detail um Generics und das Collection Framework mit all seinen generischen Klassen und Interfaces sowie mit der Definition von Enumerationen. Kapitel 5 erläutert das Exception Handling.Das Kapitel 6 beschäftigt sich mit den neuen Sprachmitteln von Java 8, Lambdas und Streams, sowie mit weiteren Neuerungen aus den Versionen 8 bis 13 wie Switch Expressions und Local Variable Type Inference.Kapitel 7 bietet einen Einblick in die mit Java 9 vorgenommene Modularisierung der Java-Plattform.Kapitel 8 enthält Aufgaben zu den Weiterentwicklungen aus den Versionen 14 bis 17, die sich auf die Java-Programmiersprache beziehen, dazu gehören die Einführung von Records und Sealed Classes sowie das Pattern Matching.Kapitel 9 enthält viele Aufgaben zu Tests mit JUnit 5 und Gradle sowie eine kurze theoretische Einführung in beide Systeme.Nach dem Durcharbeiten des Buches verfügen Sie über fundierte Programmierkenntnisse und einen umfangreichen Fundus an Beispielcode.Aus dem Inhalt:Klassendefinition und ObjektinstanziierungAbgeleitete Klassen und VererbungAbstrakte Klassen und InterfacesDie Definition von AnnotationenInnere KlassenGenerics und ReflectionTypprüfung und Typsicherheit in JavaLambdasMethoden- und Konstruktor-ReferenzenFunktionale InterfacesLocal Variable Type InferenceDefinition und Nutzung von StreamsDas Modulsystem von JavaRecords und Sealed TypesPattern Matching für den instanceof-OperatorPattern Matching für switchTests mit Junit 5 und Gradle
UML 2.5 - Das umfassende Handbuch
Von den Grundlagen bis zum professionellen Einsatz – in unserem Handbuch erfahren Sie alles, was Sie für erfolgreiche Softwaremodellierung mit der UML wissen müssen. Lernen Sie alle Konzepte, Elemente und Diagrammtypen ausführlich kennen und knüpfen Sie anhand von Praxisbeispielen die Verbindung zum Code. Ob Sie etwas nachschlagen oder die UML von Grund auf verstehen möchten, dieses Handbuch bietet Ihnen das gesammelte UML-Wissen im Komplettpaket. Aus dem Inhalt:Grundlagen der UMLDiagrammtypen und NotationselementeDos and Don'ts der SoftwaremodellierungUML mit Java und C#A2-Poster mit DiagrammtypenBeispiele zum DownloadAutoren: Christoph Kecher ist Chief Information Officer (CIO) bei der HSBC Deutschland. Seine Tätigkeitsbereiche umfassen Data Warehouse-Technologien, Java, .NET, UML und Software-Qualitätssicherung. Ralf Hoffmann-Elbern hat schon früh die Softwareentwicklung für sich entdeckt. Nach dem Studium der Physik und einem Ausflug ins Lehramt hat er dieses Hobby zum Beruf gemacht. Torsten T. Will beschäftigte sich schon während seines Diploms in Informatik mit Programmiersprachen und ihren Konzepten. Leseprobe (PDF - Link)
Einstieg in Kotlin - Apps entwickeln mit Android Studio (2. Auflage)
Einfach und strukturiert ohne Vorkenntnisse Kotlin lernen. Mit IntelliJ IDEA lernen Sie die Sprache kennen und steigen dann in die App-Entwicklung mit Android Studio ein – so entwickeln Sie eigene Apps samt Zugriff auf verschiedenste Sensoren, Datenbanken und Multimedia. Kotlin ist Googles bevorzugte Sprache für die App-Entwicklung und zu Recht beliebt: Nicht nur Java-Kenner werden an den modernen Sprach-Features ihre Freude haben. Und für Programmierer ist Kotlin genau das Richtige für den Einstieg in die App-Entwicklung. Aus dem Inhalt:Alle Grundlagen der ProgrammierungIntelliJ IDEA und Android Studio installierenVerzweigungen, Schleifen und Co.Funktionen und funkionale ProgrammierungLayouts und Menüs aufbauenStandard-DialogeSensoren nutzenSystemdienste integrierenSpiele und Trainings entwickelnDatenbanken zur SpeicherungGestensteuerungZugriffsrechte verwaltenAutor: Thomas Theis ist Dipl.-Ing. Technische Informatik. Als Softwareentwickler verfügt er über langjährige Erfahrung, ebenso als IT-Dozent, unter anderem an der Fachhochschule Aachen. Als Kenner vieler verschiedener Programmiersprachen leitet er Seminare zur Programmierung und ist Autor vieler erfolgreicher Fachbücher. Leseprobe (PDF Link)
UML 2.5
Von den Grundlagen bis zum professionellen Einsatz – in unserem Handbuch erfahren Sie alles, was Sie für erfolgreiche Softwaremodellierung mit der UML wissen müssen. Lernen Sie alle Konzepte, Elemente und Diagrammtypen ausführlich kennen und knüpfen Sie anhand von Praxisbeispielen die Verbindung zum Code. Ob Sie etwas nachschlagen oder die UML von Grund auf verstehen möchten, dieses Handbuch bietet Ihnen das gesammelte UML-Wissen im Komplettpaket. Es behandelt den aktuellen Standard UML 2.5 und die Codebeispiele sind in den beiden wichtigsten Sprachen Java und C# verfasst. Aus dem Inhalt: Grundlagen der Softwaremodellierung mit der UML 2.5Alle Diagrammtypen und NotationselementeUML in Projekten einsetzen Implementierungen mit Java oder C#Liste mit den häufigsten Fehlern und Verbesserungsvorschlägen zu jedem DiagrammtypDIN-A2-Poster mit allen DiagrammtypenZum Download auf der Verlagswebsite: Diagramme und Code der gezeigten Beispiele, Übersicht zu UML-Tools und Poster als PDF-Datei Materialien zum Buch ... 13 Vorwort ... 15 1. Einführung ... 19 1.1 ... Weshalb muss Software modelliert werden? ... 19 1.2 ... Die Phasen bei der Softwareentwicklung ... 20 1.3 ... Was ist die UML? ... 22 1.4 ... Die Geschichte der UML ... 23 1.5 ... Von der UML 1.x zur UML 2.5 ... 24 1.6 ... Diagramme der UML 2.5 ... 26 1.7 ... Realisierung in Java und C# ... 33 TEIL I. Strukturdiagramme ... 35 2. Klassendiagramm ... 37 2.1 ... Anwendungsbereiche ... 37 2.2 ... Übersicht ... 38 2.3 ... Notationselemente ... 39 2.4 ... Lesen eines Klassendiagramms ... 111 2.5 ... Irrungen und Wirrungen ... 114 2.6 ... Zusammenfassung ... 116 3. Objektdiagramm ... 121 3.1 ... Anwendungsbereiche ... 121 3.2 ... Übersicht ... 121 3.3 ... Notationselemente ... 122 3.4 ... Lesen eines Objektdiagramms ... 130 3.5 ... Irrungen und Wirrungen ... 131 3.6 ... Zusammenfassung ... 133 4. Kompositionsstrukturdiagramm ... 135 4.1 ... Anwendungsbereiche ... 135 4.2 ... Übersicht ... 135 4.3 ... Notationselemente ... 136 4.4 ... Lesen eines Kompositionsstrukturdiagramms ... 151 4.5 ... Irrungen und Wirrungen ... 152 4.6 ... Zusammenfassung ... 153 5. Komponentendiagramm ... 155 5.1 ... Anwendungsbereiche ... 155 5.2 ... Überblick ... 155 5.3 ... Notationselemente ... 156 5.4 ... Lesen eines Komponentendiagramms ... 166 5.5 ... Irrungen und Wirrungen ... 167 5.6 ... Zusammenfassung ... 169 6. Verteilungsdiagramm ... 171 6.1 ... Anwendungsbereiche ... 171 6.2 ... Übersicht ... 171 6.3 ... Notationselemente ... 172 6.4 ... Lesen eines Verteilungsdiagramms ... 178 6.5 ... Irrungen und Wirrungen ... 179 6.6 ... Zusammenfassung ... 181 7. Paketdiagramm ... 183 7.1 ... Anwendungsbereiche ... 183 7.2 ... Übersicht ... 183 7.3 ... Notationselemente ... 184 7.4 ... Lesen eines Paketdiagramms ... 201 7.5 ... Irrungen und Wirrungen ... 203 7.6 ... Zusammenfassung ... 204 TEIL II. Verhaltensdiagramme ... 207 8. Anwendungsfalldiagramm ... 209 8.1 ... Anwendungsbereiche ... 209 8.2 ... Übersicht ... 210 8.3 ... Notationselemente ... 210 8.4 ... Lesen eines Anwendungsfalldiagramms ... 219 8.5 ... Irrungen und Wirrungen ... 221 8.6 ... Zusammenfassung ... 222 9. Aktivitätsdiagramm ... 225 9.1 ... Anwendungsbereiche ... 225 9.2 ... Übersicht ... 226 9.3 ... Notationselemente ... 228 9.4 ... Lesen eines Aktivitätsdiagramms ... 295 9.5 ... Irrungen und Wirrungen ... 297 9.6 ... Zusammenfassung ... 299 10. Zustandsdiagramm ... 303 10.1 ... Anwendungsbereiche ... 303 10.2 ... Übersicht ... 304 10.3 ... Notationselemente ... 305 10.4 ... Lesen eines Zustandsdiagramms ... 341 10.5 ... Irrungen und Wirrungen ... 343 10.6 ... Zusammenfassung ... 345 TEIL III. Interaktionsdiagramme ... 349 11. Sequenzdiagramm ... 351 11.1 ... Anwendungsbereiche ... 351 11.2 ... Übersicht ... 352 11.3 ... Notationselemente ... 353 11.4 ... Lesen eines Sequenzdiagramms ... 384 11.5 ... Irrungen und Wirrungen ... 386 11.6 ... Zusammenfassung ... 388 12. Kommunikationsdiagramm ... 393 12.1 ... Anwendungsbereiche ... 393 12.2 ... Übersicht ... 393 12.3 ... Notationselemente ... 394 12.4 ... Lesen eines Kommunikationsdiagramms ... 399 12.5 ... Irrungen und Wirrungen ... 400 12.6 ... Zusammenfassung ... 401 13. Timing-Diagramm ... 403 13.1 ... Anwendungsbereiche ... 403 13.2 ... Übersicht ... 403 13.3 ... Notationselemente ... 404 13.4 ... Lesen eines Timing-Diagramms ... 412 13.5 ... Irrungen und Wirrungen ... 413 13.6 ... Zusammenfassung ... 415 14. Interaktionsübersichtsdiagramm ... 417 14.1 ... Anwendungsbereiche ... 417 14.2 ... Übersicht ... 417 14.3 ... Notationselemente ... 419 14.4 ... Lesen eines Interaktionsübersichtsdiagramms ... 421 14.5 ... Irrungen und Wirrungen ... 423 14.6 ... Zusammenfassung ... 424 TEIL IV. Metamodellierung ... 427 15. Profildiagramm ... 429 15.1 ... Anwendungsbereiche ... 429 15.2 ... Übersicht ... 430 15.3 ... Notationselemente ... 431 15.4 ... Lesen eines Profildiagramms ... 439 15.5 ... Irrungen und Wirrungen ... 441 15.6 ... Zusammenfassung ... 442 Index ... 445
Einstieg in Kotlin
Einfach und strukturiert ohne Vorkenntnisse Kotlin lernen. Alle wichtigen Sprachfeatures Schritt für Schritt erklärt – so entwickeln Sie eigene Apps samt Zugriff auf verschiedenste Sensoren, Datenbanken und Multimedia. Kotlin ist zu Recht beliebt: Nicht nur Java-Kenner werden an Nullsicherheit und Co. ihre Freude haben. Und für Programmierer ist Kotlin genau das richtige für den Einstieg in die App-Entwicklung.Aus dem Inhalt:• Android Studio installieren• Befehle, Schleifen und Co.• Layouts und Menüs aufbauen• Fehler finden und beheben• Eigene Dialoge• Nullsicherheit• Sensoren und Systemdienste auslesen: Lage, Beschleunigung, Standort u.v.m.• Ein Spiel entwickeln• Erweiterungsfunktionen• Gestensteuerung• Zugriffsrechte verwalten
Optimizing Visual Studio Code for Python Development
Learn Visual Studio Code and implement its features in Python coding, debugging, linting, and overall project management. This book addresses custom scenarios for writing programs in Python frameworks, such as Django and Flask.The book starts with an introduction to Visual Studio Code followed by code editing in Python. Here, you will learn about the required extensions of Visual Studio Code to perform various functions such as linting and debugging in Python. Next, you will set up the environment and run your projects along with the support for Jupyter. You will also work with Python frameworks such as Django and go through data science specific-information and tutorials. Finally, you will learn how to integrate Azure for Python and how to use containers in Visual Studio Code.Optimizing Visual Studio Code for Python Development is your ticket to writing Python scripts with this versatile code editor.WHAT YOU'LL LEARN* Execute Flask development in Visual Studio Code for control over libraries used in an application* Optimize Visual Studio Code to code faster and better* Understand linting and debugging Python code in Visual Studio Code* Work with Jupyter Notebooks in Visual Studio CodeWHO THIS BOOK IS FORPython developers, beginners, and experts looking to master Visual Studio CodeSufyan bin Uzayr is a web developer with over 10 years of experience in the industry. He specializes in a wide variety of technologies, including JavaScript, WordPress, Drupal, PHP, and UNIX/Linux shell and server management, and is the author of four previous books. Sufyan is the Director of Parakozm, Kazakistan a design and development consultancy firm that offers customized solutions to a global clientele. He is also the CTO at Samurai Servers, a server management and security company catering mainly to enterprise-scale audience. He takes a keen interest in technology, politics, literature, history and sports, and in his spare time he enjoys teaching coding and English to students.OPTIMIZING VISUAL STUDIO CODE FOR PYTHON DEVELOPMENTCHAPTER ONE – INTRODUCTION TO VISUAL STUDIO CODEo Basic introduction to Visual Studio CodeCHAPTER TWO – GETTING STARTED WITH PYTHON PROGRAMS IN VS CODEo Getting started with code editingo Required extensionso Lintingo DebuggingCHAPTER THREE – SETTING UP THE ENVIRONMENT AND TESTINGo Setting up your environmento Running your projectso Support for JupyterCHAPTER FOUR – WORKING WITH PYTHON FRAMEWORKSo Django Developmento Flask Developmento Data Science specific information and tutorialsCHAPTER FIVE – WORKING WITH CONTAINERS AND MS AZUREo Integrating Azure for your Python projectso Using containers in VS Codeo Conclusion
LEGO®-Roboter bauen, steuern und programmieren mit Raspberry Pi und Python
* BAU- UND PROGRAMMIERANLEITUNGEN FÜR MEHR ALS 10 SPANNENDE ROBOTER-PROJEKTE* LABYRINTHE LÖSEN, PAPPKARTEN PER BILDERKENNUNG ABSCHIEẞEN, FORMEN MIT EINEM NEURONALEN NETZ ERKENNEN U.V.M.* PROGRAMMCODE UND BAUANLEITUNGEN FÜR ALLE ROBOTER ZUM DOWNLOADLEGO®-Steine - sei es als selbstgebaute LEGO®-Fahrzeuge, -Roboter oder als LEGO®-Fertigmodelle - lassen sich hervorragend mit Elektronikkomponenten zum Leben erwecken und programmieren. Hierfür ist der Mikrocontroller Raspberry Pi besonders gut geeignet. Anhand konkreter Projekte zeigt Ihnen der Autor, wie Sie Sensoren und Motoren von LEGO® sowie weitere Elektronikkomponenten mit dem Raspberry Pi verbinden und Ihre Roboter programmieren. Durch den Einsatz der Programmiersprache Python können die Roboter einfache und komplexe Aufgaben lösen bis hin zu Linienverfolgung mit einem neuronalen Netz oder Bilderkennung.Im ersten Teil des Buches erhalten Sie eine kurze Einführung in den Mikrocontroller Raspberry Pi sowie den BrickPi, der für die Verbindung von LEGO®-Sensoren mit dem Raspberry Pi benötigt wird. Außerdem vermittelt der Autor die Grundlagen zu allen Elektronikkomponenten, mit denen Sie Ihre LEGO®-Modelle oder -Roboter ausstatten können. Dazu zählen unter anderem mittlere und große LEGO®-Motoren sowie folgende Komponenten: Color-Sensor, Touch-Sensor und Infrarot-Sensor von LEGO®, Kompass-Sensor und Gyro-Sensor von Hitechnic, Raspberry-Pi-Kamera, Fototransistor, LEDs und Motoren.Im zweiten Teil des Buches finden Sie eine kurze Einführung in die Grundlagen der Programmierung mit Python, gefolgt von einem umfangreichen Projektteil mit 11 spannenden Robotern, die diverse Aufgaben lösen, wie zum Beispiel:* Gegenstände erkennen und diesen ausweichen* Lösen eines Labyrinths mithilfe von künstlicher Intelligenz* Linienverfolgung und Formen erkennen mit einem neuronalen Netz* Pappkarten abschießen per Bilderkennung* Sammeln farbiger Joghurtbecher* Texte morsen inkl. Anleitung zum Basteln eines eigenen Touch-SensorsBei allen Projekten erläutert der Autor sowohl den Bau der Roboter als auch die entsprechende Programmierung.HARDWARE:Für die Projekte im Buch werden sowohl die LEGO®-eigenen Komponenten als auch günstige handelsübliche Motoren und Sensoren eingesetzt. Sie können einen eigenen Roboter bauen, die LEGO®-Roboter im Buch nachbauen oder als Grundlage ein LEGO®-Fertigmodell verwenden. Für alle im Buch verwendeten LEGO®-Roboter gibt es die Bauanleitungen zum kostenlosen Download.Thomas Kaffka hat als Softwareingenieur sowie Projektleiter in Softwarehäusern und Wirtschaftsprüfungs- und Beratungsgesellschaften gearbeitet. Er ist ein echter Maker und beschäftigt sich mit verschiedenen Themen wie etwa dem Bau von LEGO®-Robotern, der Künstlicher Intelligenzforschung sowie dem 3D-Druck.
Cryptography and Cryptanalysis in MATLAB
Master the essentials of cryptography and cryptanalysis and learn how to put them to practical use. Each chapter of this book starts with an introduction to the concepts on which cryptographic algorithms are based and how they are used in practice, providing fully working examples for each of the algorithms presented. Implementation sections will guide you through the entire process of writing your own applications and programs using MATLAB.Cryptography and Cryptanalysis in MATLAB will serve as your definitive go-to cryptography reference, whether you are a student, professional developer, or researcher, showing how a multitude of cryptographic challenges can be overcome using the powerful tools of MATLAB.WHAT YOU WILL LEARN* Discover MATLAB’s cryptography functions* Work with conversion mechanisms in MATLABImplement cryptographic algorithms using arithmetic operations * Understand the classical, simple cryptosystems that form the basis of modern cryptography* Develop fully working solutions (encryption/decryption operations)* Study pseudo-random generators and their real-life implementations* Utilize hash functions by way of practical examples* Implement solutions to defend against practical cryptanalysis methods and attacks* Understand asymmetric and symmetric encryption systems and how to use themLeverage visual cryptography, steganography, and chaos-based cryptographyWHO THIS BOOK IS FORThose who are new to cryptography/analysis. Some prior exposure to MATLAB recommended.MARIUS IULIAN MIHAILESCU, PHD is CEO at Dapyx Solution Ltd., a company based in Bucharest, Romania and involved in information security- and cryptography-related research projects. He is a lead guest editor for applied cryptography journals and a reviewer for multiple publications with information security and cryptography profiles. He authored and co-authored more than 30 articles in conference proceedings, 25 articles in journals, and three books. For more than six years he has served as a lecturer at well-known national and international universities (University of Bucharest, “Titu Maiorescu” University, Kadir Has University in, Istanbul, Turkey). He has taught courses on programming languages (C#, Java, C++, Haskell), and object-oriented system analysis and design with UML, graphs, databases, cryptography and information security. He served for three years as IT Officer at Royal Caribbean Cruises Ltd. where he dealt with IT infrastructures, data security, and satellite communications systems. He received his PhD in 2014 and his thesis was on applied cryptography over biometrics data. He holds two MSc in information security and software engineering.STEFANIA LOREDANA NITA, PHD is a software developer at the Institute of Computer Science of the Romanian Academy and a Fellow PhD with her thesis on advanced cryptographic schemes using searchable encryption and homomorphic encryption. She has served more than two years as an assistant lecturer at the University of Bucharest where she taught courses on subjects such as advanced programming techniques, simulation methods, and operating systems. She has authored and co-authored more than 15 workpapers at conferences and journals, and has authored two books on he Haskell programming language. She is a lead guest editor for special issues on information security and cryptography such as Advanced Cryptography and Its Future: Searchable and Homomorphic Encryption. She holds an MSc in software engineering and two BSc in computer science and mathematics.NEW ToCChapter 01 – IntroductionChapter 02 – MATLAB Cryptography FunctionsChapter 03 – Conversions used in CryptographyChapter 04 – Basic Arithmetic FoundationsChapter 05 – Number TheoryChapter 06 – Classical Cryptography6.1. Caesar Cipher6.2. VigenereChapter 07 – Pseudo Random GeneratorsChapter 08 – Hash FunctionsChapter 09 – Formal Techniques for CryptographyChapter 10 – Symmetric Encryption Schemes10.1. Case Study: The Data Encryption Standard (DES)10.2. Advanced Encryption Standard (AES)Chapter 11 – Asymmetric Encryption Schemes11.1. RSA11.2. El Gamal11.3. Knapsack11.4. Merkle-HellmanChapter 12 – Visual CryptographyChapter 13 – SteganographyChapter 14 – Chaos-based CryptographyPART 1 - FOUNDATIONS.1. Cryptography Fundamentals2. Mathematical Background and Its Applicability3. Large Integer Arithmetic4. Floating-point Arithmetic5. New Features in MATLAB 106. Secure Coding Guidelines7. Cryptography Libraries in MATLABPART 2 – PRO CRYPTOGRAPHY.8. Elliptic-curve Cryptography and Public Key Algorithms9. Lattice-based Cryptography10. Searchable Encryption11. Homomorphic Encryption12. Learning with Errors and Ring Learning with Errors Cryptography13. Chaos-based Cryptography14. Big Data Cryptography15. Cloud Computing Cryptography.PART 3 – PRO CRYPTANALYSIS16. Introduction to Cryptanalysis17. General notions for Conducting Cryptanalysis Attacks18. Linear and Differential Cryptanalysis19. Integral Cryptanalysis20. Attacks21. Text Characterization22. Basic Implementations of Cryptanalysis Methods.
Basic Python for Data Management, Finance, and Marketing
Learn how to gather, manipulate, and analyze data with Python. This book is a practical guide to help you get started with Python from ground zero and to the point where you can use coding for everyday tasks.Python, the most in-demand skill by employers, can be learned in a matter of months and a working knowledge will help you to advance your career. This book will teach you to crunch numbers, analyze big-data, and switch from spreadsheets to a faster and more efficient programming language. You'll benefit from the numerous real-life examples designed to meet current world challenges and from step-by-step guidance to become a confident Python user.Python is used in all aspects of financial industry, from algo trading, reporting and risk management to building valuations models and predictive machine learning programs. Basic Python for Data Management, Finance, and Marketing highlights how this language has become a useful skill with digital marketers, allowing them to analyze data more precisely and run more successful campaigns.WHAT YOU'LL LEARN* Get started with Python from square one* Extend what's possible on excel with Python* Automate tasks with Python* Analyze data more preciselyWHO THIS BOOK IS FORProfessionals who want to find a job in the modern world or advance their careers within field of Python programming language.Art Yudin is a FinTech enthusiast who has a great passion for coding and teaching. He earned a Master of Science in Banking and Finance from Adelphi University, Garden City, New York.Mr. Yudin previously held asset management positions with international financial institutions such as Merrill Lynch and Allianz Investments. Currently, Art Yudin develops FinTech software for well known financial giants. Art Yudin has founded Practical Programming in New York. Practical Programing is a Python bootcamp. Art leads classes and workshops in Python at Practical Programming in New York and Chicago.BASIC PYTHON FOR DATA MANAGEMENT, FINANCE, AND MARKETING1. Getting started with Python- Variables and numeric data types- Python containers to hold our data- Definite loops- Building a mortgage calculator2. Writing your own Python scripts- Custom functions- Indefinite loops- Immutable containers - tuples- Pseudo code to problem solving3. Extending Excel with Python- Dictionaries- Reading and writing csv files with Python- CSV and Urllib modules4. Data Analysis with NumPy and Pandas- NumPy as an extension of Python- Series and DataFrame- Manipulate and plot data with Pandas5. Solving common problems with Pandas- Concatinate and merge datasets- Group by keys- How to use logic in Pandas6. Gathering data with Python- Web Scraping with Python- Reading PDF files with Python- Cleaning data- Storing data7. Building predictive models- User authentication- Linear reression- K-nearest- CART – decision tree- Matplotlib to plot data8. Automating tasks with Python- Sending emails- Deploying your script to a server- Running tasks at specific time
Programming Basics
Explore the basics of the three most popular programming languages: C#, Java, and Python and see what it's like to function in today's world from the perspective of a programmer. This book's uses is highly practical approach with numerous code listings aimed at bringing generations together through the intricacies of technology.You'll learn how understanding the basics of coding benefits non-programmers working with software developers. Those in the gaming/media industry will also benefit from understanding a programmer's point of view. The same applies to software testers and even company executives, who might have an education in business instead of computer science.WHAT YOU'LL LEARN* Think and read code-listings like a programmer* Gain a basic working proficiency in three popular programming languages* Communicate more efficiently with programmers of all experience levels in a work-based environment* Review advanced OOP concepts such as exceptions and error handling* Set up your programming environments for Windows, MacOS, and LinuxWHO THIS BOOK IS FORThose looking to discover programming, including beginners in all fields, and professionals looking to understand how code works.Robert Ciesla is an author and filmmaker from Helsinki, Finland. He is also a freelance-programmer working mostly in the indie game scene. He is the author of Encryption for Organizations and Individuals (2020), Game Development with Ren'Py (2019) and Mostly Codeless Game Development (2017).Chapter 1. Why kids love to code (and you will too)* Motivation for and the benefits of programming* The basic hardware components of a computerChapter 2. What is programming? (and what does it take)* Basic programming concepts explained with some specifics for C#, Java, and Python* What an integrated development environment (IDE) refers to* The gist of variables, variable manipulation, and flow control logicChapter 3. Setting up your programming environments for Windows, MacOS, and LinuxChapter 4. Object-Oriented Programming (OOP)* The object-oriented programming paradigm explained in detail* The basics of UMLChapter 5. File Operations, Multithreading, and Other Wonders of Java* Small tutorials for the language demonstrating the more advanced mechanics of the languageChapter 6. And now for something completely different: Python* More Python techniques (file operations etc.)Chapter 7. C#: A jack of most programming tasks* Deploying C# for desktop, online, and mobile platformsChapter 8. Advanced OOP Techniques* Advanced OOP concepts: exceptions, error handling, etc.Chapter 9. Unified Modeling Language (UML)* Detailed techniques (class relationships and multiplicity, etc.)* Software tools for modeling in UML
Programmieren mit LEGO® MIND-STORMS® 51515 und SPIKE® Prime
Scratch und Python mit der neuen LEGO-Roboter-Generation* Programmieren lernen leicht gemacht: Steuerungsbefehle schreiben und real mit LEGO-Robotern ausführen* Beispiele in Scratch und Python * für die neue LEGO-Mindstorms-Generation "Robot Inventor" und den kompatible Spike PrimeProgrammieren lernen muss nicht theoretisch sein: Zusammen mit den LEGO-Modellreihen Mindstorms Robot Inventor 51515 oder dem kompatiblen Spike Prime können Sie Ihre Programmzeilen direkt mit selbstgebauten Modellen ausprobieren. Die Code-Beispielen in diesem Buch erklären Schritt für Schritt, was gutes und effizientes Programmieren ausmacht. Die direkte Ausführung mit einem Roboter macht mehr Spaß als Befehlebüffeln und führt auf praktische Weise zum Lernerfolg.Das Buch bietet einen methodisch sinnvollen Weg, die zwei Sprachen zu erlernen, die LEGO für die Modellreihen vorsieht. Leserinnen und Leser können die Lösungen zu Programmier-Aufgabenstellungen jeweils in beiden Sprachen verfolgen und lernen dabei ihre Unterschiede und Stärken kennen:- Scratch, das mit grafischen Textblöcken arbeitet, eignet sich besonders gut für Einsteigerinnen und Einsteiger.- Python dient als einfacher Zugang zur textbasierten Programmierung und ermöglicht auch komplizierte Abläufe.- Experimente und intuitives Lernen mit dem exklusiven Beispielroboter, der aus Teilen der Sets gebaut werden kann.Das Robotermodell lässt sich aus Teilen des Sets LEGO Mindstorms Robot Inventor 51515 bzw. demLEGO-Education-Spike-Prime-Set 45678 aufbauen.Alexander Schulze blickt auf eine 35-jährige Erfahrung im Umgang mit Computern und Programmierung zurück und hat sein Hobby nach dem Studium der Technischen Informatik (Berufsakademie) zum Beruf gemacht. Mit mehr als 20 Jahren Erfahrung in der Java-Programmierung arbeitet er als Senior-IT-Architekt in Projekten für Großkunden.Seine LEGO-begeisterten Kinder haben ihn zu LEGO Mindstorms geführt und die Leidenschaft für die Programmierung von Robotern entfacht.Verschiedene Workshops an einer Grundschule sowie die Unterstützung der Robotik-AG an einem Gymnasium im Unterallgäu legten den Grundstein für das Buch "LEGO Mindstorms programmieren – Robotikprogrammierung mit grafischen Blöcken, Basic und Java für LEGO EV3" für den LEGO Mindstorms EV3 und für dieses Buch. Dabei stand von Beginn an die Teilnahme an verschiedenen Wettbewerben mit den Schülern im Vordergrund, um mit ihnen auf ein konkretes Ziel hinzuarbeiten.
Einfach Java
Java lernen – von Anfang an wie ein Experte* Grundlagen der Java-Programmierung leicht und verständlich* Java interaktiv im Selbststudium* Aufgaben und Musterlösungen, Code zum DownloadSie wollen endlich Programmieren lernen und ihre ersten Projekte umsetzen? Dazu bietet sich Java als eine der populärsten Programmiersprachen geradezu an. Dieses Buch erleichtert Ihnen den Einstieg, denn Sie werden auf Ihrer Entdeckungsreise vom Java-Experten Michael Inden begleitet. Er erklärt Ihnen die Grundlagen der Java-Programmierung leicht und verständlich. Insbesondere wird die trockene Theorie auf ein Minimum reduziert und Sie legen immer mit kleinen Beispielen los.Eine große Rolle dabei spielt der interaktive Einstieg mithilfe der JShell. Damit können kleine Programme direkt ausprobiert werden und Erfolgserlebnisse stellen sich schnell ein. Dieses Vorgehen eignet sich ideal, um im eigenen Tempo Java im Selbststudium zu erlernen. Allmählich werden sowohl die Themen anspruchsvoller als auch die zu erstellenden Programme größer. Als Hilfsmittel lernen Sie dann den Einsatz einer Entwicklungsumgebung sowie der objektorientierten Programmierung kennen. Mit den erlernten Grundlagen können Sie sich immer zielsicherer mit eigenen Projekten beschäftigen.Das Buch besteht aus in sich abgeschlossenen, aber aufeinander aufbauenden Kapiteln zu den wichtigen Bereichen der Programmiersprache Java. Jedes Kapitel beschreibt die für den Einstieg wichtigen Sprachelemente.Abgerundet werden viele Kapitel mit Aufgaben und Musterlösungen, sodass das zuvor Gelernte direkt anhand neuer Problemstellungen praktiziert und das Wissen vertieft werden kann. Auch lassen sich die eigenen Fortschritte abschätzen und gegebenenfalls eine Ehrenrunde zur Vertiefung des Wissens einlegen.Zahlreiche kurze Codebeispiele verdeutlichen die Lerninhalte und laden oftmals zum Experimentieren ein. Gleich von Anfang an lernen Sie, ihren Sourcecode sauber zu strukturieren und einen guten Stil zu verfolgen.Dipl.-Inform. Michael Inden ist Oracle-zertifizierter Java-Entwickler. Nach seinem Studium in Oldenburg hat er bei diversen internationalen Firmen in verschiedenen Rollen etwa als Softwareentwickler, -architekt, Consultant, Teamleiter, CTO sowie Leiter Academy gearbeitet. Zurzeit ist er freiberuflich als Autor und Trainer 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 sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der JAX/W-JAX, JAX London, Oracle Code One, ch.open sowie bei der Java User Group Switzerland.
Besser coden (2. Auflg.)
Best Practices für Clean Code, der beste Weg zu gutem Code. In aktualisierter und erweiterter 2. Auflage August 2021. Guter Code ist essenziell für gute Software. Die Hürden bei der Programmierung sind aber oft vielfältig: Code glänzt mit schlechter Testbarkeit oder die Wartung lässt das Budget komplett aus dem Rahmen laufen. Punkten Sie mit besserem Code: performant, verständlich, wartbar. Uwe Post hat bereits einige Bugs in seinem Trophäenschrank. Mit einer ordentlichen Prise Humor und viel Projekterfahrung zeigt er, worauf es bei erfolgreichen Software-Projekten wirklich ankommt. In seinem Buch bietet er zeitlose Best Practices und aktuelle Tipps aus seinem Erfahrungsschatz. Seine Insider-Tipps und Anekdoten aus der Softwareentwicklung helfen Ihnen, stetig an der Qualität Ihres Codes zu arbeiten. Sie werden sehen: Clean Code geht jeden an, der besser programmieren möchte, ob in Java, C++ oder Python.Aus dem Inhalt:EntwurfsmusterReibungsloses TeamworkAktuelle Sicherheitsprobleme und was Sie damit zu tun habenTest Driven DevelopmentLegacy-Code und RefactoringQuizfragenDer Umgang mit den lieben KollegenDeadlocksContinuous IntegrationAutor: Uwe Post, Jahrgang 1968, ist Chefentwickler einer Firma, die Apps herstellt, hält Schulungen und berät Entwicklungsteams. Er schreibt neben IT-Büchern auch Science Fiction – davon sogar deutlich mehr. Sein Roman »Walpar Tonnraffir und der Zeigefinger Gottes«, gewann den Kurd-Laßwitz-Preis und den Deutschen Science-Fiction-Preis. Post lebt mit Frau und Tochter am südlichen Rand des Ruhrgebiets. Unter www.besser-coden.de geht er nicht nur auf Quellcode-Höllen ein, die er selbst er- und überlebt hat, sondern auch auf aktuelle Sicherheitsthemen und wie sie mit der Codequalität zusammenhängen. InhaltsverzeichnisLeseprobe (PDF-Link)
Introductory Guideline for Using Twilio Programmable Messaging and Programmable Voice Services
Twilio.com is an American cloud communications platform. Twilio allows software developers to programmatically make and receive phone calls, send and receive text messages, and perform other communication functions using its web service APIs.Twilio uses Amazon Web Services to host telephony infrastructure and provide connectivity between HTTP and the public switched telephone network (PSTN) through its APIsTwilio has very complicated system to understand and use. Its services mainly provided for qualified software developers. But in this report, I will provide introductory guideline for using the Twilio Programmable Messages and Programmable Voices services for simple use without the need to have deep knowledge in Programming. The report consists from the following sections:1.Opening a Twilio Account and get a Twilio Trial Number2.Upgrading the Twilio account 3.Twilio guideline for sending and receiving SMS 4.TwiML for Programmable SMS 5.TwiML for Programmable Voice 6.Basic steps to build Programmable Voice7.Using TwiML Bins functions8.Xampp and Ngrok web server setup for Twilio development 9.Sending messages from the dashboard of the Twilio account 10.Auto Dialer for Twilio Platform11.Summary of testing Programmable Voice using different options12.Summary of testing Programmable Messaging through different options13.Creating free website to save the files on it14.Making voice call using Twilio in browserI am Dr. Hidaia Mahmoud Mohamed Alassouli. I completed my PhD degree in Electrical Engineering from Czech Technical University by February 2003, and my M. Sc. degree in Electrical Engineering from Bahrain University by June 1995. I completed also one study year of most important courses in telecommunication and computer engineering courses in Islamic university in Gaza. So, I covered most important subjects in Electrical Engineering, Computer Engineering and Telecommunications Engineering during my study. My nationality is Palestinian from gaza strip.I obtained a lot of certified courses in MCSE, SPSS, Cisco (CCNA), A+, Linux.I worked as Electrical, Telecommunicating and Computer Engineer in a lot of institutions. I worked also as a computer networking administrator. I had considerable undergraduate teaching experience in several types of courses in many universities. I handled teaching the most important subjects in Electrical and Telecommunication and Computer Engineering. I could publish a lot of papers a top-tier journals and conference proceedings, besides I published a lot of books in Publishing and Distribution houses.I wrote a lot of important Arabic articles on online news websites. I also have my own magazine website that I publish on it all my articles: http:// www.anticorruption.000space.comMy personal website: www.hidaia-alassouli.000space.comEmail: hidaia_alassouli@hotmail.com
Continuous Integration mit Jenkins
Moderne Softwareentwicklung braucht mehr als nur guten Code und starken Kaffee. Ohne passende Deployment-Strategien und eine saubere Release-Verwaltung laufen selbst kleine Projekte schnell aus dem Ruder und werden unbeherrschbar. Dieses Praxisbuch gibt Ihnen einen Überblick über eine zeitgemäße CI-Pipeline aus Git, Jenkins und Nexus. So erfahren Sie, was für erfolgreiche Software-Projekte essenziell ist: gutes Source Control Management, flächendeckende Softwaretests mit einer sinnvollen Qualitätskontrolle und ein sauber organisiertes Deployment. Marco Schulz gibt Ihnen seine Erfahrung aus zahlreichen internationalen IT-Projekten weiter und hält eine Menge Tipps und Überlegungen zu gutem Software Engineering für Sie parat. Aus dem InhaltThe Big Picture: DevOps und die SoftwareentwicklungSoftware testen: Test Driven Development, Unit- und IntegrationstestsAgiles Release Management: Sprints vs ReleaseDeployment-StrategienSource Control ManagementJenkins einrichten und betreibenBuild ManagementBuild Jobs schreiben und optimierenJenkins Pipelines mit Blue OceanQualitätskontrolle mit SonarQubeRepository Management mit NexusAutor:Autor: Marco Schulz studierte an der HS Merseburg Informatik und twittert regelmäßig als @ElmarDott über technische Themen. Seine Schwerpunkte sind Build- und Konfigurationsmanagement, Software-Architekturen und Release Management. Seit über fünfzehn Jahren realisiert er anspruchsvolle Entwicklungsprojekten für namhafte Unternehmen aus aller Welt und arbeitet als unabhängiger Consultant/Trainer. Sein Wissen teilt er mit anderen Technikbegeisterten auf Konferenzen, wenn er nicht gerade wieder einmal an einem neuen Fachbeitrag schreibt.
Daten- und Prozessanalyse für Fachinformatiker*innen
Ideal für Aus- und Weiterbildung Big Data, Machine Learning und künstliche Intelligenz sind aktuell wohl die am schnellsten wachsenden Teilgebiete der Informatik. Nicht umsonst wurde daher 2020 der neue Fachinformatik-Ausbildungsgang Daten- und Prozessanalyse eingeführt. Worauf es dabei ankommt, zeigt dieses neue Lehr- und Praxisbuch. Auszubildende dieser Fachrichtung finden hier alle nötigen mathematischen Grundlagen, eine Einführung in die Python-Programmierung, Algorithmen und insbesondere Machine-Learning-Verfahren sowie in die Geschäftsprozessanalyse. Für alle Themen kommen praxiserprobte Sprachen, Tools und Bibliotheken zum Einsatz. Inkl. zahlreicher Übungsaufgaben. Arbeitsoberfläche, Navigation und ObjekteModelling und SculptingShading, Texturing und MappingLichtquellen, Kameras und TrackingAnimationen mit Keyframes, Pfaden und DrivernPartikelsysteme, Haare und KollisionenRauch, Feuer und FlüssigkeitenDie neuen Geometry Nodes2D-Animationen mit Grease PencilRendering mit Eevee und CyclesCompositing, Schnitt und TonImport und ExportAutor: Sascha Kersken arbeitet seit vielen Jahren als Softwareentwickler sowie als Trainer für EDV-Schulungen in den Themengebieten Netzwerke und Internet, interaktive Medien und Programmierung. Er hat zahlreiche Fachbücher und Artikel zu verschiedenen IT-Themen geschrieben.Leseprobe (PDF-Link)
Besser coden
Guter Code ist essenziell für gute Software. Und die Schwierigkeiten sind vielfältig: Code glänzt mit schlechter Testbarkeit oder die Wartung lässt das Budget komplett aus dem Rahmen laufen. Uwe Post packt die Praxisprobleme mit zeitlosen Best Practices und aktuellen Tipps aus seinem Erfahrungsschatz an. Punkten Sie mit besserem Code: performant, verständlich, wartbar. Uwe Post hat bereits einige Bugs in seinem Trophäenschrank. Mit einer ordentlichen Prise Humor und viel Projekterfahrung zeigt er, worauf es bei erfolgreichen Software-Projekten wirklich ankommt. Seine Insider-Tipps und Anekdoten aus der Softwareentwicklung helfen Ihnen, stetig an der Qualität Ihres Codes zu arbeiten. Sie werden sehen: Clean Code geht jeden an, der besser programmieren möchte, ob in Java, C++ oder Python. Aus dem Inhalt: GrundregelnCode ReviewTest Driven DesignContinuous IntegrationReibungsloses TeamworkAutomatisierte Build- und VersionskontrollsystemeEntwurfsmusterAutomatisierte UI-TestsDependency InjectionISO 25010Build ToolsUmgang mit Legacy Code 1. Verhindern Sie den Weltuntergang! ... 13 1.1 ... Vorwort ... 13 1.2 ... Schöne neue Welt ... 14 1.3 ... Was läuft falsch? ... 16 1.4 ... Weltuntergang verhindern - aber wie? ... 17 2. Konventionen ... 21 2.1 ... Vereinbarungen im Team ... 21 2.2 ... Wenn die Variable »a« sagt (und sonst nichts) ... 26 2.3 ... Code-Fokus ... 34 2.4 ... Checkliste ... 36 3. Willkommen im Team! ... 39 3.1 ... Check this out: Subversion ... 40 3.2 ... Teamwork integriert: Git ... 51 3.3 ... »Guckstu!« ... 58 3.4 ... Doppelt hält besser: Pair Programming ... 63 3.5 ... Wer macht wann was? ... 66 4. Gut, besser, 91,2 %: Software-Qualität messen ... 75 4.1 ... Muss funktionieren! ... 76 4.2 ... Muss schön sein! ... 81 4.3 ... ISO 25010 und andere Buzzword-Sammlungen ... 101 5. Jeder ist Architekt ... 107 5.1 ... Normalisierte Daten ... 107 5.2 ... Alles ist ein Objekt, aber welches? ... 117 5.3 ... Entwurfsmuster ... 120 5.4 ... Was ist eigentlich ein »Item«? ... 141 5.5 ... Effiziente Software ... 151 5.6 ... Do- und Don't-Merksatz-Akronyme ... 158 5.7 ... Neue Räder extra teuer! ... 163 5.8 ... Meins! (Wirklich?) ... 168 6. Erst mal testen ... 173 6.1 ... Gute und schlechte Unit-Tests ... 174 6.2 ... Testbar und nicht so gut testbar ... 187 6.3 ... Umgekehrt wird ein Schuh draus ... 194 6.4 ... Alles einzeln testen ... 199 6.5 ... Millionen Mausklicks ... 204 7. Continuous Integration ... 211 7.1 ... Digitaler Bauunternehmer ... 211 7.2 ... Java-Builds mit Maven ... 213 7.3 ... Gradle en vogue ... 227 7.4 ... Jenkins, stets zu Ihren Diensten! ... 234 7.5 ... Continuous Integration in der Cloud ... 239 7.6 ... Nicht nur eine Frage des Stils ... 244 7.7 ... NuGet für .NET und MS Azure ... 248 8. Dokumentation, Kommentare & Tools ... 257 8.1 ... Kommentare sind wie Tooltipps ... 257 8.2 ... Dokumentiert sich von allein ... 262 8.3 ... Teamwork online ... 269 9. Betriebssicherheit ... 283 9.1 ... »Es ist ein Fehler aufgetreten. Versuchen Sie es noch einmal.« ... 284 9.2 ... Festplattenweise Protokolle ... 296 9.3 ... Ungebetene Besucher ... 306 10. Schrottcode pimpen ... 323 10.1 ... Was macht der da? ... 323 10.2 ... Refactoring mit Tools ... 328 10.3 ... Who sprech Svenska? ... 340 10.4 ... Endlich: Tests ... 343 11. Trollfütterung ... 349 11.1 ... Umsteiger und Ahnungslose im kalten Wasser ... 349 11.2 ... Früher war alles besser, auch die Betonköpfe ... 352 11.3 ... Das Patchwork-Team ... 354 11.4 ... Billig im Osten ... 357 11.5 ... Der Hase der Produktmanagerin ... 361 11.6 ... Arbeiten wie die Profis ... 364 11.7 ... Leuchtendes Beispiel ... 366 12. Parallelwelten ... 369 12.1 ... Parallel arbeiten ... 369 12.2 ... Losgelöst ... 381 12.3 ... .NET async ... 385 Anhang ... 389 A ... Quizfragen ... 389 B ... Lösungen der Quizfragen ... 395 Index ... 399
Beginning Programming with Java For Dummies
BECOME A JAVA WIZARD WITH THIS POPULAR PROGRAMMING GUIDEConsider Beginning Programming with Java For Dummies your indispensable guide to learning how to program in one of the most popular programming languages—Java! Java is an invaluable language to master, as it's widely used for application development, including Android, desktop, and server-side applications.Beginning Programming with Java For Dummies is written specifically for newbies to programming. The book starts with an overview of computer programming and builds from there; it explains the software you need, walks you through writing your own programs, and introduces you to a few of the more-complex aspects of programming in Java. It also includes step-by-step examples you can try on your own (and email the author if you need help). As you work through the book, you'll get smart about these Java features:* Object-oriented programming (OOP), a Java mainstay* IntelliJ IDEA, an integrated development environment (IDE), that gives you one place to do all your programming, including debugging code* Loops, branches, and collections* Variables and operators* Expressions, statements, and blocksBeginning Programming with Java For Dummies translates all this foreign programming and computer syntax into plain English, along with plenty of helpful examples and tips. Learning a new language—and coding is definitely its own language—should be a fun endeavor. With this book as your handy interpreter, you’ll be on your way to fluency, speaking the language of coders everywhere!BARRY BURD, PHD holds an MS in Computer Science from Rutgers University and a PhD in Mathematics from the University of Illinois. Barry is the author of numerous For Dummies books, including Java For Dummies and Beginning Programming with Java For Dummies.Introduction 1PART 1: GETTING STARTED WITH JAVA PROGRAMMING 5Chapter 1: The Big Picture 7Chapter 2: Setting Up Your Computer 21Chapter 3: Running Programs 47PART 2: WRITING YOUR OWN JAVA PROGRAMS 71Chapter 4: Exploring the Parts of a Program 73Chapter 5: Composing a Program 95Chapter 6: Using the Building Blocks: Variables, Values, and Types 127Chapter 7: Numbers and Types 149Chapter 8: Numbers? Who Needs Numbers? 173PART 3: CONTROLLING THE FLOW 197Chapter 9: Forks in the Road 199Chapter 10: Which Way Did He Go? 219Chapter 11: Around and Around It Goes 251Chapter 12: Circling Back to Java Loops 275PART 4: THE INSIDE SCOOP 293Chapter 13: Programming with Objects and Classes 295Chapter 14: Using Methods and Fields from a Java Class 315Chapter 15: Creating New Java Methods 347PART 5: SMART JAVA TECHNIQUES 375Chapter 16: Piles of Files: Dealing with Information Overload 377Chapter 17: How to Flick a Virtual Switch 401Chapter 18: Creating Loops within Loops 423Chapter 19: Out of Many, One 443Chapter 20: Oooey-GUI Was a Worm 477PART 6: THE PART OF TENS 503Chapter 21: Ten Useful Classes in the Java API 505Chapter 22: Ten Bits of Advice for New Software Developers 511Index 517
Professional C# and .NET
GET THE LATEST COVERAGE OF THE NEWEST FEATURES IN C#9 AND .NET 5In Professional C# and .NET: 2021 Edition, Microsoft MVP for Visual Studio and Development Technologies and veteran developer, Christian Nagel, delivers a comprehensive tour of the new features and capabilities of C#9 and .NET 5.Experienced programmers making the transition to C# will benefit from the author’s in-depth explorations to create Web- and Windows applications using ASP.NET Core, Blazor, and WinUI using modern application patterns and new features offered by .NET including Microservices deployed to Docker images, GRPC, localization, asynchronous streaming, and much more.The book also offers:* Discussions of the extension of .NET to non-Microsoft platforms like OSX and Linux* Explanations of the newest features in C#9, including support for record types, and enhanced support for tuples, pattern matching, and nullable reference types* Integrating .NET applications with Microsoft Azure services such as Azure App* Configuration, Azure Key Vault, Azure Functions, the Azure Active Directory, and others Downloadable code examples from wrox.com and github.com with online updates for C# 10 and .NET 6Perfect for programmers with a background in C#, Visual Basic, Java, or C/C++, Professional C# and .NET: 2021 Edition will also earn a place in the libraries of software architects seeking an up-to-date and fulsome treatment of the latest C# and .NET releases.CHRISTIAN NAGEL is a Microsoft MVP for Visual Studio and Development Technologies, software architect, and veteran developer who has been building solutions with .NET technologies since 2000. He has authored many acclaimed .NET books, and he also speaks at such international conferences as Ignite (formerly TechEd) and Tech Days. A supporter of .NET user groups, Christian is a Microsoft Certified Trainer and Professional Developer for WinUI and .NET MAUI Apps, ASP.NET Core, and Microsoft Azure.Introduction xxxixPART I: THE C# LANGUAGEChapter 1: .Net Applications And Tools 3Chapter 2: Core C# 24Chapter 3: Classes, Records, Structs, And Tuples 59Chapter 4: Object-Oriented Programming In C# 95Chapter 5: Operators And Casts 119Chapter 6: Arrays 153Chapter 7: Delegates, Lambdas, And Events 177Chapter 8: Collections 193Chapter 9: Language Integrated Query 226Chapter 10: Errors And Exceptions 263Chapter 11: Tasks And Asynchronous Programming 288Chapter 12: Reflection, Metadata, And Source Generators 307Chapter 13: Managed And Unmanaged Memory 335PART II: LIBRARIESChapter 14: Libraries, Assemblies, Packages, And Nuget 377Chapter 15: Dependency Injection And Configuration 392Chapter 16: Diagnostics And Metrics 419Chapter 17: Parallel Programming 440Chapter 18: Files And Streams 485Chapter 19: Networking 52Chapter 20: Security 558Chapter 21: Entity Framework Core 582Chapter 22: Localization 644Chapter 23: Tests 668PART III: WEB APPLICATIONS AND SERVICESChapter 24: Asp.Net Core 687Chapter 25: Services 714Chapter 26: Razor Pages And Mvc 752Chapter 27: Blazor 779Chapter 28: Signalr 801PART IV: APPSChapter 29: Windows Apps 819Chapter 30: Patterns With Xaml Apps 876Chapter 31: Styling Windows Apps 899Index 933
MLOps - Kernkonzepte im Überblick
ERFOLGREICHE ML-PIPELINES ENTWICKELN UND MIT MLOPS ORGANISATORISCHE HERAUSFORDERUNGEN MEISTERN * Stellt DevOps-Konzepte vor, die die speziellen Anforderungen von ML-Anwendungen berücksichtigen * Umfasst die Verwaltung, Bereitstellung, Skalierung und Überwachung von ML-Modellen im Unternehmensumfeld * Für Data Scientists und Data Engineers, die nach besseren Strategien für den produktiven Einsatz ihrer ML-Modelle suchen Viele Machine-Learning-Modelle, die in Unternehmen entwickelt werden, schaffen es aufgrund von organisatorischen und technischen Hürden nicht in den produktiven Betrieb. Dieses Buch zeigt Ihnen, wie Sie erprobte MLOps-Strategien einsetzen, um eine erfolgreiche DevOps-Umgebung für Ihre ML-Modelle aufzubauen, sie kontinuierlich zu verbessern und langfristig zu warten. Das Buch erläutert MLOps-Schlüsselkonzepte, mit denen Data Scientists und Data Engineers ihre ML-Pipelines und -Workflows optimieren können. Anhand von Fallbeispielen, die auf zahlreichen MLOps-Anwendungen auf der ganzen Welt basieren, geben neun ML-Experten wertvolle Einblicke in die fünf Schritte des Modelllebenszyklus - Build, Preproduction, Deployment, Monitoring und Governance. Sie erfahren auf diese Weise, wie robuste MLOps-Prozesse umfassend in den ML-Produktworkflow integriert werden können.
Cloud Native Integration with Apache Camel
Address the most common integration challenges, by understanding the ins and outs of the choices and exemplifying the solutions with practical examples on how to create cloud native applications using Apache Camel. Camel will be our main tool, but we will also see some complementary tools and plugins that can make our development and testing easier, such as Quarkus, and tools for more specific use cases, such as Apache Kafka and Keycloak.You will learn to connect with databases, create REST APIs, transform data, connect with message oriented software (MOMs), secure your services, and test using Camel. You will also learn software architecture patterns for integration and how to leverage container platforms, such as Kubernetes. This book is suitable for those who are eager to learn an integration tool that fits the Kubernetes world, and who want to explore the integration challenges that can be solved using containers.WHAT YOU WILL LEARN* Focus on how to solve integration challenges* Understand the basics of the Quarkus as it’s the foundation for the application* Acquire a comprehensive view on Apache Camel* Deploy an application in Kubernetes * Follow good practices WHO THIS BOOK IS FORJava developers looking to learn Apache Camel; Apache Camel developers looking to learn more about Kubernetes deployments; software architects looking to study integration patterns for Kubernetes based systems; system administrators (operations teams) looking to get a better understand of how technologies are integrated.GUILHERME CAMPOSO is a solution architect. He started to use open source projects and completely fell in love with the OSS philosophy and potential, leading him to start working with an open source company in 2018. Throughout his more than 12-year career, starting as a Java developer, becoming a consultant and then an architect, Guilherme was able to acquire a vast experience helping customers from a great variety of business sectors, giving him a broad view on how integration and good software practices can help businesses to grow. Chapter 1: Welcome to Apache CamelCHAPTER GOAL: Introduce readers to Apache Camel, it's basic concepts and contextualize everything with integration patterns. Also introduce other base tools as Quarkus and Maven.NO OF PAGES Approximately 30 pagesSUB -TOPICS1. Apache Camel basics2. Quarkus basics3. Introduction to Enterprise Integration Patterns4. Hello World application (First Application)Chapter 2: Developing REST IntegrationsCHAPTER GOAL: Introduces the conversation on web services applications using REST, how to expose and how to consume those services. Also gives the first examples of unit testing.NO OF PAGES: Approximately 35 pagesSUB - TOPICS1. Web Services with REST2. Camel REST DSL3. Camel HTTP components4. Unit test with QuarkusChapter 3: Securing Web Services with KeycloakCHAPTER GOAL: Introduces the reader to Keycloak, an Open Source product that provides IAM(Identity and Access Management). Focus on OpenID Connect protocol and how important security isNO OF PAGES : Approximately 35 pagesSUB - TOPICS:1. Keycloak basics2. OpenId Connect Protocol3. Quarkus and Camel securityChapter 4: Access Databases with Apache CamelCHAPTER GOAL: Approaches a very common need in programming: access databases. Here we are going to show how to use two of the most used open source databases: H2 and PostgreSQL.NO OF PAGES: Approximately 40 pagesSUB - TOPICS:1. Camel database components2. Database integration patterns3. In-memory database with H24. Transaction controlChapter 5: Messaging with Apache KafkaCHAPTER GOAL: Introduces the reader to Message Oriented Middleware(MOM), which is a very common integration used. We dive into the architecture aspect of this kind of implementation, getting practical examples using Apache Kafka, another very popular Open Source project.NO OF PAGES: Approximately 40 pagesSUB - TOPICS:1. Message Oriented Middleware2. Apache Kafka3. Asynchronous integrationChapter 6: Deploying application into KubernetesCHAPTER GOAL: Here we discuss the architectural aspects of deploying applications into Kubernetes, discussing micro services architecture, scalability, configuration and patterns as The Twelve-Factor Apps. We also learn how to configure the application and plugins to allow us to test and deploy the application in Kubernetes.NO OF PAGES: Approximately 50 pagesSUB - TOPICS:1. The Twelve-Factor Apps2. Quarkus and Camel properties configuration3. Quarkus plugins for Kubernetes Deployments4. The main Kubernetes aspects to take into consideration for your architecture
Pro Java Microservices with Quarkus and Kubernetes
Build and design microservices using Java and the Red Hat Quarkus Framework. This book will help you quickly get started with the features and concerns of a microservices architecture. It will introduce Docker and Kubernetes to help you deploy your microservices.You will be guided on how to install the appropriate tools to work properly. For those who are new to enterprise development using Quarkus, you will be introduced to its core principles and main features through a deep step-by-step tutorial. For experts, this book offers some recipes that illustrate how to split monoliths and implement microservices and deploy them as containers to Kubernetes.By the end of reading this book, you will have practical hands-on experience of building microservices using Quarkus and you will master deploying them to Kubernetes.WHAT YOU WILL LEARN* Work with Quarkus and GraalVM* Split a monolith using the domain-driven design approach* Implement the cloud and microservices patterns* Rethink the deployment process* Introduce containerization, Docker, and Kubernetes to your toolkit* Boost microservices efficiency and performance with Azure* Play with Quarkus and distributed application runtimesWHO THIS BOOK IS FORJava developers who want to build microservices using Red Hat Quarkus and who want to deploy them in Kubernetes.Nebrass Lamouchi is a senior software engineer at Microsoft, addicted to Java and cloud technologies. He was a NetBeans Dream Team member until December 2017. Nebrass was one of the happy four winners of the Oracle Groundbreaker Awards in May 2019. Since March 2013 he has also worked as a project leader at the OWASP Foundation on the Barbarus Project.Table of ContentsDedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4What this book covers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Reader feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Getting started with Containerization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Introduction to containerization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Introducing Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Installation and first hands-on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Docker Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Diving into Docker Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Meeting the Docker Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Achieving more with Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Containerization is not Docker only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Introduction to the Monolithic architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Introduction to an actual situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Presenting the context. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45How to solve these issues ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Coding the Monolithic application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Presenting our domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Coding the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Upgrading the Monolithic application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Implementing QuarkuShop Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Building and Running QuarkuShop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Building & Deploying the Monolithic application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Importing the Project in Azure DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Creating the CI/CD pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Adding the anti-disasters layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Implementing the Security Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Implementing the Monitoring Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226Microservices Architecture Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Microservices Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Making the Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Splitting the Monolith: Bombarding the domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232What is Domain-Driven Design ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232Bombarding QuarkuShop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Dependencies and Commons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Refactoring Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Transactional Boundaries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238Applying DDD to the code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Applying Bounded Contexts to Java Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Locating & breaking the BC Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242Meeting the microservices concerns and patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Cloud Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250What’s next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257Getting started with Kubernetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259What is Kubernetes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259Run Kubernetes locally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269Practical Summary & Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271Additional reading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272Implementing the Cloud Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Bringing the Monolithic Universe to Kubernetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293Building the Kubernetized Microservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Creating the Commons Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Implementing the Product µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299Implementing the Order µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Implementing the Customer µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Implementing the User µservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318Flying all over the Sky with Quarkus and Kubernetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Implementing the Circuit Breaker pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Implementing the Log Aggregation pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324Implementing the Distributed Tracing pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334Implementing the API Gateway pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346Playing with Quarkus in Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347Bringing Dapr into the game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349Final words & thoughts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351About the author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Creating Wordpress Online Store and Wordpress Online Magazine
The objective of this work is to develop a Word Press Online Store with Different Ecommerce Plugins and Themes and Word Press Online Magazine with MH Magazine ThemeThe work consists of three parts:i. Part I: Building Personal Websie with online shop the sell Ebooks:The objective of this part is to develop a Ecommerce word press website with all commonly used Plug-ins.First I registered in some free webhost my domain http://hidaia-alassouli.000space.comThen I created the database and installed the word press package.I installed after that all important Plugins for my website. I tested different ecommerce plugin to sell ebooks .The report includes:1- Changing the wordpress theme.2- Creating the frontpage post and the other pages.3- Adding Gallery Plugin.4- Adding yoast.5- Submission the Site to Search Engine and Analyze your Website6- Adding Contact Form Plugin7- Using easyfiledownloads Plugin to sell ebooks8- Using WP-Ecommerce Plugin to sell ebooks9- Using WP Shopping Cart Plugin10- Using Woocommerce Plugin to sell my EbooksI ended up to build my ecommerce shop with woocommerce as it was the most efficient and comfortable.ii. Part II: Building Ecomerce website with mystile theme and woocommerce pluginThe objective of this part is to develop a Ecommerce website with mystyle theme and woocommerce plugin and other commonly used Plug-ins.First I registered in some free webhost my domain http://hedaya-alasooly.000space.comThen I created the database and installed the word press package.I installed after that all important Plugins for my website. The second part of report includes:1- Installing mystyle theme.2- Installing woocommerce plugin Plugin.3- Adding yoast seo Plugin.4- Submission the Site to Search Engine and Analyze your Websiteiii. Part III: Building Online magazine website with MH-Magazine themeThe objective of this part is to develop an online magazine website with MH Magazine theme and other commonly used Plug-ins.First I registered in some free webhost my domain http://anticorruption.000space.com.Then I created the database and installed the word press package.I installed after that all important Plugins for my website. The third part of report includes:1- Installing MH Magazine theme.2- Configuring MH Magazine theme.3- Adding yoast seo Plugin.4- Submission the Site to Search Engine and Analyze your WebsiteI am Dr. Hidaia Mahmoud Mohamed Alassouli. I completed my PhD degree in Electrical Engineering from Czech Technical University by February 2003, and my M. Sc. degree in Electrical Engineering from Bahrain University by June 1995. I completed also one study year of most important courses in telecommunication and computer engineering courses in Islamic university in Gaza. So, I covered most important subjects in Electrical Engineering, Computer Engineering and Telecommunications Engineering during my study. My nationality is Palestinian from gaza strip.I obtained a lot of certified courses in MCSE, SPSS, Cisco (CCNA), A+, Linux.I worked as Electrical, Telecommunicating and Computer Engineer in a lot of institutions. I worked also as a computer networking administrator.I had considerable undergraduate teaching experience in several types of courses in many universities. I handled teaching the most important subjects in Electrical and Telecommunication and Computer Engineering.I could publish a lot of papers a top-tier journals and conference proceedings, besides I published a lot of books in Publishing and Distribution houses.I wrote a lot of important Arabic articles on online news websites. I also have my own magazine website that I publish on it all my articles: http:// www.anticorruption.000space.comMy personal website: www.hidaia-alassouli.000space.comEmail: hidaia_alassouli@hotmail.com
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Mit C# für Android und iOS programmieren, Cross-Plattform-Apps mit Xamarin.Forms entwickelnSie möchten Apps entwickeln, die sowohl auf iOS als auch auf Android nativ lauffähig sind? Schritt für Schritt führt André Krämer (Microsoft MVP) Sie in die Welt der Cross-Plattform-Entwicklung mit Xamarin.Forms und C# ein. Von der einheitlichen Codebasis über die Oberflächengestaltung und Datenbankanbindung bis zum Zugriff auf Geräte-APIs lernen Sie hier alles, um plattformübergreifende Apps zu entwickeln.Im Laufe der Lektüre dieses Buches programmieren Sie eine Beispiel-App für ein fiktives Restaurant und vertiefen dabei das in den Kapiteln erworbene Wissen.Das Buch setzt Grundkenntnisse in der Programmierung mit C# voraus. Erfahrung mit XAML ist von Vorteil, jedoch nicht erforderlich.Sämtliche Beispiele des Buchs finden Sie im zugehörigen GitHub-Repository.Aus dem Inhalt:XamarinAndroid, Xamarin.iOS und Xamarin.FormsArchitektur von Cross-Plattform-Apps/Oberflächendesign mit LayoutcontainernEingabeformulare anlegenNavigation und die Xamarin.FormsShellListenBilder Icons und SchriftartenStylesThemes in Xamarin.FormsAufruf von WebservicesLokale DatenhaltungXamarin.EssentialsLeseprobe (PDF Link)