Programmierung
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
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. Aus dem Inhalt: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 Ton Import 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)
Concepts and Semantics of Programming Languages 2
This book – composed of two volumes – explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, providing also an accurate presentation of the material aspects that interfere with coding.Concepts and Semantics of Programming Languages 2 presents an original semantic model, collectively taking into account all of the constructs and operations of modules and classes: visibility, import, export, delayed definitions, parameterization by types and values, extensions, etc. The model serves for the study of Ada and OCaml modules, as well as C header files. It can be deployed to model object and class features, and is thus used to describe Java, C++, OCaml and Python classes.This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.THERESE HARDIN is Professor Emeritus at the Laboratoire d'Informatique de Paris 6 (LIP6), Sorbonne University, France.MATHIEU JAUME is a lecturer at the Laboratoire d'Informatique de Paris 6 (LIP6), Sorbonne University, France.FRANÇOIS PESSAUX is Associate Professor in the Computer Science and Systems Engineering Unit (U2IS) of ENSTA Paris, France.VERONIQUE VIGUIE DONZEAU-GOUGE is Professor Emeritus at the Centre d'études et de recherche en informatique (CEDRIC) of the Conservatoire national des arts et métiers (Cnam Paris), France.Foreword ixPreface xiCHAPTER 1. NAMESPACES: MODEL AND OPERATIONS 11.1. Reusing, dividing, confining 21.1.1. Analysis of some developer needs 21.1.2. Meeting developer needs 31.2. Namespaces 51.2.1. Namespaces definition 61.2.2. Extending notions of environment and binding 81.3. kit development 121.3.1. Namespace of a kit 141.3.2. Order of fields introduction 151.3.3. Typing kits 151.3.4. kit values 181.3.5. kit export, confining fields 221.3.6. kits import 281.3.7. Stages of kit development 321.4. Incomplete kits 331.4.1. Type and value of an incomplete kit 341.4.2. Completion of an incomplete kit 341.4.3. Confining an incomplete kit 361.5. Parameterized kits 361.5.1. kits parameterized by a type 361.5.2. kits parameterized by types and values 411.5.3. Confinement, parametrization, incomplete kits and export 451.6. Functors of kits 461.7. kit extension 491.7.1. Presentation of extension 491.7.2. Confinement and extension 551.8. Conclusion 59CHAPTER 2. MODULES 612.1. Modules in Ada 622.1.1. Developing modules 622.1.2. Export and confinement 652.1.3. Nesting modules 662.1.4. Importing a module 662.1.5. Flattening an import 672.1.6. Generic modules 682.1.7. Modules and separate compilation 712.2. Modules in OCaml 712.2.1. Module definition 722.2.2. Export and confinement 732.2.3. Confinement of type definitions 782.2.4. Functors 822.3. Modularity, namespaces and W-kit 852.3.1. Declaration interfaces 852.3.2. W-kits 862.3.3. Modularity and header files in C 86CHAPTER 3. CLASS AND OBJECT FEATURES 933.1. Object-oriented features 933.1.1. Objects 943.1.2. Classes 953.2. kits and object features 1043.2.1. Modeling classes 1043.2.2. Modeling objects 1073.2.3. Inheritance, redefinition and late binding 1093.2.4. Incomplete C-kits, parameterized C-kits 1133.2.5. Subclassing, subtyping 1153.2.6. Type languages, classes and objects 119CHAPTER 4. CLASSES IN SELECTED LANGUAGES 1234.1. Classes in Java 1234.1.1. General presentation 1234.1.2. Modules and packages 1244.1.3. Classes 1254.1.4. Marks 1314.1.5. Developing classes 1344.2. Classes in C++ 1444.2.1. Header files, namespaces, confinement 1454.2.2. Classes 1484.2.3. Inheritance and confinement 1554.2.4. Overloading in C++ 1654.2.5. Parameterized classes 1684.3. Classes in OCaml 1744.3.1. Presentation 1744.3.2. An overview of classes 1744.3.3. Marks, incomplete classes, parametrization 1814.3.4. Objects 1864.3.5. Class signatures: confinement and inheritance 1924.3.6. Multiple inheritance 1954.3.7. Other features 1974.4. Presentation of Python 1974.4.1. Getting started 1984.4.2. An overview of classes, modules and types 1994.4.3. Names and assignment 2084.4.4. Assignment and typechecking 2114.4.5. Overloading 2134.4.6. Modules and packages 2174.4.7. Confinement 2184.4.8. Inheritance 2194.4.9. Incomplete C-kits and abstract classes 2214.4.10. Other features 222Appendix: Questions to Guide Learning 225List of Notations 229References 231Index 233
Foundation Db2 and Python
Work with Db2 to write SQL and access databases using optimized code for the fastest response. This book will give you complete documentation on DB2 via Python for the IBM_db module and provide a number of examples for the usage of each module API.Begin by getting your free version of Db2 for Linux and Windows. While the book concentrates more on the Linux version of Db2, it also covers enough of the Windows version so that you're comfortable with obtaining and installing Db2 on your version of Windows. Next, you'll see how to install the sample database that comes with Db2, and take some data from the web to design a database around it, including tables and indexes.For Db2 to be really useful you need to use strong SQL expressions. This book provides specific examples of how to avoid using poor ones that can cause extra processing time for the query. Lastly, you'll look at each API in the ibm_db and ibm_db_dbi module. This module is not sponsored by IBM and must be installed separately from the Db2 database.After reading Foundation Db2 and Python you'll be able to install Db2 on Windows or Linux, and perform backups and restore data.WHAT YOU'LL LEARN* Obtain and install Db2 properly on Linux and Windows* Create databases and load them on Db2* Work with ibm_db and ibm_db_dbi API modules for Python* Write SQL for Db2* Review the future of the ibm_db Python module WHO THIS BOOK IS FORPython programmers and DB2 administrators interested in building application with Python and DB2 W. David Ashley is a technical writer for SkillSoft where he specializes in open source, particularly Linux. As a member of the Linux Fedora documentation team he recently led the Libvert project documentation, and wrote the Python programs included with it. He has developed in 20 different programming languages during his 30 years as a software developer and IT consultant, including more than 18 years at IBM and 12 years with American Airlines. Chapter 1: IntroductionChapter Goal: An introduction to Db2 for Linux and Windows.No. of Pages: 10Sub-Topics:Glossary of termsIntroduction to the Db2Obtaining the install files for Db2What you need as far as your hardware and OS for your Db2 machineHow to organize your file system to support Db2 data basesChapter 2: Installing Db2Chapter Goal: Describes how to install Db2 on Linux and WindowsNo. of Pages: 50Sub-Topics:Preparing your server for Db2Installing Db2 on LinuxInstalling Db2 on WindowsInstalling the ibm_db moduleTest the connection between Python/ibm_db and Db2Chapter 3: Db2 ManagementChapter Goal: Create Python scripts to access Db2No. of Pages: 40Sub-Topics:Layout of the typical Python script to access Db2The ibm_db moduleThe order of processing in almost all Python scripts accessing Db2Using exceptions in your Python scriptsChapter 4: Installing the Db2 sample database and a custom databaseChapter Goal: Learn how to design and create your own databasesNo. of Pages: 35Sub-Topics:Install the Db2 sample databaseWrite some simple Python scripts to access the sample data baseDesign and install the Orbital Launch data baseWrite some simple Python scripts to assess the Orbital Launch data baseChapter 5: Creating Utility Modules for Accessing Db2Chapter Goal: Creating modules that access ibm_dbNo. of Pages: 40Sub-Topics:Create you first utility moduleUse functions or classes in your module, or both?Organizing your module(s)Accessing your moduleChapter 6: Documenting the ibm_db ModuleChapter Goal: Documenting the ibm_db Module APINo. of Pages: 40Sub-Topics:Document each API in the ibm_db moduleDocument all input and outputs to each APIProvide multiple examples for each APIChapter 7: Writing Good SQL for Db2 (this might cover multiple chapters)Chapter Goal: Creating optimized SQL for Db2No. of Pages: 60Sub-Topics:Minimize the passes through the dataCode for concurrencyLocking and isolation levelsHow to avoid writing codeThe importance of indexesOptimizationSequential vs. random data accessTypes of joinsChapter 8: Where is the ibm_db Module GoingChapter Goal: Explain why IBM does not directly support the ibm_db moduleNo. of Pages: 25Sub-Topics:Why ibm_db is open source?How does ibm_db use underlying systems?Why is this module not included with Db2?Some future items to be added to ibm_db moduleChapter 9: Db2 provided utilitiesChapter Goal: Describe some of the utilities that come with Db2 and possibly some extra cost utilitiesNo. of Pages: 50Subtopics:What utilities are covered has yet to be identifiedChapter 10: BLOB data, what is it and how do you use itChapter Goals: Describe what a blob is and how to use oneNo. of Pages: 50Subtopics:Describe the different kinds of BLOBsAccessing BLOB data in PythonWhat kinds of data can be stored in a BLOBUtilizing BLOBs to store Python data, how to keep data and metadata together in Db2
Practical Vaadin
Implement web applications in Java using the open-source Vaadin framework version 20 and later. This easy-to-follow book covers all the key concepts and steps to become competent with modern versions of Vaadin. The book covers everything from setting up the development environment to implementing advanced features such as Server Push and database connectivity. The book helps you become proficient in the Vaadin framework, prepare for Vaadin certifications, and shows you how to apply the power of the Java programming language in developing applications for the web.Author Alejandro Duarte starts with an introduction to web development and its key technologies. He then describes and demonstrates how Vaadin simplifies web development by allowing you to implement web graphical user interfaces using the Java programming language without having to code in JavaScript or HTML. Once a solid foundation on the key web and Vaadin concepts is established, Duarte digs deeper into explaining layouts and user interface components such as combo boxes, dialogs, upload fields, and data grids. He also covers topics such as styling with CSS, data binding, client-side views implementation with TypeScript, and integration with Spring Boot and Jakarta EE.WHAT YOU WILL LEARN* Build web applications in Java using Servlet technology and Vaadin* Combine layouts and user interface components to create views in Java* Connect values in UI components to Java objects in the server through data binding* Customize display styles and add responsive capabilities using CSS* Display tabular data using the Grid component* Implement client-side views using TypeScript* Integrate Vaadin applications with Spring Boot and Jakarta EE* Connect Vaadin applications to SQL databasesWHO THIS BOOK IS FORDevelopers with a basic or higher knowledge of Java programming who want to build on their Java skills to create web graphical user interfaces, Java developers who want to create web applications without having to code in JavaScript, and developers who are preparing to take and pass Vaadin certification examsALEJANDRO DUARTE is a Software Engineer currently working for Vaadin Ltd as their Developer Relations Manager. This is his third book on Vaadin. Alejandro started to code at age 13 using the BASIC programming language on a black screen with a blinking cursor serving as the IDE. He quickly moved to the C and C++ languages—which he still loves and enjoys—and then to Java during his Computer Science studies at the National University of Colombia from where he graduated. Alejandro moved to the UK and later to Finland to foster his career in the open-source software industry. He became one of the well-known faces in the Vaadin and Java communities, having published articles and videos with hundreds of thousands of views in official Vaadin channels and other content portals, and presented technical topics at international Java conferences and Java User Groups. Alejandro splits his free time between his passion for the electric guitar and the photography world. PART I. GETTING STARTED1. The World of Vaadin2. Setting Up the Development EnvironmentPART II. THE FUNDAMENTALS OF VAADIN3. Layouts4. UI Components5. Data Binding6. The Grid ComponentPART III. ADVANCED FEATURES7. Multi-view Navigation and Routing8. Server Push9. The Element API10. Custom Styles and Responsiveness11. Client-side Views with TypeScriptPART IV. INTEGRATIONS AND DATABASE CONNECTIVITY12. Spring Boot13. Jakarta EE
Algorithmen in Java
Programmieren will trainiert werden, und Algorithmen gehören zum Rüstzeug hinzu. Schlagen Sie zwei Fliegen mit einer Klappe und verbessern Sie Ihre Java-Skills anhand klassischer Algorithmen, von der Suche im Binärbaum über k-Means bis zum Rucksackproblem. Dieses Buch ist Grundausbildung und Fundgrube für Coding Workouts zugleich. Profitieren Sie von der Lehr- und Praxiserfahrung des Autors: David Kopec hat 32 Klassiker der Informatik für Sie herausgesucht, die Ihnen wichtige Lösungsstrategien aufzeigen und einen starken Trainingseffekt versprechen.Ideal für alle, die ihre ersten Schritte in der Programmierung hinter sich haben und jetzt voll durchstarten wollen!Aus dem Inhalt:Zum Einstieg: Unknackbare Verschlüsselung, Fibonacci-Folge, die Türme von HanoiSuchalgorithmen: DNS-Suche, Labyrinthe u.v.m.Bedingungserfüllung: Wortsuchrätsel, Acht-Damen-Problem u.v.m.Grafen, kürzeste Wegek-Means-ClusteringEinfache neuronale NetzeMinimax: Tic-tac-toe, Vier gewinntLeseprobe (PDF)
Essential Java for AP CompSci
Gain the essential skills for computer science using one of today's most popular programming languages, Java. This book will prepare you for AP CompSci Complete, but you don’t need to be sitting that class to benefit. Computer science has become a basic life skill that everyone is going to need to learn. Whether you are going into a career or side hustle in business, technology, creativity, architecture, or almost any other field, you will find coding and computer science play a role.So when we learn programming we are going to focus on three things: what is the process; what is the syntax; and what is the flow. The process is represented as a flowchart. We will learn how to make these to help you plan out what you are going to do before you write a line of code. At first, the flowcharts will be pretty simple, but then they will get more complex. The syntax is the code: this is what you write that translates the process you create in a flowchart to the instructions that the computer can understand. Finally, there is the flow. This is where you trace through the code and see how the data and information it stores along the way changes. You can see how the operation of the program cascades from line to line. You will be building charts that will capture the programming flow so you can better understand how the computer processes code to make your next program easier to conceive and code.Along the way to aid in the learning of the essential Java skills, there will be three kinds of project types throughout this book: business software projects for applications where you work for a company and need to complete an internal project for a team such as the sales, marketing, or data science teams; social good projects where you are working for non-profits or for agencies that are trying to research and provide solutions to economic, environmental, medical, or humanitarian projects; and game development projects for games based on player input, random chance, or other mechanics for the use of entertainment.What is unique about computer science is how it has become a skill, and not just a career. While there are jobs and titles of “computer scientist”, the skill of computer science, and specifically programming, are almost everywhere. After reading and using this book, you'll have the essential skills to think like a computer scientist, even if you are not. As a result you’ll be of greater value to your clients, your company, and yourself.WHAT YOU WILL LEARNDiscover the primary building blocks of programming using the Java programming language * See terminology and best practices of software development* Work with object-oriented programming concepts* Use common-language definitions and examples to help drive understanding and comprehension of computer science fundamentalsWHO THIS BOOK IS FORThose who want to learn programming and want to think like a computer scientist. Ideal for anyone taking AP CompSci Complete.Doug Winnie is director of learning experience at H&R Block, responsible for learning and development platforms supporting associates across the organization. Previously, Doug was principal program manager at Microsoft and LinkedIn leading the LinkedIn Learning instructor community, curriculum strategy for technology learning content, and as a member the Windows Insider team supporting educational and career growth for millions of Windows Insiders worldwide.Throughout his career and consulting with companies such as Adobe, PG&E, Safeway, HP, and the US Army, Doug has worked to help developers and designers through education, product management, and interactive development. Doug was honored with two Webby award nominations with projects for Industrial Light and Magic and has written multiple publications to teach beginners how to code. He is also an AP Computer Science teacher, teaching the next generation of developers. Doug lives in the Kansas City metro area and Palm Springs, California.1. WELCOME TO COMPUTER SCIENCE2. SPRINT 01: INTRODUCTION3. SPRINT 02: SETTING UP THE JAVA JDK AND INTELLIJ4. SPRINT 03: SETTING UP GITHUBa. QUIZ 01b. QUIZ 025. SPRINT 04: PROGRAMMING LANGUAGES6. SPRINT 05: HISTORY AND USES OF JAVA7. SPRINT 06: HOW JAVA WORKSa. QUIZ 038. SPRINT 07: FLOWCHARTINGa. ASSIGNMENT 01: PBJ’Db. QUIZ 049. SPRINT 08: HELLO, WORLDa. QUIZ 0510. SPRINT 09: SIMPLE JAVA PROGRAM STRUCTURE11. SPRINT 10: TEXT LITERALS AND OUTPUTa. ASSIGNMENT 02: EE’D12. SPRINT 11: VALUE LITERALS13. SPRINT 12: OUTPUT FORMATTING14. SPRINT 13: COMMENTS AND WHITESPACE15. SPRINT 14: ABSTRACTION OF NUMBERS16. SPRINT 15: BINARYa. QUIZ 0617. SPRINT 16: UNICODE18. SPRINT 17: VARIABLES19. SPRINT 18: MATH. UGH.a. QUIZ 07b. ASSIGNMENT 03: SILO’D20. SPRINT 19: MATH FUNCTIONS21. SPRINT 20: MANAGING TYPEa. ASSIGNMENT 04: SPACE’Db. QUIZ 08c. QUIZ 09d. QUIZ 10e. QUIZ 1122. SPRINT 21: RANDOM NUMBERS23. SPRINT 22: CAPTURE INPUT24. SPRINT 23: CREATING TRACE TABLES25. SPRINT 24: FUNCTIONSa. ASSIGNMENT 05: ORC’D26. SPRINT 25: NESTED FUNCTIONS27. SPRINT 26: FUNCTIONS AND VALUESa. QUIZ 1228. SPRINT 27: FUNCTIONS AND SCOPEa. QUIZ 13b. QUIZ 14c. QUIZ 15d. ASSIGNMENT 06: ULTIMA’De. ASSIGNMENT 07: CYCLONE’D29. SPRINT 28: BOOLEAN VALUES AND EQUALITYa. QUIZ 16b. ASSIGNMENT 08: SPRINT’Dc. USER STORY: 52-PICKUP30. SPRINT 29: SIMPLE CONDITIONAL STATEMENTSa. USER STORY: YAHTZEEb. USER STORY: YAHTZEE TESTINGc. QUIZ 17d. QUIZ 18e. QUIZ 1931. SPRINT 30: MATCHING CONDITIONS WITH THE SWITCH STATEMENT32. SPRINT 31: THE TERNARY OPERATOR33. SPRINT 32: THE STACK AND THE HEAP34. SPRINT 33: TESTING EQUALITY WITH STRINGSa. ASSIGNMENT 09: ESCAPE’Db. USER STORY: ESCAPE’D WHITE BOX35. SPRINT 34: DEALING WITH ERRORS36. SPRINT 35: DOCUMENTING WITH JAVADOC37. SPRINT 36: FORMATTED STRINGS38. SPRINT 37: THE WHILE LOOPa. QUIZ 20b. QUIZ 21c. QUIZ 2239. SPRINT 38: AUTOMATIC PROGRAM LOOPS40. SPRINT 39: THE DO/WHILE LOOPa. ASSIGNMENT 10: SEQUENCE’Db. USER STORY: DICEYc. USER STORY SOLUTION: DICEYd. USER STORY: CONVERTERe. USER STORY SOLUTION: CONVERTER41. SPRINT 40: PROBABILITY42. SPRINT 41: SIMPLIFIED ASSIGNMENT OPERATORS43. SPRINT 42: THE FOR LOOPa. QUIZ 23b. ASSIGNMENT 11: ODDS’D44. SPRINT 43: NESTING LOOPSa. USER STORY: MAP BUILDER45. SPRINT 44: STRINGS AS COLLECTIONSa. ASSIGNMENT 12: PALINDROME’Db. QUIZ 2446. SPRINT 45: MAKE COLLECTIONS USING ARRAYSa. QUIZ 2547. SPRINT 46: CREATING ARRAYS FROM STRINGSa. ASSIGNMENT 13: ELECTION’Db. QUIZ 2648. SPRINT 47: MULTIDIMENSIONAL ARRAYS49. SPRINT 48: LOOPING THROUGH MULTIDIMENSIONAL ARRAYSa. QUIZ 27b. QUIZ 2850. SPRINT 49: BEYOND ARRAYS WITH ARRAYLISTS51. SPRINT 50: INTRODUCING GENERICS52. SPRINT 51: LOOPING WITH ARRAYLISTSa. ASSIGNMENT 14: LIST’D53. SPRINT 52: USING FOR…EACH LOOPSa. ASSIGNMENT 15: NUMBER’Db. QUIZ 29c. QUIZ 3054. SPRINT 53: THE ROLE-PLAYING GAME CHARACTERa. ASSIGNMENT 16: ROLL’D55. SPRINT 54: POLYMORPHISMa. ASSIGNMENT 17: EXTEN’D56. SPRINT 55: MAKE ALL THE THINGS…CLASSES57. SPRINT 56: CLASS, EXTEND THYSELF!a. QUIZ 3158. SPRINT 57: I DON'T COLLECT THOSE; TOO ABSTRACT.59. SPRINT 58: ACCESS DENIED: PROTECTED AND PRIVATEa. QUIZ 32b. QUIZ 3360. SPRINT 59: INTERFACING WITH INTERFACESa. QUIZ 34b. QUIZ 35c. QUIZ 36d. QUIZ 37e. ASSIGNMENT 18: STARSHIP’D61. SPRINT 60: ALL I'M GETTING IS STATIC62. SPRINT 61: AN ALL-STAR CAST, FEATURING NULL63. ANSWER KEY
SAP Mobile Services
Mobile Apps flexibel entwickeln! Dieses Buch stellt Ihnen den kompletten Funktionsumfang der SAP Mobile Services vor (vormals SAP Cloud Platform Mobile Services). Ob Sie native Apps für iOS oder Android programmieren oder Ihren Mitarbeitenden Mobile Cards für den schnellen Zugriff auf Informationen bereitstellen möchten: Für alle App-Typen und SDKs finden Sie ausführliche Beispiele. Die Autoren zeigen Ihnen außerdem, wie Sie Ihre Apps absichern und verwalten. Aus dem Inhalt: Native Apps für iOS und AndroidHybride AppsSAP-Fiori-AppsSAP Mobile CardsPush-BenachrichtigungenOffline-DatenhaltungApp-UpdatesCloud ConnectorNeo- und Cloud-Foundry-UmgebungIdentity Propagation und AuthentifizierungGit Einleitung ... 13 1. Historie der SAP Mobile Services ... 19 1.1 ... Erste Technologien für mobile Apps ... 20 1.2 ... Sybase Unwired Platform ... 22 1.3 ... Syclo Agentry ... 26 1.4 ... SAP Mobile Platform ... 28 1.5 ... SAP Mobile Services ... 31 2. App-Typen ... 39 2.1 ... Native Apps ... 40 2.2 ... Hybride Apps ... 48 2.3 ... SAP Fiori Client ... 51 2.4 ... Mobile Development Kit ... 55 2.5 ... SAP Mobile Cards ... 57 3. Einführung in die SAP Mobile Services ... 59 3.1 ... Funktionsumfang der SAP Mobile Services ... 59 3.2 ... Vergleich zwischen Neo- und Cloud-Foundry-Umgebung ... 107 3.3 ... Migration von der Neo- in die Cloud-Foundry-Umgebung ... 109 4. Entwicklung einer nativen App mit dem SAP BTP SDK for iOS ... 111 4.1 ... Einführung in die SAP Fiori Design Guidelines ... 112 4.2 ... Einführung in SAP Fiori Mentor ... 116 4.3 ... Datenmodell für die im Buch verwendeten Beispiele ... 120 4.4 ... Projekt mit dem SAP BTP SDK Assistant for iOS erstellen ... 123 5. Entwicklung einer nativen App mit dem SAP BTP SDK for Android ... 133 5.1 ... SAP Fiori for Android ... 134 5.2 ... SAP Fiori Mentor für Android ... 136 5.3 ... Projekt mit dem SAP BTP SDK Wizard for Android erstellen ... 140 6. Entwicklung einer hybriden App mit dem Mobile Development Kit ... 157 6.1 ... Entwicklungsumgebung einrichten ... 157 6.2 ... OData-basierte App mit dem Mobile Development Kit erstellen ... 163 7. Entwicklung einer hybriden App mit dem Hybrid Application Toolkit ... 191 7.1 ... Entwicklungsumgebung einrichten ... 192 7.2 ... Eine hybride App in der SAP Web IDE entwickeln ... 196 8. Entwicklung einer Mobile Card ... 215 8.1 ... SAP Mobile Cards installieren und vorbereiten ... 216 8.2 ... Eine Mobile Card erstellen ... 218 9. Integration mit On-Premise- und Cloud-Systemen ... 237 9.1 ... Einführung in den Cloud Connector ... 237 9.2 ... Zugriff auf On-Premise-Systeme ... 255 9.3 ... Zugriff auf Cloud-Systeme ... 270 10. Sicherheit der SAP Mobile Services ... 273 10.1 ... Einführung in die Sicherheitsarchitektur der SAP Business Technology Platform ... 273 10.2 ... Standardrollen für die SAP Mobile Services ... 276 10.3 ... Identity Propagation ... 278 10.4 ... Anwenderauthentifizierung ... 287 10.5 ... SAP Authenticator ... 297 10.6 ... Datenschutz ... 299 11. Softwarelogistik ... 303 11.1 ... Softwarelogistik für mobile Lösungen ... 303 11.2 ... Versionsverwaltung mobiler Apps mit Git ... 305 11.3 ... Continuous Integration und Delivery ... 313 12. Integration von Drittanbieterfunktionalität ... 337 12.1 ... Plug-ins in mobile SAP-Fiori-Apps integrieren ... 339 12.2 ... Plug-ins in iOS-Apps integrieren ... 347 12.3 ... Plug-ins in Android-Apps integrieren ... 350 13. Mobile SAP-Standard-Apps ... 353 13.1 ... SAP Analytics Cloud ... 353 13.2 ... SAP Work Manager ... 356 13.3 ... SAP SuccessFactors Mobile ... 357 13.4 ... Mobile App für SAP Concur ... 359 13.5 ... SAP Sales Cloud ... 360 13.6 ... SAP Jam ... 362 Das Autorenteam ... 365 Index ... 367