Forwarded from Азбука айтишника
Насколько востребованы релоканты на российском рынке труда сегодня и кому из них будет проще найти работу в IT?
👉 Статья
Азбука айтишника
#свежак
👉 Статья
Азбука айтишника
#свежак
😁4👍1
Куда на самом деле уходят токены во время агентного кодинга? ⚡️
❤1
Forwarded from Proglib.academy | IT-курсы
В итоге станет понятнее, сколько ресурсов выделять на запуск, когда его останавливать и в какой момент лучше изменить подход🔍
До 31 июля курс можно купить со скидкой, а все материалы останутся в бессрочном доступе.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Азбука айтишника
🛡️ Почему 432 уязвимости в Linux — не повод паниковать
Недавно в новостях мелькнуло: за 31 час в ядре Linux нашли 432 уязвимости. Звучит как катастрофа — разберёмся, почему на самом деле это рабочая рутина.
🍒 Что такое CVE
🥝 Откуда столько сразу
Заявки копились неделями из-за конференций и отпусков. То есть 432 дыры не открылись одновременно — их просто зарегистрировали одним заходом.
🥕 Номер ≠ катастрофа
Команда ядра намеренно присваивает CVE даже мелким исправлениям, которые теоретически могут повлиять на безопасность.
❗Если вы собираете ядро сами то стоит сопоставить из описания каждого CVE с теми компонентами, что реально включены. Так список «что чинить» сразу сокращается до 10%.
👉 Продолжение
Азбука айтишника
#свежак
Недавно в новостях мелькнуло: за 31 час в ядре Linux нашли 432 уязвимости. Звучит как катастрофа — разберёмся, почему на самом деле это рабочая рутина.
🍒 Что такое CVE
CVE (Common Vulnerabilities and Exposures) — это уникальный номер, который присваивают каждой потенциальной дыре в безопасности. Один CVE = одна запись в общем каталоге, чтобы все говорили об одной и той же проблеме одинаково.🥝 Откуда столько сразу
Заявки копились неделями из-за конференций и отпусков. То есть 432 дыры не открылись одновременно — их просто зарегистрировали одним заходом.
🥕 Номер ≠ катастрофа
Команда ядра намеренно присваивает CVE даже мелким исправлениям, которые теоретически могут повлиять на безопасность.
❗Если вы собираете ядро сами то стоит сопоставить из описания каждого CVE с теми компонентами, что реально включены. Так список «что чинить» сразу сокращается до 10%.
👉 Продолжение
Азбука айтишника
#свежак
👍3❤2
🐸 Подборка вакансий для C++-разработчиков за неделю
C/C++ разработчик — от 264 000 и до 290 000 ₽ Удалёнка
Lead IoT / Embedded-инженер — от 350 000 и до 500 000 ₽ Офис (Санкт-Петербург)
Senior / Strong Middle C++ Developer — от 2500 и до 3500 $ Удалёнка
Разработчик C/C++ Embedded (Middle/Senior) — Офис (Ижевск)
Middle AI Software Engineer (Python/C++) — развитие AI-инфраструктуры в HFT-фонде
C++-разработчик (Chromium) —Офис (Санкт-Петербург)
Backend-разработчик (Rust, C++) — Удалёнка/Гибрид (Москва)
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
C/C++ разработчик — от 264 000 и до 290 000 ₽ Удалёнка
Lead IoT / Embedded-инженер — от 350 000 и до 500 000 ₽ Офис (Санкт-Петербург)
Senior / Strong Middle C++ Developer — от 2500 и до 3500 $ Удалёнка
Разработчик C/C++ Embedded (Middle/Senior) — Офис (Ижевск)
Middle AI Software Engineer (Python/C++) — развитие AI-инфраструктуры в HFT-фонде
C++-разработчик (Chromium) —Офис (Санкт-Петербург)
Backend-разработчик (Rust, C++) — Удалёнка/Гибрид (Москва)
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
👍1
Кажется, у онлайн-обучения появился формат, которого давно не хватало 👇
Forwarded from Proglib.academy | IT-курсы
Логично, что обучение тоже постепенно приходит к той же модели: не покупать отдельный курс под каждую новую тему, а иметь доступ ко всей библиотеке и выбирать, что актуально именно сейчас.
Такой формат недавно появился и в Proglib Academy. Вместо одного курса — доступ сразу ко всей библиотеке и новым материалам, которые появляются в подписке
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
Обработка тысяч объектов в реальном времени превращается в кошмар с традиционным C++. Программист из Блэкхаб Геймс показывает, как Entity Component System решает проблемы производительности.
• Почему наследование и виртуальные таблицы убивают производительность при обработке тысяч сущностей
• Как ECS разделяет данные и логик🔗
• Data-Oriented Design: как пулы компонентов улучшают кэш-локальность и позволяют использовать SIMD
• Простая многопоточность без головной боли
• Практическая реализация на библиотеке Flex с примерами кода
• Почему доступ через ID лучше указателей в динамичных игровых сценах
Доклад полезен не только геймдевам — ECS применяется в биржевых системах, симуляциях и везде, где нужна высокая производительность обработки данных.
👉 Видео
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1😁1
❓Кто этот призрак в вашем коде: изучаем особенности работы с легаси на C++
Легаси — вот что объединяет всех разработчиков на всех языках программирования. Мы учимся уживаться с «наследием», встраиваем его в современную кодовую базу или стараемся не трогать.
Пришло время разобраться с легаси в email-проекте Ghost in the code.
Вы получите семь писем от инженеров, в числе которых представитель России в Международной рабочей группе по стандартизации C++ Антон Полухин и эксперт по архитектуре Константин Владимиров. Вместе с ними и другими опытным разработчиками пройдете путь от навигации по «зрелому» коду с помощью AI до выстраивания процессов с учетом легаси.
➡️Подписывайтесь на серию писем, это бесплатно. Оставляйте email-адрес на сайте проекта — первое письмо придет 15 сентября.
Легаси — вот что объединяет всех разработчиков на всех языках программирования. Мы учимся уживаться с «наследием», встраиваем его в современную кодовую базу или стараемся не трогать.
Пришло время разобраться с легаси в email-проекте Ghost in the code.
Вы получите семь писем от инженеров, в числе которых представитель России в Международной рабочей группе по стандартизации C++ Антон Полухин и эксперт по архитектуре Константин Владимиров. Вместе с ними и другими опытным разработчиками пройдете путь от навигации по «зрелому» коду с помощью AI до выстраивания процессов с учетом легаси.
➡️Подписывайтесь на серию писем, это бесплатно. Оставляйте email-адрес на сайте проекта — первое письмо придет 15 сентября.
❤1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
С 14 сентября цены в Proglib Academy вырастут
Так что если курс давно ждёт своего часа — лучше не откладывать ещё на месяц
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👏2😁2🤔2👍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';
}
};
// Никаких дополнительных файлов!
#шаблонный_код
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍7🔥1😁1🤔1
Как выбрать инструмент? Как работать с AI-агентами? Как проверять сгенерированный код? Или как вообще встроить нейросети в свой процесс?
Собираем вопросы для вебинара. Самые залайканные разберём в первую очередь
Пишите, что действительно интересно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3👏2😁2
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7😁5🔥3🤔3👏2
Forwarded from Библиотека программиста
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ mdspan: один буфер, две раскладки
Шесть чисел можно представить матрицей 2×3 без копирования элементов.
Для буфера
Размеры и layout не управляют временем жизни данных. В этом примере обычный accessor работает с указателем на
Устройство mdspan в P0009
📍 Навигация: Вакансии • Задачи • Собесы
#под_капотом
Шесть чисел можно представить матрицей 2×3 без копирования элементов.
std::mdspan из C++23 связывает данные, размеры и способ преобразования индексов в смещение.Для буфера
10, 20, 30, 40, 50, 60 раскладка layout_right идёт по строкам, layout_left — по столбцам. В проверенном примере индекс [1,1] даёт соответственно 50 и 40. Запись через один вид меняет тот же буфер, который виден другому.Размеры и layout не управляют временем жизни данных. В этом примере обычный accessor работает с указателем на
std::array, поэтому массив должен жить дольше представлений. Поддержку C++23 нужно проверить и у компилятора, и у стандартной библиотеки.Устройство mdspan в P0009
📍 Навигация: Вакансии • Задачи • Собесы
#под_капотом
❤1😁1
Forwarded from Типичный программист
🧑💻 Какие навыки помогают вам в разработке в 2026 году?
Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?
Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.
Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.
👉 Пройти опрос
Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?
Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.
Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.
👉 Пройти опрос
❤1
💡 to_chars: число записано, а C-строка не готова
В тесте буфер заполнен
Сначала проверяйте
Целочисленные перегрузки доступны с C++17. Оба сценария — достаточный и маленький буфер — реально проверены.
Контракт to_chars
📍 Навигация: Вакансии • Задачи • Собесы
#под_капотом
std::to_chars пишет символы в переданный буфер и возвращает ptr сразу после результата. Завершающий нулевой символ он не добавляет.В тесте буфер заполнен
X. После записи числа 123 в нём осталось 123XXXXX. Строку получили из диапазона [first, result.ptr), а не поиском первого нуля. Это важно, если дальше API ожидает C-строку.Сначала проверяйте
result.ec. Если места мало, вернётся std::errc::value_too_large, а содержимое диапазона не определено. Не считайте его частично готовым результатом.Целочисленные перегрузки доступны с C++17. Оба сценария — достаточный и маленький буфер — реально проверены.
Контракт to_chars
📍 Навигация: Вакансии • Задачи • Собесы
#под_капотом
❤1👍1🙏1
💡 popcount и bit_width считают разные вещи
Для числа 8 двоичная запись —
У семёрки
Функции для работы с битами
📍 Навигация: Вакансии • Задачи • Собесы
#под_капотом
Для числа 8 двоичная запись —
1000. Единичный бит один, но для записи нужны четыре позиции. Поэтому std::popcount(8u) возвращает 1, а std::bit_width(8u) — 4.У семёрки
111 оба результата равны 3. Это случайное совпадение, которое легко скрывает ошибку при проверке только такого значения. Для нуля обе функции возвращают 0.popcount подходит для подсчёта установленных флагов, bit_width — для минимальной ширины двоичного представления ненулевого значения. Эти функции доступны с C++20 и работают с беззнаковыми целочисленными типами.Функции для работы с битами
📍 Навигация: Вакансии • Задачи • Собесы
#под_капотом
👍4❤1