Обновить

Китайская и арабская схемы московского метро. Что в них интересного

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели12K

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

Начнём с того, что при создании версии схемы на иностранном языке не совсем корректно говорить о переводе. Перевод подразумевает замену слов одного языка на другой с сохранением смысла. Но карты и, в частности, транспортные схемы., полностью никогда не переводятся. Основная задача карт — упрощение навигации. Перевод топологических имен, например, таких как Красносельская, Сокольники или Новослободская задачу навигации никак не упрощает, а только усложняет. Поэтому для названий большинства объектов используют транслитерацию или транскрибация — запись слов с использованием символов другого алфавита для точной передачи звучания слова (без передачи значения). Помимо замены подписей есть ряд вопросов с адаптацией условных обозначений и графических элементов, о которых мы тоже поговорим. Таким образом, создание схемы на иностранном языке — это не просто перевод всех текстовых строк на иностранный язык, а задача, скорее, промышленного дизайна по выбору наиболее удобных форм представления различных видов информации с целью упрощения навигации.

Читать далее

От написания промптов к проектированию контекста. Или один очень обширный материал по Context Engineering

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели18K

Если вы часто упираетесь в лимиты Claude Code / Codex и не понимаете, куда улетают токены — этот лонгрид для вас

Да и вообще всем, кто хочет разбираться в современных AI инструментах, будет полезно

Разбираемся

1. Как устроено контекстное окно изнутри: 7 слоёв (от весов модели до MCP и skills)
2. Что такое attention и при чем тут O(n²)
3. Как работает agent loop на примере 4 вызовов модели
4. Почему prompt caching экономит до 10× в лимитах при правильной работе с ним

Сууупер длинная статья

Че там Че там 👀

Java для Sega Mega Drive — возможно ли это?

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели8.6K

В этом проекте я хотел ответить на вопрос: возможно ли написать игру на Java для Sega Mega Drive/Genesis. Не хочу раскрывать спойлеры, но ответом будет «да». Несколько лет назад я повстречал проект Java Grinder, который позволяет писать код для различных ретро процессоров на Java, в том числе для Sega Mega Drive. По сути, он интерпретирует байт-код из файлов .class, полученных после компиляции, в код на Ассемблере 68K. Если файлу класса нужны другие файлы классов, то они тоже считываются и обрабатываются. Все вызовы методов API записываются в выходном коде, либо как встроенный ассемблерный код, либо как вызовы предварительно написанных функций, выполняющих свою задачу.

Читать далее

Таблица решений для тестирования скриптов

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели9.5K

В предыдущих статьях я приводила примеры применения техники тест‑дизайна «таблица решений» для тестирования фронтовых фич и алгоритмов. В этой статье я хочу привести пример, как применять таблицу решений для тестирования скриптов.

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

Читать далее

Кризис «переходного» возраста в управлении проектами: история преодоления

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели9.3K

Представьте ситуацию: к 30 годам человек добился всего. Желал быть тимлидом и стал им. На работе сплошь успехи. Полностью соответствует всем ожиданиям, которые на него возлагают общество, коллеги, друзья и близкие. Но счастливым себя не чувствует: вместо этого энергии становится меньше, все чаще ощущается апатия, теряется интерес к работе. В общем, тот самый «кризис переходного возраста» во всей красе, только в профессиональном плане. Я провел в этом состоянии больше полутора лет, и я до сих пор в процессе.

Привет! Меня зовут Саша Шиндин, я руководитель группы проектного управления мобильных решений в «Лаборатории Касперского», а эта статья про то, как подобный кризис проживать. Не претендую тут на роль эксперта — просто хочу поделиться своим опытом переосмысления карьеры и не только ее.

Читать далее

Хороший, плохой, злой тимлид. Как говорить команде правду и выжить

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели52K

Привет, Хабр! Меня зовут Лера, я технический писатель в Авито. Делюсь с вами разбором полезной книги — «Радикальная прямота» Ким Скотт.

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

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

Читать далее

Астероид для IT-индустрии: как пережить AI-апокалипсис

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели19K

Всем привет! Меня зовут Николай Губин, являюсь Backend-разработчиком в Авито уже четыре года. Я тот, кто за пятнадцать лет пережил несколько революций в индустрии, каждая из которых выглядела как конец безбедной и счастливой жизни каждого разработчика. В этой статье поделюсь своим субъективным мнением на самый холиварный вопрос: с развитием ИИ что ждет IT- специалистов? Закат или новое начало?

Читать далее

Я уволилась из корпорации, чтобы работать в стартапе. Вот, что из этого получилось

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели37K

Привет! Меня зовут Света Данильченко, я работаю в Авито и я обожаю эксперименты. Полтора года назад я задумалась: а что, если моя любовь к корпорациям — это всего лишь привычка? Может, я могу быть кем-то ещё? Я решила проверить эту гипотезу и на год отправилась в карьерное путешествие, чтобы выяснить, кто я на самом деле.

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

Го в стартап и обратно

От Аристотеля до Тьюринга: что такое функциональное программирование и как оно облегчает жизнь

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели27K

Привет, меня зовут Марат Зимнуров, я тимлид в кросс-функциональной команде HR Admin Tech Авито. Тема функционального программирования не обделена вниманием — и все же тяжело найти действительно понятный и структурно изложенный разбор данного инструмента. Нет нормального гайда для старта — ни у нас, ни на Западе. Многие говорят про иммутабельность и монады, но путаются в основах. В статье разбираю, что такое функциональное программирование на самом деле и зачем оно нужно.

Читать далее

Weekend Offer – это кринж или база? Рассказываем всю правду

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели29K

Привет, Хабр! Меня зовут Катя, я IT-рекрутер в Авито, нанимаю разработчиков. В статье я разбираю все плюсы и минусы Weekend Offer, причем не только для эйчаров, но и для разработчиков, ведь такие ивенты мы организуем прежде всего для них. Также я раскрываю подробности процесса, каким я вижу его от лица рекрутера. Так что вы сможете заглянуть за кулисы WO)

Читать далее

Детективная история с дебагом проблем C-уровня в Python

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели26K

Привет! Меня зовут Иван Кравцов, я инженер в команде автоматической модерации Авито. В этой статье расскажу приключенческую и немного детективную историю дебага проблем С-уровня в Python.

Читать далее

Как мы храним 20000+ метрик и миллиарды комбинаций разрезов в одной таблице

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели39K

Привет! Меня зовут Влад Божьев, я старший разработчик юнита АБ-тестирования Авито. Один из наших ключевых инструментов – M42, сервис для визуализации метрик. Он позволяет быстро проверять гипотезы, анализировать отклонения и оценивать инициативы.

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

В нашем семантическом слое данных больше  20 000 метрик, и есть десятки разрезов для каждой из них. Под катом рассказываю, как мы храним терабайты данных и автоматизируем добавление новых разрезов в отчёт M42.

Читать далее

Графы знаний в юридическом домене: как не потерять сложность при построении RAG-системы

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.7K

Ни одна современная AI-система в юридическом домене не обходится без RAG: юридические данные слишком специфичны, слишком изменчивы и никогда слишком редко составляли значимую часть обучающей выборки LLM, чтобы доверять ей без внешней базы знаний. Обычно при построении RAG-системы используют модуль поиска, основанный на векторных БД. Однако в таких сложно организованных областях знаний, как юридическая, архитектура, основанная на поиске в хранилище "плоских" эмбеддингов, может не справиться. Векторный поиск позволяет находить семантически близкие (схожие) фрагменты текстов, тогда как юридический домен также требует понимания многочисленных связей между сущностями, рассеянными по множеству документов .

Кажется, что область знаний, организованная таким образом, идеально может быть представлена в виде графа знаний, особенно после появления современных инструментов, позволяющих автоматически строить такие графы на тысячах документов и использовать их в качестве хранилища знаний для RAG-систем. Однако все имеет свою цену: неполнота или неточность построенного графа может свести на нет все вложенные ресурсы и оставить вас с системой, которая хуже "наивного" векторного поиска.

Какие преимущества поиска по графу знаний по сравнению с классическим векторным поиском, а также каковы критерии, когда использование графового поиска действительно необходимо для построения RAG-системы в юридическом домене?

Читать далее

Современные подходы к управлению UI: low-сode & Backend-Driven UI

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели39K

Привет, меня зовут Михаил Шевченко. В Авито я проектирую и разрабатываю backend low-code платформы Bricks. В этой статье рассказываю о том, почему в Авито было принято решение развивать собственные low-code-решения и Backend-Driven UI, объясняю их устройство и делюсь достигнутыми результатами.

Читать далее

Как мы разработали LLM-модель, которая генерирует описания товаров для пользователей Авито

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели39K

Привет! Я Сергей Кляхандлер, senior DS-инженер в команде LLM Авито

В статье рассказываю, как мы разработали ML-модель, которая автоматически генерирует описания для объявлений из категории Одежда и Обувь. Подробно расписываю, откуда мы брали данные для обучения, какую архитектуру использовали и как тренировали модель. А в конце говорю про важную часть работы — фейлы.

Статья будет полезна DS-инженерам, которые работают с мультимодальными LLM-моделями.

Читать далее

Puppet в Avito: 15 000 серверов, CI/CD и уроки из продакшна

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели37K

Привет! Меня зовут Андрей Колесников, я тимлид одной из DevOps-команд Авито. Уже 10 лет я работаю с высоконагруженными и бизнес-критичными системами. В этой статье рассказываю, как мы управляем нашей инфраструктурой с помощью Puppet, и объясняю, почему мы продолжаем его использовать.

Читать далее

Продуктовая стратегия для высокотехнологичных рынков: как её написать и «продать» стейкхолдерам

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели24K

Привет! Меня зовут Владимир Антонов, я руковожу продуктовым юнитом в Авито. В этой статье рассказываю, как выстраивать продуктовую стратегию на высокотехнологичных, конкурентных рынках и разбираю ключевые аспекты работы со стратегией.

Читать далее

Тиндер для работодателей и соискателей: как мы разработали алгоритм мэтчинга на Авито

Время на прочтение10 мин
Охват и читатели22K

Всем привет! Я Владислав Урих, работаю продуктовым аналитиком в Авито, сейчас занимаюсь построением алгоритмов мэтчинга в новом транзакционном продукте — Авито Подработка. В статье рассказываю, как мы построили алгоритм мэтчинга — инструмент подбора оптимальной выдачи для каждого конкретного покупателя.

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

Текст будет полезен всем продуктовым аналитикам, ML-инженерам и продакт-менеджерам, которые работают с алгоритмическими продуктами.

Читать далее

Как мы прессовали Redis — и остались в живых

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели21K

Привет! Меня зовут Антон Головенко и я backend-разработчик команды Search-Quality в Авито. Вот уже полтора года я ускоряю производительность поиска и повышаю его надежность, а также участвую в интеграции новых продуктов. В статье расскажу о том, как мы тестировали Redis под нагрузкой, с какими проблемами столкнулись, как их решали и какие выводы сделали. Заголовок звучит кликбейтно — но вы скоро поймёте, что он полностью оправдан.

Читать далее

У нас было 10k метрик, 500 А/В-экспериментов и 500kk p-value каждый день…

Время на прочтение12 мин
Охват и читатели19K

Всем привет! Меня зовут Данила Леньков, я руковожу платформой A/B-экспериментов Trisigma в Авито. За 7 лет мы прошли путь от небольшой внутренней команды из трёх человек до полноценного технологического продукта, который теперь доступен на B2B-рынке. В этой статье я рассказываю о четырёх ключевых проблемах, с которыми мы столкнулись на пути от десятка экспериментов в год до четырёх тысяч. Это реальный опыт масштабирования, который может быть полезен любой компании, серьезно относящейся к принятию решений на основе данных.

Читать далее