#books
Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон. (2021г.)
Данная книга является в некотором роде библией про микросервисы. Если хотите погрузиться в тему, почти наверняка вам посоветуют именно её.
Микросервисы рассматриваются с самых разных сторон. Оглавление такое:
1. Побег из монолитного ада: как жить с монолитом, почему это удобно, pros and cons микросервисов и процессы вокруг. В общем база.
2. Стратегии декомпозиции: как разбить вашу систему на микросервисы в разных плоскостях. Что важно, это не про вынос микросервиса, а про проектирование с нуля.
3. Межпроцессное взаимодействие в микросервисной архитектуры: REST, gRPC, синхронные/асинхронные вызовы.
4. Управление транзакциями с помощью повествований.
5. Проектирование бизнес-логики в микросервисной архитектуре.
6. Разработка бизнес-логики с порождением событий (event driven like системы).
7. Реализация запросов в микросервисной архитектуре.
Про API, CQRS.
8. Шаблоны внешних API.
Про проблемы поддержания внешнего API и api-gateway.
9. Тестирование микросервисов 1.
Общие понятия. Модульные тесты.
10. Тестирование микросервисов 2.
Интеграционные, компонентные и «сквозные» тесты.
11. Разработка сервисов, готовых к промышленному использованию.
Безопасность, конфигурируемость, observability.
12. Развёртывание микросервисов.
Docker, kubernetes, serverless (AWS Lambda).
13. Процесс перехода на микросервисы.
Про то, как взять ваш монолит и распилить его на куски.
Каждая глава сдобрена практическими примерами. В рамках книги сквозной историей разбирается развитие абстрактного ecom приложения FTGO. Можно считать дефолтной доставкой чего-либо. И в каждой главе показывается применение описанных паттернов.
Есть несколько тем, которые мне подарила эта книга. Под «подарила» я понимаю раскрыть базовое понимание, хотя раньше я этого базового понимания насобирать не смог (хотя и не то чтобы пытался, но тут я тоже не пытался, а получилось):
- GraphQL. Выглядит очень прикольно. Прям ощущаю, насколько полезно это может быть в некоторых случаях. Может быть нам пригодилось бы.
- JWT, OAuth.
- Docker, kubernetes. Оказывается, в Яндексе я несколько лет пользовался внутренним аналогом последнего.
- serverless. Честно говоря, я не до конца осознал, но теперь я точно перестану скипать статьи про подобное и дам себе шанс разобраться глубже. Выглядит интересно.
Несколько минусов:
- текст местами без причины сложный.
Бывают предложения, которые можно упростить без потери смысла. Возможно это просто стиль письма у автора. Но материал и так сложный, а когда про него ещё и сложно пишут, становится тяжелее в квадрате. Не надо так.
- [относится к русскому изданию] книга чрезмерно локализована.
Endpoint назван «конечной точкой», а mock в теме тестирования «макетом». Сразу видно руку технического переводчика. REST, gRPC и CQRS не переведены, а вот эти термины да. Хотя имхо стоило бы их оставить как есть. Это мешает пониманию (мне, человеку с опытом, приходится прикладывать усилия для понимания простых предложений с этими терминами).
В итоге книга нормикс. Даёт неплохую базу и даже больше. Но приготовьтесь напрягаться и осознавать. Вдумываться. Это займёт много сил и мыслетоплива. Возможно местами чрезмерно.
7/10.
Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон. (2021г.)
Данная книга является в некотором роде библией про микросервисы. Если хотите погрузиться в тему, почти наверняка вам посоветуют именно её.
Микросервисы рассматриваются с самых разных сторон. Оглавление такое:
1. Побег из монолитного ада: как жить с монолитом, почему это удобно, pros and cons микросервисов и процессы вокруг. В общем база.
2. Стратегии декомпозиции: как разбить вашу систему на микросервисы в разных плоскостях. Что важно, это не про вынос микросервиса, а про проектирование с нуля.
3. Межпроцессное взаимодействие в микросервисной архитектуры: REST, gRPC, синхронные/асинхронные вызовы.
4. Управление транзакциями с помощью повествований.
5. Проектирование бизнес-логики в микросервисной архитектуре.
6. Разработка бизнес-логики с порождением событий (event driven like системы).
7. Реализация запросов в микросервисной архитектуре.
Про API, CQRS.
8. Шаблоны внешних API.
Про проблемы поддержания внешнего API и api-gateway.
9. Тестирование микросервисов 1.
Общие понятия. Модульные тесты.
10. Тестирование микросервисов 2.
Интеграционные, компонентные и «сквозные» тесты.
11. Разработка сервисов, готовых к промышленному использованию.
Безопасность, конфигурируемость, observability.
12. Развёртывание микросервисов.
Docker, kubernetes, serverless (AWS Lambda).
13. Процесс перехода на микросервисы.
Про то, как взять ваш монолит и распилить его на куски.
Каждая глава сдобрена практическими примерами. В рамках книги сквозной историей разбирается развитие абстрактного ecom приложения FTGO. Можно считать дефолтной доставкой чего-либо. И в каждой главе показывается применение описанных паттернов.
Есть несколько тем, которые мне подарила эта книга. Под «подарила» я понимаю раскрыть базовое понимание, хотя раньше я этого базового понимания насобирать не смог (хотя и не то чтобы пытался, но тут я тоже не пытался, а получилось):
- GraphQL. Выглядит очень прикольно. Прям ощущаю, насколько полезно это может быть в некоторых случаях. Может быть нам пригодилось бы.
- JWT, OAuth.
- Docker, kubernetes. Оказывается, в Яндексе я несколько лет пользовался внутренним аналогом последнего.
- serverless. Честно говоря, я не до конца осознал, но теперь я точно перестану скипать статьи про подобное и дам себе шанс разобраться глубже. Выглядит интересно.
Несколько минусов:
- текст местами без причины сложный.
Бывают предложения, которые можно упростить без потери смысла. Возможно это просто стиль письма у автора. Но материал и так сложный, а когда про него ещё и сложно пишут, становится тяжелее в квадрате. Не надо так.
- [относится к русскому изданию] книга чрезмерно локализована.
Endpoint назван «конечной точкой», а mock в теме тестирования «макетом». Сразу видно руку технического переводчика. REST, gRPC и CQRS не переведены, а вот эти термины да. Хотя имхо стоило бы их оставить как есть. Это мешает пониманию (мне, человеку с опытом, приходится прикладывать усилия для понимания простых предложений с этими терминами).
В итоге книга нормикс. Даёт неплохую базу и даже больше. Но приготовьтесь напрягаться и осознавать. Вдумываться. Это займёт много сил и мыслетоплива. Возможно местами чрезмерно.
7/10.
1✍25👍19❤13🔥5😁1
#highload
Принёс отдельные доклады с Яндекс Tech Tour (в прошлом году это был foodtech tour, на котором я выступал в Минске).
1️⃣ Как мы переосмыслили поиск лекарств в Яндекс Еде. Сергей Синягин.
Когда вы открываете Еду, ищутся все доступные вам заведения. И бывает, что вам доступны несколько заведений одного бренда. Тогда заведения дедуплицируются и остаётся какое-то одно. Проблема в том, что в этом заведении может не быть нужного вам товара (например конкретных таблеток в конкретной аптеке), а в отброшенным они были!
Серёжа рассказывает, как меняли архитектуру, чтобы уметь чаще удовлетворять пользовательские запросы.
2️⃣ Как мы пересобрали инфраструктуру Маркета и не сломали всё вокруг. Егор Быховцев.
Егор рассказывает про изменение концепции оркестрации в бэкенде Маркета.
Буквально недавно меня убедили, что такое крута. Я верю. После доклада Егора убедился ещё больше.
Внутри и снаружи решение называется apphost. Глядишь, выкатят в опенсорс скоро.
3️⃣ LLM Cache в поиске Лавки. Алексей Щекалев.
Лёша рассказывает тлдр про развитие поиска в Лавке.
Раз у нас ассортимент небольшой, то можно сделать кеш ответов на самые популярные запросы. Вот ребята это и сделали.
Имхо решение бомба. Наикрасивейше. Это не только про качество, но и про тайминги.
Ещё круто, что ребята затащили это в т.ч. в Еду. Круто, когда внутри экосистемы один сервис чуть ли не бесплатно помогает другому крутыми технологиями.
4️⃣ Event-Driven архитектура в Цикле Заказа Яндекс Лавки. Миша Горбушин.
Миша рассказывает про ЦЗ Лавки, зачем его делали event-driven, собсна как это делали. И про разные проблемы по пути.
5️⃣ Как разрабатывают и улучшают алгоритмы логистики в Яндекс Еде. Дима Ефимов.
Дима рассказывает про процесс улучшения алгоритмов доставки в Еде. В целом из чего доставка состоит. На какие метрики смотрят. Про разные уникальности доставки и местные АБ.
Принёс отдельные доклады с Яндекс Tech Tour (в прошлом году это был foodtech tour, на котором я выступал в Минске).
Когда вы открываете Еду, ищутся все доступные вам заведения. И бывает, что вам доступны несколько заведений одного бренда. Тогда заведения дедуплицируются и остаётся какое-то одно. Проблема в том, что в этом заведении может не быть нужного вам товара (например конкретных таблеток в конкретной аптеке), а в отброшенным они были!
Серёжа рассказывает, как меняли архитектуру, чтобы уметь чаще удовлетворять пользовательские запросы.
Егор рассказывает про изменение концепции оркестрации в бэкенде Маркета.
Буквально недавно меня убедили, что такое крута. Я верю. После доклада Егора убедился ещё больше.
Внутри и снаружи решение называется apphost. Глядишь, выкатят в опенсорс скоро.
Лёша рассказывает тлдр про развитие поиска в Лавке.
Раз у нас ассортимент небольшой, то можно сделать кеш ответов на самые популярные запросы. Вот ребята это и сделали.
Имхо решение бомба. Наикрасивейше. Это не только про качество, но и про тайминги.
Ещё круто, что ребята затащили это в т.ч. в Еду. Круто, когда внутри экосистемы один сервис чуть ли не бесплатно помогает другому крутыми технологиями.
Миша рассказывает про ЦЗ Лавки, зачем его делали event-driven, собсна как это делали. И про разные проблемы по пути.
Дима рассказывает про процесс улучшения алгоритмов доставки в Еде. В целом из чего доставка состоит. На какие метрики смотрят. Про разные уникальности доставки и местные АБ.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮7🔥6🗿2❤1👍1
#list
Т.к. впереди намечается солидное количество выходных, можно покайфовать под что-то интересное.
Контент будет нетехническим для разнообразия. Но в тему айтишечки и вот этого всего. Предлагаю вам ощутить напряжённейшую жизнь стартапов и их естественного развития. Иногда успешного. Иногда не очень.
Всё ниже так или иначе связано с крепкой политикой и подковёрными играми. Мне такое нравится (наблюдать, не участвовать).
👉 Сериал На взводе: Битва за Uber.
Отличнейший сериал про некоторые важные этапы развития Uber, когда компания ещё была молодой и токсичной под руководством Travis Kalanik. Так сказать, полутёмные времена компании (полу, потому что было тяжко, но они непомерно росли, так что может цель и оправдывает средства?).
Состоит из одного сезона в 7 серий примерно по часу.
Можно заодно кайфануть от непростого английского. Тут много эмоций, быстрой речи и невнятных разговоров на специфические темы. Кайф.
Есть ещё книга, по которой сериал и был снят, если вы предпочитаете подобный формат.
👉 Книга Миллиард за мечту, или Как дерзость и непомерные амбиции Адама Неймана построить новое общество обернулись крахом империи WeWork. Ривз Видеман.
Adam Neumann придумал новый формат коворкингов, который превратился в честный стартап-единорог. Правда потом всё зафакапилось. Жаль братка.
👉 Книга Дурная кровь. Тайны и ложь одного стартапа Кремниевой долины. Джон Каррейру.
А эта книга про компанию Theranos и её основательницу Elizabeth Holmes, которая хотела изменить мир, дав людям возможность делать быстрые и качественные анализы в любой момент.
Амбиция крутая, а методы достижения цели не очень. Внутри солидное количество надувалова со стороны топ-менеджеров и непомерно токсичное руководство.
Штош!
В отличие от предыдущих двух, книга не просто пересказывает происходящие события, а является компиляцией расследования чувака, который своими статьями и копаниями приложил руку (или перо) к проблемам компании.
Опять же, есть аналог, если не хочется читать фул книгу: Изобретатель: Жажда крови в Силиконовой долине, -- документалка про всё то же.
Если вы знаете что-то похожее, поделитесь!
А с меня останутся только итоги года : )
Т.к. впереди намечается солидное количество выходных, можно покайфовать под что-то интересное.
Контент будет нетехническим для разнообразия. Но в тему айтишечки и вот этого всего. Предлагаю вам ощутить напряжённейшую жизнь стартапов и их естественного развития. Иногда успешного. Иногда не очень.
Всё ниже так или иначе связано с крепкой политикой и подковёрными играми. Мне такое нравится (наблюдать, не участвовать).
👉 Сериал На взводе: Битва за Uber.
Отличнейший сериал про некоторые важные этапы развития Uber, когда компания ещё была молодой и токсичной под руководством Travis Kalanik. Так сказать, полутёмные времена компании (полу, потому что было тяжко, но они непомерно росли, так что может цель и оправдывает средства?).
Состоит из одного сезона в 7 серий примерно по часу.
Можно заодно кайфануть от непростого английского. Тут много эмоций, быстрой речи и невнятных разговоров на специфические темы. Кайф.
Есть ещё книга, по которой сериал и был снят, если вы предпочитаете подобный формат.
👉 Книга Миллиард за мечту, или Как дерзость и непомерные амбиции Адама Неймана построить новое общество обернулись крахом империи WeWork. Ривз Видеман.
Adam Neumann придумал новый формат коворкингов, который превратился в честный стартап-единорог. Правда потом всё зафакапилось. Жаль братка.
👉 Книга Дурная кровь. Тайны и ложь одного стартапа Кремниевой долины. Джон Каррейру.
А эта книга про компанию Theranos и её основательницу Elizabeth Holmes, которая хотела изменить мир, дав людям возможность делать быстрые и качественные анализы в любой момент.
Амбиция крутая, а методы достижения цели не очень. Внутри солидное количество надувалова со стороны топ-менеджеров и непомерно токсичное руководство.
Штош!
В отличие от предыдущих двух, книга не просто пересказывает происходящие события, а является компиляцией расследования чувака, который своими статьями и копаниями приложил руку (или перо) к проблемам компании.
Опять же, есть аналог, если не хочется читать фул книгу: Изобретатель: Жажда крови в Силиконовой долине, -- документалка про всё то же.
Если вы знаете что-то похожее, поделитесь!
А с меня останутся только итоги года : )
👍14❤6👎5🔥2🐳1 1
# 2025
2024, 2023, 2022.
Посты:
- про хорошего разработчика;
- CRDT premier;
- первоапрельский пост про размеры;
- мои фавориты из шортлиста Технотекст 7;
- про балансировку трафика;
- микрогайд по type traits;
- пишем make_index_sequence;
- про стандартную библиотеку;
- speculative execution;
- проблемы с shared database подходом;
- про читаемость кода 2;
- опять ub моими руками;
- про найм;
- про бинарный поиск;
- про флаги оптимизаций (O);
- новости от РГ21++;
- контент на праздники;
- пачки ссылок: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25;
Люди и контент:
- Андрей Гейн и string matching premier;
- Лёша Быков и metastable failures;
- Саша Федькин и мысли про микросервисы;
- Паша Сухов и военный синус;
Сборники с конференций:
- Saint TeamLead Conf 2024;
- Saint Highload++ 2024;
- С++ Russia 2024;
- Яндекс Day&Night;
- C++ Zero Cost Conf 2025;
- Highload++ 2024 first, second;
- Яндекс Tech Tour 2025;
Книги:
- Искусство планирования мощностей. Джон Оллспоу;
- API. Сергей Константинов;
- Мама, я тимлид! Марина Перескокова;
- Вредные советы для C++ программистов. Андрей Карпов;
- System Design. Машинное обучение. Подготовка к сложному интервью. Алекс Сюй, Али Аминиан;
- Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон;
Светился:
- в гостях у ребят из Выше Вилки;
- был с лайтнингом на C++ Russia 2025, рассказывал как мы в Лавке упрощали разработку. Записи нет, материалов не будет;
- C++ Zero Cost Conf 2025: i, j, k и шаблоны: вспоминаем линейную алгебру. Записи нет.
Самый зашареный пост: Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон (>110 шеров).
Вас стало в 2 раза больше (на 2400 примерно).
Звали выступать на конфу, но я не ходил.
Суммарно 2 месяца из 12 провёл вне страны проживания.
7 раз приходили за рекламой.
Не понял, лишился четверти мудрости (удалил восьмёрку) или стал мудрее (на год).
Уже 10 месяцев чист от никотина. Планирую так ещё лет 50-70.
С любимой женщиной взяли собаку.
Любимая женщина стала любимой женой.
Уволился из Яндекса. Устроился в Bloomberg.
Семьёй из троих сменили Минск на Лондон.
Не умер, что особенно приятно.
Буду безмерно счастлив, если расскажете про канал друзьям/коллегам/в тематических чатах.
2024, 2023, 2022.
Посты:
- про хорошего разработчика;
- CRDT premier;
- первоапрельский пост про размеры;
- мои фавориты из шортлиста Технотекст 7;
- про балансировку трафика;
- микрогайд по type traits;
- пишем make_index_sequence;
- про стандартную библиотеку;
- speculative execution;
- проблемы с shared database подходом;
- про читаемость кода 2;
- опять ub моими руками;
- про найм;
- про бинарный поиск;
- про флаги оптимизаций (O);
- новости от РГ21++;
- контент на праздники;
- пачки ссылок: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25;
Люди и контент:
- Андрей Гейн и string matching premier;
- Лёша Быков и metastable failures;
- Саша Федькин и мысли про микросервисы;
- Паша Сухов и военный синус;
Сборники с конференций:
- Saint TeamLead Conf 2024;
- Saint Highload++ 2024;
- С++ Russia 2024;
- Яндекс Day&Night;
- C++ Zero Cost Conf 2025;
- Highload++ 2024 first, second;
- Яндекс Tech Tour 2025;
Книги:
- Искусство планирования мощностей. Джон Оллспоу;
- API. Сергей Константинов;
- Мама, я тимлид! Марина Перескокова;
- Вредные советы для C++ программистов. Андрей Карпов;
- System Design. Машинное обучение. Подготовка к сложному интервью. Алекс Сюй, Али Аминиан;
- Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон;
Светился:
- в гостях у ребят из Выше Вилки;
- был с лайтнингом на C++ Russia 2025, рассказывал как мы в Лавке упрощали разработку. Записи нет, материалов не будет;
- C++ Zero Cost Conf 2025: i, j, k и шаблоны: вспоминаем линейную алгебру. Записи нет.
Самый зашареный пост: Микросервисы. Паттерны разработки и рефакторинга. Крис Ричардсон (>110 шеров).
Вас стало в 2 раза больше (на 2400 примерно).
Звали выступать на конфу, но я не ходил.
Суммарно 2 месяца из 12 провёл вне страны проживания.
7 раз приходили за рекламой.
Не понял, лишился четверти мудрости (удалил восьмёрку) или стал мудрее (на год).
Уже 10 месяцев чист от никотина. Планирую так ещё лет 50-70.
С любимой женщиной взяли собаку.
Любимая женщина стала любимой женой.
Уволился из Яндекса. Устроился в Bloomberg.
Семьёй из троих сменили Минск на Лондон.
Не умер, что особенно приятно.
Буду безмерно счастлив, если расскажете про канал друзьям/коллегам/в тематических чатах.
401❤72🔥44❤🔥15👍9
К сожалению, я был немного неосторожен и невнимателен.
Предыдущий пост улетел раньше нужного, потому что шчедул стоял не на то время. В том числе поэтому он был сырым и без некоторой важной информации.
Что важного хочется подчеркнуть:
- как оно в этом Лондоне я ещё сам хз. Мы тут всего пару дней. Напишу через год.
- same про новое место.
Расписал инфу про год вот тут: https://github.com/dasfex/articles/blob/trunk/2025.md
(фотки большие, поправлю попозже!)
Пожелание на следующий год через пару дней.
Напомню, что есть ещё @memesfromhole, @dzikart и @khdocs.
С Наступающим Вас!
Предыдущий пост улетел раньше нужного, потому что шчедул стоял не на то время. В том числе поэтому он был сырым и без некоторой важной информации.
Что важного хочется подчеркнуть:
- как оно в этом Лондоне я ещё сам хз. Мы тут всего пару дней. Напишу через год.
- same про новое место.
Расписал инфу про год вот тут: https://github.com/dasfex/articles/blob/trunk/2025.md
(фотки большие, поправлю попозже!)
Пожелание на следующий год через пару дней.
Напомню, что есть ещё @memesfromhole, @dzikart и @khdocs.
С Наступающим Вас!
GitHub
articles/2025.md at trunk · dasfex/articles
My articles which I don't want to store on telegra.ph, cause its kinda shitty. - dasfex/articles
👍19❤12🔥7 2
#list
0. [2026]
Начинается очередной год. Здравствуйте.
В конце прошлого года я много думал о направлении в жизни. Туда-сюда и решил, чего хочется.
Хочется делать сложные вещи.
Под сложными я в основном понимаю не только сложные, но и долгие. Когда результат будет получен через год-два. Хочется прочитать мало больших книг, а не много маленьких. Написать мало больших постов. Завести пару привычек и разгрести огромные залежи информации.
Хочется уходить от чувства ложной продуктивности и ложного счастья. Быстрый результат, дающий быстрое удовольствие, хочется исключить. Рилсы тоже в идеале не смотреть.
Такой план на год. Как получится, расскажу в декабре.
Успехов и вам.
1. [talk] Implement the C++ Standard Library: Design, Optimisations, Testing while Implementing Libc++.
Hui Xie рассказывает про точечные оптимизации и связанные с ними проблемы в libc++.
Например, как экономят память ввходить в хату вставлять в
А в конце рассказывается про тестирование стд либы. Как оно всё там непросто у ребят.
2. [article] Logging sucks.
Какой-то чувак сделал сайт про то, как правильно логировать в ваших сервисах, чтобы логи начали быстро и честно приносить пользу.
В конце предлагает консультации за бабосики. Но может вы и сами разберётесь.
3. [article] Simplify hashing in C++.
Автор справедливо замечает, что пользоваться std::hash не очень приятно и что это надо поправить. Немудрыми улучшениями он решает эту проблему.
Опустим момент, что выбрать хороший hash_combine сложно.
4. [article] The Math of Why You Can't Focus at Work.
Статья про мат модель вашего фокуса в задачах, проблемы в этом непростом деле быть продуктивным и потенциальные их решения.
Всё конечно логично, но никогда не вредно.
=============================
Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
0. [2026]
Начинается очередной год. Здравствуйте.
В конце прошлого года я много думал о направлении в жизни. Туда-сюда и решил, чего хочется.
Хочется делать сложные вещи.
Под сложными я в основном понимаю не только сложные, но и долгие. Когда результат будет получен через год-два. Хочется прочитать мало больших книг, а не много маленьких. Написать мало больших постов. Завести пару привычек и разгрести огромные залежи информации.
Хочется уходить от чувства ложной продуктивности и ложного счастья. Быстрый результат, дающий быстрое удовольствие, хочется исключить. Рилсы тоже в идеале не смотреть.
Такой план на год. Как получится, расскажу в декабре.
Успехов и вам.
1. [talk] Implement the C++ Standard Library: Design, Optimisations, Testing while Implementing Libc++.
Hui Xie рассказывает про точечные оптимизации и связанные с ними проблемы в libc++.
Например, как экономят память в
std::expected, почему for_each работает быстрее цикла для std::deque, как правильно std::flat_map и всякое другое. А в конце рассказывается про тестирование стд либы. Как оно всё там непросто у ребят.
2. [article] Logging sucks.
Какой-то чувак сделал сайт про то, как правильно логировать в ваших сервисах, чтобы логи начали быстро и честно приносить пользу.
В конце предлагает консультации за бабосики. Но может вы и сами разберётесь.
3. [article] Simplify hashing in C++.
Автор справедливо замечает, что пользоваться std::hash не очень приятно и что это надо поправить. Немудрыми улучшениями он решает эту проблему.
Опустим момент, что выбрать хороший hash_combine сложно.
4. [article] The Math of Why You Can't Focus at Work.
Статья про мат модель вашего фокуса в задачах, проблемы в этом непростом деле быть продуктивным и потенциальные их решения.
Всё конечно логично, но никогда не вредно.
=============================
Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
1❤26👍13😱1
#cpp
System Level Meetup 2025
🌼 Первым докладом был «Корутинные оптимизации в компиляторах» от глыбы Константина Владимирова и коллеги глыбы Юлия Тарасова.
Доклад про корутины концептуально, их реализацию и разные оптимизации по теме (в частности в LLVM). Сложно блин! И поэтому круто. Правда придётся потом пересмотреть ещё пару раз.
🌼 Далее Сергей Чеботарёв рассказывал «Модули С++20 в существующий проект: лёгкая прогулка или прыжок в бездну?».
Сергей рассказывал про попытку начать использовать модули в реальном проекте: какой подход выбрали и какую кучу проблем насобирали по пути. С решениями конечно.
🌼 «LRU-кеш: от решения с собеседования до production-уровня» Ильи Шишкова.
Кеш у Ильи не базовый бэкендерский. Он хранит какие-то артефакты в шареной между различными процессами памяти.
Имхо крутая история про полезность правильного трейдофа. На самом деле иногда нам достаточно приблизительное решение, что позволяет упрощать/экономить. Надо учиться такое подмечать и вовремя использовать.
Код конечно у ребят глаз не радует. Может я привередливый.
Круто #1: в итоге получается не жоское решение, которое разваливает всё-всё, а чуть медленее на большинстве запросов, зато гораздо быстрее на тяжёлом хвосте. Уменьшать дисперсию тоже очень полезно. Это предсказуемость, которой иногда сильно не хватает.
Круто #2: Илья несколько раз говорит, что к чему-то не дошёл в процессе решения задачи.
Важно уметь вовремя остановиться. Мы можем улучшать что-то бесконечно, но если вы начинаете тратить больше, чем в итоге получаете, скажите себе хватит. Это про взрослое отношение к задачам.
🌼 «Когда действительно нужны алгоритмы: опыт оптимизации kd-tree» Саши Голубева.
Саша рассказывает как устроено само дерево и каким образом оно применяется в Такси для поиска исполнителя заказа.
Потом начинается движуха с оптимизациями, чтобы срезать тайминги и заодно CPU.
Все оптимизации сами по себе довольно простые, но вместе дают солиднейшие результаты. Это нам урок.
🌼 Анастасия Черникова рассказывала «Анатомия чекеров в clang-tidy».
Доклад буквально про то, как он называется.
Анастасия рассказывает про разные способы проверять качество кода. Глубже уходит в статический анализ. Рассказывает про AST, разные классы чекеров и сами чекеры из LLVM инфраструктуры.
А дальше рассказывает, как она дорабатывала один из чекеров и как это вообще делается.
🌼 Заканчивал C++ трек доклад «Строки, строки, строки и initializer_list» Антона Полухина.
Антон рассказывал про разные проблемы со строками, их лайфтаймом,
Мне понравилось.
System Level Meetup 2025
🌼 Первым докладом был «Корутинные оптимизации в компиляторах» от глыбы Константина Владимирова и коллеги глыбы Юлия Тарасова.
Доклад про корутины концептуально, их реализацию и разные оптимизации по теме (в частности в LLVM). Сложно блин! И поэтому круто. Правда придётся потом пересмотреть ещё пару раз.
🌼 Далее Сергей Чеботарёв рассказывал «Модули С++20 в существующий проект: лёгкая прогулка или прыжок в бездну?».
Сергей рассказывал про попытку начать использовать модули в реальном проекте: какой подход выбрали и какую кучу проблем насобирали по пути. С решениями конечно.
🌼 «LRU-кеш: от решения с собеседования до production-уровня» Ильи Шишкова.
Кеш у Ильи не базовый бэкендерский. Он хранит какие-то артефакты в шареной между различными процессами памяти.
Имхо крутая история про полезность правильного трейдофа. На самом деле иногда нам достаточно приблизительное решение, что позволяет упрощать/экономить. Надо учиться такое подмечать и вовремя использовать.
Код конечно у ребят глаз не радует. Может я привередливый.
Круто #1: в итоге получается не жоское решение, которое разваливает всё-всё, а чуть медленее на большинстве запросов, зато гораздо быстрее на тяжёлом хвосте. Уменьшать дисперсию тоже очень полезно. Это предсказуемость, которой иногда сильно не хватает.
Круто #2: Илья несколько раз говорит, что к чему-то не дошёл в процессе решения задачи.
Важно уметь вовремя остановиться. Мы можем улучшать что-то бесконечно, но если вы начинаете тратить больше, чем в итоге получаете, скажите себе хватит. Это про взрослое отношение к задачам.
🌼 «Когда действительно нужны алгоритмы: опыт оптимизации kd-tree» Саши Голубева.
Саша рассказывает как устроено само дерево и каким образом оно применяется в Такси для поиска исполнителя заказа.
Потом начинается движуха с оптимизациями, чтобы срезать тайминги и заодно CPU.
Все оптимизации сами по себе довольно простые, но вместе дают солиднейшие результаты. Это нам урок.
С Сашей мы год вместе занимались С++ community в Яндексе. Вот такой мужик👍
Ещё на C++ Russia 2024 я Сашу вином облил. Не специально.
🌼 Анастасия Черникова рассказывала «Анатомия чекеров в clang-tidy».
Доклад буквально про то, как он называется.
Анастасия рассказывает про разные способы проверять качество кода. Глубже уходит в статический анализ. Рассказывает про AST, разные классы чекеров и сами чекеры из LLVM инфраструктуры.
А дальше рассказывает, как она дорабатывала один из чекеров и как это вообще делается.
🌼 Заканчивал C++ трек доклад «Строки, строки, строки и initializer_list» Антона Полухина.
Антон рассказывал про разные проблемы со строками, их лайфтаймом,
std::string_view, кастомную поделку для литералов (чтобы быть уверенными в их времени жизни), а ещё, конечно же, про то, как избегать лишних аллокаций там, где мы можем случайно их словить.Мне понравилось.
🔥29👍14❤3👏2
#list
0. [talk] Could C++ Developers Handle an ABI Break Today?
Доклад про потенциальные последствия слома ABI. Не про мнение докладчика или нужно ли нам это делать в С++, а просто что будет, если уже случилось. Показывает как теоретически, так и на примерах уже произошедших сломах ABI.
Может и правда не надо его ломать. Непонятно!
Но, думаю, никто не был бы против более быстрых unordered контейнеров из-за перехода на открытую адресацию. Или возможности работать с
1. [article] How to contribute to Abseil with a visible performance gain.
Danila Kutenin рассказывал, как он оптимизировал флаги в abseil.
Красиво блин.
2. [article] Как построить прогноз спроса и не потерять голову.
Пару лет назад ребята из Самоката написали статью про прогнозирование закупок товаров на склады. В Лавке, очевидно, есть точно такая же задача с, на мой взгляд, похожей спецификой. Как оно там работало, не знаю, но думаю, что в статье общие проблемы и решения хорошо описывают ситуацию.
3. [article] Why speed matters.
Паша @cpp_durka Сухóв подкинул важную базу.
4. [fact] MFA fatigue.
Multi factor authentication fatigue атака -- это когда злодеи-анонимусы узнали ваши логин и пароль и пытаются взять вас на лоха, задудосив попытками войти в аккаунт. Вам придёт много-много уведомлений (ведь у вас как минимум 2fa), будете отвлекаться и тыкнете «Разрешить», чтобы не мешало. Ну или случайно кликните и дадите доступ.
Вот, например, Uber так на самом деле взламывали.
Это конечно надо глубоко понимать людей, чтобы впервые такое придумать. Восхищён.
=============================
Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
0. [talk] Could C++ Developers Handle an ABI Break Today?
Доклад про потенциальные последствия слома ABI. Не про мнение докладчика или нужно ли нам это делать в С++, а просто что будет, если уже случилось. Показывает как теоретически, так и на примерах уже произошедших сломах ABI.
Может и правда не надо его ломать. Непонятно!
Но, думаю, никто не был бы против более быстрых unordered контейнеров из-за перехода на открытую адресацию. Или возможности работать с
int128_t.1. [article] How to contribute to Abseil with a visible performance gain.
Danila Kutenin рассказывал, как он оптимизировал флаги в abseil.
Красиво блин.
2. [article] Как построить прогноз спроса и не потерять голову.
Пару лет назад ребята из Самоката написали статью про прогнозирование закупок товаров на склады. В Лавке, очевидно, есть точно такая же задача с, на мой взгляд, похожей спецификой. Как оно там работало, не знаю, но думаю, что в статье общие проблемы и решения хорошо описывают ситуацию.
3. [article] Why speed matters.
Паша @cpp_durka Сухóв подкинул важную базу.
4. [fact] MFA fatigue.
Multi factor authentication fatigue атака -- это когда злодеи-анонимусы узнали ваши логин и пароль и пытаются взять вас на лоха, задудосив попытками войти в аккаунт. Вам придёт много-много уведомлений (ведь у вас как минимум 2fa), будете отвлекаться и тыкнете «Разрешить», чтобы не мешало. Ну или случайно кликните и дадите доступ.
Вот, например, Uber так на самом деле взламывали.
Это конечно надо глубоко понимать людей, чтобы впервые такое придумать. Восхищён.
=============================
Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
❤7👍3🤓2
this->notes. pinned «# 2025 2024, 2023, 2022. Посты: - про хорошего разработчика; - CRDT premier; - первоапрельский пост про размеры; - мои фавориты из шортлиста Технотекст 7; - про балансировку трафика; - микрогайд по type traits; - пишем make_index_sequence; - про стандартную…»
#list
0. [talk] Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques.
Fedor G Pikus рассказывает про скорость работы процессоров, их устройство и оптимизации, в которые они умеют. Довольно сложно и непонятно.
1. [talk] Руководство по поимке и обезвреживанию проблемных запросов.
TLDR про то, как же искать проблемы с перфом в ваших запросах в pg.
Вообще конечно этот огромный неизведанный мир расширений pg это что-то интересное.
2. [article] Binary Search Vs. Prolly Search.
Автор рассказывают про модификацию бинарного поиска для случая, когда данные у нас примерно равномерно распределены.
3. [article] How to Hash Objects Without Repetition: std::hash can be DRY.
Вот неудобно людям стандартной библиотекой пользоваться. Языком там. Они такие статьи пишут..
4. [article] Когда-то писал про интересную комбинаторную задачу.
=============================
Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
0. [talk] Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques.
Fedor G Pikus рассказывает про скорость работы процессоров, их устройство и оптимизации, в которые они умеют. Довольно сложно и непонятно.
1. [talk] Руководство по поимке и обезвреживанию проблемных запросов.
TLDR про то, как же искать проблемы с перфом в ваших запросах в pg.
Вообще конечно этот огромный неизведанный мир расширений pg это что-то интересное.
2. [article] Binary Search Vs. Prolly Search.
Автор рассказывают про модификацию бинарного поиска для случая, когда данные у нас примерно равномерно распределены.
3. [article] How to Hash Objects Without Repetition: std::hash can be DRY.
Вот неудобно людям стандартной библиотекой пользоваться. Языком там. Они такие статьи пишут..
4. [article] Когда-то писал про интересную комбинаторную задачу.
=============================
Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
👍12❤2