Pull to refresh
1
0
Олег Морозенков @Reo_SP

Пользователь

Send message

Я разобрался, каршеринг — это не бизнес на аренде авто

Level of difficultyEasy
Reading time13 min
Views111K

Наши родители не могли о таком и мечтать! 

Тебе исполняется 18 лет, получаешь права и уже можешь получить свою собственную машину на час или два, съездить погулять с друзьями или в ресторан с девушкой. 

Заплатив за это всего 10-15 ₽ за минуту. Но…

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

Сегодня вместе с машиной ты можешь получить штраф от 20 000 ₽ до нескольких миллионов рублей.

Читать далее

Отделяем мух от Kotlett. Динамические обновления без релизов и BDUI

Level of difficultyMedium
Reading time14 min
Views3.5K

Привет, Хабр! Меня зовут Александр Наумов, я руковожу разработкой мобильной платформы в VK Tech и Mail. В VK занимаюсь мобилками уже более десяти лет, и в этой статье я поделюсь с вами нашей внутренней кухней: как мы ищем инженерные решения, какого класса задачи мы решаем. Хочу поделиться нашей новой разработкой, которая, как мне кажется, может быть полезна сообществу.

Читать далее

Как мы собрали ML-платформу в Купере

Level of difficultyMedium
Reading time15 min
Views3.1K

Всем привет! Меня зовут Роза и я MLOps-инженер в Купере. Пока одни учат модели, а другие пытаются их запустить, наша команда строит «мост» между этими мирами — и сегодня под катом расскажу, как мы создавали нашу ML-платформу: от тренировочных стендов до продакшн-инференса, который не падает в пятницу вечером.

Отдельное внимание мы уделим тому, как выстраивать взаимодействие между разными стейкхолдерами платформы — от собственно ML-инженеров до DataOps и Security-инженеров. 

Погнали!

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем

Reading time25 min
Views176K
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

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

Что такое дизайн информационных систем


Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.

Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
Читать дальше →

Куём железо. Чем отличается конструирование электроники от разработки ПО

Reading time18 min
Views12K

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

На сегодняшний день существует множество методологий разработки ПО: SDLC, Agile, Scrum и подобные. Но ни одна из них в чистом виде не подходит к процессу разработки физических устройств, предназначенных для массового производства.

Самые значимые различия (как, впрочем, и сходства) в подходах и методологиях мы рассмотрим через погружение в цикл разработки продуктов потребительской электроники. Разберём, какие именно задачи лежат на инженерах аппаратной разработки, какими знаниями необходимо обладать и почему цена ошибки так велика. А в качестве примера возьмём знакомое и понятное всем устройство: умную колонку с AI‑ассистентом.

Читать далее

Что в чёрной коробочке? Выясняем самостоятельно, не привлекая внимания коллег

Level of difficultyMedium
Reading time30 min
Views6.6K

Всем привет, меня зовут Миша, и я разрабатываю платформу Яндекс Еды. Первые компоненты были написаны почти 10 лет назад (когда Еда ещё была стартапом Foodfox), и у нас накопилось много кода, который просто хорошо работает, а иногда даже «работает — не трогай». Но в процессе развития и устоявшиеся части системы нужно трогать, про что мои коллеги уже писали — как мы повышали версию PHP, пилили монолит и снимали нагрузку с БД

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

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

Читать далее

Как довести фичу до продакшена без боли: пошаговый гайд от команды RuStore. Часть 1

Level of difficultyMedium
Reading time11 min
Views2.2K

Полтора года назад мы в RuStore собрали новую команду, чтобы с нуля разработать собственное платёжное решение. Тогда всё началось с одной фичи. Казалось бы, «просто запилить», чего тут сложного. Но на деле это обернулось целым кварталом разработки, бесконечными доделками и болью на финальном этапе интеграции. Тогда мы столкнулись с типичным набором проблем — от отсутствия документации и слабой декомпозиции до невозможности предсказать сроки. Да, в конечном итоге всё как-то заработало, но по ощущениям исключительно на энтузиазме.

Читать далее

Математика на складе. Как оптимизировать хаос

Level of difficultyEasy
Reading time9 min
Views9.3K

Привет! Меня зовут Анна Дубенюк, я выпускница и преподаватель ФКН ВШЭ, автор канала всё предельно, и недавно было 3 года, как я работаю в Ozon Tech. За это время из пары математиков в команде разработки мы выросли в отдельную команду RnD, помогаем оптимизировать процессы, находим точки роста и снижаем неопределённость с помощью математического моделирования и исследований.

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

Читать далее

А если без A/B-тестов? Как мы оценивали эффективность контент-продукта через квазиэксперименты

Level of difficultyMedium
Reading time10 min
Views3.5K

Бывает, что привычные A/B-тесты кажутся слишком сложными или затратными, и возникает соблазн искать быстрые альтернативы. Но насколько они эффективны? 

Меня зовут Сима Гиззатуллина, я продуктовый аналитик в Lamoda Tech. Я расскажу, как мы искали инструмент для оценки контентного продукта, какие подводные камни обнаружили, и почему в итоге простые пути оказались не такими уж простыми. Поделюсь, как проводили исследование от построения модели атрибуции до разных сортов мэтчинга, и к чему в итоге пришли.

Читать далее 🔥

«Хакеры и Художники». Как мы 13 лет всем рунетом Пола Грэма переводили

Reading time5 min
Views54K
«Это началось как желание, стало приключением, а закончилось как уникальное дорожное путешествие.»
— к/ф «Трасса 60»



Пол Грэм написал книгу «Hackers and Painters» (оригинал в PDF на английском) когда еще был больше программистом, чем инвестором. С тех пор некоторые моменты устарели (да и arc не взлетел), но большинство мыслей остались актуальными (роль и место ботанов «хакеров» в современном мире, свободомыслие, критическое мышление, способность бросать вызов большим системам и пр). Лично я планирую перечитать всю книгу еще пару раз.

Спасибо Байраму Аннакову за «наводку» на Пола Грэма и Николаю Кононову, который подтвердил, что я на правильном пути.

Содержание


Глава 1 Why Nerds Are UnpopularЗа что не любят ботанов.
Глава 2 Hackers and PaintersХакеры и художники (Habr edition)
Глава 3 What You Can't SayО чем вы не можете сказать.
Глава 4 Good Bad AttitudeСлово «хакер».
Глава 5 The Other Road AheadДругая дорога в будущее, Другая дорога в будущее, продолжение.
Глава 6 How to Make WealthКак стать богатым.
Глава 7 Mind the GapОсторожно, разрыв.
Глава 8 A Plan for SpamПлан для спама.
Глава 9 Taste for MakersВкус — созидателям.
Глава 10 Programming Languages Explained — Языки программирования «в разрезе».
Глава 11 The Hundred-Year LanguageЯзыки программирования через сто лет.
Глава 12 Beating the AveragesLisp: побеждая посредственность.
Глава 13 Revenge of the Nerds — Месть ботанов 1, 2, 3.
Глава 14 The Dream LanguageБыть Популярным, часть 2.
Глава 15 Design and ResearchПроектирование и исследование.

Под катом хронология переводов и благодарности.
Читать дальше →

Гигиена электропитания: выбираем сетевые фильтры и стабилизаторы

Reading time15 min
Views149K
Причины, по которым старое доброе электричество в домашней розетке выходит за пределы допустимых отклонений, бывают разные. Порой это временные скачки напряжений и всплески помех, иногда это систематические отклонения за пределы ГОСТов. В конечном итоге за это расплачивается домашняя техника, мгновенно или медленно умирая от «электрической интоксикации».

В этом посте мы расскажем о простых и недорогих способах «электрической гигиены» в зависимости от типа проблем в вашей электросети.


Читать дальше →

Об инциденте с NTP-серверами

Reading time5 min
Views86K

Недавно на Хабре вышла статья об аномальной нагрузке на публичные NTP‑серверы в рунете. К сожалению, к этой ситуации привела ошибка в прошивке Яндекс Станций.

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

Читать далее

Тонкая настройка балансировки нагрузки

Reading time22 min
Views53K
В этой статье речь пойдет о балансировке нагрузки в веб-проектах. Многие считают, что решение этой задачи в распределении нагрузки между серверами — чем точнее, тем лучше. Но мы же знаем, что это не совсем так. Стабильность работы системы куда важнее с точки зрения бизнеса.



Маленький минутрый пик в 84 RPS «пятисоток» — это пять тысяч ошибок, которые получили реальные пользователи. Это много и это очень важно. Необходимо искать причины, проводить работу над ошибками и стараться впредь не допускать подобных ситуаций.

Николай Сивко (NikolaySivko) в своем докладе на RootConf 2018 рассказал о тонких и пока не очень популярных аспектах балансировки нагрузки:

  • когда повторять запрос (retries);
  • как выбрать значения для таймаутов;
  • как не убить нижележащие серверы в момент аварии/перегрузки;
  • нужны ли health checks;
  • как обрабатывать «мерцающие» проблемы.

Под катом расшифровка этого доклада.

От провала до успеха один шаг: как спасти заваленный проект

Level of difficultyEasy
Reading time10 min
Views9K

Самая большая проблема - практически никто не готов признать, что ему нужна помощь. Мало кто планирует на перспективу: все начинают суетиться, когда ситуация доходит до кризиса. В этот самый момент меня и зовут. Я помогаю разрешить проблемы на проектах, когда стандартные методы (разговоры с заказчиком, реструктуризация, обсуждение финансов и другие) уже были использованы и не помогли. В новой статье в блоге ЛАНИТ приведу пять приемов, которые я использовал в разное время и с разными командами. 

Читать далее

Бритва Оккама и другие острые бритвы познания — как использовать в IT и в жизни

Reading time5 min
Views31K

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

В этой статье я перечислю несколько известных «именных» бритв (про Оккама тоже не забуду) и покажу, как их можно использовать в работе IT-специалиста. Заодно я сформулирую несколько правил, которые сам стараюсь соблюдать при применении этих самых «бритв», чтобы ненароком не ошибиться и не получить результат, противоположный ожидаемому.

Читать далее

Как устроен робот-доставщик Яндекса: от восприятия до планирования движения

Reading time15 min
Views35K

Уже пять лет по улицам Москвы колесят роботы‑курьеры Яндекса, доставляя нам еду из любимых ресторанов и магазинов быстрее, чем мы успеваем проголодаться. На пути им встречается много препятствий: от безобидной клумбы, которую можно просто объехать, до восторженных детей (и иногда взрослых), от которых порой не так просто уехать.

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

Привет, меня зовут Тая, и я ML‑разработчик в команде восприятия робота‑доставщика. Сегодня я впервые детально расскажу о технологиях, благодаря которым робот‑доставщик Яндекса успешно доставляет заказы. Разберу ключевые компоненты системы, от сенсоров до алгоритмов принятия решений, и объясню, как они взаимодействуют. Из статьи вы узнаете, что происходит «под капотом» нашего робота во время его путешествий по городу.

Готовы погрузиться в мир автономной доставки?

Поехали!

Памятка по BPMN и BPMN-диаграммам

Level of difficultyEasy
Reading time7 min
Views139K

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

Ещё раз подчеркну, статья задумывалась как базовая памятка и помощь для начинающих, а никак не исчерпывающая документация. Многое я опускаю ввиду избыточности или неактульности, по крайней мере в моей работе.

Читать далее

Управление высокодоступными PostgreSQL кластерами с помощью Patroni. А.Клюкин, А.Кукушкин

Reading time62 min
Views169K

Расшифровка доклада/tutorial "Управление высокодоступными PostgreSQL кластерами с помощью Patroni". А.Клюкин, А.Кукушкин


Patroni — это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компаниями как Red Hat, IBM Compose, Zalando и многими другими. С его помощью можно преобразовать систему из ведущего и ведомых узлов (primary — replica) в высокодоступный кластер с поддержкой автоматического контролируемого (switchover) и аварийного (failover) переключения. Patroni позволяет легко добавлять новые реплики в существующий кластер, поддерживает динамическое изменение конфигурации PostgreSQL одновременно на всех узлах кластера и множество других возможностей, таких как синхронная репликация, настраиваемые действия при переключении узлов, REST API, возможность запуска пользовательских команд для создания реплики вместо pg_basebackup, взаимодействие с Kubernetes и т.д.


Слушатели мастер-класса подробно узнают, как работает Patroni, получат практические навыки настройки высокодоступных кластеров на его основе, познакомятся с различными дополнительными возможностями и поучаствуют в диагностике проблем. Будут рассмотрены следующие темы:


  • область применения: какие задачи HA успешно решаются Patroni
  • обзор архитектуры
  • создание тестового кластера
  • утилита patronictl
  • изменение конфигурации PostgreSQL для кластера, управляемого Patroni
  • мониторинг с помощью API
  • подходы к переключению клиентов
  • дополнительные возможности: ручное переключение, перезагрузка по расписанию, режим паузы
  • настройка синхронной репликации
  • расширяемость и универсальность
  • частые ошибки и их диагностика

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

Reading time9 min
Views11K

Любой успешный проект начинается с ясного и понятного плана, который определяет направление работы и описывает подход к его реализации. Проработка проекта на ранних этапах с достаточным уровнем детализации экономит время во время разработки и позволяет успешно завершить проект в предсказанные сроки и бюджет. Именно для этой цели и созданы технические дизайн документы ("design doc" или "дизайн док"). Дизайн документы помогают разработчикам понимать основные требования к проекту, его архитектуру и функциональные возможности, а также процессы обеспечения безопасности и отказоустойчивости, масштабирования и эксплуатации.

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

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

Читать далее

Альтернативные крестики-нолики

Reading time3 min
Views92K
Однажды на пикнике я заметил математиков, толпящихся возле игры, интереса к которой я ожидал меньше всего: крестики-нолики.

Вы могли и сами заметить, что игра крестики-нолики смертельно скучна. В ней нет места творческой идее или внезапному озарению. Хорошие игроки всегда играют вничью. Игра неизбежно идёт примерно так:



Но математики на пикнике играли в более изощренную версию игры. В каждой из клеток на квадратном поле они нарисовали поле поменьше:
Читать дальше →
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior