Обновить

Все потоки

Сначала показывать
Порог рейтинга

18 июня в 16:00 (Мск) состоится бесплатный вебинар «Rust: зачем выбирать этот язык в 2026 году?». Разберем, как Rust устраняет проблемы безопасности памяти и data races, сохраняя производительность уровня C++. Также развеем мифы про обучение Rust в 2026 году и обсудим гибридный подход интеграции с C++ через C-ABI.

На вебинаре:

✔️ Rust в 2026: цифры, тренды, кейсы

✔️ Проблемы C/C++ (use-after-free, data races) и как Rust их устраняет на уровне компиляции

✔️ Система владения и заимствования: примеры кода

✔️ Производительность: Rust vs C++ (бенчмарки)

✔️ Инструментарий: Cargo vs CMake

✔️ Гибридный подход: интеграция Rust с C++ через C-ABI

✔️ Кривая обучения в 2026 году: мифы и реальность

Предварительная подготовка:

Базовое понимание работы с памятью в C/C++ и общее представление о компиляции. Знание синтаксиса Rust не требуется.

📆 Когда: 18 июня, 16:00 — 17:00 (Мск)

👨‍🎓 Спикер: Самсонов Максим, эксперт в области разработки ПО (C/C++, Python, Rust, TypeScript, Java, JavaScript, R)

👉 Записаться

Теги:
+3
Комментарии0

ESM VS ITSM: что выбрать, когда начинать проект и как обосновать бюджет

Вебинар 24 июня, 12:00 по мск

В крупных компаниях большинство запросов от сотрудников приходят не в IT-отдел, но автоматизацию при этом чаще всего начинают именно с IT-услуг.

Наладив работу с обращениями в IT-отделе, компании начинают приводить в порядок работу с заявками, которые поступают в другие подразделения: HR-департамент, АХО, юридическую службу, бухгалтерию. Это новые проекты внедрения, требующие новых бюджетов, которые приходится каждый раз заново согласовывать.

Компании, которые при автоматизации IT-услуг, закладывают в проект внедрения ITSM масштабирование до ESM, экономят колоссальные ресурсы, окупают внедрение быстрее и получают конкурентное преимущество. К тому же поддержка одной системы обходится IT-департаменту значительно дешевле, чем управление разрозненным IT-ландшафтом для бухгалтерии, АХО, HR и др. отделов. Но как доказать это руководству и обосновать бюджет на комплексную автоматизацию?

На вебинаре мы рассмотрим, как единая платформа SimpleOne работает для разных отделов и как сквозные процессы экономят время. Представим кейсы внедрения ESM-системы. Покажем калькулятор экономической ценности внедрения ESM, который поможет определить возможную окупаемость проекта.

В программе:

Отличие ESM от ITSM

Преимущества ESM и почему внедрение ESM актуально сейчас

ESM-система на платформе SimpleOne

Успешные кейсы внедрения SimpleOne ESM

Подходы к реализации проекта внедрения ESM

Формирование бюджета на проект и расчет экономического эффекта от внедрения ESM

Спикеры:

Илья Жакашев, коммерческий директор SimpleOne

Алексей Лыков, руководитель направления ESM Softline

Регистрация

Теги:
+3
Комментарии0

Маркетологи и пиарщики, привет!

Кажется, маркетологам, PR-специалистам и контент-командам в последнее время приходится решать одну и ту же задачу: как бренду быть в поле зрения клиентов, когда привычные каналы коммуникации теряют эффективность?

24 июня в 17:30 этот вопрос обсудят эксперты Pressfeed и Хабра на бесплатном вебинаре «Продвижение по новым правилам». 

Вместе разберемся: 

  • Как оставаться в инфополе в условиях сокращения бюджетов;

  • Почему количество публикаций уже не гарантирует результат и на что стоит делать ставку вместо этого;

  • Как перестроить работу со СМИ, если акцент сместился к аналитике и глубокой экспертности;

  • Как работать с экспертной коммуникацией как с инструментом продвижения бренда;

  • И почему эксперты-скептики — ваши лучшие амбассадоры.

Своим опытом поделятся Татьяна Кузнецова, руководительница Академии Pressfeed с более чем 25-летним опытом работы в PR, маркетинге и коммуникациях, и Ирина Лосева, ведущий редактор-эксперт Хабра.

Зарегистрироваться на вебинар

Теги:
+5
Комментарии0

Вызов — буст для роста⚡

Полина Сапрыкина, младший аналитик в департаменте Логистика, рассказала о своем первом опыте проведения показа системы для клиента.

Проявляй себя, работай в КОРУСе

Теги:
+3
Комментарии0

РБПО по ГОСТ Р 56939—2024: вебинар №23 из 30 — Реагирование на информацию об уязвимостях

Предлагаю вашему вниманию запись вебинара, где мы разбираем безопасную разработку ПО. Вебинар посвящен процессу из раздела 5.23. — «Реагирование на информацию об уязвимостях». На YouTube. Слайды.

Цели 23-го процесса по ГОСТ Р 56939—2024:

Обеспечение выявления и устранения уязвимостей при эксплуатации ПО.

Общее количество вебинаров — 30. Каждому из 25 процессов ГОСТа посвящён отдельный вебинар и ещё 5 записано дополнительно на смежные темы. Запись всех вебинаров и подборка дополнительной информации доступна по ссылке: ГОСТ56939.РФ.

Методика ВУ и НДВ в ПО приведена в соответствие с ГОСТ Р 56939—2024

Материалы будут полезны всем, кто знакомится с темой РБПО и заинтересован во внедрении зрелых подходов в работу по созданию и сопровождению качественных программных продуктов. Материал по ГОСТ Р 56939–2024 весьма актуален, так как 12 мая 2026 утверждена обновлённая «Методика ВУ и НДВ в ПО». См. заметку «Методика выявления уязвимостей и недекларированных возможностей — 2026».

НЕкурс про РБПО

Суммарное время предлагаемых к изучению вебинаров составляет около 50 часов. Это достаточно большая задача, поэтому мы решили помочь и разбили материалы на отдельные уроки по РБПО. Возможно, так вам будет проще усваивать материал, а интерфейс позволяет отмечать, с чем вы уже ознакомились.

Теги:
+3
Комментарии0

Агент Ануфрий v.1.0.0

Последний апдейт конструктора для создания собственных ассистентов на Python включил в себя оптимизацию токенов и скорости. Агент стал в 3 раза экономичнее.

Добавлена ленивая загрузка инструментов. Вместо отправки всех 24 встроенных инструментов сразу, агент получает 6 базовых, включая tool_use, через который доступны остальные 20.

Инструменты разбиты на категории. Каждая категория — одно определение в системной промпте, вместо отдельной схемы для каждого действия.

Системный промпт стал компактнее в 3 раза.

Кэширование cистемного промпта и определния инструментов в OpenAI/OpenRouter (90% скидка):

  • добавлены заголовки для идентификации проекта в OpenRouter

  • в OpenAI кэширование работает автоматически за счет стабильного системного промпта

Добавлено клиентское кэширование для локальных LLM (экономим немного времени CPU на пересоздании промпта).

Добавлено логирование токенов на каждой итерации для наглядности.

Результат оптимизации: экономия около 75% токенов на каждом запросе. Работать с API стало значительно дешевле, а на локальных LLM заметно комфортнее.

При этом архитектура проекта сохранила свою простоту и читаемость.

Репозиторий: github/AgentAnufry

Теги:
+3
Комментарии0

Доброе утро всем!

С марта содержу, обновляю, собираю материалы от Стендфорда до Китая, перевожу...ai.arckep.ru. Ничего там не продаю и не покупаю. Ресурс бесплатный.

Я это к чему, делаю блок авторских статей:

Все также в образовательных целях. Если вы хорош в ai отдельно или в рамках вашей компании - welcome. Ссылку на вас можем разместить, контакты и тд.

Основные требования к материалу:

  1. Образовательный

  2. Полезный

  3. Не менее 4000 символов

  4. Чтобы можно было в любой ИИ закинуть и сказал чем этот материал конкретному человеку может быть полезен

  5. Не должно быть маркетинговой обёртки

AIStudy
AIStudy
Теги:
-2
Комментарии3

Flight Simulator добавили прямо в карты от Google — в веб‑версии Google Earth появилась возможность полетать над своим домом. Симулятор в точности воссоздаёт 3D‑мир с рельефом и всеми строениями, прямо как в симуляторе от Microsoft. При этом управление достаточно нестандартное. Ищем свой дом на Google Earth — жмём Tools и выбираем Flight Simulator.

Теги:
+7
Комментарии1

Написал бесплатное приложение для транскрибации — ⚡️ Talkis. Делал для себя как open‑source альтернативу платным сервисам по подписке.

Что оно умеет:

  • Расшифровывает созвоны (Zoom, Discord, Telegram и др.) в реальном времени прямо на лету.

  • Вытаскивает текст из любых готовых аудио‑ и видеофайлов.

  • Умная диктовка: наговариваете мысли голосом, а приложение причесывает и форматирует текст под нужный стиль.

Как это работает: модели можно крутить либо полностью локально на вашем железе (вообще бесплатно), либо подключить свои API‑ключи и платить копейки за токены без наценок сервисов.

Проект открытый. Буду очень благодарен за обратную связь, баг‑репорты и звездочку на GitHub — для развития проекта это сейчас самое важное.

🤩 GitHub  📥 Скачать

Теги:
+11
Комментарии2

ChatGPT и Claude научили маскироваться под Google Docs — представлено расширение GPTDisguise, где нейросеть выглядит как обычный документ, поэтому со стороны кажется, что пользователь усердно пишет документы. Также доступны режимы под Microsoft Word и Notion.

Теги:
+11
Комментарии1

Используем Google Gemini в любом OpenAI-клиенте (например, в OpenCode)

Если вы хотите использовать бесплатные (и платные) модели Gemini в среде OpenСode, то это вполне реально :)

Статью на Хабре не захотел одобрять модератор, но вы можете почитать её тут (для просмотра может потребоваться VPN):

Используем Google Gemini в любом OpenAI-клиенте (например, в OpenCode)

Этот прокси реально работает в моём OpenСode и вроде косяков нет.

Дисклеймер: статья написана для ИИшки и с помощью ИИшки, кому это не надо — проход ите мимо :)

@Sol0Zon3 вы просили вам тегнуть :)

Теги:
+2
Комментарии2

Снял видео с рисованием дашбордов для 1С с помощью ИИ.

За кадром осталась небольшая подготовка данных — из 1С ERP выгружен файл с тремя таблицами (продажи, выпуск, приход денег). Просто три запроса, три таблицы, которые поехали в один json-файл.

А ИИ из этого файла рисует дашборды, в виде одностраничного html. Как положено, понимает человеческую постановку задачи, доступную пользователям (которым сказали, какие данные есть в файле).

Понятно, что в техническом плане — поделка.

Видео про то, как оно до бизнес-пользователя доехало. Реально доехало, кстати.

Теги:
+3
Комментарии1

🍺 В этот день 150 лет назад родился Уильям Сили Госсет.

Всю карьеру он проработал пивоваром в Guinness и занимался задачей, которую учебники почти не трогали: как делать выводы по крошечным выборкам — например, по четырём участкам ячменя или небольшой партии хмеля.

Статистика того времени в основном исходила из больших выборок, поэтому Госсет фактически изобрёл статистику для малых.

Guinness запрещала сотрудникам публиковаться после того, как один из них слил коммерческие секреты. Компания также не хотела, чтобы конкуренты знали: пиво там варят с помощью науки.

Поэтому, когда Госсет в 1908 году опубликовал свой метод, он подписался псевдонимом: Student.

Каждое клиническое испытание, лабораторный эксперимент и A/B-тест, где сегодня используют t-test, опирается на работу Student.

Одна из самых известных фамилий в статистике — ненастоящая.

Теги:
+14
Комментарии0

Ближайшие события

Неравномерность развития науки

Название книги Дж. Роулинсона ‘Сцепление. История изучения межмолекулярных сил’ хорошо передает ее содержание. Дж. Роулинсон — химик по образованию и его научная деятельность была во многом связана с изучением межмолекулярных сил. Его книга содержит интересный фактический материал, который изложен на хорошем профессиональном уровне.

Книга состоит из четырех частей. Для названия первых трех частей Роулинсон использовал имена трех ученых — Ньютон, Лаплас, Ван‑дер‑Ваальс. Их исследования сыграли ключевую роль в исследовании межмолекулярных сил, поэтому их имена были использованы для разделения этапов исследования. Последняя часть под названием «Решения» посвящена работам после появления квантовой механики — в ней рассматриваются ответы на вопросы предыдущих поколений ученых.

Роулинсон отмечает тернистый путь развития идей о когезии и дает интересную характеристику развития науки:

«Делать обобщения о том, как делается наука, на примере одной довольно узкой области опасно. Многие могут оспорить приведенное рассмотрение с использованием представленных свидетельств, но оно представлено как попытка рассмотрения развития этой области за триста лет. Я бы не хотел быть догматичным; другие должны попытаться сделать свои собственные выводы из рассмотрения этой области, а история других областей науки может привести к иным выводам. При чтении Поппера, Куна, Лакатоса и других философов науки можно распознать у них немало правильного, что соответствует ряду реальных примеров, но трудно вписать в эти рамки хотя бы одну теорию в физике (one physical science). На практике наука, похоже, движется менее логичными путями, чем хотелось бы философам. Фейерабенд, несомненно, нашел бы в моей книге примеры, подтверждающие его утверждение о том, что „Наука — это, по сути, анархическое предприятие“.»

J. S. Rowlinson, Cohesion. Scientific History of Intermolecular Forces, 2002.

Теги:
+5
Комментарии0
kettlebell — статический генератор блога на AT&T Assembler, под i86pc Solaris 11.4
kettlebell — статический генератор блога на AT&T Assembler, под i86pc Solaris 11.4

Пост-анонс. У меня есть лог, что-то среднее между блогом и микроблогом — там я пощу коммерческую рефлексию: заметки про продажи и архитектуру принятия решений.

Сама идея лога появилась недавно, но мыслей для него насобиралось уже порядочно. Пока оформляю просто верстая HTML, но это мягко говоря не удобно. Естественно задумался о статическом генераторе сайтов (SSG), но не брать же чужой когда ты инженер?

Выбор на чём написать свой оказался не простым. Выбирал между мейнстримом (Go, Rust) и андеграундом (Ada, APL). На APL у меня уже есть генератор, поэтому решил поднять планку. В итоге выбрал ассемблер.

Пишу под Solaris, без зависимостей, только сисколы. Solaris потому что она мне нравится и я под ней работаю; чтобы там не говорили — это инженерный шедевр.

Проект пишется в свободное время как инженерный манифест. Когда SSG будет полностью готов, я выкачу сюда, на Хабр, большой технический лонгрид с архитектурными графами, полным разбором системных вызовов и инструкцией для тех, кто захочет пощупать это вживую.

Полный список планируеммых команд (из инженерного черновика):

# Полная сборка всех новых статей
> ./kettlebell
# Пересобрать все статьи
> ./kettlebell --force
# Пересобрать все статьи, предварительно удалив папку ./build
> ./kettlebell --clean --force
# Собрать статьи только для 1 языка, только новые
> ./kettlebell --lang ru
# Пересобрать все статьи для 1 языка
> ./kettlebell --lang ru --force
# Генерация только 1 поста для 1 языка
> ./kettlebell --post ru/new-idea
# Перезаписать существующий пост или элемент в RSS
> ./kettlebell --post ru/llm-as-lvr --force
# Создать блан для поста во всех языках
> ./kettlebell --new last-bastion

Следить за процессом разработки, компиляцией kettlebell.s и первыми реальном времени можно в моем Telegram-канале: Cleanroom 89 (там только хардкор). Или ставьте watch на репозиторий github: kettlebell.

Поддержите подпиской, если вам тоже надоел оверхед современных веб-технологий или просто хочется чего-то неординарного.

Теги:
+3
Комментарии4

Есть шанс получить доступ к Claude Max на полгода бесплатно. Anthropic представила программу для разработчиков открытых приложений. Можно подать заявку и сэкономить 1200 баксов:

  • вы подходите, если создаете приложение сами или в команде, и у вас публичный репозиторий. Также нужно, чтобы были коммиты, релизы или ревью за последние три месяца. Лучше, если там будет 5000+ звезд.

  • Даже если такого нет, можете подать заявку в компанию, описать, почему ваш проект полезный и нужный, и сможете получить Claude Max

  • подать заявку можно до 30 июня включительно. Дальше ждем результатов. Бесплатный доступ получают 10 000 разработчиков.

Теги:
+4
Комментарии0

Как я ускорил бэкапы в 20 раз и обошёл ловушку Jsoup: развитие самописной Android‑читалки MRead (v1.3.0)

Всем привет! Не так давно я рассказывал, как боль от перегруженных интерфейсов заставила меня открыть Android Studio и написать собственную читалку с кастомным движком рендеринга и точным выделением текста.

Статья получила теплый отклик и в комментариях набежало много отличных предложений. В этом посте я хочу поделиться техническими решениями, которые вошли в крупное обновление 1.3.0.

1. Бэкапы и боль от Storage Access Framework (SAF)

В приложении есть функция бэкапа: упаковка базы данных Room, настроек и распакованных HTML‑глав с картинками в один ZIP‑архив. Изначально я писал файлы напрямую в OutputStream, полученный через ContentResolver (SAF). Итог: библиотека на 500 МБ архивировалась около 5 минут. SAF проводит проверки безопасности для каждого записываемого чанка, что убивает I/O операции.

Решение: сборка архива переехала во внутренний кэш приложения. Туда пишем без ограничений SAF — буфером по 64 КБ и уровнем сжатия BEST_SPEED (картинки уже сжаты, гнать их через BEST_COMPRESSION бессмысленно). Когда ZIP готов целиком, он одним куском копируется в пользовательскую папку через SAF — вместо тысяч мелких защищённых записей получается одна

2. Material You: как получить правильные цвета обоев

При внедрении динамических тем (Android 12+) я столкнулся с тем, что стандартный вызов dynamicLightColorScheme().background на многих устройствах выдает просто унылый белый или бледно‑серый цвет, игнорируя сочные оттенки обоев.

Решение: Самые насыщенные цвета из системной палитры Monet хранятся в secondaryContainer и surface. Решение нашлось в самой палитре Monet: наиболее насыщенные цвета живут в secondaryContainer и surface, а не в background. Переориентировал маппинг цветов приложения на эти слоты и интерфейс действительно ожил. Теперь интерфейс действительно реагирует на смену обоев. Плюс привязал OnSharedPreferenceChangeListener, чтобы тема менялась мгновенно на всех экранах без перезапуска.

3. Странности парсинга FB2 и баги Jsoup

Иногда вместо обложки FB2 парсер ставил черно‑белую картинку из середины книги. FB2 хранит все изображения в тегах <binary> в конце файла в хаотичном порядке. Если тег <coverpage> отсутствует, старый алгоритм просто брал первую попавшуюся картинку из бинарной кучи.

Я переписал фоллбэк: теперь, если явной обложки нет, Jsoup ищет первый тег <image> прямо внутри <body> книги.

Попутно всплыло неочевидное поведение Jsoup: если атрибут отсутствует, attr() возвращает пустую строку, а не null — это задокументировано, но интуитивно ожидаешь null. Из‑за этого Элвис‑операторы (?:) молча проглатывали пустую строку вместо ухода в fallback. Написал строгую обертку takeIf { it.isNotEmpty() }, и теперь обложки извлекаются безошибочно.

4. Изолированный свайп яркости в Compose

Нужно было добавить регулировку яркости свайпом по левому краю экрана. Проблема: в режиме вертикального скролла (VerticalPager) свайпер страниц перехватывает вертикальные жесты на себя.

Решение: перехватывать жест на фазе Initial — до того, как пейджер успевает его обработать. Если касание началось в левых 15% ширины экрана, событие забирается себе и до пейджера не доходит.

Помимо этого в релизе 1.3.0:

  • Добавлен полноэкранный просмотрщик иллюстраций с pinch‑to‑zoom (на основе detectTransformGestures).

  • Написан собственный File Picker со сканированием вложенных папок и извлечением книг прямо из ZIP‑архивов на лету.

  • Добавлен поворот страниц для PDF с сохранением состояния в SharedPreferences.

  • Разделен UI верхнего меню: закладки теперь можно переименовывать, а тап по номеру страницы открывает быстрый переход.

  • Добавлен множественный выбор в библиотеке (массовое добавление на полки/удаление/скрытие).

Ссылки:

Теги:
+3
Комментарии1

Soft skills для инженеров: корпоративная мода или реальный скилл?

Есть инженеры, которые решают задачи быстрее всех в команде. И есть инженеры, которые во время инцидента в 3 ночи умудряются не только починить прод, но и не разрушить отношения с коллегами. Это разные люди. Иногда — один и тот же, но после долгой работы над собой.

В новом выпуске «В SREду на кухне» поговорили о том, что обычно не попадает в job description, но решает карьеру: soft skills в инженерной среде. Вместе с Димой Масленниковым, руководителем центра надёжности Т-технологий в Т-Банке, и Лёшей Обровцом, тренером по публичным выступлениям, разобрались — это реальные навыки или просто модное слово из HR-презентаций.

Что на повестке

Почему сильные инженеры проваливаются в коммуникации — особенно когда всё горит и все смотрят на тебя. Как устроен эмоциональный интеллект в IT и зачем он нужен тому, кто «просто пишет код». Можно ли прокачать soft skills через конференции, командный спорт и конфликты — и стоит ли вообще. Отдельно поговорили про синдром самозванца, blameless-культуру без токсичности и самый недооценённый навык в профессии — который никто не называет в резюме, но все замечают в работе.

Если вы хоть раз думали «я нормально объяснил, просто они не поняли» — этот выпуск про вас.
Смотрите видео на площадках:

🔵 VK Видео 
📺 YouTube
📌 RuTube
Ⓜ️ Mave

Теги:
+20
Комментарии0

graphics.h в 2026 году: зачем и как запустить

graphics.h — это часть библиотеки BGI (Borland Graphics Interface) родом из 1990-х. В современных IDE её нет: она несовместима с 64-битными системами и не является частью стандарта C++. Тем не менее в учебных задачах она до сих пор встречается — особенно там, где нужно быстро визуализировать алгоритм или сдать лабораторную.

Когда это оправдано

  • изучение основ C/C++ и хочется видеть результат за пределами консоли

  • разбор алгоритмов компьютерной графики

  • подготовка к экзамену по предмету, где преподаватель требует именно graphics.h

Для production-кода и серьёзных учебных проектов лучше сразу смотреть в сторону актуальных библиотек: SDL2 (2D, кроссплатформенная), SFML (ООП-подход, проще в освоении) или OpenGL/GLFW (если нужна 3D-графика и аппаратное ускорение).

О библиотеке

Адаптация для современных Windows называется WinBGIm — её разработал и поддерживает Майкл Мэйн, профессор Колорадского университета в Боулдере. Библиотека открыта для использования и модификации. Скачать можно на официальном сайте: winbgim.codecutter.org.

Если хочется сначала почитать вводный разбор — на Хабре есть статья с обзором WinBGIm, здесь же показан небольшой практический пример-скриншот: инженерная утилита с графическим выводом, которая впоследствии была переписана с использованием современного UI на C++.

Как запустить: общий принцип

Для работы используется адаптация WinBGIm — три файла: graphics.h, winbgim.h и libbgi.a.

Линкер-флаги одинаковы для всех сред:

-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

Известный баг: в оригинальном graphics.h на строке 302 встречается int right=0 — это вызывает ошибку компиляции. Исправляется заменой на int txtright=0.

Dev-C++

  1. Скопировать graphics.h и winbgim.h в MinGW64\x86_64-w64-mingw32\include

  2. Скопировать libbgi.a в ...\lib

  3. Tools → Compiler Options → Parameters → Linker — вставить флаги

  4. Переключить профиль компилятора на 32-bit Release

Code::Blocks

  1. Файлы — в соответствующие папки include и lib компилятора MinGW

  2. Settings → Compiler → Linker settings → Other linker options — вставить флаги

VS Code

Файлы хранятся внутри проекта. Структура:

project/
  include/  ← graphics.h, winbgim.h
  lib/      ← libbgi.a

В .vscode/tasks.json в массив args добавить:

"-I${workspaceFolder}/include",
"-L${workspaceFolder}/lib",
"-l"-I${workspaceFolder}/include",
"-L${workspaceFolder}/lib",
"-lbgi", "-lgdi32", "-lcomdlg32", "-luuid", "-loleaut32", "-lole32"
bgi", "-lgdi32", "-lcomdlg32", "-luuid", "-loleaut32", "-lole32"

Компилятор MinGW (g++) должен быть прописан в PATH.

По материалам видео-инструкции CodeWar

Тест

#include <graphics.h>
#include <conio.h>

int main() {
    int gd = DETECT, gm;
    initgraph(&gd, &gm, (char*)"");
    circle(250, 250, 100);
    getch();
    closegraph();
    return 0;
}

Должно открыться окно с белым кругом на чёрном фоне. Если компиляция падает с ошибкой cannot find -lbgi — проверьте путь до libbgi.a. Ошибка undefined reference обычно означает, что флаги линкера не подхватились.

Теги:
+8
Комментарии3

Тестовое задание для тестировщика AI-приложений

Ранее меня просили рассказать про subj. Итак, домашнее задание по оценке навыков ML Evaluation Engineer: как оно выглядит и чего ожидают работодатели?

Сценарий тестового задания: Приложение для медицинских консультаций получает шквал жалоб от пользователей, хотя внутренняя модель анализа настроений (sentiment model) по-прежнему рапортует о высокой «глобальной точности» (Global Accuracy). Ваша миссия: найти «слепые зоны», которые скрывают метрики.

Данные: 1000 пользовательских отзывов (в формате JSON), содержащих эталонные значения (ground truth), предсказания модели и показатели уверенности (confidence scores).

Что ожидается в качестве результата?
Просто показать навыки кодинга недостаточно. В Evaluation главное – это ответ на вопрос «Ну и что?».

Структурированный аудит: Текстовое объяснение того, где именно находятся слепые зоны, подкрепленное цифрами.

Визуальные доказательства: Калибровочные кривые (Calibration Curves) и матрицы ошибок (Confusion Matrices), которые покажут, почему старые метрики пропустили провалы.

Какими навыками нужно обладать?

Чтобы блеснуть, вам понадобится «гибридный» профиль:

  • Теоретическая база: Понимание того, как именно модели ошибаются, и какие метрики применимы к конкретным edge cases.

  • Интуиция данных: Способность искать пробелы как вручную, так и автоматически.

  • Инженерная строгость: Навыки работы с Python для создания пайплайнов и внедрения LLM-as-a-Judge.

  • Стратегическая коммуникация: Умение излагать выводы структурированно, точно и грамотно.

Давайте разберем выполнение этой гипотетической задачи по фазам:

Фаза 1: «Детектив» (Анализ данных)
Прежде чем писать хоть одну строчку кода, нужно провести аудит распределения данных:

  • Проверка дисбаланса классов: Если «позитивных» отзывов в 10 раз больше, чем «негативных», ваша метрика Accuracy вам нагло врет.

  • Поиск предвзятости (bias): Не падает ли качество модели на специфических срезах (например, медицинский жаргон против разговорного языка)?

  • Критика статус-кво: Почему старая «глобальная точность» подвела? Сравните её с метриками, которые реально важны для несбалансированных данных.

Фаза 2: «Архитектор» (Реализация)
Теперь строим фреймворк для оценки:

  • Python-архитектура: Используйте чистый, модульный код. Будь то Scikit-learn или Pandas, покажите, что вы заботитесь о поддерживаемости.

  • LLM-as-a-Judge vs. метрики: Решите, где нужны статистические библиотеки, а где не обойтись без LLM, чтобы «рассудить» нюансы сарказма или сложного медицинского контекста.

  • Уверенность vs. Правильность: Напишите проверку на «уверенно неверные» (Confidently Incorrect) предсказания. Это ваши самые высокорисковые ошибки.

Фаза 3: «Стратег» (Отчетность)
Работа Eval-инженера – это на 20% получение цифр и на 80% объяснение того, что они значат.

  • Визуализация: Приложите калибровочные кривые и матрицы ошибок.

  • Бриф по «слепым зонам»: Структурируйте выводы. Где именно пробел? Модель пропускает «негатив», потому что там используются сложные термины? Объясните, почему старые метрики проглядели эти критические сбои.

 Совет кандидатам

Работодатели в сфере ML Eval ищут не «Data Scientist Lite», а инженеров по качеству и надежности. В вашем GitHub должны быть не просто .py файлы, а README, который рассказывает историю рисков и их минимизации.

Это перевод моего англоязычного поста A take-home assignment for an AI QA role (другие переводы)

Теги:
+3
Комментарии0