🎉 Большая распродажа Proglib Academy — минус 40% на всё!
📚 Выбирай свой курс:
▫️ «Экспресс-курс по математике для DS» — получи фундамент для построения успешной карьеры в Data Science
▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными;
▫️ «Основы Python» — чтобы начать писать код с нуля;
▫️ «Алгоритмы и структуры данных» — для будущих инженеров;
▫️ «Специалист по ИИ» или «AI-агенты», или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ.
▫️ «Архитектуры и шаблоны проектирования» — чтобы писать гибкий, масштабируемый код как мидл+ разработчик.
▫️ «Основы IT для непрограммистов» — для тех, кто хочет понимать, как устроены технологии, не будучи разработчиком.
🎁 Бонусы ноября:
▫️ Розыгрыш MacBook Pro 14 — купи любой курс и пройди 2 недели обучения до 30 ноября.
▫️ Бесплатный тест по математике — за 5 минут покажет, какие темы стоит подтянуть перед DS.
👉 Выбрать курс со скидкой
📚 Выбирай свой курс:
▫️ «Экспресс-курс по математике для DS» — получи фундамент для построения успешной карьеры в Data Science
▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными;
▫️ «Основы Python» — чтобы начать писать код с нуля;
▫️ «Алгоритмы и структуры данных» — для будущих инженеров;
▫️ «Специалист по ИИ» или «AI-агенты», или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ.
▫️ «Архитектуры и шаблоны проектирования» — чтобы писать гибкий, масштабируемый код как мидл+ разработчик.
▫️ «Основы IT для непрограммистов» — для тех, кто хочет понимать, как устроены технологии, не будучи разработчиком.
🎁 Бонусы ноября:
▫️ Розыгрыш MacBook Pro 14 — купи любой курс и пройди 2 недели обучения до 30 ноября.
▫️ Бесплатный тест по математике — за 5 минут покажет, какие темы стоит подтянуть перед DS.
👉 Выбрать курс со скидкой
😁1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Что происходит, когда профилирование показывает, что ветка с [[unlikely]] выполняется в 90% случаев?
Anonymous Quiz
10%
Компилятор автоматически исправляет атрибут
4%
Runtime ошибка из-за несоответствия
64%
Производительность ухудшается из-за неверного hint
20%
Атрибут игнорируется
2%
Программа крашится
😁1
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• Callback chain (цепочка обработчиков) — реализация
• Лямбды в STL: где они сияют — применение лямбд в STL
• std::flat_map в C++23 — адаптеры
• Что происходит при копировании std::array? — разбор того, что происходит при копировании
🔥 Интересные проекты:
• XTML: минималистичный C++‑движок для HTML‑шаблонов — утилита написанная на C++, предназначенная для обработки шаблонных файлов и генерации динамического HTML
• include-what-you-use — очистка include директив — инструмент от Google, который анализирует какие заголовочные файлы реально используются и предлагает минимальный набор
Библиотека C/C++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• Callback chain (цепочка обработчиков) — реализация
Chain of Responsibility через лямбды• Лямбды в STL: где они сияют — применение лямбд в STL
• std::flat_map в C++23 — адаптеры
std::flat_map и std::flat_set• Что происходит при копировании std::array? — разбор того, что происходит при копировании
std::array🔥 Интересные проекты:
• XTML: минималистичный C++‑движок для HTML‑шаблонов — утилита написанная на C++, предназначенная для обработки шаблонных файлов и генерации динамического HTML
• include-what-you-use — очистка include директив — инструмент от Google, который анализирует какие заголовочные файлы реально используются и предлагает минимальный набор
includesБиблиотека C/C++ разработчика
#свежак
👍4❤1
🤝 Перестаньте ждать, пока вас найдут: как самому выходить на фаундеров и получать офферы
Рекрутеры тянут неделями, ATS теряет резюме, а фидбека вообще можно не дождаться. Совсем другая история — написать напрямую CTO или тимлиду: ответ приходит за день-два, а созвон назначают сразу. Учимся находить технических лидеров стартапов и продуктовых компаний и писать так, чтобы точно получить ответ.
👉 Статья
Библиотека C/C++ разработчика
#буст
Рекрутеры тянут неделями, ATS теряет резюме, а фидбека вообще можно не дождаться. Совсем другая история — написать напрямую CTO или тимлиду: ответ приходит за день-два, а созвон назначают сразу. Учимся находить технических лидеров стартапов и продуктовых компаний и писать так, чтобы точно получить ответ.
👉 Статья
Библиотека C/C++ разработчика
#буст
🔥3😁1🤔1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Сколько раз гарантированно прочитается x?
Anonymous Quiz
11%
0 раз (оптимизировано)
22%
1 раз
53%
2 раза
4%
Неопределённое поведение
9%
Зависит от компилятора
😁2
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Что произошло с триграфами в C++17?
Anonymous Quiz
16%
Были добавлены новые триграфы для Unicode
48%
Были полностью удалены из языка
13%
Стали обязательными для всех компиляторов
6%
Были заменены диграфами
17%
Остались без изменений
🌚2😁1
📊 А правда, что математика в Data Science не нужна?
Нет. Без неё вы не пройдёте собес и не поймёте, почему модель ведёт себя странно. Линал, матан и вероятности — это база, без которой работа в ML превращается в угадайку.
🔥 Эту базу можно собрать за 2 месяца на экспресс-курсе «Математика для Data Science».
👩🏫 Кто ведёт курс:
→ Мария Тихонова
PhD, руководитель исследовательского направления в SberAI, доцент ВШЭ.
→ Диана Миронидис
Преподаватель ВШЭ, автор научпоп-материалов по математике для блога МТС.
→ Ксения Кондаурова
Преподаватель преподаватель T-Банка, автор курсов ЦУ и Edutoria.
→ Маргарита Бурова
Академический руководитель программ по аналитике и ML, Wildberries & Russ.
🎁 Что сейчас доступно:
→ бесплатный тест, чтобы узнать свой уровень математики;
→ скидка 40% до 30 ноября;
→ если оплатить до конца ноября, курс «Базовая математика» в подарок.
👉 Пишите менеджеру, если хотите попасть в поток
Нет. Без неё вы не пройдёте собес и не поймёте, почему модель ведёт себя странно. Линал, матан и вероятности — это база, без которой работа в ML превращается в угадайку.
🔥 Эту базу можно собрать за 2 месяца на экспресс-курсе «Математика для Data Science».
👩🏫 Кто ведёт курс:
→ Мария Тихонова
PhD, руководитель исследовательского направления в SberAI, доцент ВШЭ.
→ Диана Миронидис
Преподаватель ВШЭ, автор научпоп-материалов по математике для блога МТС.
→ Ксения Кондаурова
Преподаватель преподаватель T-Банка, автор курсов ЦУ и Edutoria.
→ Маргарита Бурова
Академический руководитель программ по аналитике и ML, Wildberries & Russ.
🎁 Что сейчас доступно:
→ бесплатный тест, чтобы узнать свой уровень математики;
→ скидка 40% до 30 ноября;
→ если оплатить до конца ноября, курс «Базовая математика» в подарок.
👉 Пишите менеджеру, если хотите попасть в поток
❤1😁1
Сколько раз ты забывал добавить определение static члена в .cpp, и компилятор радостно выдавал undefined reference?
С
C++17 можно просто добавить inline к static переменной класса, и всё работает. Особенно круто это для счётчиков, кешей и паттерна Registry.// До C++17
class Logger {
public:
static std::ofstream log_file; // объявление
static int message_count; // объявление
};
// В .cpp обязательно нужны определения:
// std::ofstream Logger::log_file{"app.log"};
// int Logger::message_count = 0;
// С C++17
class Logger {
public:
inline static std::ofstream log_file{"app.log"};
inline static int message_count = 0;
inline static std::mutex log_mutex;
static void log(const std::string& msg) {
std::lock_guard lock(log_mutex);
log_file << "[" << message_count++ << "] " << msg << '\n';
}
};
// Никаких дополнительных файлов!
Библиотека C/C++ разработчика
#шаблонный_код
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤1
В legacy коде до сих пор встречаются макросы вместо inline функций. И это проблема.
Макросы — это текстовая подстановка препроцессором до компиляции.
Классический пример:
cpp #define SQUARE(x) x*x
Выглядит невинно, но вызов
SQUARE(a+b) развернется в a+b*a+b вместо (a+b)*(a+b). Проблемы с приоритетом операций, отсутствие type safety, невозможность отладки — список можно продолжать.Inline функции решают все эти проблемы. Они проверяются компилятором на типы, поддерживают перегрузку, могут использовать пространства имен и классы. Отладчик понимает их как обычные функции. А современные компиляторы оптимизируют их так же эффективно, как макросы, но безопаснее.
Единственное преимущество макросов — работа с любыми типами без шаблонов. Но с появлением
constexpr и шаблонов в C++11/14/17 даже это преимущество исчезло.Вы всё ещё пишете макросы для "быстрых" функций или давно перешли на inline/constexpr?
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔4
Structured bindings выглядят просто, но есть подводные камни, которые ловят даже опытные разработчики.struct Heavy {
std::vector<int> data{1'000'000};
};
std::pair<int, Heavy> getPair();
// ❌ Копирование элементов!
auto [id, heavy] = getPair();
// ✅ Работа через ссылку
auto& [id, heavy] = getPair();std::tuple<int, int, int> getCoords();
// ❌ Ошибка компиляции
auto [x, y] = getCoords(); // Нужно ровно 3 переменные!
// ✅ Правильно
auto [x, y, z] = getCoords();
// ❌ ОПАСНО!
const auto& [x, y] = std::make_pair(1, 2);
// Временный объект уничтожен, x и y невалидны
// ✅ БЕЗОПАСНО
auto [x, y] = std::make_pair(1, 2);
const auto [x, y] = getPair();
x = 10; // ❌ Ошибка: x — константа!
// Нужно:
auto [x, y] = getPair(); // Без const
std::map<int, std::string> m{{1, "one"}};
// key имеет тип const int&, не int&!
for (auto& [key, value] : m) {
key = 2; // ❌ Ошибка компиляции!
}🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4😁2👏1🥱1
🗄 Как защитить себя от увольнения: карьерная «страховка» для IT‑шника
Рассказываем о способах, которые помогут подстраховать себя на работе в период кризиса в IT-индустрии. Объясняем, как заключить трудовой договор (и что точно должно быть в нем прописано) и соглашения о расторжении.
👉 Статья
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека C/C++ разработчика
Рассказываем о способах, которые помогут подстраховать себя на работе в период кризиса в IT-индустрии. Объясняем, как заключить трудовой договор (и что точно должно быть в нем прописано) и соглашения о расторжении.
👉 Статья
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека C/C++ разработчика
😁4
Параллельная итерация по нескольким последовательностям — паттерн из Python. В C++ до C++23 это требовало индексов или связывания итераторов руками.
views::zip делает это zero-cost абстракцией.Под капотом
zip хранит tuple из итераторов каждого range. При ++it инкрементирует все одновременно:std::vector<int> ids = {1, 2, 3};
std::vector<string> names = {"Alice", "Bob", "Charlie"};
for (auto [id, name] : views::zip(ids, names)) {
// id и name — это references, не копии
std::print("{}: {}\n", id, name);
}auto [id, name] — это structured binding поверх tuple<int&, string&>. Компилятор разворачивает это в прямой доступ к памяти, никаких промежуточных объектов:// Что реально происходит
auto&& __pair = *it; // tuple<int&, string&>
int& id = get<0>(__pair);
string& name = get<1>(__pair);
zip заканчивается когда любой из ranges закончился. Это безопасно — не будет out-of-bounds:vector<int> short_vec = {1, 2};
vector<int> long_vec = {10, 20, 30, 40};
auto z = views::zip(short_vec, long_vec); // Только 2 элементаПрактика: Используй вместо индексного доступа [i] когда нужно синхронно пройти несколько контейнеров. Компилятор оптимизирует до прямых указателей, часто быстрее индексов.
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🎄 Скоро Новый год, а ты всё ещё не в бигтехе?
Если твой путь лежит в ML, DS или AI, то одна вещь решает всё: математика. Без неё — хоть три проекта сделай, хоть сотню туториалов посмотри — на собесе тебя всё равно вернут на «а что такое градиент?»
🔥 Экспресс-курс «Математика для Data Science» — 8 недель, чтобы закрыть базу раз и навсегда.
Что внутри:
🔘 живые вебинары, где можно задавать вопросы экспертам
🔘 записи лекций + доступ к материалам
🔘 практические задания на Python и финальный мини-проект с фидбеком
🔘 программа обновлена в ноябре 2025
🔘 2 месяца только нужного — без воды
🔘 достаточно школьной математики и базового Python
🎁 Бонусы ноября:
→ 40% скидка до 30 ноября
→ при оплате до конца месяца — курс «Базовая математика» в подарок
→ бесплатный тест, чтобы узнать свой уровень математики
👉 Хочу стартовать
Если твой путь лежит в ML, DS или AI, то одна вещь решает всё: математика. Без неё — хоть три проекта сделай, хоть сотню туториалов посмотри — на собесе тебя всё равно вернут на «а что такое градиент?»
🔥 Экспресс-курс «Математика для Data Science» — 8 недель, чтобы закрыть базу раз и навсегда.
Что внутри:
🔘 живые вебинары, где можно задавать вопросы экспертам
🔘 записи лекций + доступ к материалам
🔘 практические задания на Python и финальный мини-проект с фидбеком
🔘 программа обновлена в ноябре 2025
🔘 2 месяца только нужного — без воды
🔘 достаточно школьной математики и базового Python
🎁 Бонусы ноября:
→ 40% скидка до 30 ноября
→ при оплате до конца месяца — курс «Базовая математика» в подарок
→ бесплатный тест, чтобы узнать свой уровень математики
👉 Хочу стартовать
😎 Где сидят крутые плюсовики
Мы знаем, что вокруг C++ огромное количество полезного контента — от классических блогов и телеграм-каналов до Stack Overflow, Reddit-сообществ и YouTube-каналов. А может вы сами создаете контент про плюсы?
💬 Делитесь в комментариях своими любимыми местами, где вы изучаете C++, следите за новостями стандарта или черпаете вдохновение. Это могут быть известные ресурсы вроде isocpp.org, малоизвестные телеграм-каналы, подкасты, конференции или личные блоги разработчиков.
Библиотека C/C++ разработчика
Мы знаем, что вокруг C++ огромное количество полезного контента — от классических блогов и телеграм-каналов до Stack Overflow, Reddit-сообществ и YouTube-каналов. А может вы сами создаете контент про плюсы?
💬 Делитесь в комментариях своими любимыми местами, где вы изучаете C++, следите за новостями стандарта или черпаете вдохновение. Это могут быть известные ресурсы вроде isocpp.org, малоизвестные телеграм-каналы, подкасты, конференции или личные блоги разработчиков.
Библиотека C/C++ разработчика
🤔3👾2