Пятничное чтиво



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



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



Lessons I learned converting all my database IDs to UUIDs



В канале уже упоминались статьи связанные с использованием UUID как primary key в базе данных. В статье, автор описывает 5 ошибок, которые совершил мигрируясь на новые pk. Вот некоторые из описанных:



1. Эстимейт времени необходимый для выполнения миграции в базе данных;

2. special cases и случаи о которых никто не знал и не ожидал;

3. Не учтенные референсы, которые сломались;



Так же, понравилось, что в статье описана мотивация такого перехода (спойлер: можно было сделать без миграции на uuid).



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



Good Logging



Эссе на тему использования логгера в проектах. В самом тексте примеров нет, но описываются идеи и подходы, которые понравились. Вот некоторые из них:



- Логирование начала, конца и transitions для задачи (или куска кода), когда задача мелкая - стоит логировать только конец. Я бы еще добавил оборачивать логи в уникальный тег, для агрегации.

- Grep-able сообщения: писать логи так, чтобы их было легко найти поиском. В тексте можно найти дополнение о том, что если функция вызывается в 2+ местах - стоит добавлять место вызова для локализации проблемы.



От себя еще добавлю, что стараюсь оборачивать логи в теги (для реквестов, консьюмеров, воркеров и так далее). И что вместо логирования пару раз выручало складывать ответы от апи вызовов связанных с деньгами в базу данных.



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



Разбираемся с управлением памятью в современных языках программирования



Серия переведенных статей (на текущий момент 3 из 😍 об управлению памятью в языках (JVM, V8, go, rust, python, c++, c#). По ссылке будет введение, в котором найдете объяснение что такое stack и heap, как работают. Также затрагивается garbage collector. Если хотите разобраться как работают языки программирования на низком уровне - мастхев. Если русский перевод ждать лень - читайте оригинал. Для тех, кто хочет разобраться как в руби работает GC и управление памятью - читайте микроскоп.



Оригинальная серия



——— одной строкой ———



- Open Source Status Update за август от Петра (solnic);

- Open Source Status Update за август от Тима (timriley);