Programmierung
PHP 8 Basics
Take advantage of PHP 8's powerful features to create basic web applications, solve code tests (required for most job interviews nowadays), and begin moving towards more advanced PHP concepts. This book provides an introduction to PHP 8, including modules, attributes, JIT compiler, and union types, as well as related frameworks such as Symfony.You will explore fundamental PHP concepts through both practical and hands-on examples. You'll not only gain a solid understanding of PHP fundamentals, but will also be prepared to handle new concepts and technologies as they emerge.After working through the book and its associated demo code, you will be able to build your first basic web application.WHAT YOU WILL LEARN* Develop web applications with PHP 8* Use Vagrant, Docker, JSON API and more* Work with data, form data, arrays, objections, exceptions, regex, and more* Utilize PHP frameworks like Laravel and SymfonyWHO THIS BOOK IS FORThose new to PHP 8 or PHP in general. Some prior experience in web development and DB handling is recommended.GUNNARD ENGEBRETH began coding at the age of 11 through a “Learning BASIC” book given to him by his father. Technology was changing fast and Gunnard rode the wave from 1200 to 56k baud modems. Logging in to BBSs, Prodigy, Compuserve, Delphi and IRC he could see the world changing and he wanted to be a part of it. He soon got involved in the ansi/demo scene, making several application generators for many groups in the 90’s. Visual Basic was the next language of choice allowing him to develop “tools” for online systems such as AOL. This introduced many aspects of development, security and UI while they were still in their infancy. Once the WWW arrived via Mindspring in Atlanta, Ga. Gunnard quickly joined in the race for the web. Learning HTML, PERL and Linux (Slackware at the time) he began to build his skill-set which lead to a full-time Sysadmin position at the age of 20 (2000) at Activegrams/Silverpop. Gunnard has moved around the IT industry from SAN/NAS storage at IBM to custom Wordpress sites for marketing companies, but one thing has stayed the same, a passion for learning and problem solving. Gunnard also DJ’s Drum and Bass as Section31, Playing drums and baking bread.SATEJ KUMAR SAHU works in the role of Senior Enterprise Architect at Honeywell. He is passionate about technology, people, and nature. He believes through technology and conscientious decision making, each of us has the power to make this world a better place. In his free time, he can be found reading books, playing basketball, and having fun with friends and family.Chapter 1: Getting StartedChapter 2: PHP FundimentalsChapter 3: Functions and ClassesChapter 4: DataChapter 5: Form dataChapter 6: ArraysChapter 7: Cookies and SessionsChapter 8: ObjectsChapter 9: Exceptions, Validation, Regular expressionsChapter 10: PHP & MySQL working togetherChapter 11: Basic Database DesignChapter 12: Creating a DB with PHP and MYsqlChapter 13: Basic Website with DBChapter 14: Basic JSON APIChapter 15: Intro to PHP FrameworksChapter 16: Intro to LaravelChapter 17: Intro to SymfonyChapter 18: Basic Symfony applicationChapter 19: Symfony Json APIChapter 20: Intro to Zend / Laminas ProjectChapter 21: Basic Zend / Laminas Project applicationChapter 22: Zend / Laminas Project JSON APIChapter 23: Intro to Slim PHPChapter 24: Basic Slim PHP applicationChapter 25: Slim PHP JSON APIChapter 26 or appendix: Wordpress developmentChapter 27 or appendix: Shopify development
Introducing ReScript
This book serves as a succinct guide on ReScript, a functional language for building web applications. Using examples of ReScript language features along with explanations of fundamental concepts in functional programming, this book will show web developers with a background in JavaScript how to effectively use ReScript to its full potential.In Introducing ReScript, you'll learn how to use features in ReScript that JavaScript lacks, such as type inference, null-safety, algebraic data types, pattern matching, and more. Along the way, you'll pick up functional programming concepts like immutability and higher-order functions. You'll also gain a sense of how ReScript works under the hood and how to leverage interoperability between ReScript and JavaScript.Whether you're a web developer interested in dabbling with functional programming or you just want to learn how to write safer and cleaner code for web applications, this book is a great way for you to get started with ReScript.WHAT YOU WILL LEARN* Use ReScript to write clean, safe, and elegant software* Understand the features of ReScript that set it apart from JavaScript, such as type inference, null-safety, and algebraic data types* Explore functional programming concepts like immutabhigher-orderr order functions, and pattern matching* Use popular JavaScript libraries and frameworks in your ReScript code and integrate ReScript code into JavaScript codebasesWHO THIS BOOK IS FORWeb developers that want a strictly typed, safer alternative to JavaScript, as well as web developers interested in learning functional programming and leveraging the elegant and powerful functional features in ReScript.Danny Yang is a professional software engineer at Meta working on infrastructure for WhatsApp. He has previously worked on Facebook Messenger, including the web interface which was written in ReScript. His technical interests include functional programming, compilers, and data visualization, which he writes about on his blog.Chapter 1, IntroChapter Goal: Learn what functional programming is, and the background of the ReScript language● What is ReScript?● Why should you learn ReScript?● What is functional programming?● Why should you learn functional programming?Chapter 2, BasicsChapter Goal: Learn the basic features of ReScript, like expressions and operators- Development environment setup- Hello, World in ReScript- Expressions- Operators- If expressions- Let expressions- Printing and debuggingChapter 3, FunctionsChapter Goal: learn how functions work in ReScript- Defining a function- Applying a function- Polymorphic functions- Anonymous functionsChapter 4, Lists and ArraysChapter Goal: learn the data structures for ordered data in ReScript, learn about immutable data structures- Building a list- Accessing a list- Mutating a list- Arrays and mutability- IterationChapter 5, Records and ObjectsChapter Goal: learn the ways to represent composite data types in ReScript- Records- ObjectsChapter 6, Pattern Matching and DestructuringChapter Goal: learn one of ReScript's most powerful features and how to work with the shape of your data- Pattern matching/switch- Destructuring with let- Destructuring in functionsChapter 7, Algebraic Data TypesChapter Goal: learn how represent complex data in ReScript's type system- Variants- Polymorphic Variants- Options- TuplesChapter 8, Higher Order ProgrammingChapter Goal:- Higher order functions- Map- Filter- Reduce- Generalizing to other data structures- Piping- CurryingChapter 9, ModulesChapter Goal: Introduce modules in ReScript, and how they can be used for higher order programming- What are modules- Scope/visibility- Signature- Import/Export- FunctorsChapter 10, Using ReScript in ProductionChapter Goal: learn about ReScript's interoperability with JavaScript- Calling ReScript from JavaScript- Calling JavaScript from ReScript- Embedding JavaScript in ReScript- Working with DOM- Working with JSON- Runtime representation
Productionizing AI
This book is a guide to productionizing AI solutions using best-of-breed cloud services with workarounds to lower costs. Supplemented with step-by-step instructions covering data import through wrangling to partitioning and modeling through to inference and deployment, and augmented with plenty of Python code samples, the book has been written to accelerate the process of moving from script or notebook to app.From an initial look at the context and ecosystem of AI solutions today, the book drills down from high-level business needs into best practices, working with stakeholders, and agile team collaboration. From there you’ll explore data pipeline orchestration, machine and deep learning, including working with and finding shortcuts using artificial neural networks such as AutoML and AutoAI. You’ll also learn about the increasing use of NoLo UIs through AI application development, industry case studies, and finally a practical guide to deploying containerized AI solutions.The book is intended for those whose role demands overcoming budgetary barriers or constraints in accessing cloud credits to undertake the often difficult process of developing and deploying an AI solution.WHAT YOU WILL LEARN* Develop and deliver production-grade AI in one month* Deploy AI solutions at a low cost* Work around Big Tech dominance and develop MVPs on the cheap* Create demo-ready solutions without overly complex python scripts/notebooksWHO THIS BOOK IS FOR:Data scientists and AI consultants with programming skills in Python and driven to succeed in AI.BARRY WALSH is a software-delivery consultant and AI trainer at Pairview with a background in exploiting complex business data to optimize and de-risk energy assets at ABB/Ventyx, Infosys, E.ON, Centrica, and his own start-up ce.tech. He has a proven track record of providing consultancy services in Data Science, BI, and Business Analysis to businesses in Energy, IT, FinTech, Telco, Retail, and Healthcare, Barry has been at the apex of analytics and AI solutions delivery for 20 years. Besides being passionate about Enterprise AI, Barry spends his spare time with his wife and 8-year-old son, playing the piano, riding long bike rides (and a marathon on a broken toe this year), eating out whenever possible or getting his daily coffee fix.Chapter 1: Introduction to AI & the AI EcosystemChapter Goal: Embracing the hype and the pitfalls, introduces the reader to current and emerging trends in AI and how many businesses and organisations are struggling to get machine and deep learning operationalizedNo of pages: 30Sub -Topics1. The AI ecosystem2. Applications of AI3. AI pipelines4. Machine learning5. Neural networks & deep learning6. Productionizing AIChapter 2: AI Best Practise & DataOpsChapter Goal: Help the reader understand the wider context for AI, key stakeholders, the importance of collaboration, adaptability and re-use as well as DataOps best practice in delivering high-performance solutionsNo of pages: 20Sub - Topics1. Introduction to DataOps and MLOps2. Agile development3. Collaboration and adaptability4. Code repositories5. Module 4: Data pipeline orchestration6. CI / CD7. Testing, performance evaluation & monitoringChapter 3: Data Ingestion for AIChapter Goal: Inform on best practice and the right (cloud) data architectures and orchestration requirements to ensure the successful delivery of an AI project.No of pages : 20Sub - Topics: 1. Introduction to data ingestion2. Data stores for AI3. Data lakes, warehousing & streaming4. Data pipeline orchestrationChapter 4: Machine Learning on CloudChapter Goal: Top-down ML model building from design thinking, through high level process, data wrangling, unsupervised clustering techniques, supervised classification, regression and time series approaches before interpreting results and algorithmic performanceNo of pages: 20Sub - Topics:1. ML fundamentals2. EDA & data wrangling3. Supervised & unsupervised machine learning4. Python Implementation5. Unsupervised clustering, pattern & anomaly detection6. Supervised classification & regression case studies: churn & retention modelling, risk engines, social media sentiment analysis7. Time series forecasting and comparison with fbprophetChapter 5: Neural Networks and Deep LearningChapter Goal: Help the reader establish the right artificial neural network architecture, data orchestration and infrastructure for deep learning with TensorFlow, Keras and PyTorch on CloudNo of pages: 40Sub - Topics:1. An introduction to deep learning2. Stochastic processes for deep learning3. Artificial neural networks4. Deep learning tools & frameworks5. Implementing a deep learning model6. Tuning a deep learning model7. Advanced topics in deep learningChapter 6: The Employer’s Dream: AutoML, AutoAI and the rise of NoLo UIsChapter Goal: Building on acquired ML and DL skills, learn to leverage the growing ecosystem of AutoML, AutoAI and No/Low code user interfacesNo of pages: 20Sub - Topics:1. AutoML2. Optimizing the AI pipeline3. Python-based libraries for automation4. Case Studies in Insurance, HR, FinTech & Trading, Cybersecurity and Healthcare5. Tools for AutoAI: IBM Cloud Pak for Data, Azure Machine Learning, Google Teachable MachinesChapter 7: AI Full Stack: Application DevelopmentChapter Goal: Starting from key business/organizational needs for AI, identify the correct solution and technologies to develop and deliver “Full Stack AI”No of pages: 20Sub - Topics:6. Introduction to AI application development7. Software for AI development8. Key Business applications of AI:• ML Apps• NLP Apps• DL Apps4. Designing & building an AI applicationChapter 8: AI Case StudiesChapter Goal: A comprehensive (multi-sector, multi-functional) look at the main AI use uses in 2022No of pages: 20Sub - Topics:1. Industry case studies2. Telco solutions3. Retail solutions4. Banking & financial services / fintech solutions5. Oil & gas / energy & utilities solutions6. Supply chain solutions7. HR solutions8. Healthcare solutions9. Other case studiesChapter 9: Deploying an AI Solution (Productionizing & Containerization)Chapter Goal: A practical look at “joining the dots” with full-stack deployment of Enterprise AI on CloudNo of pages: 20Sub - Topics:1. Productionizing an AI application2. AutoML / AutoML3. Storage & Compute4. Containerization5. The final frontier…
Practical Spring Cloud Function
Unlike other resources that target only programming communities, this book targets both programming and business communities. With programming models shifting more towards no-code and low-code, citizen programmers from the business side will welcome this book as a guide for how to design and optimize their information pipeline while lowering costs for infrastructure. Programmers, on the other hand, will welcome this book's business-centric programming view, which will get them a step closer to fulfilling real business requirements.Practical Spring Cloud Function touches on the themes of portability, scalability, high performance and high availability. Each theme is explored via a real enterprise use case and code. The use cases target industries including energy (oil pipeline sensors), automotive (event-driven connected vehicles), and retail (conversational AI).After reading this book, you'll come away with the know-how to build and deploy cloud-native Java applications effectively and efficiently.WHAT YOU WILL LEARN* Write functions and deploy to Amazon Web Services, Microsoft Azure, Google Cloud, IBM Cloud, and on-prem clouds such as VMWare Tanzu and RedHat OpenShift* Set up locally with KNative on Kubernetes, as well as on AWS, Azure, GCP, Tanzu, and others* Build, test, and deploy a simple example with Spring Cloud Function* Develop an event-driven data pipeline with Spring Cloud Function* Integrate with AI and machine learning models* Apply Spring Cloud Function to the Internet of Things (IoT)* Get industry-specific examples of Spring Cloud Function in actionWHO THIS BOOK IS FORSoftware and cloud-native application developers with prior programming experience in the cloud and/or Spring Framework. DevOps professionals may find this book beneficial as well.Banu Parasuraman is a Cloud Native Technologist with over 30 years of experience in the IT industry. He provides an advisory role to clients who are looking to move to cloud or implement cloud-native platforms such as Kubernetes, Cloud Foundry and the like. He has engaged over 25 select companies spread across different sectors (Retail, Healthcare, Logistics, Banking, Manufacturing, Automotive, Oil & Gas, Pharmaceuticals, Media & Entertainment ...) in USA, Europe and Asia have interacted at every level of an organization. Banu is a key evangelist for Cloud-Native computing encouraging client and architects to undertake this journey as soon as possible to avoid organizational inertia later. He is experienced in most of the popular cloud platforms such as VMWare-VCF, Pivotal-PCF, IBM-OCP, Google-GCP, Amazon-AWS, Microsoft-Azure. Banu has taken part in external speaking engagements targeted at CXOs and Engineers: VMworld, SpringOne, Spring Days, Spring Developer Forum Meetups. Internal speaking engagements: Developer Workshops on Cloud Native Architecture and Development, Customer Workshops on Pivotal Cloud Foundry, enabling Cloud Native sales plays and strategies for sales and teams. Lastly, Banu has numerous blogs on platforms such a Medium and Linkedin to promote adoption of Cloud Native architecture and development.1. Why Spring Cloud FunctionsThis chapter takes the reader through the need for Spring Cloud Functions and KNative. The rationale for Spring Cloud Functions will be elucidated through example implementation on on-prem and cloud infrastructures. The chapter highlights the “code once deploy anywhere” characteristic of Spring Cloud Functions.Subtitles1. Writing functions and deploying to any hyperscaler2. Example code3. Spring Cloud Functions on AWS (EKS, Fargate)4. Spring Cloud Functions on Azure (AKS)5. Spring Cloud Functions on Google (Cloud Run)6. Spring Cloud Functions on VMWare Tanzu (TKG, PKS)7. Spring Cloud Functions on RedHat OpenShift (OCP)2. Getting Started with Spring Cloud FunctionsThis chapter walks the reader through the steps required to get started with Spring Serverless on their platform of choice, either locally, on-prem or on the cloud. Step by Step instructions take the reader through the process of getting the environment set up for coding.Subtitles1. Step by Step: Setup locally with Kubernetes and KNative with Spring Cloud Functions2. Step by Step: Setup on AWS with EKS and KNative with Spring Cloud Functions3. Step by Step: Setup on GCP with Cloud Run/GKE and KNative with Spring Cloud Functions4. Step by Step: Setup on Azure with AKS and KNative with Spring Cloud Functions5. Step by Step: Setup on VMWare Tanzu TKG and KNative6. Step by Step: Setup on RedHat Openshift and KNative3. Coding, testing, and deploying with Spring Cloud FunctionsThis chapter covers the coding, testing, and deploying using your favorite IDE like Eclipse, Eclipse Che, Intelij IDEA, Redhat Code Ready Workspace. The reader will build an example and deploy to their favorite platforma. Building a simple example with Spring Cloud Functionsb. Testing the example will sample datac. Setting up a CI/CD pipeline for deploying to a target platformd. Deploying to the target platfomi. AWSii. GCPiii. Azureiv. VMWare Tanzuv. RedHat Openshift4. Building Event Driven Data pipelines with Spring Cloud FunctionsEvent Driven data pipelines act as a conduit to flow of data based on a specific event. The event can be a purchase order triggered on the website that initiate a data flow chain that includes aggregation of data from various data sources and splitting the data to various consumers. This chapter will discuss the various ways that Spring Spring Serverless can be implemented in the various Cloud providersSubtitles1. Spring Cloud Functions and Spring Cloud Data Flow and Spring Cloud Streams2. Spring Cloud Functions and AWS Glue3. Spring Cloud Functions and Google Cloud Data Flow4. Spring Cloud Functions and Azure Data Factory5. AI/ML Trained Serverless Endpoints with Spring Cloud FunctionsConversational AI models are one of the complex implementations that may lead to heavy use of resources in the cloud. Leveraging Serverless infra and functions can help alleviate the costs by being invoked only when needed. This chapter will help layout the blueprint of how to leverage Spring Serverless with on-prem or cloud-based AI/ML environmentsSubtitles1. Spring Cloud Functions with Google Cloud Functions and Tensor Flow2. Spring Cloud Functions with AWS Glue and AWS Sage or AI/ML3. Spring Cloud Functions with Azure Data Factory and Azure ML4. Spring Cloud Functions with Apache AI/ML on-prem VMWare Tanzu and Openshift6. Spring Cloud Functions and IOTThis chapter will take the reader through blueprints and architect diagrams of how Spring serverless works in conjunction with IOT on various Hyperscalers (Cloud Providers) or SaaS IOT Gateway providers.Subtitles1. Spring Cloud Functions on the Cloud with AWS IOT2. Spring Cloud Functions on the cloud with Azure IOT3. Spring Cloud Functions on the cloud with GCP IOT4. Spring Cloud Functions on-prem with IOT gateway on a SaaS provider (Eg, SmartSense)7. Industry specific examples with Spring Cloud FunctionsThis chapter will provide industry specific examples and use cases that will help the reader understand how Spring Serverless can be leveraged within their specific business use case1. Oil/ Natural gas pipeline tracking with Spring Cloud Functions, IOT and Spring Cloud Data Flow2. Enabling ubiquitous health care with Spring Cloud Functions and Big Data Pipelines3. Connected vehicles with Spring Cloud Functions4. Conversational AI in Retail with Spring Cloud Functions
Kubernetes Programming with Go
This book begins by introducing the structure of the Kubernetes API and which operations it serves. Following chapters demonstrate how to write native Kubernetes resources definitions using Go structures defined in the API and API Machinery libraries. Miscellaneous utilities are described to help you work with different resource fields and to convert your resource definitions to or from YAML or JSON. Next, you will learn how to interact with the Kubernetes API server to create, delete, update, and monitor resources in a cluster using the client-go library. A complete chapter is devoted to tools provided to test your programs using the client-go library. An example follows to wrap up the first part of the book, describing how to write a kubectl plugin. Next, you will learn how to extend the Kubernetes API using Custom Resource Definitions, and how to write Kubernetes resources in a generic way as well as how to create your own resources using the unstructured concept. The next chapters delve into the controller-runtime library, useful for extending Kubernetes by writing operators, and the kubebuilder framework, which leverages this library, to help you start writing operators in minutes.After reading this book, you will have a deep understanding of the Kubernetes API’s structure and how Kubernetes resources are organized within it, and have at your disposal a complete toolbox to help you write Kubernetes clients and operators.WHAT YOU WILL LEARN* Understand how the Kubernetes API and its resources are organized* Write Kubernetes resources in Go* Create resources in a cluster* Leverage your newly-gained knowledge to write Kubernetes clients and operatorsWHO IS THIS BOOK FOR:Software engineers and (Site Reliability Engineers) SREs wishing to write Kubernetes clients and operators using the Go language.Philippe Martin has been working with Kubernetes for five years, first by creating an operator to deploy video CDNs into the cloud, later helping companies deploy their applications into Kubernetes, then writing a client to help developers work in a Kubernetes environment. Philippe passed the CKAD, CKA and CKS certifications.He has long experience with distributed systems and open-source software: he started his career 20 years ago creating thin clients based on the Linux kernel and open source components. He is currently working at Red Hat on the Development Tools team.Philippe is active in the development of Kubernetes, especially its documentation, and participates in the translation of the official documentation into French, has edited two reference books about the Kubernetes API and kubectl, and is responsible for the French translation of the Kubernetes Dashboard. He participated in Google Season of Docs to create the new Kubernetes API Reference section of the official documentation, and is maintaining it. He is currently participating in the Apps SIG, a group that covers deploying and operating applications in Kubernetes.Chapter 1: Kubernetes API Introduction.Chapter 2: Kubernetes API Operations.Chapter 3: Working with API Resources in Go.Chapter 4: Using Common types.Chapter 5: The API Machinery.Chapter 6: The Client-go library.Chapter 7: Testing Applications using Client-Go.Chapter 8: Extending Kubernetes API with Custom Resources Definitions.Chapter 9: Working with Custom Resources.Chapter 10: Writing Operators with the controller-runtime Library.Chapter 11: Writing the Reconcile Loop.Chapter 12: Testing the Reconcile Loop.Chapter 13: Creating an Operator with Kubebuilder.
Pro Android with Kotlin
Develop Android apps with Kotlin to create more elegant programs than the Java equivalent. This revised book covers the various aspects of a modern Android app that professionals are expected to encounter. You'll use the latest Kotlin APIs as made available in most recent versions of the Android SDK.There are chapters dealing with all the important aspects of the Android platform, including GUI design, file- and data-handling, coping with phone calls, multimedia apps, interaction with location and mapping services, monetizing apps, and much more. Jetpack will also be covered. It is a suite of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices.Pro Android with Kotlin, Second Edition is an invaluable source for developers wanting to build real-world, state-of-the-art Android apps for modern Android devices using the Kotlin programming language and its APIs as available in the modern Android SDK. After reading this book, you'll come away with the skills and techniques to build modern Android apps that you can sell on Google Play. Free source code is available on this book's Github page as well.WHAT YOU WILL LEARN* Integrate activities, such as intents, services, notifications and more, into your Android apps* Build UIs in Android using layouts, widgets, lists, menus, and action bars* Deal with data in your Android apps using data persistence and cloud access* Design for different Android devices* Create multimedia apps in Android* Secure, deploy, and monetize your Android appsWHO THIS BOOK IS FORProfessional Android app developers.PETER SPÄTH graduated in 2002 as a physicist and soon afterward became an IT consultant, mainly for Java related projects. In 2016 he decided to concentrate on writing books on various subjects, with a primary focus on software development. With a wealth of experience in Java-related languages, the release of Kotlin for building Android Apps made him enthusiastic about writing books for Kotlin development in the Android environment. 1. System.- 2. Application.- 3. Activities.- 4. Services.- 5. Broadcasts 6. Content Providers.- 7. Permissions.- 8. APIs.- 9. User Interface.- 10. Development.- 11. Building.- 12. Communication.- 13. Hardware.- 14. Testing.- 15. Troubleshooting.- 16. Distributing Apps.- 17. Instant Apps.- 18. CLI.
Time Series Algorithms Recipes
This book teaches the practical implementation of various concepts for time series analysis and modeling with Python through problem-solution-style recipes, starting with data reading and preprocessing.It begins with the fundamentals of time series forecasting using statistical modeling methods like AR (autoregressive), MA (moving-average), ARMA (autoregressive moving-average), and ARIMA (autoregressive integrated moving-average). Next, you'll learn univariate and multivariate modeling using different open-sourced packages like Fbprohet, stats model, and sklearn. You'll also gain insight into classic machine learning-based regression models like randomForest, Xgboost, and LightGBM for forecasting problems. The book concludes by demonstrating the implementation of deep learning models (LSTMs and ANN) for time series forecasting. Each chapter includes several code examples and illustrations.After finishing this book, you will have a foundational understanding of various concepts relating to time series and its implementation in Python.WHAT YOU WILL LEARN* Implement various techniques in time series analysis using Python.* Utilize statistical modeling methods such as AR (autoregressive), MA (moving-average), ARMA (autoregressive moving-average) and ARIMA (autoregressive integrated moving-average) for time series forecasting * Understand univariate and multivariate modeling for time series forecasting* Forecast using machine learning and deep learning techniques such as GBM and LSTM (long short-term memory)WHO THIS BOOK IS FORData Scientists, Machine Learning Engineers, and software developers interested in time series analysis.AKSHAY KULKARNI IS an AI and machine learning (ML) evangelist and a thought leader. He has consulted several Fortune 500 and global enterprises to drive AI and data science-led strategic transformations. He has been honoured as Google Developer Expert, and is an Author and a regular speaker at top AI and data science conferences (including Strata, O’Reilly AI Conf, and GIDS). He is a visiting faculty member for some of the top graduate institutes in India. In 2019, he has been also featured as one of the top 40 under 40 Data Scientists in India. In his spare time, he enjoys reading, writing, coding, and helping aspiring data scientists. He lives in Bangalore with his family.ADARSHA SHIVANANDA IS a Data science and MLOps Leader. He is working on creating worldclass MLOps capabilities to ensure continuous value delivery from AI. He aims to build a pool of exceptional data scientists within and outside of the organization to solve problems through training programs, and always wants to stay ahead of the curve. He has worked extensively in the pharma, healthcare, CPG, retail, and marketing domains. He lives in Bangalore and loves to read and teach data science.ANOOSH KULKARNI is a data scientist and a Senior AI consultant. He has worked with global clients across multiple domains and helped them solve their business problems using machine learning (ML), natural language processing (NLP), and deep learning.. Anoosh is passionate about guiding and mentoring people in their data science journey. He leads data science/machine learning meet-ups and helps aspiring data scientists navigate their careers. He also conducts ML/AI workshops at universities and is actively involved in conducting webinars, talks, and sessions on AI and data science. He lives in Bangalore with his family.V ADITHYA KRISHNAN is a data scientist and ML Ops Engineer. He has worked with various global clients across multiple domains and helped them to solve their business problems extensively using advanced Machine learning (ML) applications. He has experience across multiple fields of AI-ML, including, Time-series forecasting, Deep Learning, NLP, ML Operations, Image processing, and data analytics. Presently, he is working on a state-of-the-art value observability suite for models in production, which includes continuous model and data monitoring along with the business value realized. He also published a paper at an IEEE conference, “Deep Learning Based Approach for Range Estimation," written in collaboration with the DRDO. He lives in Chennai with his family.Chapter 1: Getting Started with Time Series.Chapter Goal: Exploring and analyzing the timeseries data, and preprocessing it, which includes feature engineering for model building.No of pages: 25Sub - Topics1 Reading time series data2 Data cleaning3 EDA4 Trend5 Noise6 Seasonality7 Cyclicity8 Feature Engineering9 StationarityChapter 2: Statistical Univariate ModellingChapter Goal: The fundamentals of time series forecasting with the use of statistical modelling methods like AR, MA, ARMA, ARIMA, etc.No of pages: 25Sub - Topics1 AR2 MA3 ARMA4 ARIMA5 SARIMA6 AUTO ARIMA7 FBProphetChapter 3: Statistical Multivariate ModellingChapter Goal: implementing multivariate modelling techniques like HoltsWinter and SARIMAX.No of pages: 25Sub - Topics: 1 HoltsWinter2 ARIMAX3 SARIMAXChapter 4: Machine Learning Regression-Based Forecasting.Chapter Goal: Building and comparing multiple classical ML Regression algorithms for timeseries forecasting.No of pages: 25Sub - Topics:1 Random Forest2 Decision Tree3 Light GBM4 XGBoost5 SVMChapter 5: Forecasting Using Deep Learning.Chapter Goal: Implementing advanced concepts like deep learning for time series forecasting from scratch.No of pages: 25Sub - Topics:1 LSTM2 ANN3 MLP
Beginning Cloud Native Development with MicroProfile, Jakarta EE, and Kubernetes
Get ready to develop microservices using open source Eclipse MicroProfile and Jakarta EE, and deploy them on Kubernetes/Docker. This book covers best practices for developing cloud-native applications with MicroProfile and Jakarta EE.This book introduces you to cloud-native applications and teaches you how to set up your development environment. You'll learn about the various components of MicroProfile, such as fault tolerance, config, health check, metrics, and JWT auth. You'll develop a RESTful web service made up of some microservices. You'll deploy your application on Docker and Kubernetes.After reading this book, you'll come away with the fundamentals you need to build and deploy your first cloud-native Java-based app.WHAT YOU'LL LEARN* Build your first cloud-native Java-based app with the open source MicroProfile platform, and Jakarta EE 10 APIs * Develop a RESTful web service using MicroProfile and Jakarta EE* Discover and explore the key components of the MicroProfile framework, such as config, metrics, health, JWT authentication, and more* Deploy your cloud-native application on the Kubernetes container orchestration platform* Get up to speed with other popular technologies such as Docker containers, Kubernetes clusters, and ZipkinWHO THIS BOOK IS FORProgrammers with at least some prior experience in Java programming who may be new to MicroProfile and Jakarta EE. Some prior experience with Java-based microservices and web development is recommended, but not required.TARUN TELANG is a hands-on technologist with extensive experience in architecture and implementing multi-tiered, highly scalable software applications. He has more than 17 years of expertise developing software applications for well-known companies such as Microsoft, Oracle, and SAP.In 2005, Tarun worked on configuration and management in several enterprise solutions for SAP using the Java Management Extensions (JMX) technology. He also gained expertise in various integration technologies, such as SOAP, XML, and JSON, and used them to develop solutions to handle message-oriented communications across numerous systems. In 2007, Tarun was named SAP Mentor and Community Influencer for his articles and blog posts on emerging technologies and for promoting innovative solutions in the SAP Developer Community.Tarun has the following certifications: Oracle Certified Programmer for Java 6.0 Platform, SAP Certified Development Consultant for NetWeaver 04 Java Web Application Development, SAP Certified Application Management Expert for End-to-End Root Cause Analysis - Solution Manager 4.0, and NASBA Certification on Remote Work.Tarun is an expert in web, mobile, and cloud technologies. He has developed many end-to-end cloud-based solutions using various architectural patterns, including Microservices, RESTful web services, and Service Oriented Architecture.For more than 15 years, Tarun has been actively publishing technical articles and blogs on various software technologies. He frequently writes articles on Java and related technologies. He has also authored multiple books on Java and Jakarta EE 10.Having worked in Canada and Germany, Tarun currently resides in Hyderabad, India, with his wife and child. You can follow him on Twitter at @taruntelang or visit his LinkedIn Profile.Tarun loves mentoring software professionals and programmers, and teaching them about current industry trends and best practices. His blogs at blogs.taruntelang.me are excellent resources for everything related to Java technology.1. Introduction to Cloud-Native Applications1.1. What are Cloud-Native Applications?1.2. Why Use Cloud-Native Applications?1.3. What are the Benefits of Using Cloud-Native Applications?2. Setting Up Your Development Environment2.1. Prerequisites2.2. Installing Java SE 172.3. Installing Kubernetes2.4. Installing Docker3. Creating a Config Component3.1. What is a Config Component?3.2. Setting Up the Config Component3.3. Accessing the Configuration Data in Your Application4. Using the Fault Tolerance Component4.1. What is the Fault Tolerance Component?4.2. Configuring the Fault Tolerance Component4.3. Handling Failures in Your Application5. Using the Health Check Component5.1. What is the Health Check Component?5.2. Configuring the Health Check Component5.3. Checking the Health of Your Application6. Using the Metrics Component6.1. What is the Metrics Component?6.2. Collecting Metrics Data in Your Application7. Using the JWT Authentication Component7.1. What is the JWT Authentication Component?7.2. Configuring the JWT Authentication Component7.3. Authenticating Users in Your Application8. Developing a RESTful Web Service8.1. What is a RESTful Web Service?8.2. Developing a RESTful Web Service8.3. Implementing the HTTP Methods9. Deploying an Application on Kubernetes/Docker9.1. What is Kubernetes?9.2. What is Docker?9.3. Installing Kubernetes9.4. Creating a Kubernetes Cluster9.5. Installing Docker on Kubernetes9.6. Deploying an Application on Kubernetes/Docker9.7. Benefits of using Jakarta EE and Kubernetes/Docker for developing cloud-native applications.
Exploring Blazor
Build and develop web applications with Blazor in C#. This book covers both server-side and client-side Blazor, along with its latest features and the structure of the technology. You’ll see that Blazor is a web UI framework based on C#, Razor, and HTML, and how it runs front-end logic using C#, either on the server or on the browser, using WebAssembly.This new edition not only covers the new structure for the Blazor environment, it also demonstrates the latest features, such as adding API features to a Blazor server project; creating code-behind files for C# and CSS; new ways to pick, save, and handle files in Blazor; and much more. The code and project layout have been updated in .NET 7 for this new edition.The book starts with an introduction to Blazor, along with its various categories and its basics and syntax, including Razor syntax implementation. You will go through Blazor navigation and components, and learn its life cycle events and other components. You will learn features specific to each Blazor type. You will see how Blazor works with storage, files, and JavaScript, and you will create a Blazor code library. You will also create web applications in Blazor using practical implementations and real-life scenarios for both the server side and the client side.After reading this book, you will be able to build web applications with Blazor in C#11 and .NET Core 7.0.WHAT YOU WILL LEARN* Bind data and handle events in C# Blazor* Handle components and page navigation in Blazor* Connect Blazor front-end to APIs* Interact with files using Blazor* Understand the layout of Visual Studio Blazor project templates WHO THIS BOOK IS FORC# and .NET Core developers.TAURIUS LITVINAVICIUS is a businessman and technology expert based in Lithuania who has worked with organizations in building and implementing various projects in software development, sales, and other fields of business. He currently works on modern financial applications and consults companies on technology and cost-related issues. As with most of his projects, this book uses cutting-edge technologies, such as Blazor. Taurius is responsible for technological improvements, development of new features, and general management.CHAPTER 1 – INTRODUCTION1. What is Blazor2. Blazor typesCHAPTER 2 – SYNTAX AND BASICS OF BLAZOR1. Syntax2. Binding data3. Events and event argumentsCHAPTER 3 – BLAZOR COMPONENTS AND NAVIGATION1. Pages and navigation2. Lifecycle events3. Components4. Custom events in componentsCHAPTER 4 – SPECIFICS OF DIFFERENT TYPES OF BLAZOR1. Injection (Blazor server-side)2. Static values in Blazor server-side3. Calling APIs (Blazor client-side)4. Adding API Controller (Blazor server-side)5. Cleaning project templates in Visual studioCHAPTER 5 – GENERAL BLAZOR1. Interact with Javascript2. Code-behind files3. Local storage4. Pick and save files5. Creating Blazor code library6. Background tasksCHAPTER 6 – PRACTICE TASKS (SERVER -SIDE BLAZOR)1. Task 12. Task 2CHAPTER 7 – PRACTICE TASKS (CLIENT -SIDE BLAZOR)3. Task 14. Task 25. Task 3
Beginner's Guide to Streamlit with Python
This book will teach you the basics of Streamlit, a Python-based application framework used to build interactive dashboards and machine learning web apps. Streamlit reduces development time for web-based application prototypes of data and machine learning models. As you’ll see, Streamlit helps develop data-enhanced analytics, build dynamic user experiences, and showcases data for data science and machine learning models.Beginner's Guide to Streamlit with Python begins with the basics of Streamlit by demonstrating how to build a basic application and advances to visualization techniques and their features. Next, it covers the various aspects of a typical Streamlit web application, and explains how to manage flow control and status elements. You’ll also explore performance optimization techniques necessary for data modules in a Streamlit application. Following this, you’ll see how to deploy Streamlit applications on various platforms. The book concludes with a few prototype natural language processing apps with computer vision implemented using Streamlit.After reading this book, you will understand the concepts, functionalities, and performance of Streamlit, and be able to develop dynamic Streamlit web-based data and machine learning applications of your own.WHAT YOU WILL LEARN* How to start developing web applications using Streamlit* What are Streamlit's components * Media elements in Streamlit* How to visualize data using various interactive and dynamic Python libraries* How to implement models in Streamlit web applicationsWHO THIS BOOK IS FORProfessionals working in data science and machine learning domains who want to showcase and deploy their work in a web application with no prior knowledge of web development. Sujay Raghavendra is an IT professional with a Master’s Degree in Information Technology. His research interests include machine learning, computer vision, NLP, and deep learning. He has been a consultant for multiple research centers in various universities. He has published many research articles in international journals and is the author of the book “Python Testing with Selenium” published by Apress. CHAPTER 1. INTRODUCTION TO STEAMLITChapter Goal: Introduce the reader to the Streamlit libraryNo of pages - 10Sub -Topics1. A brief introduction to Streamlit2. Pre-requisites and installation guide for Streamlit3. Creating our first Streamlit applicationCHAPTER 2. TEXTS & TABLE ELEMENTSChapter Goal: The text is one of the important features that will be discussed in this chapter.No of pages - 10Sub -Topics1. Write title, header, sub-header, markdown and a caption.2. Code text, latex and default text in an application.3. json, table, metric and dataframe in the application.CHAPTER 3. CHARTS / VISUALIZATIONChapter Goal: Visualization is one of the important aspects in data science and machine learning. The visualizing techniques helps to understand the data more appropriately. In this chapter, we will implement different visualizing techniques that are available in python for data science and machine learning developers.No of pages - 20Sub -Topics1. Implementing simple charts2. Visualizing data using interactive charts in the application.3. Implementing data into the maps.CHAPTER 4. DATA AND MEDIA ELEMENTSChapter Goal: In this chapter, we will learn how media elements can be used in the streamlit application.No of pages - 20Sub -Topics1. We will first try to implement simple charts to start with and display them on the application.2. Next, we will visualize data using interactive charts in the application.3. At last, we will see how we can use data into the maps.CHAPTER 5. BUTTONSChapter Goal: One more important feature from Streamlit are buttons. These buttons are used to select the required data to process or visualize in the application developed.No of pages - 20Sub -Topics1. Introduction to buttons2. Discuss various buttons like download button, checkbox, radio buttons and multiselect.3. Sliders to select specific range of data.CHAPTER 6. FORMSChapter Goal: This chapter mainly focusses on data that will be provided by the user to process data in the application. We will discuss user data in terms forms.No of pages - 20Sub -Topics1. Discuss various types input data like numbers and text.2. Discuss advanced input data like date, time, file uploads and color picker.3. Getting live image data from webcamCHAPTER 7. NAVIGATIONSChapter Goal: This chapter discusses about navigation on the application to be developed. The primary aim is to learn how to switch between multiple pages in an application using navigation.No of pages - 20Sub -Topics1. Discuss on navigation.2. Discuss the complex layouts associated with it.3. Discuss on containers that can be used to hold multiple elements in it.CHAPTER 8. CONTROL FLOW AND STATUSChapter Goal: We will discuss on custom handling of application using control flow in this chapter. We will also learn on status elements provided by streamlit.No of pages - 20Sub -Topics1. Handling functionality of the application using control flow.2. Flow control of application can be changed from its default flow.3. We will also check on the what are status elements? and their types available in Streamlit.CHAPTER 9. ADVANCED FEATURESChapter Goal: In this chapter, we will discuss on huge data handling, mutating data and optimizing performance of the Streamlit application.No of pages - 20Sub -Topics1. Handling huge data in the Streamlit Application developed for data science and machine learning.2. Implementing various optimizing techniques to improve performance of the application. 3. How to mutate data in live application.CHAPTER 10. PROJECT BUILDChapter Goal: Finally, we will discuss to build and run complete application on various platforms.No of pages - 10Sub -Topics1. Discuss various application platforms available.2. Pre-requisites to implement developed application on these platforms.3. Implement and run the project.4. Test application on deployment and create requirement files for it.CHAPTER 11. USE CASE: NLP PROJECT PROTOTYPEChapter Goal: This chapter discusses about navigation on the application to be developed. The primary aim is to learn how to switch between multiple pages in an application using navigation.No of pages - 10Sub -Topics1. Pre-requisites.2. NLP module that will be implemented in our application.3. Test application after deployment.CHAPTER 12. USE CASE: COMPUTER VISION PROJECT PROTOTYPEChapter Goal: We will develop a complete streamlit application on Computer Vision from scratch. We will see how all the features we have seen in the above chapters will be implemented in this applicationNo of pages - 10Sub -Topics1. Pre-requisite.2. Computer Vision techniques that needs to implemented.3. Test all functions implemented on our deployed application.
Introducing Spring Framework 6
Spring Framework 6 remains - by far - the leading de-facto "out of the box" practical Java meta application development framework for building complex enterprise, cloud-native applications as well as web applications and microservices. INTRODUCING SPRING FRAMEWORK 6 is your hands-on tutorial guide for learning the Spring Framework 6 from top to bottom, and allows you to build an example application along the way from the ground-up.As you learn the Spring Framework over the course of this book, you’llincrementally build your first Spring application piece-by-piece as you learn each module, project or component of the Spring Framework and its extensions and ecosystem. As you learn the various fundamentals, you'll then apply them immediately to your Spring application. This Spring application, My Documents, enables you to learn by doing.After reading this book, you will have the essentials you should need to start using the Spring Framework and building your own Java-based applications or microservices with it.What you'll learn:* Get started with Spring Framework 6 by VMWare Tanzu and the Spring community* Build your first My Documents application using Spring Framework and its extensions* Test your Spring application* Add persistence to your application using Spring Data JPA and more* Show your Spring application on the Web with Spring MVC and related* Use REST APIs to enhance your application and add messaging with Kafka and AMQP* Integrate your Spring application with external systems using Spring Integration toolkitWho is this book for:This book is for those aspiring software developers and programmers who are new to Spring. Some prior programming experience recommended, preferably in Java. Felipe Gutierrez is a Sr. Cloud Application Architect at IBM, currently. More generally, he is a Software Architect, Application Developer and Project Manager with knowledge on Financial, Educational, Government and Medical Industries. He is interested in Legacy and Enterprise Integration, and large projects. Felipe is dedicated to Enterprise Open Source Software. And, he is experienced on any Java Technology and Java Frameworks, such Spring, Spring Web Services, Spring Integration, Groovy and Grails, Hibernate, iBatis, ActiveMQ, Camel, RabbitMQ, FUSE, ServieMix, .NET Framework (Languages - VB, C#, Boo, C, and C++), Action Script (Flex, Flash) and Silverlight, Mono and Moonlight.JOSEPH B. OTTINGER is an expert software developer, coder and programmer. He has also served as technology evangelist GigaSpaces and a principle engineer at Red Hat. He was Editor in Chief of TheServerSide-dot-com. He is the author of Hibernate Recipes and Beginning Hibernate for Apress and has authored other books as well as articles.1. Your First Spring Application2. Working with Classes and Dependencies3. Applying Different Configurations4. Using Bean Scopes5. Working with Collections and Custom Types6. Using Resource Files7. Testing Your Spring Application8. Give Advice to Your Spring Application9. Adding Persistence to Your Spring Application with Spring Data JPA10. Showing Your Spring Application on the Web with Spring MVC and WebFlow11. Integrating Your Spring Application with External Systems: Spring Integration12. Exposing a REST API using Spring REST13. Adding E-mail and Scheduling Tasks14. Using Dynamic Languages15. Spring Data Within Your Spring Application16. Messaging with Your Spring Application: Spring AMQP and Kafka17. Be Social and Go Mobile18. Spring and Groovy19. Spring Boot, Simplifying Everything20. Using Spring Native and Reactive SpringA. Tools: IntelliJ IDEA and Eclipse Java IDE
C++ Das Übungsbuch (6. Auflage)
Das Buch wendet sich an Leser, die ihre C++-Kenntnisse durch »Learning by Doing« vertiefen möchten. Es ist ideal, um sich im Stil eines Workshops auf Prüfungen oder auf die Mitarbeit in einem C++-Projekt vorzubereiten.Alle Kapitel beginnen mit einer Zusammenfassung des Stoffes, zu dem anschließend Fragen und Aufgaben gestellt werden. Jedes Kapitel besteht neben der einführenden Beschreibung des Themas aus drei weiteren Teilen: Verständnisfragen, Programmieraufgaben und Musterlösungen zu allen Fragen und Aufgaben.Mit jeweils 20 Verständnisfragen können Sie testen, wie gut Sie sich in dem jeweiligen Themenbereich auskennen. Sie finden Ja-Nein- und Multiple-Choice-Fragen sowie Lückentexte, die vervollständigt werden müssen.Im Aufgabenteil können Sie dann Ihr Wissen praktisch umsetzen. In jedem Kapitel gibt es mindestens zehn Aufgaben mit steigendem Schwierigkeitsgrad. Dabei wurde stets darauf geachtet, dass diese typisch und praxisnah sind.Umfangreich kommentierte Musterlösungen am Ende eines Kapitels geben Ihnen ein direktes und ausführliches Feedback zu Ihren Lösungsansätzen.Der Aufbau dieses Übungsbuches lehnt sich an das Lehrbuch »C++ – Lernen und professionell anwenden« derselben Autoren an, das den neuesten ISO-Standard von 2020 (kurz C++20) berücksichtigt und ebenfalls im mitp-Verlag erschienen ist. Es ist aber für das Übungsbuch nicht wesentlich, auf welcher Grundlage Sie C++ gelernt haben.Nach dem Durcharbeiten des Übungsbuches verfügen Sie über fundierte Programmierkenntnisse und einen umfangreichen Fundus an Beispiel-Code.Aus dem Inhalt:Datentypen und KontrollstrukturenVerwendung von StandardklassenOperatoren, Makros, FunktionenVektoren und StringsZeiger und ReferenzenSpeicherreservierung zur LaufzeitKlassen, TeilobjekteDynamische ElementeVererbungPolymorphe Klassen, abstrakte KlassenÜberladen von Funktionen und OperatorenNamensbereicheAusnahmebehandlungDateiverarbeitung mit StreamsAutoren:Prof. Dr. Ulla Kirch unterrichtet an der FH München und Dr. Peter Prinz ist Software-Entwickler. Die Autoren haben bereits zahlreiche Bücher zu C und C++ geschrieben.Leseprobe (PDF-Link)
Building Enterprise IoT Solutions with Eclipse IoT Technologies
Build IoT solutions for the enterprise using open-source building blocks from the Eclipse IoT Working Group at the Eclipse Foundation. This book introduces you to key protocols and their implementations, such as CoAP (Eclipse Californium), DDS (Eclipse Cyclone DDS), LwM2M (Eclipse Leshan), and MQTT (Eclipse Paho, Eclipse Mosquitto, and Eclipse Amlen). You will learn about Edge Computing platforms (Eclipse ioFog, Eclipse Kanto), IoT gateways (Eclipse Kura, Eclipse Kapua), and next-generation edge native protocols (Eclipse zenoh).The book also covers production-ready platforms for digital twins (Eclipse Ditto), energy management (Eclipse VOLTTRON), contactless payments (Eclipse Keyple), and much more.Although the book discusses hardware matters, its focus is on software and relevant open standards. The book helps you understand the pros and cons of the technologies available from Eclipse IoT and how they have been used in actual deployments. The examples provided cover a variety of use cases, such as industrial automation, smart agriculture, digital buildings, robotics, and others.The book's contents follow a reference architecture encompassing constrained devices (things), edge devices (gateways, servers), and IoT Cloud platforms. For each of those three pillars, you will learn about relevant open-source components. Usage of code libraries and frameworks is explained through code samples. You will also learn how to deploy and configure platform-type components and how to leverage them. Special attention will be paid to security and edge computing throughout the book.WHAT YOU WILL LEARN* Describe in your own words the main software components required in an IoT architecture* Select the appropriate IoT protocols, components, frameworks, and platforms for a specific project* Evaluate the connectivity options at your disposal and select the most appropriate ones* Explain the value of business models focused on open-source components and deploy such models in your organization* Determine if edge computing is relevant to a project and deploy the relevant components on an edge computing platform* Build Enterprise IoT solutions leveraging an array of open-source components and platforms using popular languages such as C, Java, and RustWHO THIS BOOK IS FORDevelopers new to enterprise IoT who want to learn about fundamental technologies for that market segment and seek an introduction to relevant, open-source building blocks; experienced IoT developers who seek alternatives to the proprietary platforms they are currently using; software architects designing IoT solutions who want to understand open-source technology optionsFRÉDÉRIC DESBIENS manages IoT and Edge Computing programs at the Eclipse Foundation. His job is to help the community innovate by bringing together devices and software. He is a strong supporter of open source. In the past, he worked as a product manager, solutions architect, and developer for companies as diverse as Pivotal, Cisco, and Oracle. He has an MBA in electronic commerce, a BASc in Computer Science and a BEd, all from Université Laval. After work hours, Frédéric likes to read a history book, play video games, or watch anime.PART I. FUNDAMENTALS AND PROTOCOLS.- 1. What is IoT?.- 2. CoAP.- 3. LwM2M.- 4. MQTT.- 5. Sparkplug.- 6. DDS.- 7. zenoh.- PART II. CONSTRAINED DEVICES.- 8. The Hardware.- 9. Connectivity.- 10. Operating Systems.- PART III. EDGE COMPUTING AND IOT PLATFORMS.- 11. Edge Computing.- 12. Applications.- 13. Integration and Data.- 14. Conclusion.
Building Modern Business Applications
Discover a new way of thinking about business applications in light of the massive industry shift toward cloud computing and reactive programming technologies. This book synthesizes technologies and techniques such as event sourcing, command query responsibility segregation (CQRS), property-based testing, and GraphQL into a cohesive guide for modern business applications that benefit every developer.The book begins with a look at the fundamentals of modern business applications. These fundamentals include business rules and the managing of data over time. The benefits of reactive techniques are explained, including how they are fundamentally aligned with what application developers strive to achieve in their work.Author Peter Royal equips you with sound guidance to follow as you evolve your existing systems, as well as examples of how to build those systems using modern techniques in Spring, Java, and PostgreSQL.WHAT YOU WILL LEARN* Architect business applications for cloud-based environments* Design sustainable business applications* Integrate GraphQL best practices into business applications* Use property-based testing to exhaustively test possible system states* Think about business applications in terms of message flows* Relate the benefits of reactive systems to business goals* Model time appropriately for business requirementsWHO THIS BOOK IS FORPracticing software developers who are building business applications, developers who are being asked to deploy into cloud environments that are more volatile than statically provisioned data centers, developers who want to increase the reliability of their systems and are struggling to find the right paradigms and architectures to achieve their goals, developers who see and use capabilities in software in other areas of their lives and want to bring those capabilities into their own work, and developers with experience designing other types of software who want to learn how to design business applicationsPETER ROYAL is a software developer currently residing in Los Angeles, CA. He has been writing software since high school, with his first business application being a calendar tool for his school. Since then, he has written business applications for a variety of industries as a contractor or in-house developer. He enjoys building tools for co-workers and being able to work with colleagues to iterate and customize, with the goal of making tools that are not frustrating to use. He has come to appreciate pragmatic architectures and practices that enable systems to thrive for the long-term. PART I. ON BUSINESS APPLICATIONS1. What Is A Business Application?2. The Status Quo (and How It Can To Be)PART II. DESIGN PREREQUISITES3. What Is A Reactive System?4. Why Build Business Applications as Reactive Systems?5. What Is A Business Rule?6. Managing TimePART III. DESIGN7. Constraints and Principles8. High-Level Data Flow9. Command Processor10. Command Generator11. Event Materializer12. Testing, Monitoring, and Observability13. Required TechnologiesPART IV. IMPLEMENTATION14. Building with Modern Spring, Java, and PostgreSQL15. Expansion Points and Beyond
C++ Das Übungsbuch
* TRAINIEREN SIE IHRE C++-KENNTNISSE* MIT KOMMENTIERTEN MUSTERLÖSUNGEN* FÜR STUDIUM UND SELBSTSTUDIUMDas Buch wendet sich an Leser, die ihre C++-Kenntnisse durch »Learning by Doing« vertiefen möchten. Es ist ideal, um sich im Stil eines Workshops auf Prüfungen oder auf die Mitarbeit in einem C++-Projekt vorzubereiten.Alle Kapitel beginnen mit einer Zusammenfassung des Stoffes, zu dem anschließend Fragen und Aufgaben gestellt werden. Jedes Kapitel besteht neben der einführenden Beschreibung des Themas aus drei weiteren Teilen: Verständnisfragen, Programmieraufgaben und Musterlösungen zu allen Fragen und Aufgaben.Mit jeweils 20 Verständnisfragen können Sie testen, wie gut Sie sich in dem jeweiligen Themenbereich auskennen. Sie finden Ja-Nein- und Multiple-Choice-Fragen sowie Lückentexte, die vervollständigt werden müssen.Im Aufgabenteil können Sie dann Ihr Wissen praktisch umsetzen. In jedem Kapitel gibt es mindestens zehn Aufgaben mit steigendem Schwierigkeitsgrad. Dabei wurde stets darauf geachtet, dass diese typisch und praxisnah sind.Umfangreich kommentierte Musterlösungen am Ende eines Kapitels geben Ihnen ein direktes und ausführliches Feedback zu Ihren Lösungsansätzen.Der Aufbau dieses Übungsbuches lehnt sich an das Lehrbuch »C++ - Lernen und professionell anwenden« derselben Autoren an, das den neuesten ISO-Standard von 2020 (kurz C++20) berücksichtigt und ebenfalls im mitp-Verlag erschienen ist. Es ist aber für das Übungsbuch nicht wesentlich, auf welcher Grundlage Sie C++ gelernt haben.Nach dem Durcharbeiten des Übungsbuches verfügen Sie über fundierte Programmierkenntnisse und einen umfangreichen Fundus an Beispiel-Code.AUS DEM INHALT:* Datentypen und Kontrollstrukturen* Verwendung von Standardklassen* Operatoren, Makros, Funktionen* Vektoren und Strings* Zeiger und Referenzen* Speicherreservierung zur Laufzeit* Klassen, Teilobjekte* Dynamische Elemente* Vererbung* Polymorphe Klassen, abstrakte Klassen* Überladen von Funktionen und Operatoren* Namensbereiche* Ausnahmebehandlung* Dateiverarbeitung mit StreamsProf. Dr. Ulla Kirch unterrichtet an der FH München und Dr. Peter Prinz ist Software-Entwickler. Die Autoren haben bereits zahlreiche Bücher zu C und C++ geschrieben.
Raspberry Pi Pico W
The Raspberry Pi Pico and Pico W are based on the fast, efficient, and low-cost dual-core ARM Cortex M0+ RP2040 microcontroller chip running at up to 133 MHz and sporting 264 KB of SRAM and 2 MB of Flash memory. Besides spacious memory, the Pico and Pico W offer many GPIO pins, and popular peripheral interface modules like ADC, SPI, I2C, UART, PWM, timing modules, a hardware debug interface, and an internal temperature sensor.The Raspberry Pi Pico W additionally includes an on-board Infineon CYW43439 Bluetooth and Wi-Fi chipset. At the time of writing this book, the Bluetooth firmware was not yet available. Wi-Fi is however fully supported at 2.4 GHz using the 802.11b/g/n protocols.This book is an introduction to using the Raspberry Pi Pico W in conjunction with the MicroPython programming language. The Thonny development environment (IDE) is used in all of the 60+ working and tested projects covering the following topics:> Installing the MicroPython on Raspberry Pi Pico using a Raspberry Pi or a PC> Timer interrupts and external interrupts> Analogue-to-digital converter (ADC) projects> Using the internal temperature sensor and external sensor chips> Using the internal temperature sensor and external temperature sensor chips> Datalogging projects> PWM, UART, I2C, and SPI projects> Using Bluetooth, WiFi, and apps to communicate with smartphones> Digital-to-analogue converter (DAC) projectsAll projects are tried & tested. They can be implemented on both the Raspberry Pi Pico and Raspberry Pi Pico W, although the Wi-Fi- based subjects will run on the Pico W only. Basic programming and electronics experience are required to follow the projects. Brief descriptions, block diagrams, detailed circuit diagrams, and full MicroPython program listings are given for all projects. The full program listings of all the projects discussed in the book may be downloaded free of charge www.elektor.com/20335.Prof Dogan Ibrahim has a BSc, Hons. degree in Electronic Engineering, an MSc degree in Automatic Control Engineering, and a PhD degree in Digital Signal Processing.Dogan has worked in many industrial organizations before he returned to academic life. He is the author of over 70 technical books and has published over 200 technical articles on electronics, microprocessors, microcontrollers, and related fields.
Produktiv auf der Linux-Kommandozeile
Sicher und souverän mit Linux arbeitenSouverän unterwegs auf der Kommandozeile: Dieses praktische Buch hilft Ihnen dabei, schneller, intelligenter und effizienter zu arbeiten. Sie erfahren, wie Sie komplexe Befehle erzeugen und ausführen, die echte Probleme lösen, Informationen abrufen, verarbeiten und lästige Aufgaben automatisieren.Sie werden außerdem verstehen, was hinter dem Shell-Prompt passiert. Ganz gleich, welche Befehle Sie im Einzelnen einsetzen: Sie werden Ihren Linux-Alltag problemlos meistern und sich mit solidem Wissen für den Arbeitsmarkt qualifizieren.Sie entwickeln gute bis fortgeschrittene Fähigkeiten auf der Kommandozeile und lernen dabei, wie Sie:Befehle auswählen oder konstruieren, die schnell Ihre Arbeitsaufgaben erledigen - effizient Befehle ausführen und mit Leichtigkeit durch das Linux-Dateisystem navigierenaus einfacheren Befehlen komplexe und leistungsstarke Befehle zusammensetzenTextdateien umbauen und sie wie Datenbanken abfragen, um geschäftliche Aufgaben zu lösendie Point-and-Click-Funktionen von Linux auf der Kommandozeile kontrollierenAutor:Daniel J. BarrettDaniel J. Barrett unterrichtet seit mehr als 30 Jahren Linux und verwandte Technologien im geschäftlichen wie im akademischen Umfeld. Der Autor von O’Reillys Linux kurz & gut und Koautor von Linux Security Cookbook sowie SSH, The Secure Shell: The Definitive Guide ist darüber hinaus Softwareentwickler, Heavy-Metal-Sänger, Systemadministrator, Universitätsdozent, Webdesigner und Komiker. Er arbeitet bei Google.Zielgruppe:Systemadministrator*innenEntwickler*innenMitarbeitende im Site Reliability Engineeringambitionierte User*innen
Programmieren lernen in der Minecraft-Welt. Let's Code!
Programmieren lernen in der Minecraft-Welt: Erwecke die Roboter-Schildkröte zum Leben!Willkommen in TurtleCity! Du hast nicht nur ein Buch aufgeschlagen, du bist auch in Minecraft unterwegs und lernst dort Programmieren: Eine Robo-Schildkröte folgt genau deinen Befehlen. Du lässt sie verrückte Sachen bauen, nach Schätzen graben, und zusammen geht ihr so manche Challenge an.Für Kinder und Jugendliche ab 8 Jahren, online oder offline nutzbar. Eine Minecraft-Java-Lizenz wird benötigt, Vorkenntnisse nicht. Die Minecraft-Erweiterung mit der Schildkröte ist kostenlos und leicht zu installieren. Los geht's!Aus dem Inhalt:Installation nach AnleitungWas die Schildkröte alles kannBau mir ein ...Solange, bis ...Wenn ..., dann ...Verschachtelte SchleifenBaumfäller, Schürf-Roboter und andere nützliche Helfer programmierenDer Weg aus dem LabyrinthProgramme speichern und wieder ladenLeseprobe (PDF-Link)
Five Lines of Code
Refactoring ist die Kunst, bestehenden Code so zu verbessern, dass der Wert von Software langfristig erhalten bleibt. Das Ergebnis des Vorgangs ist als Clean Code bekannt – aber wie kommen Sie dahin? Christian Clausen legt hier eine ganz neuartige Schule des Refactorings vor, die Sie Schritt für Schritt anleitet. Das Vorgehen eignet sich für alle OOP-Sprachen. Die gut lesbaren Beispiele in TypeScript sind in einem Stil gehalten, der insbesondere Java- und C#- Entwickler*innen vertraut sein dürfte. Ein zweispaltiges Vorher-Nachher-Layout mit zeilengenauen Codekommentaren macht jeden Arbeitsschritt hervorragend nachvollziehbar. So gelingt Ihr Refactoring sicher! Aus dem Inhalt: Anzeichen für Verbesserungsbedarf im CodeCode in sicheren Schritten verbessern – auch, wenn Sie ihn nicht verstehenOptimierungen und Wiederverwendbarkeit sinnvoll abwägenGute Compiler-PraxisViele Patterns und Methoden für das konkrete VorgehenWie man Code schreibt, der ohne Kommentare auskommtBest Practices aus realen Projekten Materialien zum Buch ... 16 Vorwort ... 17 Einführung ... 19 Danksagungen ... 23 Der Autor ... 25 Der Übersetzer ... 25 1. Refactorings für Refactoring ... 27 1.1 ... Was ist Refactoring? ... 28 1.2 ... Fähigkeiten: Was sollte ich refactorn? ... 29 1.3 ... Kultur: Wann sollte ich refactorn? ... 31 1.4 ... Werkzeuge: Wie sollte ich (sicher) refactorn? ... 33 1.5 ... Werkzeuge für den Anfang ... 34 1.6 ... Das durchgehende Beispiel: ein 2D-Rätselspiel ... 36 1.7 ... Ein Wort zu Software aus der echten Welt ... 38 1.8 ... Zusammenfassung ... 39 2. Ein Blick unter die Haube ... 41 2.1 ... Lesbarkeit und Wartbarkeit verbessern ... 41 2.2 ... Geschwindigkeit, Flexibilität und Stabilität gewinnen ... 45 2.3 ... Refactoring und die tägliche Arbeit ... 47 2.4 ... Die Domäne einer Software definieren ... 48 2.5 ... Zusammenfassung ... 49 TEIL I. Das Refactoring eines Computerspiels als Lernbeispiel ... 51 3. Lange Funktionen zerschlagen ... 53 3.1 ... Unsere erste Regel: Warum fünf Zeilen? ... 54 3.2 ... Ein Refactoring, um Funktionen aufzubrechen ... 57 3.3 ... Funktionen teilen, um Abstraktionsebenen zu trennen ... 66 3.4 ... Eigenschaften eines guten Funktionsnamens ... 69 3.5 ... Funktionen aufbrechen, die zu viel tun ... 72 3.6 ... Zusammenfassung ... 76 4. Typen richtig nutzen ... 77 4.1 ... Refactoring einer einfachen if-Anweisung ... 77 4.2 ... Refactoring einer großen »if«-Anweisung ... 98 4.3 ... Mit doppeltem Code umgehen ... 114 4.4 ... Refactoring von zwei komplexen »if«-Anweisungen ... 118 4.5 ... Toten Code entfernen ... 122 4.6 ... Zusammenfassung ... 124 5. Ähnlichen Code zusammenführen ... 127 5.1 ... Ähnliche Klassen zusammenführen ... 128 5.2 ... Einfache Bedingungen zusammenführen ... 145 5.3 ... Komplexe Bedingungen zusammenführen ... 150 5.4 ... Code in verschiedenen Klassen zusammenführen ... 156 5.5 ... Ähnliche Funktionen zusammenführen ... 178 5.6 ... Ähnlichen Code zusammenführen ... 182 5.7 ... Zusammenfassung ... 187 6. Die Daten verteidigen ... 189 6.1 ... Kapselung ohne Getter ... 189 6.2 ... Einfache Daten kapseln ... 201 6.3 ... Komplexe Daten kapseln ... 214 6.4 ... Invariante Reihenfolgen entfernen ... 222 6.5 ... Ein anderes Vorgehen, um Enums zu löschen ... 226 6.6 ... Zusammenfassung ... 232 TEIL II. Das Gelernte in die Praxis übertragen ... 233 7. Mit dem Compiler zusammenarbeiten ... 235 7.1 ... Den Compiler kennenlernen ... 236 7.2 ... Den Compiler benutzen ... 245 7.3 ... Vertraue dem Compiler ... 255 7.4 ... Vertraue nur dem Compiler ... 258 7.5 ... Zusammenfassung ... 259 8. Finger weg von Kommentaren ... 261 8.1 ... Veraltete Kommentare löschen ... 263 8.2 ... Auskommentierten Code löschen ... 263 8.3 ... Überflüssige Kommentare löschen ... 264 8.4 ... Kommentare in Methodennamen umsetzen ... 265 8.5 ... Kommentare behalten, die Invarianten dokumentieren ... 266 8.6 ... Zusammenfassung ... 267 9. Lerne, das Löschen zu lieben ... 269 9.1 ... Code löschen: das nächste Abenteuer ... 270 9.2 ... Code löschen, um anfallende Komplexitätzu reduzieren ... 271 9.3 ... Code nach Vertrautheit kategorisieren ... 274 9.4 ... Code in einem Legacy-System löschen ... 275 9.5 ... Code aus einem eingefrorenen Projekt löschen ... 278 9.6 ... Branches aus der Versionskontrolle löschen ... 280 9.7 ... Codedokumentation löschen ... 282 9.8 ... Testcode löschen ... 284 9.9 ... Konfigurationscode löschen ... 286 9.10 ... Code löschen, um Bibliotheken loszuwerden ... 288 9.11 ... Code aus funktionierenden Features entfernen ... 291 9.12 ... Zusammenfassung ... 292 10. Keine Angst vor neuem Code ... 293 10.1 ... Unsicherheit akzeptieren: In die Gefahr eintreten ... 294 10.2 ... Prototypen: gegen die Angst, das Falsche zu entwickeln ... 294 10.3 ... Verhältnismäßige Arbeit: gegen die Angst vor Verschwendung und Risiko ... 296 10.4 ... Schrittweise Verbesserung: gegen die Angst vor Imperfektion ... 297 10.5 ... Wie Copy & Paste unsere Geschwindigkeit beeinflusst ... 298 10.6 ... Verändern durch Hinzufügen: geplante Erweiterbarkeit ... 299 10.7 ... Verändern durch Hinzufügen erlaubt Abwärtskompatibilität ... 300 10.8 ... Verändern durch Hinzufügen mit Featureschaltern ... 302 10.9 ... Verändern durch Hinzufügen mit Verzweigung durch Abstraktion ... 306 10.10 ... Zusammenfassung ... 309 11. Folge der Struktur im Code ... 311 11.1 ... Strukturen einteilen nach Wirkungsbereich und Herkunft ... 311 11.2 ... Drei Arten, wie Code Verhalten spiegelt ... 313 11.3 ... Code hinzufügen, um Struktur zu betonen ... 321 11.4 ... Beobachten statt vorhersagen -- empirische Techniken einsetzen ... 322 11.5 ... Sicherheit gewinnen, ohne den Code zu verstehen ... 323 11.6 ... Ungenutzte Strukturen finden ... 324 11.7 ... Zusammenfassung ... 333 12. Vermeide Optimierung und Generalität ... 335 12.1 ... Nach Einfachheit streben ... 336 12.2 ... Verallgemeinern -- wann und wie ... 338 12.3 ... Optimieren -- wann und wie ... 340 12.4 ... Zusammenfassung ... 352 13. Schlechter Code soll schlecht aussehen ... 353 13.1 ... Auf Prozessprobleme mit schlechtem Code aufmerksam machen ... 353 13.2 ... Trennung in sauberen und problematischen Code ... 355 13.3 ... Ansätze, schlechten Code zu definieren ... 356 13.4 ... Regeln für sicheren Vandalismus ... 359 13.5 ... Methoden für sicheren Vandalismus ... 359 13.6 ... Zusammenfassung ... 369 14. Zum Abschluss ... 371 14.1 ... Ein Rückblick auf die Reise in diesem Buch ... 371 14.2 ... Die Philosophie dahinter ... 372 14.3 ... Wie mache ich weiter? ... 377 14.4 ... Zusammenfassung ... 378 A. Die Werkzeuge für Teil I installieren ... 381 A.1 ... Node.js ... 381 A.2 ... TypeScript ... 381 A.3 ... Visual Studio Code ... 381 A.4 ... Git ... 382 A.5 ... Das TypeScript-Projekt einrichten ... 382 A.6 ... Das TypeScript-Projekt bauen ... 382 A.7 ... Wie du den Level änderst ... 383 Index ... 385
Agile Spiele und Simulationen
Praxiserprobte Games für Agile Coaches und Scrum Master. Inklusive vieler Spiele für Online-WorkshopsDer umfassende Spiele-Werkzeugkoffer für alle, die Workshops zu agilen Methoden moderieren.Spiele und Simulationen unterstützen Agile Coaches und Scrum Master optimal dabei, agile Prinzipien und Praktiken in Workshops und Trainings zu veranschaulichen – und sie machen Spaß! Mittlerweile sind sie fester Bestandteil des Werkzeugkoffers von agilen Moderatorinnen und Moderatoren. Dieses Buch beschreibt über 70 Spiele, die sich in der Praxis besonders bewährt haben.Marc Bleß und Dennis Wagner – beide seit vielen Jahren als Agile Coaches tätig – erläutern zunächst, was bei der Moderation von agilen Spielen zu beachten ist und wann welches Spiel eingesetzt werden kann. Sie zeigen außerdem, wie die meisten dieser Spiele auch in Online-Workshops genutzt werden können und was dabei grundsätzlich zu beachten ist.Vorgestellt werden Spiele aus diesen Kategorien:Vermittlung von agilen PrinzipienSimulationen von agilen PraktikenKommunikation und Social DynamicsEröffnung und Abschluss eines TrainingsEnergizer und Auflockerungen für zwischendurchNeu: Technical Skills – Spiele für die Vermittlung agiler EntwicklungspraktikenDas Buch ist eine Erweiterung des beliebten Taschenbuchs »Agile Spiele – kurz & gut«. Es enthält zahlreiche neue spannende Games und jetzt auch viele farbige Abbildungen. Alle Spielanleitungen wurden überarbeitet und ergänzt. Die Autoren beschreiben Vorbereitung, benötigtes Material, Ablauf und Nachbereitung jedes Spiels sowie mögliche Stolperfallen. Die vielen konkreten Tipps und Beispiele aus der Praxis garantieren, dass Spielfreude aufkommt und du erfolgreiche Workshops und Trainings durchführst.Autoren:Marc Bleß, Dennis WagnerMarc Bleß hat über 20 Jahre Erfahrung als Agile Coach, Scrum Master, Softwareentwickler und Führungskraft. Seine Leidenschaft ist die schnelle und nachhaltige Verbesserung von Teams und Organisationen. Als ausgebildeter Solution-Focused Coach und Certified Enterprise Coach (CEC) begleitet Marc Unternehmen auf allen Ebenen – vom Top-Level-Management bis zu einzelnen Teams – bei der Einführung agiler Entwicklungsmethoden und der Umsetzung agiler Werte, Prinzipien und Praktiken.Dennis Wagner ist, seit er mit 17 Jahren sein erstes eigenes Softwareprodukt verkauft hat, der Entwicklung verschrieben. In so unterschiedlichen Rollen wie Architekt, Team Lead, Entwickler oder Product Manager zeigte er viele Jahre erfolgreich Wege auf, wie man Software besser entwickelt. Seit er vor mehr als zehn Jahren XP und Scrum kennenlernte, ist er Agilist aus Überzeugung. Heute hilft er Teams, Führungskräften und Organisationen als Full Stack Agile Coach, ihr Potential zu entdecken und zu entwickeln.Zielgruppe:Scrum MasterAgile CoachesFührungskräfte, die Workshops zu agilen Methoden moderieren
PyTorch Recipes
Learn how to use PyTorch to build neural network models using code snippets updated for this second edition. This book includes new chapters covering topics such as distributed PyTorch modeling, deploying PyTorch models in production, and developments around PyTorch with updated code.You'll start by learning how to use tensors to develop and fine-tune neural network models and implement deep learning models such as LSTMs, and RNNs. Next, you'll explore probability distribution concepts using PyTorch, as well as supervised and unsupervised algorithms with PyTorch. This is followed by a deep dive on building models with convolutional neural networks, deep neural networks, and recurrent neural networks using PyTorch. This new edition covers also topics such as Scorch, a compatible module equivalent to the Scikit machine learning library, model quantization to reduce parameter size, and preparing a model for deployment within a production system. Distributed parallel processing for balancing PyTorch workloads, using PyTorch for image processing, audio analysis, and model interpretation are also covered in detail. Each chapter includes recipe code snippets to perform specific activities.By the end of this book, you will be able to confidently build neural network models using PyTorch.WHAT YOU WILL LEARN* Utilize new code snippets and models to train machine learning models using PyTorch* Train deep learning models with fewer and smarter implementations* Explore the PyTorch framework for model explainability and to bring transparency to model interpretation* Build, train, and deploy neural network models designed to scale with PyTorch* Understand best practices for evaluating and fine-tuning models using PyTorch* Use advanced torch features in training deep neural networks* Explore various neural network models using PyTorch* Discover functions compatible with sci-kit learn compatible models* Perform distributed PyTorch training and executionWHO THIS BOOK IS FORMachine learning engineers, data scientists and Python programmers and software developers interested in learning the PyTorch framework.PRADEEPTA MISHRA is the Director of AI, Fosfor at L&T Infotech (LTI), leading a large group of Data Scientists, computational linguistics experts, Machine Learning and Deep Learning experts in building the next-generation product, ‘Leni,’ the world’s first virtual data scientist. He has expertise across core branches of Artificial Intelligence including Autonomous ML and Deep Learning pipelines, ML Ops, Image Processing, Audio Processing, Natural Language Processing (NLP), Natural Language Generation (NLG), design and implementation of expert systems, and personal digital assistants. In 2019 and 2020, he was named one of "India's Top "40Under40DataScientists" by Analytics India Magazine. Two of his books are translated into Chinese and Spanish based on popular demand.He delivered a keynote session at the Global Data Science conference 2018, USA. He has delivered a TEDx talk on "Can Machines Think?", available on the official TEDx YouTube channel. He has mentored more than 2000 data scientists globally. He has delivered 200+ tech talks on data science, ML, DL, NLP, and AI in various Universities, meetups, technical institutions, and community-arranged forums. He is a visiting faculty member to more than 10 universities, where he teaches deep learning and machine learning to professionals, and mentors them in pursuing a rewarding career in Artificial Intelligence.Chapter 1: Introduction to PyTorch, Tensors, and Tensor OperationsChapter Goal: This chapter is to understand what is PyTorch and its basic building blocks.Chapter 2: Probability Distributions Using PyTorchChapter Goal: This chapter aims at covering different distributions compatible with PyTorch for data analysis.Chapter 3: Neural Networks Using PyTorchChapter Goal: This chapter explains the use of PyTorch to develop a neural network model and optimize the model.Chapter 4: Deep Learning (CNN and RNN) Using PyTorchChapter Goal: This chapter explains the use of PyTorch to train deep neural networks for complex datasets.Chapter 5: Language Modeling Using PyTorchChapter Goal: In this chapter, we are going to use torch text for natural language processing, pre-processing, and feature engineering.Chapter 6: Supervised Learning Using PyTorchGoal: This chapter explains how supervised learning algorithms implementation with PyTorch.Chapter 7: Fine Tuning Deep Learning Models using PyTorchGoal: This chapter explains how to Fine Tuning Deep Learning Models using the PyTorch framework.Chapter 8: Distributed PyTorch ModelingChapter Goal: This chapter explains the use of parallel processing using the PyTorch framework.Chapter 9: Model Optimization Using Quantization MethodsChapter Goal: This chapter explains the use of quantization methods to optimize the PyTorch models and hyperparameter tuning with ray tune.Chapter 10: Deploying PyTorch Models in ProductionChapter Goal: In this chapter we are going to use torch serve, to deploy the PyTorch models into production.Chapter 11: PyTorch for AudioChapter Goal: In this chapter torch audio will be used for audio resampling, data augmentation, features extractions, model training, and pipeline development.Chapter 12: PyTorch for ImageChapter Goal: This chapter aims at using Torchvision for image transformations, pre-processing, feature engineering, and model training.Chapter 13: Model Explainability using CaptumChapter Goal: In this chapter, we are going to use the captum library for model interpretability to explain the model as if you are explaining the model to a 5-year-old.Chapter 14: Scikit Learn Model compatibility using SkorchChapter Goal: In this chapter, we are going to use skorch which is a high-level library for PyTorch that provides full sci-kit learn compatibility.
KI-Sprachassistenten mit Python entwickeln
Datenbewusst, open-source und modularSprachassistenten werden vermehrt in Bereichen wie z. B. Kundenkommunikation, Smart Home oder Automotive eingesetzt. Dieses Buch zeigt Ihnen, wie Sie in Python Schritt für Schritt einen eigenen Sprachassistenten komplett selbst entwickeln können – von der Architektur bis zur Paketierung der Anwendung. Zum einen lernen Sie, wie Sprachsynthese und Intents funktionieren und wie Sie diese einsetzen können. Zum anderen kommen Sie mit vielen Themen aus der professionellen Python-Entwicklung in Berührung, u. a. mit Logging, dynamischem Installieren von Paketen, dem „Einfrieren“ einer Anwendung oder der dazugehören Überführung in einen Installer.Ein weiteres wichtiges Thema ist der Datenschutz. Wenn Sie einen eigenen Assistenten programmiert haben, wissen Sie genau, welche Daten Sie rausgeben und welche auf Ihrem Gerät verarbeitet werden. Das schafft Vertrauen beim Anwender. Schreiben Sie Intents, denen auch sensible Daten anvertraut werden können. Darüber hinaus kann der selbst programmierte Assistent ein paar Dinge mehr als die Marktführer. Er reagiert z. B. individuell auf Ihre Stimme und Sie können ihm erlauben, nur auf Sie zu hören und andere Personen zu ignorieren.Aus dem Inhalt:Aufsetzen einer Entwicklungsumgebung, Versionsverwaltung mit GitText to Speech, Speech to Text, Fingerabdruck der StimmeDialogeIntents entwickeln und verwaltenUser InterfaceDie Anwendung paketierenAutor: Dr. Jonas Freiknecht arbeitet als Datenanalyst bei einem größeren IT-Systemhaus. Er hat in praktischer Informatik promoviert und erstellt seit vielen Jahren YouTube Videos zu IT-Themen, schreibt Fachbücher und veröffentlicht Tutorials auf seinem Blog.Leseprobe (PDF-Link)
Introduction to Java Through Game Development
Interested in learning how to program with Java? Let’s face it, the best way to learn to program is by writing programs. This can be a daunting proposition with the specter of hours of simple command line example programs hanging over your head. Fear not! Now you can learn to program in Java in a fun way by working on video games.With this book, you’ll get to work with three Java game projects and have access to the complete game code for each project, including a full Java game engine. After completing Introduction to Java through Game Development, you’ll be proficient in Java programming, having worked with the language’s fundamental aspects throughout the text, and will be ready to further your Java and game programming expertise with confidence.WHAT YOU'LL* Master the fundamentals of the Java programming language* Use different data structures like arrays, lists, stacks, and queues* Understand game programming basics including the main game loop* Gain experience working with three different game projects via the book’s coding challenges* Work with the 2D game engine that powers the book's included games and learn to create your own new game projects* Understand advanced Java topics like classes, encapsulation, inheritance, and polymorphism* Work with exceptions and how to use debugging techniques to trace through code* Sharpen your skills with over a dozen coding challenges that test your abilities with a development task on a real game projectWHO THIS BOOK IS FORThis book requires little to no programming experience to understand and benefit from the text.VICTOR BRUSCA is an experienced software developer specializing in building cross-platform applications and APIs. He regards himself as a self-starter with a keen eye for detail, an obsessive protection of systems/data, and a desire to write well-documented, well-encapsulated code. With over 14 years' software development experience, he has been involved in game and game engine projects on J2ME, T-Mobile SideKick, WebOS, Windows Phone, Xbox 360, Android, iOS, and web platforms. Chapter 1: IntroductionSub –topics• Introductiono About this texto Notes on formattingo Notes on conventions• The book’s objectiveso Java fundamental topicso Java advanced topicso Game projects included• Setting up your environmento Checking your Java versiono Installing the latest JDKo Installing the NetBeans IDE o Getting the game projects setup• Checking out the gameso Running pong cloneo Running memory matcho Running the duel• Conclusiono Talking pointso What we coveredChapter 2: What is Java ProgrammingSub – topics• Computers and programmingo Programming computerso Programming languageso Types of programs/programming• The Java programming languageo A very brief historyo The JREo The JDKo Syntax and semantics• Game programmingo Program structureo The game loopo General structure of included games• Conclusiono Talking pointso What we coveredChapter 3: VariablesSub - topics:• Data typeso Basico Advancedo Customo Enumerations• Using variableso Declaring variableso Assigning values to variableso Objects, classes, instanceso Enumerationso Casting• Conclusiono Talking pointso What we coveredChapter 4: Expressions and Flow ControlSub - topics:• Expressionso Numerico Booleano Operator precedence• Flow controlo If, else, else if statementso Switch statementso Try-catch statements• Conclusiono Talking pointso What we coveredChapter 5: Arrays and Data StructuresSub - topics:• Arrayso Declaring arrayso Initializing arrayso Using arrays• Data structureso Listso Dictionarieso Generic vs specialized data structures• Conclusiono Talking pointso What we coveredChapter 6: Looping and IterationSub - topics:• For loopso Basic for loop o For each loop• While loopso Basic while loopo Infinite loopo Main game loop• Conclusiono Talking pointso What we coveredChapter 7: Objects, Classes, and OOPSub - topics:• Introduction to OOPo Classeso Fieldso Methodso Constructorso Static members• Advanced class topicso Accesso Class designo Main game loop• Conclusiono Talking pointso What we coveredChapter 8: Encapsulation, Polymorphism, and InheritanceSub - topics:• Encapsulation• Polymorphism• Inheritance• Importing class libraries• Project structure• Conclusiono Talking pointso What we coveredChapter 9: Debugging TechniquesSub - topics:• Basic debugging o CLI output trace• Advanced debuggingo IDE debugging features• Exceptionso Handling exceptionso Defining your own exceptionso Getting familiar with a stack trace• Conclusiono Talking pointso What we coveredChapter 10: ConclusionSub - topics:• Final thoughts• High level topic review/takeaways/what we covered• Where to go from here• Saying bye
Build Your Own Multifunctional 4-Axis CNC Machine
This book covers the construction, hardware, software, and operation of the Z99 - CNC machine. This is a multifunctional 4-axis machine for home construction.The capabilities of the Z99 machine include:• large-format schematic plotting• PCB plotting with etch-resist pens• schematic plotting with conductive-ink pens• letter cutting out of vinyl• paper cutting• PCB/substrate drilling• PCB/substrate milling• text milling• laser engraving• laser cutting of solder paste masksBy making the support software available as freeware, readers of the book are challenged and encouraged to develop new applications for the Z99.The machine would not be of much use if the user has no option to create suitable files for the designs in mind. A large part of this book is dedicated to creating source files in a variety of freeware software packages, including Inkscape, DesignSpark PCB, KiCad, and FlatCAM.The book is also useful for readers keen to comprehend and then master the basic structure of HPGL, Gerber, Drill, and G-code files, as well as to have a go at deciphering them using software.José Ganseman, MD. (1951) was occupied as a General Practitioner for 35 years.He is a passionate, lifelong electronics hobbyist and software programmer in several languages.He is also an Elektor reader from the seventies on.After his retirement in 2010 he decided to build a multifunctional machine for personal use. The machine can be used for several tasks like plotting, cutting, milling, and laser etching/cutting.