Forwarded from Библиотека программиста | программирование, кодинг, разработка
👩💻 Женщины в IT зарабатывают на 40% меньше мужчин — но дело не в дискриминации
Женщины в IT получают 99 тысяч рублей, мужчины — 156 тысяч. Разрыв в 40% выглядит пугающе, но объяснение не такое однозначное, как кажется.
Исследуем полный путь карьеры в IT через призму гендера — от выбора вуза до позиции CTO — и показываем, где заканчивается статистика и начинается реальное неравенство.
🐸 Библиотека программиста
Женщины в 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: оптимизация извлечения данных из таблиц, сканов и сырых источников;
— архитектура: внедрение
— профилирование: ограничение времени исполнения, контроль потребления токенов и кэш;
— изоляция доменов: управление legacy-интерфейсами с визуальными подтверждениями;
— комплаенс: интеграция ИИ с соблюдением юридических ограничений (152-ФЗ).
Используйте промокод
Сейчас активна акция «3 курса по цене 1» (ещё два курса в подарок).
Начать инженерную разработку AI
Собрать Proof of Concept с вызовом LLM API легко. Заставить эту систему работать предсказуемо, без утечек контекста, бесконечных циклов и перерасхода вычислительных мощностей — задача для инженеров.
Мы пересобрали курс по AI-агентам под реалии 2026 года. Фокус смещён с обзора фич на суровый инжиниринг: тестирование, метрики производительности и управление затратами.
Что ждёт на глубоком техническом уровне:
— продвинутый RAG: оптимизация извлечения данных из таблиц, сканов и сырых источников;
— архитектура: внедрение
LangGraph, human-in-the-loop, time-travel и средств восстановления;— профилирование: ограничение времени исполнения, контроль потребления токенов и кэш;
— изоляция доменов: управление legacy-интерфейсами с визуальными подтверждениями;
— комплаенс: интеграция ИИ с соблюдением юридических ограничений (152-ФЗ).
Используйте промокод
Agent до 28 февраля — это скидка 10 000 рублей на обучение.Сейчас активна акция «3 курса по цене 1» (ещё два курса в подарок).
Начать инженерную разработку AI
proglib.academy
Курс| Разработка AI-агентов
Курс про контролируемую разработку AI-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — практическая работа.
❤1😁1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
🐛 Баг на выходные: порядок ASSERT vs EXPECT
Кажется, разница между ASSERT_* и EXPECT_* — мелочь. Но она меняет поведение теста кардинально.
Что произойдёт при выполнении теста? Какие строки выполнятся, а какие нет? Когда использование ASSERT_EQ вместо EXPECT_EQ — правильное решение, а когда — опасное?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Кажется, разница между 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++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире 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 году, на первый план выходят вопросы оптимизации ресурсов, изоляции доменов и стабильности функционирования. Наш курс переработан для тех, кто ценит управляемый инжиниринг и детальное управление системой.
📚 В обновлённой программе:
— управление ресурсами: токены, кэширование и оптимизация вычислительных затрат;
— инжиниринг качества: глубокое логирование, трассировка и устранение регрессий;
—
— промышленный
Подготовьтесь к обучению заранее — материалы для старта доступны сразу после покупки.
⏳ Специальные условия до 28 февраля:
— введите промокод
— участвуйте в **акции «3 курса по цене 1» — выберите два дополнительных курса.
👉 Получить доступ к курсу и подаркам
Когда речь заходит об AI-агентах в 2026 году, на первый план выходят вопросы оптимизации ресурсов, изоляции доменов и стабильности функционирования. Наш курс переработан для тех, кто ценит управляемый инжиниринг и детальное управление системой.
📚 В обновлённой программе:
— управление ресурсами: токены, кэширование и оптимизация вычислительных затрат;
— инжиниринг качества: глубокое логирование, трассировка и устранение регрессий;
—
LangGraph PRO: механизмы восстановления состояний и time-travel диагностика;— промышленный
RAG: продвинутые методы извлечения данных из сложных источников.Подготовьтесь к обучению заранее — материалы для старта доступны сразу после покупки.
⏳ Специальные условия до 28 февраля:
— введите промокод
Agent для получения скидки 10 000 рублей**; — участвуйте в **акции «3 курса по цене 1» — выберите два дополнительных курса.
👉 Получить доступ к курсу и подаркам
😁2
🤠 Что такое std::is_within_lifetime из C++26?
В статье автор разбирает новинку C++26 —
❗️Ключевые моменты статьи:
•
• мотивация пришла из задачи реализации
• решение элегантно совмещает compile-time корректность и runtime эффективность
Фокус статьи — на дизайне фичи: почему указатель вместо ссылки, почему consteval-only и почему такое обобщённое имя.
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
В статье автор разбирает новинку C++26 —
std::is_within_lifetime — и объясняет, зачем она вообще появилась в стандарте.❗️Ключевые моменты статьи:
•
is_within_lifetime — не union-специфичная функция, а общий механизм запроса времени жизни объекта• мотивация пришла из задачи реализации
OptBool с минимальным расходом памяти• решение элегантно совмещает compile-time корректность и runtime эффективность
Фокус статьи — на дизайне фичи: почему указатель вместо ссылки, почему consteval-only и почему такое обобщённое имя.
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
🤩2❤1👍1😁1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет программа?
Anonymous Quiz
21%
0
16%
99
39%
jumped
10%
Ошибка компиляции
15%
Неопределённое поведение
👍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: правильный способ
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
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
Forwarded from Библиотека Go-разработчика | Golang
Winslop — утилита с одной задачей: убрать из Windows 11 всё лишнее.
Никакого Copilot в трее, никакой телеметрии, никаких виджетов и рекламы в меню Пуск. Только то, что вы сами разрешили оставить.
• показывает, что именно будет изменено
• ничего не запускает автоматически
• всё обратимо
• никакого облака — всё локально
👉 Чистим винду
📍 Навигация: Вакансии • Задачи • Собесы
#GoToProduction
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2