Pull to refresh
35
Antony Leontyev@aleontyev

User

1
Rating
7
Subscribers
Send message

Что больнее OT или CRDT в совместном редактировании? И почему до сих пор нет идеала?

Level of difficultyMedium
Reading time26 min
Reach and readers10K

Привет, Хабр!

Меня зовут Антон Леонтьев, я старший разработчик в команде ядра редакторов МойОфис. Мы создаём офисные приложения, которыми ежедневно пользуются более 12 500 организаций, и совместное редактирование — одна из ключевых возможностей наших продуктов.

И знаете, что самое обидное в этой теме? За 35 лет исследований были опубликованы сотни научных работ. Google Docs работает с 2006 года. У Figma, Notion и Linear свои реализации. Казалось бы, задача давно решена, но стоит копнуть глубже, и становится понятно: универсального решения нет.

В Google Drive и Dropbox до сих пор всплывают баги с одновременным перемещением папок. В Notion при параллельном редактировании одного и того же абзаца можно потерять часть изменений. Даже Yjs — самая популярная CRDT-библиотека — не хранит полную историю документа в привычном для нас виде.

В этой статье разберём теорию, узнаем, какие проблемы решают Operational Transformation (OT) и Conflict-free Replicated Data Types (CRDT), на каких математических идеях они основаны, чем отличаются архитектурно и какие компромиссы неизбежно возникают в каждом подходе.

Интересно узнать, почему даже Google не смог сделать идеальное решение? Детали под катом.

Читать далее

Burnout изнутри: тело сдаётся первым

Level of difficultyMedium
Reading time19 min
Reach and readers14K

Burnout с точки зрения физиологии: HPA-ось, структурные изменения мозга, когнитивные дефициты. Почему отпуск не работает, чем выгорание отличается от усталости, и что говорят 35 исследований. Личный кейс + IT-специфика.

Читать далее

Почему ваш бектест врёт на 50%, и при чём тут выбор между Python и C++

Level of difficultyMedium
Reading time5 min
Reach and readers9.2K

Sharpe 2.1 в pandas-бектесте, через три месяца реальной торговли упал до 0.3

Pandas-бектесты систематически завышают доходность на 30-70%. Одна строчка с shift(-1) и вы уже используете завтрашние данные для сегодняшних решений. Плюс survivor bias, плюс нереалистичные fills.

В статье разбираю источники look-ahead bias, сравниваю vectorized и event-driven подходы на данных MOEX (SBER, GAZP, LKOH за 2020-2024), мои замеры latency для Tinkoff API, и рассуждения о том, когда Python уже не вывозит и пора думать про C++

Читать далее

Почему большинство ритейл-алготрейдеров теряет деньги. Я полез разбираться

Level of difficultyMedium
Reading time6 min
Reach and readers12K

Разбираю академические исследования о результатах дейтрейдеров, считаю реальные издержки на MOEX и объясняю, почему красивый бэктест – это ещё не стратегия. Спойлер: математика против вас, но это не приговор.

Читать далее

Information

Rating
2,080-th
Location
Россия
Works in
Registered
Activity

Specialization

Десктоп разработчик, Архитектор программного обеспечения
Старший
C++
Git