en
Feedback
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

Open in Telegram

Все самое полезное для плюсовика и сишника в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17 #WXSSA

Show more

📈 Analytical overview of Telegram channel Библиотека C/C++ разработчика | cpp, boost, qt

Channel Библиотека C/C++ разработчика | cpp, boost, qt (@cppproglib) in the Russian language segment is an active participant. Currently, the community unites 16 869 subscribers, ranking 7 515 in the Technologies & Applications category and 39 032 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 16 869 subscribers.

According to the latest data from 06 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -46 over the last 30 days and by 1 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 8.78%. Within the first 24 hours after publication, content typically collects 4.86% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 0 views. Within the first day, a publication typically gains 820 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
  • Thematic interests: Content is focused on key topics such as c++, навигация, компилятор, удалёнка, developer.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Все самое полезное для плюсовика и сишника в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17 #WXS...

Thanks to the high frequency of updates (latest data received on 07 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

16 869
Subscribers
+124 hours
+47 days
-4630 days
Posts Archive
#memes Айтишники спешат с работы в пятницу вечером

Что используется для ручного написания таблицы подстановки?
Anonymous voting

🔥 Время прокачивать свои навыки и RustИ !!! 🫵 Проверь себя - пройди тест по Rust 🫵 Ответишь успешно — пройдёшь на курс «Ru
🔥 Время прокачивать свои навыки и RustИ !!! 🫵 Проверь себя - пройди тест по Rust 🫵 Ответишь успешно — пройдёшь на курс «Rust Developer. Professional» от Отус по специальной цене. Сегодня изучаешь Rust - завтра растет твоя ЗП! ➡️ ПРОЙТИ ТЕСТ: https://otus.pw/riQGm/ 💥 Бонусом за успешно пройденный тест, получишь доступ к записям лучших открытых уроков курса. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru Erid 2Vtzqv76qoe

std::array и std::vector std::array — это обёртка вокруг обычного массива, фиксированного размера, а std::vector — это динамически расширяемый массив. std::array хранит свои данные в стековой памяти, а vector выделяет память в куче (динамическая память). У std::array в параметрах шаблона указывается тип хранимых элементов и размер массива. А у std::vector - тип элементов и ещё возможно указать аллокатор, который нужно использовать при выделении памяти (с помощью new). std::array чуть лучше по производительности в случае небольшого массива, чем std::vector, который содержит в себе несколько указателей, указывающих на выделенный в куче кусок памяти.

💹⚖️ Измерение частоты на STM32 Рассказ о различных методах измерения частоты прямоугольного сигнала с помощью микроконтроллера STM32. В процессе работы над одной из железок у автора возникла необходимость организовать несколько выводов, которые бы измеряли частоту входного сигнала. Опробовав несколько разных вариантов, он решил, что негоже примерам пылиться на задворках диска D и стоит ими поделиться с сообществом. Начальные условия: частота входного сигнала от 0 до 10 кГц. Микроконтроллер STM32F103C8T6, всем известная плата bluepill. Библиотека HAL. Источником сигнала, частота которого будет измеряться, для проверки работоспособности будет служить двухканальный генератор частоты JDS6600. Будет использовать модуль CH340G (Преобразователь USB — UART) для передачи данных в терминал (terminal v1.9b) для наглядности. В него будет посылаться полученное после обработки значение. Читайте дальше тут #туториал

🤓🧑‍🎓 Синтаксический разбор CSV строчек В программировании микроконтроллеров часто надо производить синтаксический разбор (парсинг) CSV строчек. CSV это просто последовательность символов, которые разделены запятой (или любым другим одиночным символом: ; | /). 1️⃣ CSV строчки можно, например, повстречать в NMEA протоколе от навигационных GNSS приемников. Вот пример NMEA протокола:
$GNGGA,102030.000,5546.95900,N,03740.69200,E,1,08,2.0,142.0,M,0.0,M,,*
$GNGLL,5546.95900,N,03740.69200,E,102030.000,A,A*
$GNGSA,A,3,10,16,18,20,26,27,,,,,,,4.8,2.0,4.3,1*
$GNGSA,A,3,19, , , , , ,,,,,,,4.8,2.0,4.3,4*
$GNGSA,A,3,82, , , , , ,,,,,,,4.8,2.0,4.3,2*
2️⃣ Потом, любой URL (например https://proglib.io/) это, в сущности, та же самая пресловутая CSV строчка, где разделитель это /. 3️⃣ Также компонент CSV позволит одной строчкой в UART-CLI консоли прошивки распознавать и запускать на исполнение последовательно сразу несколько shell команд. 4️⃣ Прошивка может запросто логировать на SD карту по SPI данные в CSV формате как в файл на FatFS. Потом этот текстовый *.csv файлик можно будет открыть на LapTop(е) любым процессором электронных таблиц. Продолжение здесь

Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!». Участников ждет м
Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!». Участников ждет много практики по разработке операционных систем и микроконтроллеров. Среди спикеров от руководители и ведущие разработчики команд SberDevices, «Лаборатория Касперского», «Открытая мобильная платформа», YADRO, «Сбер». В программе: — Как в операционной системе от SberDevices устроен процесс разработки на C++; — Инструменты для поддержания качества кода в операционных системах; — Опыт внедрения инструмента статического анализа кода Clang Tidy на поздней стадии проекта; — Разработка операционной системы на базе Debian Linux: почему лучше сделать своё, чем покупать у вендора. Конференция состоится 18 ноября в offline и online формате. Для участия необходимо зарегистрироваться по ссылке. Реклама. ПАО Сбербанк ИНН 7707083893. erid: 2SDnjcU9bsN

🚶👣 На пути из Web к Native Рассказ о трудностях, которые могут ожидать неопытного человека, который соблазнится нативным программированием. Имея небольшой опыт в веб-программировании, автору казалось, что все не так плохо. И так по началу и было. За вопрос он взялся основательно: без задачи — нет учебы. Он решил поставить перед собой большую цель: давным-давно, играя в ммо, наткнулся на бот-программу, так называемый пакетный кликер. Она отправляла запросы на сервер и заставляла персонажа выполнять в автоматическом режиме невообразимые вещи, что очень впечатлило. По заявлениям автора, он ее сделал всего за 3 часа. И вот, уже не маленький автор решил, что должен сделать так же. Бота выбрал по ряду причин: ➖ Работа с ассемблером. ➖ Какой-никакой GUI. ➖ Сборка и импорт библиотеки. ➖ Мечта детства. Начал с реверсинга, попал на форум Tuts4You и прошел челлендж, состоящий из 40ка reverse_me. Продолжение истории тут #почитать

#вопросы_с_собеседования Перед вами два примера кода для печати вектора. Есть ли преимущества использования одного или другого? Пример 1:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); itr++) {
 itr->print();
}
Пример 2:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); ++itr) {
 itr->print();
}
Хотя оба кода будут генерировать одинаковые выходные данные, пример 2 является более производительным вариантом. Это связано с тем, что оператор после инкремента itr++ обходится дороже, чем оператор перед инкрементом ++itr. Оператор пост-инкремента генерирует копию элемента, прежде чем приступить к увеличению элемента и возврату копии. Более того, большинство компиляторов автоматически оптимизируют пример 1, неявно преобразуя его в пример 2.

🤔 Очередной #дайджест по С++ ✅ Использование переменных шаблонов для решения крошечной задачи — как шаблоны переменных могут
🤔 Очередной #дайджест по С++ ✅ Использование переменных шаблонов для решения крошечной задачи — как шаблоны переменных могут быть использованы для улучшения читаемости ✅ Создавайте надежные и защищенные программы на C++ — как и какие инструменты использовать для создания ✅ Язык Janet для смертных — раскрываются различные аспекты работы с языком, объяснение синтаксиса и некоторых приемов программирования ✅ Структурированная диагностика в новом окне — рассказ о безумно полезном инструменте, о котором не все знают ✅ Приключения ржавого — как выдрать экранчик из принтера и соорудить поделку😂

Принцип YAGNI Принцип YAGNI (You Ain't Gonna Need It), который также известен как «Не добавляйте функциональность, пока она н
Принцип YAGNI Принцип YAGNI (You Ain't Gonna Need It), который также известен как «Не добавляйте функциональность, пока она не понадобится». В контексте С++ это означает, что при проектировании и разработке программы вы должны избегать лишней сложности, излишних функций и структур данных, которые не требуются на текущем этапе разработки. Вместо этого фокусируйтесь на решении актуальных задач и добавлении только тех функций, которые необходимы для выполнения текущих требований. Этот принцип помогает избежать излишней сложности кода, упростить его поддержку и обеспечить более гибкую архитектуру, которая может легко адаптироваться к будущим изменениям и требованиям. #код

🏃🏃‍♂️ Библиотека libopencm3. Работа с USART, прерываниями, I2C и таймерами В заключительной части (это и это — предыдущие части, в которых происходит вся подготовительная кухня) рассматривается взаимодействие микроконтроллера с окружающим миром с помощью USART — интерфейса, позволяющего организовать взаимодействие с человеком при помощи текста. Цель: отправить в USART строчку «Hello from LibOpenCM3!» Параметры подключения должны быть: скорость 9600, 8 бит данных, один стоп-бит, проверка четности выключена. Изучить материал #туториал

🚩 Итог одной валютной удаленки: проработал месяц бесплатно и ушел с долгами Изумительная история фронтендера, который целый
🚩 Итог одной валютной удаленки: проработал месяц бесплатно и ушел с долгами Изумительная история фронтендера, который целый месяц работал без зарплаты и даже остался должен своему работодателю $1609 #почитать Читать статью

Паттерн Strategy Паттерн Strategy — это паттерн проектирования, который позволяет определять семейства связанных алгоритмов и
Паттерн Strategy Паттерн Strategy — это паттерн проектирования, который позволяет определять семейства связанных алгоритмов и делать их взаимозаменяемыми. Это дает возможность выбирать конкретный алгоритм во время выполнения программы. Основная идея паттерна Strategy заключается в том, чтобы вынести алгоритмы в отдельные классы-стратегии и передавать нужную стратегию в клиентский код. Это паттерн используется, когда: — Нужно использовать разные варианты одного и того же алгоритма в разных ситуациях. — Нужно легко добавлять новые стратегии, не меняя существующий клиентский код. — Нужно избавиться от условных операторов, выбирающих алгоритм. #код

🧑‍💻🪜 6 карьерных советов программисту Советы, которые подойдут джуниорам, мидлам и сеньорам. #туториал Читать статью
🧑‍💻🪜 6 карьерных советов программисту Советы, которые подойдут джуниорам, мидлам и сеньорам. #туториал Читать статью

🤔 Очередной #дайджест материалов по C++ ♦️ Shared, TO, PLOT: друзья или враги — тестирование вызовов функций, вызовов указат
🤔 Очередной #дайджест материалов по C++ ♦️ Shared, TO, PLOT: друзья или враги — тестирование вызовов функций, вызовов указателей на функции и производительность виртуальных вызовов ♦️ «Есть вопросы, на которые не ответит даже наниматель»: три истории о собеседованиях разработчиков на С++ — как проводить технические интервью, говорить про алгоритмы без синтетических задач и оценить знания кандидата ♦️ Great .NET 8 Hack — узнаете, как создавать облачные нативные приложения, ИИ-приложения или приложения .NET MAUI с использованием последней версии .NET. ♦️ Хранение данных в Entity Component Systems — как ECS упорядочивает ваши данные для оптимизации скорости выполнения итераций ♦️ Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора — подключение к нативной части ОС Авроры для тестирования нативной части Flutter-приложения

🧠⚙️ Как научиться критически мыслить: 6 эффективных способов Критическое мышление позволяет принимать решения в условиях нео
🧠⚙️ Как научиться критически мыслить: 6 эффективных способов Критическое мышление позволяет принимать решения в условиях неопределённости, доносить свои идеи до команды, видеть ошибки в логике, замечать манипуляции. В статье рассказываем, откуда пошло это понятие и как можно развить критическое мышление. 💬Считаете ли вы, что у вас развито критическое мышление? 👍 — да, и это очень помогает мне в жизни и работе 🤔 — да, но оно ничем не помогает 🥱 — нет

#вопросы_с_собеседования Какая разница между статической и динамической библиотеками? Статическая библиотека — это набор объектных файлов, которые компилятор или компоновщик могут использовать для создания исполняемого файла. Когда вы компилируете программу, которая использует статическую библиотеку, код из библиотеки копируется в исполняемый файл. Это означает, что каждый исполняемый файл содержит свою собственную копию кода из статической библиотеки. Динамическая библиотека — это набор функций и данных, которые могут быть загружены и использованы несколькими программами одновременно. Когда вы компилируете программу, которая использует динамическую библиотеку, исполняемый файл содержит только ссылки на функции и данные в библиотеке. Код из динамической библиотеки загружается в память только один раз и может быть использован несколькими программами. Основное отличие между статическими и динамическими библиотеками заключается в том, как они используются и распространяются. Статические библиотеки встраиваются непосредственно в исполняемый файл, что увеличивает его размер, но делает его самодостаточным. Динамические библиотеки распространяются отдельно от исполняемого файла и могут быть использованы несколькими программами, что уменьшает размер каждого исполняемого файла и обеспечивает лучшее использование памяти.