Библиотека C/C++ разработчика
Ir al canal en Telegram
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Mostrar más7 196
Suscriptores
-124 horas
-27 días
-2530 días
Archivo de publicaciones
Практика языка C.
Константин Владимиров.
На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных.
00:00 Хеш-таблицы.
15:10 Алгоритм Рабина-Карпа.
22:30 Range-based queries и снова о деревьях.
29:42 Многомодульные программы.
36:30 Структуры данных.
42:40 Литература и задачи.
44:45 Демонстрация многомодульных программ.
источник
#cpp #programming
👉 @cpp_lib
📚Software Architecture with C++: Design modern systems using effective architecture concepts, design patterns, and techniques with C++20
Автор: Adrian Ostrowski (2021)
Для начала вы познакомитесь с архитектурными концепциями, включая устоявшиеся паттерны и новые тенденции. Затем книга объяснит, что такое архитектура программного обеспечения, и поможет вам изучить ее компоненты. Далее вы познакомитесь с концепциями проектирования, связанными с архитектурой приложений, и паттернами разработки программного обеспечения, а затем узнаете, как создавать, упаковывать, интегрировать и развертывать свои компоненты. В заключительных главах вы изучите различные архитектурные качества, такие как ремонтопригодность, возможность повторного использования, тестируемость, производительность, масштабируемость и безопасность. Наконец, вы получите представление о распределенных системах, таких как сервис-ориентированная архитектура, микросервисы и cloud-native.
#cpp #programming
👉 @cpp_lib
6 невозможных вещей - Кевлин Хенни - Открытие Keynote Meeting C++ 2023
"Иногда я верю в шесть невозможных вещей до завтрака", - сказала Королева Алисе во время ее приключений через зазеркалье. Всего шесть? В разработке программного обеспечения мы постоянно верим в невозможные вещи, независимо от времени суток! Однако в этом докладе мы рассмотрим шесть конкретных невозможных вещей, которые определяют границы наших возможностей, начиная с мельчайших деталей представления целых чисел и заканчивая минным полем оценки задач и расстановки приоритетов, неопределенностью распределенных систем и пределами вычислимости. Как только мы узнаем свои пределы, мы сможем работать в их рамках, создавая решения, а не проблемы.
источник
#cpp #programming
👉 @cpp_lib
🦾 Изучите Qt Remote Objects и межпроцессное взаимодействие для старта работы в кроссплатформенной разработке
🎙 Ждём вас на бесплатном практическом уроке от OTUS, спикер Владимир Щелов — ведущий разработчик в 1С.
На вебинаре:
- поговорим про механизм Qt Remote Objects;
- разберем его работу на примере;
- освоим удобный механизм организации межпроцессного взаимодействия, доступный на Qt;
- научимся пользоваться им на конкретном примере.
Встречаемся 2 апреля в 19:00 мск в рамках курса «Разработка прикладного ПО на Qt и ОС Аврора». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cvJYMI
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576📚Beginning C++20: From Novice to Professional
Авторы: Ivor Horton, Peter Van Weert (2020)
Начните с изучения основ программирования, продвигаясь через пошаговые примеры, которые помогут вам стать опытным программистом на C++. В эту книгу включены новые возможности стандарта C++20, такие как модули, концепты, диапазоны и spaceship operator. Все языковые концепции, которые объясняются в книге, проиллюстрированы примерами рабочих программ, а все главы включают упражнения, которые помогут вам проверить и попрактиковать свои умения. Для всех примеров из текста и решений упражнений предусмотрена бесплатная загрузка исходного кода.
Во время чтения книги вы:
✔Начнете программировать со стандартом C++20;
✔Изучите работу с массивами и циклами, указателями и ссылками, строками и т. д.;
✔Напишете свои собственные функции, типы и операторы;
✔Откроете для себя основы объектно-ориентированного программирования;
✔Используете перегрузку, наследование, виртуальные функции и полиморфизм;
✔Напишете общие шаблоны функций и классов и сделаете их безопасными;
✔Изучите все тонкости контейнеров, алгоритмов и диапазонов.
#cpp #programming
👉 @cpp_lib
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.
В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.
У Карты гипотез нет ограничений по области применения или роли пользователя — она будет полезна в самых разных ситуациях, от личного планирования до планирования работы огромной компании. Автор надеется, что его метод, которому посвящена эта книга, послужит вашему благополучию во всех сферах жизни.
Ознакомиться с книгой
🔥 Освой актуальные инструменты разработки на С++
Пройди тест по C++ и проверь подходит ли тебе наш курс
Ответишь — пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cvHNq8
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Устал писать тесты с кучей моков? Сложно поддерживать приложение, ведь бизнес логика перемешалась с инфраструктурой? 😰
Присоединяйся к нашему практическому курсу по Domain Driven Design, где за 10 вебинаров мы разложим все по полочкам.
🚀Стартуем 1 апреля. Присоединяйся прямо сейчас https://microarch.ru/courses/hexagonal-architecture?utm_source=posev&utm_medium=erid:2VtzqwtV8Fo&utm_campaign=10
Наш курс по Domain-Driven Design позволит вам изучить основы и принципы этого подхода, а также освоить практические навыки, необходимые для успешного применения DDD в реальных проектах. Вы узнаете:
✅ Что такое Domain-Driven Design и почему он так важен для современных разработчиков.
✅ Основы проектирования доменов и формирование предметной области.
✅ Принципы и методы моделирования предметной области, включая разработку моделей предметной области и определение бизнес-правил.
✅ Создание эффективных и масштабируемых сервисов с использованием DDD.
✅ Применение шаблонов проектирования и принципов DDD для оптимизации кода и повышения производительности.
Курс ведет действующий архитектор и разработчик Кирилл Ветчинкин. Он успешно реализовал проекты для Мегафона, Теле2, ВСS Brокer. Постоянный спикер крупных IT-конференций.
Не упусти шанс стать экспертом! Присоединяйся к нашему курсу и раскрой свой потенциал в разработке успешных проектов уже сегодня https://microarch.ru/courses/hexagonal-architecture?utm_source=posev&utm_medium=erid:2VtzqwtV8Fo&utm_campaign=10
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwtV8Fo
Автоматическая Генерация Конфигураций для Make Сборок
При разработке программного обеспечения (особенно для микроконтроллеров) рано или поздно придется столкнуться с тем, что надо как-то передавать конфигурации для данного программного проекта.
В своем опыте я пришел к выводу, что с точки зрения масштабирования кодовой базы, конфиги проще всего передавать через переменные окружения. Да.. Плюс в том, что переменные окружения можно определять прописывая прямо в скриптах (Make, CMake и т.п.).
Выглядит это так. У каждой сборки есть файл config.mk в котором перечислены программные компоненты из которых должна собираться эта конкретная сборка. Содержимое этого файла обычно выглядит так.
https://habr.com/ru/articles/798213/
#cpp #programming
👉 @cpp_lib
📚C++ Standard Library Quick Reference
Авторы: Marc Gregoire, Peter Van Weert (2016)
Стандартная библиотека шаблонов является жемчужиной языка программирования С++ и содержит основные алгоритмы, структуры данных и функции, необходимые для повседневной работы. Обычно она изучается в конце любого руководства по С++, однако этот справочник направлен исключительно на изучение STL, рассматривая основные темы, такие как контейнеры, лямбда-выражения, указатели и функции по работе с многопоточностью.
В книге рассматриваются следующие темы:
✔️ математические функции;
✔️ контейнеры;
✔️ алгоритмы;
✔️ потоки ввода/вывода;
✔️ строки;
✔️ многопоточность.
#cpp #programming
👉 @cpp_lib
Отладка C при помощи пакета Cosmopolitan Libc
Cosmopolitan Libc предоставляет набор отладочных возможностей, повышающих удобство разработки на C: трассировка вызовов функций, интеграция с gdb, среда выполнения ASAN/UBSAN и многое другое! На C написано много быстрого и критически важного кода. Если вы пользуетесь программами, написанными на C, если вам приходится предусматривать интерфейсы для работы с библиотеками на C, исправлять баги в коде на C, либо даже переписывать имеющуюся на С программу на каком-то другом языке, то именно этот инструмент помогает понять, что делается в вашем коде на C. Отладка – это не просто россыпь инструкций printf. В этом посте будет рассмотрено, как Cosmopolitan Libc помогает наверняка и как следует отлаживать код C. Все примеры находятся в этом репозитории.
https://ahgamut.github.io/2022/10/23/debugging-c-with-cosmo/
#cpp #programming
👉 @cpp_lib
💡 Разрабатываешь на C++? Освой кроссплатформенную разработку на QT и ОС Аврора
❗️ Вкладывай в перспективу - вкладывай в себя!
Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cvBd8i
Курс доступен в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Words counter benchmarks
Это серия все более производительных "счетчиков слов" (не вычурных, просто разделяющих "слова" пробелами), реализованных с использованием возможностей Modern C++20, таких как span, string_view, filesystem, ranges и других.
При необходимости используются параллельные хэш-карты и другие зависимости, такие как контейнеры Abseil, Boost.Future (допускающие продолжения) или Asio с корутинами C++20.
https://github.com/germandiagogomez/words-counter-benchmarks-game
#cpp #programming
👉 @cpp_lib
📚Expert C++: Become a proficient programmer by learning coding best practices with C++17 and C++20's latest features
Авторы: Vardan Grigoryan, Shunguang Wu (2020)
Язык C++ развивался на протяжении многих лет, и сейчас доступна его последняя версия - C++20. Начиная с C++11, C++ постоянно расширяет набор функций языка. В новой версии вы познакомитесь с такими возможностями, как концепции, модули, диапазоны и корутины. Эта книга станет вашим путеводителем в изучении тонкостей языка, методов, инструментов C++ и новых возможностей, появившихся в C++20, а также поможет вам применить их при создании современного и отказоустойчивого программного обеспечения.
#cpp #programming
👉 @cpp_lib
❓Хотите с нуля освоить разработку игр или сменить сферу на геймдев?
Отус приглашает 27 марта в 20:00 по мск на бесплатный вебинар по Unreal «Создаём шутер от первого лица на Unreal Engine 5»!
Вебинар является частью полноценного онлайн-курса «Unreal Engine Game Developer. Basic».
На вебинаре вы узнаете об отличиях и преимуществах движка Unreal Engine 5, установите его и научитесь базово ориентироваться в его интерфейсе.
➡️ Регистрация на вебинар: https://vk.cc/cvzl6x
Основные темы вебинара:
✔️ Что такое игровой движок
✔️ Основные отличия и преимущества Unreal Engine 5
✔️ Установка и настройка Unreal Engine 5
✔️ Подбор ассетов из маркетплейса
✔️ Создание проекта
Не упустите свою возможность, попробовать себя в роли разработчика игр на Unreal Engine!
После вебинара вы сможете продолжить обучение на специальных условиях и получить видеокурс по программированию на С++ в подарок.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Разработка кросплатформенного приложения на Qt с использованием нейросетей, обученных на tensorflow
Раз уж Вы заинтересовались данной статьёй, то ожидается, что Вы умеете программировать на с++ с использованием библиотеки Qt и разрабатывать нейросети на Python c использованием библиотеки tensorflow.
Соответственно остаётся только понять как использовать обученные Вами нейросетевые модели в Qt проектах.
https://habr.com/ru/articles/719888/
#cpp #programming
👉 @cpp_lib
Рефакторинг с использованием C++17 std::optional
Существует множество ситуаций, когда вам нужно выразить, что что-то является "необязательным" - объект, который может содержать значение или нет. У вас есть несколько вариантов реализации такого случая, но в C++17 появился, пожалуй, самый полезный способ: std::optional.
Сегодня я подготовил один пример рефакторинга, где вы можете научиться применять эту новую возможность C++17.
https://www.cppstories.com/2018/04/refactoring-with-c17-stdoptional/
#cpp #programming
👉 @cpp_lib
👩💻 Как прокачать свои скиллы в разработке на С++?
Прийти на бесплатный практический урок «Атомарные типы данных и Memory Ordering» от OTUS.
На вебинаре:
🔹 поговорим о типах данных в C++, для которых не нужна дополнительная синхронизация при конкурентом доступе;
🔹 разберемся, как С++ помогает тонко оптимизировать lock-free разработку с помощью memory ordering.
Встречаемся 28 марта в 20:00 мск в рамках курса «C++ Developer. Professional». Доступна рассрочка на обучение!
➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cvxvCy
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576