Programmierung
Fokus!
Du bist Product Owner. Die Aufgabe könnte kaum komplexer sein: Die Qualität eures Produkts hängt von deiner Arbeit ebenso ab wie ein wertschätzendes Miteinander. Auch Infrastruktur, Stakeholder und Terminpläne brauchen deine Aufmerksamkeit. Ihr liefert häufig und du musst stets wissen, wie es um den Fortschritt bestellt ist. Dieses Handbuch hilft dir, die Rolle in allen Facetten gut auszufüllen. Es bietet einen Überblick über Prinzipien, Aufgaben und Artefakte in Scrum, lehrt Grundlagen gelungener Kommunikation und eine Fülle ganz konkreter Vorgehensweisen. Du profitierst von der vielseitigen Erfahrung der Autor*innen im Coaching und in der Produktentwicklung. Lerne pfiffige Abläufe und robuste Methoden für verschiedene Projektsituationen kennen. Für den Einstieg und als Begleiter in der Praxis. Aus dem Inhalt: Weshalb Unternehmen agil arbeitenAufgaben in der Product-Owner-RolleMeetings und Retrospektiven gestaltenProduktstrategie und ZieleStory Mapping und ReleaseplanungKommunikation: POs als VermittlerGekonnt priorisierenDesign Thinking: Nutzer*innen beobachten und verstehenDatengetriebene ProduktentwicklungRisiken erkennenAgilität für ganze Unternehmen Vorwort ... 17 1. Gesucht: Product Owner (m/w/d) ... 19 1.1 ... Scrum - eine agile Allzweckmethode? ... 20 1.2 ... Product Owner*in - was ist das eigentlich? ... 25 1.3 ... Fünf Dinge, um die du dich wirklich kümmern musst ... 31 1.4 ... Was ist NICHT dein Job?! ... 40 2. Alles im Blick: die Produktübersicht ... 43 2.1 ... Viele verschiedene Perspektiven einbeziehen ... 44 2.2 ... Alles auf einem Blatt ... 45 2.3 ... Deine Vision zählt ... 48 2.4 ... Die Bedürfnisse der Kundschaft kennenlernen ... 50 2.5 ... Die Produktstruktur entwickeln ... 52 2.6 ... Der Return muss stimmen: Nutzen und wirtschaftliche Anreize ... 58 2.7 ... Unwägbarkeiten und Risiken konstruktiv wenden ... 60 2.8 ... Rechtliche Rahmenbedingungen einbeziehen ... 65 2.9 ... Die Abhängigkeiten ermitteln ... 66 2.10 ... Die Kommunikation mit den Stakeholder*innen aufbauen ... 70 2.11 ... Experimentiere dich an den Auftrag ran ... 73 2.12 ... Deine persönliche Überblicksroutine ... 75 3. Das Fundament: Projektmanagement ... 77 3.1 ... Meilensteine, Iterationen und das Produkt-Ziel ... 78 3.2 ... Deine Vorgehensstrategie entwickeln ... 83 3.3 ... Wie sag ich es den anderen? ... 88 3.4 ... Vom ersten Meilenstein zum Product Backlog ... 90 3.5 ... Produktarten und ihre Herausforderungen ... 93 4. Zeit für Feedback ... 99 4.1 ... Die Wissensspirale ... 100 4.2 ... Feedback: ehrliche Rückmeldungen für die Weiterentwicklung nutzen ... 102 4.3 ... Voraussetzungen für gute Feedback-Gespräche ... 104 4.4 ... Feedback-Regeln ... 107 4.5 ... Der Feedback-Canvas ... 108 4.6 ... Vom Umgang mit Feedback und Fehlern ... 110 4.7 ... Lernmomente gestalten ... 111 4.8 ... Impulse im Entwicklungsalltag aufgreifen ... 111 5. Product Discovery: Raten oder Daten? ... 123 5.1 ... Was ist Product Discovery? ... 124 5.2 ... Immer ist ein guter Zeitpunkt ... 126 5.3 ... Die Haltung entscheidet ... 126 5.4 ... Methoden zur Product Discovery ... 128 5.5 ... Design Thinking ... 139 5.6 ... Serendipität ... 141 5.7 ... Vorsicht vor Denkfehlern! ... 142 5.8 ... Hypothesen bilden und testen ... 143 5.9 ... Wie weiter? ... 144 6. Zuhören, verstehen, ansprechen: dein Kommunikationsjob ... 147 6.1 ... Verständlichkeit und Verständigung herstellen ... 149 6.2 ... Zusammenarbeit durch angemessene Kommunikation initiieren ... 154 6.3 ... Agil kommunizieren ... 159 6.4 ... Gesprächsführung übernehmen in alltäglichen und herausfordernden Situationen ... 161 6.5 ... Kreative Prozesse moderieren ... 171 6.6 ... Schneller entscheiden, statt immer zu warten ... 175 7. Frisch sortiert ist halb gewonnen: das Refinement ... 187 7.1 ... Hol dein Team zusammen ... 188 7.2 ... Stories und Backlog-Einträge schreiben ... 188 7.3 ... Geschickt schneiden ... 195 7.4 ... Akzeptanzkriterien finden ... 200 7.5 ... Definition of Done ... 204 7.6 ... Gut geschätzt: Story Points & Co. ... 207 7.7 ... Sortieren und priorisieren (und mal Nein sagen können) ... 214 7.8 ... Das Refinement ritualisieren: Wie machen wir das regelmäßig? ... 217 8. Interview: Auf einen Kaffee mit Product Ownerin Jil ... 221 8.1 ... Die Product-Owner-Rolle in der Praxis ... 222 8.2 ... Mit Daten arbeiten ... 223 8.3 ... Kommunikation ist das A und O ... 223 8.4 ... Fragen sind »The Only Way«! ... 225 8.5 ... Dein allerbester Freund aus dem Tech-Team ... 226 8.6 ... Geh mit dem Problem ins Team, nicht mit der Lösung ... 226 8.7 ... Tools helfen, den Überblick zu behalten ... 227 8.8 ... Der Blick ins Product Backlog ... 228 8.9 ... Scrum? Kanban? Scrumban! ... 230 8.10 ... Ein gutes Reporting-Tool ist Pflicht ... 231 9. Was liegt an? Planning und Daily ... 233 9.1 ... Das Sprint Planning vorbereiten ... 235 9.2 ... Das Sprint-Ziel formulieren ... 239 9.3 ... Aushandeln: Was kommt in den Sprint? ... 243 9.4 ... Daily zur Information nutzen ... 246 9.5 ... Dem Team Orientierung geben ... 248 9.6 ... Sind wir done done? Die Definition of Done nutzen ... 249 9.7 ... Wertvoll und nützlich? Features abnehmen ... 249 9.8 ... Refinement: Anforderungen erkennen ... 250 9.9 ... Sprint-Wechsel vorbereiten ... 252 9.10 ... Den Sprint abbrechen ... 252 9.11 ... Dann machen wir eben was anderes: der Pivot ... 256 10. Gemeinsam führen ... 259 10.1 ... Wer macht was? ... 260 10.2 ... Die Grundlagen im Agilen Manifest ... 261 10.3 ... Führen und Managen ... 262 10.4 ... Cynefin Framework ... 265 10.5 ... Dich selbst führen ... 268 10.6 ... Mit anderen führen ... 273 11. Tech für Anfänger*innen ... 281 11.1 ... Zuverlässig und mit hoher Qualität entwickeln und liefern ... 282 11.2 ... Anwendungen professionell betreiben ... 294 11.3 ... Rechtliche und Sicherheitsanforderungen sicherstellen ... 298 11.4 ... Aus- und Weiterbildung ... 303 12. Kurs anpassen: das Review ... 305 12.1 ... Das Sprint Review ... 306 12.2 ... Das Review Meeting vorbereiten ... 307 12.3 ... Zum Start ... 314 12.4 ... Der Stand der Dinge ... 317 12.5 ... Die Entwicklungen im Umfeld ... 322 12.6 ... Wie weiter? ... 325 12.7 ... Was nicht ins Review gehört ... 327 13. Auf eine gute Zusammenarbeit! Die Retrospektive ... 329 13.1 ... Wie wird's gemacht? ... 330 13.2 ... Die richtigen Rahmenbedingungen ... 331 13.3 ... Psychologische Sicherheit ... 331 13.4 ... Lass uns über Gefühle sprechen ... 333 13.5 ... Die Retrospektive für kritisches Feedback nutzen ... 334 13.6 ... Ein typischer Ablauf ... 335 13.7 ... Nach der Retro ist vor der Retro ... 337 14. Guter Rat von Lennart ... 339 14.1 ... Was macht ein Agile Coach? ... 339 14.2 ... Der Unterschied zur Scrum-Master-Rolle ... 340 14.3 ... Wie ein agiler Coach unterstützt ... 340 14.4 ... Tipps für das Stakeholder-Management ... 341 14.5 ... Es gibt keine schlechten Nachrichten ... 342 14.6 ... Wenn Führung fordert ... 343 14.7 ... Der Weg zum Agile Coach ... 344 15. Heiße Konflikte willkommen! ... 347 15.1 ... Konflikte für Innovationen nutzen ... 348 15.2 ... Die Basis für Austausch schaffen ... 353 15.3 ... Höflich miteinander umgehen ... 363 15.4 ... Das Kritische ansprechen: der Elefant im Raum ... 365 15.5 ... Nein sagen (können/dürfen/müssen) ... 370 15.6 ... Grenzen der Kommunikation anerkennen und für sich selbst sorgen ... 372 16. Liefern mit Stil ... 377 16.1 ... Wie oft liefern? ... 379 16.2 ... Was ist alles zu tun? ... 381 16.3 ... Liefern ist kein Endpunkt ... 390 17. Umfeld und Unterstützung: die Sicht aufs Unternehmen ... 391 17.1 ... Warum Organisationsentwicklung? ... 392 17.2 ... Vom ersten Scrum Team zum agilen Unternehmen ... 399 17.3 ... Hypothesengeleitete Entwicklung ... 415 18. Gut gemacht! ... 421 18.1 ... Probiere es einfach aus! ... 421 18.2 ... Danke ... 422 Anhang ... 423 A ... Elefanten-Carpaccio (Beispiellösung) ... 423 B ... Literaturverzeichnis ... 427 Das Team, das dieses Buch geschrieben hat ... 437 Index ... 439
Python lernen - kurz & gut
Der praktische Schnelleinstieg in die Python-Programmierung- Kompakt und verständlich vermittelt dieses Buch den Umgang mit Python 3- Ein interaktiver Einstieg erlaubt direktes Ausprobieren und verschafft schnelle Erfolgserlebnisse- Sie lernen die Python-Grundlagen und einen guten Stil beim Entwickeln- Der Sourcecode, die Beispiele und ergänzende umfangreiche Praxisprojekte sind als Download verfügbar und erleichtern das VerständnisDieses Buch ist für vielbeschäftigte Programmierer:innen, die eine knappe und dennoch gut verständliche Einführung in Python als immer populärer werdende Programmiersprache suchen. Python lernen – kurz & gut bietet einen unterhaltsamen Einstieg und informiert Sie über viele Python-Bestandteile, die Ihnen helfen werden, schnell durchzustarten:- Installation von Python- Schnelleinstieg in die wichtigsten Aspekte- Basisbausteine wie Strings, Enums, Zufallszahlen, Fallunterscheidungen und Schleifen- Klassen und objektorientierte Programmierung- Datencontainer wie Listen, Mengen und Tupel- Fortgeschrittene Themen zu Collections wie Iteratoren, Generatoren, Slicing, Sortierungen und Comprehensions- Datumsverarbeitung inklusive Berechnungen- Dateiverarbeitung und JSON sowie Behandlung von FehlernTrotz seines kompakten Formats liefert dieses Buch eine fundierte Einführung und eine Fülle an leicht nachvollziehbaren Beispielen, die zum Experimentieren einladen. Es unterstützt Sie optimal dabei, Ihre Python-Kenntnisse auf- und auszubauen. Insbesondere wenn Sie bereits ein wenig mit z.B. Java oder C++ vertraut sind, ist dieses Buch die ideale Wahl, um solide in Python einzusteigen.Zum Autor:Michael Inden ist Java- und Python-Enthusiast mit über zwanzig Jahren Berufserfahrung. 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. Seit Anfang 2022 ist er als Head of Development in Zürich tätig. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen sowie 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. Zudem hält er Vorlesungen zum Thema Einstieg in Python im Rahmen eines CAS Machine Learning for Software Engineers.
Spring 6 Recipes
This in-depth Spring-based Java developer code reference has been updated and now solves many of your Spring Framework 6 problems using reusable, complete and real-world working code examples. SPRING 6 RECIPES (5th Edition) now includes Spring Native which speeds up your Java-based Spring Framework built enterprise, native cloud, web applications and microservices. It also has been updated to now include Spring R2DBC for Reactive Relational Database Connectivity, a specification to integrate SQL databases, like PostgreSQL, MySQL and more, using reactive drivers.Furthermore, this book includes additional coverage of WebFlux for more reactive Spring web applications. Reactive programming allows you to build systems that are resilient to high load, especially common in the more complex enterprise, native cloud applications that Spring Framework lets you build. This updated edition also uses code snippets and examples based on newest available standard long term support release of Java. When you start a new project, you’ll be able to copy the code and configuration files from this book, and then modify them for your specific Spring Framework-based application needs. This can save you a great deal of work over creating a project from scratch.This powerful code reference is a "must have" for your print or digital library. This developer cookbook comes with accompanying source code that is freely available on GitHub under latest Creative Commons open source licensing.WHAT YOU'LL LEARN* Get re-usable code recipes and snippets for core Spring, annotations and other development tools* Dive into Spring Native which merges the popular Spring and GraalVM for increased performance, speed and reliability of your Spring Framework 6 applications* Explore Spring R2BC for reactive relational database connectivity with SQL* Build reactive Spring MVC-based web applications and microservices using WebFlux* Enhance your enterprise or native cloud applications using Spring Transaction Management* Test, secure and deploy your Spring applications using reusable code templates availableWHO THIS BOOK IS FORThis book is for experienced Java programmers, software developers with experience using the Spring Framework.Marten Deinum is a submitter on the open source Spring Framework project. He is also a Java/software consultant working for Conspect. He has developed and architected software, primarily in Java, for small and large companies. He is an enthusiastic open source user and longtime fan, user and advocate of the Spring Framework. He has held a number of positions including Software Engineer, Development Lead, Coach, and also as a Java and Spring Trainer.Daniel Rubio is an independent consultant with over 10 years of experience in enterprise and web-based software. More recently, Daniel is founder and technical lead at MashupSoft.com. He has co-authored the best selling Spring Recipes as well as other books for Apress Media, LLC. Daniel's expertise lies in Java, Spring, Python, Django, JavaScript/CSS and HTML.Josh Long is the Spring Developer Advocate at Pivotal. Josh is a Java Champion, author of 5 books (including O'Reilly's upcoming "Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry") and 3 best-selling video trainings (including "Building Microservices with Spring Boot Livelessons" w/ Phil Webb), and an open-source contributor (Spring Boot, Spring Integration, Spring Cloud, Activiti and Vaadin).1. Spring Development Tools2. Spring Core Tasks3. Spring Native: Spring + GraalVM4. Spring MVC5. Spring REST6. Spring MVC - Async Processing7. Spring WebFlux8. Spring Security9. Data Access10. Spring R2DBC11. Spring Transaction Management12. Spring Batch13. Spring with NoSQL14. Spring Java Enterprise Services and Remoting Technologies15. Spring Messaging16. Spring Integration17. Spring TestingA. Spring Deployment to the CloudB. Caching.
Coding Alles-in-einem-Band für Dummies
Wenn Sie Webseiten oder mobile Apps entwickeln möchten, dann ist dieses Buch für Sie gemacht! Auch ganz ohne Vorkenntnisse steigen Sie einfach ein und lernen die einzelnen Programmiersprachen und Technologien jeweils für sich und im Zusammenspiel kennen und einsetzen. Angefangen beim grundlegenden Aufbau einer Webseite mit HTML, CSS und JavaScript über die Entwicklung mobiler Apps für iOS- und Android-Geräte mit Flutter bis hin zur Verarbeitung der Daten mit Python: Hier ist einfach mehr für Sie drin! Wenn Sie sich einen breiten Überblick über die Webentwicklung und Programmierung verschaffen wollen, dann werfen Sie am besten gleich einen Blick in dieses Buch ...Die inhaltliche Breite dieses Werkes ist nur möglich durch die Zusammenarbeit verschiedener erfahrener Programmiererinnen und Programmierlehrer. Unter der Federführung von Chris Minnick, Autor zahlreicher IT-Fachbücher haben Eva Holland, Nikhil Abraham, John Paul Mueller, Luca Massaron und Barry Burd - allesamt Autoren anderer Dummies-Bücher - dieses Handbuch für angehende und fortgeschrittene Webentwicklerinnen geschrieben.
Job Ready SQL
LEARN THE MOST IMPORTANT SQL SKILLS AND APPLY THEM IN YOUR JOB—QUICKLY AND EFFICIENTLY!SQL (Structured Query Language) is the modern language that almost every relational database system supports for adding data, retrieving data, and modifying data in a database. Although basic visual tools are available to help end-users input common commands, data scientists, business intelligence analysts, Cloud engineers, Machine Learning programmers, and other professionals routinely need to query a database using SQL. Job Ready SQL provides you with the foundational skills necessary to work with data of any kind. Offering a straightforward ‘learn-by-doing’ approach, this concise and highly practical guide teaches you all the basics of SQL so you can apply your knowledge in real-world environments immediately. Throughout the book, each lesson includes clear explanations of key concepts and hands-on exercises that mirror real-world SQL tasks.* Teaches the basics of SQL database creation and management using easy-to-understand language* Helps readers develop an understanding of fundamental concepts and more advanced applications such as data engineering and data science* Discusses the key types of SQL commands, including Data Definition Language (DDL) commands and Data Manipulation Language (DML) commands* Includes useful reference information on querying SQL-based databasesJob Ready SQL is a must-have resource for students and working professionals looking to quickly get up to speed with SQL and take their relational database skills to the next level. KIMBERLY A. WEISS is Senior Manager of Curriculum Operations for Wiley Edge. She has extensive experience developing interactive instructional content for a wide variety of learners. HAYTHEM BALTI, PHD, is Associate Dean at Wiley Edge (formerly mthree), a software development and data science education platform.
Kubernetes (3. Auflg.)
Eine kompakte EinführungKubernetes hat radikal die Art und Weise verändert, wie Softwareentwicklung und Systemadministration Anwendungen in der Cloud bauen, deployen und warten. Die aktualisierte dritte Auflage dieses Buches zeigt Ihnen, wie dieser beliebte Container-Orchestrierer dabei helfen kann, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen – egal ob Ihnen verteilte Systeme neu sind oder ob Sie schon längere Zeit Cloud-native Anwendungen deployen.Die Kubernetes-Veteranen Brendan Burns, Joe Beda, Kelsey Hightower und Lachlan Evenson erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sind Sie aus der Softwareentwicklung, Architektur oder Administration, erfahren Sie, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren.Erstellen Sie ein einfaches Cluster, um zu lernen, wie Kubernetes funktioniert.Tauchen Sie in die Details des Deployments mit Kubernetes ein.Arbeiten Sie mit den spezialisierten Objekten in Kubernetes wie zum Beispiel DaemonSets, Jobs, ConfigMaps und Secrets.Erfahren Sie mehr über Deployments, die den Lebenszyklus einer vollständigen Anwendung zusammenhalten.Sichern Sie Ihre Deployments ab.Deployen Sie Anwendungen auf mehrere Cluster und greifen Sie auf Kubernetes über Programmiersprachen zu.Autoren:Brendan Burns, Distinguished Engineer in Microsoft Azure, hat zusammen mit Joe Beda und Craig McLuckie das Kubernetes-Projekt bei Google mitbegründet. Aktuell ist er Director of Engineering bei Microsoft Azure.Joe Beda ist CTO von Heptio, einem Start-up, das er zusammen mit Craig McLuckie gegründet hat. Zuvor hat er bei Google die Google Compute Engine aus der Taufe gehoben und zusammen mit Brendan Burns und Craig McLuckie Kubernetes geschaffen.Kelsey Hightower ist Staff Developer Advocate für die Google Cloud Platform. Er ist ein großer Freund von Open Source und sein Schwerpunkt liegt darin, einfache Werkzeuge zu bauen, die die Menschen glücklich machen.Lachlan Evenson ist leitender Produktmanager des Container Compute Teams bei Microsoft Azure. Er hat durch praktische Trainings vielen Leuten dabei geholfen, Kubernetes zu integrieren.Inhaltsverzeichnis (PDF-Link)
Beginning Java Objects
Learning to design objects effectively with Java is the goal of Beginning Java Objects: From Concepts to Code, Second Edition. Plenty of titles dig into the Java language in massive detail, but this one takes the unique approach of stepping back and looking at fundamental object concepts first. Mastery of Java—from understanding the basic language features to building complete industrial-strength Java applications—emerges only after a thorough tour of thinking in objects.The first edition of _Beginning Java Objects_ has been a bestseller; this second edition includes material on the key features of J2SE 5, conceptual introductions to JDBC and J2EE, and an in-depth treatment of the critical design principles of model-data layer separation and model-view separation.Despite the plethora of beginning Java titles on the market, this book is truly unique in its coverage of three critical topic—sobject concepts, UML modeling, and Java programming—within a single cover. It’s ideal for both individual self-study and as a university-level textbook. Let Beginning Java Objects, Second Edition be your guide!JACQUIE BARKER is a professional software engineer, author, and former adjunct faculty member at both George Mason University in Fairfax, VA and The George Washington University in Washington, DC. With over 30 years of experience as a software developer and project manager, Jacquie has spent the past 15 years focused on object technology, and is proficient as an object modeler and Sun Microsystems Certified Java programmer.Jacquie earned a bachelor of science degree in computer engineering with highest honors from Case Institute of Technology/Case Western Reserve University in Cleveland, Ohio, and a master of science degree in computer science, emphasizing software systems engineering, from the University of California, Los Angeles. She has subsequently pursued postgraduate studies in information technology at George Mason University in Fairfax, VA. Jacquie’s winning formula for teaching object fundamentals continues to receive praise from readers around the world, and her Apress book Beginning Java Objects: From Concepts to Code has been adopted by many universities as a key textbook in their core IT curricula.On a personal note, Jacquie’s passions include her husband Steve and their three cats Walter, Rocky, and Tanner; serving as founder and executive director of Pets Bring Joy, a 501(c)(3) non-profit animal rescue organization (pbj.org); and her recent launch of a pro bono IT consulting service for start-up non profits (probonoit.org).Part I: The ABCs of ObjectsChapter 1: Abstraction and ModelingChapter Goal: Introducing the mechanism of abstraction as a natural way for humans to interpret the world, and how this relates to object modeling in the software realm.Subtopics:• Simplification through abstraction• Generalization through abstraction• Reusing abstractionsChapter 2: Some Java BasicsChapter Goal: Provide the reader with an immediate introduction to Java language fundamentals so that object concepts can be illustrated using Java code examples as soon as we begin introducing them in chapter 3.Subtopics:• Strengths of the Java language• Primitive Java types• The anatomy of a Java program• Mechanics of compiling and running a Java program• Java’s block structured nature• Elements of Java programming styleChapter 3: Objects and ClassesChapter Goal: Explain the basic building blocks of an OO application – classes as mini-abstractions aka templates for creating object instances.Subtopics:• Advantages of an OO approach to software development over a non-OO approach• How classes are used to specify a type of object’s data• How objects are created (instantiated) at run time• The use of reference variables to refer to objects symbolicallyChapter 4: Object InteractionsChapter Goal: Explain how object behaviors are defined as methods within classes, and how objects collaborate by invoking one another’s methods to accomplish the overall mission of the system.Subtopics:• How methods are used to specify an object’s behaviors• The anatomy of a Java method• How objects send messages to one another to accomplish collaboration• How classes use public and private visibility to publicize what services a type of object can perform while hiding both the logic for how the service is accomplished and the internal data structure needed to support the service• The use of constructors to instantiate the state of an object when first instantiatedChapter 5: Relationships Between ObjectsChapter Goal: Explains the notion of a structural relationship between two objects, wherein the data structures of the classes to which they belong are designed to maintain lasting relationships between objects once instantiated. The two main approaches to accomplishing this are (a) encoding associations between two classes of objects as reference variables within their data structures, (b) having one class inherit and extend the capabilities of another.Subtopics:• Types of structural relationships maintained by objects: associations, aggregations, inheritance• The inheritance mechanism, and guidelines for what we can and cannot achieve when deriving new classes via inheritance• Revisiting constructors regarding some complexities that must be understood when inheritance is involvedChapter 6: Collections of ObjectsChapter Goal: Introduce a special category of objects (classes) known as collections, to be used for efficiently managing an indefinite number of objects of the same type.Subtopics:• The properties of three generic collection types: ordered lists, sets, and dictionaries• The specifics of several different commonly-used built-in Java collection types• The concept of Java packages as logical groupings of classes, and the use of import statements• The power of collections in modeling very sophisticated real-world scenarios• Design techniques for programmer-defined collection typesChapter 7: Some Final Object ConceptsChapter Goal: Covers several key but often misunderstood advanced language features that are essential to taking full advantage of Java’s object-oriented nature: polymorphism (how a single line of code representing a method invocation can exhibit a variety of different behaviors at run time); abstract methods, classes, and interfaces; and static features (data/methods belonging to an entire class of objects versus objects individually).Subtopics:• The runtime mechanism of polymorphism• Abstract classes and methods• The incredible power of interfaces in streamlining Java code• Static featuresPart II: Object Modeling 101Chapter 8: The Object Modeling Process in a NutshellChapter Goal: A high-level overview of how to approach the requirements of a system so as to structure it from the ground up to take advantage of all of the strengths of an OO language like Java.Subtopics:• The goals of and philosophy begin object modeling• Flexibility in terms of selecting or devising a modeling methodology• The pros and cons of using object modeling software toolsChapter 9: Formalizing Requirements Through Use CasesChapter Goal: Explains the importance of developing use cases when establishing requirements for an application, to ensure that (a) all categories of intended user are identified, (b) all of the services that each user category will expect the system to provide, and (c) what their expectations are of the desired outcome for each of the service types.Subtopics:• Introduction to use cases• The notion of actors• Involving users in defining use cases• Approaches to documenting/diagramming use casesChapter 10: Modeling the Data Aspects of the SystemChapter Goal: Illustrate the process by which the types of classes, their respective data structures, and their interrelationships can be discovered and rendered graphically using UML notation.Subtopics:• Technique for identifying the appropriate classes and their respective attributes• Technique for determining the structural relationships that exist among these classes• How to graphically portray this information in proper UML notationChapter 11: Modeling the Behavioral Aspects of the SystemChapter Goal: Revisiting the evolving object model of chapter 10 to reflect the services/behaviors/methods required of each identified class to ensure that the overall requirements of the application will be satisfied.Subtopics:• How the behaviors (method execution) of an object affects its state (data)• Developing scenarios for how use cases (defined in chapter 9) might play out• Creating sequence diagrams based on scenarios• Using sequence diagrams to determine methodsChapter 12: Wrapping Up Our Modeling EffortsChapter Goal: This chapter focuses on ways to test a model before coding begins, as well asSubtopics:• Testing the model• Revisiting requirements and adapting the model as necessary• Reusing models in the form of design patternsPart III: Translating an Object Blueprint into Java CodeChapter 13: A Few More Key Java Details (retitled from 2nd edition)Chapter Goal: Covering a variety of important Java topics that were not essential to illustrating the object concepts of Part I per se, but which are nonetheless key to a rounding out a beginning level Java programmer’s facility with the language. I plan on eliminating a few sections from this chapter if I determine that any of the topics covered are *not* essential to understanding the Student Registration System (SRS) code of chapter 14.Subtopics:• Java application architecture, revisited• Nature and purpose of Java Archive (JAR) files• Java documentation comments• Object nature of Strings• Java enums (enumerations)• Object self-referencing via the “this” keyword• The nature of run-time exceptions, how to handle them, and how to define and use custom exception types• Important features of the built-in Object class• Techniques for command line input• Remove: discussion of inner classes (no longer needed since we are eliminating the chapter on the Swing API)• Remove: narrative regarding Java version 5 language enhancementsChapter 14: Transforming Your Model into Java CodeChapter Goal: In this chapter, I pull together all that we’ve covered in Part I of the book to render the UML model created in Part II of the book into a complete, fully functioning model layer for the Student Registration System. This code can be run from the command line, and will be downloadable from the Apress website.Subtopics: How to code …• … associations of varying multiplicities (one-to-one, one-to-many, many-to-many)• … inheritance relationships• … association classes• … reflexive associations• … abstract classes• … metadata• … static attributes and methodsChapter 15: Three Tier Architectures: Considerations for Adding a User Interface and Data Layer to Your ApplicationChapter Goal: Conceptually introduce the notion of model – presentation layer – data layer separation, using pseudocode examples to illustrate how these layers interact with the model layer code of chapter 14.Subtopics:• Overview of the power of model – presentation layer – data layer separation• Concept of operations for the Student Registration System user interface• Detailed walk-through of pseudocode illustrating (a) how the data layer is used to validate and persist model layer logic, (b) how the user interface/presentation layer is used to receive data and operational requests from a user
Kubernetes
Kubernetes einfach und schnell erklärt Alles, was Sie über Kubernetes wissen müssen Für Einsteiger und Admins ohne Kubernetes-Vorkenntnisse Mit zahlreichen Beispielen aus der Praxis Kubernetes hat radikal die Art und Weise verändert, wie Softwareentwicklung und Systemadministration Anwendungen in der Cloud bauen, deployen und warten. Die aktualisierte dritte Auflage dieses Buches zeigt Ihnen, wie dieser beliebte Container-Orchestrierer dabei helfen kann, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen – egal ob Ihnen verteilte Systeme neu sind oder ob Sie schon längere Zeit Cloud-native Anwendungen deployen. Die Kubernetes-Veteranen Brendan Burns, Joe Beda, Kelsey Hightower und Lachlan Evenson erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sind Sie aus der Softwareentwicklung, Architektur oder Administration, erfahren Sie, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren. Aus dem Inhalt: Erstellen Sie ein einfaches Cluster, um zu lernen, wie Kubernetes funktioniert. Tauchen Sie in die Details des Deployments mit Kubernetes ein. Arbeiten Sie mit den spezialisierten Objekten in Kubernetes, wie zum Beispiel DaemonSets, Jobs, ConfigMaps und Secrets. Erfahren Sie mehr über Deployments, die den Lebenszyklus einer vollständigen Anwendung zusammenhalten. Sichern Sie Ihre Deployments ab. Deployen Sie Anwendungen auf mehrere Cluster und greifen Sie auf Kubernetes über Programmiersprachen zu. "Geschrieben von vier der weltweit angesehensten Experten für Cloud-native Systeme, ist ›Kubernetes‹ das Buch der Wahl, um eine solide Grundlage für Kubernetes-Konzepte zu schaffen, mit Beispielen, die Sie dabei unterstützen, Kubernetes selbst zu erkunden." — Liz Rice, Isovalent
Beginning Ethereum Smart Contracts Programming
Use this book to write an Ethereum blockchain smart contract, test it, deploy it, and create a web application to interact with your smart contract. This new edition has been expanded and updated to cover web3.js APIs, additional Consensus Protocols, non-Fungible Tokens (NFTs), developing NFT tokens using ERC-721, and more!BEGINNING ETHEREUM SMART CONTRACTS PROGRAMMING, SECOND EDITION is your fastest and most efficient means of getting started if you are unsure where to begin and how to connect to the Ethereum blockchain. The book begins with a foundational discussion of blockchain and the motivation behind it. From there, you will get up close and personal with the Ethereum blockchain, learning how to use an Ethereum client (geth) to create a private Ethereum blockchain to perform transactions such as sending Ethers to another account on another node.You will learn about smart contracts without having to wade through tons of documentation. Author Lee’s “learn-by-doing” approach will allow you to be productive and feel confident in your ability in no time. The last part of this book covers tokens, a topic that has taken the cryptocurrency market by storm.Sample code in Python, Solidity, and JavaScript is provided in the book and online.WHAT YOU'LL LEARN* Understand the basic premise of blockchain and “record keeping” in a peer-to-peer network* Experience blockchain in action by creating your own blockchain using Python* Know the foundation of smart contracts programming and how to deploy and test smart contracts* Work on a case study to illustrate the use of blockchain* Be familiar with tokens, and how to create and launch your own ICO digital token* Write smart contracts that transact using tokensWHO THIS BOOK IS FORThose who want to get started quickly with Ethereum smart contracts programming. Basic programming knowledge and an understanding of Python or JavaScript is recommended.WEI-MENG LEE is the founder of Developer Learning Solutions, a technology company specializing in hands-on training of blockchain and other emerging technologies. He has many years of training expertise and his courses emphasize a learn-by-doing approach. He is a master at making learning a new programming language or technology less intimidating and fun. He can be found speaking at conferences worldwide such as NDC and he regularly contributes to online and print publications such as DevX.com, MobiForge.com, and CoDe Magazine. He is active on social media on his blog learn2develop.net, on Facebook at DeveloperLearningSolutions, on Twitter @weimenglee, and on LinkedIn at leeweimeng.---NEW Chapter----CHAPTER 1 - TECHNOLOGIES BEHIND BLOCKCHAINBASIC CRYPTOGRAPHYTYPES OF CRYPTOGRAPHIC ALGORITHMSSYMMETRICASYMMETRICHASHINGDIGITAL SIGNATURESUMMARYChapter 2 - Understanding Blockchain---NEW SECTION---CONSENSUS PROTOCOLSPROOF OF STAKE (POS)PROOF OF ELAPSED TIMEPROOF OF SPACE...-----------------Chapter 3 - Implementing Your Own Blockchain using PythonChapter 4 - Connecting to the Ethereum Blockchain using GethChapter 5 - Creating Your Own Private Ethereum Test NetworksChapter 6 - Using the Crypto Wallet - MetaMaskChapter 7 - Getting Started with Solidity Smart ContractsChapter 8 - Testing Smart Contracts using GanacheChapter 9 - Building Decentralized Apps using the web3.js APIsChapter 10 - Handling Smart Contract EventsChapter 11 - Project - Online LotteryChapter 12 - Creating Tokens using ERC-20---REVISED USING OPENZEPPLIN’S CONTRACT------NEW CHAPTERS----CHAPTER 13 - CREATING NON-FUNGIBLE TOKENS USING ERC-721WHAT IS A NFT?STORING DIGITAL ASSETS USING IPFSWHAT IS IPFSUPLOADING A FILE TO IPFSACCESSING A FILE FROM IPFSNFT AND IPFSCREATING THE NFT TOKEN CONTRACTDEPLOYING THE CONTRACTMINTING THE NFT TOKEN CONTRACTGETTING THE OWNER OF THE NFTGETTING THE NAME AND SYMBOL OF NFTFINDING THE BALANCE OF NFT FOR AN ADDRESSGETTING THE OWNER OF THE NFTGETTING THE TOKENURITRANSFERRING A NFTTRANSFERRING OWNERSHIP OF THE NFT CONTRACTCHAPTER 14 – INTRODUCTION TO DEFIWHAT IS DECENTRALIZED FINANCESTABLECOINSTYPES OF STABLECOINSUSDCDAISERVICES IN DEFICOMPONENTS IN DEFIAPPLICATIONS OF DEFI------------------
Terraform
Das Praxisbuch für DevOps-Teams und Administratoren. »Infrastructure as Code« richtig umgesetzt.Mit Terraform errichten Sie komplexe Infrastrukturen automatisiert in der Cloud und orchestrieren Deployments, die genau Ihren Anforderungen entsprechen. Tim Beermann, Johannes Kastl, Christian Rost, Thorsten Schifferdecker und Eike Waldt zeigen Ihnen, wie Sie Deployments verwalten, Ressourcen mit HCL skripten und den State Ihres Setups verwalten. So gerüstet entwerfen Sie wiederverwendbaren Code, vermeiden Fallstricke und schaffen einen komfortablen Arbeitsweg zur Verwaltung Ihrer Cloud-Landschaften.Inkl. umfassender Kommandoreferenz und Best Practices für den alltäglichen Betrieb.Aus dem Inhalt:Infrastructure as CodeWas ist Terraform? Installation und alle GrundlagenProvider: Konfiguration und Beispiel-SetupsState – Der Zustand der UmgebungVariablen und DatenquellenHCL: Terraform programmierenUpdates und Day-2-OperationsTerragrunt und weitere ToolsBest Practices: Terraform richtig nutzenMulti-Cloud-DeploymentsLeseprobe (PDF-Link)Zu den Autoren: Tim Beermann ist seit frühester Jugend begeisterter Linuxadministrator. Während seiner Laufbahn hat er ein ERP-System mitentwickelt und Serverlandschaften sowie Cloudumgebungen betreut.Johannes Kastl ist seit frühen SUSE-Tagen begeisterter Linuxnutzer. Er war mehrere Jahre in der Administration einer großen privaten Cloud-Landschaft tätig, unter anderem als Administrator, technischer Product Owner, Scrum Master und Teamkoordinator.Christian Rost begleitet und verantwortet große und kleine Projekte im Container- und Kubernetesumfeld, plant und baut Logging- und Monitoringlösungen mit Elasticstack und steht für das ein oder andere ownCloud-Projekt zur Verfügung.Thorsten Schifferdecker ist seit mehr als 20 Jahren begeisterter Linuxnutzer und in der IT als Architekt tätig.Eike Waldt hat während seiner Laufbahn viele SUSE- und SAP-Projekte begleitet und geleitet. Innerhalb dieser Projekte entwarf er komplexe Mechanismen zur Verwaltung von gewachsenen Landschaften und strukturierte gewachsene Code-Sammlungen mittels DevOps und CI.
React - Das umfassende Handbuch (2. Auflage)
Grundlagen und Profiwissen in 2. aktualisierter und erweiterter Auflage, April 2023Welcher Frontendentwickler hat noch nicht von React gehört? Diese ursprünglich von Facebook entwickelte JavaScript-Bibliothek hat innerhalb kurzer Zeit eine steile Karriere hingelegt. Sie bildet eine wichtige Grundlage für viele Unternehmensanwendungen, Single-Page-Applikationen sowie für viele Apps für iPhone und Android. Erfahren Sie in dem neuen Buch des JavaScript-Experten Sebastian Springer, wie Sie performante Oberflächen gestalten. Mit einfachen und leicht verständlichen Beispielen erlernen Sie die Grundlagen von React, React Native und Redux. Und auch als fortgeschrittener JavaScript-Entwickler profitieren Sie von den vielen Profithemen wie Tests, Animationen, Material Design Components, Server Side Renderung über Debugging bis hin zur Entwicklung von vollständigen mobilen Anwendungen. Dieses Buch ist ein Muss für jeden JavaScript-Entwickler und für jeden, der React lernen möchte!Aus dem Inhalt:Erste Schritte mit ReactTypsicherheit in React mit TypeScriptStyling von KomponentenAbsicherung durch automatisierte TestsInteraktion über FormularePerformance sicherstellenMaterial Design ComponentsArbeit mit dem React RouterZentrales Statemanagement mit ReduxAsynchronität und Seiteneffekte in Redux Internationalisierung, Server Side RenderingServerkommunikation mit GraphQL, React Query und dem Apollo ClientLeseprobe (PDF-Link)Zum Autor:Sebastian Springer ist als JavaScript Engineer bei MaibornWolff tätig. Neben der Entwicklung und Konzeption von Applikationen liegt sein Fokus auf der Vermittlung von Wissen.
Einstieg in ABAP
Lernen Sie ABAP schnell und effizient! Mit diesem Standardwerk feiern Sie im Handumdrehen erste Erfolge mit selbst geschriebenem Quellcode. Es behandelt alle relevanten ABAP-Sprachelemente in kompakten Lerneinheiten. Mit kommentierten Codebeispielen, vielen Screenshots und wertvollen Tipps. Aus dem Inhalt: Erste Schritte im SAP-SystemABAP Dictionary und ABAP EditorABAP Development Tools in EclipseFelder und BerechnungenDebugging von ProgrammenDatenbanktabellen und CDS-ViewsProgrammablaufsteuerung und logische AusdrückeSelektionsbildschirme und SAP FioriInterne TabellenModularisierung von Programmen Einleitung ... 15 1. ABAP und die ersten Schritte im SAP-System ... 21 1.1 ... Architektur des SAP-Systems im Überblick ... 23 1.2 ... Anwendungsprogramme und Laufzeitumgebung ... 31 1.3 ... Anmelden am und Abmelden vom System ... 37 2. ABAP Dictionary ... 49 2.1 ... Einstieg in das ABAP Dictionary ... 49 2.2 ... Datenelemente und Domänen ... 56 2.3 ... Datensätze erfassen ... 70 3. Programmieren im ABAP Editor ... 73 3.1 ... ABAP-Report anlegen ... 73 3.2 ... ABAP Editor im Überblick ... 77 3.3 ... ABAP-Programme verstehen und bearbeiten ... 81 3.4 ... ABAP-Report ausführen ... 84 3.5 ... Datenbanktabelle lesen und ausgeben ... 85 3.6 ... Aufbereitung von Listen ... 89 3.7 ... Quellcode schreiben und editieren ... 91 4. Felder und Berechnungen ... 101 4.1 ... Report vorbereiten ... 101 4.2 ... Felder deklarieren ... 105 4.3 ... Grundrechenarten ... 110 4.4 ... Inline-Variablendeklarationen ... 115 4.5 ... Codebeispiel zu Feldern und Berechnungen ... 117 5. Mit Zeichenketten arbeiten ... 125 5.1 ... Zeichenketten deklarieren ... 125 5.2 ... Zeichenkettenoperationen ... 128 5.3 ... Codebeispiel zu String-Operationen ... 137 6. Debugging von Programmen ... 145 6.1 ... Aufruf des ABAP Debugger ... 146 6.2 ... Mit dem ABAP Debugger arbeiten ... 149 6.3 ... Schicht für Schicht: Layer-aware Debugging ... 161 6.4 ... Codebeispiel zum Layer-aware Debugging ... 168 7. Transparente Datenbanktabellen bearbeiten ... 171 7.1 ... Datenbanktabelle kopieren ... 172 7.2 ... Nicht-Schlüsselfelder ergänzen ... 177 7.3 ... Tabellen erweitern ... 190 7.4 ... Schlüsselfelder von Tabellen manipulieren ... 199 7.5 ... Tabellenfelder löschen ... 203 7.6 ... Tabellen löschen ... 204 8. Rechnen mit Datum und Zeit, Mengen und Währungen ... 207 8.1 ... Felddeklarationen ... 207 8.2 ... Rechnen mit Datumsfeldern ... 210 8.3 ... Rechnen mit Zeitfeldern ... 216 8.4 ... Rechnen mit Mengen- und Währungsfeldern ... 220 8.5 ... Codebeispiel zu Datums-, Zeit- und Währungsfeldern ... 222 9. Mit Daten in einer Datenbanktabelle arbeiten ... 235 9.1 ... Berechtigungskonzept ... 236 9.2 ... Sperrkonzept ... 238 9.3 ... Open-SQL-Anweisungen ... 240 9.4 ... Codebeispiel zu INSERT ... 248 9.5 ... Codebeispiel zu UPDATE ... 252 9.6 ... Codebeispiel zu MODIFY ... 256 9.7 ... Codebeispiel zu DELETE ... 259 10. Programmablaufsteuerung und logische Ausdrücke ... 263 10.1 ... Kontrollstrukturen ... 263 10.2 ... Arbeiten mit Mustern ... 264 10.3 ... Verzweigungen ... 268 10.4 ... Schleifen ... 274 10.5 ... Logische Ausdrücke ... 282 10.6 ... Codebeispiel zu IF ... 289 10.7 ... Codebeispiel zu CASE ... 294 10.8 ... Codebeispiel zu DO und Abbruchbedingungen ... 299 10.9 ... Codebeispiel zu WHILE und logischen Ausdrücken ... 305 11. Selektionsbildschirme ... 313 11.1 ... Ereignisse ... 316 11.2 ... Einfache Selektionen ... 319 11.3 ... Komplexe Selektionen ... 327 11.4 ... Selektionstexte verwenden ... 332 11.5 ... Selektionsbild speichern ... 337 11.6 ... Ergänzende Textobjekte ... 344 11.7 ... Selektionsbilder frei gestalten ... 350 11.8 ... Codebeispiel zum Selektionsbild (einfache Form) ... 354 11.9 ... Codebeispiel zum Selektionsbild (erweiterte Form) ... 360 12. Interne Tabellen ... 371 12.1 ... Sinn und Zweck interner Tabellen ... 372 12.2 ... Aufbau und Arten interner Tabellen ... 374 12.3 ... Interne Standardtabelle deklarieren ... 377 12.4 ... Interne Standardtabelle füllen ... 380 12.5 ... Interne Tabelle zeilenweise verarbeiten ... 384 12.6 ... Inhalte von internen Tabellen löschen ... 393 12.7 ... Codebeispiel zum Arbeiten mit internen Tabellen ... 394 13. Modularisierung von Programmen ... 405 13.1 ... Modularisierungstechniken ... 405 13.2 ... Quelltextmodule ... 408 13.3 ... Unterprogramme ... 411 13.4 ... Funktionsbausteine ... 421 13.5 ... ABAP-Klassen ... 437 13.6 ... Speicherbereiche für die Datenübergabe ... 445 13.7 ... Codebeispiele zur Modularisierung ... 449 13.8 ... Codebeispiele zum Aufruf fremder Reports ... 461 14. ABAP in Eclipse ... 467 14.1 ... Eclipse als alternative Entwicklungsumgebung ... 467 14.2 ... Installation von ABAP in Eclipse ... 469 14.3 ... Erste Schritte mit ABAP in Eclipse ... 473 14.4 ... ABAP in Eclipse oder im SAP GUI? ... 482 15. Core Data Services zur Abbildung von Datenmodellen ... 485 15.1 ... Datenbank-Views in der Anwendungsentwicklung ... 485 15.2 ... Klassische Datenbank-Views im ABAP Dictionary ... 487 15.3 ... CDS Views in Eclipse ... 492 16. Weiterführende Themen ... 517 16.1 ... Interessante Zeiten für die Programmiersprache ABAP ... 517 16.2 ... SAP HANA ... 519 16.3 ... Wichtige Frameworks im SAP-Standard ... 519 16.4 ... Cloudbasierte Entwicklung ... 527 16.5 ... Auf zu neuen Ufern! ... 531 Anhang ... 533 A ... Icons auf einen Blick ... 533 B ... Abkürzungsverzeichnis ... 535 Die Autoren ... 537 Index ... 539
Apps entwickeln mit SAP Build Apps
Apps bauen kann ganz leicht sein – das verspricht die neue No-Code-Plattform SAP Build Apps. Mit diesem Praxishandbuch steigen Sie ohne Vorkenntnisse in die Appentwicklung ein und lernen Schritt für Schritt, wie Sie Anwendungen erstellen, die Ihre Kolleginnen und Kollegen begeistern. Im Handumdrehen werden Sie für Ihre Abteilung Apps aufbauen, gestalten, mit Daten versorgen und veröffentlichen. Aus dem Inhalt: No-Code und Low-CodeEntwicklungsumgebung Composer ProAppGyver-PlattformDatenhaltungBenutzeroberfläche gestaltenControlsREST und ODataMobile Apps und Web-AppsBeispielapps für häufige Anforderungen Vorwort des Autorenteams ... 17 Einleitung ... 19 1. Employee Central -- Überblick und Implementierung ... 25 1.1 ... Employee Central auf einen Blick ... 26 1.2 ... Employee Central in die Systemlandschaft einbinden ... 34 1.3 ... Implementierung vorbereiten ... 37 2. Grundlagen der Arbeit in Employee Central ... 51 2.1 ... Mitarbeiterstatus ... 51 2.2 ... Ereignisse und Ereignisgründe ... 54 2.3 ... Workflows nutzen ... 66 2.4 ... Geschäftsregeln ... 101 3. Grundlagenobjekte ... 115 3.1 ... Was sind Grundlagenobjekte? ... 115 3.2 ... Kategorien von Grundlagenobjekten ... 117 3.3 ... Verknüpfungen und Vererbung bei Grundlagenobjekten ... 123 3.4 ... Grundlagenobjekte konfigurieren ... 125 3.5 ... Daten für Grundlagenobjekte erstellen ... 134 4. Planstellenmanagement ... 141 4.1 ... Mit Planstellen arbeiten ... 142 4.2 ... Planstellenmanagement einrichten ... 155 4.3 ... Planstellenmanagement im Zusammenspiel mit weiteren SAP-SuccessFactors-Modulen ... 164 4.4 ... Übersicht über die Firmenstruktur ... 166 5. Mitarbeiterdaten ... 171 5.1 ... Zeitscheiben und Historie nutzen ... 172 5.2 ... Ansichten auf Mitarbeiterdaten ... 174 5.3 ... Self-Services für Mitarbeitende und Vorgesetzte ... 198 5.4 ... Transaktionen zur Pflege des Mitarbeiterlebenszyklus ... 203 5.5 ... Konfiguration ... 209 6. Zusatzleistungen ... 213 6.1 ... Globale Zusatzleistungen ... 213 6.2 ... Grundlagen der Konfiguration ... 214 6.3 ... Globale Zusatzleistungen in ESS ... 218 6.4 ... Länderspezifische Zusatzleistungen ... 222 6.5 ... US-spezifische Zusatzleistungen ... 224 7. Zeitmanagement ... 227 7.1 ... Übersicht über das Zeitmanagement ... 227 7.2 ... Abwesenheit ... 238 7.3 ... Arbeitszeiterfassungsbogen ... 259 7.4 ... Employee Central Time Tracking ... 261 8. Weitere Beschäftigungsarten abbilden ... 271 8.1 ... Grundlegende Konzepte ... 272 8.2 ... Auslandseinsatz ... 272 8.3 ... Mehrfachbeschäftigung ... 285 8.4 ... Auswirkungen von mehreren Beschäftigungsverhältnissen auf andere Module und Prozesse ... 290 8.5 ... Kontingentarbeitende ... 296 9. Dokumentgenerierung ... 301 9.1 ... Dokumentgenerierungsvorlage erstellen ... 302 9.2 ... E-Mail-Einstellungen für eine Dokumentgenerierungsvorlage erstellen ... 305 9.3 ... Inhalte von Feldern in der Dokumentvorlage zuordnen ... 306 9.4 ... Ein Dokument generieren ... 309 10. Reporting ... 317 10.1 ... Bericht-Center ... 318 10.2 ... Überblick verfügbarer Reporttypen im Bericht-Center ... 319 11. Rollenbasierte Berechtigungen ... 355 11.1 ... Einführung in rollenbasierte Berechtigungen ... 356 11.2 ... Berechtigungsgruppen verwalten ... 362 11.3 ... Berechtigungsrollen verwalten ... 366 11.4 ... Berechtigungspflege für MDF-Objekte ... 374 11.5 ... Berechtigungen im Kontext von Employee Central ... 376 11.6 ... Best Practice: Einfachheit, Klarheit und Skalierbarkeit ... 382 12. Erweiterbarkeit ... 387 12.1 ... Metadata Framework ... 388 12.2 ... MDF-Erweiterungen ... 391 12.3 ... Eine Erweiterung erstellen ... 394 12.4 ... Daten mit einer Standarderweiterung pflegen ... 418 12.5 ... Erweiterung einer Standard-MDF-Erweiterung ... 420 12.6 ... SAP Business Technology Platform ... 422 13. Daten und Schnittstellen für Employee Central ... 427 13.1 ... Vorüberlegungen zu Datenimporten für die Migration ... 428 13.2 ... Daten importieren ... 432 13.3 ... Daten exportieren ... 465 13.4 ... Berechtigungen für Importe und Exporte pflegen ... 472 13.5 ... Daten aus SAP ERP Human Capital Management migrieren ... 476 14. Employee Central mit anderen SAP-SuccessFactors-Modulen integrieren ... 477 14.1 ... Benutzerdatendatei ... 479 14.2 ... SAP SuccessFactors Recruiting ... 481 14.3 ... SAP SuccessFactors Onboarding ... 484 14.4 ... SAP SuccessFactors Succession ... 485 14.5 ... SAP-SuccessFactors-Stellenprofile ... 485 14.6 ... SAP SuccessFactors Learning ... 487 14.7 ... SAP SuccessFactors Compensation/Variable Pay ... 487 14.8 ... SAP SuccessFactors Workforce Analytics ... 489 14.9 ... SAP SuccessFactors Employee Central Payroll ... 490 15. Employee Central Payroll ... 493 15.1 ... Vorabüberlegungen zur Einbindung von Employee Central Payroll ... 494 15.2 ... Daten aus Employee Central zur Nutzung in Employee Central Payroll ... 504 15.3 ... Kerndaten von Employee Central Payroll ... 518 15.4 ... Abrechnungsaufgaben in Employee Central zur Pflege von Daten in Employee Central Payroll verwenden ... 533 15.5 ... Gehaltsabrechnung über das Payroll Control Center verwalten ... 537 15.6 ... Besonderheiten beim Einsatz von Employee Central Payroll ... 550 16. Tipps für den Betrieb und Ausblick ... 557 16.1 ... Tipps für den Betrieb ... 557 16.2 ... Aktueller Einsatz und Ausblick ... 562 Das Autorenteam ... 567 Index ... 569
Einstieg in PHP 8 und MySQL
Mit diesem Buch lernen Sie schnell und praxisnah, wie Sie dynamische Webseiten mit PHP und MySQL (oder mit MariaDB) entwickeln. Schritt für Schritt zeigt Ihnen unser Autor Thomas Theis anhand leicht nachvollziehbarer und sofort einsetzbarer Beispiele, wie Sie mit PHP programmieren und auf Datenbanken zugreifen. Es werden alle Themen behandelt, die Sie zum Erstellen von Blogs, Webshops, Chats, Foren u. Ä. benötigen. Ein Programmierkurs am Anfang des Buches stellt sicher, dass auch Programmieranfänger problemlos einsteigen können. Aus dem Inhalt: GrundlagenPHP-ProgrammierkursDaten senden und auswertenDatenbanken anlegenObjektorientiert programmierenFortgeschrittene TechnikenPrepared StatementsConstructor Property PromotionCallbacksMultibyte-FunktionenXML und AjaxSicherheit erhöhen VerschlüsselungenHilfenInstallation des lokalen WebserversHinweise für Windows-, Mac- und Ubuntu-Nutzer Materialien zum Buch ... 18 Einführung ... 19 1. PHP-Programmierkurs ... 23 1.1 ... Einbettung von PHP ... 23 1.2 ... Variablen, Datentypen und Operatoren ... 27 1.3 ... Einfache Formularauswertungen ... 38 1.4 ... Verzweigungen ... 47 1.5 ... Mehr über Verzweigungen ... 62 1.6 ... Schleifen ... 72 1.7 ... Funktionen ... 83 1.8 ... Behandlung von Fehlern ... 98 1.9 ... Felder ... 103 1.10 ... Mehr über Funktionen ... 109 1.11 ... Beispiele ... 131 2. Daten senden und auswerten ... 139 2.1 ... Textelemente ... 139 2.2 ... Auswahlelemente ... 147 2.3 ... Aktionselemente ... 155 2.4 ... Weitere Möglichkeiten ... 159 2.5 ... Beispiele ... 172 2.6 ... PHP-Programme publizieren ... 176 3. Datenbanken mit MySQL ... 177 3.1 ... Einführung ... 177 3.2 ... Verwaltung mit phpMyAdmin ... 179 3.3 ... Datensätze anzeigen ... 185 3.4 ... Datensätze auswählen ... 190 3.5 ... Ausgabe in Tabellenform ... 194 3.6 ... Auswahl über Formulare ... 196 3.7 ... Prepared Statements ... 200 3.8 ... Datensätze erzeugen ... 208 3.9 ... Datensätze ändern ... 215 3.10 ... Datensätze löschen ... 223 3.11 ... SQL-Funktionen für Zeichenketten ... 225 3.12 ... Aggregatfunktionen ... 227 3.13 ... Gruppierung ... 230 3.14 ... Benutzeroberfläche mit JavaScript und CSS ... 231 3.15 ... Beispiel Eventplanung ... 232 3.16 ... Eine Datenbank mit mehreren Tabellen ... 232 3.17 ... Ein Datenbankbrowser ... 237 3.18 ... Datenbanken publizieren ... 238 4. Objektorientierung in PHP ... 243 4.1 ... Was ist objektorientierte Programmierung? ... 243 4.2 ... Klassen und Objekte ... 244 4.3 ... Konstruktor und Ausgabe ... 249 4.4 ... Destruktor ... 252 4.5 ... Schreibgeschützte Eigenschaften ... 253 4.6 ... Optionale und benannte Parameter ... 255 4.7 ... Konstanten und statische Elemente ... 258 4.8 ... Kopie und Referenz ... 261 4.9 ... Typhinweise ... 264 4.10 ... Objekte und Felder ... 266 4.11 ... Vererbung ... 271 4.12 ... Schnittstellen ... 275 4.13 ... Enumerationen ... 279 4.14 ... Serialisierung ... 281 4.15 ... Beispiel »Scheck« ... 284 4.16 ... Kopfrechnen, objektorientiert ... 285 5. Fehler behandeln, Sicherheit erhöhen ... 287 5.1 ... Anzeige von Fehlern ... 287 5.2 ... Dauerhafte Konfiguration der Anzeige von Fehlern ... 287 5.3 ... Änderung der Anzeige ... 290 5.4 ... Angriffe und Sicherheit ... 291 6. Zeichenketten ... 295 6.1 ... Eigenschaften und Umwandlungen ... 295 6.2 ... Suchen und Ersetzen ... 297 6.3 ... Positionen und Teilzeichenketten ... 299 6.4 ... Zeichenketten und Felder ... 301 6.5 ... Zeichen und Codenummern ... 302 6.6 ... Verschlüsselung ... 303 7. Dateien und Verzeichnisse ... 309 7.1 ... Eine Textdatei schreiben ... 309 7.2 ... Eine Textdatei lesen ... 311 7.3 ... Ein einfacher Webcounter ... 314 7.4 ... Eine CSV-Datei schreiben ... 315 7.5 ... Eine CSV-Datei lesen ... 317 7.6 ... Informationen über Dateien ... 318 7.7 ... Informationen über ein Verzeichnis ... 319 7.8 ... Informationen über einen Verzeichnisbaum ... 322 8. Felder ... 325 8.1 ... Ein Feld entpacken ... 325 8.2 ... Ein Feld kopieren ... 326 8.3 ... Ein Feld als Parameter ... 327 8.4 ... Ein Feld als Rückgabewert ... 328 8.5 ... Zufällige Werte aus einem Feld ... 329 8.6 ... Typhinweise ... 331 8.7 ... foreach-Schleife, Kopie und Referenz ... 331 8.8 ... Operationen für numerisch indizierte Felder ... 333 8.9 ... Sortierung eines assoziativen Feldes ... 341 8.10 ... Zweidimensionale Felder ... 343 8.11 ... Callback-Funktionen ... 352 8.12 ... Benutzerdefinierte Sortierung ... 354 8.13 ... Dekonstruktion ... 357 8.14 ... Mengenlehre ... 360 9. Datum und Zeit ... 365 9.1 ... Zeit ermitteln und ausgeben ... 365 9.2 ... Zeit formatiert ausgeben ... 366 9.3 ... Zeitangabe prüfen ... 369 9.4 ... Absolute Zeitangabe erzeugen ... 370 9.5 ... Relative Zeitangabe erzeugen ... 372 9.6 ... Mit Zeitangaben rechnen ... 373 9.7 ... Zeitstempel in Datenbanken ... 377 9.8 ... SQL-Funktionen für Zeitangaben ... 379 9.9 ... Ermittlung von Feiertagen ... 382 9.10 ... Kopfrechnen mit Zeitmessung ... 383 10. Mathematische Funktionen ... 385 10.1 ... Ganze Zahlen und Fließkommazahlen ... 385 10.2 ... Exponentialoperator ** ... 387 10.3 ... PHP als Taschenrechner ... 388 10.4 ... Ganze Zahlen, Runden ... 390 10.5 ... Ganzzahlige Division und Modulo ... 392 10.6 ... Extremwerte ... 393 10.7 ... Winkelfunktionen ... 394 10.8 ... Mischen ... 395 10.9 ... Stellenwertsysteme ... 397 10.10 ... Bit-Operatoren ... 399 11. Sessions und Cookies ... 403 11.1 ... Session-Management ... 404 11.2 ... Zugriffszähler mit Sessions ... 404 11.3 ... Geschützte Website mit Sessions ... 406 11.4 ... Webshop mit Sessions ... 411 11.5 ... Cookies ... 419 11.6 ... Die Existenz von Cookies prüfen ... 419 11.7 ... Daten speichern mit Cookies ... 421 12. Datenbanken mit SQLite3 und PDO ... 425 12.1 ... SQLite3 ... 425 12.2 ... PDO ... 435 13. XML ... 439 13.1 ... Einlesen eines einzelnen Objekts ... 439 13.2 ... Sammlung von gleichartigen Objekten ... 442 13.3 ... Zugriff auf Attribute ... 444 13.4 ... Interne XML-Daten ... 446 13.5 ... Speicherung von Objekten ... 447 14. Ajax ... 449 14.1 ... Hallo Ajax ... 449 14.2 ... Parameter senden ... 452 14.3 ... XML-Dateien lesen ... 455 14.4 ... JSON-Dateien lesen ... 459 14.5 ... Zugriff auf eine MySQL-Datenbank ... 465 14.6 ... Weitere Ereignisse ... 468 15. Grafiken programmieren ... 471 15.1 ... Installation testen ... 471 15.2 ... Grafik anzeigen ... 472 15.3 ... Texte anzeigen ... 476 15.4 ... Bilder anzeigen ... 479 15.5 ... Zeichnungen erzeugen ... 485 15.6 ... Beispielanwendungen ... 492 16. PDF-Dateien erstellen ... 495 16.1 ... Installation ... 495 16.2 ... PDF-Dokument erzeugen ... 495 16.3 ... Text in Zelle ... 497 16.4 ... Fließtext, Schriftparameter ... 499 16.5 ... Tabellen ... 501 16.6 ... Kopf- und Fußzeile ... 503 16.7 ... Ein Bild aus einer Datei laden ... 506 16.8 ... Hyperlinks ... 507 16.9 ... Linie, Rechteck, Position ... 510 17. Automatisierter E-Mail-Versand ... 513 17.1 ... Eine erste E-Mail ... 513 17.2 ... Weitere Header ... 514 17.3 ... Ein E-Mail-Formular ... 515 17.4 ... E-Mails mit PHPMailer ... 517 18. Beispielanwendungen ... 519 18.1 ... Die Anwendung »Chat« ... 519 18.2 ... Die Anwendung »Blog« ... 520 18.3 ... Die Anwendung »Forum« ... 521 18.4 ... Die Anwendung »Multiplayer« ... 523 18.5 ... Die Anwendung »Steganografie« ... 527 Anhang ... 531 A ... Installationen und Hilfestellungen ... 531 Index ... 545
JavaScript All-in-One For Dummies
A DEVELOPER’S RESOURCE TO LEARNING ONE OF THE MOST-USED SCRIPTING LANGUAGESJavaScript All-in-One For Dummies saves you shelf space by offering a complete introduction to JavaScript and how it’s used in the real world. This book serves up JavaScript coding basics before diving into the tools, libraries, frameworks, and runtime environments new and experienced coders need to know. Start by learning the basics of JavaScript and progress through the techniques and tools used by professional JavaScript developers, even if you’ve never written code before. You also get the details of today’s hottest libraries and frameworks—React.js, Vue.js, Svelte, and Node.js.* Learn the basics of web and application development with the JavaScript language* Grasp the similarities and differences between React.js, Vue.js, and Svelte* Discover how to write server-side JavaScript and how to access databases with Node.js* Gain a highly marketable skill, with one of the most popular coding languages* Launch or further your career as a coder with easy-to-follow instruction* This is the go-to Dummies guide for future and current coders who need an all-inclusive guide JavaScript.This is the go-to Dummies guide for future and current coders who need an all-inclusive guide to the world of JavaScript.CHRIS MINNICK is a programmer, coding educator, course creator, and writer. He is the author of Beginning React.js Foundations, Coding with JavaScript For Dummies, JavaScript For Kids For Dummies, and more than a dozen other books about coding. He has taught web and mobile development, React, and JavaScript to thousands of programmers worldwide.
Programmieren lernen mit Python und Minecraft (4. Auflg.)
Minecraft-Plugins erstellen ohne Vorkenntnisse in aktueller 4. Auflage aus März 2023. Im heise Shop verfügbar als gedruckte oder digitale Version.Du spielst schon lange Minecraft und denkst, du hast schon alles gesehen? Kennst du schon das Feuerschwert, den Enderbogen oder den Spielmodus »Schneeballschlacht«? Du willst auf Knopfdruck Türme, Mauern oder sogar ganze Häuser bauen? Vollautomatisch auf Geschehnisse in der Spielwelt reagieren? Mit eigenen Plugins kannst du all das und noch viel mehr entdecken und ganz nebenbei auch noch programmieren lernen.Python ist für Programmiereinsteiger besonders leicht zu lernen. Daniel Braun zeigt dir, wie du mit Python und Bukkit oder Spigot Erweiterungen für Minecraft programmierst, sogenannte Plugins, die du dann zusammen mit deinen Freunden auf deinem eigenen Minecraft-Server ausprobieren kannst. Dafür sind keine Vorkenntnisse erforderlich, du lernst alles von Anfang an.Nach dem Programmieren einfacher Chat-Befehle wirst du coole Plugins zum Bauen erstellen, so dass mit einem einzigen Befehl sofort z.B. ein fertiges Haus oder eine Kugel vor dir steht.Außerdem erfährst du, wie deine Plugins automatisch auf Geschehnisse in der Spielwelt reagieren können.Du kannst auch eigene Crafting-Rezepte entwerfen, um z.B. mächtige neue Waffen zu kreieren wie das Feuerschwert, das alles in Brand setzt, worauf es trifft.Am Ende lernst du sogar, wie du eigene Spielmodi entwickeln kannst, also ein Spiel im Spiel. Ob eine Schneeballschlacht mit Highscore-Liste oder ein Wettsammeln mit Belohnung für den Sieger, hier ist jede Menge Spaß garantiert.Für das alles brauchst du keine Vorkenntnisse, nur Spaß am Programmieren. Es beginnt mit ganz einfachen Beispielen, aber mit jedem Kapitel lernst du mehr Möglichkeiten kennen, um Minecraft nach deinen Wünschen anzupassen. Am Ende kannst du richtig in Python programmieren und deiner Kreativität sind keine Grenzen mehr gesetzt, um deine eigene Minecraft-Welt zu erschaffen.Geeignet für Windows, Linux und macOSAus dem Inhalt:Bukkit und Spigot installieren und einrichtenEigene Befehle definieren und Chat-Nachrichten versendenPython-Grundlagen: Variablen, Schleifen, Verzweigungen, Funktionen, Klassen und ObjekteHäuser, Kreise und Kugeln bauenSchilder errichten und beliebig beschriftenPlugins programmieren, die auf Veränderungen in der Welt reagierenEigene Crafting-Rezepte erstellenInformationen dauerhaft speichernEigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht oder ein SammelspielUmfangreiche Referenz zu allen ProgrammierbefehlenLeseprobe (PDF-Link)
Programmieren lernen mit Python - So einfach!
Spielend lernen anhand von anschaulichen Bildern. Mit einfachen Schritt-für-Schritt-Anleitungen. Für Kinder und Erwachsene - ab 10 Jahren.Kinderleicht programmieren lernen? Kein Problem! Mit diesem Buch lernst du Schritt für Schritt und anhand zahlreicher Beispiele die Grundlagen der Programmiersprache Python. Viele Bilder und kurze anschauliche Texte erleichtern dir das Verständnis. Alle Beispielprogramme werden ganz genau erklärt.Dich erwarten spannende Projekte wie zum Beispiel das Programmieren eines digitalen Assistenten zum Gedichteschreiben, ein Planeten-Ratespiel oder ein Programm zum Verwalten deiner Notizen. Du lernst, wie du Benutzungsoberflächen mit Bildern und Schaltflächen erstellst und wie du mit Daten aus dem Internet das Wetter vorhersagen kannst.Challenges mit Lösungen testen dein Wissen und fordern dich heraus, selbst kreativ zu werden. Damit hast du alles, was du brauchst, um deine eigenen Ideen mit Python umzusetzen und in der Welt der Programmierung durchzustarten.Die ersten Programme:Python als Taschenrechner, Begrüßungsautomat und ZahlenratenFunktionen im Einsatz:Computerkunst und BriefassistentDaten clever verarbeiten:Planeten aufzählen, Notizen verwalten und das Wetter vorhersagenProgramme mit grafischer Oberfläche:Farbmischer, digitaler Würfel, Dichten mit Goethe und QuizÜber den Autor:Michael Weigend war mehr als 30 Jahre lang als Lehrer tätig und hält an der Universität Münster im Rahmen eines Lehrauftrags Vorlesungen zur Python-Programmierung. Er engagiert sich in mehreren nationalen und internationalen Communities für den Computer-Einsatz in der Bildung, darunter Constructionism, IFIP TC3 (Computers in Education) und der Informatik-Biber-Wettbewerb. Leseprobe (PDF-Link)
Computer Science for Kids
A KID-FRIENDLY AND RIGOROUS NEW WAY TO TEACH YOUNG READERS THE FUNDAMENTALS OF COMPUTER SCIENCEIn Computer Science for Kids: A Storytelling Approach, AWS Head of Academic Advocacy and Google Developer Expert Dr. Jen Looper delivers a colorful, fun, and exciting demonstration for young readers who want to learn the basics of computer science. Using a variety of technologies, the book covers the elements of computer science in concise detail and illustrates how to build projects to learn foundational concepts behind the technology powering the internet. In the book, you’ll find projects to build using both basic and emerging technologies—like SQL, game development, storytelling software, and 3D augmented reality—as well as:* Chapter projects aligned to K-12 curriculum standards for grades 6-8 and a GitHub repo featuring open-source projects* Lesson plans for teachers* An online space for classrooms to showcase and discuss their workAn easy-to-follow and kid-friendly new resource for technology-curious middle school students, Computer Science for Kids is the fun and interesting web development resource that classroom teachers, parents, and homeschooling families have been waiting for. JEN LOOPER is the Head of Academic Advocacy at AWS with over 22 years’ experience as a web and mobile developer, specializing in creating cross-platform mobile and web apps. She’s a multilingual multiculturalist with a passion for web technologies, applied machine learning and discovering new things every day. With a PhD in medieval French literature, Jen’s area of focus is curriculum development and the application of sound pedagogy to technical topics. Visit Jen’s personal site at www.jenlooper.com, or connect via Twitter @jenlooper.
High-Performance Web Apps with FastAPI
Build APIs and web apps based on Asynchronous Server Gateway Interface (ASGI). This book provides a comprehensive explanation of using Pydantic models to construct the request/response objects in a FASTAPI path operation.You’ll start by reviewing type hints in Python and the asynchronous processing concepts. One of the highlights of FastAPI is its auto generation of API docs. Pydantic library is the main pillar on top of which FastAPI is built. You’ll see that ASGI has a far better performance compared to most of the other popular Python frameworks as they implement Web server Gateway Interface (WSGI), which is synchronous in nature and hence having slower response time.This book thoroughly explains how FastAPI interacts asynchronously with relational as well as NOSQL databases. Modern web apps use template engines to interact with the front-end. In this book, you will learn to use jinja2 templates and static assets. Swagger UI and OpenAPI standards are also covered in detail. Finally, different options of deployment of FastAPI app have been explored in this book.This book uses practical examples to empower you to build high performance APIsWHAT YOU'LL LEARN* Develop robust and high-performance web apps* Deploy the FastAPI app for public availability using cloud services such as Deta and Docker container* Understand the important building blocks of a web app such as form handling, templating and database interactionWHO THIS BOOK IS FORAspiring and the experienced Python developers looking to leverage the flexibility of Python and the powerful features introduced in Modern Python. Computer science Engineering students at graduate and postgraduate level will also benefit immensely from the practical approach adapted in the book.Malhar Lathkar is an independent developer, trainer, technical writer and author with over 30 years of experience. He holds a postgraduate degree in Electronics. After a brief stint as a degree college lecturer, he started his own software training and development institute. Over the years, he has gained proficiency in various programming technologies and imparted training to thousands of students and professionals from India and different countries around the world. Malhar also offers software training services to corporates. He has been associated with many EdTech companies as a freelance Subject Matter Expert. He has written a few books that have been published by well-known publishing houses.BUILD HIGH PERFORMANCE WEB APPS WITH FASTAPIChapter 1. Introduction to FastAPIChapter 2. Installation of FastAPIChapter 3. Request BodyChapter 4. TemplatesChapter 5. ResponseChapter 6. Using DatabasesChapter 7. MiddlewareChapter 8. Testing and DebuggingChapter 9. Deployment Build High Performance Web Apps with FastAPIChapter 10. Advanced Features
Modern C++ for Absolute Beginners
Learn the C++ programming language in a structured, straightforward, and friendly manner. This book teaches the basics of the modern C++ programming language, the C++ Standard Library, and modern C++ standards, including C++23. No previous programming experience is required.C++ is a language like no other, surprising in its complexity, yet wonderfully sleek and elegant in so many ways. It is also a language that cannot be learned by guessing, one that is easy to get wrong and challenging to get right. To overcome this, each section is filled with real-world examples that gradually increase in complexity. Modern C++ for Absolute Beginners, Second Edition teaches more than just programming in C++23. It provides a solid C++ foundation to build upon.The author takes you through the C++ programming language, the Standard Library, and C++11 to C++23 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples. You will work with C++23 features and standards, yet you will also compare and take a look into previous versions of C++.After reading this book, you'll be able to start programming in modern C++ standards. You will do so with plenty of relevant source code examples, freely available via a dedicated GitHub repository.WHAT YOU WILL LEARN* Get Introduced to modern C++ in a friendly but effective way* Work with the basics of C++: types, operators, variables, constants, expressions, references, functions, classes, I/O, smart pointers, polymorphism, and more* Set up the Visual Studio environment on Windows and GCC on Linux, where you can write your own code* Declare and define functions, classes, and objects, and organize code into namespaces* Discover object-oriented programming: classes and objects, encapsulation, inheritance, polymorphism, and more using the most advanced C++ features* Employ best practices in organizing source code and controlling program workflow* Get familiar with C++ language do's and don'ts, and more* Manage the basics of lambdas, inheritance, polymorphism, smart pointers, templates, modules, contracts, concepts, and moreWHO THIS BOOK IS FORBeginner or novice programmers who wish to learn C++ programming. No prior programming experience is required.SLOBODAN DMITROVIĆ is a software consultant, trainer, and author of several programming books. He is a professional R&D software developer with two decades of experience in the industry. Slobodan provides C++ training courses for corporate clients and academic institutions.1. Introduction2. What is C++?3. C++ Compilers4. Our First Program5. Types6. Exercises7. Operators8. Standard Input9. Exercises10. Arrays11. Pointers12. References13. Introduction to Strings14. Automatic Type Deduction15. Exercises16. Statements17. Constants18. Exercises19. Functions20. Exercises21. Scope and Lifetime22. Exercises23. Classes - Introduction24. Exercises25. Classes – Inheritance and Polymorphism26. Exercises27. The static Specifier28. Templates29. Enumerations30. Exercises31. Organizing code32. Exercises33. Conversions34. Exceptions35. Smart Pointers36. Exercises37. Input/Output Streams38. C++ Standard Library and Friends39. Exercises40. C++ Standards41. Projects
Introduction to Dependent Types with Idris
Dependent types are a concept that allows developers to write proof-carrying code. Idris is a programming language that supports dependent types. This book will teach you the mathematical foundations of Idris as well as how to use it to write software and mathematically prove properties.The first part of the book serves as an introduction to the language's underlying theories. It starts by reviewing formal systems and mathematical logical systems as foundational building blocks, then gradually builds up to dependent types. Next, you'll learn type theory for dependent types. Following this, you'll explore the Idris programming language and conclude by exploring the depths of formal systems and type checkers by implementing them.Introduction to Dependent Types with Idris will walk you through simple examples through more advanced techniques, stepping up the difficulty as you gain more knowledge. Every chapter includes a set of exercises based on what it covered to further cement your learning. No specialized knowledge of mathematics is expected beyond the basics, so it is perfect for novices.WHAT YOU WILL LEARNUnderstand Lambda calculus and dependent types* Gain insight into functional programming* Write mathematical proofs with IdrisWHO THIS BOOK IS FORProgrammers, mathematicians, academics, and anyone else interested learning dependent types and lambda calculus.BORO SITNIKOVSKI has over ten years of experience working professionally as a software engineer. He started programming with assembly on an Intel x86 at the age of ten. While in high school, he won several prizes in competitive programming, varying from 4th, 3rd, and 1st place. He is an informatics graduate - his bachelor’s thesis was titled “Programming in Haskell using algebraic data structures”, and his master’s thesis was titled “Formal verification of Instruction Sets in Virtual Machines”. He has also published a few papers on software verification. Other research interests of his include programming languages, mathematics, logic, algorithms, and writing correct software. He is a strong believer in the open-source philosophy and contributes to various open-source projects. In his spare time, he enjoys some time off with his family.Chapter 1: Formal Systems.- Chapter 2: Classical Mathematical Logic.- Chapter 3: Type Theory.- Chapter 4: Programming in Idris.- Chapter 5: Proving in Idris.
Einführung in Qt (2. Auflage)
Entwicklung von GUIs für verschiedene BetriebssystemeQt ist ein mächtiges Entwicklungsframework, mit dem u. a. User Interfaces für Desktop-, Mobile-, Embedded- und IoT-Plattformen programmiert werden können. Es kommt in der Wissenschaft und in zahlreichen Branchen wie z. B. in der Medizintechnik und der automobilbranche zum Einsatz.Dieses Buch bietet Ihnen eine strukturierte Einführung in die GUI-Programmierung mit Qt. Vom grundlegenden Aufbau der Qt-Bibliothek über die im Qt Framework enthaltenen Programme bis zu ihrem praktischen Einsatz lernen Sie alle für den Einstieg wichtigen Bereiche kennen. Dabei reicht das Themenspektrum von den Grundlagen über die Einbindung von Datenbanken und dem Aufbau von Web-Engines bis hin zur Einbindung in Netzwerke und der Nutzung von Charts.Das Buch vermittelt Einsteigern mit Vorkenntnissen in C++ das Fundament, um eigene Qt-Anwendungen zu programmieren und fortgeschrittene Techniken, wie sie in der Industrie benötigt werden, zu erlernen.Autor:Dr. Achim Lingott studierte Physik, Mathematik und Pädagogik und promovierte auf dem Gebiet der Erziehungstheorie.Er war viele Jahre Geschäftsführer eines Bildungsunternehmens, arbeitete als Projektleiter für verschiedene Unternehmen und ist bis heute als freiberuflicher Dozent für Programmiersprachen wie Java, C# und C++ tätig. Er arbeitet heute u.a. in Berlin und wohnt in Parchim.
Datenanalyse mit Python (3. Auflage)
Auswertung von Daten mit pandas, NumPy und JupyterErfahren Sie alles über das Manipulieren, Bereinigen, Verarbeiten und Aufbereiten von Datensätzen mit Python: Aktualisiert auf Python 3.10, zeigt Ihnen dieses konsequent praxisbezogene Buch anhand konkreter Fallbeispiele, wie Sie eine Vielzahl von typischen Datenanalyse-Problemen effektiv lösen. Gleichzeitig lernen Sie die neuesten Versionen von pandas, NumPy, IPython und Jupyter kennen.Geschrieben von Wes McKinney, dem Begründer des pandas-Projekts, bietet »Datenanalyse mit Python« einen praktischen Einstieg in die Data-Science-Tools von Python. Das Buch eignet sich sowohl für Datenanalysten, für die Python Neuland ist, als auch für Python-Programmierer, die sich in Data Science und Scientific Computing einarbeiten wollen. Daten und zugehöriges Material des Buchs sind auf GitHub verfügbar.Autor:Wes McKinney, Mitbegründer und Chief Technology Officer von Voltron Data, ist ein aktives Mitglied der Python-Daten-Community und Verfechter der Verwendung von Python in der Datenanalyse, im Finanzwesen und bei statistischen Berechnungen. Der MIT-Absolvent ist außerdem Mitglied des Projektmanagements für Apache Arrow und Apache Parquet in der Apache Software Foundation.Zielgruppe: Datenanalyst*innen in Forschung, Wirtschaft, Marketing oder Marktforschung
Pro RESTful APIs with Micronaut
Discover the RESTful technologies, including REST, JSON, XML, JAX-RS web services, SOAP and more, for building today's Java-based microservices, big data applications, and web service applications using the Micronaut framework. This book is based on a course the Oracle-based author is teaching for UC Santa Cruz Silicon Valley which covers architecture, design best practices and coding labs.Pro RESTful APIs with Micronaut (Second Edition) gives you all the fundamentals from the top down: from the top (architecture) through the middle (design) to the bottom (coding). This book is a must have for any microservices or web services application programmer or developer building applications and services for today's enterprises.After reading and using this book, you'll be competent in using Micronaut and RESTful APIs for building today's microservices. Source code for the examples and case studies are free and available on Apress' GitHub page for this book.WHAT YOU'LL LEARN* Discover the key RESTful APIs, including REST, JSON, XML, JAX, SOAP and more* Explore the Micronaut framework* Use these for microservices for today's modern web services and data exchanges* Harness Java, XML, JSON, REST, and JAX-RS in examples and case studies* Apply best practices to your solutions’ architecture and moreWHO THIS BOOK IS FORExperienced Java and web programmers and developers who may be new to microservices and even cloud-native applications development.Sanjay Patni is a software applications and web services engineer. He develops, programs Java web applications, services, and microservices. He works with Micronaut and other frameworks as well. Sanjay is also a Technical Instructor for UC Santa Cruz in Silicon Valley. He is a former applications engineer with Oracle, Inc. He currently is located in/around the SF Bay Area.1. Fundamentals of RESTful APIs2. Introducing Micronaut Framework3. API Design and Modeling4. Introduction to XML and JSON5. Introduction to JAX-RS6. API Portfolio and Framework - Services7. API Platform and Data Handler8. API Management and API Client9. API Security and Caching.