Смотрите WWDC 2025 вместе с Surf и участвуйте в розыгрыше 🎧
Готовы к WWDC? Подключайтесь к нашей трансляции 9 июня в 20:00 по Москве. В прямом эфире мы вместе с сёрферами разберём главные анонсы и свежие решения Apple. Ожидается много интересного: от революционных обновлений iOS 26 и macOS 26 до новинок в мире ИИ-технологий от Apple.
Присоединяйтесь к нашему обсуждению. На стриме будут Head of Flutter Surf, Евгений Сатуров, и наши опытные iOS-разработчики — Кирилл и Антон. Они поделятся своим экспертным мнением о свежих решениях Apple. Будем активно общаться в чате, делиться впечатлениями и мнениями о презентации.
Исследование показало, что искусственный интеллект может создавать смешные интернет-мемы, но самые остроумные шутки по-прежнему придумывают люди. Учёные сравнили мемы, созданные людьми, искусственным интеллектом и в сотрудничестве человека с ИИ. Результаты показали, что у машин есть потенциал, но человеческая интуиция в юморе пока незаменима.
Суть проблемы заключается в понимании границ креативности ИИ. Может ли машина по-настоящему понять культурный контекст, иронию и нюансы, необходимые для качественного юмора? Исследователи из Технологического института KTH, Мюнхенского университета Людвига‑Максимилиана и Дармштадтского технического университета провели масштабный эксперимент для ответа на этот вопрос.
В ходе исследования три группы участников создавали мемы. Первая группа состояла только из людей, вторая использовала языковую модель для генерации мемов, а третья совмещала работу человека и ИИ. Затем почти 100 человек оценивали созданные мемы по креативности, юмору и желанию поделиться. В среднем мемы, полностью созданные ИИ, получили более высокие оценки.
Однако самые смешные и запоминающиеся отдельные мемы были созданы людьми. В то же время, совместная работа человека и ИИ привела к появлению наиболее креативных и виральных мемов. Это говорит о том, что ИИ отлично справляется с генерацией большого количества идей, но человеческое участие необходимо для отбора и доработки лучшего контента.
внезапно пришла идея - кажется витает в воздухе новый путь установки пакетов и вообще библиотек в приложения.
Начну как всегда из далека: В последнее время, так как вместо человека теперь LLM чаще всего обращается к сайтам и приложениям, становится популярно добавлять специально написанные для llm страницы (как раньше sitemap, только теперь md файлы)
Это даже стало правилом для MCP серверов - например Cline добавляет только те MCP сервера, которые LLM может поставить в one shot или имеют llm-install.md файл.
По сути, кажется это становится файлом установки для llm - то есть, llm, следуя инструкциям этого файла ставит и конфигурирует MCP сервер на компьютере (прям как раньше, люди скачивали и устанавливали на windows).
Уязвимостей тут может быть много (потому что промпт может быть corrupt), но если следить за процессом и обязательно проверять команды исполнения - why not?
А теперь - представляете что можно сделать это для любого пакета и любого языка?
То есть, есть библиотека например для интеграции авторизации. Вместо того, чтобы разворачивать её вручную, автор библиотеки может написать llm-install и агент, имея контекст проекта в котором он работает, может целиком его развернуть!🙌 Креды например строго хранить в отдельном фале, не давать доступ (например использовать cursorignore etc..) и такие пакеты можно интегрировать как клиенту и бекенду!
И тоже самое можно применить и для удаления! И таким образом весь процесс интгерации станет больше как лего plug & play 🤩
В каждой компании, где я работал, были свои правила формализации и постановки обнаруженных багов. Чаще всего - никаких правил. Что нашел тестировщик, то отписал в комментарии к задаче (и это еще хорошо!), а иногда просто на созвоне обсудил с разрабом, тот быстро пофиксил и факт найденного бага остался между ними. Для мелких студий так работать, может, и допустимо, но рано или поздно отсутствие элементарного порядка начинает надоедать. И тут появляются вопросы:
Как оформить баг? Комментарий к задаче? Отдельная задача? Чек-лист в описании задачи?
Как отметить баг выполненным? Проверенным? Повторно проявившимся?
Какая система багтрекинга вам показалась наиболее удобной? Jira? Youtrack? Яндекс.Трекер? Битрикс24? Что-то из новомодного импортозамещения?
Какие шаблоны описания бага приняты в вашей компании? Нет правил? Шаг 1 - шаг 2 - шаг 3 - ожидание - реальность? Скриншот со стрелочками? Видеозапись с экрана?
Есть ли какая-то классификация багов? Минор / мажор? Бэк / фронт? Бэклог / критикал?
Очень интересует ваш опыт в данной теме. Буду очень признателен, если поделитесь своими знаниями в комментариях.
Представлен ультимативный бесплатный гайд по вайб-кодингу, в котором есть всё. Автор — ведущий инженер Google. Внутри проекта описаны лучшие техники промптинга, готовые шаблоны, фреймворки, сценарии — всё продумано до мелочей. Там нет устаревших советов, всё подогнано под новейшие модели и ИИ-сервисы.
В начале был датасет, и был он в уме дата-инженера, и имя ему было Хаос...
В мире машинного обучения термин «датасет» звучит примерно из каждого утюга, и даже если ваша сфера не ML, вы наверняка догадываетесь: это какой-то набор данных. Вот только какой именно — сильно зависит от задачи. Порой один датасет похож на другой примерно как кактус на ёлку: что-то зелёное и колется.
Часто в начале данных нет вовсе, и их приходится создавать вручную, искать в открытых источниках или генерировать синтетически, а иногда комбинировать подходы. Упорядочить хаос — задача не из лёгких, особенно если вы создаёте кастомный датасет под конкретную модель.
От чего зависит структура датасета? Если коротко: буквально от всего.
Поставленная задача, тип данных, структура, формат аннотаций, объём, качество, наличие разметчиков или доступа к "умным" моделям и даже количество «мусора» — всё это влияет на итоговую структуру. Например, даже для такой относительно несложной задачи, как обучение чатбота для покупок товаров, мы иногда работаем с:
Парами «вопрос–ответ». Такой вариант был хорош на раннем этапе разработки.
Триплетами (вопрос + хороший и плохой ответ, чтобы модель точно знала, что НЕ нужно отвечать) - такой формат хорошо заходит reasoning-моделям, когда мы ожидаем от модели более сложного поведения и умения задать вопрос, быстро "отсекающий" нерелевантный товар или неважные признаки.
Пользователь: хочу морковь
Ответ A: вам мытую или обычную? Ответ B: скока вешать в граммах?
Предпочтение: ответ A
Примеры разных типов датасетов
📸 Computer Vision
Датасеты для задач компьютерного зрения. Картинки котиков, людей и машин (ImageNet) и (MS COCO). Учим ИИ отличать милую чихуахуа от маффина. Например, ImageNet содержит более 14 млн размеченных фотографий, а MS COCO — изображения с детальными аннотациями сцен.
Новый релиз от Яндекса — YAMBDA на Hugging Face, анонсирован в посте на Хабре. Это 500 млн взаимодействий с музыкальным контентом, включая признаки и флаги «рекомендовано/нет».
Чем он интересен:
Использует эмбеддинги вместо аудио
Подходит для обучения RecSys моделей в «индустриальных» условиях
Поддерживает архитектуры с input context (история прослушиваний)
🩺 Медицина
MIMIC-CXR — крупный публичный датасет рентгеновских снимков грудной клетки с диагнозами и метками. Один из главных бенчмарков в медицинском CV.
Проблемы: сложная лексика, разнообразие патологий, неполные аннотации. Такие датасеты часто требуют пост-обработки, аннотации врачами и серьёзного контроля качества.
📊 Табличные данные для задач логистической регрессии
UCI Adult — классика для бинарной классификации (доход >50K или нет). Здесь встречаются числовые и категориальные признаки. Часто используется для обучения простых моделей и feature engineering.
Именно такие данные лежат в основе скоринговых систем банков. Да-да, когда вы подаёте заявку на ипотеку, зачастую не человек, а модель принимает первичное решение на основе ваших параметров. ИИ тихо решает судьбу вашего жилья и кошелька.
🤖 Робототехника и сенсоры
KITTI Dataset — реальная дорожная обстановка с камеры, лидара и GPS. Используется в задачах:
Детекции объектов
3D реконструкции
SLAM и навигации
Датасеты для роботов — одни из самых тяжёлых по объёму, синхронизации и сложности синтеза сигналов.
По мере развития технологий модели обретают мультивозможности, и датасеты тоже усложняются…А как же понять, какой датасет подойдёт именно для вашей задачи?
Готовясь к обучению модели, важно помнить: 80% успеха — это грамотный датасет, причём не только по составу данных, но и по их комбинации и оформлению, подходящий под задачу. Гонка за модными тенденциями или применение готовых шаблонов тут вряд ли помогут.
В следующих постах разберу:
Можно ли полностью нагенерировать диалоговые датасеты синтетически - умными моделями типа О3 без проверки человеком.
Остальные 20% успеха в обучении модели;) Это будет не совсем про ML.
Какую тему для книги можно выбрать в 2025? Современный мир — насыщенный мир. Книг выходит очень много. Как, интересно, можно выбрать тему для книги? От этого зависит конечная аудитория книги всё-таки. Микросервисы? Внедрение зависимостей? Ещё что-нибудь? Я в смятении. А выбирать пора уже. Полгода как прошлая книга вышла...
Привет, меня зовут Александр, я аналитик в Альфа-Банке. Однажды я устал, что на Feature Store, на платформе для дата-инженеров (DE) и дата-саентистов (DS), невозможно ничего найти.
Поиск по контексту отсутствует. Приходится руками шерстить огромное количество ETL-проектов в поисках той самой полезной информации, полагаясь сначала на удачу, а после — на опыт и помощь коллег.
Feature Store сама по себе — платформа, которая должна упрощать работу коллег с большими данными, упрощает бюрократию жизненного цикла создания ETL, ввода моделей в промышленную эксплуатацию. Но какой же поиск там...В общем, хотелось бы улучшить процесс по поиску данных в ней.
Huawei Watch 5 — первые часы на новой операционной системе HarmonyOS NEXT. Поддержки Android здесь нет: ни библиотек, ни инструментов, ни привычного ядра. Всё пришлось делать заново — и мы сделали. Теперь 2ГИС показывает маршруты прямо на часах Huawei Watch 5: от прогулки по району до поездки на метро.
Слева — навигация по пешеходному маршруту. Справа — подсказки по маршруту общественного транспорта
Мы написали 2ГИС Компаньон с нуля на arkTS — это компилируемый диалект TypeScript, разработанный при участии Huawei. Забудьте про Java, JS, HTML и CSS — он заменил сразу несколько языков, которые раньше требовались для разработки на старых часах.
Работали параллельно с разработкой самой ОС, прошивок, IDE (DevEco Studio) и фреймворков. Всё было в бете — мы тестировали одними из первых. Stack Overflow и блоги молчали, а ИИ-помощники разводили руками. Так бывает, когда заходишь в проект на новом стеке. К счастью, команда Huawei были на связи. Мы давали обратную связь, задавали вопросы, а они быстро реагировали и помогали решать технические сложности. Вместе мы прошли путь от «ничего не работает» до полноценной навигации прямо на запястье.
Подробнее о том, что теперь умеет приложение на новых часах — в «Доставили».
Как строить систему отчетности? Расскажет Рома Бунин!
В мае в гости к аналитическому комьюнити Garage Eight заглянул Рома Бунин, специалист по визуализации данных и развитию BI-систем, Head of Data Nebius Group, а также автор канала Reveal the Data. На встрече он рассказал про Dashboard Map. Этот фреймворк позволяет заранее оценить, какая аналитика нужна внутри команды, и подготовить инструменты для разных типов задач.
Лекцию записали и теперь делимся с вами!
Из нее узнаете: > зачем нужно заранее проектировать архитектуру системы дашбордов; > из каких шагов состоит проектирование; > как заполнять Dashboard Map; > как провести сессию проектирования; > что делать после сессии; > примеры систем дашбордов.
Pull/Merge Request для согласования требований и документации
Аналитики и технические писатели, признайтесь: сколько раз вы теряли время, сравнивая версии документов в MS Word? Компьютер тормозит, красные и синие правки сливаются в кашу, а поиск согласования в бесконечной переписке или Confluence превращается в квест.
Есть решение — берем механизм Pull/Merge Request и применяем его к текстам! Что получаем:
Все правки в одном месте. Редактируйте несколько документов сразу и смотрите изменения в едином окне. Забудьте про переключение между файлами и версиями!
Подробная подсветка. Все правки видны построчно или в удобном визуальном редакторе — сразу ясно, что добавили, убрали или исправили.
Простое согласование. Назначайте проверяющих и получайте их апрувы прямо в интерфейсе. Никаких "ок" в письмах или мессенджерах!
Полная история. Все комментарии, согласования и версии сохраняются. В любой момент можно вернуться и проверить, кто, что и когда утвердил.
Экономия времени. Gramax объединяет редактирование, ревью и согласование в одном месте — больше не нужно жонглировать Word, Confluence и почтой.
И все это в Gramax! Как всегда: бесплатно и с открытым исходным кодом. Все как в коде, только проще.
VK выводит на рынок "полностью российский мессенджер", который предполагаеться интегрировать с "Госуслугами" Об этом доложил президенту РФ Путину глава Минцифры Шадаев на совещании с членами правительства в среду, 4 июня.
Подключайтесь к вебинару про производительность 1С 🔍
Ровно через час, в 12:00 мск, встретимся, чтобы обсудить тест Гилева и другие методики тестирования 1С. Ответим на главные вопросы:
✔️ как выбрать подходящий метод,
✔️ как настроить тестовое окружение,
✔️ как проанализировать результаты и провести оптимизацию на основе полученных данных.
Вебинар будет полезен администраторам 1С и системным администраторам, руководителям IT-отделов, разработчикам, а также специалистам по производительности.
Обновляем платформу SourceCraft и открываем доступ к ней для всех разработчиков
Сегодня Yandex B2B Tech открыла публичный доступ к платформе для разработки SourceCraft и представила её новые возможности. В платформу интегрированы инструменты безопасности, которые обеспечат защищённую разработку программных продуктов. А в ИИ‑помощнике SourceCraft Code Assistant появился чат‑режим, что увеличит скорость и эффективность разработки.
Удобство командной работы повысится за счёт бранч‑ и ревью‑политик, встроенных в интерфейс, а также аутентификации через SSO. Также появляется возможность зеркалирования репозиториев с GitHub и публичный API.
Инструменты безопасности
На платформе стали доступны инструменты безопасной разработки: сканер секретов в коде и анализ зависимостей в кодовой базе.
По данным исследования аналитиков Forrester интеграция инструментов безопасности в разработку на 81% снижает трудозатраты на ИБ‑поддержку всего проекта.
Чат‑режим в SourceCraft Code Assistant
ИИ‑помощником SourceCraft Code Assistant пользуются десятки тысяч разработчиков. Теперь в нём доступен чат‑режим, интегрированный непосредственно в среду разработки. В диалоговом режиме на естественном языке можно задать вопрос ИИ‑ассистенту, сгенерировать код, юнит‑тесты, документацию. Это ускорит поиск необходимой информации и оценку предлагаемых решений. Функциональность доступна в плагинах для VSCode и IDE от JetBrains.
Зеркалирование и бесшовная миграция
Миграция проектов с GitHub становится бесшовной — кроме кода переносятся Issues, PRs, Labels, Milestones, Comments. Также можно выбрать ветки для зеркалирования — непрерывной синхронизации кода.
Также появился федеративный доступ к платформе для компаний — авторизация через SSO.
Публичный API
Благодаря появлению публичного API платформа становится расширяемой. Пользователь сможет взаимодействовать с SourceCraft и обеспечивать автоматизацию и интеграцию с другими приложениями. Первая версия публичного API доступна для управления задачами, список будет пополняться.
Правила работы с ИТ‑проектами
В интерфейсе платформы появились бранч‑ и ревью‑политики — правила работы с ветками и проверками кода, которые интегрируются в систему контроля версий и процессы CI/CD.
Опенсорс
Появился анонимный доступ к публичным репозиториям платформы.Пользователи SourceCraft смогут создавать независимые копии репозиториев (forks) опенсорс‑проектов. Это позволит вносить персональные изменения, не затрагивая напрямую исходную кодовую базу. При этом копия сохраняет связь с оригиналом для получения обновлений.
Удобство работы с кодом
Интерфейс платформы теперь позволяет просматривать структуру файлов для шести языков программирования: Python, C++, Java, Go, TypeScript и JavaScript. Функциональность навигации по коду стала умнее и аналогично теперь поддерживает 6 языков.
Автоматизация CI/CD‑процессов
Среди обновлений, связанных со сборкой и развертыванием кода, появились self‑hosted runners — теперь можно запускать задачи как на виртуальных машинах Yandex Cloud, так и в своём окружении. Также появились flavours — теги для пользовательских задач, за счёт которых можно выбирать, где запускать задачу. Помимо этого в интерфейсе платформы появилась возможность не только разрабатывать, но сразу публиковать мобильные приложения в App Store, Google Play, RuStore, Huawei AppGalery.
Packages
Появилась возможность создавать и использовать собственные программные пакеты популярных форматов: наборы кода, библиотек, модулей или компонентов. Разработчик сможет хранить их в персональном облаке, привязанном к организации SourceCraft, и использовать в своих проектах. Packages также интегрированы с CI/CD платформы.
Вход в SourceCraft реализован через Яндекс ID аккаунт. Зайти на обновлённую платформу можно на сайте SourceCraft.
Тест на собеседовании на должность проектировщика интерфейсов
Ставим перед соискателем большую коробку с конструктором типа Лего. Задача: собрать его за час. А дальше наблюдать.
В коробке должно быть шесть пакетов и инструкция по сборке. В инструкции должно быть указано, что для успешной сборки понадобится семь пакетов. Если соискатель заметит это перед тем, как распечатает первый пакет, и укажет на невыполнимость задачи — он молодец.
Конструктор должно быть физически невозможно собрать за час. Первый пакет должен занимать в среднем пятнадцать минут, а остальные пакеты должны быть примерно такого же объёма и сложности и это должно быть заметно. Если соискатель, собрав первый пакет за пятнадцать минут, укажет на невыполнимость задачи — он молодец.
Это бы отсеяло тех кандидатов, которые готовы браться за работу, не разобравшись с задачей и её выполнимостью. В нашей профессии такой подход чреват лавинообразными правками после бесполезной работы, а также быстрым выгоранием.
К сожалению, этот тест — плод моей фантазии развлекательного характера. Представляете, сколько это мороки — подготавливать и упаковывать в пакеты подобные наборы для каждого нового соискателя? Не, проще пообщаться. Но идея не даёт мне покоя :)
А вот ещё один теоретический способ, с помощью которого я бы проверял квалификацию соискателей. Там про цепляние к мелочам.
🚀 +32 подписчика в наш телеграм канал, это значит вам понравилась моя статья в рамках челленджа 12 проектов за 12 месяцев, которую я вчера опубликовал.
На днях в офисе я столкнулась с коллегами из направления системного программирования в «Криптоните». Они пишут на С++ — а ошибки на этом языке у нас ещё не было!
Поэтому я попросила их придумать код с ошибкой специально для Хабра — и вот что получилось!
Итак, есть ли в этом коде проблема кроме narrowing conversion? Ждём ваши варианты в комментариях.
#include <cstdint>
#include <vector>
struct Type
{
Type(uint16_t, uint32_t = {})
{}
};
int main()
{
std::vector<Type> vector;
std::uint32_t object_id{};
// Есть предупреждение о narrowing conversion
vector.insert(vector.begin(), {0, object_id});
// Нет narrowing conversion
vector.push_back({0, object_id});
// Нет narrowing conversion
vector.insert(vector.begin(), Type{0, object_id});
}
АККУРАТНО, ДАЛЬШЕ СПОЙЛЕР!
Проблема в том, что в строке
vector.insert(vector.begin(), {0, object_id});
в вектор вставляется 2 элемента типа Type, а не один, как ожидает программист.
Причина в том, что метод insert у вектора имеет перегрузку (номер 5), которая вторым параметром принимает std::initializer_list. А компилятор, видя фигурные скобки в коде, в первую очередь пытается создать объект такого типа.
И тут ему это удается, потому что у конструктора Type второй параметр имеет значение по умолчанию, следовательно, Type умеет создаваться, если в конструктор передали только один аргумент. В итоге компилятор успешно создает std::initializer_list с двумя элементами типа Type.
Так как создание std::initializer_list выполняется с использованием uniform initialization, то компилятор следит за корректностью преобразований. В примере объект типа std::uint32_t передается в конструктор Type, который принимает первым параметром std::uint16_t. То есть, возникает риск потери точности (32 бита не могут поместиться в 16 бит).
Об этом компилятор и предупреждает. Вот упрощенный пример, где видим то же самое предупреждение.
Может возникнуть вопрос, почему создание Type от 0 не вызывает предупреждение, ведь 0 - это int, а он, скорее всего 32 бита и тоже не помещается в 16 бит. Но тут литерал. Компилятор видит, что 0 вмещается в 16 бит и не предупреждает. Но если поместить int в переменную, то также возникает предупреждение.
ГК InfoWatch — победитель премии CIPR Digital 2025 в номинации «Легенды инфобеза»
Рады поделиться новостью — проект ГК InfoWatch стал победителем премии CIPR Digital в номинации «Легенды инфобеза». Итоги подвели на ЦИПР-2025.
Для участия в премии компания представила кейс с крупным промышленным предприятием, где реализована интеллектуальная система защиты персональных данных сотрудников на базе DLP-системы InfoWatch Traffic Monitor. В основе проекта — новый способ автоматического анализа выгрузок из баз данных, который запатентован в 2024 году.