✨ Magic Enum — элегантная C++17 библиотека для работы с перечислениями, которая добавляет в них магию рефлексии. Без макросов и boilerplate-кода она позволяет легко преобразовывать enum в строки, проверять наличие значений и даже работать с битовыми флагами.
Библиотека сохраняет constexpr-контекст и поддерживает даже такие экзотические операции, как склейку enum-ов для многоуровневых switch-блоков. Хотя проект заточен под компактные перечисления, его уже используют в продакшене, например, для сериализации или валидации конфигов.
🤖 GitHub
@cpluspluc
Библиотека сохраняет constexpr-контекст и поддерживает даже такие экзотические операции, как склейку enum-ов для многоуровневых switch-блоков. Хотя проект заточен под компактные перечисления, его уже используют в продакшене, например, для сериализации или валидации конфигов.
🤖 GitHub
@cpluspluc
🔥11👍7❤4🤬1🤣1
Media is too big
VIEW IN TELEGRAM
🚀 YADRO приглашает C++ разработчиков в команду OpenBMC и встроенных систем!
Если вы хотите создавать сложное программное обеспечение для серверов и систем хранения данных, работать с передовыми технологиями Linux и участвовать в проектах open source, то эта возможность для вас.
📌 Кого мы ищем:
• Ведущего разработчика C++ (Linux/OpenBMC)
• Ведущего разработчика интерфейсов встроенных систем
• TeamLead разработки OpenBMC
🧰 Технологический стек и задачи:
• C++ (стандарты 17, 20, 23), STL, Boost
• Linux-среда, systemd, D-Bus, Yocto, bash, Python
• Работа с ядром прошивки OpenBMC, взаимодействие с UEFI/BIOS
• Разработка и поддержка сложных интерфейсов встроенных систем
💼 Условия работы:
• Гибкий формат: удалённо или в офисах в Москве, Санкт-Петербурге, Екатеринбурге, Нижнем Новгороде и Минске
• Работа с масштабными проектами в уникальной команде инженеров
• Возможность горизонтального и вертикального карьерного роста
💙 Узнайте больше и откликайтесь на вакансии прямо на сайте!
Если вы хотите создавать сложное программное обеспечение для серверов и систем хранения данных, работать с передовыми технологиями Linux и участвовать в проектах open source, то эта возможность для вас.
📌 Кого мы ищем:
• Ведущего разработчика C++ (Linux/OpenBMC)
• Ведущего разработчика интерфейсов встроенных систем
• TeamLead разработки OpenBMC
🧰 Технологический стек и задачи:
• C++ (стандарты 17, 20, 23), STL, Boost
• Linux-среда, systemd, D-Bus, Yocto, bash, Python
• Работа с ядром прошивки OpenBMC, взаимодействие с UEFI/BIOS
• Разработка и поддержка сложных интерфейсов встроенных систем
💼 Условия работы:
• Гибкий формат: удалённо или в офисах в Москве, Санкт-Петербурге, Екатеринбурге, Нижнем Новгороде и Минске
• Работа с масштабными проектами в уникальной команде инженеров
• Возможность горизонтального и вертикального карьерного роста
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5
Please open Telegram to view this post
VIEW IN TELEGRAM
❤57🔥23😁20👍10🥱2🥴1
Принцип простой: описываете, что хотите получить, нажимаете Optimize — GPT-5 анализирует запрос и выдаёт готовый детализированный промт. Работает бесплатно.
Инструмент может упростить работу с любыми нейросетями, особенно если у вас нет опыта в составлении промтов.
Готовый вы можете сразу попробовать в @Chatgpturbobot
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2😁2
💡 Разбор кода на C++: работа с файлами
Что делает программа:
1. Создаёт файл `test.txt` и записывает в него строку `"hello"`.
2. Закрывает файл.
3. Открывает этот же файл для чтения.
4. Читает его посимвольно и выводит на экран.
Ключевые моменты:
- `std::ofstream` — поток для записи в файл.
- `std::ifstream` — поток для чтения из файла.
- `in.get(c)` — читает по одному символу и возвращает `true`, пока файл не закончился.
- Обязательный вызов `file.close()` перед повторным открытием файла нужен, чтобы записанные данные точно сохранились.
Что выведет:
Без пробелов и переносов — ровно то, что было записано.
1. Создаёт файл `test.txt` и записывает в него строку `"hello"`.
2. Закрывает файл.
3. Открывает этот же файл для чтения.
4. Читает его посимвольно и выводит на экран.
Ключевые моменты:
- `std::ofstream` — поток для записи в файл.
- `std::ifstream` — поток для чтения из файла.
- `in.get(c)` — читает по одному символу и возвращает `true`, пока файл не закончился.
- Обязательный вызов `file.close()` перед повторным открытием файла нужен, чтобы записанные данные точно сохранились.
Что выведет:
Без пробелов и переносов — ровно то, что было записано.
👍10❤4
Что выведет код, использующий файловый ввод-вывод?
Anonymous Quiz
10%
Ничего не выведет
6%
Ошибка компиляции
27%
Зависит от наличия файла test.txt
58%
hello
👍10❤5🖕2🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Офер в Яндекс за 48 часов: ищем бэкендеров
В команду нужны опытные бэкенд-разработчики на C++, Python, Java и Go. Приглашаем на Мультитрек — онлайн-программу быстрой адаптации.
Всего за 2 дня вы можете получить офер:
• До 18 августа подать заявку и пройти предварительный отбор
• 23 августа решить задачи на технических секциях
• 24 августа пройти финальное собеседование и получить офер
После этого будет возможность поработать с тремя командами и выбрать проект по душе.
Создаём технологии, которые меняют мир. Присоединяйтесь! Оставляйте заявку на сайте.
Реклама. ООО "Яндекс". ИНН 7736207543
В команду нужны опытные бэкенд-разработчики на C++, Python, Java и Go. Приглашаем на Мультитрек — онлайн-программу быстрой адаптации.
Всего за 2 дня вы можете получить офер:
• До 18 августа подать заявку и пройти предварительный отбор
• 23 августа решить задачи на технических секциях
• 24 августа пройти финальное собеседование и получить офер
После этого будет возможность поработать с тремя командами и выбрать проект по душе.
Создаём технологии, которые меняют мир. Присоединяйтесь! Оставляйте заявку на сайте.
Реклама. ООО "Яндекс". ИНН 7736207543
🖕11❤2👍1🔥1
🔌 C++ REST SDK — проект Microsoft для облачных клиент-серверных решений на C++, который перешёл в режим поддержки. Хотя для новых проектов его уже не рекомендуют, библиотека остаётся рабочей лошадкой для асинхронного взаимодействия с HTTP/JSON API в кросс-платформенных приложениях.
Интересная деталь: несмотря на статус maintenance mode, SDK всё ещё поддерживает все основные платформы — от Windows до Android и iOS. В комплекте идут клиенты для HTTP/WebSockets, парсеры URI и даже oAuth-интеграция, всё на базе современных C++11-фич вроде PPL Tasks.
🤖 GitHub
@cpluspluc
Интересная деталь: несмотря на статус maintenance mode, SDK всё ещё поддерживает все основные платформы — от Windows до Android и iOS. В комплекте идут клиенты для HTTP/WebSockets, парсеры URI и даже oAuth-интеграция, всё на базе современных C++11-фич вроде PPL Tasks.
🤖 GitHub
@cpluspluc
❤5👍2🔥2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
- Что это: Лаунчер, вдохновлённый Raycast, написан на C++ с использованием Qt. Ориентирован на разработчиков и power-users, он обеспечивает быстрый, преимущественно клавиатурный доступ к действиям в системе без лишнего «тяжёлого» UI.
- Особенности:
- Запуск и поиск установленных приложений
- Индексация файлов с полнотекстовым поиском по миллионам файлов
- Умный эмодзи-пикер с пользовательскими ключевыми словами
- Калькулятор с конвертацией единиц и валют + история
- Защищённая история буфера обмена с поиском по всем копируемым данным
- Быстрые ссылки (shortcuts) для мгновенного доступа
- Интеграция с оконным менеджером (например, копирование данных в активное окно)
- Теминг (светлые и тёмные темы, кастомные темы через конфиг)
- Совместимость с расширениями Raycast — доступ к его стору и установка «в один клик» (не все расширения пока работают)
- Лицензия: GPL-3.0, опен-сорс.
https://github.com/vicinaehq/vicinae
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥9❤2
🚨 Вышла новая версия Boost 1.89.0 — значительное обновление популярной библиотеки для C++. Этот релиз приносит как важные исправления, так и новые возможности для современных проектов.
Среди ключевых изменений — улучшенная поддержка современных стандартов: Asio получил новые функции для работы с аллокаторами, Atomic теперь включает TSAN-инструментацию для анализа многопоточного кода, а Geometry был существенно переработан для повышения точности вычислений. Также появилась новая библиотека Bloom для работы с фильтрами и улучшена поддержка модулей C++20.
🔗 Ссылка - *клик*
@cpluspluc
Среди ключевых изменений — улучшенная поддержка современных стандартов: Asio получил новые функции для работы с аллокаторами, Atomic теперь включает TSAN-инструментацию для анализа многопоточного кода, а Geometry был существенно переработан для повышения точности вычислений. Также появилась новая библиотека Bloom для работы с фильтрами и улучшена поддержка модулей C++20.
🔗 Ссылка - *клик*
@cpluspluc
👍11🔥6❤🔥2🥰1👏1
🆕 C23: что нового в стандарте C?
📅 25 августа | 20:00 мск | бесплатно
На вебинаре разберём:
🔹 Основные фичи C23: #embed, constexpr, улучшенные макросы, новые типы и атрибуты
🔹 Обратная совместимость и миграция со старых стандартов
🔹 Что можно применять уже сейчас и как это изменит ваш код
Полезно для:
💡 Программистов на C, которые хотят быть в курсе последних изменений
👉 Регистрируйтесь и узнайте, как C23 повлияет на ваш код:
[https://otus.pw/LTm1/]
Занятие приурочено к старту курса "Программист С", обучение на котором позволит не только глубоко погрузиться в возможности языка С, но и изучить низкоуровневые особенности устройства UNIX-совместимых ОС и ОС семейства Windows
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
📅 25 августа | 20:00 мск | бесплатно
На вебинаре разберём:
🔹 Основные фичи C23: #embed, constexpr, улучшенные макросы, новые типы и атрибуты
🔹 Обратная совместимость и миграция со старых стандартов
🔹 Что можно применять уже сейчас и как это изменит ваш код
Полезно для:
💡 Программистов на C, которые хотят быть в курсе последних изменений
👉 Регистрируйтесь и узнайте, как C23 повлияет на ваш код:
[https://otus.pw/LTm1/]
Занятие приурочено к старту курса "Программист С", обучение на котором позволит не только глубоко погрузиться в возможности языка С, но и изучить низкоуровневые особенности устройства UNIX-совместимых ОС и ОС семейства Windows
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
🔥5👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Полезны и удобный инструмент для работы с данными в JSON
Расширение для VSCode превращает JSON-файлы в наглядные диаграммы, позволяя быстро исследовать структуру и понимать взаимосвязи в данных.
Поддерживаются также YAML, XML и CSV. Все визуализации можно экспортировать в виде изображений.
Полностью бесплатно и с открытым исходным кодом.
https://github.com/ManuelGil/vscode-json-flow
@cpluspluc
Расширение для VSCode превращает JSON-файлы в наглядные диаграммы, позволяя быстро исследовать структуру и понимать взаимосвязи в данных.
Поддерживаются также YAML, XML и CSV. Все визуализации можно экспортировать в виде изображений.
Полностью бесплатно и с открытым исходным кодом.
https://github.com/ManuelGil/vscode-json-flow
@cpluspluc
👍16🔥6❤3
🆕 Анонс: Proxy 4 — новый шаг в C++-полиморфизме
🟢 Что такое Proxy 4?
Proxy — это header-only, кроссплатформенная библиотека C++20, позволяющая писать полиморфный код без наследования и традиционных виртуальных функций.
Используется в кодовой базе Windows с 2022 года и теперь выходит как зрелая, готовая к продакшену технология.
**Что нового в версии 4?**
- Навыки (Skills): простое подключение возможностей (format, fmt_format, rtti, as_view, slim и др.) через композицию фасадов.
-
- Совместное владение: новые API
- Умный диспетчинг и конверсии: возможности
- Рекурсивные фасады:
Документация теперь размещена на обновлённом сайте — удобная навигация, FAQ, API-справочник, примеры.
Также доступен экспериментальный запуск в Compiler Explorer: попробуйте Proxy прямо в браузере без настройки среды.
Почему это важно?
- Полиморфизм без наследования и виртуалок: менее навязчиво, гибче и возможно производительнее.
- Эффективное управление временем жизни объектов: поддержка владения, заимствования и слабых ссылок.
- Высокая производительность сравнима или превосходит ручной код.
- Расширяемость и гибкость: полиморфизм поверх функций, операторов, конверсий и даже кастомных абстракций.
Что говорят разработчики (reddit-комментарии):
> “Proxy library is like std::any … but adds runtime polymorphism without needing inheritance.”
> — TheFreestyler83
> “It's like doing
> — qalmakka
> “They claim it's both easier and faster, but … ownership seems very unclear …”
> — Bart_V
Резюме
- Proxy 4 — новый стандарт для полиморфизма в C++.
- Богатая модульная архитектура — расширение навыков через фасады.
- Инструменты: документация, примеры в Compiler Explorer, нативные C++20 возможности.
- Признание от сообщества и множество способов применения, включая заимствование идей из Rust.
🟠 Автор: Mingxin Wang, старший инженер Microsoft: devblogs.microsoft.com/cppblog/announcing-proxy-4-the-next-leap-in-c-polymorphism
@cpluspluc
Proxy — это header-only, кроссплатформенная библиотека C++20, позволяющая писать полиморфный код без наследования и традиционных виртуальных функций.
Используется в кодовой базе Windows с 2022 года и теперь выходит как зрелая, готовая к продакшену технология.
**Что нового в версии 4?**
- Навыки (Skills): простое подключение возможностей (format, fmt_format, rtti, as_view, slim и др.) через композицию фасадов.
-
proxy_view
и weak_proxy
: удобные типы для нефламентируемых и слабых ссылок. - Совместное владение: новые API
make_proxy_shared
и allocate_proxy_shared
обеспечивают эффективное разделенное владение без overhead std::shared_ptr
. - Умный диспетчинг и конверсии: возможности
weak_dispatch
, explicit_conversion_dispatch
, улучшенные сообщения об ошибках, понятные концепты proxiable_target
, inplace_proxiable_target
. - Рекурсивные фасады:
facade_aware_overload_t
позволяет строить рекурсивные операторы (например, арифметику, конкатенацию) без преждевременной инстанциации. Документация теперь размещена на обновлённом сайте — удобная навигация, FAQ, API-справочник, примеры.
Также доступен экспериментальный запуск в Compiler Explorer: попробуйте Proxy прямо в браузере без настройки среды.
Почему это важно?
- Полиморфизм без наследования и виртуалок: менее навязчиво, гибче и возможно производительнее.
- Эффективное управление временем жизни объектов: поддержка владения, заимствования и слабых ссылок.
- Высокая производительность сравнима или превосходит ручной код.
- Расширяемость и гибкость: полиморфизм поверх функций, операторов, конверсий и даже кастомных абстракций.
Что говорят разработчики (reddit-комментарии):
> “Proxy library is like std::any … but adds runtime polymorphism without needing inheritance.”
> — TheFreestyler83
> “It's like doing
&something as &dyn Display
in Rust… you can do type erasure like virtual interfaces, but without editing types.” > — qalmakka
> “They claim it's both easier and faster, but … ownership seems very unclear …”
> — Bart_V
Резюме
- Proxy 4 — новый стандарт для полиморфизма в C++.
- Богатая модульная архитектура — расширение навыков через фасады.
- Инструменты: документация, примеры в Compiler Explorer, нативные C++20 возможности.
- Признание от сообщества и множество способов применения, включая заимствование идей из Rust.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥3
⚡️ Dependabot теперь поддерживает vcpkg
GitHub объявил о расширении возможностей Dependabot — теперь система автоматических обновлений работает с vcpkg, менеджером зависимостей для C/C++ от Microsoft. Это позволит поддерживать актуальность native-библиотек без ручного вмешательства.
Теперь Dependabot отслеживает изменения в vcpkg.json и автоматически создает pull-request'ы для обновления builtin-baseline. Для подключения достаточно добавить конфигурацию vcpkg в файл .github/dependabot.yml.
🔗 Ссылка - *клик*
@cpluspluc
GitHub объявил о расширении возможностей Dependabot — теперь система автоматических обновлений работает с vcpkg, менеджером зависимостей для C/C++ от Microsoft. Это позволит поддерживать актуальность native-библиотек без ручного вмешательства.
Теперь Dependabot отслеживает изменения в vcpkg.json и автоматически создает pull-request'ы для обновления builtin-baseline. Для подключения достаточно добавить конфигурацию vcpkg в файл .github/dependabot.yml.
🔗 Ссылка - *клик*
@cpluspluc
❤5🔥2👍1