Software
Introducing Disaster Recovery with Microsoft Azure
Explore and learn the key building blocks of Microsoft Azure services and tools for implementing a disaster-recovery solution of any on-premises or cloud-based application. In this book, you will go through various aspects of planning, designing, and configuring a robust recovery solution on Azure.Introducing Disaster Recovery with Microsoft Azure starts by explaining the disaster-recovery landscape and how Azure disaster recovery is different from the traditional approach. You will learn how to leverage Azure site recovery and various Azure-based services to design and implement a recovery solution and much more. Moving forward, you will design and implement various scenarios such as on-premises to Azure, Azure to Azure, and on-premises to on-premises disaster recovery. You will also learn common considerations and technicalities of implementing recovery solutions for various multi-tier, monolithic, and modern micro-services enterprise applications. Finally, you will go through real-life examples, scenarios, and exercises.After reading this book, you will be able to design and implement disaster recovery on Azure in different scenarios. You will also look at a few real-world scenarios that will provide more practical insights.WHAT YOU WILL LEARN* Discover the fundamental building blocks of disaster recovery on Azure* Examine various application-specific considerations for disaster recovery* Leverage various PaaS capabilities to achieve maximum benefit* Design and implement a multi-regional Azure to Azure disaster recovery planWHO THIS BOOK IS FORConsultants, architects, and Azure administrators.BAPI CHAKRABORTY has over 14 years of IT experience in the field of on-premises and cloud infrastructure architecture, solution design, migration, deployment, and support practices. He has worked with customers and partners from various industries and understands their unique demands and requirements to achieve business goals. Bapi holds various industry and product certification including Microsoft, AWS, and IASA.YASHAJEET CHOWDHURY has over 17 years of IT experience in the field of On-premises and Cloud infrastructure architecture, solution design, migration, deployment, and support practices. He has deep technical hands-on experience on various Infrastructure services including Datacenter consolidation/migration, Virtualization, Cloud Computing & other Infrastructure offerings for various small and enterprise customers.Yash holds strong knowledge in Architecting, Designing, Implementation and many professional technical certifications including Microsoft and IBM.CHAPTER 1: DISASTER RECOVERY AND CLOUDCHAPTER GOAL: How cloud has changed the DR landscapeNO OF PAGES 20SUB -TOPICS1. How cloud has changed the DR landscape2. cost, security, storage, archival, maintenance, accessibility3. How traditional DR is different from new age DR4. Why Azure as a DR site5. options, storage, capabilities, pricing, integrated monitoring, tools, platform capability, competitive advantages6. benefits for existing customers, end to end orchestrationCHAPTER 2: INTRODUCING AZURE SITE RECOVERYCHAPTER GOAL: Understand Disaster recovery with Azure site recovery and Azure MigrateNO OF PAGES: 20SUB - TOPICS1. Supported scenarios including migration, supportability matrix,2. DR dependencies on Azure3. Storage, network, etc.4. Concepts of ASR for each scenarionetworking ER, Migration , tools, recovery plans, roles and RBAC, sites, config & process server etc.CHAPTER 3: DESIGNING AND IMPLEMENTING SIMPLE AZURE TO AZURE DR - SCENARIOCHAPTER GOAL: Understand Disaster recovery scenario for Azure to Azure scenarioNO OF PAGES : 20SUB - TOPICS:1. Questions to ask, decisions to make, data to collect, assess, Planning and designing the DR2. High level configurations3. Backup as a strategy4. Design and implement a multi regional A2A DR - scenario (5)5. High level configurations6. Common challenges and how to remediate themCHAPTER 4: ON-PREMISES TO AZURE DRCHAPTER GOAL: Understand Disaster recovery scenario for On-premises to Azure DR scenarioNO OF PAGES: 40SUB - TOPICS:1. Hyper-V (with SCVMM) to Azure2. Hyper-V (without SCVMM) to Azure3. Physical systems to Azure4. Azure Stack to Azure5. Planning6. Designing7. Configuring8. Common challenges and how to remediate themCHAPTER 5: ON-PREMISES TO ON-PREM USING ASRNO OF PAGES: 10CHAPTER GOAL: understand On-premises only scenario1. On-premises to On-prem using ASR2. Planning3. Designing4. Configuring5. Common challenges and how to remediate themCHAPTER 6: APP SPECIFIC DR SCENARIOSNO OF PAGES: 20CHAPTER GOAL: understand application specific DR scenario1. ADDS2. SQL3. Oracle4. RDS etc.CHAPTER 7: AUTOMATION AND MONITORINGNO OF PAGES: 10CHAPTER GOAL: understand automation and monitoring for Disaster recovery solution Common Automation and Monitoring scenarios for DR on AzureCHAPTER 8: SUMMARY, BEST PRACTICES AND EXERCISESNO OF PAGES: 10CHAPTER GOAL: Summary, Best Practices and Exercises for executing Azure Disaster Recovery1. Summary2. Best Practices3. Exercises
Homeoffice und mobiles Arbeiten im Team effektiv umsetzen
Produktives Arbeiten im Homeoffice erfordert neben richtiger Ausstattung, guter Sprach- und Datenkommunikation und Zugriff auf Daten auch die – durch IT-Tools unterstützten – passenden Führungs- und Arbeitsmethoden. Dieser Ratgeber bietet konkrete Anleitungen, um ohne IT-Fachkenntnisse das weltweite Arbeiten im Team schnell und pragmatisch möglich zu machen.Peter Bruhn ist Diplom-Wirtschaftsinformatiker (TU Darmstadt) und zweifacher Master of Science (Computer Science, University of Illinois (USA) und Informationswissenschaft, Hochschule Darmstadt). Bereits 2000 spezialisierte er sich als Berater bei McKinsey & Company auf die Digitale Transformation. Anschließend baute er als Senior Manager im Innovationsbereich der Deutschen Telekom AG neue Geschäftsmodelle u.a. für die Digital Business Unit auf. Als Vice President Group Digital Transformation übernahm Bruhn 2016 die Verantwortung für die Digitale Agenda der TAKKT AG in Europa und den USA.Peter Bruhn ist ein Vorreiter für mobiles Arbeiten und hat als Führungskraft jahrelange Erfahrung in der Führung verteilter Teams auf Distanz. Einleitung.- Hardware.- Konnektivität.- Software.- Anwendungen für die Team-Zusammenarbeit.- IT-Sicherheit und Datenschutz.- Fazit und Empfehlung
Agile Artificial Intelligence in Pharo
Cover classical algorithms commonly used as artificial intelligence techniques and program agile artificial intelligence applications using Pharo. This book takes a practical approach by presenting the implementation details to illustrate the numerous concepts it explains.Along the way, you’ll learn neural net fundamentals to set you up for practical examples such as the traveling salesman problem and cover genetic algorithms including a fun zoomorphic creature example. Furthermore, Practical Agile AI with Pharo finishes with a data classification application and two game applications including a Pong-like game and a Flappy Bird-like game. This book is informative and fun, giving you source code to play along with. You’ll be able to take this source code and apply it to your own projects.WHAT YOU WILL LEARN* Use neurons, neural networks, learning theory, and more* Work with genetic algorithms * Incorporate neural network principles when working towards neuroevolution * Include neural network fundamentals when building three Pharo-based applicationsWHO THIS BOOK IS FORCoders and data scientists who are experienced programmers and have at least some prior experience with AI or deep learning. They may be new to Pharo programming, but some prior experience with it would be helpful.ALEXANDRE BERGEL, PH.D., is an associate professor in the Department of Computer Science (DCC) at the University of Chile and is a member of the Intelligent Software Construction laboratory (ISCLab). His research interests include software engineering, software performance, software visualization, programming environment, and machine learning. He is interested in improving the way we build and maintain software. His current hypotheses are validated using rigorous empirical methodologies. To make his research artifacts useful not only to stack papers, he co-founded Object Profile.1: Introduction2: The Perceptron Model3: Artificial Neuron4: Neural Networks5: Theory on Learning6: Data Classification7: A Matrix Library8: Matrix-Based Neural Network9: Genetic Algorithm10: Genetic Algorithm in Action11: Traveling Salesman Problem12: Exiting a Maze13: Building Zoomorphic Creatures14: Evolving Zoomorphic Creature15: Neuroevolution16: Neuroevolution with NEAT17: The MiniMario Video GameLast Words (Afterword)
Autodesk Fusion 360
3D-Modelle professionell konstruieren, rendern, animieren und simulierenAufbereitung der Modelle für 3D-Druck und CNC-Bearbeitungen sowie Einführung in den FertigungsprozessAlle wichtigen Funktionen anhand praktischer Beispiele Schritt für Schritt erklärt Mit dem cloudbasierten CAD/CAM-Programmsystem Fusion 360 lassen sich schnell und einfach professionelle 3D-Modelle und 2D-Fertigungszeichnungen erstellen und für CNC-Bearbeitungen und 3D-Druck vorbereiten. Dieses Buch bietet eine praktische Einführung in die wichtigsten Funktionen der umfangreichen Software. Dabei setzt der Autor folgende Themenschwerpunkte: 3D-Modelle zweidimensional skizzieren und aus der Skizze heraus erzeugenVolumenkörper-, Flächen-, Freiform- und Netzmodellierung2D-Fertigungszeichnungen mit Beschriftung und Stücklisten ableitenBauteile und Baugruppen rendern, animieren und Mechanismen simulierenErstellen von Fertigungsdaten für 3D-Drucker und CNC-Bearbeitungsmaschinen3D-Druck und CNC-Bearbeitungen (wie CNC-Fräsen, CNC-Drehen und Laserschneiden) Alle Funktionen und Arbeitsweisen werden Schritt für Schritt demonstriert und eingeübt. Zahlreiche praktische Beispiele helfen, die verschiedenen Techniken nachzuvollziehen und zu verinnerlichen. Nach der Lektüre dieses Buches sind Sie bestens gerüstet, individuelle 3D-Modelle sowie die entsprechenden Fertigungsdaten zu erstellen und eigene Projekte umzusetzen. Zum Download: Alle im Buch verwendeten Konstruktionsbeispiele stehen unter www.mitp.de/0158 zum kostenlosen Download zur Verfügung. Detlef Ridder hat langjährige Erfahrung im Bereich CAD und bereits zahlreiche Bücher zu AutoCAD, Inventor, Revit und ArchiCAD veröffentlicht. Er gibt Schulungen zu diesen Programmen und zu CNC und weiß daher, welche Themen für Einsteiger besonders wichtig sind.
Human Compatible
Künstliche Intelligenz und wie der Mensch die Kontrolle über superintelligente Maschinen behält »Das bedeutendste Buch über KI in diesem Jahr.«- The Guardian, 24.09.2019Werden Maschinen bald auf nahezu allen Gebieten intelligenter sein als der Mensch? Auch wenn das vielversprechend klingt, ist die Entwicklung einer Superintelligenz zugleich ein ernstzunehmendes Risiko. Denn ist diese einmal da, können wir nicht mehr einfach den Stecker ziehen. Niemand kann die Chancen und Risiken der künstlichen Intelligenz besser beurteilen als Stuart Russell, der seit mehr als einer Dekade an vorderster Front der KI-Forschung arbeitet. Er veranschaulicht mit brillanten Analogien, wie sich natürliche und künstliche Intelligenz voneinander unterscheiden, und macht deutlich, weshalb wir vermeiden müssen, dass die Maschinen für uns unkontrollierbar werden. Fundiert, eindringlich und visionär zeigt Human Compatible neue Perspektiven und Lösungswege für die KI-Forschung auf, um zu gewährleisten, dass superintelligente Maschinen unsere Ziele verfolgen und nicht ihre eigenen.
45 Elektronik-Projekte für den Raspberry Pi
Der Raspberry Pi stellt einen sehr preiswerten, aber doch vollwertigen Computer dar, an den auf einfache Weise verschiedenste Elektronik angeschlossen werden kann. Dieses Buch geht auf eine der Stärken des Raspberry Pi ein: die Kombination von Elektronik und Software.Nach einer kurzen Einführung zum Raspberry Pi wird auf die benötigte Software eingegangen. Im Anschluss wird das Linux-Betriebssystem kurz vorgestellt – gefolgt von einer Einführung in die Programmierung mit Bash, Python und JavaScript. Der Schwerpunkt liegt dabei auf Python. Die Erläuterungen sind in allen Fällen kurz und bündig und trotzdem so ausführlich, dass das Notwendigste besprochen wird, um die folgenden Projekte zu verstehen und individuell anzupassen.Dieses Buch beschreibt 45 spannende und interessante Projekte, wie zum Beispiel ein Wechselblinklicht, eine Motorregelung, Erzeugen und Verarbeiten analoger Signale, ein digitales Thermometer, ein Lichtmesser. Aber auch kompliziertere Projekte wie eine Motor-Geschwindigkeitsregelung, ein Webserver mit CGI (Common Gateway Interface) und Client-Server-Programme werden vorgestellt. Sie können dieses Buch als Projektbuch verwenden und die Projekte nachbauen, um sie dann in der Praxis einzusetzen. Durch die ausführliche Beschreibung mit Schaltplänen und Fotos gestaltet sich der Aufbau auf dem Steckbrett recht einfach.Sie können dieses Buch auch als Lehrbuch verwenden. Bei jedem Projekt wird erklärt, warum es auf diese Art und Weise ausgeführt ist. Sie lernen viel über den Raspberry Pi, Python und die verwendeten Bauteile, so dass Sie selbst die Projekte anpassen, nach eigenen Wünschen erweitern oder mehrere Projekte miteinander kombinieren können.Um Ihnen die Software-Installation zu erleichtern, hat der Autor das Betriebssystem und alle Programmbeispiele auf einer SD-Karte zusammengetragen. Passend zu den Projekten ist neben dieser SD-Karte auch ein Hardware-Starterkit bei Elektor erhältlich.Bert van Dam ist freiberuflicher Autor von Büchern, Kursen und Artikeln über PIC- und ARM Mikrocontroller, Arduino, Raspberry Pi, PCs, Künstliche Intelligenz und die Programmiersprachen JAL, C, Assembler, Python und Flowcode.
Programming with Node-RED
The Internet of Things (IoT) is becoming a major application area for embedded systems. As a result, more and more people are becoming interested in learning about embedded design and programming. Technical colleges and universities are moving away from legacy 8 and 16-bit microcontrollers and are introducing 32-bit embedded microcontrollers to their curriculums. Many IoT applications demand precision, high processing power, and low power consumption.Produced by IBM, Node-RED is an open-source visual editor for wiring the Internet of Things. Node-RED comes with a large number of nodes to handle a multitude of tasks. The required nodes are selected and joined together to perform a particular task. Node-RED is based on flow type programming where nodes are configured and joined together to form an application program. There are nodes for performing complex tasks, including web access, Twitter, E-mail, HTTP, Bluetooth, MQTT, controlling GPIO ports, etc. One particularly nice aspect of Node-RED is that the programmer does not need to learn how to write complex programs. For example, an email can be sent by simply joining nodes together and writing only a few lines of code.The aim of this book is to teach how Node-RED can be used in projects. The main hardware platform used with most of the projects in this book is Raspberry Pi 4. Chapters are included to show how Node-RED can be also be used with Arduino Uno, ESP32 DevKitC, and the ESP8266 NodeMCU microcontroller development boards.Prof. Dr. Dogan Ibrahim is a Fellow of the Institution of Electrical Engineers. He is the author of over 60 technical books, published by publishers including Wiley, Butterworth, and Newnes. He is the author of over 250 technical papers, published in journals, and presented in seminars and conferences.
C Programming with Arduino
Technology is constantly changing. New microcontrollers become available every year. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this e-book (pdf) is for you!Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.Atmel Studio is used as the development environment for writing C programs for AVR microcontrollers. It is a full-featured integrated development environment (IDE) that uses the GCC C software tools for AVR microcontrollers and is free to download.At a glance:• Start learning to program from the very first chapter• No programming experience is necessary• Learn by doing - type and run the example programs• A fun way to learn the C programming language• Ideal for electronic hobbyists, students and engineers wanting to learn the C programming language in an embedded environment on AVR microcontrollers• Use the free full-featured Atmel Studio IDE software for Windows• Write C programs for 8-bit AVR microcontrollers as found on the Arduino Uno and MEGA boards• Example code runs on Arduino Uno and Arduino MEGA 2560 boards and can be adapted to run on other AVR microcontrollers or boards• Use the AVR Dragon programmer / debugger in conjunction with Atmel Studio to debug C programsWarwick A. Smith lives in South Africa and works as an Electronics Engineer and Embedded System Programmer. He is a bestselling author of the books C Programming for Embedded Microcontrollers, ARM Microcontroller Interfacing and Open Source Electronics on Linux.
Django Standalone Apps
Develop standalone Django apps to serve as the reusable building blocks for larger Django projects. This book explores best practices for publishing these apps, with special considerations for testing Django apps, and strategies for extracting existing functionality into a separate package.This jumpstart reference is divided into four distinct and sequential sections, all containing short, engaging chapters that can be read in a modular fashion, depending on your level of experience. The first section covers the structure and scope of standalone Django apps. The second section digs into questions about pulling code out of existing projects and into new standalone apps for reuse. The third section details additional, advanced technical best practices toward making standalone apps as broadly useful as possible. The fourth and final section covers strategies for managing a published Django app.Django Standalone Apps is the perfect resource for developers who have at least some prior experience working with Django web applications and want to simplify their deployments and share their knowledge as open source packages.WHAT YOU'LL LEARN* Scope a standalone Django app project for optimum usefulness* Extract code from existing projects to reuse* Test a standalone app outside of your Django project* Reuse your own code for increased delivery cadence and code quality* Review best practices for maintaining a Django app packageWHO THIS BOOK IS FORProfessional developers who work with Django. Deep expertise is not required or expected, but readers should have working familiarity with Django.Ben is cofounder of a web development consultancy and has been working professionally with Django for almost a decade. He has architected and led development on Django-based web applications including, custom content management systems, media platforms, and multi tenant back office solutions.He lives in the Rochester, NY, area, and graduated from the University of Virginia with a degree in Economics. Previously he managed the data and analytics services for a market research firm and was an IT strategy consultant for a global management consulting firm. His own standalone apps include Django Organizations, a long term project for managing multi user accounts in Django projects.Chapter 1: Defining the Scope of a Django Standalone AppChapter 2: Structuring Django Standalone AppsChapter 3: TestingChapter 4: Model MigrationsChapter 5: TemplatesChapter 6: Using Static FilesChapter 7: Namespacing in Your AppChapter 8: Creating a Basic PackageChapter 9: Scooping and Drawing BoundariesChapter 10: Separating Your AppChapter 11: Adding Your App Back InChapter 12: Handling App SettingsChapter 13: InternationalizationChapter 14: Managing Version CompatibilityChapter 15: Mixed Dependency SupportChapter 16: ModularityChapter 17: Better PackagingChapter: 18: LicensingChapter: 19: Documenting Your Standalone AppChapter 20: Additional TestingChapter 21: AutomatingChapter 22: Databases and other backend specific considerationsChapter 23: CollaboratingChapter 24: Using App Templates
Game Design und Produktion
Dieses Grundlagenlehrbuch für angehende Computerspieldesigner erläutert zunächst die allgemeinen Zusammenhänge des menschlichen Spielens. Dabei kommt es dem Autor auch darauf an, die Übergänge zu den neuen vernetzten Medien und den Gemeinschaften in den sogenannten virtuellen Räumen zu betrachten.Im weiteren Verlauf wird der Stand der Technik bezüglich der Produktion von Computerspielen beschrieben, wobei auf die Spielentwicklung (Game Design) ebenso eingegangen wird wie auf die Programmierung, Funktionsweisen und Jobprofile der Spieleindustrie. Hier liegt der Schwerpunkt auf allgemeinen Prinzipien, da die Computertechnologie einem sehr schnellen Wandel unterliegt.Das Buch verweist in Kästen und Anmerkungen auf einschlägige Literatur, Spiele und andere Medien und soll so zur Vertiefung des Gebiets anregen. Zudem gibt das Buch einen Überblick über Spielformen von Online- und Offline-Spielen und klärt Kernbegriffe des Aufbaus von Computerspielen. Anschaulich geschrieben, vermittelt dieses Lehrbuch wichtige Grundlagen des Designs und der Entwicklung von Computerspielen vor dem Hintergrund moderner spieltheoretischer Grundlagen.In der zweiten Auflage: Aktualisierung der Beispiele, neue Engines (Kapitel über die Unreal Engine), Technik, Technologie, Skills. Prof. Gunther Rehfeld lehrt am Department Medientechnik der HAW Hamburg und forscht zu Online-Computerspielen, Dramaturgie und aktivierenden Spielformaten.
SAS Stored Processes
Customize the SAS Stored Process web application to create amazing tools for end users. This book shows you how to use stored processes—SAS programs stored on a server and executed as required by requesting applications.Never before have there been so many ways to turn data into information and build applications with SAS. This book teaches you how to use the web technologies that you frequently see used on impressive websites. By using SAS STORED PROCESSES, you will be able to build applications that exploit CSS, JavaScript, and HTML libraries and enable you to build powerful and impressive web applications using SAS as the backend.While this approach is not common with SAS users, some have had amazing results. People who have SAS skills usually do not have web development skills, and those with web development skills usually do not have SAS skills. Some people have both skills but are unaware of how to connect them with the SAS Stored Process web application. This book shows you how to leverage your skills for success.WHAT YOU WILL LEARN* Know the benefits of stored processes* Write your own tools in SAS* Make a stored process generate its own HTML menu* Pass data between stored processes* Use stored processes to generate pure JavaScript* Utilize data generated by SAS* Convert a SAS program into a stored processWHO THIS BOOK IS FORSAS programmers looking to improve their existing programming skills to develop web applications, and programming managers who want to make better use of the SAS software they already licensePHILIP MASON is a SAS expert with 34 years of experience. He shares his expertise with others in many industries. Over the last few years he has been working on building web applications using SAS and other technologies. For most of the last decade Phil has enjoyed working around SAS architecture, and has been mentoring and training people in SAS. He has worked with big data, business intelligence, analytics, and tuning and building web applications using SAS Stored Processes, HTML, and JavaScript. He is the author of several books on SAS.
Thinking in Pandas
Understand and implement big data analysis solutions in pandas with an emphasis on performance. This book strengthens your intuition for working with pandas, the Python data analysis library, by exploring its underlying implementation and data structures.Thinking in Pandas introduces the topic of big data and demonstrates concepts by looking at exciting and impactful projects that pandas helped to solve. From there, you will learn to assess your own projects by size and type to see if pandas is the appropriate library for your needs. Author Hannah Stepanek explains how to load and normalize data in pandas efficiently, and reviews some of the most commonly used loaders and several of their most powerful options. You will then learn how to access and transform data efficiently, what methods to avoid, and when to employ more advanced performance techniques. You will also go over basic data access and munging in pandas and the intuitive dictionary syntax. Choosing the right DataFrame format, working with multi-level DataFrames, and how pandas might be improved upon in the future are also covered.By the end of the book, you will have a solid understanding of how the pandas library works under the hood. Get ready to make confident decisions in your own projects by utilizing pandas—the right way.WHAT YOU WILL LEARN* Understand the underlying data structure of pandas and why it performs the way it does under certain circumstances* Discover how to use pandas to extract, transform, and load data correctly with an emphasis on performance* Choose the right DataFrame so that the data analysis is simple and efficient.* Improve performance of pandas operations with other Python librariesWHO THIS BOOK IS FORSoftware engineers with basic programming skills in Python keen on using pandas for a big data analysis project. Python software developers interested in big data.Hannah Stepanek is a software developer with a passion for performance and is an open source advocate. She has over seven years of industry experience programming in Python and spent about two of those years implementing a data analysis project using pandas.Hannah was born and raised in Corvallis, OR, and graduated from Oregon State University with a major in Electrical Computer Engineering. She enjoys engaging with the software community, often giving talks at local meetups as well as larger conferences. In early 2019, she spoke at PyCon US about the pandas library and at OpenCon Cascadia about the benefits of open source software. In her spare time she enjoys riding her horse Sophie and playing board games.
Robust Methods for Dense Monocular Non-Rigid 3D Reconstruction and Alignment of Point Clouds
Vladislav Golyanik proposes several new methods for dense non-rigid structure from motion (NRSfM) as well as alignment of point clouds. The introduced methods improve the state of the art in various aspects, i.e. in the ability to handle inaccurate point tracks and 3D data with contaminations. NRSfM with shape priors obtained on-the-fly from several unoccluded frames of the sequence and the new gravitational class of methods for point set alignment represent the primary contributions of this book.ABOUT THE AUTHOR:VLADISLAV GOLYANIK is currently a postdoctoral researcher at the Max Planck Institute for Informatics in Saarbrücken, Germany. The current focus of his research lies on 3D reconstruction and analysis of general deformable scenes, 3D reconstruction of human body and matching problems on point sets and graphs. He is interested in machine learning (both supervised and unsupervised), physics-based methods as well as new hardware and sensors for computer vision and graphics (e.g., quantum computers and event cameras).VLADISLAV GOLYANIK is currently a postdoctoral researcher at the Max Planck Institute for Informatics in Saarbrücken, Germany. The current focus of his research lies on 3D reconstruction and analysis of general deformable scenes, 3D reconstruction of human body and matching problems on point sets and graphs. He is interested in machine learning (both supervised and unsupervised), physics-based methods as well as new hardware and sensors for computer vision and graphics (e.g., quantum computers and event cameras).Scalable Dense Non-rigid Structure from Motion.- Shape Priors in Dense Non-rigid Structure from Motion.- Probabilistic Point Set Registration with Prior Correspondences.- Point Set Registration Relying on Principles of Particle Dynamics.
Beginning Ring Programming
Gain a gentle introduction to the world of Ring programming with clarity as a first concern using a lot of practical examples. The first part lays the foundations of the language and its basic features (data types, control structures, functions, and classes). The unique way to rigorously structure Ring programs is also explained.Then, in the second part you’ll discover Ring inputs, outputs, and what is in between. You’ll use the basic constructs of computer logic (sequence, selection, and iteration) to build simple and complex logic flows. You’ll go over the common mistakes that lead to code complexity, by example, and cover several strategies to solve them (refactoring, code cleansing, and good variable naming). Then, you’ll see a visual illustration of how Ring deals with scopes at the local, object, and global levels.In part three, you’ll play with two artifacts vital to Ring programming: functions and objects. You’ll learn how they can be composed to solve a problem and how advanced programming paradigms, such as declarative and natural, are beautifully implemented on top of them. As part of the discussion, you’ll also work on game programming. You’ll learn how you design your game declaratively, in Ring code, just as if you were designing it in visual software.Finally, the author lays out how programming can be understood in a gamified context. You will be told the truth about how gaming can be a better metaphor to achieve mastery of Ring programming.This book is for those who are passionate about writing beautiful, expressive, and learnable code. It has been designed so you can enjoy a beginner-friendly set of knowledge about Ring, and benefit from a one-stop collection of lessons learned from real-world, customer-facing programming projects.WHAT YOU WILL LEARN* Get started with Ring and master its data types, I/O, functions, and classes* Carry out structural, object-oriented, functional, declarative, natural, and meta programming in Ring* Use the full power of Ring to refactor program code and develop clean program architectures* Quickly design professional-grade video games on top of the Ring game engineWHO THIS BOOK IS FORBeginners looking for a consistent and hackable programming environment with a strong flavor of learnability and expressiveness.Mansour Ayouni is one of the leading contributors to the new Ring programming language. He wrote his first BASIC computer statement, in the mid-80s, using only pen and paper, when he was 10 years old. It wasn’t in a California garage though nor under the lights of the prestigious Evil tour of Paris, but in the rural village of Regueb in the center of Tunisia (North Africa) where there was no electricity nor computers at all. Over the years, programming took him in an otherwise impossible international journey. From Tunisia, to Niger, to Canada, he contributed to the development of dozens of software products ranging from lawyer office management solutions to banking and nuclear waste management systems. During his career, he used to oversee programmers from three cultures and lead software teams in various companies such as Whitecape, Keyrus, and Webgenetics. Now, he is a member of the Ring core team and running Kalidia Consulting helping businesses make effective software. Chapter 1: Getting Started with RingChapter 2: Data Types in RingChapter 3: Ins of RingChapter 4: Outs of RingChapter 5: Ring AlgorithmsChapter 6: Juggling with ScopesChapter 7: Functions, Objects and BeyondChapter 8: Designing Games in RingChapter 9: A Gamified Foundation for Mastering RingAppendix A: A Dialogue with Mahmoud Fayed
Advanced Perl Programming
William "Bo" Rothwell's Advanced Perl Programming continues where his previous book left off, more or less, as it guides you through advanced techniques of the Perl programming language starting with command-line options, references, and arrays and hashes from advanced data types. Next, you'll learn about typeglobs for symbolic entries.Additionally, you'll see advanced subroutine handling, then packages and namespaces. Furthermore, you'll build advanced modules and install CPAN modules. Unlike Java and C++, modules have been around in Perl for a long time now. Along the way, you'll learn and use POD mark up language for Perl documentation.Moreover, you'll get a survey of the many advanced features and data structures of the current Perl programming language. You'll also get a survey of the new features of the latest Perl 5.x release. After reading and using this book, you'll have the tools, techniques, and source code to be an expert Perl programmer.WHAT YOU WILL LEARN* Carry out command-line parsing and extract scripts * Create references; return values from a reference; work with the ref Function and strict refs* Work with advanced Perl data types using arrays, hashes, and hash of hashes * Use Typeglobs for symbol table entries * Build modules and install CPAN modules* Write documentation for Perl using POD * Work with the newest features in Perl, including the smartmatch operator, yada yada, automated regex modifiers, the CORE namespace and moreWHO THIS BOOK IS FORThose with experience with Perl or who have read Rothwell's prior books, Beginning Perl Programming and Pro Perl Programming. At the impressionable age of 14, William "Bo" Rothwell crossed paths with a TRS-80 Micro Computer System (affectionately known as a “Trash 80”). Soon after the adults responsible for Bo made the mistake of leaving him alone with the TSR-80. He immediately dismantled it and held his first computer class, showing his friends what made this “computer thing” work. Since this experience, Bo’s passion for understanding how computers work and sharing this knowledge with others has resulting in a rewarding career in IT training. His experience includes Linux, Unix, DevOps tools, and programming languages such as Perl, Python, Tcl, and BASH.Chapter One Command Line Options1.1 Introducing Command Line Options1.2 Changing Input Record Separator1.3 Create a Loop Around Your Script1.4 Editing in Place1.5 Syntax Checking1.6 Pre-appending to @INC1.7 Including Modules1.8 Command Line Parsing1.9 Displaying Configuration Information1.10 Extracting Scripts from Messages1.11 Additional Resources1.12 Lab ExercisesChapter Two References2.1 What are References?2.2 Creating References2.3 Returning the Value from a Reference2.4 The ref Function2.5 Making Anonymous References2.6 References to Functions2.7 use strict ‘refs’2.8 Additional Resources2.9 Lab ExercisesChapter Three Advanced Data Types: Arrays3.1 Review: What You Should Already Know About Arrays3.2 What You Might Know About Arrays3.3 Arrays of Arrays3.4 Creating Arrays of Arrays3.5 Accessing Values in an Array of Arrays3.6 Adding a Sub Array (Row)3.7 Adding a column3.8 Printing an Array of Arrays3.9 Additional Resources3.10 Lab ExercisesChapter Four Advanced Data Types: Hashes4.1 Review: What You Should Already Know About Hashes4.2 What You Might Know About Hashes4.3 Hashes of Hashes4.4 Creating Hashes of Hashes4.5 Accessing Values in a Hash of Hashes4.6 Other Data Structures4.7 Additional Resources4.8 Lab ExercisesChapter Five Typeglobs5.1 Symbolic Tables5.2 Typeglobs5.3 Using typeglobs5.4 References vs. Typeglobs5.5 Avoiding Aliases to Entire Identifier5.6 Making constants5.7 Passing Filehandles into Functions5.8 Redefining a Function5.9 Temporarily Redefining a Function5.10 Additional Resources5.11 Lab ExercisesChapter Six Advanced Subroutine Handling6.1 Review: What You Should Already Know About Functions6.2 What You Might Know About Functions6.3 Making Persistent Function Variables6.4 Using the caller Function6.5 Passing Arguments by Reference6.6 Determining Functions Return Data6.7 Returning Multiple Values6.8 Exception Handling6.9 Constant Functions6.10 Prototypes6.11 Additional Resources6.12 Lab ExercisesChapter Seven Packages and Namespaces7.1 Scope7.2 Creating Namespaces with the package Command7.3 Fully Qualified Package Names7.4 Nested Packages7.5 use strict 'vars'7.6 Identifiers Not Affected by Packages7.7 Determine the Current Package7.8 Packages vs. my Variables7.9 Additional Resources7.10 Lab ExercisesChapter Eight Building Modules8.1 Introduction to Perl Modules8.2 Creating a Module8.3 BEGIN and END Blocks8.4 Symbol Tables in Modules8.5 Exporting Identifiers from Modules8.6 Private Identifiers8.7 Oking Symbols to Export from Modules8.8 Module Version Numbers8.9 use vs. require8.10 A Note About Library Files8.11 Additional Resources8.12 Lab ExercisesChapter Nine Installing CPAN Modules9.1 What is CPAN?9.2 Accessing CPAN9.3 CPAN Organization9.4 Installing a CPAN Module Manually9.5 Installing CPAN Modules Using the CPAN Module9.6 Using the Perl Package Manager to Install CPAN Modules9.7 Listing What Modules are Currently Installed9.8 Additional Resources9.9 Lab ExercisesChapter Ten POD10.1 Overview of POD10.2 POD Commands10.3 POD Text10.4 POD Verbatim10.5 POD Examples10.6 Common POD Problems10.7 POD Utilities10.8 Additional Resources10.9 Lab ExercisesChapter Eleven Advanced Features11.1 Perl development environments11.2 The power of the do statement11.3 autodie11.4 String variables as files11.5 File::Spec11.6 Proper use of soft references11.7 Install modules from CPAN without admin privileges11.8 Basic testing11.9 Advanced testing11.10 Using prove11.11 BenchmarkingChapter Twelve Advanced Data Structures12.1 Introduction to Benchmarking12.2 Use the Readonly module to create constants12.3 Make large numbers more readable12.4 Make use of Scalar::Util12.5 Make use of List::Util12.6 Make use of List::MoreUtils12.7 List formatting12.8 Understand slices12.9 Make use of Hash::Util12.10 Make use of Hash::MoreUtils12.11 Smart use of subscripts12.12 Understand the advantages and disadvantages of for, foreach, grep and map12.13 Know different sort techniques12.14 Avoid using memory to store large dataChapter Thirteen New Features12.1 Perl versions12.2 The latest/greatest?12.3 Changes by version12.4 The feature pragma12.5 Make use of the Smartmatch Operator12.6 The // operator12.7 The UNITCHECK block12.8 Yada yada12.9 The autodie pragma12.10 Using each, keys, values with arrays 12.11 New Regular Expression modifiers12.12 Non-destructive substation12.13 Automating Regular Expression modifiers12.14 New feature for given12.15 Change in use feature12.16 The CORE namespace12.17 Overriding Perl keywords
Beginning PyQt
Learn GUI application development from the ground up, taking a practical approach by building simple projects that teach the fundamentals of using PyQt. Each chapter gradually moves on to teach more advanced and diverse concepts to aid you in designing interesting applications using the latest version of PyQt.You’ll start by reviewing the beginning steps of GUI development from, using different projects in every chapter to teach new widgets or concepts that will help you to build better UIs. As you follow along, you will construct more elaborate GUIs, covering topics that include storing data using the clipboard, graphics and animation, support for SQL databases, and multithreading applications. Using this knowledge, you’ll be able to build a photo editor, games, a text editor, a working web browser and an assortment of other GUIs.Beginning PyQt will guide you through the process of creating UIs to help you bring your own ideas to life. Learn what is necessary to begin making your own applications and more with PyQt!WHAT YOU'LL LEARN* Create your own cross-platform GUIs with PyQt and Python* Use PyQt’s many widgets and apply them to building real applications* Build larger applications and break the steps into smaller parts for deeper understanding* Work with complex applications in PyQt, from animation to databases and moreWHO THIS BOOK IS FORIndividuals who already have a fundamental understanding of the Python programming language and are looking to either expand their skills in Python or have a project where they need to create a UI, but may have no prior experience or no idea how to begin.Joshua Willman began using Python in 2015, when his first task was to build neural networks using machine learning libraries, including Keras and Tensorflow, for image classification. While creating large image data sets for his research, he needed to build a GUI that would simplify the workload and labeling process, which introduced him to PyQt. He currently works as a Python Developer and Instructor, designing courses to help others learn about coding in Python for game development, AI and machine learning, and programming using microcontollers. More recently, he set up the site Red Huli to explore his and others’ interests in using Python and programming for creative purposes.BEGINNING PYQTChapter 1 - Charting the CourseChapter 2 - Getting StartedChapter 3 - Adding Functions Through ButtonsChapter 4 - Learning about LayoutChapter 5 - Menus, Toolbars,and MoreChapter 6 - Styling Your GUIsChapter 7 - Creating GUIs with Qt DesignerChapter 8 - Working with the ClipboardChapter 9 - Graphics and Animation in PyQtChapter 10 - Intro to Handling DatabasesChapter 11 - Asynchronous ProgrammingChapter 12 - Extra ProjectsAppendix A - Reference Guide for PyQtAppendix B - Python Refresher
SQLScript für SAP HANA
Mit diesem Buch gelingt Ihr Einstieg in SQLScript! Machen Sie sich mit den Grundlagen der Abfragesprache vertraut, und lernen Sie die Sprachelemente und Einsatzszenarien kennen. Schritt für Schritt führt Jörg Brandeis Sie durch die Implementierung von SQLScript-Funktionen und -Prozeduren, mit denen Sie die Ablauflogik auf der Datenbank bestimmen. Sie lernen, wie Sie datenbanknah programmieren und die beste Performance aus SAP HANA herausholen. Aus dem Inhalt: SAP Web IDESQL-KonsoleDeklarative und imperative ProgrammierungLesender und schreibender DatenbankzugriffAblauflogikTabellen, Views, Sequenzen und TriggerSQL und SQLScriptABAP Managed Database ProceduresSAP HANA als EntwicklungsumgebungCode optimieren Einleitung ... 15 1. SAP HANA ... 23 1.1 ... Was ist SAP HANA? ... 24 1.2 ... Systemarchitektur ... 32 1.3 ... Organisation der Datenbankobjekte ... 35 1.4 ... Entwicklungsumgebungen ... 39 1.5 ... SQL-Konsole ... 48 2. Die ersten Schritte mit SQLScript ... 53 2.1 ... SQL vs. SQLScript ... 54 2.2 ... Grundlegende Sprachelemente ... 57 2.3 ... Modularisierung und logische Container ... 77 2.4 ... Programmbeispiel ... 97 3. Deklarative Programmierung in SQLScript ... 111 3.1 ... Tabellenvariablen ... 112 3.2 ... SELECT-Anweisung ... 114 3.3 ... Sonstige Operatoren ... 162 4. Datentypen und ihre Verarbeitung ... 167 4.1 ... Zeichenketten ... 168 4.2 ... Datum und Zeit ... 191 4.3 ... Numerische Daten ... 206 4.4 ... Binäre Datentypen ... 218 4.5 ... Konvertierungen zwischen den Datentypen ... 222 4.6 ... Datenreihen erzeugen ... 223 5. Schreibender Zugriff auf die Datenbank ... 227 5.1 ... INSERT ... 228 5.2 ... UPDATE ... 231 5.3 ... UPSERT oder REPLACE ... 233 5.4 ... MERGE INTO ... 235 5.5 ... DELETE ... 237 5.6 ... TRUNCATE TABLE ... 238 6. Imperative Programmierung ... 239 6.1 ... Variablen ... 239 6.2 ... Ablaufsteuerung mit IF und ELSE ... 257 6.3 ... Schleifen ... 261 6.4 ... Cursors ... 265 6.5 ... Arrays ... 269 6.6 ... Transaktionssteuerung ... 276 6.7 ... Dynamisches SQL ausführen ... 279 6.8 ... Fehlerbehandlung ... 285 7. Datenbankobjekte anlegen, löschen und verändern ... 291 7.1 ... Tabellen ... 292 7.2 ... Benutzerdefinierte Tabellentypen ... 298 7.3 ... Sichten (Views) ... 299 7.4 ... Sequenzen ... 301 7.5 ... Trigger ... 303 8. SQLScript in ABAP-Programmen ... 307 8.1 ... AMDP-Prozeduren ... 311 8.2 ... CDS-Tabellenfunktionen ... 325 8.3 ... AMDP-Funktionen für AMDP-Methoden ... 333 8.4 ... Alternativen zu den AMDP für den Aufruf von SQLScript-Code aus ABAP-Programmen ... 336 8.5 ... Empfehlungen ... 337 9. SQLScript in SAP BW und SAP BW/4HANA ... 339 9.1 ... Transformationsroutinen als AMDP ... 344 9.2 ... Aufeinanderfolgende Transformationen und gemischte Ausführung ... 347 9.3 ... Die generierte AMDP-Klasse ... 348 9.4 ... Die einzelnen Routinen ... 356 9.5 ... Fehlerverarbeitung und Error Stack ... 361 10. Sauberer SQLScript-Code ... 367 10.1 ... Die Lesbarkeit des Codes ... 368 10.2 ... Performance-Empfehlungen ... 382 11. Tests, Fehler- und Performanceanalyse ... 385 11.1 ... Test von SQLScript Code ... 386 11.2 ... Die Debugger für SQLScript ... 396 11.3 ... Performanceanalyse ... 411 Anhang ... 431 A ... Einrichtung einer SAP-HANA-Instanz als Entwicklungsumgebung ... 433 B ... Datenmodell: Aufgabenverwaltung ... 451 C ... Abkürzungsverzeichnis ... 455 D ... Der Autor ... 457 Index ... 459
Einführung in Java
Mit diesem Buch steigen Sie ohne Vorkenntnisse in Java und die objektorientierte Programmierung ein. Schritt für Schritt machen Sie sich mit der Sprache und ihren Konzepten vertraut. Sie lernen, in Algorithmen zu denken und Java sowie die vielen Werkzeuge Ihrer Plattform geschickt zu nutzen. Immer praxisnah und mit Gefühl für mögliche Verständnishürden: So werden auch professionelle Themen wie Testabdeckung, Multithreading und Servletentwicklung einsteigergerecht vermittelt. Schließlich schreiben Sie zeitgemäßen Code, der auch komplexe Software trägt. Ideal für Ausbildung, Studium und Beruf! Aus dem Inhalt: Die Entwicklungsumgebung einrichten und kennenlernenGrundkonzepte glasklar vorgestelltSprachmittel gründlich verstehenNeue Features einsetzenUnit Tests und Test Driven DesignDatenbanken anbindenIn Servlet-Technologie einsteigenEvents einsetzen und asynchron programmierenGUIs entwickelnGuten Code schreibenMit Dateien und Streams arbeitenIn die Entwicklung von Android-Apps einsteigen Materialien zum Buch ... 19 1. Einführung ... 21 1.1 ... Was ist Java? ... 22 1.2 ... Die Arbeitsumgebung installieren ... 28 1.3 ... Erste Schritte in NetBeans ... 30 1.4 ... Das erste Programm ... 32 1.5 ... In Algorithmen denken, in Java schreiben ... 41 1.6 ... Die Java-Klassenbibliothek ... 47 1.7 ... Dokumentieren als Gewohnheit -- Javadoc ... 50 1.8 ... JARs erstellen und ausführen ... 56 1.9 ... Mit dem Debugger arbeiten ... 61 1.10 ... Das erste eigene Projekt ... 66 1.11 ... Zusammenfassung ... 68 2. Variablen und Datentypen ... 69 2.1 ... Variablen ... 69 2.2 ... Primitivtypen ... 73 2.3 ... Objekttypen ... 87 2.4 ... Objekt-Wrapper zu Primitiven ... 91 2.5 ... Array-Typen ... 94 2.6 ... Zusammenfassung ... 96 3. Entscheidungen ... 97 3.1 ... Entweder-oder-Entscheidungen ... 97 3.2 ... Logische Verknüpfungen ... 104 3.3 ... Mehrfach verzweigen mit »switch« ... 110 3.4 ... Zusammenfassung ... 116 4. Wiederholungen ... 117 4.1 ... Bedingte Wiederholungen mit »while« ... 117 4.2 ... Abgezählte Wiederholungen -- die »for«-Schleife ... 121 4.3 ... Abbrechen und überspringen ... 123 4.4 ... Zusammenfassung ... 126 5. Klassen und Objekte ... 127 5.1 ... Klassen und Objekte ... 128 5.2 ... Access-Modifier ... 130 5.3 ... Felder ... 132 5.4 ... Methoden ... 133 5.5 ... Warum Objektorientierung? ... 142 5.6 ... Konstruktoren ... 144 5.7 ... Statische Felder und Methoden ... 148 5.8 ... Unveränderliche Werte ... 151 5.9 ... Spezielle Objektmethoden ... 154 5.10 ... Zusammenfassung ... 156 6. Objektorientierung ... 157 6.1 ... Vererbung ... 158 6.2 ... Interfaces und abstrakte Datentypen ... 171 6.3 ... Übung: Objektorientierte Modellierung ... 179 6.4 ... Innere Klassen ... 180 6.5 ... Enumerationen ... 187 6.6 ... Zusammenfassung ... 190 7. Unit Testing ... 191 7.1 ... Das JUnit-Framework ... 193 7.2 ... Fortgeschrittene Unit Tests ... 199 7.3 ... Besseres Design durch Testfälle ... 205 7.4 ... Zusammenfassung ... 208 8. Die Standardbibliothek ... 209 8.1 ... Zahlen ... 209 8.2 ... Strings ... 214 8.3 ... Reguläre Ausdrücke ... 224 8.4 ... Zeit und Datum ... 231 8.5 ... Internationalisierung und Lokalisierung ... 236 8.6 ... Zusammenfassung ... 244 9. Fehler und Ausnahmen ... 245 9.1 ... Exceptions werfen und behandeln ... 245 9.2 ... Verschiedene Arten von Exceptions ... 252 9.3 ... Invarianten, Vor- und Nachbedingungen ... 258 9.4 ... Zusammenfassung ... 260 10. Arrays und Collections ... 261 10.1 ... Arrays ... 261 10.2 ... Die for-each-Schleife ... 271 10.3 ... Variable Parameterlisten ... 271 10.4 ... Collections ... 273 10.5 ... Typisierte Collections -- Generics ... 278 10.6 ... Maps ... 288 10.7 ... Zusammenfassung ... 290 11. Lambda-Ausdrücke ... 291 11.1 ... Was sind Lambda-Ausdrücke? ... 292 11.2 ... Die Stream-API ... 304 11.3 ... Un-Werte als Objekte -- »Optional« ... 321 11.4 ... Eine Warnung zum Schluss ... 324 11.5 ... Zusammenfassung ... 325 12. Dateien, Streams und Reader ... 327 12.1 ... Dateien und Verzeichnisse ... 328 12.2 ... Reader, Writer und die »anderen« Streams ... 334 12.3 ... Objekte lesen und schreiben ... 346 12.4 ... Netzwerkkommunikation ... 349 12.5 ... Zusammenfassung ... 352 13. Multithreading ... 353 13.1 ... Threads und Runnables ... 354 13.2 ... Atomare Datentypen ... 361 13.3 ... Synchronisation ... 362 13.4 ... Fortgeschrittene Koordination zwischen Threads ... 370 13.5 ... Die Zukunft -- wortwörtlich ... 376 13.6 ... Das Speichermodell von Threads ... 381 13.7 ... Zusammenfassung ... 383 14. Servlets -- Java im Web ... 385 14.1 ... Einen Servlet-Container installieren ... 386 14.2 ... Die erste Servlet-Anwendung ... 392 14.3 ... Servlets programmieren ... 403 14.4 ... Java Server Pages ... 410 14.5 ... Langlebige Daten im Servlet -- Ablage in Session und Application ... 416 14.6 ... Fortgeschrittene Servlet-Konzepte -- Listener und Initialisierung ... 419 14.7 ... Zusammenfassung ... 422 15. Datenbanken und Entitäten ... 423 15.1 ... Was ist eine Datenbank? ... 424 15.2 ... Mit einer Datenbank über die JPA verbinden ... 431 15.3 ... Anwendung und Entitäten ... 436 15.4 ... Entitäten laden ... 439 15.5 ... Entitäten löschen ... 444 15.6 ... Beziehungen zu anderen Entitäten ... 445 15.7 ... Zusammenfassung ... 452 16. GUIs mit JavaFX ... 453 16.1 ... Einführung ... 453 16.2 ... Installation ... 454 16.3 ... Architektur von JavaFX ... 454 16.4 ... GUI-Komponenten ... 457 16.5 ... Layouts ... 468 16.6 ... GUI mit Java-API -- Urlaubsverwaltung ... 478 16.7 ... Event-Handling ... 482 16.8 ... JavaFX-Properties und Binding ... 489 16.9 ... Deklarative GUIs mit FXML ... 495 16.10 ... Layout mit CSS ... 501 16.11 ... Transformationen, Animationen und Effekte ... 505 16.12 ... Übungen ... 512 16.13 ... Zusammenfassung ... 513 17. Android ... 515 17.1 ... Einstieg in die Android-Entwicklung ... 515 17.2 ... Eine Benutzeroberfläche designen ... 528 17.3 ... Anwendungen mit mehreren Activities ... 535 17.4 ... Permissions und SystemServices ... 542 17.5 ... Apps im Play Store veröffentlichen ... 546 17.6 ... Zusammenfassung ... 546 18. Hinter den Kulissen ... 549 18.1 ... Klassenpfade und Classloading ... 549 18.2 ... Garbage Collection ... 556 18.3 ... Flexibel codieren mit der Reflection-API ... 563 18.4 ... Blick in die Zukunft ... 569 18.5 ... Zusammenfassung ... 572 19. Und dann? ... 573 19.1 ... Jakarta EE ... 574 19.2 ... Open-Source-Software ... 579 19.3 ... Ergänzende Technologien ... 580 19.4 ... Andere Sprachen ... 583 19.5 ... Programmieren Sie! ... 585 Anhang ... 587 A ... Java-Bibliotheken ... 589 B ... Lösungen zu den Übungsaufgaben ... 597 C ... Glossar ... 707 D ... Kommandozeilenparameter ... 723 Index ... 731
Excel Spezial - Daten abrufen, aufbereiten & mit Pivot-Tabellen auswerten
Die praktische Anleitung für den Umgang mit großen Datenmengen:- Stets aktuelle Auswertungen umfangreicher externer Daten- Anschauliche Anleitungen mit Beispielen zum DownloadSie benötigen laufend aktuelle Daten aus externen Quellen? Mit Excel können Sie regelmäßig wiederkehrende Auswertungen umfangreicher Daten schnell und einfach vornehmen. Wie das geht, erfahren Sie Schritt für Schritt in diesem Buch.Die Autorin erklärt systematisch, wie Sie eine Verbindung zu externen Datenquellen herstellen, diese gezielt für Ihre weiteren Auswertungen aufbereiten und später mit nur einem Mausklick aktualisieren. Für daran anschließende zusammenfassende Auswertungen sind Pivot-Tabellen das ideale Werkzeug – ihre zahlreichen Möglichkeiten werden ausführlich beschrieben. Als sinnvolle Ergänzung dazu lernen Sie Berechnungen und Datenmodelle mit Power Pivot kennen. Profitieren Sie von gut nachvollziehbaren Anleitungen, anschaulichen Beispielen zum kostenlosen Download und vielen hilfreichen Tipps, z. B. wie Sie den Speicherumfang von Arbeitsmappen reduzieren.Aus dem Inhalt:- Was Sie beim Anlegen von Excel-Tabellen als Ausgangsbasis beachten sollten- Daten aus verschiedenen externen Quellen abrufen, z. B. SQL, Textdateien, XML oder aus dem Web- Länderspezifische Zahlen konvertieren, weitere Spalten berechnen, Daten gruppieren- Daten mit Power Query abrufen und aufbereiten- Grundlegende Arbeitstechniken im Power Query-Editor- Daten aus zwei und mehr Tabellen zusammenführen- Pivot-Tabellen und Pivot-Diagramme erstellen und Felder anordnen- Berichtslayout, Teil- und Gesamtergebnisse darstellen- Spalten und Measures mit Power Pivot berechnen- Grundlagen der Datenmodellierung
Datenvisualisierung - Grundlagen und Praxis
Professionelle Datenvisualisierung: So sprechen und überzeugen Ihre Daten* Herausragendes Grundlagenwerk zum Thema Datenvisualisierung * Einprägsam und anschaulich durch eine Vielzahl von guten und schlechten Beispielen* Hoher Praxisnutzen durch Tipps zu Diagrammtypen, dem Einsatz von Farben und Formen u.v.m.Wie wird Wissen, das in komplexen Datensätzen steckt, zugänglich? Durch professionelle Datenvisualisierung.Ob Data Scientist, Wissenschaftler, Analyst oder Berater oder einfach alle, die technische Dokumente oder Berichte erstellen müssen: Datenvisualisierung ist zu einer unverzichtbaren Kernkompetenz geworden.Claus O. Wilke bietet in seinem Grundlagenwerk eine systematische Einführung in die Prinzipien, Methoden und Konzepte der Datenvisualisierung - und das sehr praxisnah und anschaulich: durch solide Grundlagen und unzählige gute und schlechte Beispiele.Nach der Lektüre wissen Sie, was professionelle Abbildungen ausmacht:Welche Darstellungsmöglichkeiten gibt es? Wie entwickelt man ein aussagekräftiges Farbschema? Welcher Visualisierungstyp eignet sich am besten für die Geschichte, die Sie erzählen möchten?Wilkes Grundlagenwerk verzichtet bewusst auf Programmcode. Die beschriebenen Konzepte und Prinzipien können - ganz gleich mit welcher Visualisierungssoftware Sie arbeiten - angewendet werden. R-Nutzer finden den Code zu den Abbildungen auf GitHub.Claus O. Wilke ist Professor für Integrative Biology an der University of Texas in Austin, USA. Er hat an der Ruhr-Universität Bochum in theoretischer Physik promoviert. Claus ist Autor und Co-Autor von über 170 wissenschaftlichen Publikationen, die sich mit Themen aus den Bereichen Computational Biology, mathematische Modellierung, Bioinformatik, Evolutionsbiologie, Proteinbiochemie, Virologie und Statistik befassen. Er hat außerdem mehrere beliebte R-Pakete zur Datenvisualisierung wie cowplot und ggridges entwickelt und wirkt an der Entwicklung von ggplot2 mit.
Deep Learning - Grundlagen und Implementierung
Grundprinzipien und Konzepte neuronaler Netze systematisch und verständlich erklärt* Deep-Learning-Grundlagen für Data Scientists und Softwareentwickler mit Erfahrung im Machine Learning * Implementierung der Deep-Learning-Konzepte mit dem beliebten Framework PyTorch* Zahlreiche Codebeispiele in Python verdeutlichen die konkrete Umsetzung Dieses Buch vermittelt Ihnen das konzeptionelle und praktische Rüstzeug, um ein tiefes Verständnis für die Funktionsweise neuronaler Netze zu bekommen. Sie lernen die Grundprinzipien des Deep Learning kennen, zu deren Veranschaulichung Seth Weidman gut nachvollziehbare Konzeptmodelle entwickelt hat, die von Codebeispielen begleitet werden. Das Buch eignet sich für Data Scientists und Softwareentwickler mit Erfahrung im Machine Learning.Sie beginnen mit den Basics des Deep Learning und gelangen schnell zu den Details fortgeschrittener Architekturen, indem Sie deren Aufbau von Grund auf neu implementieren. Dabei lernen Sie mehrschichtige neuronale Netze wie Convolutional und Recurrent Neural Networks kennen. Diese neuronalen Netzwerkkonzepte setzen Sie dann mit dem beliebten Framework PyTorch praktisch um. Auf diese Weise bauen Sie ein fundiertes Wissen darüber auf, wie neuronale Netze mathematisch, rechnerisch und konzeptionell funktionieren.Seth Weidman ist Data Scientist. Er teilt seine Zeit auf zwischen der Lösung von Machine-Learning-Problemen bei Facebook und seinem Engagement für PyTorch. Zuvor war er im Bereich Machine Learning bei Trunk Club tätig und hat später Machine Learning und Deep Learning im Corporate Training Team von Metis unterrichtet. Seine Passion ist es, komplexe Konzepte einfach zu erklären.
Beginning PBR Texturing
Delve into the concepts of physically based rendering (PBR) using Allegorithmic’s Substance Painter. This book covers the integration of PBR textures with various 3D modeling and rendering packages as well as with the Unreal Engine 4 game engine.BEGINNING PBR TEXTURING covers all aspects of the software and guides you in implementing its incredible possibilities, including using materials, masks, and baking. Integration with both internal and popular external rendering engines is covered.This book teaches you the skills you need to use the texturing tool that is recognized by studios worldwide. You will know tips and tricks to implement the pipeline and speed up your workflow.WHAT YOU WILL LEARN* Know the fundamentals of PBR-based texturing from the ground up* Create production-ready textured models from scratch* Integrate PBR textures with standard 3D modeling and rendering applications* Create portfolio-ready renders using offline renderersWHO THIS BOOK IS FORBeginners in the fields of 3D animation, computer graphics, and game technologyDR. ABHISHEK KUMAR is Assistant Professor in the Department of Computer Science at the Institute of Science at Banaras Hindu University. He is an Apple Certified Associate, Adobe Education Trainer, and certified by Autodesk. He is actively involved in course development in animation and design engineering courses for various institutions and universities as they will be a future industry requirement.Dr. Kumar has published a number of research papers and covered a wide range of topics in various digital scientific areas (image analysis, visual identity, graphics, digital photography, motion graphics, 3D animation, visual effects, editing, composition). He holds two patents in the field of design and IoT and has created two inventions related to a pipeline inspection robot to help visually impaired people.Dr. Kumar has completed professional studies related to animation, computer graphics, virtual reality, stereoscopy, filmmaking, visual effects, and photography from Norwich University of Arts, University of Edinburg, and Wizcraft MIME & FXPHD, Australia. He is passionate about the media and entertainment industry, and has directed two animation short films.Dr. Kumar has trained more than 50,000 students across the globe from 153 countries (top five: India, Germany, United States, Spain, Australia). His alumni have worked for national and international movies such as Ra-One, Krissh, Dhoom, Life of Pi, the Avengers series, the Iron Man series, GI Joe 3D, 300, Alvin and the Chipmunks, Prince of Persia, Titanic 3D, the Transformers series, Bahubali 1 & 2, London Has Fallen, Warcraft, Aquaman 3D, Alita, and more.CHAPTER 1: INTRODUCTIONChapter Goal: This chapter introduces the reader to the layout of the book and how to best use the book in a practical way to develop their skills.Sub-Topics• What is our goal• A career as game developer• How to best use this bookCHAPTER 2: GRAPHICS IN THE GAME INDUSTRYChapter Goal: In this chapter, the readers will take a peek into the working of the video game industry. Also, software used in the Production pipeline are discussed.Sub-Topics• Concept of computer graphics• Visualization basics• What is PBR?• Game render engines or game enginesCHAPTER 3: WORKFLOW OF TEXTURINGChapter Goal: This chapter discusses the general workflows of preparing a model for texturing. The concept and importance of UV unwrapping are also considered as well as common problems that usually arise during work and how to handle them.Sub-Topics• Game texturing pipeline• What is UV mapping?• What are the different types of texture maps?CHAPTER 4: TEXTURING GAMES VS TEXTURING MOVIESChapter Goal: Here the reader will learn more about the major differences as well as the similarities between texturing assets for movies and texturing assets for games.Sub-Topics• Texture map fundamental• What are the major differences?• Common pipelines and similaritiesCHAPTER 5: PBR TEXTURING VS TRADITIONAL TEXTURINGChapter Goal: In this chapter, we discuss the various traditional and modern texturing methods and their pros and cons. This will help readers decide which method is best suited for them.Sub-Topics• Texturing using 2D painting applications• Texturing using 3D texture painting applications• PBR texturing examples• PBR vs traditional texturingCHAPTER 6: SUBSTANCE SUITEChapter Goal: The readers are introduced to the four softwares that come with the Substance Suite and the different functions of each of them and where they are used in the industry.Sub-Topics• What is Substance Painter?• Why should we use substances?• Uses of other Substance Suite applicationsCHAPTER 7: HARDWARE SPECIFICATIONChapter Goal: The recommended hardware configurations required to run Substance Painter properly are discussed.Sub-Topics• GPU vs CPU• Recommended hardwareCHAPTER 8: GRAPHICAL USER INTERFACEChapter Goal: All the essential shortcuts and the GUI for Substance Painter are listed in this chapter.Sub-Topics• Main menu• Sliders• Toolbars• Properties• Texture Set• Layer Stack• History• Shelf• Display SettingsCHAPTER 9: VIEWPORT NAVIGATIONChapter Goal: The readers are introduced to the Viewport and all the tools and shelves of Substance Painter.Sub-Topics• Common shortcuts• A detailed guide to commonly used toolsCHAPTER 10: PROJECT SETUPChapter Goal: How to setup a project in Substance Painter and what are the correct settings for the same? We will discuss all that in this chapter.Sub-Topics• Choosing a substance workflow• Import into Substance Painter• Project configuration in detailCHAPTER 11: BAKING AND IMPORTANCE OF MAPSChapter Goal: In this chapter, the readers will learn about the importance of baking maps and their uses.Sub-Topics• Introduction to the Baker• Baking parameters in Substance Painter• Uses of different maps created by BakerCHAPTER 12: WORKING WITH MATERIALS, LAYERS, AND MASKSChapter Goal: This chapter introduces the students to the materials and the robust layer-based workflow that allows the creation of complex materials using masks.Sub-Topics• Introduction to Materials and Smart Materials• Building up your material• Layers and MasksCHAPTER 13: WORKING WITH PROCEDURAL MAPSChapter Goal: Here, we discuss how to texture procedurally using various maps and filters and more advanced uses of masks.Sub-Topics• Detailed introduction of filters• Comprehensive introduction of generators• Uses of grunge and other procedural texturesCHAPTER 14: SUBSTANCE ANCHORSChapter Goal: The students will now learn about the anchor system of Substance Painter and how powerful they are.Sub-Topics• What is an anchor?• Anchor point as a reference• How to effectively use anchorCHAPTER 15: RENDERING WITH I-RAYChapter Goal: The internal of render engine of Substance Painter, the Nvidia I-Ray is discussed in this chapter and how to render an asset using it.Sub-Topics• What is I-Ray?• I-Ray Render settings• Exporting Painter filesCHAPTER 16: INTEGRATION WITH MARMOSET, MAYA, AND BLENDERChapter Goal: Here, we discuss the procedure for export of the created material from Substance Painter to other popular render engines.Sub-Topics• Exporting for Marmoset, Maya, and Blender• Importing into Marmoset, Maya, and Blender• Material setup in Marmoset, Maya, and BlenderCHAPTER 17: RENDERING A PORTFOLIOChapter Goal: Finally, we discuss the process of importing maps in the render engine of your choice and rendering a portfolio ready image. In our case, we will use Blender and Marmoset tool bag.Sub-Topics• Material setup in Blender• Rendering with Blender• Rendering with Marmoset tool bagCHAPTER 18: INTEGRATION WITH GAME ENGINE (UE4)Chapter Goal: In this chapter, readers will learn about the process of exporting materials for game engine (Unreal Engine 4 in our case) as well as setting up the material inside the game engine for use.Sub-Topics• Exporting to Unreal Engine 4• Importing into Unreal Engine 4• Material setupCHAPTER 19: TIPS AND TRICKS OF SUBSTANCE PAINTERChapter Goal: In this final chapter, we will discuss some tips and tricks that will help speed up your work-flow or help you in creating something interesting.Sub-Topics• Some general tips• Integration of substance painter with Designer• Some tricks with tools• Substance painter use in media and entertainment industry
Let´s Play: Bauen in Minecraft. Unter Wasser, auf dem Land und in der Luft
* ERSCHAFFE DEINE EIGENE MINECRAFT-WELT: TIPPS UND IDEEN FÜR KREATIVE BAUPROJEKTE* INNENEINRICHTUNG UND DEKORATION, BRÜCKEN UND BURGEN, VERTEIDIGUNGSANLAGEN, FALLEN UND KANONEN* ZAHLREICHE PROFI-TRICKS Z.B. ZUM BAUEN UNTER WASSER ODER IN DER LUFTIn Minecraft kannst du aus einfachen Blöcken die unterschiedlichsten Gebäude und Anlagen bauen. Deiner Kreativität sind dabei kaum Grenzen gesetzt.Egal ob du ein einfaches Haus, Straßen, Brücken, Gärten, Schiffe, eine Burg, ein Schloss oder vielleicht sogar einen Heißluftballon erstellen willst, hier lernst du, wie es geht. Und damit die Umsetzung deiner Ideen nicht an der fehlenden Technik scheitert, findest du in diesem Buch viele Tipps und Tricks, mit denen du deine eigenen Bauprojekte noch besser umsetzen kannst.Zahlreiche Beispiele für das Bauen auf dem Land, im und unter Wasser und sogar in der Luft geben dir außerdem Anregungen und jede Menge Ideen für deine eigenen Projekte.Mit diesem Buch wirst du ein professioneller Minecraft-Baumeister.Daniel Braun ist seit den ersten Tagen Minecraft-Anhänger und kennt als Profi alle Facetten des Spiels. Er hat bereits mehrere Bücher zu Minecraft geschrieben.
Robotic Process Automation
Sie planen Robotic Process Automation (RPA) im Unternehmen einzuführen und ihre administrativen Prozesse ins digitale Zeitalter zu überführen? Dieser pragmatische Ratgeber, bietet Ihnen praxisgerecht, komprimiert und auf den Punkt zusammengefasst Erfahrungen aus deutschen Unternehmen. Neben der Erläuterung der Vorteile und notwendigen Schritte zur Einführung der innovativen RPA Technologie, werden mögliche Anwendungsfelder näher beleuchtet.Worauf muss man bei der Implementierung und dem Betrieb achten, welche Stolpersteine gilt es zu umgehen, wie setze ich den ersten Software-Robot um und was ist notwendig für einen flächendeckenden, störungsfreien Einsatz? Wie bringt man die eigene Mitarbeiterbelegschaft und die Gremien hinter sein Vorhaben? Welchen Compliance- und Sicherheitsanforderungen muss RPA genügen? All diese Fragestellung werden in diesem Buch mit Beispielen, Checklisten und Illustrationen praxisnah beantwortet.CHRISTINA KOCH hat in ihrer Rolle als Projektleiterin bei einem DAX-Konzern in über 10 Jahren vielzählige Großprojekte eigenverantwortlich geleitet und erfolgreich umgesetzt – zuletzt die konzernweite Einführung von RPA. Hierbei profitierte sievom Austausch mit RPA-Experten diverser deutschen Industriegrößen und greift somit auf einen breiten Erfahrungsschatz aus erster Hand zurück. Christina Koch als die Autorin dieses Buches hat, basierend auf ihrer mehrjährigen praktischen RPA-Erfahrung in der deutschen Industrie, den Text und die Grafiken erarbeitet.DR. STEPHEN FEDTKE ist CTO des auf IT-Sicherheit und -Compliance spezialisierten Lösungsanbieters Enterprise-IT-security.com. Er hat das Manuskript unter Einsatz seiner fundierten IT-Expertise qualitätsgesichert.Roboter gehören in die Fertigungshallen, nicht ins Büro! Oder doch nicht?.- Der Leuchtturm-Robot – welche Schritte sind notwendig zur Einführung des ersten Robots?.- Der Rollout – wie führe ich RPA flächendeckend im Unternehmen ein?.- Wo kann die Reise hingehen und wann werden die Zukunftsvisionen im Bereich Business Process Automation real?.