Библиотека C/C++ разработчика
Kanalga Telegram’da o‘tish
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Ko'proq ko'rsatish7 189
Obunachilar
-824 soatlar
-117 kun
-3130 kun
Postlar arxiv
Last Call: не пропусти Wink AI Challenge — первый в России ИИ-хакатон в киноиндустрии. Создай своё решение, которое ускорит производство фильмов и сериалов. Призовой фонд — 1 125 000 рублей.
Регистрация открыта до 4 ноября: https://cnrlink.com/winkaichallengeclib
Приглашаем ML-инженеров, backend- и frontend-разработчиков, DevOps, MLOps и мультимедиа-инженеров.
Главные причины присоединиться:
🔸 Работа с настоящими сценариями и материалами, анализ текстов, извлечение сущностей, генерация структуры съёмок.
🔸 Практика применения NLP, NER и мультимодальных данных в задачах кинопроизводства.
🔸 Разработка ИИ-сервиса, который оценят и будут использовать продюсеры популярных российских фильмов и сериалов.
🔸 Реальный кейс в портфолио, созданный специально для крупнейшего онлайн-кинотеатра.
🔸Финалисты отправятся в Москву — Wink оплатит билеты и проживание.
Успей зарегистрироваться на первый в России хакатон по применению ИИ в кинопроизводстве: https://cnrlink.com/winkaichallengeclib
Инструменты и библиотеки для создания собственного игрового движка на C++
Вы хотите узнать больше об игровых движках и написать их самостоятельно? Это здорово! Чтобы помочь вам на этом пути, вот некоторые рекомендации по библиотекам и зависимостям C++, которые помогут вам начать работу.
https://pikuma.com/blog/how-to-make-your-own-cpp-game-engine
Мы в MAX
#cpp #programming
👉 @cpp_lib
Курс по C++ и SFML
Простые программы на C++
В статье мы напишем пару простейших программ на C++ и посмотрим, как происходит их компиляция.
https://ps-group.github.io/ps1/lesson_cpp_1
Знакомство с SFML. Компьютерная графика.
SFML (Simple Fast Multimedia Library) — это C++ библиотека для мультимедиа. В статье мы воспользуемся SFML для рисования фигур в окне.
https://ps-group.github.io/ps1/lesson_sfml_1
Основной цикл программы. Анимация.
В статье мы освоим паттерн Game Loop, а также научимся обрабатывать события мыши и клавиатуры.
https://ps-group.github.io/ps1/lesson_sfml_2
Обработка событий. Интерактив.
В статье вы освоите обработку событий мыши и клавиатуры в мультимедийных программах и научитесь писать функции на языке С++
https://ps-group.github.io/ps1/lesson_sfml_3
Соглашения о кодировании на C++
Соглашения о кодировании для курса по C++/SFML
https://ps-group.github.io/ps1/cxx_coding_style
Комплексные задачи. Котик следует за мышкой
В этой практике вы начнёте по шагам решать комплексные задачи, двигаясь от математической модели и псевдокода к готовой программе
https://ps-group.github.io/ps1/sfml_workshop_1
Массовые столкновения
На этом занятии вы научитесь программировать игры уровня Бильярда или Arkanoid
https://ps-group.github.io/ps1/sfml_workshop_2
Ещё одна практика на SFML
На этом занятии вы освоите более гибкие приёмы работы с SFML: виртуальную камеру, рисование произвольных фигур, проверку столкновения
https://ps-group.github.io/ps1/sfml_workshop_3
Основной проект курса: 2D игра
Цель проекта - самостоятельно написать комплексную программу, клон небольшой игры
https://ps-group.github.io/ps1/project
Задание | Спецификация проекта в виде MindMap
Чтобы составить видение проекта-игры, нужно визуализировать. Сделать это поможет MindMap.
https://docs.google.com/document/d/1Ki6DlbhDrZHskC6LED88FHeX8m-Se3-MrTpjwKYlcDk/edit?usp=sharing
Задание | План проекта в виде RoadMap
Чтобы справиться с известным проектом в известные сроки, нужно составить план действий. Сделать это поможет RoadMap.
https://docs.google.com/document/d/1zdW81SLmgVf3ZXyMwXkOXxIwOzBzkTTvi4TTMLdUw_E/edit
Пишем клон игры PacMan слой за слоем
В этой коллекции примеров слой за слоем на C++/SFML воссоздаётся урезанный клон игры PacMan
https://github.com/ps-group/sfml-packman
Схема оценки проекта-игры
В таблице записаны критерии оценки и примеры оценивания различных игр
https://docs.google.com/spreadsheets/d/1n7OzeQEDujPDboW3dFn4M4iXhcPvlCR7FQbPRSE4jwM/edit?usp=sharing
Мы в MAX
#cpp #programming
👉 @cpp_lib
Сколько инструментов для уменьшения бинарного файла вы знаете? А если стоит задача не повредить функциональность?
Решить такую проблему вызвался инженер YADRO. Он нашел несколько способов, которые помогут отсечь лишнее:
• Bloaty — инструмент для профилирования размера бинарных файлов;
• флаги компилятора и линковки;
• дешаблонизация и оптимизация кода.
Все варианты автор проиллюстрировал примерами кода и объяснил, как тот или иной инструмент влияет на размер бинарного файла. Получился подробный гайд, к которому можно возвращаться, когда бинарь «раздуло» перед релизом.
Читайте статью на Хабре →
Ода хейта C++
Язык С++ по-настоящему стар. Казалось бы это должно идти ему на пользу, как хорошему вину. Но этому мешает обратная совместимость. Хорошая идея, если бы она работала...
Давайте просто честно признаемся: ни один из стандартов не был обратно совместим. ВСЕГДА реальные проекты требовали миграции и адаптации не то что под новую версию стандарта, но даже под новую версию компилятора. Чем больше проект, тем больше усилий, и порой фатальных. Уверен, среди читающих найдется человек, у которого на работе все еще 98й стандарт С++.
В целом, идея не ломать старое - хорошая. Лучше уж поломать совсем немного, чем вообще все. Не спорю, здесь С++ держится хорошо, местами даже слишком. Но из-за боязни сломать старое в языке засели старые и просто неправильные решения.
Язык настолько сильно прошит старыми древними идеями, что порой удивляешься как это до сих пор существует в современном мире, где есть куча других более изящных решений в других языках. И ведь логично было бы поправить самые крупные косяки, но нет, все заплаточки аккуратно пришиваются сверху чтобы "не дай боже старая всем нужная библиотека не сломалась". Ну раз она старая и всем нужная, разве никто не проапгрейдит ее?
Все же хотелось бы чтобы язык признавал свои ошибки и ломал даже самые старые концепции в угоду более лучшего будущего.
https://habr.com/ru/articles/811369/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Быстрый двоичный поиск без ветвления
Мои читатели — занятые люди, поэтому сразу перейду к делу. Вот она, самая быстрая обобщённая (и простая) реализация двоичного поиска на C++
Rus https://habr.com/ru/companies/ruvds/articles/756422/
Eng https://mhdm.dev/posts/sb_lower_bound/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Курс современного C++ | Боннский университет, Германия.
Course Introduction and Hello World
Variables, Basic Types, Control Structures
Compilation, Debugging, Functions, Header/Source, Libraries, CMake
Google Test, Namespaces, Classes
Move Semantics, Classes
Polymorphism, I/O, Stringstreams, CMake find
Static, Numbers, Arrays, Non-owning pointers, Classes
Pointers, const with pointers, Stack and Heap, Memory leaks
Smart/Unique/Shared ptrs, Associative con., Enumeration
Templates, Iterators, Exceptions, Program input parameters, OpenCV
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
Простое руководство по атомарности в C++
Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.
https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b
Мы в MAX
#cpp #programming
👉 @cpp_lib
Лекции С++ продвинутый поток ФПМИ 2023-24
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
🤝 Сидите на работе, пишете код и чувствуете, что застряли в рутине?
Ваши проекты скучны, а возможности ограничены? Хотите создавать крутые приложения для современной техники и работать с крупными государственными компаниями и бизнесом?
Представьте себе, что вы стали мастером в разработке на Qt и ОС «Аврора». Вы создаете интерфейсы для цифровой техники, мобильные приложения для госкомпаний и крупного бизнеса, а ваши навыки востребованы как никогда.
Присоединяйтесь к онлайн-курсу «Разработка прикладного ПО на Qt и ОС «Аврора» и сделайте этот прыжок в будущее!
Что вам даст этот курс:
- освоите Qt — одну из лучших кроссплатформенных библиотек для разработки UI на С++;
- изучите нативную разработку для Авроры 5.0;
- изучите структуру библиотеки Qt и научитесь писать программы на QML.
И многое другое!
👉Пройдите тест и присоединяйтесь к курсу: https://vk.cc/cQBjMM
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🎁 Хочешь $6,000+ зарплату? Вот что нужно знать о переходе в техлиды
ФАКТ: По данным опроса 200+ техлидов, 78% жалеют, что не имели наставника при переходе от разработчика к руководителю.
РЕЗУЛЬТАТ: Потеря 1-2 лет карьеры, стресс, разочарование в менеджменте.
РЕШЕНИЕ: Учиться на чужих ошибках, а не на своих.
Fresh IT — канал, где техлид с опытом в топовых компаниях (Сбер, МТС, Align) дает конкретные инструменты для роста:
✅ Чек-лист готовности — узнай за 3 минуты, готов ли ты к роли тимлида
✅ Реальные кейсы — как решать конфликты, мотивировать команду, говорить с бизнесом
✅ Архитектурные решения — проверенные подходы от проектов для миллионов пользователей
✅ IT-новости — только актуальные тренды, без информационного шума
🔥 БОНУСЫ ПРИ ПОДПИСКЕ:
🎁 Чек-лист самооценки по 12 ключевым компетенциям
🎁 Подборка книг "Грокаем" (алгоритмы, безопасность, CD) — стоимость ~10k₽
📊 Результат: Понимание пути от Senior Developer к Tech Lead с реальным ростом дохода и влияния.
👉 Подписывайся и получи бонусы 👈
InputParser — это библиотека на C++ для парсинга командной строки, разработанная Джан Луисом Боливаром Дианой. Она позволяет легко добавлять и обрабатывать опции командной строки в приложениях на C++. Для использования необходимо создать объект
Parser, добавить необходимые опции с помощью метода addOption, а затем вызвать метод parse для обработки аргументов. Библиотека требует компилятора с поддержкой стандарта C++23 и распространяется по лицензии MIT.
https://github.com/gianluisdiana/InputParser
Мы в MAX
#cpp #programming
👉 @cpp_libНенавижу, _____, C++ массивы
Или почему мне кажется, что про них нужно знать, но не нужно использовать.
Друзья, вы помните момент, когда впервые сунули указатель на первый элемент массива в оператор sizeof, и ваш код перестал работать так, как вы задумывали? Это, конечно, и близко не сравнится с эмоциями от засовывания пальцев в розетку, но...
https://habr.com/ru/companies/pvs-studio/articles/822911/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Практика применения C++ в играх и игровых движках
Пожалуй, игры известны тем, что они всегда на переднем краю как современного железа, так и программных возможностей. Как же обстоят дела с C++ в этой области?
На примере трех сравнительно легких для восприятия сюжетов посмотрим, как так складывается, что стиль имеет тенденцию к C99 с классами. Сюжеты: взаимодействие с другими языками (interop w/scripts), многоплатформенность (compiler zoo, determinism, float) и многопоточность (pthread into OOP vs DOD, ECS, etc.)
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
🔥 Открытый урок «Разбираем приложение с уведомлением для ОС Аврора»
🗓 21 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса Разработка прикладного ПО на Qt и ОС «Аврора».
🎯 О чём поговорим:
✔️ Познакомимся с ключевыми деталями для нативной разработки под ОС Аврора 5.
✔️Узнаем Аврора SDK как главного помощника разработчика.
✔️ Разберём QML-приложения для ОС Аврора, которое отправляет графическое уведомление.
👥 Кому будет интересно:
- Для разработчиков и других IT-специалистов, которые разбираются в основах разработки графических приложений и хотят поближе познакомиться с QML и операционной системой Аврора
🔗 Ссылка на регистрацию: https://vk.cc/cQw4Rp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
https://github.com/VadimBoev/FlappyBird
Мы в MAX
#cpp #programming
👉 @cpp_lib
Уже 23 октября узнаем больше о хакрдкорной разработке dev-to-dev решений
Техплатформа Городских сервисов Яндекса проводит митап, на котором эксперты поделятся опытом создания архитектуры нагруженной системы, обрабатывающей сотни тысяч rps в брокере сообщений на MongoDB, и как писать IO-bound сервисы под высокими нагрузками на С++ так же как на Go.
В программе выступления Антона Полухина, Ромы Елизарова, Лёши Иванова и Влада Назарова, а также нетворкинг в неформальной атмосфере.
Если интересуетесь разработкой dev-to-dev решений и вы опытный разработчик, обязательно приходите.
👉 23 октября, сбор гостей с 18:00
👉 Москва, офлайн
Регистрируйтесь и зовите коллег!
Мероприятие бесплатное. Количество мест ограничено — пожалуйста, дождитесь нашего подтверждения.
Реклама. ООО «Яндекс.Такси» ИНН 7704340310
