Как стать автором
Обновить
202.8
AvitoTech
У нас живут ваши объявления
Сначала показывать

Как мы боремся с копированием контента, или первая adversarial attack в проде

Время на прочтение7 мин
Количество просмотров57K

Привет.


Вы знали, что платформы для размещения объявлений часто копируют контент у конкурентов, чтобы увеличить количество объявлений у себя? Они делают это так: обзванивают продавцов и предлагают им разместиться на своей платформе. А иногда и вовсе копируют объявления без разрешения пользователей. Авито — популярная площадка, и мы часто сталкиваемся с такой недобросовестной конкуренцией. О том, как мы боремся с этим явлением, читайте под катом.


Читать дальше →
Всего голосов 228: ↑216 и ↓12+204
Комментарии122

Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно

Время на прочтение7 мин
Количество просмотров75K

— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?


Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.


Читать дальше →
Всего голосов 219: ↑183 и ↓36+147
Комментарии533

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

Время на прочтение5 мин
Количество просмотров66K

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


Каждый новый сотрудник получает на выбор свеженький Макбук или Делл. Клеить на них стикеры никто не запрещает — жёсткие ограничения у нас никогда не взлетали. Но бывает так, что коллеги становятся бывшими. И тогда на прощание они приносят команде IT-поддержки свои красиво заклеенные ноутбуки.


Нас зовут Артём Лелюхин и Павел Васильев, и мы работаем в той самой команде Авито. В этой статье мы расскажем об эффективных, абсурдных и даже опасных способах освободить ноутбук от стикербомбинга.


Читать дальше →
Всего голосов 144: ↑136 и ↓8+128
Комментарии267

Где живут ваши объявления?

Время на прочтение8 мин
Количество просмотров41K
image

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

Начнем с небольшой истории о том, что проект представляет из себя сегодня, чем занимается команда инженеров, и что мы планируем делать в ближайшем будущем. Еще мы собрали в этом посте множество ссылок на уже опубликованные материалы, доклады и презентации нашей команды, которыми давно хотели поделиться. Хотите знать, где живут ваши объявления? Добро пожаловать под кат!
Читать дальше →
Всего голосов 116: ↑109 и ↓7+102
Комментарии115

Как Авито выявляет мошенников и борется с фродом

Время на прочтение11 мин
Количество просмотров181K

Привет, Хабр. Я Игорь, руководитель команды, которая борется с мошенниками на Авито. Сегодня поговорим про вечную битву с негодяями, которые пытаются и даже иногда обманывают интернет-покупателей с помощью доставки товаров.


Читать дальше →
Всего голосов 97: ↑94 и ↓3+91
Комментарии393

Офис Avito: work hard, play hard

Время на прочтение13 мин
Количество просмотров122K
Когда мы первый раз пришли в офис Avito на встречу, то просто смотрели по сторонам, выпадали из реальности и фотографировали отдельные штуки на телефоны, чтобы потом показать коллегам и знакомым. Второй визит получился более осмыслённым — пришло понимание, что это тот случай, когда офис — не набор мест для валяния и удачно расставленных спотов-кормушек, а сочетание абсолютно функциональных элементов. То есть не навороты и красота (хотя и она есть), а настоящая энциклопедия юзабилити офисного пространства. «А давайте сделаем фоторепортаж из вашего офиса, это и полезно, и интересно», — предложили мы после второй встречи. Ну а где вторая, там и третья — и два человека (в составе Boomburum +1) из нашей команды ТМ отправились в Avito, чтобы послушать, поспрашивать, поснимать. Вышло интереснее, чем мы могли этого ожидать. И да, в репортаже нет ни одного постановочного кадра.


Всего голосов 97: ↑91 и ↓6+85
Комментарии95

Заповеди тимлида Авито

Время на прочтение6 мин
Количество просмотров23K

Мы уже публиковали свои внутренние документы с ожиданиями от инженеров и менеджеров продукта в плейбуке на Гитхабе. Пришло время поделиться ещё одним — кодексом тимлида.


Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии33

Что нового в PHP 7.2?

Время на прочтение14 мин
Количество просмотров85K

Несмотря на то, что мы активно работаем с Python и Go, всё же существенная часть нашего серверного кода написана на PHP. Поэтому мы внимательно следим за всеми нововведениями языка. Прошло меньше года после релиза предыдущей минорной версии, и вот уже последний бета-релиз запланирован на 17 августа. Его ещё не рекомендуется использовать в production, но уже можно скачать docker-образ. Пора разбираться, что изменилось в новой версии языка.


Читать дальше →
Всего голосов 79: ↑78 и ↓1+77
Комментарии68

Целостность данных в микросервисной архитектуре — как её обеспечить без распределенных транзакций и жёсткой связности

Время на прочтение9 мин
Количество просмотров61K

Всем привет. Как вы, возможно, знаете, раньше я все больше писал и рассказывал про хранилища, Vertica, хранилища больших данных и прочие аналитические вещи. Сейчас в область моей ответственности упали и все остальные базы, не только аналитические, но и OLTP (PostgreSQL), и NOSQL (MongoDB, Redis, Tarantool).


Эта ситуация позволила мне взглянуть на организацию, имеющую несколько баз данных, как на организацию, имеющую одну распределенную гетерогенную (разнородную) базу. Единую распределенную гетерогенную базу, состоящую из кучи PostgreSQL, Redis-ов и Монг… И, возможно, из одной-двух баз Vertica.


Работа этой единой распределенной базы порождает кучу интересных задач. Прежде всего, с точки зрения бизнеса важно, чтобы с данными, движущимися по такой базе, все было нормально. Я специально не использую здесь термин целостность, consistency, т.к. термин это сложный, и в разных нюансах рассмотрения СУБД (ACID и CAP теорема) он имеет разный смысл.


Ситуация с распределенной базой обостряется, если компания пытается перейти на микросервисную архитектуру. Под катом я рассказываю, как обеспечить целостность данных в микросервисной архитектуре без распределенных транзакций и жесткой связности. (А в самом конце объясняю, почему выбрал для статьи такую иллюстрацию).


Всего голосов 77: ↑76 и ↓1+75
Комментарии73

OSCP: как я сдавал самый известный экзамен по информационной безопасности

Время на прочтение7 мин
Количество просмотров55K

Offensive Security Certified Professional отличается от других сертификаций по информационной безопасности адски сложным экзаменом. Ребята из этой компании бегают по интернету и пристально следят за тем, чтобы никакие подсказки или готовые решения не были доступны публично. И, похоже, им успешно удаётся это делать более 10 лет подряд.

Сдавая экзамен, люди не спят двое суток, решают задачи с постоянно включенной видеокамерой и спрашивают в специальном чате разрешения отойти в туалет. Я прошёл этот путь и сейчас расскажу, как всё устроено.

Как это было
Всего голосов 76: ↑75 и ↓1+74
Комментарии27

Как посчитать длину текста и не привлекать внимание санитаров

Время на прочтение10 мин
Количество просмотров32K

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.

Читать далее
Всего голосов 73: ↑72 и ↓1+71
Комментарии58

Как работать с Postgres в Go: практики, особенности, нюансы

Время на прочтение10 мин
Количество просмотров131K


Неожиданное поведение приложения в отношении работы с базой приводит к войне между DBA и разработчиками: DBA кричат: «Ваше приложение роняет базу», разработчики — «Но ведь до этого всё работало!». Хуже всего, что DBA и разработчики не могут помочь друг другу: одни не знают про нюансы работы приложения и драйвера, другие не знают про особенности, связанные с инфраструктурой. Было бы неплохо такой ситуации избежать.


Надо понимать, часто недостаточно полистать go-database-sql.org. Лучше вооружиться чужим опытом. Еще лучше, если это будет опыт, полученный кровью и потерянными деньгами.

Всего голосов 76: ↑73 и ↓3+70
Комментарии29

И снова 256-й день года

Время на прочтение2 мин
Количество просмотров25K

Поздравляем с днём программиста. Мы решили сделать для вас несколько открыток и подошли к этому согласно специфике даты.
Под катом пять учёных и программистов, код на whitespace, интерпретатор и как итог — портреты в стиле ASCII art.


Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии19

Для чего и как мы скрываем госномера автомобилей в объявлениях Авито

Время на прочтение7 мин
Количество просмотров89K
Привет. В конце прошлого года мы стали автоматически скрывать номера автомобилей на фотографиях в карточках объявлений на Авито. О том, зачем мы это сделали, и какие есть способы решения таких задач, читайте в статье.

Hide my plate!
Hide my plate!
Всего голосов 105: ↑87 и ↓18+69
Комментарии181

Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go

Время на прочтение11 мин
Количество просмотров25K

Возможно, некоторые из читателей уже слышали про Centrifugo раньше. В данной статье речь пойдет о разработке второй версии сервера и новой real-time библиотеке для языка Go, лежащей в его основе.


Меня зовут Александр Емелин. Летом прошлого года я присоединился к команде Авито, где сейчас помогаю разрабатывать бэкенд мессенджера Авито. Новая работа, напрямую связанная с быстрой доставкой сообщений пользователям, и новые коллеги вдохновили меня продолжать работу над open-source проектом Centrifugo.


Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии40

FPS не падай, девайс не грейся

Время на прочтение17 мин
Количество просмотров19K

В октябре 2020 года в техническую поддержку Авито стали обращаться пользователи с проблемами нагрева девайса и просадками FPS вплоть до полного фриза iOS-приложения. Проблема, как казалось, была глобальной. Она не относилась к какой-то конкретной функциональности приложения и поэтому не подходила в бэклоги продуктовых команд. Выход был один: засучить рукава и самому разобраться, что пошло не так. Не даром же я performance engineer.

Читать далее
Всего голосов 64: ↑64 и ↓0+64
Комментарии23

Багодельня — марафон по убийству престарелых багов

Время на прочтение3 мин
Количество просмотров19K

Сколько открытых багов у вас в бэклоге? 100? 1000?
А сколько времени они там лежат? Неделю? Месяц? Годы?
А почему так происходит? Нет времени? Надо делать более приоритетные задачи? «Вот сейчас все срочные фичи реализуем, а потом точно будет время на разгребание багов»?


… Некоторые используют Zero Bug Policy, у кого-то хорошо развита культура работы с багами (своевременно актуализируют бэклог, пересматривают ошибки при изменении функциональности и т.д.), а кто-то выращивает волшебников, которые пишут вообще без багов (маловероятно, но, может, и такое бывает).


Сегодня я расскажу вам про наше решение по чистке бэклога багов — проект «Багодельня».


Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии43

AMA. Avito. Backend

Время на прочтение2 мин
Количество просмотров26K

Привет! Как и обещали, сегодня мы готовы отвечать на вопросы про бэкенд в Avito, разработку серверной части в целом и про высокие нагрузки в частности. Как работается с сайтом, на который ежемесячно заходит почти четверть населения России? Спросите у нас! Отвечать будем с 12 до 19 часов по московскому времени. Под катом я представляю шесть моих коллег, которые сегодня будут с вами на связи и напоминаю о возможных темах диалога.


AMA!
UPD, 19:03 мск: Спасибо всем за вопросы!
Официально мы завершаем АМА и прощаемся, но по возможности будем отвечать на комментарии.


Читать дальше →
Всего голосов 70: ↑67 и ↓3+64
Комментарии122

May the Code Review be with you

Время на прочтение9 мин
Количество просмотров27K
Code review может быть большой болью для команды, которая только начинает его внедрять. Вы в любом случае наступите на много граблей: будете проводить ревью дольше, чем пишете код, устраивать смертельные споры про расположение скобочек и разбираться, можно ли сливать ветку в master до аппрува команды или нет. Я собрал ряд практик, которые помогут вам сделать процесс адаптации чуть менее болезненным — по крайней мере, мне они точно помогли.
 
Этот материал — краткая выжимка моего опыта, накопленного за несколько лет работы в крупных командах мобильной разработки. Опыт по большей части в мобильной разработке, что оказало влияние на используемые примеры и ссылки. Для тех, кто предпочитает не читать, а смотреть, в течение пары месяцев должно появиться видео с конференции Mobius, где я рассказываю доклад на эту же тему, но с кучей подробных практических примеров.
 

Читать дальше →
Всего голосов 61: ↑61 и ↓0+61
Комментарии16

Как мы сделали хакатон в поезде и что из этого получилось

Время на прочтение12 мин
Количество просмотров20K

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


Осторожно, трафик.


Всего голосов 66: ↑63 и ↓3+60
Комментарии32
1
23 ...

Информация

Сайт
avito.tech
Дата регистрации
Дата основания
2007
Численность
5 001–10 000 человек
Местоположение
Россия