Software
PHP 8 Objects, Patterns, and Practice
Learn how to develop elegant and rock-solid systems using PHP, aided by three key elements: object fundamentals, design principles, and best practices. The 6th edition of this popular book has been fully updated for PHP 8, including attributes, constructor property promotion, new argument and return pseudo-types, and more. It also covers many features new since the last edition including typed properties, the null coalescing operator, and void return types. This book provides a solid grounding in PHP's support for objects, it builds on this foundation to instill core principles of software design and then covers the tools and practices needed to develop, test, and deploy robust code.PHP 8 Objects, Patterns, and Practice begins by covering PHP's object-oriented features. It introduces key topics including class declarations, inheritance, and reflection. The next section is devoted to design patterns. It explains the principles that make patterns powerful. You’ll cover many of the classic design patterns including enterprise and database patterns. The last segment of the book covers the tools and practices that can help turn great code into a successful project. The section shows how to manage multiple developers and releases with git, and how to manage builds and dependencies with Composer. It also explores strategies for automated testing and continuous integration.After reading and using this book, you will have mastered object-oriented enhancements, design patterns, and the essential development tools available for PHP 8.WHAT YOU WILL LEARN* Work with object fundamentals: write classes and methods, instantiate objects, and create powerful class hierarchies using inheritanceMaster advanced object-oriented features, including static methods and properties, managing error conditions with exceptions, and creating abstract classes and interfaces * Understand and use design principles to deploy objects and classes effectively in your projects* Discover a set of powerful patterns that you can implement in your own projects* Guarantee a successful project including unit testing; version control and build, installation, and package management; and continuous integrationWHO THIS BOOK IS FORAnyone with at least a basic knowledge of PHP who wants to use its object-oriented features in their projects. It is also for PHP coders who want to learn about the practices and tools (version control, testing, continuous integration, etc) that can make projects safe, elegant and stable.MATT ZANDSTRA has worked as a web programmer, consultant, and writer for over two decades. He is the author of SAMS Teach Yourself PHP in 24 Hours (three editions) and is a contributor to DHTML Unleashed. He has written articles for Linux Magazine, Zend, IBM DeveloperWorks, and php|architect Magazine, among others. Matt was a senior developer/tech lead at Yahoo and API tech lead at LoveCrafts. Matt works as a consultant advising companies on their architectures and system management, and also develops systems primarily with PHP, and Java. Matt also writes fiction.Part I. Objects.-1. PHP: Design and Management.-2. PHP and Objects.-3. Object Basics.-4. Advanced Features.-5. Object Tools.-6. Objects and Design.-Part II. Patterns.-7. What Are Design Patterns? Why Use Them?.-8. Some Pattern Principles.-9. Generating Objects.-10. Patterns for Flexible Object Programming.-11. Performing and Representing Tasks.-12. Enterprise Patterns.-13. Database Patterns.-Part III. Practice.-14. Good (and Bad) Practice.-15. PHP Standards.-16. PHP Using and Creating Components with Composer.-17. Version Control with Git.-18. Testing.-19. Automated Build with Phing.-20. Vagrant.-21. Continuous Integration.-22. Objects, Patterns, and Practice.-23. App A: Bibliography.-24. App B: A Simple Parser.
Visualizing Data in R 4
Master the syntax for working with R’s plotting functions in graphics and stats in this easy reference to formatting plots. The approach in Visualizing Data in R 4 toward the application of formatting in ggplot() will follow the structure of the formatting used by the plotting functions in graphics and stats. This book will take advantage of the new features added to R 4 where appropriate including a refreshed color palette for charts, Cairo graphics with more fonts/symbols, and improved performance from grid graphics including ggplot 2 rendering speed.Visualizing Data in R 4 starts with an introduction and then is split into two parts and six appendices. Part I covers the function plot() and the ancillary functions you can use with plot(). You’ll also see the functions par() and layout(), providing for multiple plots on a page. Part II goes over the basics of using the functions qplot() and ggplot() in the package ggplot2. The default plots generated by the functions qplot() and ggplot() give more sophisticated-looking plots than the default plots done by plot() and are easier to use, but the function plot() is more flexible. Both plot() and ggplot() allow for many layers to a plot.The six appendices will cover plots for contingency tables, plots for continuous variables, plots for data with a limited number of values, functions that generate multiple plots, plots for time series analysis, and some miscellaneous plots. Some of the functions that will be in the appendices include functions that generate histograms, bar charts, pie charts, box plots, and heatmaps.WHAT YOU WILL LEARN* Use R to create informative graphics* Master plot(), qplot(), and ggplot()* Discover the canned graphics functions in stats and graphicsFormat plots generated by plot() and ggplot()WHO THIS BOOK IS FORThose in data science who use R. Some prior experience with R or data science is recommended.Margot Tollefson, PhD is a semi-retired freelance statistician, with her own consulting business, Vanward Statistics. She received her PhD in statistics from Iowa State University and has many years of experience applying R to statistical research problems. Dr. Tollefson has chosen to write this book because she often creates graphics using R and would like to share her knowledge and experience. Her professional blog is on WordPress at vanwardstat. Social media: @vanstat1) Introduction: plot(), qplot(), and ggplot(), Plus Somea) plot() – arguments, ancillary functions, and methods; par() and layout()b) qplot() and ggplot() – aesthetics, geometries, and other useful functionsc) other plotting functions in graphics and statsPart I. An Overview of plot()2) The plot() Functiona) what the function is and how the function worksb) will use method .xy for example3) The Arguments to plot()a) Type of plot, axis labels, plot titles, display formatb) Plotting characters, character size, fonts, colors, line styles and widths4) Ancillary Functions to use with plot()a) axis(), box(), clip(), grid(), legend(), mtext(), rug()b) abline(), contour(), curve(), lines(), polypath()c) arrows(), image(), points(), polygon(), rect(), segments(), symbols(), text()d) axTicks(), identify(), locator(), pch(), strwidth(),5) The Methods for plot()a) What are methods?b) Methods in the graphics packagec) Methods in the stats package6) How to Use the Functions par() and layout()a) What par() doesb) Arguments specific to par()c) Multiple plotsPart II. A look at the ggplot2 Package7) The Functions qplot(), ggplot(), and the Specialized Notation in ggplot2a) Working with qplot()b) The ggplot() functionc) Specialized notation8) Themesa) The theme() functionb) The element_*() functions9) Aesthetics and Geometriesa) The aes() functionb) The geom_*() functions10) Controlling the Appearancea) The annotate_*() functionsb) The coord_*() functionsc) The facet_*() functionsd) The guide_*() functionse) The position_*() functionsf) The scale_*() functionsg) The stat_*() functionsAppendix I. Plots for Contingency TablesAppendix II. Plots for Continuous VariablesAppendix III. Plots for Data with a Limited Number of ValuesAppendix IV. Functions that Generate Multiple PlotsAppendix V. Plots for Time SeriesAppendix VI. Miscellaneous Plots
R2DBC Revealed
Understand the newest trend in database programming for developers working in Java, Kotlin, Clojure, and other JVM-based languages. This book introduces Reactive Relational Database Connectivity (R2DBC), a modern way of connecting to and querying relational databases from Java and other JVM languages. The book begins by helping you understand not only what reactive programming is, but why it is necessary. Then building on those fundamentals, the book takes you into the world of databases and the newly released Reactive Relational Database Connectivity (R2DBC) specification.Examples in the book are worked using the freely available MariaDB database along with MariaDB’s vendor-implementation of the R2DBC service-provider interface (SPI). Following along with the examples and the provided example code helps prepare you to work with any of the growing number of R2DBC implementations for popular enterprise databases such as Oracle Database and SQL Server. You’ll be well prepared for what is becoming the future of database access from Java and other languages built on the JVM.WHAT YOU WILL LEARN* Understand why R2DBC was created and how it utilizes the Reactive Streams API * Understand the components of the R2DBC service-provider interface* Create and manage reactive database connections and connection pools using an R2DBC client* Programmatically execute queries on a relational database using an R2DBC client* Effectively utilize transactions using an R2DBC client* Build relational database-driven applications that are event-driven and non-blockingWHO THIS BOOK IS FORSoftware developers building solutions using JVM languages and the JVM ecosystem, and developers who need an introduction to the R2DBC specification and reactive programming with relational databases and want to understand what Reactive Relational Database Connectivity is and why it came about. This book includes practical examples of using the R2DBC specification with Java and MariaDB that will provide developers with the knowledge they need to create their own solutions.ROB HEDGPETH is a professional software engineer and developer relations enthusiast residing in the bustling metropolis of Chicago, Illinois. Rob has more than 12 years of professional development experience, primarily in the application development space. Throughout the years he has contributed to the architecture and development of many apps, using a large array of languages and technologies. Now as a developer advocate and evangelist for MariaDB, Rob gets to combine his love for technology with his mission to fuel developers' curiosity and passion. IntroductionPART I. THE REACTIVE MOVEMENT AND R2DBC1. The Case for Reactive Programming2. Introduction to R2DBCPART II. THE R2DBC SERVICE-PROVIDER INTERFACE3. The Path to Implementation4. Connections5. Transactions6. Statements7. Handling Results8. Result Metadata9. Mapping Data Types10. Handling ExceptionsPART III. GETTING STARTED WITH R2DBC AND MARIADB11. Getting Stated with R2DBC12. Managing Connections13. Managing Data14. Managing Transactions15. Connection Pooling16. Practical Applications with Spring Data and R2DBC
Objektorientierte Programmierung (5. Auflg.)
Unverzichtbare Skills für guten Code - das umfassende Handbuch in 5. Auflage.Komplexe Systeme solide strukturieren, tragfähige Designs erstellen, robusten Code schreiben und wartbare Software liefern: Dafür brauchen Sie ein Repertoire, aus dem die Objektorientierung heute nicht mehr wegzudenken ist. Dieses umfassende und praxisnahe Lehrbuch hilft Ihnen, die Prinzipien der Objektorientierung zu verstehen und zur Basis Ihrer Arbeit zu machen.Leseprobe (PDF-Link)
Deep Reinforcement Learning with Python
Deep reinforcement learning is a fast-growing discipline that is making a significant impact in fields of autonomous vehicles, robotics, healthcare, finance, and many more. This book covers deep reinforcement learning using deep-q learning and policy gradient models with coding exercise.You'll begin by reviewing the Markov decision processes, Bellman equations, and dynamic programming that form the core concepts and foundation of deep reinforcement learning. Next, you'll study model-free learning followed by function approximation using neural networks and deep learning. This is followed by various deep reinforcement learning algorithms such as deep q-networks, various flavors of actor-critic methods, and other policy-based methods.You'll also look at exploration vs exploitation dilemma, a key consideration in reinforcement learning algorithms, along with Monte Carlo tree search (MCTS), which played a key role in the success of AlphaGo. The final chapters conclude with deep reinforcement learning implementation using popular deep learning frameworks such as TensorFlow and PyTorch. In the end, you'll understand deep reinforcement learning along with deep q networks and policy gradient models implementation with TensorFlow, PyTorch, and Open AI Gym.WHAT YOU'LL LEARN* Examine deep reinforcement learning * Implement deep learning algorithms using OpenAI’s Gym environment* Code your own game playing agents for Atari using actor-critic algorithms* Apply best practices for model building and algorithm training WHO THIS BOOK IS FORMachine learning developers and architects who want to stay ahead of the curve in the field of AI and deep learning.Nimish is a passionate technical leader who brings to table extreme focus on use of technology for solving customer problems. He has over 25 years of work experience in the Software and Consulting. Nimish has held leadership roles with P&L responsibilities at PwC, IBM and Oracle. In 2006 he set out on his entrepreneurial journey in Software consulting at SOAIS with offices in Boston, Chicago and Bangalore. Today the firm provides Automation and Digital Transformation services to Fortune 100 companies helping them make the transition from on-premise applications to the cloud.He is also an angel investor in the space of AI and Automation driven startups. He has co-founded Paybooks, a SaaS HR and Payroll platform for Indian market. He has also cofounded a Boston based startup which offers ZipperAgent and ZipperHQ, a suite of AI driven workflow and video marketing automation platforms. He currently hold the position as CTO and Chief Data Scientist for both these platforms.Nimish has an MBA from Indian Institute of Management in Ahmedabad, India and a BS in Electrical Engineering from Indian Institute of Technology in Kanpur, India. He also holds multiple certifications in AI and Deep Learning.Chapter 1: Introduction to Deep Reinforcement LearningChapter Goal: Introduce the reader to field of reinforcement learning and setting the context of what they will learn in rest of the bookSub -Topics1. Deep reinforcement learning2. Examples and case studies3. Types of algorithms with mind-map4. Libraries and environment setup5. SummaryChapter 2: Markov Decision ProcessesChapter Goal: Help the reader understand models, foundations on which all algorithms are built.Sub - Topics1. Agent and environment2. Rewards3. Markov reward and decision processes4. Policies and value functions5. Bellman equationsChapter 3: Model Based AlgorithmsChapter Goal: Introduce reader to dynamic programming and related algorithmsSub - Topics:1. Introduction to OpenAI Gym environment2. Policy evaluation/prediction3. Policy iteration and improvement4. Generalised policy iteration5. Value iterationChapter 4: Model Free ApproachesChapter Goal: Introduce Reader to model free methods which form the basis for majority of current solutionsSub - Topics:1. Prediction and control with Monte Carlo methods2. Exploration vs exploitation3. TD learning methods4. TD control5. On policy learning using SARSA6. Off policy learning using q-learningChapter 5: Function ApproximationChapter Goal: Help readers understand value function approximation and Deep Learning use in Reinforcement Learning.1. Limitations to tabular methods studied so far2. Value function approximation3. Linear methods and features used4. Non linear function approximation using deep LearningChapter 6: Deep Q-LearningChapter Goal: Help readers understand core use of deep learning in reinforcement learning. Deep q learning and many of its variants are introduced here with in depth code exercises.1. Deep q-networks (DQN)2. Issues in Naive DQN3. Introduce experience replay and target networks4. Double q-learning (DDQN)5. Duelling DQN6. Categorical 51-atom DQN (C51)7. Quantile regression DQN (QR-DQN)8. Hindsight experience replay (HER)Chapter 7: Policy Gradient AlgorithmsChapter Goal: Introduce reader to concept of policy gradients and related theory. Gain in depth knowledge of common policy gradient methods through hands-on exercises1. Policy gradient approach and its advantages2. The policy gradient theorem3. REINFORCE algorithm4. REINFORCE with baseline5. Actor-critic methods6. Advantage actor critic (A2C/A3C)7. Proximal policy optimization (PPO)8. Trust region policy optimization (TRPO)Chapter 8: Combining Policy Gradients and Q-LearningChapter Goal: Introduce reader to the trade offs between two approaches ways to connect together the two seemingly dissimilar approaches. Gain in depth knowledge of some land mark approaches.1. Tradeoff between policy gradients and q-learning2. The connection3. Deep deterministic policy gradient (DDPG)4. Twin delayed DDPG (TD3)5. Soft actor critic (SAC)Chapter 9: Integrated Learning and PlanningChapter Goal: Introduce reader to the scalable approaches which are sample efficient for scalable problems.1. Model based reinforcement learning2. Dyna and its variants3. Guided policy search4. Monte Carlo tree search (MCTS)5. AlphaGoChapter 10: Further Exploration and Next StepsChapter Goal: With the backdrop of having gone through most of the popular algorithms, readers are now introduced again to exploration vs exploitation dilemma, central to reinforcement learning.1. Multi arm bandits2. Upper confidence bound3. Thompson sampling
Practical C++20 Financial Programming
Apply C++ to programming problems in the financial industry using this hands-on book, updated for C++20. It explains those aspects of the language that are more frequently used in writing financial software, including the Standard Template Library (STL), templates, and various numerical libraries. Practical C++20 Financial Programming also describes many of the important problems in financial engineering that are part of the day-to-day work of financial programmers in large investment banks and hedge funds. The author has extensive experience in the New York City financial industry that is now distilled into this handy guide.Focus is on providing working solutions for common programming problems. Examples are plentiful and provide value in the form of ready-to-use solutions that you can immediately apply in your day-to-day work. You’ll see examples of matrix manipulations, curve fitting, histogram generation, numerical integration, and differential equation analysis, and you’ll learn how all these techniques can be applied to some of the most common areas of financial software development.These areas include performance price forecasting, optimizing investment portfolios, and more. The book style is quick and to-the-point, delivering a refreshing view of what one needs to master in order to thrive as a C++ programmer in the financial industry.WHAT YOU WILL LEARN* Cover aspects of C++ especially relevant to financial programmingWrite working solutions to commonly encountered problems in finance * Design efficient, numerical classes for use in finance, as well as to use those classes provided by Boost and other librariesWHO THIS BOOK IS FORThose who are new to programming for financial applications using C++, but should have some previous experience with C++.CARLOS OLIVEIRA works in the area of quantitative finance, with more than ten years of experience in creating scientific and financial models in C++. During his career, Carlos has developed several large-scale applications for financial companies such as Bloomberg L.P. and F-Squared Investments. Carlos Oliveira obtained a PhD in operations research and systems engineering from the University of Florida, an MSc in computer science from UFC (Brazil), and a BSc in computer science from UECE (Brazil). He has also performed academic research in the field of combinatorial optimization, with applications in diverse areas such as finance, telecommunications, computational biology, and logistics. Carlos has written more than 30 academic papers on optimization, and authored three books, including Options and Derivatives Programming in C++20 (Apress, 2020).1. The Fixed-Income Market2. The Equities Market3. C++ Programming Techniques in Finance4. Common Libraries for Financial Code5. Designing Numerical Classes6. Plotting Financial Data7. Linear Algebra8. Interpolation9. Calculating Roots of Equations10. Numerical Integration11. Solving Partial Differential Equations12. Algorithm Optimization13. Portfolio Optimization14. Monte Carlo Methods for Equity markets15. Extending Financial Libraries16. C++ with R and Octave17. MultithreadingA. Appendix A: C++20 Features
Grundkurs Theoretische Informatik
Theoretische Informatik – der Vorlesungsbegleiter. Berechenbarkeit, formale Sprachen, Algorithmik und Komplexitätstheorie sind theoretische Themen mit praktischer Relevanz, zu denen es ebenso praktische Zugänge gibt. Freuen Sie sich auf eine moderene Didaktik, die streng Formales mit Ihrer Intuition verknüpft, lernfreundlich ausarbeitet und schließlich zu jedem Thema Anwendungsfelder der Informatik vorstellt. Stefan Neubert hat nicht nur selbst Freude an der theoretischen Informatik, sondern widmet sich auch mit Leidenschaft ihrer Vermittlung zu Beginn und im Laufe des Bachelorstudiums. Eine Einführung mit vielen Aufgaben und Beispielen, auch zum Selbststudium geeignet. Aus dem Inhalt: Grundlegende mathematische NotationModelle und Grenzen der BerechenbarkeitFormale Sprachen: Endliche Automaten, kontextfreie Grammatiken, Pumping Lemmata und mehrBeweisverfahren für Korrektheit und Laufzeit von AlgorithmenParadigmen für den AlgorithmenentwurfAmortisierte Analyse und untere Schranke für LaufzeitenNP-Vollständigkeit und Reduktion 1. Einführung ... 15 1.1 ... Kompetenzen für die theoretische Arbeit ... 16 1.2 ... Themen der theoretischen Informatik ... 18 1.3 ... Anleitung fürs Buch ... 20 1.4 ... Danksagungen ... 21 2. Mathematische Notation ... 23 2.1 ... Logische Aussagen ... 24 2.2 ... Mengen ... 27 2.3 ... Relationen und Funktionen ... 32 2.4 ... Graphen ... 37 2.5 ... Unendlichkeiten und Abzählbarkeit ... 40 2.6 ... Beweistechniken ... 42 2.7 ... Aufgaben ... 57 2.8 ... Lösungen ... 58 TEIL I. Berechenbarkeit und formale Sprachen ... 65 3. Einführung in die Berechenbarkeitstheorie ... 67 3.1 ... Algorithmus ... 68 3.2 ... Zu viele Funktionen ... 69 3.3 ... Das Halteproblem ... 70 3.4 ... Kontrollfragen ... 72 3.5 ... Antworten ... 72 4. Problemtypen ... 73 4.1 ... Formalisierung von Problemen ... 73 4.2 ... Funktionen berechnen ... 75 4.3 ... Datencodierung ... 75 4.4 ... Sprachen entscheiden ... 78 4.5 ... Problemklassen der Berechenbarkeitstheorie ... 79 4.6 ... Aufgaben ... 82 4.7 ... Lösungen ... 83 5. Einführung in formale Sprachen ... 85 5.1 ... Definition ... 85 5.2 ... Die Chomsky-Hierarchie ... 88 5.3 ... Aufgaben ... 89 5.4 ... Lösungen ... 90 6. Reguläre Sprachen ... 91 6.1 ... Deterministische endliche Automaten ... 92 6.2 ... Nichtdeterministische endliche Automaten ... 103 6.3 ... Grammatiken ... 111 6.4 ... Reguläre Ausdrücke ... 120 6.5 ... Abschlusseigenschaften ... 127 6.6 ... Entscheidungsprobleme auf regulären Sprachen ... 132 6.7 ... Äquivalenzklassenzerlegung ... 134 6.8 ... Nichtreguläre Sprachen ... 139 6.9 ... Ausblick ... 144 6.10 ... Aufgaben ... 144 6.11 ... Lösungen ... 149 7. Kontextfreie Sprachen ... 161 7.1 ... Kontextfreie Grammatiken ... 162 7.2 ... Eindeutige Ableitungsbäume ... 164 7.3 ... Chomsky-Normalform ... 166 7.4 ... Exkurs: Kellerautomaten ... 170 7.5 ... Abschlusseigenschaften ... 175 7.6 ... Entscheidungsprobleme auf kontextfreien Sprachen ... 176 7.7 ... Nicht-kontextfreie Sprachen ... 181 7.8 ... Ausblick ... 183 7.9 ... Aufgaben ... 184 7.10 ... Lösungen ... 186 8. Kontextsensitive Sprachen ... 193 8.1 ... Kontextsensitive und monotone Grammatiken ... 194 8.2 ... Das Wortproblem auf kontextsensitiven Sprachen ... 195 9. Aufzählbare Sprachen ... 197 9.1 ... Turingmaschinen ... 199 9.2 ... While-Programme ... 202 9.3 ... Gödelnummern ... 218 9.4 ... Das universelle While-Programm ... 220 9.5 ... Das schrittbeschränkte universelle While-Programm ... 223 9.6 ... Diagonalisierung und min-Suche ... 224 9.7 ... Prädikate für semi-entscheidbare Sprachen ... 226 9.8 ... Semi-Entscheidbarkeit vs. Aufzählbarkeit ... 227 9.9 ... Das S-m-n-Theorem ... 228 9.10 ... Das kleenesche Rekursionstheorem ... 230 9.11 ... Weitere Modelle und Charakterisierungen ... 233 9.12 ... Aufgaben ... 233 9.13 ... Lösungen ... 235 10. Nicht Berechenbares ... 241 10.1 ... Beweise mit KRT ... 243 10.2 ... Der Satz von Rice ... 244 10.3 ... Reduktionen ... 246 10.4 ... RE-Vollständigkeit ... 250 10.5 ... Ausblick: Die arithmetische Hierarchie ... 251 10.6 ... Aufgaben ... 252 10.7 ... Lösungen ... 254 TEIL II. Algorithmik ... 259 11. Einführung in Algorithmik ... 261 12. Obere Schranken für Laufzeiten ... 263 12.1 ... Das Maschinenmodell ... 264 12.2 ... Die Laufzeit eines Algorithmus ... 267 12.3 ... Die Größe einer Eingabe ... 268 12.4 ... Die Landau-Notation ... 268 12.5 ... Aufgaben ... 271 12.6 ... Lösungen ... 272 13. Laufzeiten von Datenstrukturen ... 275 13.1 ... Arrays ... 275 13.2 ... Listen ... 277 13.3 ... Verschachtelte Datenstrukturen und Graphen ... 279 13.4 ... Aufgaben ... 281 13.5 ... Lösungen ... 282 14. Brute-Force-Algorithmen ... 285 14.1 ... Lineare Suche ... 286 14.2 ... Backtracking/Tiefensuche ... 288 14.3 ... Aufgaben ... 292 14.4 ... Lösungen ... 293 15. Greedy-Algorithmen ... 295 15.1 ... Beweis mit Austauschargument ... 296 15.2 ... Greedy stays ahead ... 302 15.3 ... Aufgaben ... 304 15.4 ... Lösungen ... 306 16. Divide and Conquer ... 313 16.1 ... Mergesort ... 314 16.2 ... Binäre Suche ... 319 16.3 ... Multiplikation großer Zahlen ... 321 16.4 ... Das Mastertheorem ... 325 16.5 ... Ausblick ... 326 16.6 ... Aufgaben ... 327 16.7 ... Lösungen ... 329 17. Dynamische Programmierung ... 335 17.1 ... Fibonacci-Zahlen ... 336 17.2 ... Rückgeld geben ... 337 17.3 ... Der Algorithmus von Dijkstra ... 341 17.4 ... Aufgaben ... 344 17.5 ... Lösungen ... 346 18. Amortisierte Analyse ... 351 18.1 ... Dynamische Arrays ... 351 18.2 ... Guthabenmethode ... 353 18.3 ... Ausblick ... 353 TEIL III. Komplexitätstheorie ... 355 19. Einführung in die Komplexitätstheorie ... 357 19.1 ... Die Komplexität eines Problems ... 358 19.2 ... Bedingte Schranken ... 358 19.3 ... Auswege für schwierige Probleme ... 359 20. Beweistechniken für untere Schranken ... 361 20.1 ... Die Ausgabegröße ... 362 20.2 ... Das informationstheoretische Argument ... 363 20.3 ... Das Adversary-Argument ... 367 20.4 ... Reduktionen ... 370 20.5 ... Aufgaben ... 372 20.6 ... Lösungen ... 374 21. P vs. NP: Bedingte untere Schranken ... 377 21.1 ... Die Komplexitätsklasse P ... 378 21.2 ... Die Komplexitätsklasse NP ... 380 21.3 ... Polynomialzeitreduktionen ... 388 21.4 ... NP-schwere und NP-vollständige Probleme ... 392 21.5 ... Ausblick: Mehr NP-vollständige Probleme ... 404 21.6 ... Aufgaben ... 405 21.7 ... Lösungen ... 406 22. Ausblick: Parametrisierte Analyse ... 408 Index ... 410
Anleitung zum Unkreativsein
Neue Wege zur Kreativität! Dieses ironisch-faszinierende Buch hilft dir dabei, dahin vorzudringen, wo neue Perspektiven und bessere Ideen auf dich warten. Wo das ist? Die Kreativität ist in dir, du musst sie nur entfesseln. Dazu bietet Dirk von Gehlen überraschende Insights und Analysen, praktische Beispiele und konkrete Übungen, um dir die Augen zu öffnen und den Weg frei machen für die nächste gute Idee. Aus dem Inhalt: Die ironische Sichtweise:Schon in der Vorbereitung lässt sich Kreativität im Keim ersticken Wie die Problemlösung nachhaltig gestört werden kann Geistesblitze absichtlich verhindern Die Ausarbeitung der Ideen kann oft deren Ende seinWas wir daraus lernen:Das Buch ist eine Übung darin, immer und überall die Perspektive zu ändern, sich damit das Leben zu erleichtern und neue Ideen aufzuspüren.Durch die Schilderung persönlicher Erfahrungen, Studienergebnisse sowie konkrete Übungen und praktische Beispiele erhältst du wieder Zugang zu den Grundlagen der Kreativität und zu eigenen Ideen.Mit Ideentagebuch: Um neue Ideen loszuwerden, sollte man sie täglich aufschreiben ...Von Insidern: Gestalter*innen und Illustrator*innen verraten ihre persönlichen Kreativitätskiller. Sehr geehrte Leserschaft! ... 8 Einleitende Überlegungen ... 11 Übung: Gib deinem kreativen Ich einen Namen ... 14 Kreativität trainieren und das Gegenteil denken ... 16 1. Präparation/Vorbereitung ... 21 Schon in der Vorbereitung lässt sich Kreativität unterdrücken ... 22 Das Creative Mindset ... 24 Das Selbstbild des Kreativen: Growth Mindset ... 28 Warum soll mich Kreativität finden? ... 32 Ikigai -- bestimme deine Motivation ... 34 Fehlerfreundlichkeit ... 39 Ziellose Inspiration ... 40 Schreibe deine Ideen auf -- täglich ... 41 Der kreative Imperativ ... 47 Zusammenfassungs-Akronym Präparation ... 50 2. Inkubation/Entstehung ... 53 Wie die unbewusste Problemlösung nachhaltig gestört werden kann ... 54 Das Loslassen ... 56 Der Prozess des Fragens ... 58 Fragen nach dem Rahmen für die Lösung stellen ... 60 Fragen nach der Lösung selbst ... 64 Das Harakiri-Mindset ... 67 Eine kreative Atmosphäre ... 67 Lösung ohne Problem ... 70 Gib dich nicht zu früh zufrieden! ... 73 Perfektes Erwartungsmanagement ist messy ... 74 Offene und geschlossene Fragen ... 76 Pausen verhelfen zu Kreativität ... 78 Andere Problemperspektiven suchen ... 79 Fragen stellen wie ein Anfänger ... 80 Fragen stellen wie ein Experte ... 82 Fragen mit der Gegenteilmethode ... 84 Umdeutung -- Reframing ... 86 In Bildern denken ... 91 Beispiele für das Reframing ... 94 Zusammenfassungs-Akronym Inkubation ... 98 3. Illumination/Erleuchtung ... 101 Geistesblitze entstehen zufällig -- lassen sich aber absichtlich verhindern ... 102 Verirre dich oder: die Badewanne ... 104 Den Muskel trainieren ... 107 Kreativität geschehen lassen ... 109 Das Default Mode Network ... 112 Design Thinking ... 119 Empathie: Warum es richtig sein kann, ins tiefe Loch zu klettern ... 121 Experimente: Wer kein Risiko eingeht, findet keine Lösungen ... 123 Entwickeln: Wir hören nicht auf, uns zu korrigieren ... 126 Erfinden, um davon zu erzählen: Über die Kraft des Storytellings im Design Thinking ... 129 Beispiel »Minutenmarathon« ... 133 Zusammenfassungs-Akronym Illumination ... 137 4. Verifikation/Umsetzung ... 139 Die Ausarbeitung von Ideen kann oft deren Ende sein ... 140 Idee und Kontext ... 143 Bauen, Messen, Lernen ... 145 Ideen minimieren ... 147 Bedingungen für das Gelingen der Idee herausfinden ... 148 Die Modifikation einer Idee ... 150 Die Bedeutung von Mut für die Ideenfindung ... 152 Ideen präsentieren ... 156 Kreativität in der Gruppe: Kooperation und Austausch ... 160 Hybrides Denken ... 163 Kreativität mit System ... 166 Hybrides Denken in der Gruppe ... 167 Bewertung von Ideen ... 169 Zusammenfassungs-Akronym Verifikation ... 174 Nachbemerkung ... 175 Anhang: Anfangen ... 177 Wie machen es andere? Unkreative Ratschläge von Kreativen aus verschiedenen Branchen ... 179 Ideentagebuch: »Jeden Tag eine gute Idee« ... 187 Danksagung -- in Form von Buchtipps ... 201 Die Links des Buchs ... 203 Index ... 211
Python 3 Schnelleinstieg
* PROGRAMMIEREN LERNEN OHNE VORKENNTNISSE* IN 14 KAPITELN SCHRITT FÜR SCHRITT ZUM PROFI* EINFACHE PRAXISBEISPIELE UND ÜBUNGSAUFGABENMit diesem Buch gelingt Ihnen der Einstieg in die Python-Programmierung ohne Mühe. Sie benötigen keinerlei Vorkenntnisse.Alle Grundlagen werden anschaulich und einfach nachvollziehbar anhand von Codebeispielen erklärt. Übungsaufgaben in unterschiedlichen Schwierigkeitsstufen am Ende der Kapitel helfen Ihnen, das neu gewonnene Wissen praktisch anzuwenden und zu vertiefen.Der Autor führt Sie Schritt für Schritt in die Welt der Programmierung ein: von den Grundlagen über Objektorientierung bis zur Entwicklung von Anwendungen mit grafischer Benutzungsoberfläche. Dabei lernen Sie ebenfalls, was guten Programmierstil ausmacht und wie man Fehler in Programmtexten finden und von vornherein vermeiden kann.So gelingt es Ihnen in Kürze, Python effektiv in der Praxis einzusetzen.* Alle Grundlagen einfach erläutert* Verarbeitung von Texten und Bildern* Objektorientierte Programmierung* Grafische Benutzungsoberflächen mit tkinter* Testen, Debugging und Performance-Analyse* Übungsaufgaben in drei verschiedenen Schwierigkeitsstufen* Programmcode, Lösungen und Glossar zum DownloadMichael Weigend war mehr als 30 Jahre lang als Lehrer tätig und hält an der Universität Münster Vorlesungen zur Python-Programmierung. Er hat bereits mehrere Bücher zu den Themen Programmierung, Web Development und visuelle Modellierung geschrieben.
Verwaltung von Windows 10 mit Gruppenrichtlinien und Intune (5. Auflg.)
Ein praktischer Leitfaden in 5. Auflage, 03/2021.Die 5. Auflage des Gruppenrichtlinien-Bestsellers wurde für das aktuelle Feature Release von Windows überarbeitet und um Themen wie die Windows-10-Verwaltung über Microsoft Intune und Auditing ergänzt. Das Buch ist Grundlagen-, Praxis- und Nachschlagewerk in einem. Berücksichtigt werden sowohl die Gruppenrichtlinien-Einstellungen in Windows 10 als auch die Windows Server-Versionen 2019, 2016, 2012 und 2008 R2.Gruppenrichtlinien-Know-how für Einsteiger und Profis:Einsteiger führt das Buch von der Basisverwaltung von Gruppenrichtlinien bis hin zur Entwicklung eigener Vorlagen durch alle wichtigen Themen.Profis finden in diesem Buch Informationen zur Planung von Gruppenrichtlinien, zur Verwaltung (PowerShell und AGMP), zur Erweiterung (per Fremdhersteller-Tools) sowie zur Automatisierung mit PowerShell.Eine Fülle von Beispielen aus der administrativen Praxis zeigt Ihnen, wo Sie welche Einstellungen vornehmen können, wie sich diese auswirken und wie Sie in Ihrer täglichen Arbeit dadurch Zeit sparen können. Zahlreiche Tipps und Hinweise helfen Ihnen bei der Fehlersuche und Problembehebung und warnen Sie vor typischen Fallen.
Data Science für Einsteiger
Die Datenflut beherrschbar machen: Schnell und sicher navigieren, Potenziale erkennen.Kein Unternehmen kann es sich leisten, Datenanalyse zu ignorieren! Dieses Werk zeigt, wie Daten analysiert werden können und wie daraus Schlussfolgerungen für die Unternehmensstrategie abgeleitet werden können.In jedem Unternehmen werden heute in großem Umfang Daten generiert, die die Grundlage für wichtige Entscheidungen bilden können. Bevor aus den Daten Schlussfolgerungen abgeleitet werden können, sind die Daten in zuverlässiger und reproduzierbarer Weise zu erfassen, auf Fehler und grobe Abweichungen zu prüfen und zu säubern sowie statistisch zu analysieren und für Managementpräsentationen vorzubereiten. Der Leser erhält hierfür eine Schritt-für-Schritt-Anleitung und er erfährt, wie aus rohen Daten zuverlässige Informationen werden. Leseprobe (PDF-Link)
Python One-Liners
Python in seiner raffiniertesten FormPython Tipps und Tricks mit fortgeschrittenem NiveauProblemlösungen für den ProgrammieralltagNumPy-GrundlagenPython One-Liners zeigt Ihnen, wie man "One Liners", Einzeiler, liest und schreibt: prägnante Ausdrücke zu nützlicher Funktionalität, verpackt in einer einzigen Codezeile. Sie lernen systematisch jede Zeile von Python-Code zu entschlüsseln und zu verstehen, und werden wie ein Experte eloquentes, stark komprimiertes Python schreiben.In den fünf Kapiteln des Buches werden Tipps und Tricks, reguläre Ausdrücke, Machine Learning, Kernthemen der Datenwissenschaft und hilfreiche Algorithmen behandelt. Die ausführlichen Erläuterungen von Einzeilern führen in wichtige Konzepte der Informatik ein und fördern Ihre Programmier- und Analysefähigkeiten.Sie lernen fortgeschrittene Python-Funktionen wie Listenverständnis, Slicing, Lambda-Funktionen, reguläre Ausdrücke, Map- und Reduce-Funktionen und Slice-Zuweisungen kennen.Sie erwerben darüber hinaus Kenntnisse in diesen Bereichen:- Nutzung von Datenstrukturen zur Lösung von Problemen aus der realen Welt, wie z. B. die Verwendung boolescher Indizierung zum Auffinden von Städten mit überdurchschnittlicher Umweltverschmutzung.- Verwendung der NumPy-Grundlagen wie Array, Form, Achse, Typ, Broadcasting, fortgeschrittene Indizierung, Slicing, Sortierung, Suche, Aggregation und Statistik.- Berechnen Sie grundlegende Statistiken von mehrdimensionalen Datenfeldern und die K-Means-Algorithmen für unsupervised Learning.- Erstellen Sie fortgeschrittenere reguläre Ausdrücke unter Verwendung von Gruppierungs- und benannten Gruppen, negativen Lookaheads, maskierten Zeichen, Leerzeichen, Zeichensätzen (und negativen Zeichensätzen) und greedy/non greedy Operatoren.- Ein breites Spektrum von Informatik-Themen verstehen, einschließlich Anagramme, Palindrome, Obermengen, Permutationen, Fakultäten, Primzahlen, Fibonacci-Zahlen, Obfuszierung, Suche und algorithmische Sortierung.Am Ende des Buches werden Sie wissen, wie man Python in seiner raffiniertesten Form schreibt und prägnante, schöne Python-Kunstwerke in nur einer einzigen Zeile schafft.Christian Mayer hat einen Doktortitel in Informatik und ist der Gründer der beliebten Python-Site Finxter (https:blog.finxter.com). Mayer ist außerdem der Autor der Coffee Break Python-Reihe.
Praktische Statistik für Data Scientists
Statistische Konzepte aus der Perspektive von Data Scientists erläutert* Das Buch stellt die Verbindung zwischen nützlichen statistischen Prinzipien und der heutigen Datenanalyse-Praxis her* Ermöglicht Data Scientists, ihr Wissen über Statistik auf ein neues Level zu bringen* Übersetzung der 2. Auflage des US-Bestsellers mit Beispielen in Python und RStatistische Methoden sind ein zentraler Bestandteil der Arbeit mit Daten, doch nur wenige Data Scientists haben eine formale statistische Ausbildung. In Kursen und Büchern über die Grundlagen der Statistik wird das Thema aber selten aus der Sicht von Data Scientists behandelt. Viele stellen daher fest, dass ihnen eine tiefere statistische Perspektive auf ihre Daten fehlt.Dieses praxisorientierte Handbuch mit zahlreichen Beispielen in Python und R erklärt Ihnen, wie Sie verschiedene statistische Methoden speziell in den Datenwissenschaften anwenden. Es zeigt Ihnen auch, wie Sie den falschen Gebrauch von statistischen Methoden vermeiden können, und gibt Ratschläge, welche statistischen Konzepte für die Datenwissenschaften besonders relevant sind. Wenn Sie mit R oder Python vertraut sind, ermöglicht diese zugängliche, gut lesbare Referenz es Ihnen, Ihr statistisches Wissen für die Praxis deutlich auszubauen.Peter Bruce ist Gründer des Institute for Statistics Education bei Statistics.com. Andrew Bruce ist Principal Research Scientist bei Amazon und verfügt über mehr als 30 Jahre Erfahrung in Statistik und Data Science. Peter Gedeck ist Senior Data Scientist bei Collaborative Drug Discovery, er entwickelt Machine-Learning-Algorithmen für die Vorhersage von Eigenschaften von Arzneimittelkandidaten.
Microsoft Teams For Dummies
WORK SEAMLESSLY TOGETHER WITH MICROSOFT TEAMSIt was only a matter of time before Microsoft 365 built an actual virtual office. And Microsoft Teams is it, rocketing from 13 to 75 million daily users in a single year. The new edition of Microsoft Teams For Dummies gives you an in-depth introductory tour through the latest version of the app, exploring the many different ways you can chat, call, meet, work remotely, and collaborate with others in real time—whether you're using it as an all-in-one tool for working from home or as an extension to your brick-and-mortar office. Available as a stand-alone app or as part of Microsoft 365, it allows you to work seamlessly with almost any other Microsoft app.The friendly onboarding provided by this book takes you from the basics of file-sharing, organizing teams, and using video to must-have insights into less obvious functionality, such as posting the same message to multiple channels, muffling background noise (useful if you're working from home!), and choosing more than one feed to concentrate on when video-conferencing (allowing you to pay attention to the speaker and your team members at the same time). As well as clueing you in on how things work, you'll also find advice on the most effective ways of using them, with best-practices recommendations and tips on integrating Microsoft Teams into your existing workflows.* Set up the interface* Communicate on chat and video, inside and outside your org* Integrate Microsoft Teams with your other Office apps* Optimize your approach to meetings, working across large teams, and more!Whether you're using Microsoft Teams for work, within your family, or for a collaborative hobby, you'll find everything you need to get everyone on the same page in the same virtual room.ROSEMARIE WITHEE is a technology professional and the author of the latest editions of Office 365 For Dummies and Sharepoint For Dummies, as well as the first edition of Microsoft Teams For Dummies.INTRODUCTION 1About This Book 1Foolish Assumptions 2Icons Used in This Book 2Beyond the Book 3Where to Go from Here 3PART 1: GETTING STARTED WITH MICROSOFT TEAMS 5CHAPTER 1: GETTING UP AND RUNNING WITH MICROSOFT TEAMS 7Wrapping Your Head Around Microsoft Teams 8Getting Familiar with Teams Terminology 10Getting Started with the Teams App 11Getting Teams for free 11Getting Teams through Microsoft 365 14CHAPTER 2: NAVIGATING MICROSOFT TEAMS 17Downloading, Installing, and Opening Teams 17Taking a Quick Spin Around Teams 22Activity 22Chat 23Teams 23Calendar 24Calls 24Files 26Using Teams Across Many Devices and Platforms 26Using Teams to Organize Your Life 27CHAPTER 3: STARTING YOUR FIRST TEAM AND MANAGING SETTINGS 29Creating a New Team 29Inviting People to Your Team 35Managing Your Team Settings 37Managing User Settings 40General 42Privacy 43Notifications 43Devices 44Permissions 44Calls 44PART 2: EXPLORING CHAT, TEAMS, CHANNELS, AND APPS 45CHAPTER 4: STAYING CONNECTED TO OTHERS WITH CHANNELS AND CHAT 47Instant Messaging in Teams 48Sending Messages in Channels 49Creating a New Channel 51Configuring a Channel 54Adding Moderators 57Moving from a Channel to a Chat 58Starting a private chat 59Adding multiple people to a chat 60Giving a chat a title 61Pinning a chat to the top of the list 62Sending More than Text When Chatting 62Adding emojis, GIFs, and stickers 63Adding a file 64Reacting to chat messages 66CHAPTER 5: EXTENDING TEAMS WITH APPS, BOTS, AND CONNECTORS 67Discovering Apps Already Installed 68The Files tab 68The Wiki tab 69Browsing and Adding Apps 70Exploring Popular Apps 74Popular apps from Microsoft 74Popular apps from third-party companies 78Integrating Teams with Microsoft Power Platform 80Power BI 81Power Apps 81Power Automate 82Power Virtual Agents 82Setting Permissions for Apps 83Getting Chatty with Bots 84CHAPTER 6: UNSHACKLING YOURSELF WITH THE TEAMS MOBILE APP 85Installing the Teams Mobile App 86Installing on iOS 86Installing on Android 86Finding Your Way Around the Teams Mobile App 89Tapping Your Way through Teams 92Interacting with messages 93Getting used to navigation 94Organizing Your Home Life 95Using the mobile app for chatting 96Using the mobile app for calling 97Sharing files with contacts or groups 98Planning events 99Sharing your location 100CHAPTER 7: WORKING WITH PEOPLE OUTSIDE YOUR ORGANIZATION 103Understanding How Teams Works with People Outside Your Organization 104Working with Guest Users 105Enabling guest access 105Configuring guest settings 106Inviting guests to the team 108Understanding the guest user experience 112Setting permissions for guest users at the team level 112Interacting with External Users 114CHAPTER 8: TAMING THE NOISE AND STAYING FOCUSED. 117Embracing the Activity Feed 118Hiding and Showing Teams and Channels 119Filtering by Team or Channel 121Changing the Order of Teams in Your List 122Muting Channels to Decrease Notifications 122Tracking Important Activity with Custom Notifications 124Searching for Past Conversations 124Getting Creative with Search and Hashtags 125PART 3: STAYING IN SYNC WITH MEETINGS AND CONFERENCING 127CHAPTER 9: WORKING REMOTELY: EMBRACING TEAMS TO MAKE MEETINGS BETTER 129Getting Up to Speed with Teams Meetings 130Viewing Your Calendar in Teams 131Creating a New Meeting and Inviting People 132Joining an Existing Meeting 136Using Teams for Conference Calls 137Connecting with Video 138Breaking Out into Breakout Rooms 141Getting Together with Together Mode 146Enabling Together Mode 147Using Together Mode in your meetings 147What Are Live Events? 148CHAPTER 10: BRINGING TEAMS INTO THE PHYSICAL WORLD 151Discovering How Teams Is More Than Software 152Going Hands Free with Teams 153Getting Visual with Cameras 154Using Desktop Phones for Teams 155Turning a Conference Room into a Teams Room 156PART 4: TAKING COMMUNICATION TO THE NEXT LEVEL WITH VOICE 159CHAPTER 11: MAKING AND RECEIVING CALLS 161Making Phone Calls in Teams 161Calling another Teams user 162Finding the Calls dashboard 163Receiving a Call in Teams 165Using Teams with Phone Numbers 165Adding Phone Numbers to Teams 167Obtaining a license and dial plan 167Signing up for a new phone number 169Assigning a phone number to a Teams user 172Bringing an existing phone number to Teams 173Unassigning or changing the phone number assigned to a user 175Setting Up a Teams Phone 176CHAPTER 12: LETTING TEAMS BE YOUR PERSONAL OPERATOR 177Setting Up Audio Devices in Teams 178Customizing How You Receive Calls 181Restricting Calls with Do Not Disturb 182Delegating Access to Others 183Digging into Modern Voicemail 185Understanding Phone Number Types 187Taking calls in an orderly fashion with call queues 188Routing callers with auto attendants 190PART 5: BECOMING A MICROSOFT TEAMS ADMINISTRATOR 193CHAPTER 13: GETTING TO KNOW THE TEAMS ADMIN CENTER 195Finding and Signing In to the Teams Admin Center 196Getting Familiar with the Teams Admin Center 198Adding New Users to Microsoft 365 and Teams 202Managing Teams Users 204CHAPTER 14: DIGGING INTO TEAMS ADMINISTRATION 207Configuring Teams 208Making Configuration Changes for Meetings 209Conference bridges 210Meeting policies 210Meeting settings 211Live events policies 211Live events settings 212Adjusting Settings for the Entire Organization 212Identifying Locations of Offices and Buildings 213Adding Default Teams Apps 214Setting Policies for Chat and Channels 217Managing Devices for Your Organization 218PART 6: MOLDING TEAMS TO FIT YOUR UNIQUE ORGANIZATION 219CHAPTER 15: USING TEAMS IN SMALL AND MEDIUM-SIZED ORGANIZATIONS 221Focusing on the Internet 222Understanding How Teams Fits Your Organization 223Keeping it simple (1 or 2 people) 224Taking your organization to the next level (2 to 25 people) 226Growing large (25 to 250 people) 227CHAPTER 16: UNLEASHING FEATURES DESIGNED FOR LARGE ENTERPRISES 229Managing Large Numbers of Teams 230Archiving a team 232Deleting a team 235Bringing in the Network Engineers 235Dividing and Conquering with Fine-Tuned Admin Roles 237Creating a Policy to Retain or Delete Content 238Exploring Enterprise Voice Features 240Reporting and Analytics 241Upgrading from Skype for Business to Teams 243Getting Help from the Experts 243CHAPTER 17: LEARNING HOW TEAMS EMBRACES INDUSTRY-SPECIFIC NEEDS 245Getting the Most from Teams for Education 246Creating a team from a class list 246Using Insights to assess student engagement 247Using FlipGrid 248Using Teams in Government Agencies 249Leveraging Teams for Consulting and Service-Based Companies 250Empowering Healthcare Providers 250Modernizing Retail Stores 251Tapping into Teams for Firstline Workers 252PART 7: THE PART OF TENS 255CHAPTER 18: TEN TIPS FOR BETTER TEAMS MEETINGS 257Chatting During a Meeting 257Capturing a Meeting with a Recording 258Keeping Noise Under Control with Mute 260Blurring Your Background 261Taking Notes 263Using a Whiteboard 265Sharing Your Screen 267Taking Control of Someone Else’s Screen 268Organizing Teams to Fit Your Meeting Needs 269Using Teams While a Meeting Is in Progress 269CHAPTER 19: TEN TEAMS APPS WORTH DISCOVERING 271Microsoft Office 271Task Management 272Design 273Customer Service 274Development 275Education 276Social Media 277Survey 277Marketing 278Miscellaneous 278CHAPTER 20: TEN WAYS TO LEARN MORE ABOUT TEAMS 281Get Information Directly from Microsoft 281Enroll in an Online Class 283Keep Up with Experts 284Attend User Groups and Meetups 285Get Certified 286Subscribe to the Microsoft Teams Podcast 286Attend the Microsoft Ignite Conference 287Get Updates in Your Inbox 288Discover the Microsoft Teams Roadmap 289Continue Learning with Rosemarie (Your Author) 290Index 293
Versionsverwaltung mit Git (3. Auflg.)
Der Praxiseinstieg mit praktischer Referenzkarte in aktualisierter 3. Auflage 03/2021.Git ist in der Softwareentwicklung bereits weit verbreitet – sowohl in Firmen als auch in Open-Source-Projekten. Zum Einstieg lernen Anfänger häufig nur die wichtigsten Befehle, die schnell nicht mehr ausreichen, vor allem wenn die ersten Fehler auftreten.Dieses Buch behandelt einerseits die gängigen Befehle, die Sie beim täglichen Arbeiten mit Git brauchen. Andererseits geht es dem Autor auch darum, dass Sie Git als Ganzes verstehen, um es effektiv im Entwicklungsprozess einsetzen zu können.Der Fokus des Buchs liegt auf dem praktischen Arbeiten mit Git. Sie lernen anhand eines Projekts, welche Befehle es gibt, wie diese arbeiten und wie Sie auftretende Probleme lösen können. Neben alltäglichen Funktionen finden Sie auch seltener gebrauchte Kommandos, die aber ebenfalls wichtig sind. Dabei legt der Autor großen Wert auf die Einbindung und Anpassung des Entwicklungsprozesses.Im zweiten Teil des Buchs werden fortgeschrittene Themen behandelt. Der Schwerpunkt liegt auf dem Einsatz von Git in Teams. Darunter etwa das Hosten verteilter Repositories mit GitHub und GitLab. Ein weiteres Kapitel behandelt die Workflows, die je nach Anzahl der beteiligten Personen, Branches und Repositories eines Projekts variieren.Darüber hinaus gibt Ihnen der Autor hilfreiche Informationen für den Umstieg von Subversion, einen Überblick über grafische Git-Programme, Hinweise für eine langfristig nachvollziehbare Git-Historie sowie eine Einführung in DevOps, wofür Git die technische Grundlage bildet. Ein Kapitel zu häufig gestellten Fragen rundet diesen Praxiseinstieg ab.Das Buch richtet sich sowohl an blutige Einsteiger als auch an erfahrene Leser.Inhalt & Leseprobe (PDF-Link)
Adobe Creative Cloud All-in-One For Dummies
FLY HIGHER IN YOUR CREATIVE CLOUDAdobe Creative Cloud makes the most popular tools used by designers, photographers, and other creative professionals accessible in a single place. Adobe Creative Cloud All-in-One For Dummies is the ultimate one-stop reference guide for how to use them all. Whatever gets your creative juices flowing, you'll find the in-depth guidance required to deliver the results you want, from polishing-up photos and images to creating illustrations and designs. And once your assets are just how you want them, you can pick up best practices for managing and publishing via the amazing Adobe Bridge.Written by pro designers for those getting started with this powerful set of tools, this book gives you an overview of Creative Cloud and step-by-step coverage of the major applications—InDesign, Illustrator, Photoshop, Acrobat Pro, and Adobe XD, and Adobe Bridge—in seven mini-books that take you from the basics to more advanced topics. You'll also discover how to get your work noticed by building personal galleries and displaying your creative wares.* Find the essentials on the top tools in Adobe Creative Cloud* Build and enhance your design skills* Protect your documents with Acrobat Pro* Get the most out of each program with insider tipsWhatever your skill level and project needs, you'll find the essentials you need to demystify these complex programs and the knowledge to make your work shine even more brightly through the Cloud!JENNIFER SMITH is the director of user experience design practice at the American Graphics Institute. She is also a designer, consultant, educator, mentor, and author of over a dozen books on digital imaging and web publishing.CHRISTOPHER SMITH is president of the American Graphics Institute. He is author of more than ten books on digital publishing, including many of the Adobe official training guides.INTRODUCTION 1Why is It Important? 2About This Book 2Foolish Assumptions 4Icons Used in This Book 4Beyond the Book 4Where to Go from Here 5BOOK 1: GETTING STARTED WITH THE CREATIVE CLOUD SUITE 7CHAPTER 1: THE CREATIVE CLOUD 9Applications Covered in This Book 10Crossing the Adobe Bridge 11Getting started with Photoshop CC 11Introducing InDesign CC 11Using Illustrator CC 12Working with Acrobat DC 13Prototyping your apps with Adobe XD 14Integrating software 15Acquiring assets for this book 15CHAPTER 2: CREATIVE CLOUD APPLICATION MANAGEMENT 17Downloading Your First App 17Checking for updates 19Getting started 20CHAPTER 3: CREATIVE CLOUD EXTRAS FOR YOU 21Launching the Creative Cloud App 22Apps 22Categories 23Managing Your Fonts 24Resource Links 24Your Work 25Libraries 25Show Cloud Documents 29Discovering Design Opportunities with New Fonts 32Finding Images with Adobe Stock 33Promoting Yourself with Behance 34Creating a Cover 36Bonus! Adobe Portfolio 37It’s Not Just Apps! 38CHAPTER 4: USING COMMON MENUS AND COMMANDS 39Discovering Common Menus 39Using Dialog Boxes 41Encountering Alerts 43Discovering Common Menu Options 44About Contextual Menus 45Using Common Keyboard Shortcuts 46Changing Your Preferences 48CHAPTER 5: EXPLORING COMMON PANELS 51Understanding the Common Workspace 51Using Panels in the Workspace 53Moving panels 54Looking at common panels 55BOOK 2: ADOBE BRIDGE 57CHAPTER 1: ORGANIZING AND MANAGING YOUR FILES WITH ADOBE BRIDGE 59Getting to Know the Adobe Bridge Workspace 60Practice makes perfect 62Finding and using your folders within Adobe Bridge 62The default workspace 64Looking for a better view 65Creating a new folder 66Moving a file to another folder 67Making a favorite 68Investigating the Application bar 69Developing a Bridge habit 69CHAPTER 2: TAKING ADVANTAGE OF METADATA IN ADOBE BRIDGE 71Locating Your Files 71Using Keywords 74Creating a Metadata Template 75Searching for Files Using Adobe Bridge 77Searching by name or keyword 77Using the Filter panel 78Saving a Collection 79CHAPTER 3: USING AUTOMATION TOOLS IN ADOBE BRIDGE 81Getting Files from Your Camera 81Automation Tools in Adobe Bridge 83Batch renaming your files 83Exporting your files from Bridge 85Loading files as layers 85Building a contact sheet 86BOOK 3: PHOTOSHOP CC 89CHAPTER 1: GETTING INTO PHOTOSHOP CC BASICS 91The Start Screen 91The New Document Window 92Sample Images Can Help You Investigate More Features 93Opening an Image 94Getting to Know the Tools 94Navigating the Work Area 97Changing your workspace 97Resetting your workspace 99Docking and saving panels 99Saving your workspace 100Taking advantage of workspace features 100Zooming in to get a better look 100Choosing Your Screen Mode 102Getting Started with Basic Tasks in Photoshop CC 102Cropping an image 102Using grids as you crop 105Using the Frame tool to create cropped images 106Saving images 109CHAPTER 2: MESSING WITH MODE MATTERS 111Working with Bitmap Images 111Choosing the Correct Photoshop Mode 113Bitmap 113Grayscale 113Duotone 114Index color 117RGB 117CMYK 118LAB color 118Multichannel 119Bit depth 119CHAPTER 3: MAKING SELECTIVE CHANGES 121Getting to Know the Selection Tools 121The Marquee tool 122The Lasso tool 125The Object Selection tool 126The Quick Selection tool 127The Magic Wand tool 128Painting a selection with the Quick Mask tool 129Manipulating Selections with Refine Selection 132Transforming selections 132Transforming selections 132Feathering 135Tweaking the edges of a selection in the Select and Mask workspace 138Selecting the Subject 143Saving Selections 144CHAPTER 4: USING THE PHOTOSHOP PEN TOOL 145Selecting the Right Pen Tool for the Task 146Using a Path as a Selection 146Creating Curved Paths 148Clipping Paths 150Using Shape Layers 152Creating and using a custom shape 153Changing the color of the shape 155Changing the color fill of a custom shape 156Changing the stroke on a live vector shape 157Creating a stroke on a custom shape 158Removing a shape layer 159CHAPTER 5: CREATING IMAGES IN THE RIGHT RESOLUTION FOR PRINT AND THE WEB 161Creating Images for Print 161The resolution formula 163Changing the resolution 163Determining the Resolution for Web Images 166Applying the Unsharp Mask Filter to an Image 167CHAPTER 6: CREATING A GOOD IMAGE 169Reading a Histogram 169Breaking into key types 172Starting the process to improve your image 174Creating a Good Tone Curve 174Finding the highlight and the shadow 176Setting the highlight and shadow values 180Adjusting the midtone 181Finding a neutral 182Editing an Adjustment Layer 184Testing a Printer 185CHAPTER 7: WORKING WITH PAINTING AND RETOUCHING TOOLS 187Using the Swatches Panel 187Choosing Foreground and Background Colors 188The Painting and Retouching Tools 189Changing the brush 190The Spot Healing Brush tool and the Content-Aware feature 191The Healing Brush tool 193The Patch tool 194The Red Eye tool 195The Brush tool 195The Clone Stamp tool 198The History Brush tool 200The Eraser tool 201The Gradient tool 201Blending Modes 204Painting with color 206Filling selections 207Saving Presets 208CHAPTER 8: USING LAYERS 209Creating and Working with Layers 209Duplicating a Layer 212Selecting a Layer 212Controlling the visibility of a layer 213Rearranging the stacking order 213Creating a Text Layer 213Warping text 214Fine-tuning text 214Check that spelling! 215Using Layer Masks 215Creating a layer mask from a selection 216Creating a vector mask from a pen path 218Organizing Your Layers 220Activating multiple layers simultaneously 220Layer groups 220Duplicating a layer group 221Filter Capabilities in the Layers Panel 222Merging and Flattening Images 222Merging 223Flattening 223CHAPTER 9: GOING BEYOND THE BASICS WITH LAYERS 225Using Layer Styles 225Applying a style 225Creating and saving a style 227Thinking about opacity versus fill 228Smart, Really Smart! Smart Objects 229Finding Tools and Features That Are Hidden 230Using the Frame Tool 231Working with Artboards in Photoshop 232Adding additional artboards 234Adding content to the second artboard 234Experimenting with 3D Files 237Preserving Corrective Perspective with the Vanishing Point Feature 238CHAPTER 10: SAVING PHOTOSHOP IMAGES FOR PRINT AND THE WEB 243Backing Up with a Save 244Choosing a File Format for Saving 244Wonderful and easy Photoshop PSD 245Photoshop EPS 245Photoshop PDF 245TIFF 246DCS 246Saving Images for the Web 246PNG 247JPEG 248GIF 250Matte 254Saving Settings 254BOOK 4: INDESIGN CC 257CHAPTER 1: INTRODUCING INDESIGN CC 259Getting Started with InDesign CC 259Creating a new publication 260Opening an existing publication 263Touring the Workspace 263Tools 265Menus 266Panels 267Contextual menus 270Setting Up the Workspace 271Showing and hiding grids and guides 271Snapping to a grid or a guide 272Using Smart Guides 273Customizing menus 274Customizing the interface appearance 275Saving a custom workspace 275Working with Documents 276Importing new content 277Viewing content 278Saving your publication 278CHAPTER 2: WORKING WITH TEXT AND TEXT FRAMES 281Understanding Text, Font, and Frames 282Creating and Using Text Frames 282Creating text frames with the Type tool 283Creating text frames with the Frame tool 284Creating text frames from a shape 284Adding Text to Your Publication 284Importing text 285Controlling text flow 285Adding placeholder text 286Copying and pasting text 287Looking at Text Frame Options 287Changing text frame options 288Using and modifying columns 289Modifying and Connecting Text Frames on a Page 290Resizing and moving the text frame 291Threading text frames 292Adding a page jump number 295Understanding Paragraph Settings 297Indenting your text 297Text alignment and justification 298Saving a paragraph style 299Editing Stories 300Using the story editor 300Checking for correct spelling 302Using custom spelling dictionaries 302Using Tables 303Creating tables 303Editing table settings 305Creating table styles 306Looking at Text on a Path 307CHAPTER 3: UNDERSTANDING PAGE LAYOUT 309Importing Images 309Importing PDFs 311Importing other InDesign documents 311Linking and Embedding Images 312Setting Image Quality and Display 314Selecting Images 315Manipulating Text and Graphics in a Layout 316Page orientation and size 316Margins, columns, and gutters 317Using guides and snapping 317Locking objects and guides 319Merging Text and Graphics 320Wrapping objects with text 320Modifying a text wrap 322Working with Pages and the Pages Panel 323Selecting and moving pages 324Adding and deleting pages 325Numbering your pages 325Using Master Spreads in Page Layout 326Creating a master spread 327Applying, removing, and deleting master pages 327Changing individual page sizes 328CHAPTER 4: DRAWING IN INDESIGN 329Getting Started with Drawing 329Paths and shapes 330Points and segments 332Getting to Know the Tools of the Trade 332The Pencil tool 333The Pen tool 333Basic shapes and frame shapes 333Drawing Shapes 334Creating a shape with exact dimensions 334Using the Polygon tool 335Editing Basic Shapes 336Changing the size with the Transform panel 336Changing the size with the Free Transform tool 337Creating your own custom shapes 337Changing the stroke of a shape 339Changing the shear value 340Rotating a shape 340Drawing Freeform Paths 340Using the Pencil tool 340Using the Pen tool 341Editing Freeform Paths 342Modifying Frame Corners 343Using Fills 344Creating basic fills 344Making transparent fills 345Filling with gradients 346Removing fills 348Adding Layers 349Creating QR Codes 350CHAPTER 5: UNDERSTANDING COLOR 351Selecting Color with Color Controls 351Understanding Color Models 352Using Color Swatches and Libraries 353The Swatches panel 353Swatch libraries 354CHAPTER 6: CLIPPING PATHS, ALIGNMENT, AND OBJECT TRANSFORMATION 357Working with Transformations 358Looking at the Transform panel 358Using the Free Transform tool 360Rotating objects 361Scaling objects 363Shearing objects 363Reflecting objects 364Understanding Clipping Paths 365Arranging Objects on the Page 366Aligning objects 366Distributing objects 367CHAPTER 7: EXPORTING TO PDF AND PRINTING 369Preflight: Preparing Your Documents for Printing 369Packaging Your Documents 371Understanding File Formats 372Exporting Publications 374Exporting PDF documents for printing 374Exporting EPS files 376Exporting JPEG and PNG files 377Exporting text files 378Printing Your Work 379Understanding bleed 379Doing it yourself: Printing and proofing at home or the office 380CHAPTER 8: CREATING DIGITAL DOCUMENTS USING EPUB AND PUBLISH ONLINE 383Choosing the Right Digital Format 384Planning Layouts for Digital Distribution 384Adapting Print Documents to Share Digitally 385Creating liquid layout rules for alternative layouts 386Creating alternate layouts 387Adding interactivity to digital documents 389Exporting Digital Books as EPUB 390Preparing EPUB (Reflowable) Books 390Exporting EPUB (Reflowable) Books 391Exporting EPUB (Fixed-Layout) 393Publish Online 394Share for Review 396BOOK 5: ILLUSTRATOR CC 399CHAPTER 1: DISCOVERING ILLUSTRATOR CC 401Deciding When to Use Illustrator CC 401Creating a New Document 403Try a Template 407Opening an Existing Document 407Taking a Look at the Document Window 407Navigating the Work Area with Zoom Controls 410Taking Advantage of Artboards 411Creating multiple artboards 412Using the Artboard Panel 413Printing a document with multiple artboards 414Checking Out the Panels 415Getting to Know Your Workspace 416Becoming Familiar with the Tools 417Changing Views 420CHAPTER 2: USING THE SELECTION TOOLS 423Getting to Know the Selection Tools 423Giving selections a try 424Anchor points 425Bounding boxes 426Introducing all the selection tools 427Working with Selections 428More practice with selections 428Selecting an anchor point 429Using a marquee to select an object 430Selecting multiple objects 431Saving a selection 431Grouping and Ungrouping 432Creating a group 432Using Isolation mode 433Manipulating Selected Objects 433CHAPTER 3: CREATING BASIC SHAPES AND BEYOND 437The Basic Shape Tools 437Creating rectangles and ellipses 438Working with the Live corners feature 439The Rounded Rectangle tool 440Using the Polygon tool 441Using the Star tool 441Resizing Shapes 442Tips for Creating Shapes 444Making some pies 444Creating advanced shapes 445Using the Pathfinders 446Using the Shape Builder tool 447CHAPTER 4: USING THE PEN TOOL AND INTEGRATING IMAGES 449Pen Tool Fundamentals 450Creating a straight line 451Creating a constrained straight line 453Creating a curve 453Reconnecting to an existing path 454Controlling curves 455Creating a corner point 456Additional Pen Tools 457Adding tools to help make paths 458Using the Eraser tool 458Tracing Artwork 460Creating a template layer 460Using Image Trace 461Changing the view 463Other Details You Should Know about Placing Images 463CHAPTER 5: USING TYPE IN ILLUSTRATOR 465Working with Type 465Creating text areas 466Creating a line of text 466Flowing text into an area 467Dealing with text overflow 467Creating columns of text with the Area Type tool 467Threading text into shapes 470Wrapping text 471Outlining text 472Putting text on a path, in a closed shape, or on the path of a shape 474Assigning Font Styles 476Using the Character Panel 478Using the Paragraph Panel 480Alignment 481Indentation 481Text Utilities: Your Key to Efficiency 482Find and Replace 482Spell checker 482The Hyphenation feature 483The Find Font feature 484The Change Case feature 485Text styles 485CHAPTER 6: ORGANIZING YOUR ILLUSTRATIONS 491Setting Ruler Increments 491Using Guides 492Creating a ruler guide 492Creating a custom guide 493Using the Properties Panel for Placement 493Changing the Ruler Origin 494What You Need to Know about Object Arrangement 494Hiding Objects 496Locking Objects 497Creating a Clipping Mask 498Creating a Mask of Illustrator Objects Using the Blend Tool 500Creating a Clipping Path Using the Draw Inside Button 502CHAPTER 7: USING LAYERS 505Creating New Layers 506Using Layers for Selections 510Changing the Layer Stacking Order 511Moving and Cloning Objects 512Hiding Layers 512Locking Layers 513CHAPTER 8: LIVENING UP ILLUSTRATIONS WITH COLOR 515Choosing a Document Profile 516Using the Swatches Panel 517Applying Color to the Fill and Stroke 519Changing the Width and Type of a Stroke 519Adding Arrowheads 522Using the Color Panel 523Saving Colors 524Building and using custom libraries 524Using the Color Guide and color groups 525Editing or Applying Colors 526Adding Pantone colors 527Editing Colors 529Building and Editing Patterns 530Advanced Pattern Editing 532Working with Gradients 534Using the Gradient tool 537Apply a gradient to a stroke 538Using transparency in gradient meshes 538Copying Color Attributes 540Painting Made Easy: The Live Paint Feature 541CHAPTER 9: USING THE TRANSFORM AND DISTORTION TOOLS 543Working with Transformations 543Transforming an object 544Using the Transform tools 547Creating Distortions 550The Liquify tools 550Using the Envelope Distort command 552CHAPTER 10: WORKING WITH TRANSPARENCY AND SPECIAL EFFECTS TOOLS 557The Mesh Tool 557The Blend Tool 561Creating a blend 561Setting Blend options 562The Symbol Sprayer Tool 563Exploring the symbol tools 563Creating and spraying symbols on the artboard 565Transparency 566Blend modes 567Opacity masks 568CHAPTER 11: USING FILTERS AND EFFECTS 571Working with Effects 571Understanding the Appearance panel 572Applying an effect 572Adding a Drop Shadow effect 573Saving your combination of effects as a graphic style 575Saving Graphic Styles 576Creating 3D Artwork 577Adding Multiple Fills and Strokes 580Using the Perspective Grid 583CHAPTER 12: USING YOUR ILLUSTRATOR IMAGES 587Saving and Exporting Illustrator Files 587The native Adobe Illustrator file format 588Saving Illustrator files back to previous versions 590The PDF file format 590The EPS file format 592The SVG file format 593Saving Your Artwork for the Web 594Saving Multiple Assets out of Illustrator 597Flattening Transparency 599Flattening a file 599Using the Flattener Preview panel 601Printing from Illustrator 602BOOK 6: ADOBE XD 605CHAPTER 1: INTRODUCING THE XD WORKSPACE 607Understanding the Modern User Interface 607Creating a new artboard 608Using the tools 610Relating Objects to the Property Inspector 610Centering an object on the screen 610Using transform features 611Fixing position when scrolling 612Laying it all out 612Changing the appearance of your object 614A Little Bit about Artboards 616Saving your file 617Cloning your text objects to the first artboard 618Duplicating your artboard 619Creating a third artboard by cloning 620Editing your text to fit the screens 621Experimenting with artboard properties 621Adding an image 621Keyboard Shortcuts for Navigating the Workspace 623Design View versus Prototype Mode 624Creating your links 624Testing your prototype 625CHAPTER 2: WORKING WITH ARTBOARDS 627Starting Your Document and Adding an Artboard 627Creating New Artboards 628Resizing an Artboard 629Adding a New Artboard 629Using the Layers Panel 630Adding Objects to Your Artboards 631Arranging Artboards in Your Pasteboard Area 632Aligning and Distributing Your Artboards 632Adding Scrolling Capability to an Artboard 633Adding Guides to Your Artboard 635CHAPTER 3: CREATING YOUR USER INTERFACE (UI) WITH SHAPES, PATHS, AND CUSTOM SHAPES 637Working with the Basic Shapes 637What’s included in XD 638Determining the size 638Using a Shape to Create a Button 639Creating a border 640Sampling a color using the eyedropper 641Adding text to your button 641Creating a gradient 642Changing the Direction and Angle of Your Gradient 644Using the Pen Tool 645Editing shapes 646Creating Custom Shapes 647Adding lines 648Importing from Illustrator 648CHAPTER 4: BUILDING YOUR UI 649Layers and the Objects They Contain 649Artboards and layers 650What can you do with your artboards inside the Layers panel? 651Transforming Objects 658Aligning and Distributing 658Be smart about your guides 658Using the Align and Distribute feature 659CHAPTER 5: WORKING WITH TEXT IN YOUR XD PROJECT 661Using the Text Tool 661Adjusting Text Properties 662About readability and font selections 663Selecting your font family 664Saving Your Properties as an Asset 666Using the Spellchecker 668Importing Text 668Using the Repeat Grid Feature 668Importing updated images into your repeated grid 670Updating your text in your repeated grid 671CHAPTER 6: WORKING WITH IMAGERY IN XD 673Importing Artwork into Your Prototype 673Working with Images in XD 674Masking your images 675Masking multiple objects 676Importing Vector Images into XD 677Exporting Selected Artwork from XD 678Exporting multiple items 679Exporting your artboards 680CHAPTER 7: CREATING DESIGN LIBRARIES 681Saving Reusable Objects as Components 681Making edits to your component 683Unlinking a component 684Saving colors in your libraries 684Saving Character Styles 685Discovering Libraries 686Using shared libraries 687Updating a published library 687Editing a component 688Taking Advantage of UI Kits 688CHAPTER 8: ADDING INTERACTIVITY TO YOUR XD PROJECT 691Entering Prototype Mode 691Discovering the many ways to link your artboards 693Creating animations 696Creating a Drag Trigger 698Creating an Overlay 699Adding States and Rollovers 701CHAPTER 9: SHARING YOUR XD PROJECT 705Viewing Your App/Website on Your Desktop 705Creating a Movie for Your User Story 707Using the Device Preview Feature 707Sharing Your XD File with Others 709Sharing a specific user flow 709Selecting a View setting 710Adding collaborators to your XD document 713Index 715
Clubhouse
In ist, wer drin ist. Und wer drin ist, der kann mitreden: Kommen Sie ins angesagte Clubhouse und seien Sie von Anfang an dabei! Der Clubhouse-Talkmaster Bernd Schmitt zeigt in diesem Buch, was Sie bei Ihrem Start in der neuen App beachten sollten, wie Sie die Clubhouse-Werkzeuge optimal einsetzen und Fallstricke umgehen. Sie erfahren, wie Sie sich Zutritt zum Clubhouse verschaffen, Talks finden und daran teilnehmen sowie erfolgreich eigene Talks veranstalten. Moderieren Sie alleine oder im Team, bauen Sie mithilfe der Profitipps Ihre Reichweite aus und vergrößern Sie Ihre Fanbase. Zehn praktische Kapitel mit Knigge sowie ein Glossar machen Sie fit für Ihren Auftritt im Clubhouse!Aus dem Inhalt:-Reinkommen: Einladungen erhalten und versenden-Name wählen und Profil einrichten-Talks finden und teilnehmen-Zuhören und sprechen-Eigene Talks veranstalten-Talks ankündigen und bekannt machen-Zuhörerinnen und Zuhörer gewinnen-Moderation und Co-Moderation-Reichweite erhöhen und Follower gewinnen-Talks über Instagram und Twitter bewerben-Rechtliche Aspekte und Datenschutz-Der kleine Clubhouse-Knigge-Glossar: die 100 wichtigsten Clubhouse-Begriffe
Machtwechsel der Intelligenzen
Das Buch führt dem am gesellschaftlichen Leben interessierten Leser allgemein verständlich vor Augen, wie KI funktioniert und wie sie alle Lebensräume dramatisch verändern wird. Von der Geschichte der KI über ihre Techniken und ihre vielfältigen Anwendungsfelder bis zu ihren ethisch-philosophischen Implikationen werden alle relevanten Aspekte ausführlich dargestellt. Der Autor bleibt dabei nicht im Deskriptiven, sondern nimmt auch mit klaren Worten kritisch Stellung zur KI-Entwicklung. Für den Leser sind die Ausführungen als fachliches Stützkorsett angelegt, um gegenüber den KI-Experten als kundiger Counterpart auftreten zu können. Die letzten beiden Kapitel entführen den Leser in die Zukunft des Lebens mit der Super-KI. Mit gewagten Szenarien alarmiert der Autor den Leser auf vergnügliche Weise, welch atemberaubende und gesellschaftlich hochexplosive Perspektiven sich mit der KI verbinden und welche ethischen und philosophischen Fragestellungen sich daraus ergeben. PROF. DR. GÜNTER CISEK, der große Organisationen wie IMF und Weltbank berät und regelmäßig Gastprofessuren in Asien übernimmt, thematisiert mit Sprachwitz gesellschaftskritische Themen stets mit großer kosmopolitischer Erfahrung und interdisziplinärem Ansatz. Der Leser kann sich stets darauf verlassen, dass er nicht nur beschreibt und analysiert, sondern gesellschaftskritisch auch stets wertend Stellung bezieht. Wie viel und was für künstliche Intelligenz verträgt der Mensch?.-Weißt Du, wie es ward? - Die Geschichte der KI.-Wie funktioniert KI? - Techniken der KI.-Wie realisiert sich KI? - KI bestimmt unser Leben.-Kaufst Du noch oder „influenzt“ Du schon? – Handel 4.0.-Wohin mit der „Sozialbrache“? – Industrie 4.0.-Wie verändert sich unser Miteinander? - Gesellschaftliche Implikationen der KI.-Paradiesische Zeiten oder das Ende der Welt? - Die Zukunft mit KI.
Simulation und Modellierung mit Scilab
Das vorlesungsbegleitende Buch führt zielgerichtet, kompetenzorientiert und fachübergreifend durch die Grundlagen der Numerischen Mathematik, Algorithmik, Programmierung, Modellierung sowie Simulation und erklärt diese mithilfe des Softwarepakets Scilab/Xcos detailliert an zahlreichen Anwendungen aus verschiedenen praxisrelevanten Gebieten des Ingenieurwesens.Neben detailliert dargestellten Beispielen dienen mehr als 300 Aufgaben zum Selbststudium mit ausführlichen Lösungen und Programmcodes zum Download der Lernzielkontrolle und der Prüfungsvorbereitung.Eingesetzt wird das frei verfügbare Softwarepaket Scilab/Xcos, das weitgehend zu MATLAB/Simulink kompatibel ist, um die wichtigsten Algorithmen der Numerischen Mathematik aus den Bereichen- Nichtlineare Gleichungen- Lineare Gleichungen- Numerische Integration- Lineare und nichtlineare Regression- Interpolation- Gewöhnliche und partielle Differenzialgleichungenzu implementieren und konkrete Fragestellungen aus der Mathematik, Physik, Bauphysik, Vermessung, Statik, Dynamik, Strömungsmechanik, Thermodynamik, Wärmeübertragung, Elektrotechnik und Regelungstechnik erfolgreich zu lösen.Als Zusatzmaterial zum Buch gibt es unter plus.hanser-fachbuch.de Lösungen der nummerischen Aufgaben und Downloadlinks rund um Scilab/Xcos. Prof. Dr.-Ing. Rudi Marek, Hochschule Deggendorf, Fakultät Bauingenieurwesen und Umwelttechnik, macht Lehrveranstaltungen in Ingenieurmathematik, Computernumerik, Numerischer Mathematik und Programmierung, insbesondere Vorlesungen in Ingenieuranalyse und Modellierung. Er war mehrere Jahre bei der HL-Technik AG München im Bereich der Gebäudesimulation und Bauphysik tätig.
Verwaltung von Windows 10 mit Gruppenrichtlinien und Intune
• Der kompakte Leitfaden für die praktische Arbeit mit Gruppenrichtlinien • Eigene Gruppenrichtlinienvorlagen erstellen • Für Profis: AGPM, PowerShell und DSC • Zahlreiche Beispiele aus der administrativen Praxis Die 5. Auflage des Gruppenrichtlinien-Bestsellers wurde für das aktuelle Feature Release von Windows überarbeitet und um Themen wie die Windows-10-Verwaltung über Microsoft Intune und Auditing ergänzt. Das Buch ist Grundlagen-, Praxis- und Nachschlagewerk in einem. Berücksichtigt werden sowohl die Gruppenrichtlinien-Einstellungen in Windows 10 als auch die Windows Server-Versionen 2019, 2016, 2012 und 2008 R2. Gruppenrichtlinien-Know-how für Einsteiger und Profis - Einsteiger führt das Buch von der Basisverwaltung von Gruppenrichtlinien bis hin zur Entwicklung eigener Vorlagen durch alle wichtigen Themen. - Profis finden in diesem Buch Informationen zur Planung von Gruppenrichtlinien, zur Verwaltung (PowerShell und AGMP), zur Erweiterung (per Fremdhersteller-Tools) sowie zur Automatisierung mit PowerShell. Eine Fülle von Beispielen aus der administrativen Praxis zeigt Ihnen, wo Sie welche Einstellungen vornehmen können, wie sich diese auswirken und wie Sie in Ihrer täglichen Arbeit dadurch Zeit sparen können. Zahlreiche Tipps und Hinweise helfen Ihnen bei der Fehlersuche und Problembehebung und warnen Sie vor typischen Fallen.
MCA Microsoft Office Specialist (Office 365 and Office 2019) Study Guide
MCA MICROSOFT OFFICE SPECIALIST (OFFICE 365 AND OFFICE 2019)STUDY GUIDEYOUR COMPLETE GUIDE TO PREPARING FOR THE MICROSOFT OFFICE SPECIALIST EXCEL EXAMThe MCA Microsoft Office Specialist (Office 365 and Office 2019) Study Guide: Excel Associate Exam MO-200 is your one-stop resource for preparing you to earn the Excel Associate certification. The exam measures your competencies in the fundamentals of Excel. This guide starts you off with an assessment test to measure what you already know and what you still need to learn. Then you move into professional scenarios and examples, practical exercises, and challenging chapter review questions. Finally, you can reinforce and retain what you’ve learned with the Sybex online learning environment and test bank. Get prepared for the Excel Associate Exam with Sybex.COVERAGE OF 100% OF ALL EXAM OBJECTIVES IN THIS STUDY GUIDE MEANS YOU’LL BE READY TO:* Create and manage worksheets and workbooks* Apply formulas and functions* Populate tables with data* Create and edit a workbook with multiple sheets* Add a graphic element to represent data visuallyINTERACTIVE LEARNING ENVIRONMENTTake your exam prep to the next level with Sybex’s superior interactive online study tools. To access our learning environment, simply visit WWW.WILEY.COM/GO/SYBEXTESTPREP, register your book to receive your unique PIN, and instantly gain one year of FREE access after activation to:* INTERACTIVE TEST BANK with a practice exam to help you identify areas where further review is needed. Get more than 90% of the answers correct, and you’re ready to take the certification exam.* 100 ELECTRONIC FLASHCARDS to reinforce learning and last-minute prep before the exam.* COMPREHENSIVE GLOSSARY in PDF format gives you instant access to the key terms so you are fully prepared.ERIC BUTOW has developed and taught networking, computing, and usability courses for Ed2Go, Virtual Training Company, California State University, Sacramento, and Udemy. Eric has also been a professional technical writer and started using Word, Excel, and PowerPoint professionally in 1994. He is the owner of Butow Communications Group (https://www.butow.net). BCG offers website development, online marketing, and technical writing services.Introduction xvAssessment Test xixCHAPTER 1 MANAGING WORKSHEETS AND WORKBOOKS 1Importing Data into Workbooks 2Bringing in Data from TXT Files 3Importing Data from CSV Files 4Navigating Within Workbooks 8Searching for Data Within a Workbook 8Navigating to Named Cells, Ranges, or Workbook Elements 10Inserting and Removing Hyperlinks 12Formatting Worksheets and Workbooks 20Modifying Page Settings 20Adjusting Row Height and Column Width 22Customizing Headers and Footers 30Customizing Options and Views 36Customizing the Quick Access Toolbar 37Displaying and Modifying Workbook Content in Different Views 41Freezing Worksheet Rows and Columns 44Changing Window Views 46Modifying Basic Workbook Properties 48Displaying Formulas 49Configuring Content for Collaboration 52Setting a Print Area 52Saving Workbooks in Other File Formats 54Configuring Print Settings 54Inspecting Workbooks for Issues 55Summary 59Key Terms 59Exam Essentials 59Review Questions 61CHAPTER 2 USING DATA CELLS AND RANGES 63Manipulating Data in Worksheets 64Pasting Data by Using Special Paste Options 64Filling Cells by Using Auto Filling 68Inserting and Deleting Multiple Columns or Rows 70Adding and Removing Cells 72Formatting Cells and Ranges 75Merging and Unmerging Cells 75Modifying Cell Alignment, Orientation, and Indentation 76Formatting Cells by Using Format Painter 79Wrapping Text Within Cells 80Using Number Formatting 82Applying Cell Formatting from the Format Cells Dialog Box 83Working with Cell Styles 84Clearing Cell Formatting 86Defining and Referencing Named Ranges 88Defining a Named Range 88Naming a Table 93Summarizing Data Visually 95Inserting Sparklines 95Applying Built-In Conditional Formatting 99Removing Conditional Formatting 101Summary 105Key Terms 105Exam Essentials 105Review Questions 107CHAPTER 3 WORKING WITH TABLES AND TABLE DATA 109Creating and Formatting Tables 110Creating Excel Tables from Cell Ranges 110Applying Table Styles 112Converting Tables to Cell Ranges 113Modifying Tables 115Adding or Remove Table Rows and Columns 115Configuring Table Style Options 118Inserting and Configuring Total Rows 119Filtering and Sorting Table Data 122Filtering Records 122Sorting Data by Multiple Columns 126Summary 128Key Terms 129Exam Essentials 129Review Questions 130CHAPTER 4 PERFORMING OPERATIONS BY USING FORMULAS AND FUNCTIONS 133Inserting References 134Inserting Relative, Absolute, and Mixed References 135Referencing Named Ranges and Named Tables in Formulas 137Calculating and Transforming Datas 140Performing Calculations Using the AVERAGE(), MAX(), MIN(), and SUM() Functions 140Perform Conditional Operations by Using the IF() Function 151Formatting and Modifying Text 155Formatting Text Using the RIGHT(), LEFT(), and MID() Functions 155Formatting Text Using the UPPER(), LOWER(), and LEN() Functions 159Formatting Text Using the CONCAT() and TEXTJOIN() Functions 163Summary 166Key Terms 167Exam Essentials 167Review Questions 168CHAPTER 5 MANAGING CHARTS 171Creating Charts 172Building Charts 172Working with Chart Sheets 174Modifying Charts 178Adding Data Series to Charts 178Switching Between Rows and Columns in Source Data 181Adding and Modifying Chart Elements 182Formatting Charts 185Using Chart Layouts 186Applying Chart Styles 194Adding Alternative Text to Charts for Accessibility 196Summary 198Key Terms 198Exam Essentials 199Review Questions 200APPENDIX: ANSWERS TO REVIEW QUESTIONS 203Chapter 1: Managing Worksheets and Workbooks 204Chapter 2: Using Data Cells and Ranges 204Chapter 3: Working with Tables and Table Data 205Chapter 4: Performing Operations by Using Formulas and Functions 206Chapter 5: Managing Charts 206Index 209
Building a Salesforce-Powered Front Office
Harness the power of Salesforce to manage and grow your business. This book shows you how to use the Salesforce CRM tool to consolidate consumer data into a single place to gain better insight into your business and more easily manage data.Data (such as email, spreadsheets, databases) is generated through the front office or face of your business, where your company interacts with customers and revenue is generated. In a hotel, for instance, the front office is the lobby where guests are greeted, their problems are handled, and room payments are made. Another example is a coffee shop, where the front office is an employee taking a customer's order or serving a drink.Salespeople connect to customers by selling your company’s goods or services. Marketing team members connect with them through advertising and promotional activities. Service and support staff assist customers with problems and provide help with products.This book introduces the many ways Salesforce-based innovations are transforming the technology landscape and the strategies that may be used for designing and launching a digital front office. The book examines how organizations can launch and grow digital solutions and strategies for the governance of the platform and provides an overview of digital transformation across industries.WHAT YOU WILL LEARN* Understand basic Salesforce concepts, including the digital front office process tower, lead to cash journey, core CRM functions, best practices, and more* Review data management concepts, integrated sales, customer service, marketing operations, and proposal and business development needs in a systematic way* Use frameworks to build a business architecture and multi-year technology roadmap* Get familiar with Salesforce business processes and concepts such as account, contact, lead, and opportunity management; marketing campaigns; master data management (MDM); and lead scoring, grading, and activity management across the front office* Define and develop digital marketing challenges and strategy (people, process, brand, messaging, and ROI), measure campaign data, and create an end-to-end campaign in SalesforceWHO THIS BOOK IS FORBusiness executives, C-suites, IT management, and Salesforce managers and professionals working in IT, business development, sales operations, program management, marketing operations, and proposal developmentRASHED CHOWDHURY is Senior Principal at Infosys where he consults with Fortune 500 companies on Salesforce strategy and front office development. He has 20+ years of experience in designing, developing, and architecting solutions in enterprise applications and Salesforce CRM.Rashed played a critical role in Salesforce CRM implementations, involving requirements gathering, solution design, configuration, deployment, and data migration in functional areas such as leads management, master data management (MDM), account management, campaign management, Miller Heiman Sales Management, and partner relationship management.Rashed is a part-time adjunct faculty member at the Robinson College of Business, Georgia State University, where he teaches masters-level students customer relationship management (CRM) and digital platform courses. He is a Salesforce Certified Administrator as well as a Certified Scrum Master.
Neue Algorithmen für praktische Probleme
In diesem Sammelband geht es darum, neue Algorithmen aus den Bereichen der Künstlichen Intelligenz (KI) und des Künstlichen Lebens (KL) und deren praktische Anwendung zu zeigen. Der wesentliche Aspekt des Bandes ist, dass in den Beiträgen exemplarisch gezeigt wird, dass und wie diese neuen Algorithmen auf praktische Probleme in sehr verschiedenen Bereichen erfolgreich eingesetzt werden können: Von der Modellierung sozialer Aspekte in der Softwareentwicklung bis zur Entscheidungsunterstützung, welche Start- und Landebahn an einem Flughafen ausgewählt werden soll; von der Analyse von Krankheitsverläufen bis zur Auswahl und Optimierung technischer Systeme, sowie Alternativen für die Bildbearbeitung.
Job Ready Java
PREPARE YOURSELF TO TAKE ON NEW AND EXCITING JAVA PROGRAMMING CHALLENGES WITH THIS ONE-STOP RESOURCEJob Ready Java delivers a comprehensive and foundational approach to Java that is immediately applicable to real-world environments. Based on the highly regarded and effective Software Guild Java Bootcamp: Object Oriented Programming course, this book teaches you the basic and advanced Java concepts you will need at any entry-level Java position.With the “Pulling It Together” sections, you’ll combine and integrate the concepts and lessons taught by the book, while also benefiting from:* A thorough introduction to getting set up with Java, including how to write, compile, and run Java programs with or without a Java IDE * Practical discussions of the basics of the Java language, including syntax, program flow, and code organization * A walk through the fundamentals of Object-Oriented Programming including Classes, Objects, Interfaces, and Inheritance, and how to leverage OOP in Java to create elegant code. * Explorations of intermediate and advanced Java concepts, including Maven , unit testing, Lambdas, Streams, and the Spring Framework Perfect for Java novices seeking to make a career transition, Job Ready Java will also earn a place in the libraries of Java developers wanting to brush up on the fundamentals of their craft with an accessible and up-to-date resource.HAYTHEM BALTI, PHD, is Director of Curriculum at Wiley’s Software Guild and mthree. He has created courses used by thousands of Software Guild Students in Java, Python, Go, and other development and data science competencies. He earned his doctorate in Computer Engineering and Computer Science from the University of Louisville.ALAN GALLOWAY is Director of Instruction at Wiley’s Software Guild and mthree. H:e supervises a team of instructors who deliver large-scale training programs in technology.About the Authors vAbout the Technical Writer viiAbout the Technical Editors viiAcknowledgments ixIntroduction xxvPART I: GETTING SET UP 1LESSON 1: INSTALLING JAVA 2The Java Universe 3The Java Development Kit 3The Java Virtual Machine 4The Java Runtime Environment 5Installing OpenJDK 5Installing OpenJDK on Microsoft Windows 6Checking for an Existing JDK on Windows 6Installing OpenJDK 7Verifying the Installation 10Installing OpenJDK on macOS 13Checking for an Existing JDK on macOS 13Installing OpenJDK 13Verifying the Installation 17Creating Your First Java Program 17Writing the Program 18Compiling and Running the Program 19Dealing with Syntax Errors 21Using the Compiler and Java Virtual Machine 22Summary 22LESSON 2: INSTALLING A DEVELOPMENT ENVIRONMENT: NETBEANS 24Getting Started 25Understanding the Value of an IDE 25Using the Source Code Editor 25Using the Build Automation Tools 26Using the Debugger 26Installing NetBeans 27Using an Installer 27Installing on Windows 28Installing on macOS 32Installing Binaries 37Installing Binaries on Windows 40Adding the JDK 42Running NetBeans 44Summary 45LESSON 3: USING AN INTEGRATED DEVELOPMENT ENVIRONMENT 46Using an IDE 47Creating a New Project 48Coding the “Hello, World!” Program 53Compiling the Code in NetBeans 57Running the Program 59Using the Debugging Tools 60Compilation and Syntax Errors 61Runtime and Logic Errors 63Understanding Source Control 67Summary 69PART II: BASICS OF OBJECT ORIENTED PROGRAMMING 70LESSON 4: USING PROGRAM STATEMENTS AND VARIABLES 71Approach 72Concepts 73Computers 73Data vs. Information 73Programs and Programming 74Models and Metaphors 74Objects 74Specifications 75Syntax vs. Semantics 75Language Building Blocks 75Comments 75Single-Line Comments 76Multiline Comments 76Doc Comments 77Using Comments 78Identifiers 79Data Types 80Statically Typed Languages 81Type Conversion 81Literals 82Variables 82Constants 84Operators and Expressions 84Three Flavors of Operators 85Operator Precedence 88Pulling It All Together: Mathematical Expressions and Operators 89Summary 93Exercises 93Exercise 1: ABeginning.java 94Exercise 2: ProjectGutenberg.java 95Exercise 3: CommentingCode.java 97Exercise 4: AllTheMath.java 98Exercise 5: BucketsOfFun.java 100LESSON 5: COLLECTING AND PARSING INPUT FROM THE USER 103Console Input and Output 104Adder Version 1 104Adder Version 2 106Declaring and Initializing Our Variables 106Setting Up a Scanner Object 106Understanding the Command Line 107Getting the Values from the User 108Going from Strings to Integers 108Adding the Numbers Together 109Using Loops to Gather User Input 111Parsing Data 112Dealing with Bad Numbers: NumberFormatException 113Scanner Problems 115Summary 121Exercises 121Exercise 1: Quest for the User Input 121Exercise 2: Don’t Forget to Store It 123Exercise 3: Passing the Turing Test 124Exercise 4: Healthy Hearts 125Exercise 5: Mini Mad Libs 126LESSON 6: PULLING IT ALL TOGETHER: BUILDING A USEFUL PROGRAM 127Planning the Program 128Identifying the Variables 128Planning the Steps 128Creating the Code 129Declaring the Variables 129Getting Input 130Converting the Strings 131Calculating the Area and Perimeter 132Calculating the Cost 133Displaying the Results 133Running the Program 135Summary 135Exercises 136Exercise 1: Mapping Instructions to Code 136Exercise 2: Adding Prompts for Costs 136Exercise 3: Adding Multiple Windows 136Exercise 4: Adding Validation 137LESSON 7: CONTROLLING PROGRAM FLOW 138What Can Our Code Do? 139Decisions and Boolean Expressions 139if Statements 139if-else Statements 142Chaining if-else Statements 144Evaluating Multiple Conditions 146Conditional-And and Conditional-Or Operators 147Exclusive-Or 149Ternary or Conditional Operator 150switch Statement 151Falling Through with a switch Statement 153Comparing for Equal Strings 155Summary 158Exercises 159Exercise 1: What Month is It? 159Exercise 2: Guess Me 159Exercise 3: Birthstones 160Exercise 4: Trivia Night 161Exercise 5: Space Rustlers 162Exercise 6: Picky Eater 163Exercise 7: Field Day 165LESSON 8: LOOPING PROGRAM FLOW 167Loops 167Using while Loops 168Initializing the while Loop 171Incrementing the while Loop 171Breaking a Loop 172Using do-while Loops 174Making do-while Shine 176Using for Loops 179Initializing the for Loop 181Terminating the for Loop 181Incrementing a for Loop 181Summary 184Exercises 184Exercise 1: Surfacing in BewareTheKraken.java 185Exercise 2: Do or Do Not 185Exercise 3: Guess Me Finally 186Exercise 4: for and Twenty Blackbirds 187Exercise 5: Spring Forward, Fall Back 188Exercise 6: for Times 189Exercise 7: for Times for 189Exercise 8: Nesting for Loops 190Exercise 9: Traditional Fizz Buzz 191LESSON 9: UNDERSTANDING FLOWCHARTS AND ALGORITHMS 193Flowchart Basics 194Sequences 194Branches 195Loops 196Flowcharting 197Flowchart Example 197Summary 198Exercises 200Exercise 1: A Guessing Game 200A Possible Flowcharting Solution 201The Guessing Game Flowchart 201The Guessing Game Code 203LESSON 10: ADDING RANDOMNESS TO YOUR PROGRAMS 207Initializing the Random Object 208Including the Random Class 208Seeding Random Numbers 208Generating Random Integers 209Generating Random Doubles 210Revisiting the Number Guessing Game 212Other Random Options 215Summary 215Exercises 215Exercise 1: A Little Chaos 216Exercise 2: Opinionator—Making Random Choices 217Exercise 3: High Roller 219Exercise 4: Coin Flipper 220Exercise 5: Guess Me More 220Exercise 6: Fortune Cookie 221LESSON 11: DEBUGGING 222Creating a File to Debug 222Setting Breakpoints 224Stepping through Code 226Running the Debugger 226Examining Variables 229The Console and the Debugger 232Summary 234Exercises 234Exercise 1: Odd Odd Numbers 234Exercise 2: A Simple Question of If 235LESSON 12: ADDING METHODS 237Why Methods? 238Defining Methods 238Method Signature 239Method Naming Conventions 239Return Values 240Using Return Values 241Input Parameters 242Matching Number of Parameters 244Matching Parameter Types 245Passing Parameters 246Method Forms 248No Return Value, No Parameters 248Return Value, No Parameters 248No Return Value, One or More Parameters 249Return Value, One or More Parameters 249The staticKeyword 249Pulling It All Together 250Identifying the Similarities 252Identifying the Differences 252Creating the Method 252Setting the Name 252Determining Parameters 253Setting a Return Type 253Our Basic Definition 253Our Method Body 254Using the Method 255Scope 257Debugging and Step Into 259Setting a Breakpoint in a Method 260Stepping into Code 262Debugging and Scope 265Summary 265Exercises 265Exercise 1: Method to the Madness 266Exercise 2: Return to Sender 267Exercise 3: MatchWork 268Exercise 4: Barely Controlled Chaos 269LESSON 13: ORGANIZING WITH ARRAYS 272What is an Array? 273Types of Arrays 274Element vs. Index 275Declaring Arrays 276Single-Dimensional Arrays 276Rectangular Arrays 276Jagged Arrays 277Initializing Arrays 277Initializing a Single-Dimensional Array 278Initializing a Rectangular Array 279Initializing a Jagged Array 280Accessing Array Elements 281Accessing Elements in a Single-Dimensional Array 281Accessing Elements in a Multidimensional Array 283Accessing Elements in a Jagged Array 284Iterating through Arrays 284Iterating through Multidimensional and Jagged Arrays 286Sum the Elements of an Array 288Looping Back to Front, with a Twist 289Printing Pairs of Elements 290Changing the Size of an Array 291Dealing with Errors 293Summary 293Exercises 294Exercise 1: A Rainbow 294Exercise 2: Still Positive 295Exercise 3: Fruit Basket 296Exercise 4: Simple Combination 297Exercise 5: Hidden Nuts 297Exercise 6: Summative Sums 298PART III: FUNDAMENTALS OF CLASSES AND OBJECTS 299LESSON 14: OBJECT-ORIENTED CONCEPTS 300Abstraction 301Object Orientation 301Types 302Public Interface/Private Implementation 302Encapsulation and Data Hiding 303Single Responsibility Principle and Cohesion 303Delegation 304Summary 304LESSON 15: CREATING CLASSES AND TYPES 305Creating New Types 305Classes vs. Objects 307Properties, Accessors, and Mutators 307Dot Operator 308this Keyword 309Methods/Behaviors 309Constructors 309Object Instantiation and Method Invocation 311Static Keyword 312Static and the Main Method 313Static and Constant Values 313Static and Utility Methods 314Pulling It All Together 315Creating a New Class 316Going Static 320When to Go Static 323Existing Static Methods 325Summary 325Exercises 326Exercise 1: Class Modeling 327Exercise 2: Refactoring 328Exercise 3: A Multiclass Problem 330LESSON 16: MANAGING STORAGE AND MEMORY 331Programs and Memory 331The Stack 332The Heap 334Garbage Collection 338Reference and Null Values 339Summary 341LESSON 17: EXPLORING INTERFACES, COMPOSITION, AND INHERITANCE 342How Do These Tools Help? 343Interfaces 344Composition and Inheritance 345Composition 345Inheritance 346Using Interfaces, Composition, and Inheritance 346Summary 347LESSON 18: DIVING INTO INTERFACES 348What is an Interface? 349Declaring an Interface 349Implementing an Interface 350Interface Restrictions 352Implementing Multiple Interfaces 352Extending an Interface 354Interfaces and Polymorphism 356Summary 357LESSON 19: DIVING INTO COMPOSITION 358What is Composition? 359Book without Composition 359Book with Composition 360Summary 362Exercises 362Exercise 1: Classroom Composition 362Exercise 2: Cookbook 363LESSON 20: DIVING INTO INHERITANCE 365Everything Extends Object 366Terminology 366Access Control 367Inheritance 368Code Reuse through Inheritance 371Method Overloading 371Method Overriding 373Constructors 375Polymorphism 380Calling Methods Polymorphically 382Abstract Base Classes 383Summary 383Exercises 383Exercise 1: Working with Shape 384LESSON 21: UNDERSTANDING COLLECTIONS 385Collections in Java 385Javadoc 386Collections Framework Structure 387Interface vs. Implementation 389Iterator 390Commonly Used Interfaces in the Collections Framework 390Quick Look at List 390ArrayList 390Stack 391Quick Look at Set 391HashSet 391TreeSet 392Quick Look at Map 392HashMap 392TreeMap 392Summary 393LESSON 22: INTRODUCTION TO LISTS 394List 394Types of Lists 395ArrayList 395LinkedList 395Stack 397Understanding Generics 397Using Lists 398Instantiating a List 398Adding Items to a List 401Accessing Items in a List 402Inserting Items into a List 403Removing Items from a List 403Enhanced Approaches to Access List Items 405The Enhanced for Loop and Lists 406Visiting Each Element: Iterators 407Creating an Iterator 407Using the Iterator 408Summary 410Exercises 410Exercise 1: Three Threes 410Exercise 2: Mixed-Up Animals 411LESSON 23: EXPLORING MAPS 412Map Interface 412HashMap 413Creating and Adding Entries to a Map 413Instantiating a Map 413Adding Data to a Map 414Manipulating with Entries in a Map 415Looking Up Values in a Map 415Replacing Data in a Map 417Removing Values from a Map 417Getting Keys and Listing Mapped Values in a Map 417Listing All the Keys 417Listing All the Values Key by Key 420Listing All the Values: Value Collection 421Summary 423Exercises 423Exercise 1: State Capitals 423Exercise 2: A Reusable User I/O Class 424Exercise 3: Student Quiz Scores 427LESSON 24: USING SIMPLE FILE INPUT AND OUTPUT 429Data Storage and Representation 430File Format, Marshaling, and Unmarshaling 431Student Class 432File Format Example 433Marshaling and Unmarshaling Approach 433Simple File I/O 434Writing to a File 435Exceptions 436The OutFile.txt File 437Reading from a File 438Summary 440Exercises 440Exercise 1: Creating State Capitals 441Exercise 2: Hashing the State Capitals 442Exercise 3: A State Guessing Game 442Exercise 4: Objectifying States 443LESSON 25: APPLYING APPLICATION DESIGN 446CRUD Applications 447Using a Tiered Design 448The Basic Tiers 448The Model-View-Controller Pattern 448Packages 449Software Development Lifecycle Overview 450Waterfall 450Iterative Development 451Agile Development 451Project Lifecycle 452Phase 1: Inception 452Phase 2: Elaboration 452Phase 3: Construction 453Phase 4: Transition 453Iterations 453Summary 454LESSON 26: HANDLING EXCEPTIONS 455Exception Handling 456Catch or Specify Requirement 459Exception Types 459Handling (Catching) Exceptions 459try Block 459catch Block 461finally Block 462Specifying and Throwing Exceptions 464Exception Translation and Encapsulation 465Summary 466Exercises 466Exercise 1: Keep On Asking 466Exercise 2: Arrays Gone Bad 466Exercise 3: Exiting Gracefully 468LESSON 27: PULLING IT ALL TOGETHER: BUILDING THE CLASS ROSTER APP 469Application Requirements and Use Cases 470Understanding theApplication Structure 470Interface Relationships 471Composition Relationships 472Inheritance Relationships 472Classes and Interfaces in Our Application 472MVC Rules of the Game 473Construction Approach 473Setting Up the Class Roster Application Shell 474Creating the Menu System 477UserIO and UserIOConsoleImpl 478ClassRosterController 482App 483ClassRosterView 484ClassRosterController 485Adding a Student Use Case 487Student (DTO) 487ClassRosterDao and ClassRoster-DaoFileImpl 488ClassRosterDao 488ClassRosterDaoFileImpl 490ClassRosterView 491ClassRosterController 493Viewing All Students Use Case 494ClassRosterDaoFileImpl 494ClassRosterView 495ClassRosterController 496Getting a Student Use Case 497ClassRosterDaoFileImpl 498ClassRosterView 498ClassRosterController 499Removing a Student Use Case 501ClassRosterDaoFileImpl 501ClassRosterView 501ClassRosterController 502Handling Unknown Command and Exiting 504ClassRosterView 504ClassRosterController 504Working with Dependency Injection 506Implementation 507ClassRosterController 507ClassRosterView 508App 508Handling Application Exceptions 509ClassRosterDaoException 509Adding File Persistence 512ClassRosterDaoFileImpl 512Constants 512unmarshalStudent 513loadRoster 514marshalStudent 516writeRoster 517addStudent 518getAllStudents 519getStudent 520removeStudent 520ClassRosterDao 521ClassRosterView 522ClassRosterController 522Create roster.txt 525Summary 527Exercises 527Exercise 1: DVD Library Update 527Exercise 2: Electronic Address Book 528PART IV: INTERMEDIATE JAVA 531LESSON 28: EXPLORING THE SERVICE LAYER 532The Role of the Service Layer 532Service Layer Exceptions 534Service Layer API Design 534New Business Rules 534Create a Student 535Define the Method Signature 535Define the Return Type 535Define the Errors That Might Occur in This Method 535Service Layer Methods for Getting Students 536Get All Students 536Get a Single Student 537Remove a Student 537Summary 537LESSON 29: PULLING IT ALL TOGETHER: CODING THE CLASS ROSTER SERVICE LAYER 538Create a Service Layer Interface 539Create New Exceptions 542ClassRosterDuplicateIdException 542ClassRosterDataValidation Exception 543Refactor/Rename ClassRoster-DaoException 543Create the Service Layer Implementation 546Constructor and DAO Member 547Validating Student Data 547Create Student 548Get All Students 549Get One Student 549Remove Student 550Modify the Controller 550Replace Member Field 551Modify Constructor 551Replace Calls to DAO Methods with Calls to the Service Layer Method 551Modify the App 553Add the Audit Log Feature 554Audit DAO Interface and Implementation 554Modify the Service Layer 556Add Member Field 556Modify the Constructor 556Modify createStudent 556Modify removeStudent 557Modify App 558Summary 559LESSON 30: DOING UNIT TESTING 560Unit Testing 561Types of Unit Testing 561Black-Box vs. Glass-Box Testing 562Stateful vs. Stateless Components 562Test-Driven Development and Red/Green/Refactor 562Test Stubs 563JUnit 563Test Setup and Teardown 563Annotations 564Asserts 564Given/When/Then 564Stateless Unit Testing 565What Makes a Good Unit Test? 565Designing a Test Plan 565Happy Llama Test Plan 567Implementing Unit Tests 568Creating the Test Class 568Writing Happy Llama Tests 569Running JUnit Tests 571Summary 575LESSON 31: TESTING STATEFUL CODE 577Unit Testing Stateful Code 578Separating Production and Test Data 579Adding hashCode and equals to Student 580Adding toString to Student 582Creating the Test Class 583The Set Up and Tear Down Methods 584Arrange/Act/Assert for Stateful Code 585Class Roster DAO Test Design 586Add Student 586Get Student 588ClassRosterDaoTest: Adding and Getting a Student 589Get All Students 590ClassRosterDaoTest: Adding and Getting All Students 590Remove Student 592ClassRosterDaoTest: Adding and Removing Students 592Unit Testing the Service Layer 594Planning the Test Design 595Creating the Test Class 595Creating the DAO Stubs 596ClassRosterAuditDaoStubImpl 597ClassRosterDaoStubImpl 597Test Setup 599Test Implementation 600testCreateValidStudent 600testCreateStudentDuplicateId 601testCreateStudentInvalidData 602testGetAllStudents 603testGetStudent 603testRemoveStudent 604Summary 605Exercises 605Exercise 1: Testing the Address Book App 605Exercise 2: Testing the DVD Library 606LESSON 32: INCLUDING MAGIC NUMBERS AND ENUMS 607Magic Numbers 608Enums 608Creating Enums for Fixed Constants 609Using Enums 609Getting Values from an Enum 611Enum Members 612Summary 616Exercises 616Exercise 1: How Many Days until Friday? 617Exercise 2: Playing Cards 617LESSON 33: MANIPULATING DATES AND TIMES 618ISO Calendar 619Human Time and Machine Time 619Local and Zoned Classes 619Periods and Duration 620Working with LocalDate Objects 620Creating LocalDates 620Converting Dates to and from Strings 622Formatting Dates 623Using Localization 625Getting the Time with LocalDateTime 626Working with Date Calculations 628Calculating Dates in the Future and Past 628Calculating the Time between Two Dates 630Working with Legacy Dates 632Converting Date Objects 632Converting a GregorianCalendar Object 633Summary 635Exercises 635Exercise 1: Birthday Calculator 635Exercise 2: It’s The End of the World as We Know It 636Exercise 3: Tracking Your Time 636LESSON 34: USING THE BIGDECIMAL CLASS 638Exploring BigDecimal 639Constructing BigDecimals 639Understanding Scale 641Understanding Rounding Modes 641Working with BigDecimal 642Setting Scale 642Setting Scale without Rounding Mode 643Rounding BigDecimals 643Doing Calculations with BigDecimals 645Dividing BigDecimals 646Summary 648Exercises 648Exercise 1: Interest Calculator 648Exercise 2: Car Lot Service Layer 649LESSON 35: WORKING WITH LAMBDAS AND STREAMS 653Using Aggregate Operations 654Understanding Pipelines and Streams 654Streams vs. Iteration 655Exploring Lambdas 655Working with Stream and Lambda Syntax 655The forEach() Stream Method 656The filter Stream Method 660The map Stream Method 661The collect Stream Method 663Further Syntax 664Summary 665Exercises 665Exercise 1: Only the Young 665Exercise 2: DVD Library Update 666PART V: ADVANCED JAVA 667LESSON 36: WORKING WITH THE SPRING FRAMEWORK 668Dependency Injection and Programming to Interfaces 669Why Spring? 670Understanding the Spring Approach 670Plain Old Java Objects 671Templates 671Pulling It All Together: Spring DI in Action 673Spring DI with XML 674XML Configuration File 675Update the App Class 676Spring DI with Annotations 677Class Annotations 678Summary 681LESSON 37: INTRODUCING MAVEN 682What is Maven? 683Project Object Model 683Project Identification 685Dependencies 685Build Settings 686Dependency Management 686Maven Lifecycle 687Summary 687LESSON 38: PULLING IT ALL TOGETHER: BUILDING THE CLASS ROSTER WITH SPRING 689Include the Spring Libraries 690How Do I Know What My Dependency Entry Should Be? 691Add Spring Configuration Files 692Convert the App Class to Use Spring 693Defining Beans 694Modifying the App Class 696Convert the Unit Tests to Use Spring 697Defining Beans 698Modifying the Test Class Constructor 699Exception Conditions 700Summary 701Exercises 701Exercise 1: DVD Library 701PART VI: APPENDICES 702APPENDIX A: CODE CHECKLIST 703Functionality 703Style 703APPENDIX B: JAVA CONCEPTS STUDY LIST 705Variables 705Methods 705Arrays 706Making Decisions 706Loops 706Java/JVM 706Objects 707Interfaces 708Inheritance 708N-Tier Design 708Collections 709Exceptions 709Lambdas/Streams 709Spring Core 709APPENDIX C: AGILE APPROACH CHECKLIST FOR CONSOLE CRUD APPLICATIONS 710Assumptions 710Requirement Steps 711Design Steps 711Construction Steps 712Index 714