Pull to refresh

Technotext

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

Level of difficultyEasy
Reading time13 min
Reach and readers12K

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

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

Читать далее

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

Level of difficultyMedium
Reading time22 min
Reach and readers18K

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

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

Разбираемся

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

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

Че там Че там 👀

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

Level of difficultyMedium
Reading time12 min
Reach and readers8.6K

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

Читать далее

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

Level of difficultyMedium
Reading time3 min
Reach and readers9.5K

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

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

Читать далее

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

Level of difficultyEasy
Reading time11 min
Reach and readers9.3K

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

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

Читать далее

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

Level of difficultyEasy
Reading time14 min
Reach and readers52K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Reach and readers19K

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Reach and readers37K

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

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

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

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

Level of difficultyMedium
Reading time15 min
Reach and readers27K

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

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers29K

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Reach and readers26K

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

Читать далее

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

Level of difficultyMedium
Reading time22 min
Reach and readers39K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time21 min
Reach and readers5.7K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers39K

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

Читать далее

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

Level of difficultyMedium
Reading time8 min
Reach and readers39K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time11 min
Reach and readers37K

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

Читать далее

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

Level of difficultyMedium
Reading time11 min
Reach and readers24K

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

Читать далее

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

Reading time10 min
Reach and readers22K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Reach and readers21K

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

Читать далее

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

Reading time12 min
Reach and readers19K

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

Читать далее