this->notes.
4.55K subscribers
29 photos
1 file
340 links
О разработке, архитектуре и C++.

Tags: #common, #cpp, #highload и другие можно найти поиском.
Задачки: #poll.
Мои публикации: #pub.
Автор и предложка: @vanyakhodor.
GitHub: dasfex.
Download Telegram
# 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.

Семьёй из троих сменили Минск на Лондон.

Не умер, что особенно приятно.

Буду безмерно счастлив, если расскажете про канал друзьям/коллегам/в тематических чатах.
40172🔥44❤‍🔥15👍9
К сожалению, я был немного неосторожен и невнимателен.

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

Что важного хочется подчеркнуть:
- как оно в этом Лондоне я ещё сам хз. Мы тут всего пару дней. Напишу через год.
- same про новое место.

Расписал инфу про год вот тут: https://github.com/dasfex/articles/blob/trunk/2025.md
(фотки большие, поправлю попозже!)

Пожелание на следующий год через пару дней.

Напомню, что есть ещё @memesfromhole, @dzikart и @khdocs.

С Наступающим Вас!
👍1912🔥72
#list

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.

Статья про мат модель вашего фокуса в задачах, проблемы в этом непростом деле быть продуктивным и потенциальные их решения.
Всё конечно логично, но никогда не вредно.

=============================

Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
126👍13😱1
#cpp

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👍143👏2
#list

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] Когда-то писал про интересную комбинаторную задачу.

=============================

Буду рад вашим предложениям, вопросам и вбросам в личных сообщениях, сообщениях в канал или в форме.
👍122