C++
Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami
Maciej Matyka
Od dekad C++ pozostaje jednym z dwóch najważniejszych języków, jeśli chodzi o programowanie systemowe, ale też aplikacyjne. Bez niego nie byłoby Windowsa, Excela, Photoshopa ani dużej części oprogramowania bazodanowego na czele z MySQL. A bez nich trudno sobie wyobrazić funkcjonowanie dzisiejszego świata. Nic więc dziwnego, że C++ od lat pozostaje obiektem zainteresowania programistów - w branży IT niezmiennie utrzymuje się silna potrzeba, aby doskonalić umiejętności programowania w tym języku. Z pomocą przychodzi ta książka - Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami to zbiór blisko 650 praktycznych zadań doskonalących znajomość języka C++ i umiejętności programistyczne. Układem nawiązuje do podręczników szachowych, które na konkretnych przykładach przybliżają obowiązujące zasady. Zawartość została podzielona na dwie części. Pierwsza zapoznaje z podstawowymi motywami, jak klasy, funkcje czy biblioteki standardowe. Druga część zawiesza poprzeczkę wyżej i wymaga więcej wysiłku - tym bardziej jednak zachęca do zaangażowania się w rozwiązywanie problemów, co w praktyce wprost przełoży się na podniesienie kompetencji programistycznych. Dzięki książce: zrozumiesz działanie programów nauczysz się wyszukiwać błędy w kodzie poznasz kluczowe motywy języka C++ wyniesiesz swoje umiejętności na nowy, wyższy poziom Setki łamigłówek czekają!
Stephen Pearson
Ready to unleash the power of visual effects? From explosive movie scenes to mind-bending game animations, this second edition pushes Blender 4.0+ beyond what you thought possible. Featuring a brand-new chapter on combining multiple simulations for a burning effect and updated guidance on rendering with EEVEE, this book takes your Blender expertise to new heights.While Blender excels in 3D modeling and animation, this guide focuses specifically on VFX, helping you master realistic simulations using EEVEE and Cycles. You'll explore five physics-based simulations—Fluid, Rigid Body, Soft Body, Cloth, and Dynamic Paint—learning essential settings, troubleshooting techniques, and practical workflows. Through nine hands-on projects, including fire, waterfalls, and explosions, you’ll develop the skills to create stunning digital effects. Written by a VFX specialist who has taught thousands through best-selling courses, this book will help you build an impressive portfolio of professional-quality VFX projects in Blender and bring your creative visions to life!*Email sign-up and proof of purchase required
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.
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.
Learn QGIS. Techniques for efficient spatial analysis - Fifth Edition
Eugenia Sarafova, Ivan Ivanov, Andrew Cutts, Anita...
Spatial data is everywhere, requiring professionals from various fields to capture, visualize, and analyze spatial datasets from a myriad of sources. In this fifth edition of Learn QGIS, the authors draw from their vast experience in geospatial technologies to guide you through the most essential data editing, mapping, and analysis tools available in the world’s most popular free and open-source geographic information system (GIS) software.This updated edition incorporates the latest advancements in QGIS, comprehensively guiding you through creating, visualizing, and analyzing spatial datasets. Starting with data creation and editing, the book explores map projections, spatial data sources, and visualization techniques. You’ll develop expertise in cartographic principles, conduct spatial analysis for environmental and socioeconomic applications, and work with Earth Observation data from Copernicus and NASA.The addition of new topics such as field data collection, data security, and ethical considerations ensures that you stay ahead of modern GIS challenges. The book also introduces AI in GIS, enabling you to leverage machine learning for geospatial data science tasks.By the end of this QGIS book, you’ll have become proficient in geospatial analysis using QGIS and Python.
Learn WebAssembly. Build web applications with native performance using Wasm and C/C++
Mike Rourke
WebAssembly is a brand-new technology that represents a paradigm shift in web development. This book teaches programmers to leverage this technology to write high-performance applications that run in the browser. This book introduces you to powerful WebAssembly concepts to help you write lean and powerful web applications with native performance. You start with the evolution of web programming, the state of things today, and what can be done with the advent and release of WebAssembly. We take a look at the journey from JavaScript to asm.js to WebAssembly. We then move on to analyze the anatomy of a WebAssembly module and the relationship between binary and text formats, along with the corresponding JavaScript API. Further on, you'll implement all the techniques you've learned to build a high-performance application using C and WebAssembly, and then port an existing game written in C++ to WebAssembly using Emscripten. By the end of this book, you will be well-equipped to create high-performance applications and games for the web using WebAssembly.
Arindam Mukherjee
If you are a C++ programmer who has never used Boost libraries before, this book will get you up-to-speed with using them. Whether you are developing new C++ software or maintaining existing code written using Boost libraries, this hands-on introduction will help you decide on the right library and techniques to solve your practical programming problems.
Wisnu Anggoro
Functional programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of C++, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the C++ 17 features that can be applied to build software in a functional way.The book is divided into three modules—the first introduces the fundamentals of functional programming and how it is supported by modern C++. The second module explains how to efficiently implement C++ features such as pure functions and immutable states to build robust applications. The last module describes how to achieve concurrency and apply design patterns to enhance your application’s performance. Here, you will also learn to optimize code using metaprogramming in a functional way.By the end of the book, you will be familiar with the functional approach of programming and will be able to use these techniques on a daily basis.