Библиотека C/C++ разработчика
Kanalga Telegram’da o‘tish
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Ko'proq ko'rsatish7 197
Obunachilar
+224 soatlar
-27 kun
-2730 kun
Postlar arxiv
C++ Tip of The Week
https://tip-of-the-week.github.io/cpp/
#cpp #programming
👉 @cpp_lib
🫵 Отус приглашает на бесплатный вебинар: «Распределённый Ledger на Rust»
⚡️На вебинаре мы разберёмся, на каком фундаменте строится блокчейн-инфраструктура и напишем распределённый Ledger, включающий в себя:
– выполнение на множестве НОД;
– синхронизацию и коммуникацию НОД;
– распределённый блокчейн;
– алгоритм консенсуса;
– криптостойкую авторизацию.
Вебинар пройдёт 27 ноября в 20:00 мск.
Занятие приурочено к старту онлайн-курса «Rust Developer. Professional». После вебинар вы сможете продолжить обучение на полноценном курсе по специальной цене.
➡️ Регистрация на вебинар по ссылке: https://vk.cc/csz9G2
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Как использовать std::span из C++20
В этой статье рассмотрен std::span, который является более универсальным, чем string_view, и может помочь в работе с произвольными смежными коллекциями.
https://www.cppstories.com/2023/span-cpp20/
#cpp #programming
👉 @cpp_lib
erid: LjN8KCh5e
🚀 SolarHack 2023 приглашает технических специалистов на онлайн-хакатон. Вас ждет 2 кейса, 500 000 рублей и возможность создать инновационное решение будущего на онлайн-хакатоне от «Солар».
Над какими задачами предстоит работать:
1. Разработка системы, которая автоматизирует подготовку отчетности
2. Определение стороннего DNS-трафика и выявление его источника в ОС Linux
Для кого: участвовать можно индивидуально или в команде до 5 человек
• разработчики на Vue.js, Go (Golang), C++, C
• эксперты по информационной безопасности
• аналитики
• инженеры
• архитекторы ПО
• QA-специалисты
Когда: 8-17 декабря, онлайн
Что дает SolarHack 2023:
• Решите реальные задачи из кибербеза, добавите кейсы в резюме
• Знакомство со звездами сферы ИБ
• Поборитесь за 500 000 рублей
• Получите шанс работать в крупной компании
👉 Регистрация до 7 декабря: https://cnrlink.com/slrhck23
Реклама. ООО "РТК ИБ". ИНН 7704356648.
Исчерпывающее руководство по работе с файлами в C++
В этой заметке я расскажу вам, как можно использовать работу с файлами в C++ и сохранять в них не только текстовые, но и бинарные данные типа Class или Struct.
https://dev.to/tbhaxor/a-comprehensive-guide-to-file-handling-in-c-2p1b
#cpp #programming
👉 @cpp_lib
С чего начать изучение C++?🤔
С бесплатного открытого урока «Контейнер std::vector: простой, быстрый, опасный» от OTUS и Андрея Рыжикова – разработчика в НИИ обработки аэрокосмических изображений.🔥
На вебинаре:
✅ узнаем основные функции std::vector;
✅ заглянем «под капот» и поймем, чем обеспечивается высокая скорость произвольного доступа и когда мы за нее платим;
✅ пройдем по граблям, на которые часто наступают при его использовании;
⚡ в результате сможем осознанно использовать std::vector в своих программах.
👨🔧 Занятие пройдёт 23 ноября в 20:00 МСК в рамках курса «C++ Developer».
Ждем начинающих разработчиков на C++ и тех, кто не знаком с устройством контейнеров STL.
➡️ Для бесплатного участия регистрируйтесь прямо сейчас: https://vk.cc/csxcVL
Как написать 2D игру на C++ и чистом STL для терминала в Linux
Привет, Хабр, я PHP разработчик с опытом работы в продакшне более 8 лет. После долгого и упорного труда мне стало скучно пилить микросервисы и бэкенды в хайлоде, я решил постичь магию разработки игр. Выбрал курс по Unreal Engine 5 и C++, так как там все структурировано, понятно, и в случае необходимости есть кому задать вопрос. На первой лекции по основам С++ преподаватель сразу предложил челлендж - написать 2D игру без использования игрового движка. Идея мне понравилась и я сразу приступил к реализации.
https://habr.com/ru/post/708486/
👉 @cpp_lib
⚙️ Курс «Реверсивный инжиниринг ПО под ОС Windows»
Старт: 4 декабря
Длительность: 6,5 месяцев
🎓 В курсе подробно рассматриваются команды языка Ассемблера, детальный анализ приложений различного уровня сложности, от специальных задач типа crackme до рабочих приложений. Также изучаются образцы вредоносных приложений и различные техники, используемые исследователями.
ℹ️ Кому будет полезен курс:
✔️ Пентестерам, желающим лучше изучить направление реверсинга приложений
✔️ Вирусным аналитикам и исследователям кода занимающимся изучением вредоносного ПО
✔️ Разработчикам ПО с повышенными требованиям к защищенности
Выдаём удостоверение о повышении квалификации при успешной сдаче экзамена. Возможна оплата в рассрочку
🎁 По промокоду КИБЕРКОЛИЗЕЙ вы получите скидку 10%!
📌 Узнать подробнее о курсе
Реклама. ООО "АКАДЕМИЯ КОДЕБАЙ". ИНН 9706020333.
Опечатки, нулевые указатели и коварный таб: 33 фрагмента в библиотеке GTK
GTK – популярный фреймворк с открытым исходным кодом для создания графических интерфейсов, который интересно проверять с помощью анализатора PVS-Studio. Тем более, что предыдущую проверку мы делали около 3 лет назад, а значит, наверняка найдём в нём новые ошибки.
Очень не хотелось частично повторять введение из прошлой статьи "Выявляем опечатки в проекте GTK 4 с помощью PVS-Studio", но подозреваю, что далеко не все читатели знакомы с GTK. Поэтому вкратце: библиотека позволяет кроссплатформенно реализовывать графический пользовательский интерфейс. Полностью бесплатна и имеет открытый исходный код, лицензированный под GNU GPL, что позволяет использовать её в любых проектах (даже коммерческих).
https://habr.com/ru/companies/pvs-studio/articles/770050/
#cpp #programming
👉 @cpp_lib
💡 QT и ОС Аврора: надежная основа для разработки востребованного ПО!
❗️ Вкладывай в перспективу - вкладывай в себя!
Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/csvYiL
Курс доступен в рассрочку.
🎁 Черная пятница в OTUS! Успей применить промокод BLACK23 и получить скидку 15% на курс!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Решаем задачу асинхронного ввода-вывода с библиотекой Asio
Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux.
На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и низкоуровневого программирования ввода-вывода. Она предлагает свою асинхронную модель. Технология отлично справилась с нашей задачей, и я хочу поделиться с вами опытом ее использования. Под катом расскажу, какие решения я рассматривал для асинхронного ввода-вывода и почему остановился на Asio.
https://habr.com/ru/companies/yadro/articles/774130/
#cpp #programming
👉 @cpp_lib
Repost from Книги для программистов C/C++
Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code
J. Davidson, Kate Gregory (2022)
Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»! Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++. Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines.
👉 @cpp_knigi
🎮 Завершите создание своего первого шутера и добавьте его в портфолио
👉 На бесплатном открытом уроке «Создаём простейший шутер от третьего лица на Unreal Engine 5. Часть 2» от OTUS.
На втором эфире мы:
- реализуем механику стрельбы и урона, свяжем их с созданным UI;
- создадим бота-противника и разработаем для него простейший AI, который будет искать нас и нападать при обнаружении;
- разработаем систему подбираемых предметов (патроны, оружие).
⏰ Занятие пройдёт 22 ноября в 20:00 мск и будет приурочено к старту курса «Unreal Engine Game Developer. Basic». После урока вы сможете продолжить обучение на специальных условиях и получить видеокурс по программированию на С++ в подарок.
👉 Для бесплатного участия и получения записи обоих уроков регистрируйтесь прямо сейчас: https://vk.cc/csrxDL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Writing a simple C++20 async message queue server
Part I https://bytepawn.com/writing-a-simple-cpp-async-message-queue-server.html
Part II https://bytepawn.com/writing-a-simple-cpp-async-message-queue-server-part-ii.html
#cpp #programming
👉 @cpp_lib
Перегрузка операторов в C++. Основы
#include <iostream>
class Counter
{
public:
Counter(int val)
{
value =val;
}
void print()
{
std::cout << "Value: " << value << std::endl;
}
Counter operator + (const Counter& counter) const
{
return Counter{value + counter.value};
}
private:
int value;
};
int main()
{
Counter c1{20};
Counter c2{10};
Counter c3 = c1 + c2;
c3.print(); // Value: 30
}
https://metanit.com/cpp/tutorial/5.14.php
#cpp #programming
👉 @cpp_lib🌎Программист, мир огромен и разнообразен!
👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация
На вебинаре мы:
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.
✅Занятие будет полезно всем программистам, практикующим написание кода на C и C++.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8Jtijr
Как рисуется карта в Фараоне
В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилдер, выпущенный в прошлом веке и разработанный Impressions Games. Технология рендеринга в этой игре была значительным достижением для своего времени и способствовала созданию впечатляющей атмосферы Древнего Египта, которая погружает игрока в проработанное окружение, удивляет вниманием к мелким деталям и передает богатство и разнообразие древнеегипетских пейзажей. В этой статье я опишу алгоритм отрисовки города, зданий, объектов, анимации и формат карты оригинальной игры.
https://habr.com/ru/articles/767892/
#cpp #programming
👉 @cpp_lib
Fiber в C++: Понимание основ
Fiber, менее известная концепция по сравнению с coroutine, является довольно мощным дополнением к кооперативной многозадачности. Как графический программист, работающий в игровой индустрии, я очень ценю гибкость, которую дает fiber. На самом деле, мне кажется, что эта технология немного недооценена из-за отсутствия достаточного количества публичных материалов, рассказывающих о волокнах.
В этой статье я расскажу о том, что я узнал об основах Fiber. Все, о чем пойдет речь в этой статье, будет относиться именно к языку C++, хотя подобная концепция существует и в других языках. Читатели, не имеющие представления о fibers, узнают, что это такое и как мы можем использовать его преимущества при рендеринге графики.
https://agraphicsguynotes.com/posts/fiber_in_cpp_understanding_the_basics/
#cpp #programming
👉 @cpp_lib
🔥 Qt и ОС Аврора: надежная основа для разработки востребованного ПО
➖ Освой кроссплатформенную разработку
Пройди тест и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS по специальной цене! .
👉 ПРОЙТИ ТЕСТ: https://vk.cc/csl5rH
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Моя борьба против знакового/беззнакового сравнения: самые распространенные нарушения
Как мы уже говорили на прошлой неделе, сравнение чисел с разными знаками может быть опасным в языке C++. Если попытаться сравнить знаковое и беззнаковое целое число, то можно получить результат, который не имеет смысла, если подходить к вопросу с математической точки зрения. По крайней мере, при правильных настройках компилятора вы получите предупреждение.
Мы также увидели, что C++20 предлагает простой и безопасный способ сравнения чисел в любое время, и он всегда вернет вам ожидаемый результат.
https://www.sandordargo.com/blog/2023/10/18/signed-unsigned-comparison-the-most-usual-violations
#cpp #programming
👉 @cpp_lib
