Inne - Programowanie

241
Ebook

Kubernetes - rozwiązania chmurowe w świecie DevOps. Tworzenie, wdrażanie i skalowanie nowoczesnych aplikacji chmurowych

John Arundel, Justin Domingus

Kubernetes jest standardową platformą rozproszonych aplikacji chmurowych. Pozwala na budowanie i wdrażanie niezawodnych, wydajnych i skalowalnych aplikacji. Jednak przebudowa klasycznej infrastruktury IT na rozwiązania chmurowe, aby mogła być przeprowadzona bez dużych utrudnień pracy firmy, wymaga przygotowania i odpowiedzi na kilka ważnych pytań. W tym wyczerpującym i praktycznym przewodniku opisano, jak działają kontenery Kubernetes, jak je budować i nimi zarządzać oraz jak projektować usługi i infrastrukturę cloud native. Wyjaśniono różnice między budowaniem swoich klastrów a korzystaniem z usług zarządzanych takich firm jak Amazon, Google i Microsoft. Dokładnie przedstawiono - od strony praktycznej - rozwijanie aplikacji, konfigurowanie i obsługę klastrów oraz automatyzację infrastruktury. Wiedza ta pozwoli na sprawne zbudowanie skalowalnej, odpornej na awarie i opłacalnej infrastruktury Kubernetes - w zgodzie z metodyką DevOps. W tej książce: solidne podstawy działania kontenerów i systemu Kubernetes uruchamianie własnych klastrów zarządzane usługi Kubernetes od Amazon, Google i innych dostawców cykl życia kontenera i optymalizacja klastrów najlepsze narzędzia i najnowsze praktyki branżowe zasady DevOps w praktyce Kubernetes: nowoczesność, skalowalność i prawdziwa niezawodność!

242
Ebook

Kubernetes i Docker w środowisku produkcyjnym przedsiębiorstwa. Konteneryzacja i skalowanie aplikacji oraz jej integracja z systemami korporacyjnymi

Scott Surovich, Marc Boorshtein

Technologie Kubernetes i Docker szybko zdobyły zaufanie dużych firm i dziś są standardową infrastrukturą pozwalającą na tworzenie, testowanie i uruchamianie aplikacji. W porównaniu z wcześniej stosowanymi rozwiązaniami wymagają jednak zupełnie innego podejścia do budowy i wdrażania oprogramowania. Oznacza to, że jeśli korporacja chce w pełni skorzystać z potencjału Kubernetesa i Dockera, musi znaleźć osoby dysponujące wiedzą i umiejętnościami pozwalającymi na zintegrowanie klastrów Kubernetes z istniejącymi systemami organizacji. To książka przeznaczona dla osób, które chcą poszerzyć swoją wiedzę i umiejętności potrzebne do pracy z klastrami. Omówiono tu podstawy dotyczące konteneryzacji, Dockera i Kubernetesa, jednak więcej miejsca poświęcono bardziej zaawansowanym zagadnieniom, między innymi integracji kontenera z platformą chmury czy integracji z takimi narzędziami jak MetalLB, ExternalDNS i OpenID Connect (OICD). Zaprezentowano również zasady stosowania Pod Security Policy (PSP), Open Policy Agent (OPA), Falco i Velero, a także sposób, w jaki przebiega wdrażanie całej platformy w chmurze z użyciem mechanizmów ciągłej integracji i ciągłego wdrażania (CI/CD). Dowiesz się też, jak testować aplikacje i komponenty Kubernetes i jak implementować różne rozwiązania open source. Najciekawsze zagadnienia: Tworzenie wielowęzłowego klastra Kubernetes za pomocą KinD Implementacja narzędzi: Ingress, MetalLB i ExternalDNS Konfiguracja klastra OIDC i uwierzytelnianie w Kubernetesie Zabezpieczanie i audyty klastrów Wdrażanie platformy z użyciem projektów: Tekton, GitLab i Argo CD Kubernetes i Docker: tak działają systemy najpotężniejszych korporacji!

243
Ebook

Kubernetes. Receptury. Aplikacje natywne dla środowiska chmurowego. Wydanie II

Sameer Naik, Sébastien Goasguen, Jonathan Michaux

Kubernetes stał się standardem orkiestracji kontenerów i zarządzania rozproszonymi aplikacjami. Obecnie pozwala na uzyskiwanie automatyzacji, rozszerzalności i przenośności na wysokim poziomie, a sama praca z nim jest efektywna i satysfakcjonująca. Niekiedy jednak tworzenie i wdrażanie aplikacji Kubernetes sprawia problemy nawet zaawansowanym użytkownikom. To książka przeznaczona dla osób pracujących z systemami Kubernetes. Poszczególne zagadnienia przedstawiono w niej w przejrzystym formacie problem - rozwiązanie - omówienie, dzięki czemu szybko znajdziesz rozwiązanie konkretnego problemu, a to z kolei pozwoli Ci na korzystanie ze wszystkich zalet tej platformy w codziennej pracy. Znalazło się tu ponad 100 praktycznych receptur obejmujących takie tematy jak konfigurowanie klastra, zarządzanie obciążeniem w kontenerach przy użyciu obiektów Kubernetes API, użycie pamięci masowej indeksowanej wartościami klucz-wartość, konfigurowanie zabezpieczeń i wiele innych. Każda receptura jest niezależna od innych, a materiał został zorganizowany w sposób maksymalnie ułatwiający szybkie odnalezienie interesującego Cię zagadnienia. W książce między innymi: tworzenie klastra i interfejs wiersza poleceń Kubernetes zarządzanie obciążeniami i usługami interfejs API Kubernetes skalowanie na poziomie klastra i aplikacji zabezpieczanie aplikacji i jej monitorowanie utrzymywanie systemów w środowisku chmury i rozwiązywanie problemów Kubernetes w praktyce. Znajdź szybkie rozwiązania dla każdego wyzwania!

244
Ebook

Kubernetes. Tworzenie natywnych aplikacji działających w chmurze

Michael Hausenblas, Stefan Schimanski

Mimo że w 2018 roku Kubernetes zyskał reputację standardowego narzędzia do zarządzania kontenerami, wciąż należy traktować tę technologię jako znajdującą się w dość wczesnej fazie rozwoju. Możliwości tej platformy z czasem rosną i stają się coraz ciekawsze. Standardowym działaniem jest uruchamianie klastrów w Kubernetesie, jednak o wiele bardziej interesujące wydaje się samodzielne rozszerzanie tej platformy o własne kontrolery i rozbudowa API Kubernetesa w celu dostosowania do swoich wymagań. W przypadku niektórych złożonych projektów programowanie potrzebnych komponentów jest jedynym racjonalnym rozwiązaniem. To książka przeznaczona dla programistów, którzy chcą maksymalnie wykorzystać możliwości Kubernetesa, również poprzez pisanie własnych zasobów. W praktyczny sposób pokazuje, jak rozwijać natywne, działające w chmurze aplikacje dla Kubernetesa. Wyjaśnia, w jaki sposób działa biblioteka API client-go i jak należy budować zasoby niestandardowe. Znalazło się tu obszerne i szczegółowe omówienie interfejsu programowania i działania platformy Kubernetes, a także pisania stabilnego oprogramowania w języku Go. Nie zabrakło szeregu wskazówek dotyczących samego pisania kodu oraz przeprowadzania testów. Dużo uwagi poświęcono niestandardowym zasobom, kontrolerom, webhookom i niestandardowym serwerom API oraz wzorcom rozszerzania Kubernetesa. W tej książce między innymi: zasady programowania dla Kubernetesa API Kubernetesa i client-go korzystanie z niestandardowych zasobów pisanie i udostępnianie operatorów tworzenie niestandardowych serwerów API Kubernetes: wykorzystaj w pełni jego potencjał!

245
Ebook

Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III

Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson

Kubernetes jest ważnym narzędziem do tworzenia, wdrażania i utrzymywania aplikacji w chmurze. Obecnie pozwala na uzyskiwanie prędkości, zwinności, niezawodności i wydajności na wysokim poziomie, a samo tworzenie i utrzymywanie systemów rozproszonych jest proste, efektywne i satysfakcjonujące. Trzeba tylko zrozumieć, na czym polega abstrakcja kontenerów i interfejsów API orkiestracji kontenerów i poświęcić trochę czasu na zapoznanie się z samym Kubernetesem. Oto podstawowe źródło wiedzy na temat systemu Kubernetes, okraszone przykładami, które umożliwiają samodzielne poznawanie tego produktu! Liz Rice To trzecie wydanie przewodnika autorstwa twórców Kubernetesa. Zostało starannie zaktualizowane i wzbogacone o tak ważne zagadnienia jak bezpieczeństwo, dostęp do Kubernetesa za pomocą kodu napisanego w różnych językach programowania czy tworzenie aplikacji wieloklastrowych. Dzięki książce poznasz podstawy funkcjonowania Kubernetesa, a naukę rozpoczniesz od budowy prostej aplikacji. Później dowiesz się, jak używać narzędzi i interfejsów API do automatyzacji skalowalnych systemów rozproszonych, w tym usług internetowych, aplikacji do uczenia maszynowego czy klastrów komputerów Raspberry Pi. Omówiono tu również zaawansowane zagadnienia, takie jak obiekty specjalne czy siatki usług i system kontroli źródła. Najciekawsze zagadnienia: budowa i działanie Kubernetesa na podstawie prostego przykładu specjalne obiekty, takie jak DaemonSet, Job, ConfigMap i tajne dane cykl życia kompletnej aplikacji rozproszonej zabezpieczanie wdrażanych aplikacji aplikacje wieloklastrowe i dostęp do Kubernetesa za pomocą własnego kodu Poznaj przyszłość infrastruktury!

246
Ebook

Kubernetes w środowisku produkcyjnym. Jak budować efektywne platformy aplikacji

Josh Rosso, Rich Lander, Alex Brand, John Harris

Kubernetes zmienił podejście do budowy i wdrażania oprogramowania korporacyjnego. Przedsiębiorstwa szybko zrozumiały, że dzięki tej potężnej technologii mogą korzystać z zalet wysoce dostępnych, samonaprawiających się i autoskalujących wdrożeń oprogramowania. Systemy są zdolne do automatycznego zapewniania pożądanych reakcji na podstawie zadanych warunków, a przy tym są szybsze i bardziej niezawodne od jakichkolwiek operacji wykonywanych ręcznie. Jednak ceną za ten postęp jest konieczność poradzenia sobie z większą złożonością. To książka przeznaczona dla osób, które chcą z powodzeniem uruchomić Kubernetes w środowisku produkcyjnym jako platformę dla aplikacji przedsiębiorstwa. Zawiera wiele wniosków płynących z praktycznych doświadczeń autorów, omawia też kluczowe wyzwania i najlepsze praktyki. Pokazuje, w jaki sposób można sobie poradzić z różnymi kwestiami związanymi z technologiami, abstrakcjami i ze wzorcami, aby bez zbędnych problemów osiągnąć sukces w swoim wdrożeniu. Proces projektowy i wdrożeniowy potraktowano tu z dużą dozą pragmatyzmu i zwrócono uwagę na jego wczesne etapy. Omówiono także wiele punktów decyzyjnych i potencjalne przyczyny problemów, a poszczególne zagadnienia zostały poparte praktycznymi przykładami. W książce między innymi: podstawy projektowania platform opartych na Kubernetesie praktyczne aspekty rozwiązywania problemów podczas budowania platformy wykorzystywanie architektury Kubernetesa w rozwijaniu platformy prowadzenie analiz przedprojektowych zasady wyboru stosowanych narzędzi i abstrakcji podczas pracy z Kubernetesem typowe opcje narzędziowe i kompromisy projektowe Kubernetes: zbuduj najlepsze środowisko dla aplikacji w swojej firmie

247
Ebook

Large-Scale Scrum. Zwinne zarządzanie dużym projektem z LeSS

Craig Larman, Bas Vodde

Large-Scale Scrum. Zwinne zarządzanie dużym projektem Scrum stoi w opozycji do tradycyjnych, hierarchicznych sposobów zarządzania procesami rozwoju oprogramowania. Pozwala na uzyskanie elastyczności i szybkości działania, dzięki czemu możliwe jest zaspokojenie coraz bardziej złożonych wymagań klientów. Metody zwinne doskonale sprawdzają się również w większej skali. Large-Scale Scrum, czyli LeSS, umożliwia pomyślne zarządzanie olbrzymimi międzynarodowymi projektami o dużej złożoności technicznej dzięki prostocie, skupieniu się na najistotniejszych aspektach zagadnień, a przede wszystkim dzięki ciągłemu zwracaniu uwagi na doskonałość techniczną. Niniejsza książka jest przeznaczona dla każdego, kto chce poznać praktyczne aspekty wdrażania LeSS w procesach rozwijania oprogramowania. Jest szczególnie wartościowa dla osób zarządzających dużymi, skomplikowanymi projektami. Poza wyjaśnieniem koncepcji i zasad Scruma przedstawiono tu wnioski płynące z wielu lat doświadczeń wdrażania LeSS w przeróżnych organizacjach. Pokazano, jak można zapewnić, że dostarczony produkt będzie wyższej jakości, będzie prezentował wartości szczególnie cenne dla klienta, zespół będzie pracował wydajniej, elastyczniej i w o wiele prostszy sposób, a poszczególne cele będą osiągane przy znacznie mniejszej formalizacji! Najważniejsze zagadnienia: podstawowe pojęcia LeSS, obowiązujące reguły i zasady techniki skalowania procesów zwinnych zarządzanie pracą zespołów stosujących Scrum stosowanie frameworka LeSS Huge zasady pracy Mistrza Młyna sprinty LeSS Craig Larman urodził się w Kanadzie. Specjalizuje się w kilku technikach projektowania oprogramowania, w tym również w metodykach zwinnych. Jest uznanym konsultantem i autorem wielu książek dotyczących rozwoju oprogramowania. Jako współtwórca LeSS od kilku lat angażuje się we wdrażanie tej metody w różnych organizacjach. Bas Vodde urodził się w Holandii, obecnie mieszka w Singapurze. Jest trenerem, konsultantem, programistą i autorem książek. Specjalizuje się we wdrażaniu nowoczesnych technik rozwijania aplikacji, przede wszystkim w metodykach zwinnych. Wdrażał metodę Scrum w wielu różnych firmach, w tym w Nokia Networks. LeSS: przygotuj swój zespół na sukces w dużej skali!

248
Ebook

Lean Mobile App Development. Apply Lean startup methodologies to develop successful iOS and Android apps

Mike van Drongelen, Aravind Krishnaswamy

Lean is the ultimate methodology for creating a startup that succeeds. Sounds great from a theoretical point of view, but what does that mean for you as an a technical co-founder or mobile developer? By applying the Lean Start-up methodology to your mobile App development, it will become so much easier to build apps that take Google Play or the App Store by storm. This book shows you how to bring together smarter business processes with technical know-how.It makes no sense to develop a brilliant app for six months or longer only to find out later that nobody is interested in it. Build a Minimum Viable Product (MVP) first. Validate your hypotheses early and often. Discover effective product development strategies that let you put Facebook's famous axiom move fast and break thingsinto practice. A great app without visibility and marketing clout is nothing, so use this book to market your app, making use of effective metrics that help you track and iterate all aspects of project performance.

249
Ebook

Learn Amazon SageMaker. A guide to building, training, and deploying machine learning models for developers and data scientists

Julien Simon, Francesco Pochetti

Amazon SageMaker enables you to quickly build, train, and deploy machine learning (ML) models at scale, without managing any infrastructure. It helps you focus on the ML problem at hand and deploy high-quality models by removing the heavy lifting typically involved in each step of the ML process. This book is a comprehensive guide for data scientists and ML developers who want to learn the ins and outs of Amazon SageMaker.You’ll understand how to use various modules of SageMaker as a single toolset to solve the challenges faced in ML. As you progress, you’ll cover features such as AutoML, built-in algorithms and frameworks, and the option for writing your own code and algorithms to build ML models. Later, the book will show you how to integrate Amazon SageMaker with popular deep learning libraries such as TensorFlow and PyTorch to increase the capabilities of existing models. You’ll also learn to get the models to production faster with minimum effort and at a lower cost. Finally, you’ll explore how to use Amazon SageMaker Debugger to analyze, detect, and highlight problems to understand the current model state and improve model accuracy.By the end of this Amazon book, you’ll be able to use Amazon SageMaker on the full spectrum of ML workflows, from experimentation, training, and monitoring to scaling, deployment, and automation.

250
Ebook

Learn ARCore - Fundamentals of Google ARCore. Learn to build augmented reality apps for Android, Unity, and the web with Google ARCore 1.0

Micheal Lanham

Are you a mobile developer or web developer who wants to create immersive and cool Augmented Reality apps with the latest Google ARCore platform? If so, this book will help you jump right into developing with ARCore and will help you create a step by step AR app easily. This book will teach you how to implement the core features of ARCore starting from the fundamentals of 3D rendering to more advanced concepts such as lighting, shaders, Machine Learning, and others. We’ll begin with the basics of building a project on three platforms: web, Android, and Unity. Next, we’ll go through the ARCore concepts of motion tracking, environmental understanding, and light estimation. For each core concept, you’ll work on a practical project to use and extend the ARCore feature, from learning the basics of 3D rendering and lighting to exploring more advanced concepts. You’ll write custom shaders to light virtual objects in AR, then build a neural network to recognize the environment and explore even grander applications by using ARCore in mixed reality. At the end of the book, you’ll see how to implement motion tracking and environment learning, create animations and sounds, generate virtual characters, and simulate them on your screen.

251
Ebook

Learn Bosque Programming. Boost your productivity and software reliability with Microsoft’s new open-source programming language

Sebastian Kaczmarek, Joel Ibaceta

Bosque is a new high-level programming language inspired by the impact of structured programming in the 1970s. It adopts the TypeScript syntax and ML semantics and is designed for writing code that is easy to reason about for humans and machines. With this book, you'll understand how Bosque supports high productivity and cloud-first development by removing sources of accidental complexity and introducing novel features.This short book covers all the language features that you need to know to work with Bosque programming. You'll learn about basic data types, variables, functions, operators, statements, and expressions in Bosque and become familiar with advanced features such as typed strings, bulk algebraic data operations, namespace declarations, and concept and entity declarations. This Bosque book provides a complete language reference for learning to program with Bosque and understanding the regularized programming paradigm. You'll also explore real-world examples that will help you to reinforce the knowledge you've acquired. Additionally, you'll discover more advanced topics such as the Bosque project structure and contributing to the project.By the end of this book, you'll have learned how to configure the Bosque environment and build better and reliable software with this exciting new open-source language.

252
Ebook

Learn Data Structures and Algorithms with Golang. Level up your Go programming skills to develop faster and more efficient code

Bhagvan Kommadi

Golang is one of the fastest growing programming languages in the software industry. Its speed, simplicity, and reliability make it the perfect choice for building robust applications. This brings the need to have a solid foundation in data structures and algorithms with Go so as to build scalable applications. Complete with hands-on tutorials, this book will guide you in using the best data structures and algorithms for problem solving.The book begins with an introduction to Go data structures and algorithms. You'll learn how to store data using linked lists, arrays, stacks, and queues. Moving ahead, you'll discover how to implement sorting and searching algorithms, followed by binary search trees. This book will also help you improve the performance of your applications by stringing data types and implementing hash structures in algorithm design. Finally, you'll be able to apply traditional data structures to solve real-world problems.By the end of the book, you'll have become adept at implementing classic data structures and algorithms in Go, propelling you to become a confident Go programmer.

253
Ebook

Learn ECMAScript. Discover the latest ECMAScript features in order to write cleaner code and learn the fundamentals of JavaScript - Second Edition

MEHUL MOHAN, Narayan Prusty

Learn ECMAScript explores implementation of the latest ECMAScript features to add to your developer toolbox, helping you to progress to an advanced level. Learn to add 1 to a variable andsafely access shared memory data within multiple threads to avoid race conditions.You’ll start the book by building on your existing knowledge of JavaScript, covering performing arithmetic operations, using arrow functions and dealing with closures. Next, you will grasp the most commonly used ECMAScript skills such as reflection, proxies, and classes. Furthermore, you’ll learn modularizing the JS code base, implementing JS on the web and how the modern HTML5 + JS APIs provide power to developers on the web. Finally, you will learn the deeper parts of the language, which include making JavaScript multithreaded with dedicated and shared web workers, memory management, shared memory, and atomics. It doesn’t end here; this book is 100% compatible with ES.Next.By the end of this book, you'll have fully mastered all the features of ECMAScript!

254
Ebook

Learn Grafana 7.0. A beginner's guide to getting well versed in analytics, interactive dashboards, and monitoring

Eric Salituro

Grafana is an open-source analytical platform used to analyze and monitoring time-series data. This beginner's guide will help you get to grips with Grafana's new features for querying, visualizing, and exploring metrics and logs no matter where they are stored.The book begins by showing you how to install and set up the Grafana server. You'll explore the working mechanism of various components of the Grafana interface along with its security features, and learn how to visualize and monitor data using, InfluxDB, Prometheus, Logstash, and Elasticsearch. This Grafana book covers the advanced features of the Graph panel and shows you how Stat, Table, Bar Gauge, and Text are used. You'll build dynamic dashboards to perform end-to-end analytics and label and organize dashboards into folders to make them easier to find. As you progress, the book delves into the administrative aspects of Grafana by creating alerts, setting permissions for teams, and implementing user authentication. Along with exploring Grafana's multi-cloud monitoring support, you'll also learn about Grafana Loki, which is a backend logger for users running Prometheus and Kubernetes.By the end of this book, you'll have gained all the knowledge you need to start building interactive dashboards.

255
Ebook

Learn Helm. Improve productivity, reduce complexity, and speed up cloud-native adoption with Helm for Kubernetes

Andrew Block, Austin Dewey

Containerization is currently known to be one of the best ways to implement DevOps. While Docker introduced containers and changed the DevOps era, Google developed an extensive container orchestration system, Kubernetes, which is now considered the frontrunner in container orchestration. With the help of this book, you’ll explore the efficiency of managing applications running on Kubernetes using Helm.Starting with a short introduction to Helm and how it can benefit the entire container environment, you’ll then delve into the architectural aspects, in addition to learning about Helm charts and its use cases. You’ll understand how to write Helm charts in order to automate application deployment on Kubernetes. Focused on providing enterprise-ready patterns relating to Helm and automation, the book covers best practices for application development, delivery, and lifecycle management with Helm.By the end of this Kubernetes book, you will have learned how to leverage Helm to develop an enterprise pattern for application delivery.

256
Ebook

Learn LLVM 12. A beginner's guide to learning LLVM compiler tools and core libraries with C++

Kai Nacke

LLVM was built to bridge the gap between compiler textbooks and actual compiler development. It provides a modular codebase and advanced tools which help developers to build compilers easily. This book provides a practical introduction to LLVM, gradually helping you navigate through complex scenarios with ease when it comes to building and working with compilers.You’ll start by configuring, building, and installing LLVM libraries, tools, and external projects. Next, the book will introduce you to LLVM design and how it works in practice during each LLVM compiler stage: frontend, optimizer, and backend. Using a subset of a real programming language as an example, you will then learn how to develop a frontend and generate LLVM IR, hand it over to the optimization pipeline, and generate machine code from it. Later chapters will show you how to extend LLVM with a new pass and how instruction selection in LLVM works. You’ll also focus on Just-in-Time compilation issues and the current state of JIT-compilation support that LLVM provides, before finally going on to understand how to develop a new backend for LLVM.By the end of this LLVM book, you will have gained real-world experience in working with the LLVM compiler development framework with the help of hands-on examples and source code snippets.

257
Ebook

Learn OpenCV 4 By Building Projects. Build real-world computer vision and image processing applications with OpenCV and C++ - Second Edition

David Millán Escrivá, Vinícius G. Mendonça, Prateek Joshi

OpenCV is one of the best open source libraries available, and can help you focus on constructing complete projects on image processing, motion detection, and image segmentation. Whether you’re completely new to computer vision, or have a basic understanding of its concepts, Learn OpenCV 4 by Building Projects – Second edition will be your guide to understanding OpenCV concepts and algorithms through real-world examples and projects. You’ll begin with the installation of OpenCV and the basics of image processing. Then, you’ll cover user interfaces and get deeper into image processing. As you progress through the book, you'll learn complex computer vision algorithms and explore machine learning and face detection. The book then guides you in creating optical flow video analysis and background subtraction in complex scenes. In the concluding chapters, you'll also learn about text segmentation and recognition and understand the basics of the new and improved deep learning module.By the end of this book, you'll be familiar with the basics of Open CV, such as matrix operations, filters, and histograms, and you'll have mastered commonly used computer vision techniques to build OpenCV projects from scratch.

258
Ebook

Learn OpenGL. Beginner's guide to 3D rendering and game development with OpenGL and C++

Frahaan Hussain

Learn OpenGL is your one-stop reference guide to get started with OpenGL and C++ for game development. From setting up the development environment to getting started with basics of drawing and shaders, along with concepts such as lighting, model loading, and cube mapping, this book will get you up to speed with the fundamentals.You begin by setting up your development environment to use OpenGL on Windows and macOS. With GLFW and GLEW set up using absolute and relative linking done, you are ready to setup SDL and SFML for both the operating systems.Now that your development environment is set up, you'll learn to draw using simple shaders as well as make the shader more adaptable and reusable. Then we move on to more advanced topics like texturing your objects with images and transforming your objects using translate, rotate and scale.With these concepts covered, we'll move on to topics like lighting to enable you to incorporate amazing dynamic lights in your game world.By the end of the book, you'll learn about model loading, right from setting up ASSIMP to learning about the model class and loading a model in your game environment. We will conclude by understanding cube mapping to bring advance worlds to your game.

259
Ebook

Learn Programming in Python with Cody Jackson. Grasp the basics of programming and Python syntax while building real-world applications

Cody Jackson

Python is a cross-platform language used by organizations such as Google and NASA. It lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. Based on his personal experiences when learning to program, Learn Programming in Python with Cody Jackson provides a hands-on introduction to computer programming utilizing one of the most readable programming languages–Python. It aims to educate readers regarding software development as well as help experienced developers become familiar with the Python language, utilizing real-world lessons to help readers understand programming concepts quickly and easily. The book starts with the basics of programming, and describes Python syntax while developing the skills to make complete programs. In the first part of the book, readers will be going through all the concepts with short and easy-to-understand code samples that will prepare them for the comprehensive application built in parts 2 and 3. The second part of the book will explore topics such as application requirements, building the application, testing, and documentation. It is here that you will get a solid understanding of building an end-to-end application in Python. The next part will show you how to complete your applications by converting text-based simulation into an interactive, graphical user interface, using a desktop GUI framework. After reading the book, you will be confident in developing a complete application in Python, from program design to documentation to deployment.

260
Ebook

Learn QT 5. Build modern, responsive cross-platform desktop applications with Qt, C++, and QML

Nicholas Sherriff

Qt is a mature and powerful framework for delivering sophisticated applications across a multitude of platforms. It has a rich history in the Linux world, is widely used in embedded devices, and has made great strides in the Mobile arena over the past few years. However, in the Microsoft Windows and Apple Mac OS X worlds, the dominance of C#/.NET and Objective-C/Cocoa means that Qt is often overlooked.This book demonstrates the power and flexibility of the Qt framework for desktop application development and shows how you can write your application once and deploy it to multiple operating systems. Build a complete real-world line of business (LOB) solution from scratch, with distinct C++ library, QML user interface, and QtTest-driven unit-test projects.This is a suite of essential techniques that cover the core requirements for most LOB applications and will empower you to progress from a blank page to shipped application.

261
Ebook

Learn Robotics Programming. Build and control AI-enabled autonomous robots using the Raspberry Pi and Python - Second Edition

Danny Staple

We live in an age where the most complex or repetitive tasks are automated. Smart robots have the potential to revolutionize how we perform all kinds of tasks with high accuracy and efficiency. With this second edition of Learn Robotics Programming, you'll see how a combination of the Raspberry Pi and Python can be a great starting point for robot programming.The book starts by introducing you to the basic structure of a robot and shows you how to design, build, and program it. As you make your way through the book, you'll add different outputs and sensors, learn robot building skills, and write code to add autonomous behavior using sensors and a camera. You'll also be able to upgrade your robot with Wi-Fi connectivity to control it using a smartphone. Finally, you'll understand how you can apply the skills that you've learned to visualize, lay out, build, and code your future robot building projects.By the end of this book, you'll have built an interesting robot that can perform basic artificial intelligence operations and be well versed in programming robots and creating complex robotics projects using what you've learned.

262
Ebook

Learn Spring for Android Application Development. Build robust Android applications with Kotlin 1.3 and Spring 5

S. M. Mohi Us Sunnat, Igor Kucherenko

As the new official language for Android, Kotlin is attracting new as well as existing Android developers. As most developers are still working with Java and want to switch to Kotlin, they find a combination of these two appealing. This book addresses this interest by bringing together Spring, a widely used Java SE framework for building enterprise-grade applications, and Kotlin.Learn Spring for Android Application Development will guide you in leveraging some of the powerful modules of the Spring Framework to build lightweight and robust Android apps using Kotlin. You will work with various modules, such as Spring AOP, Dependency Injection, and Inversion of Control, to develop applications with better dependency management. You’ll also explore other modules of the Spring Framework, such as Spring MVC, Spring Boot, and Spring Security. Each chapter has practice exercises at the end for you to assess your learning.By the end of the book, you will be fully equipped to develop Android applications with Spring technologies.

263
Ebook

Learn Three.js. Programming 3D animations and visualizations for the web with HTML5 and WebGL - Third Edition

Jos Dirksen

WebGL makes it possible to create 3D graphics in the browser without having to use plugins such as Flash and Java. Programming WebGL, however, is difficult and complex. With Three.js, it is possible to create stunning 3D graphics in an intuitive manner using JavaScript, without having to learn WebGL. With this book, you’ll learn how to create and animate beautiful looking 3D scenes directly in your browser-utilizing the full potential of WebGL and modern browsers. It starts with the basic concepts and building blocks used in Three.js. From there on, it will expand on these subjects using extensive examples and code samples. You will learn to create, or load, from externally created models, realistic looking 3D objects using materials and textures. You’ll find out how to easily control the camera using the Three.js built-in in camera controls, which will enable you to fly or walk around the 3D scene you created. You will then use the HTML5 video and canvas elements as a material for your 3D objects and to animate your models. Finally, you will learn to use morph and skeleton-based animation, and even how to add physics, such as gravity and collision detection, to your scene. After reading this book, you’ll know everything that is required to create 3D animated graphics using Three.js.

264
Ebook

Learn Type-Driven Development. Benefit from type systems to build reliable and safe applications using ReasonML 3

Yawar Amin, Kamon Ayeva

Type-driven development is an approach that uses a static type system to achieve results including safety and efficiency. Types are used to express relationships and other assumptions directly in the code, and these assumptions are enforced by the compiler before the code is run. Learn Type-Driven Development covers how to use these type systems to check the logical consistency of your code. This book begins with the basic idea behind type-driven development. You’ll learn about values (or terms) and how they contrast with types. As you progress through the chapters, you’ll cover how to combine types and values inside modules and build structured types out of simpler ones. You’ll then understand how to express choices or alternatives directly in the type system using variants, polymorphic variants, and generalized algebraic data types. You’ll also get to grips with sum types, build sophisticated data types from generics, and explore functions that express change in the types of values. In the concluding chapters, you’ll cover advanced techniques for code reuse, such as parametric polymorphism and subtyping.By end of this book, you will have learned how to iterate through a type-driven process of solving coding problems using static types, together with dynamic behavior, to obtain more safety and speed.