Библиотека C/C++ разработчика
الذهاب إلى القناة على Telegram
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
إظهار المزيد7 196
المشتركون
-124 ساعات
-27 أيام
-2530 أيام
أرشيف المشاركات
🧲 Magnet
Минималистичный менеджер зависимостей для вашего следующего проекта на C++.
Настраивайте меньше, пишите больше.
https://github.com/Futureblur/magnet
#cpp #programming
👉 @cpp_lib
😎Разработчик, управляй памятью эффективно!
👉Начните на бесплатном вебинаре онлайн-курса «Программист С» — «Реализация динамических структур данных на Си и Python»: регистрация
Структура вебинара:
- Примеры динамических структур данных
- Схемы управления динамической памятью в С и Python
- Реализация бинарного дерева на С и Python
- Применение функций управления динамической памятью.
Вебинар будет полезен:
- Программистам, изучающим языки С и Python, для развития навыков в области эффективного управления памятью.
- Разработчикам в области больших данных.
🤝Понравится вебинар — продолжите обучение на курсе по специальной цене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
TCP/IP сети с помощью Boost.Asio
Boost.Asio - это кроссплатформенная библиотека C++ для программирования сетей и низкоуровневого ввода-вывода, которая предоставляет разработчикам последовательную асинхронную модель с использованием современного подхода C++.
В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:
- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?
источник
#cpp #programming
👉 @cpp_lib
Полезные материалы для С++ разработчика: о новом стандарте, висячих ссылках и технических собеседованиях
Принесли материалы с недавнего митапа по С++ — сохраняйте в закладки, чтобы посмотреть на новогодних каникулах. Что интересного ждет в подборке?
Дискуссия о технических собеседованиях, из которой вы узнаете, какие красные флаги кандидатов отмечает Константин Владимиров, как Елена Степанова относится к алгоритмическим задачам и почему Илье Шишкову важны софтскиллы.
Обзор приятных и неприятных фич С++ 23 с точки зрения практикующего разработчика, который опробовал новый стандарт на реальных проектах.
Дюжина примеров, когда механизм lifetime extension не работает, и ответы на вопросы, что делать в таких ситуациях и как избежать последствий — ненавистных висячих ссылок.
Монады, обертки, std::expected: плюсы и минусы С++ 23 глазами практикующего разработчика
Рассказал: Илья Казаков, С++ разработчик в команде систем хранения данных, YADRO
Коротко о сути доклада: Обсудили, какие проблемы закрыл, а какие создал новый стандарт языка. Илья на примерах показал, как работает новая функциональность и в каких задачах можно применять фичи С++ 23. Его фавориты — монадический std::optional и std::expected, а удаленные опции aligned_storage и aligne_union Илья обещает помнить всегда.
https://habr.com/ru/companies/yadro/articles/783472/
#cpp #programming
👉 @cpp_lib
⚡Онлайн-Хакатон "Городские Легенды" от Группы компаний Росохрана и ООО «Эпсилон»!
💡Кейсы хакатона:
1. Разработка интерактивного голосового помощника с использованием анимированного аватара.
2. Интеграция интерактивного аватара в городскую экосистему цифровых сервисов.
👨💻Для кого хакатон?
- C++/C#-разработчиков;
- Unity-разработчиков;
- 3D-Моделлеров;
- UX/UI-дизайнеров;
- AI-Специалистов;
- Команды из 5 человек;
- Готовых внедрить любимых персонажей в городскую среду и побороться за главный приз!
🏆Общий призовой фонд - 700 000 рублей!
📅Дата проведения: 11-18 Марта
📍Формат: Онлайн
Подробная информация и регистрация: https://tglink.io/e1306e1979d3?erid=LjN8KVwsj
Файловый ввод, сделанный по-человечески
Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема. В тексте задания у меня было написано примерно следующее:
Чтобы прочитать строку из файла на языке C++ используйте такой код:
std::string s;
std::getline(f, s);
https://habr.com/ru/articles/797321/
#cpp #programming
👉 @cpp_libСтатьи серии SObjectizer Tales
Некоторое время назад я искал альтернативы библиотеке Asynchronous Agents от Microsoft. Я разработал приложение для Windows, взаимодействующее с промышленными камерами и выполняющее множество задач, таких как визуализация и распознавание объектов, и мне нужно было, чтобы оно работало на других платформах.
1. Producing Images
2. Can you call me back?
3. Acquisition loop revisited
4. Handling commands
5. Sending commands
6. Is the stream still in progress?
7. Agent composition
8. Representing errors
9. Splitting work
10. Handling GUI from main
11. Interlude: testing
12. Receiving commands from the network
13. Routing images across the network
14. Triggering agent shutdown
15. Monitoring disconnections
16. Interrupting work
17. Limiting message flow
18. Limiting message chains
19. Thread-safe handlers
20. Performance, part 1
21. Performance, part 2
https://dev.to/ilpropheta/sobjectizer-tales-prelude-5bi8
#cpp #programming
👉 @cpp_lib
⚡В OTUS идет набор в группу курса “Embedded Developer”- быстрый и интересный старт в Embedded с погружением в три самые важные области: программирование микроконтроллеров, проектирование печатных плат, схемотехника.
🔥6 марта в 20:00 мск приглашаем на открытый урок курса «Методы и принципы разработки ПО для встраиваемых устройств».
На вебинаре вы:
- узнаете ключевые методы и принципы создания эффективного и надежного ПО для микроконтроллеров и embedded устройств;
- рассмотрите проектирование и структурирование кода на основе State-машин и RTOS;
- получите комплексное понимание построения качественного ПО для встроенных систем.
👉Регистрация для участия https://otus.pw/w2Lu/?erid=LjN8KchV6
После урока возможно продолжить обучение по специальной цене и с рассрочкой платежа.
Why Avoid Pointer Arithmetic?
Calling all C++ developers: A free preview of CLion with much faster core IDE functions is out! 🎉 Introducing CLion Nova – a version of CLion with the C++ language engine from ReSharper C++ and JetBrains Rider. It brings:
Faster highlighting speeds
A more responsive UI
Significantly fewer freezes and hangs in refactorings
источник
#cpp #programming
👉 @cpp_lib
Быстрый парсинг 8-битных целых чисел
Допустим, вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Задача взята из проекта simdzone под руководством Йероена Коеккоека (NLnet Labs). Дана строка и её длина: например, ’22’ и длина 2. Наивное решение на C может выглядеть так:
int parse_uint8_naive(const char *str, size_t len, uint8_t *num) {
uint32_t n = 0;
for (size_t i = 0, r = len & 0x3; i < r; i++) {
uint8_t d = (uint8_t)(str[i] - '0');
if (d > 9)
return 0;
n = n * 10 + d;
}
*num = (uint8_t)n;
return n < 256 && len && len < 4;
}
https://habr.com/ru/articles/784102/
#cpp #programming
👉 @cpp_lib🫵 Соберите свой первый проект на С++ и добавьте его в портфолио
👉 На бесплатном практическом уроке от OTUS и Карины Дорожкиной — ведущего разработчика в Kaspersky.
На вебинаре:
- разберем понятие единицы трансляции;
- проследим за ошибками компиляции и линковки, разберёмся в их причинах;
- создадим статическую библиотеку и подключим её при помощи CMake;
- обсудим разницу между статической библиотекой и динамической.
⏰ Занятие пройдёт 5 марта в 20:00 мск и будет приурочено к старту курса «Специализация C++ Developer». Доступна рассрочка на обучение!
👉 Зарегистрируйтесь прямо сейчас, чтобы занять место: https://vk.cc/cv2iYq
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Полное руководство по CMake. Часть третья: Тестирование и пакетирование
Данная статья повествует о тестировании и пакетировании программ при помощи CMake — гибкого и универсального набора утилит для разработки различных программных продуктов. Строго рекомендуется прочитать первую и вторую части руководства во избежание непонимания синтаксиса и принципа работы CMake.
PS
Статья недоступна на хабре, достали из архива, все ссылки ведут через веб архив. При желании можно ручками поправить.
https://telegra.ph/Polnoe-rukovodstvo-po-CMake-CHast-tretya-Testirovanie-i-paketirovanie-02-27
#cpp #programming
👉 @cpp_lib
C++ Programming: Implicit and Explicit Constructors
https://dev.to/aboss123/c-programming-implicit-and-explicit-constructors-27be
#cpp #programming
👉 @cpp_lib
Как углубить свои знания об архитектуре ПО всего за пару часов?
Прийти на бесплатный практический урок «Тактики работы с обнаруживаемостью в архитектуре программного обеспечения» от OTUS. На вебинаре разберём:
- что такое observability и почему это важно для бизнеса;
- как использовать инструменты мониторинга и алертинга для повышения обнаруживаемости;
- принципы и практические примеры использования USE и RED;
- четыре золотых сигнала, которые помогут оптимизировать работу с обнаруживаемостью.
Встречаемся 6 марта в 20:00 мск в рамках курса «Software Architect». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cv0tdN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Полное руководство по CMake. Часть вторая: Система сборки
В данной статье рассмотрено использование системы сборки CMake, применяемой в колоссальном количестве проектов на C/C++. Строго рекомендуется прочитать первую часть руководства во избежание непонимания синтаксиса языка CMake, явным образом фигурирующего на протяжении всей статьи.
https://telegra.ph/Polnoe-rukovodstvo-po-CMake-CHast-vtoraya-Sistema-sborki-02-27
PS
Статья недоступна на хабре, достали из архива, все ссылки ведут через веб архив. При желании можно ручками поправить.
#cpp #programming
👉 @cpp_lib
Полное руководство по CMake. Часть первая: Синтаксис
CMake — это открытый и кросс-платформенный набор утилит, предназначенных для автоматизации тестирования, компиляции и создания пакетов проектов на C/C++. Написав однажды небольшой и понятный всем скрипт, Вы тем самым обеспечите одинаковую сборку Вашего проекта на любых платформах, где доступен CMake.
Язык CMake, будучи транслированным в нативный файл сборки (например, Makefile или Ninja), определяет процесс всего управления проектом. В Вашем распоряжении, с функциональной стороны, есть лишь команды, которые могут образовываться в довольно сложные конструкции. С них мы и начнём.
https://telegra.ph/Polnoe-rukovodstvo-po-CMake-CHast-pervaya-Sintaksis-02-27
PS
Статья недоступна на хабре, достали из архива, все ссылки ведут через веб архив. При желании можно ручками поправить.
#cpp #programming
👉 @cpp_lib
💻Старт курса “Реверсивный инжиниринг ПО под ОС Windows”
Начало обучения: 4 марта
🎓 За 6,5 месяцев вы:
- Подробно изучите команды языка Ассемблер
- Освоите техники поиска уязвимостей в десктопных приложениях
- Проведете детальный анализ уязвимостей разных приложений, от простейших crackme до полноценных приложений
- Изучите образцы вредоносных приложений и методы заражения машин
💡 Кому будет полезен курс:
- Пентестерам
- Вирусным аналитикам
- Исследователям кода вредоносного ПО
- Разработчикам ПО
- Всем интересующимся тематикой ВПО
🎓 Учитесь дистанционно, без отрыва от вашей профессиональной деятельности и получите сертификат по окончании курса
🚀 Запись на курс уже открыта – начните свой путь в мир реверс-инжиниринга с Академией Кодебай!
Базовые алгоритмы на графах
Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search
Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search
Алгоритм Дейкстры
Алгоритм Флойда-Уоршелла
Алгоритм Прима
https://habr.com/ru/companies/timeweb/articles/751762/
#cpp #programming
👉 @cpp_lib
Сборник разных гайдов/примеров по cmake 💪
https://github.com/onqtam/awesome-cmake
#cpp #programming
👉 @cpp_lib
👩💻 Разработка на С++ в 2024 — как попасть в крутой проект и добиться успеха?
Освоить возможности новых стандартов вплоть до C++20 и прокачать свой код под руководством топовых экспертов из ведущих компаний на онлайн-курсе "C++ Developer. Professional" от OTUS.
Программа идеально подойдет для разработчиков C++ Junior или Middle, а также разработчиков на Java или Python, стремящихся расширить свои возможности.
На курсе вас ждут:
- живые вебинары с возможностью задать вопросы экспертам;
- много практики и сильные проекты для портфолио;
- поддержка профессионального комьюнити;
- рассрочка на выгодных условиях.
➡️ Пройдите бесплатный тест прямо сейчас и узнайте, готовы ли вы стать более востребованным специалистом: https://vk.cc/cuWZYq
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576