Библиотека C/C++ разработчика | cpp, boost, qt
20.3K subscribers
1.78K photos
47 videos
16 files
3.97K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
🌀 Решение проблем связанных с параллелизмом в IOT

💡 Автор статьи предлагает радикально иной подход: заменить потоки и корутины на конечные автоматы для создания истинно параллельных программ на микроконтроллерах.

Ключевые моменты статьи:

• конечные автоматы как математическая основа для параллельного программирования
• библиотека на C++ для ESP32, реализующая автоматное программирование
• параллелизм в одном потоке без проблем синхронизации и гонок данных

Основной фокус — практическая реализация технологии автоматного программирования на микроконтроллерах ESP32.

Особенно актуально для проектов умного дома и промышленного IoT, где требуется работа в жёстком реальном времени с множеством датчиков и исполнительных устройств.

Оказывается, реальный проект с датчиками температуры, влажности, освещённости и управлением реле работает без FreeRTOS, поддерживает WiFi, MQTT и Home Assistant — и всё это на одном потоке с дискретностью такта 10 мсек.

Библиотека C/C++ разработчика
🤔1
😼 Перевод:

ПРОГРАММИСТЫ ИСПОЛЬЗУЙТЕ ЭТУ ИНФОРМАЦИЮ С УМОМ
U+003B ТОЧКА С ЗАПЯТОЙ
U+037E ГРЕЧЕСКИЙ ВОПРОСИТЕЛЬНЫЙ ЗНАК


Библиотека C/C++ разработчика

#развлекалово
🥱10👏3😁21
🍿 Холивар: Exception Safety

🐊 Услышал вчера на собесе перл века:

Exception safety в C++ не нужна, мы просто не используем исключения


И вот тут я понял, что индустрия раскололась на два лагеря:

Лагерь No Exceptions: Google Style Guide, игровая индустрия, embedded. Их мантра: «Исключения = непредсказуемая производительность»

Лагерь RAII + Exceptions: Стандартная библиотека, большинство enterprise проектов. «Исключения - это элегантная обработка ошибок»

// Версия без исключений
std::optional<Data> parse(const std::string& input) {
if (input.empty()) return {};
// ...
}

// Версия с исключениями
Data parse(const std::string& input) {
if (input.empty()) throw std::invalid_argument("empty input");
// ...
}


Реальность:

90% C++ кода уже содержит исключения через STL. Даже new может бросить std::bad_alloc! 😱


Провокация:

Если ты пишешь код без exception safety, ты пишешь потенциально багованный код. Точка.


✏️ Опрос: Как ты относишься к исключениям в C++?

🔥 Использую активно (элегантно!)
❤️ Избегаю (производительность)
⚡️ Только в STL контейнерах
🌚 Что такое exception safety?

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1917🌚43
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место