TGViewer
2pegramming 2pegramming @pepegramming · 4.5K subscribers
Post #661 2.78K
Пятничное чтиво

Ссылки уходят в ежегодный летний отпуск на месяц с 1го июля. Увидимся в начале августа. Спасибо что читаете и пишете комментарии ❤️

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

—————————————

How Spotify Recommends Your Next Favorite Song

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

Начинается текст с объяснения collaborative filtering. Идея в том, чтобы создать матрицу с коэффициентами, основанных на том, как пользователь реагирует на треки (пропуски, повторения и так далее). После автор рассказывает о том, что к поведению пользователя добавляется «культурный» пласт. Тут парсятся блоги, тексты песен, журналистика и строятся векторы для маппинга песен на жанры или «эмоции». А для песен, загруженных несколько минут назад, файл прогоняется через «deep acoustic feature extraction pipeline». Далее описывается, как отдельные алгоритмы работают вместе, где тут используется кафка и что лежит в кассандре.

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

#how_it_works

—————————————

Жизненный цикл API

«Жизненный цикл» чаще используют для обсуждения SDLC (жизненный цикл разработки), хотя жизненный цикл относится и к коду, сервисам, схемам асинхронных событий и так далее. Статья выше о том, что происходит с API от планирования до выведения из эксплуатации.

Текст начинается с описания основных этапов ЖЦ: планирование, проектирование, реализация, тестирование, развертывание, сопровождение и вывод из эксплуатации. Каждый этап подробно описывается. Так в планировании, стоит задуматься о solution requirements и ответить на вопросы о том, кто пользователи, какие сроки и так далее. В этапе проектирования описываем схемы, в реализаци — пишем кодпро. В тестировании автор упоминает о видах тестов (интеграционное, контрактное, сквозное и т.д.). Отдельно порадовало упоминание «квадрантов agile-тестирования». В конце описываются идеи вокруг управления API и «фантазии» о будущем API.

#api

—————————————

How I’d Design a Global Payment System

В канале редко упоминаются статьи в духе «я спроектировал аналог Х», так как 99% таких текстов о том, как проходить system design interview. Но сегодня решил сделать исключение, так как автор решил заморочиться и выйти за пределы интервью.

Текст начинается не с постановки проблемы, а с терминологии. Даются определения payment gateway и payment processor (первое о передачи данных между устройством и банком, второе — о проведении платежа). Далее автор описывает то, что будет проектирование: проведение платежей, регулярные платежи, рефанды и разрешение споров. Плюсом задаются характеристики (миллионы запросов, 4 «девятки», масштабируемость и так далее). Далее описывается три слоя из которых будет система: фронтенд, бек (конечно же на сервисах с кафкой) и как хранить данные данные. Понравилось, что показывается схема данных для каждого из сервисов. Ближе к концу описывается flow транзакций в 8 шагов, включая антифрод. А в конце описываются quality тактики, которые автор выбрал вокруг reliability, scalability и security.

К границам сервисов и названию топиков кафки есть вопросы, но это дискуссионная тема статьи.

#system_design
  • ❤ 21
  • 🔥 9
  • 👍 5
More from @pepegramming
  1. Sep 25, 2026Пятничное чтиво Буду рад предложениям, вопросам и идеям связанным с каналом или архитектур…
  2. Sep 18, 2026Пятничное чтиво Буду рад предложениям, вопросам и идеям связанным с каналом или архитектур…
  3. Sep 11, 2026Пятничное чтиво Буду рад предложениям, вопросам и идеям связанным с каналом или архитектур…
  4. Sep 4, 2026Пятничное чтиво Буду рад предложениям, вопросам и идеям связанным с каналом или архитектур…
  5. Aug 28, 2026Пятничное чтиво Буду рад предложениям, вопросам и идеям связанным с каналом или архитектур…
  6. Aug 21, 2026Третий поток «Коммуникации систем», старт 30 сентября В течение месяца будем искать формал…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →