C++
Książki z kategorii C++ przedstawiają szereg zasad programowania obiektowego z użyciem języka C++, poparte interesującymi przykładami i ćwiczeniami.
Poznacie pochodzenie i konstrukcję samego języka oraz jego elementy. Dowiecie się czym są instrukcje warunkowe, jak działają mechanizmy dziedziczenia oraz jak poprawnie zdefiniować obiekty i klasy. Odkryjecie tajniki kluczowych składników standardu ANSI/ISO, przeczytacie jak sprawnie dopasować wyrażenia regularne, a pojęcia jak kontenery, iteratory, wektory czy poliformizm staną się mniej abstrakcyjne.
Marius Bancila
C++ has come a long way to be one of the most widely used general-purpose languages that is fast, efficient, and high-performance at its core.The updated second edition of Modern C++ Programming Cookbook addresses the latest features of C++20, such as modules, concepts, coroutines, and the many additions to the standard library, including ranges and text formatting. The book is organized in the form of practical recipes covering a wide range of problems faced by modern developers.The book also delves into the details of all the core concepts in modern C++ programming, such as functions and classes, iterators and algorithms, streams and the file system, threading and concurrency, smart pointers and move semantics, and many others. It goes into the performance aspects of programming in depth, teaching developers how to write fast and lean code with the help of best practices.Furthermore, the book explores useful patterns and delves into the implementation of many idioms, including pimpl, named parameter, and attorney-client, teaching techniques such as avoiding repetition with the factory pattern. There is also a chapter dedicated to unit testing, where you are introduced to three of the most widely used libraries for C++: Boost.Test, Google Test, and Catch2.By the end of the book, you will be able to effectively leverage the features and techniques of C++11/14/17/20 programming to enhance the performance, scalability, and efficiency of your applications.
Marius Bancila
C++ is one of the most widely used programming languages. Fast, efficient, and flexible, it is used to solve many problems. The latest versions of C++ have seen programmers change the way they code, giving up on the old-fashioned C-style programming and adopting modern C++ instead.Beginning with the modern language features, each recipe addresses a specific problem, with a discussion that explains the solution and offers insight into how it works. You will learn major concepts about the core programming language as well as common tasks faced while building a wide variety of software. You will learn about concepts such as concurrency, performance, meta-programming, lambda expressions, regular expressions, testing, and many more in the form of recipes. These recipes will ensure you can make your applications robust and fast.By the end of the book, you will understand the newer aspects of C++11/14/17 and will be able to overcome tasks that are time-consuming or would break your stride while developing.
Modern CMake for C++. Discover a better approach to building, testing, and packaging your software
Rafał Świdziński
Creating top-notch software is an extremely difficult undertaking. Developers researching the subject have difficulty determining which advice is up to date and which approaches have already been replaced by easier, better practices. At the same time, most online resources offer limited explanation, while also lacking the proper context and structure.This book offers a simpler, more comprehensive, experience as it treats the subject of building C++ solutions holistically. Modern CMake for C++ is an end-to-end guide to the automatization of complex tasks, including building, testing, and packaging. You'll not only learn how to use the CMake language in CMake projects, but also discover what makes them maintainable, elegant, and clean. The book also focuses on the structure of source directories, building targets, and packages. As you progress, you’ll learn how to compile and link executables and libraries, how those processes work, and how to optimize builds in CMake for the best results. You'll understand how to use external dependencies in your project – third-party libraries, testing frameworks, program analysis tools, and documentation generators. Finally, you'll get to grips with exporting, installing, and packaging for internal and external purposes.By the end of this book, you’ll be able to use CMake confidently on a professional level.
Rafał Świdziński, Alexander Kushnir
Modern CMake for C++ isn't just another reference book, or a repackaging of the documentation, but a blueprint to bridging the gap between learning C++ and being able to use it in a professional setting. It's an end-to-end guide to the automation of complex tasks, including building, testing, and packaging software.This second edition is significantly rewritten, restructured and refreshed with latest additions to CMake, such as support of C++20 Modules.In this book, you'll not only learn how to use the CMake language in CMake projects but also discover how to make those projects maintainable, elegant, and clean. As you progress, you'll dive into the structure of source directories, building targets, and packages, all while learning how to compile and link executables and libraries. You'll also gain a deeper understanding of how those processes work and how to optimize builds in CMake for the best results. You'll discover how to use external dependencies in your project – third-party libraries, testing frameworks, program analysis tools, and documentation generators. Finally, you'll gain profi ciency in exporting, installing, and packaging for internal and external purposes.By the end of this book, you'll be able to use CMake confi dently at a professional level.
Nowoczesne aplikacje internetowe. MongoDB, Express, AngularJS, Node.js
Jeff Dickey
Poznaj nowe podejście do aplikacji internetowych! Tradycyjne aplikacje internetowe składały się z dwóch elementów — ciężkiego back-endu odpowiadającego za przetwarzanie danych, ich walidację i przechowywanie oraz z klienta, którego zadaniem była prosta komunikacja z użytkownikiem. To rozwiązanie rodziło liczne kłopoty — przede wszystkim ze skalowaniem. Od nowoczesnych aplikacji użytkownicy wymagają najwyższej wydajności, niezawodności, możliwości działania w trybie offline oraz wygody użytkowania. Tradycyjne podejście do tworzenia aplikacji już się nie sprawdza. Potrzebujesz czegoś nowego! Na ratunek przychodzi drużyna — MongoDB, Express, AngularJS oraz Node.js. Dzięki temu zestawowi narzędzi będziesz w stanie stworzyć zaawansowaną aplikację z wygodnym interfejsem użytkownika oraz szerokimi możliwościami skalowania. Wystarczy, że sięgniesz po tę książkę i przyswoisz sobie zawartą w niej wiedzę. W publikacji znajdziesz odpowiedź na wiele pytań: Dlaczego warto wybrać AngularJS? Czym się charakteryzują bazy NoSQL? W jakich sytuacjach bazy NoSQL są lepsze od tradycyjnych baz relacyjnych? Dlaczego Node.js jest tak szybki? Ponadto nauczysz się budować wydajne API, integrować Node.js z AngularJS, automatyzować zadania za pomocą pakietu Gulp oraz korzystać z zaawansowanych mechanizmów autoryzacji. Na sam koniec zaznajomisz się z dobrymi praktykami — testami API, klienta oraz uruchomisz przygotowaną aplikację na serwerze produkcyjnym. Ta książka jest doskonałą lekturą, która zaprezentuje Ci każdy z elementów nowoczesnej aplikacji internetowej. Dzięki tej książce: Poznasz możliwości AngularJS oraz Node.js Przekonasz się, dlaczego warto wybrać MongoDB Przygotujesz praktyczne API w Node.js Poznasz narzędzie Gulp Wykorzystasz JSON Web Token do uwierzytelniania Przetestujesz aplikację Nauczysz się tworzyć nowoczesne aplikacje internetowe! Aplikacje internetowe już nigdy nie będą takie same! Jeff Dickey — wszechstronny programista sieciowy. Doświadczenie zdobywał przy pracy z licznymi start-upami z okolic San Francisco i Los Angeles. Obecnie prowadzi zespoły programistów i opracowuje projekty. Unika biurokracji, jest zaangażowany w serię spotkań Code for America Brigade w Los Angeles.
Nowoczesny C++. Zbiór praktycznych zadań dla przyszłych ekspertów
Marius Bancila
C++ jest dojrzałym językiem programowania, od wielu lat wykorzystywanym przez profesjonalnych programistów do wielu różnych zastosowań, włączając w to pisanie gier, programowanie GUI czy tworzenie złożonych aplikacji użytkowych. Zaprojektowano go pod kątem maksymalizowania wydajności, jest więc najczęściej wybieranym językiem w sytuacjach, w których najważniejsza jest efektywność działania kodu. Aby jednak wykorzystać te zalety C++, trzeba nauczyć się nim posługiwać. A biegłość w posługiwaniu się językiem programowania przychodzi dzięki regularnym ćwiczeniom i ciągłemu testowaniu nabytych umiejętności. Innymi słowy, trzeba rozwiązywać jak najwięcej różnorodnych, rzeczywistych i praktycznych zadań problemowych. W tej książce zawarto zestaw 100 zadań o różnym poziomie trudności, ułożonych w taki sposób, aby podczas rozwiązywania móc skorzystać z bogactwa standardowej biblioteki C++ oraz z wielu zewnętrznych bibliotek wieloplatformowych. Zadania rozmieszczono w 12 rozdziałach, z których każdy dotyczy określonego tematu. Są to problemy, których odpowiednie rozwiązanie warunkuje poprawne działanie aplikacji, takie jak bezpieczna komunikacja, szyfrowanie i autoryzacja danych, korzystanie z wątków i funkcji asynchronicznych czy implementacja algorytmów współbieżnych. Proponowane zagadnienia zostały dokładnie opisane, uwzględniono również szereg zaleceń, wyjaśnień i wskazówek. Na wypadek gdyby wykonanie któregoś zadania sprawiało trudności, do książki dołączono kod źródłowy przykładowych rozwiązań. Ważniejsze zagadnienia ujęte w książce: serializacja i deserializacja danych JSON i XML praca z bazą danych SQLite implementacja takich struktur jak bufor cykliczny i kolejka priorytetowa usługi REST i HTTP wzorce projektowe w rozwiązywaniu problemów Oto C++. Podejmiesz wyzwanie i napiszesz kod!
Nowoczesny C++ do zastosowań finansowych. Podstawy programowania ilościowego
Daniel Hanson
Książka ta demonstruje, dlaczego C++ jest nadal jednym z dominujących języków, którego jakość pozwala na wytwarzanie aplikacji i systemów finansowych. Wielu programistów uważa język C++ za zbyt trudny do opanowania. Autor, Daniel Hanson, zaprzecza tym opiniom, pokazując nowoczesne cechy standardu C++ dodawane od 2011 roku. Programiści finansowi dowiedzą się, jak wykorzystać abstrakcje C++ umożliwiające bezpieczną implementację modeli finansowych. Poznasz również popularne biblioteki open source, które zapewniają dodatkowe środki do atakowania problemów matematycznych. Programiści C++ nieznający aplikacji finansowych również skorzystają z tego poręcznego przewodnika. - Nauka podstaw języka C++ z nowoczesnej perspektywy: składnia, dziedziczenie, polimorfizm, kompozycja, kontenery STL i algorytmy - Zanurzenie w nowszych cechach i abstrakcjach, w tym programowaniu funkcyjnym przy użyciu wyrażeń lambda, współbieżności opartej na zadaniach, a także inteligentnych wskaźnikach - Implementacja podstawowych procedur numerycznych w nowoczesnym C++ - Zrozumienie najlepszych praktyk w zakresie pisania czystego i wydajnego kodu Daniel Hanson przez ponad dwie dekady zajmował się modelowaniem finansowym i wytwarzaniem oprogramowania, głównie przy implementacji modeli wyceny opcji i ryzyka portfelowego w języku C++. Następnie został wykładowcą kierunku Computational Finance and Risk Management na Uniwersytecie Waszyngtońskim, gdzie prowadził zajęcia z programowania ilościowego w językach C++ i R, a także szkolenia z modelowania finansowego i strategii handlowych.
Od matematyki do programowania. Wszystko, co każdy programista wiedzieć powinien
Wiesław Rychlicki
"Wędrówka do źródła kodu" Popularna definicja programowania określa je jako "proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych". Wspomniany kod źródłowy może być napisany w różnych językach programowania, z użyciem określonych reguł. Każdy z języków pozwala na wykorzystanie odpowiednich stylów programowania, a wybór konkretnego języka może zależeć od indywidualnych upodobań, polityki firmy lub funkcji, jakie końcowa aplikacja ma realizować. W zasadzie nie istnieje odpowiedź na pytanie, który z języków jest najlepszy. Dlatego w tej książce nie znajdziesz typowego abecadła. Zapoznasz się za to z danym problemem, a następnie programem komputerowym służącym do jego rozwiązania. Jeśli chcesz wreszcie rozpocząć przygodę z programowaniem i nawiązać dialog ze swoim komputerem, ta publikacja jest właśnie dla Ciebie! Różnorodne obliczenia, mniej lub bardziej skomplikowane, znane Ci z lekcji matematyki lub nieznacznie wykraczające poza program nauczania, stanowią tutaj podstawę do zdobywania informacji na temat programowania w wybranych językach. Wybrane zadania zaprezentowane są w popularnych językach programowania: Pascal, C i C++. Stosowane algorytmy wymagają także sięgnięcia po różne funkcje matematyczne, dostępne standardowo w bibliotekach języków programowania oraz konstruowane na podstawie wzorów. Zostań informatycznym poliglotą. Programuj każdego dnia!
Robert Laganiere
Making your applications see has never been easier with OpenCV. With it, you can teach your robot how to follow your cat, write a program to correctly identify the members of One Direction, or even help you find the right colors for your redecoration.OpenCV 3 Computer Vision Application Programming Cookbook Third Edition provides a complete introduction to the OpenCV library and explains how to build your first computer vision program. You will be presented with a variety of computer vision algorithms and exposed to important concepts in image and video analysis that will enable you to build your own computer vision applications.This book helps you to get started with the library, and shows you how to install and deploy the OpenCV library to write effective computer vision applications following good programming practices. You will learn how to read and write images and manipulate their pixels. Different techniques for image enhancement and shape analysis will be presented. You will learn how to detect specific image features such as lines, circles or corners. You will be introduced to the concepts of mathematical morphology and image filtering. The most recent methods for image matching and object recognition are described, and you’ll discover how to process video from files or cameras, as well as how to detect and track moving objects. Techniques to achieve camera calibration and perform multiple-view analysis will also be explained. Finally, you’ll also get acquainted with recent approaches in machine learning and object classification.
OpenCV 3. Komputerowe rozpoznawanie obrazu w C++ przy użyciu biblioteki OpenCV
Adrian Kaehler, Gary Bradski
Komputerowe rozpoznawanie obrazów przechodzi dziś fazę burzliwego rozwoju. Przyczyniają się do tego ogromna popularność cyfrowych aparatów fotograficznych, wielka liczba grafik zgromadzonych w obszernych internetowych bazach danych, a przede wszystkim coraz doskonalsze algorytmy przetwarzania obrazu. W rozwijaniu tej technologii wielką rolę odegrała biblioteka OpenCV, usprawniając pracę setek tysięcy ludzi. OpenCV 3.x ułatwia efektywne rozwijanie projektów dzięki opartej na języku C++ spójnej architekturze, która doskonale działa na wielu platformach. Ta książka, przeznaczona dla osób znających język C++, jest praktycznym wprowadzeniem do otwartej biblioteki OpenCV w wersji 3.x. Zawiera też podstawowe informacje na temat komputerowego rozpoznawania obrazu, co powinno ułatwić efektywne posługiwanie się tą biblioteką. Sama biblioteka OpenCV została przedstawiona w sposób umożliwiający bardzo szybkie rozpoczęcie pracy. Książka ułatwia naturalne zrozumienie działania algorytmów, dzięki czemu projektowanie i debugowanie aplikacji nie powinno sprawiać problemów. W ten sposób książka ta staje się świetnym przygotowaniem do zgłębienia bardziej zaawansowanych zagadnień komputerowego rozpoznawania obrazu i uczenia maszynowego. Najważniejsze zagadnienia: Przegląd biblioteki OpenCV i zawarte w niej funkcje Praca z plikami obrazów, filmów i danych oraz przekształcanie obrazów Ważniejsze algorytmy do pracy na obrazach Punkty kluczowe: wykrywanie i filtrowanie Trójwymiarowe widzenie, ruch, określanie pozycji Uczenie maszyn w OpenCV OpenCV: poznaj i stosuj algorytmy przetwarzania obrazów! Adrian Kaehler jest naukowcem i założycielem start-upów. Zajmuje się uczeniem maszynowym, modelowaniem statystycznym i komputerowym rozpoznawaniem obrazu. Pracuje w Intel Corporation i w Laboratorium Sztucznej Inteligencji Uniwersytetu Stanforda. Współzakładał Silicon Valley Deep Learning Group. Gary Rost Bradski jest naukowcem i konsultantem. Zajmuje się robotyką, uczeniem maszynowym i komputerowym rozpoznawaniem obrazów. Pracuje w Laboratorium Sztucznej Inteligencji Uniwersytetu Stanforda. Współtworzył takie biblioteki jak Open Source Computer Vision Library, Machine Learning Library i Probabilistic Network Library (PNL).
David Wolff
OpenGL 4 Shading Language Cookbook, Third Edition provides easy-to-follow recipes that first walk you through the theory and background behind each technique, and then proceed to showcase and explain the GLSL and OpenGL code needed to implement them.The book begins by familiarizing you with beginner-level topics such as compiling and linking shader programs, saving and loading shader binaries (including SPIR-V), and using an OpenGL function loader library. We then proceed to cover basic lighting and shading effects. After that, you'll learn to use textures, produce shadows, and use geometry and tessellation shaders. Topics such as particle systems, screen-space ambient occlusion, deferred rendering, depth-based tessellation, and physically based rendering will help you tackle advanced topics.OpenGL 4 Shading Language Cookbook, Third Edition also covers advanced topics such as shadow techniques (including the two of the most common techniques: shadow maps and shadow volumes). You will learn how to use noise in shaders and how to use compute shaders.The book provides examples of modern shading techniques that can be used as a starting point for programmers to expand upon to produce modern, interactive, 3D computer-graphics applications.
Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4
Jerzy Grębosz
C++ - mierz wysoko! C++ to jeden z najpopularniejszych i najpotężniejszych języków programowania. Stanowi punkt wyjścia dla wielu innych języków, które odziedziczyły po nim składnię i liczne możliwości, dzięki czemu można śmiało stwierdzić, że znajomość C++ otwiera drzwi do świata nowoczesnego programowania i jest podstawą na wymagającym rynku pracy w branży informatycznej. Czasy się zmieniają, lecz to C++ jest wciąż wybierany wszędzie tam, gdzie liczą się możliwości, elastyczność, wydajność i stabilność. Książka, którą trzymasz w rękach, to kontynuacja genialnego kompendium Opus magnum C++11. Programowanie w języku C++. Autor, wybitny specjalista z ogromnym doświadczeniem w międzynarodowych projektach i twórca niezwykle popularnego podręcznika Symfonia C++, postanowił uzupełnić swoje dzieło o zagadnienia, dla których zabrakło miejsca w poprzednich tomach. Jeśli chcesz poszerzyć wiedzę na temat szablonów oraz poznać możliwości najnowszych standardów języka C++, nie mogłeś lepiej trafić! Najważniejsze informacje o nowych możliwościach języka C++ Praktyczne przykłady zastosowania konstrukcji Ćwiczenia utrwalające zdobytą wiedzę Rusz w kolejną misję z C++ na pokładzie!
Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4. Wydanie II poprawione
Jerzy Grębosz
C++ - mierz wysoko! C++ to jeden z najpopularniejszych i najpotężniejszych języków programowania. Stanowi punkt wyjścia dla wielu innych języków, które odziedziczyły po nim składnię i liczne możliwości, dzięki czemu można śmiało stwierdzić, że znajomość C++ otwiera drzwi do świata nowoczesnego programowania i jest podstawą na wymagającym rynku pracy w branży informatycznej. Czasy się zmieniają, lecz to C++ jest wciąż wybierany wszędzie tam, gdzie liczą się możliwości, elastyczność, wydajność i stabilność. Książka, którą trzymasz w rękach, to kontynuacja genialnego kompendium Opus magnum C++. Programowanie w języku C++. Autor, wybitny specjalista z ogromnym doświadczeniem w międzynarodowych projektach i twórca niezwykle popularnego podręcznika Symfonia C++, postanowił uzupełnić swoje dzieło o zagadnienia, dla których zabrakło miejsca w poprzednich tomach. Jeśli chcesz poszerzyć wiedzę na temat szablonów oraz poznać możliwości najnowszych standardów języka C++, nie mogłeś lepiej trafić! Najważniejsze informacje o nowych możliwościach języka C++ Praktyczne przykłady zastosowania konstrukcji Ćwiczenia utrwalające zdobytą wiedzę Rusz w kolejną misję z C++ na pokładzie!
Opus magnum C++. Programowanie w języku C++. Wydanie III poprawione (komplet)
Jerzy Grębosz
Jedno C i same plusy! Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania — C++. Dziś ten język jest wykorzystywany do tworzenia gier komputerowych, obliczeń naukowych, technicznych, w medycynie, przemyśle i bankowości. NASA posługuje się nim w naziemnej kontroli lotów. Duża część oprogramowania Międzynarodowej Stacji Kosmicznej została napisana w tym języku. Nawet w marsjańskim łaziku Curiosity pracuje program w C++, który analizuje obraz z kamer i planuje dalszą trasę. Autor tej książki — wybitny specjalista pracujący nad wieloma znaczącymi projektami we francuskich, niemieckich i włoskich instytutach fizyki jądrowej, znany czytelnikom m.in. z genialnej Symfonii C++ — postawił sobie za cel napisanie nowej, przekrojowej książki o tym języku, która w prostym, wręcz przyjacielskim stylu wprowadza czytelnika w fascynujący świat programowania zorientowanego obiektowo. Zobacz, jak potężny jest dzisiaj C++. Jeżeli chcesz nauczyć się tego języka w łatwy, pogodny, przyjazny sposób, ta książka jest właśnie dla Ciebie. Dzięki tej książce poznasz: Proste i złożone typy danych Instrukcje sterujące Funkcje i operatory Wskaźniki Klasy i dziedziczenie Obsługę wyjątków Wyrażenia lambda Operacje wejścia-wyjścia Projektowanie orientowane obiektowo Szablony
Opus magnum C++11. Programowanie w języku C++ (komplet)
Jerzy Grębosz
Książka "Opus Magnum C++11" Jerzego Grębosza zdobyła wyróżnienie w kategorii podręczników w konkursie na Najlepszą Polską Książkę Informatyczną 2018r. organizowanym przez Polskie Towarzystwo Informatyczne. "Opus magnum C++11. Programowanie w języku C++" - zestaw obejmuje 3 podręczniki. Jedno C i same plusy! Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania — C++. Dziś ten język jest wykorzystywany do tworzenia gier komputerowych, obliczeń naukowych, technicznych, w medycynie, przemyśle i bankowości. NASA posługuje się nim w naziemnej kontroli lotów. Duża część oprogramowania Międzynarodowej Stacji Kosmicznej została napisana w tym języku. Nawet w marsjańskim łaziku Curiosity pracuje program w C++, który analizuje obraz z kamer i planuje dalszą trasę. Autor tej książki — wybitny specjalista pracujący nad wieloma znaczącymi projektami we francuskich, niemieckich i włoskich instytutach fizyki jądrowej, znany czytelnikom m.in. z genialnej Symfonii C++ — postawił sobie za cel napisanie nowej, przekrojowej książki o tym języku, która w prostym, wręcz przyjacielskim stylu wprowadza czytelnika w fascynujący świat programowania zorientowanego obiektowo. Zobacz, jak potężny jest dzisiaj C++ 11. Jeżeli chcesz nauczyć się tego języka w łatwy, pogodny, przyjazny sposób, ta książka jest właśnie dla Ciebie. Dzięki tej książce poznasz: Proste i złożone typy danych Instrukcje sterujące Funkcje i operatory Wskaźniki Klasy i dziedziczenie Obsługę wyjątków Wyrażenia lambda Operacje wejścia-wyjścia Projektowanie orientowane obiektowo Szablony
Opus magnum C++11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Jerzy Grębosz
"Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione" – zestaw obejmuje 3 tomy. Jedno C i same plusy! Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania - C++. Dziś ten język jest wykorzystywany do tworzenia gier komputerowych, obliczeń naukowych, technicznych, w medycynie, przemyśle i bankowości. NASA posługuje się nim w naziemnej kontroli lotów. Duża część oprogramowania Międzynarodowej Stacji Kosmicznej została napisana w tym języku. Nawet w marsjańskim łaziku Curiosity pracuje program w C++, który analizuje obraz z kamer i planuje dalszą trasę. Autor tej książki - wybitny specjalista pracujący nad wieloma znaczącymi projektami we francuskich, niemieckich i włoskich instytutach fizyki jądrowej, znany czytelnikom m.in. z genialnej Symfonii C++ - postawił sobie za cel napisanie nowej, przekrojowej książki o tym języku, która w prostym, wręcz przyjacielskim stylu wprowadza czytelnika w fascynujący świat programowania zorientowanego obiektowo. Zobacz, jak potężny jest dzisiaj C++ 11. Jeżeli chcesz nauczyć się tego języka w łatwy, pogodny, przyjazny sposób, ta książka jest właśnie dla Ciebie. Dzięki tej książce poznasz: Proste i złożone typy danych Instrukcje sterujące Funkcje i operatory Wskaźniki Klasy i dziedziczenie Obsługę wyjątków Wyrażenia lambda Operacje wejścia-wyjścia Projektowanie orientowane obiektowo Szablony
Zhenyu George Li, Charles Shih-I Yeh, Dr....
Creating responsive, intelligent games takes more than just following engine tutorials. It requires solving real development challenges with practical, efficient code. This book bridges theory and practice with proven algorithms and techniques grounded in real-world production needs, emphasizing clean, portable C++ implementations.Starting with raylib and the custom Knight engine layer, you’ll be introduced to a simple object-oriented scene and game object system. From there, you'll build responsive gameplay systems using essential data structures and algorithms, progressing through 2D rendering, collision detection, effects, and camera control before advancing to 3D graphics environments built using shaders, lighting, quad-tree terrain, and dynamic camera setups.You’ll animate characters using skeletal rigs, interpolation, and inverse kinematics for fluid movement and then develop game AI using FSMs, behavior trees, A* pathfinding, and steering behaviors. The book also covers neural networks, exploring their underlying theories, training processes, and tools. Throughout, the code is written in legacy-compatible C++ to ensure broad support across platforms and compilers.By the end, you’ll have gained the skills to build game systems that not only work but also scale, perform, and adapt like professional-grade code.
Practical Game AI Programming. Unleash the power of Artificial Intelligence to your game
Micael DaGraça
The book starts with the basics examples of AI for different game genres and directly jumps into defining the probabilities and possibilities of the AI character to determine character movement. Next, you’ll learn how AI characters should behave within the environment created.Moving on, you’ll explore how to work with animations. You’ll also plan and create pruning strategies, and create Theta algorithms to find short and realistic looking game paths. Next, you’ll learn how the AI should behave when there is a lot of characters in the same scene.You'll explore which methods and algorithms, such as possibility maps, Forward Chaining Plan, Rete Algorithm, Pruning Strategies, Wall Distances, and Map Preprocess Implementation should be used on different occasions. You’ll discover how to overcome some limitations, and how to deliver a better experience to the player. By the end of the book, you think differently about AI.
Paul Martin Eliasz
In the ever-evolving world of games and virtual production, mastering procedural content generator (PCG) opens the door to endless creative possibilities. This book takes you deeper into the realm of procedurally generated environments and assets by showing you how to use the PCG framework integrated into Unreal Engine 5.4 and helping you build the skills to surpass traditional methods and create cutting-edge projects with unparalleled efficiency.This book guides you through the complete level design and tools production pipeline using open-source software. Whether you’re an aspiring technical artist or level designer in real-time visualization and game production, you’ll benefit from following the step-by-step, beginner-friendly approach to crafting custom levels, from jungles to cities, and incorporating 3D assets from libraries such as Quixel or Sketchfab. Next, you’ll get to grips with data preparation, construct a PCG graph to populate assets in your environment, and apply these methods to optimize your projects. You’ll understand how this process enhances your PCG tools, elevating their capacity to improve the quality of your levels.By the end of this book, you’ll be able to seamlessly integrate different elements in Unreal Engine 5, empowering you to create your own PCG tools and transform your game development experience.
Programowanie dla początkujących w 24 godziny. Wydanie IV
Greg Perry, Dean Miller
Warto nauczyć się programowania! Poza stworzeniem sobie możliwości znalezienia ciekawej i dobrze płatnej pracy czy pasjonującego hobby umiejętność programowania bywa niezwykle przydatna w rozwiązywaniu różnych problemów. Paleta języków programowania i narzędzi programistycznych jest niezwykle szeroka i praktycznie każdy znajdzie coś dla siebie. Zanim to jednak nastąpi, trzeba zdobyć trochę wiedzy i umiejętności. Ale bez obaw! W nauce programowania najtrudniejszy bywa pierwszy krok, jednak ta książka sprawi, że wykonasz go bez trudu i dumnie wkroczysz w świat kodowania! To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym dokładnie polega programowanie w korporacjach. Znajdziesz tutaj także wprowadzenie do kilku najpopularniejszych języków programowania, co pozwoli na ich porównanie i ułatwi wybór języka do dalszej nauki. Każdy z 24 rozdziałów zawiera materiał, który można opanować w ciągu godziny. Naukę ułatwiają instrukcje krok po kroku, quizy, ćwiczenia i praktyczne przykłady. Dzięki tej książce zdobędziesz najlepsze podstawy, aby stać się dobrym programistą. Przygotujesz się też do świadomego kształtowania swojej dalszej ścieżki zawodowej! W książce między innymi: przygotowanie narzędzi do pracy - sprzęt i oprogramowanie podstawowe aspekty programowania i projektowania programów algorytmy, interaktywność, zmienne, funkcje debugowanie kodu programowanie obiektowe i korzystanie z baz danych planowanie kariery programisty Zacznij programować. Najlepiej od razu!
Programowanie funkcyjne w języku C++. Tworzenie lepszych aplikacji
Ivan Čukić
Programowanie jest sztuką, dzięki której możesz stworzyć coś z niczego, przy czym tylko od Ciebie zależy, jak doskonałe będzie to dzieło. Dobrze napisany kod jest wydajny, łatwy w testowaniu, można go używać ponownie i wykazuje mniejszą podatność na błędy. Jednym słowem, taki kod powinien możliwie prosto wyrażać złożoną logikę programu, bezproblemowo obsługiwać błędy i przejrzyście implementować współbieżność. Te wymagania pozwoli Ci spełnić funkcyjny styl programowania. Język C++ umożliwia programowanie funkcyjne dzięki szablonom, wyrażeniom lambda i innym ważnym opcjom. Pomocne też będzie korzystanie z biblioteki STL. Ta książka jest przeznaczona dla profesjonalnych programistów C++, którzy chcą opanować funkcyjny styl programowania i dzięki temu wykorzystać w nowy sposób potężne zalety tego języka. Po interesującym wprowadzeniu do tej metodologii w książce zamieszczono dziesiątki przykładów, schematów i ilustracji wyjaśniających koncepcje programowania funkcyjnego w C++. Pokazano, jak tworzyć bezpieczniejszy kod bez obniżania wydajności pracy programu, jak stosować obiekty funkcyjne i funkcje stosowane, algebraiczne typy danych oraz wiele innych. Nie zabrakło praktycznych przykładów kodu, który stanowi znakomite uzupełnienie prezentowanych treści. W tej książce między innymi: wprowadzenie do programowania funkcyjnego funkcje w C++ i funkcje wyższego rzędu oraz ich rozwijanie wartościowanie leniwe i wykorzystanie go do optymalizacji korzystanie z funktorów i monad funkcyjny sposób testowania i debugowania kodu Programowanie funkcyjne w C++: twórz najlepsze rozwiązania!
Programowanie. Teoria i praktyka w C++. Wydanie IV
Bjarne Stroustrup
Książka twórcy języka C++ Chcesz naprawdę dobrze opanować C++? Ucz się od najlepszego! Bjarne Stroustrup, twórca tego języka, jak nikt inny potrafi wyjaśnić zarówno podstawy, jak i najbardziej zaawansowane metody programowania. To on zaprojektował i zaimplementował C++, a w tej książce dzieli się swoim bogatym doświadczeniem i ekspercką wiedzą. Teraz dostępną także dla Ciebie! Programowanie. Teoria i praktyka w C++ to kompletny przewodnik, który krok po kroku odkrywa tajniki jednego z najważniejszych i najpotężniejszych języków programowania. Najnowsze wydanie zostało zaktualizowane i uwzględnia standardy C++20 i C++23, dzięki czemu będziesz się uczyć na przykładach zgodnych z aktualnym kierunkiem rozwoju języka. Dzięki tej książce dowiesz się, jak pisać kod nie tylko wydajny, ale i elegancki. Poznasz zasady, które z powodzeniem zastosujesz również w innych językach programowania. Autor wprowadzi Cię w świat kluczowych paradygmatów programowania od proceduralnego, przez obiektowe, aż po generyczne i pokaże, jak tworzyć bezpieczne, praktyczne i łatwe w utrzymaniu programy. Oprócz technik programowania wysokopoziomowego opanujesz techniki niższego poziomu, niezbędne do efektywnego korzystania z możliwości sprzętu. Znajdziesz tu zarówno solidne podstawy, jak i bardziej zaawansowane zagadnienia, takie jak: opis pojęć i technik programistycznych instrukcje sterujące, obsługa błędów, funkcje i system typów obsługa danych liczbowych i tekstu praca z graficznym interfejsem użytkownika kontenery i algorytmy w bibliotece STL parametryzacja klas i funkcji Niezależnie od tego, czy dopiero zaczynasz przygodę z C++, czy chcesz rozwinąć swoje umiejętności tu znajdziesz wszystko, czego potrzebujesz, aby pisać doskonały kod. Chłoń wiedzę od samego twórcy języka C++!
Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie III
Bjarne Stroustrup
Zaczerpnij wiedzę o C++ od samego twórcy języka! Jak zacząć pracę w zintegrowanym środowisku programistycznym? Jak profesjonalnie tworzyć programy użytkowe? Jak korzystać z biblioteki graficznego interfejsu użytkownika? Jeśli zależy Ci na tym, aby zdobyć rzetelną wiedzę i perfekcyjne umiejętności programowania z użyciem języka C++, powinieneś uczyć się od wybitnego eksperta i twórcy tego języka - Bjarne Stroustrupa, który jako pierwszy zaprojektował i zaimplementował C++. Podręcznik, który trzymasz w ręku, daje Ci szansę odkrycia wszelkich tajników tego języka, obszernie opisanego w międzynarodowym standardzie i obsługującego najważniejsze techniki programistyczne. C++ umożliwia pisanie wydajnego i eleganckiego kodu, a większość technik w nim stosowanych można przenieść do innych języków programowania. Książka Programowanie w C++. Teoria i praktyka zawiera szczegółowy opis pojęć i technik programistycznych, a także samego języka C++, oraz przykłady kodu. Znajdziesz tu również omówienia zagadnień zaawansowanych, takich jak przetwarzanie tekstu i testowanie. Z tego podręcznika dowiesz się, na czym polega wywoływanie funkcji przeciążonych i dopasowywanie wyrażeń regularnych. Zobaczysz też, jaki powinien być standard kodowania. Poznasz sposoby projektowania klas graficznych i systemów wbudowanych, tajniki implementacji, wykorzystywania funkcji oraz indywidualizacji operacji wejścia i wyjścia. Korzystając z tego przewodnika, nauczysz się od samego mistrza pisać doskonałe, wydajne i łatwe w utrzymaniu programy. Techniki programistyczne Infrastruktura algorytmiczna Biblioteka standardowa C++ Instrukcje sterujące i obsługa błędów Implementacja i wykorzystanie funkcji Kontrola typów Interfejsy klas Indywidualizacja operacji wejścia i wyjścia Projektowanie klas graficznych Wektory i pamięć wolna Kontenery i iteratory Programowanie systemów wbudowanych Makra Wykorzystaj wiedzę Bjarne Stroustrupa i pisz profesjonalne programy w C++!
Programowanie współbieżne. Systemy czasu rzeczywistego
Paweł Majdzik
Współbieżność to szybkość, efektywność i nowoczesność. Czy Ty też chcesz tak programować? Coraz niższe ceny i powszechna dostępność sprzętu komputerowego o architekturze wieloprocesorowej powodują, że umiejętność projektowania i budowania aplikacji przetwarzających informacje współbieżnie staje się wręcz niezbędna każdemu zawodowemu programiście. W większości współczesnych języków programowania bezpośrednio zaimplementowano metody tworzenia zadań wykonywanych równolegle oraz wysokopoziomowe mechanizmy komunikacji i synchronizacji procesów. Tworzenie efektywnych aplikacji współbieżnych wciąż jednak wymaga dużej, specjalistycznej wiedzy dotyczącej systemów operacyjnych oraz programowania nisko- i wysokopoziomowego, o czym przekonało się wielu studentów kierunków informatycznych i profesjonalnych programistów. Na szczęście teraz wszyscy mogą sięgnąć po książkę "Programowanie współbieżne. Systemy czasu rzeczywistego". Pomoże ona uniknąć wielu typowych błędów związanych z tworzeniem aplikacji współbieżnych i pokaże, jak rozwiązywać problemy specyficzne dla tej dziedziny. Lektura ułatwi też zdobycie praktycznej umiejętności projektowania architektury niezawodnego współbieżnego oprogramowania, a także przybliży wiedzę na temat mechanizmów i metod wykorzystywanych przy tworzeniu systemów równoległych czasu rzeczywistego. Przedstawienie podstawowych pojęć dotyczących programowania współbieżnego Opis metod weryfikacji poprawności programów współbieżnych Definicje i własności mechanizmów synchronizacji oraz komunikacji Przykłady rozwiązań problemów programowania współbieżnego Opis mechanizmów wspierających programowanie systemów czasu rzeczywistego Implementacja metod szeregowania zadań w systemach czasu rzeczywistego Opis metod i mechanizmów języka Ada 2005 umożliwiających implementację programów współbieżnych i systemów czasu rzeczywistego Przyszłość informatyki to przetwarzanie współbieżne. Stać Cię na pozostanie w tyle? Paweł Majdzik - od 1998 roku pracuje jako adiunkt w Instytucie Sterowania i Systemów Informatycznych Uniwersytetu Zielonogórskiego. Jest autorem bądź współautorem ponad trzydziestu opracowań naukowych - książek, artykułów, referatów wydanych w kraju i za granicą, a dotyczących informatyki, w szczególności związanych z analitycznymi metodami modelowania i projektowania systemów współbieżnych.