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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

#WXSSA
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👩‍💻 Женщины в IT зарабатывают на 40% меньше мужчин — но дело не в дискриминации

Женщины в IT получают 99 тысяч рублей, мужчины — 156 тысяч. Разрыв в 40% выглядит пугающе, но объяснение не такое однозначное, как кажется.

Исследуем полный путь карьеры в IT через призму гендера — от выбора вуза до позиции CTO — и показываем, где заканчивается статистика и начинается реальное неравенство.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7
Даже ИИ-агентам нужен жёсткий контроль ресурсов

Собрать Proof of Concept с вызовом LLM API легко. Заставить эту систему работать предсказуемо, без утечек контекста, бесконечных циклов и перерасхода вычислительных мощностей — задача для инженеров.

Мы пересобрали курс по AI-агентам под реалии 2026 года. Фокус смещён с обзора фич на суровый инжиниринг: тестирование, метрики производительности и управление затратами.

Что ждёт на глубоком техническом уровне:

— продвинутый RAG: оптимизация извлечения данных из таблиц, сканов и сырых источников;
— архитектура: внедрение LangGraph, human-in-the-loop, time-travel и средств восстановления;
— профилирование: ограничение времени исполнения, контроль потребления токенов и кэш;
— изоляция доменов: управление legacy-интерфейсами с визуальными подтверждениями;
— комплаенс: интеграция ИИ с соблюдением юридических ограничений (152-ФЗ).

Используйте промокод Agent до 28 февраля — это скидка 10 000 рублей на обучение.

Сейчас активна акция «3 курса по цене 1» (ещё два курса в подарок).

Начать инженерную разработку AI
1😁1
🐛 Баг на выходные: порядок ASSERT vs EXPECT

Кажется, разница между ASSERT_* и EXPECT_* — мелочь. Но она меняет поведение теста кардинально.

TEST(VectorTest, CheckElements) {
std::vector<int> v = {1, 2, 3};

ASSERT_EQ(v.size(), 4u); // (1)
EXPECT_EQ(v[0], 1); // (2)
EXPECT_EQ(v[3], 4); // (3)
}


Что произойдёт при выполнении теста? Какие строки выполнятся, а какие нет? Когда использование ASSERT_EQ вместо EXPECT_EQ — правильное решение, а когда — опасное?

📍Навигация: ВакансииЗадачиСобесы

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

#междусобойчик
😁1👾1
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

😎 Интересное:

std::enable_if_t — зазбираем способ для проверки иерархии классов
-Wdouble-promotion -Wfloat-equal — флаги помогающие найти неявные расширения float до double
Измеряем время затрачиваемое блокировками — статья о том как дорого стоят блокировки
Код-ревью от команды от Edge — разбор pull request'ов от команды Edge и описание основных проблем в коде

👺 Софт:

zvec — легковесная база данных in-process, предназначенная для встраивания в приложения
OrcaSlicer — бесплатный слайсер для 3D-печати на базе Bambu Studio
ESP32-Bus-Pirate — прошивка для ESP32, превращающая устройство в многофункциональный инструмент хакера с поддержкой протоколов (I2C, SPI, UART и др.)
Geode — современный загрузчик модов и SDK для моддинга Geometry Dash

🔹📍Навигация: ВакансииЗадачиСобесы

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

#свежак
👍3
⚙️ Низкоуровневый контроль над высокоуровневыми агентами: запуск в Production

Когда речь заходит об AI-агентах в 2026 году, на первый план выходят вопросы оптимизации ресурсов, изоляции доменов и стабильности функционирования. Наш курс переработан для тех, кто ценит управляемый инжиниринг и детальное управление системой.

📚 В обновлённой программе:

— управление ресурсами: токены, кэширование и оптимизация вычислительных затрат;
— инжиниринг качества: глубокое логирование, трассировка и устранение регрессий;
LangGraph PRO: механизмы восстановления состояний и time-travel диагностика;
— промышленный RAG: продвинутые методы извлечения данных из сложных источников.

Подготовьтесь к обучению заранее — материалы для старта доступны сразу после покупки.

Специальные условия до 28 февраля:

— введите промокод Agent для получения скидки 10 000 рублей**;
— участвуйте в **акции «3 курса по цене 1» — выберите два дополнительных курса.

👉 Получить доступ к курсу и подаркам
😁2
🤠 Что такое std::is_within_lifetime из C++26?

В статье автор разбирает новинку C++26 — std::is_within_lifetime — и объясняет, зачем она вообще появилась в стандарте.

❗️Ключевые моменты статьи:
is_within_lifetime — не union-специфичная функция, а общий механизм запроса времени жизни объекта
• мотивация пришла из задачи реализации OptBool с минимальным расходом памяти
• решение элегантно совмещает compile-time корректность и runtime эффективность

Фокус статьи — на дизайне фичи: почему указатель вместо ссылки, почему consteval-only и почему такое обобщённое имя.

👉 Статья

📍Навигация: ВакансииЗадачиСобесы

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

#свежак
🤩21👍1😁1
🍙 Комментарии убивают код. Вы согласны?

Роберт Мартин в "Чистом коде" написал жёстко: комментарий — это признак неудачи. Если вам нужно объяснять код словами, значит, вы написали его недостаточно ясно.

В C++ эта идея получила новое дыхание с приходом [[nodiscard]], концептов из C++20 и строгой типизации. Тип std::expected<Result, Error> уже сообщает о возможной ошибке без единого слова.

Но у этой философии есть тёмная сторона. Когда через год вы видите static constexpr int MAGIC = 0x5F3759DF — никакое именование не объяснит, что это константа из алгоритма быстрого обратного квадратного корня Quake III. Здесь нужен комментарий и, желательно, ссылка на статью.

Самодокументирующийся код работает для структуры. Комментарии работают для контекста и истории.

✏️ Вы придерживаетесь правила "код без комментариев" или считаете это крайностью?

📍Навигация: ВакансииЗадачиСобесы

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
5😁2
📌 Хранение float в std::map: правильный способ

std::map требует strict weak ordering. float нарушает его при наличии NaN. std::strong_order спасает.

#include <compare>
#include <map>
#include <iostream>

struct FloatCompare {
bool operator()(double a, double b) const {
// strong_order — total order, строго соответствует требованиям map
return std::strong_order(a, b) == std::strong_ordering::less;
}
};

int main() {
std::map<double, std::string, FloatCompare> m;

m[1.0] = "one";
m[-0.0] = "negative zero";
m[+0.0] = "positive zero"; // отдельный ключ! (strong_order различает)
m[std::numeric_limits<double>::quiet_NaN()] = "nan";
m[std::numeric_limits<double>::infinity()] = "inf";

// Все 5 ключей уникальны и упорядочены детерминированно
std::cout << m.size(); // 5
}


📍Навигация: ВакансииЗадачиСобесы

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

#константная_правильность
👍11
📄 Для тех, кто остался на Windows

Winslop — утилита с одной задачей: убрать из Windows 11 всё лишнее.

Никакого Copilot в трее, никакой телеметрии, никаких виджетов и рекламы в меню Пуск. Только то, что вы сами разрешили оставить.

• показывает, что именно будет изменено
• ничего не запускает автоматически
• всё обратимо
• никакого облака — всё локально

👉 Чистим винду

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека Go-разработчика

#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2