Telegram Web Link
Пятничное развлекательное

Абсолютно замечательный сайт, где можно посмотреть внешний вид разных известных приложений десятилетие назад.
Можно, например, глянуть:
Youtube из 2012
Skype из 2011
Airbnb из 2010

#fun
1👍7🔥73
Когда cron уже не хватает

Иногда классического cron не хватает, и есть замечательная альтернатива – fcron.
Для моей задачи нужны были хитрые условия запуска с определенной частотой и определенным количеством раз, которые fcron позволяет конфигурировать.

Но у него в целом более разухабистый функционал, чем у классического cron: с зависимостью задач друг от друга, выполнением задач по условиям, с более гибкой настройкой расписания.

#tools
1👍9🔥43
Идеальный скрипт на bash 2

Bash всё также ужасен и также распространён. Сняли продолжение хорошо зашедшего видео.

Когда в bash использовать [], а когда [[]]?
Как лучше писать в if, привычные < и > или непривычные -lt, -gt?
Кавычки вокруг переменных в bash — можно ли опускать? Ответы в 11-минутном видео. Текстовая расшифровка видео тут.

#youtube #skills #devfm
1🔥14👍42
Прекрасная статья ARCHITECTS, ANTI-PATTERNS, AND ORGANIZATIONAL FUCKERY, написанная по мотивам треда в твиттере. Название говорит само за себя.

Очень рекомендую к прочтению.

Свою позицию я выражу двумя цитатами из этой же статьи: «It treats architecture is a job to be done, not a role to be occupied.» и «Don’t become that sad architect. Be an engineer. Own your own code in production. This is the way

#systemdesign
1😁73🔥1
Проводим ретро с помощью parabol

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

А теперь хотим поделиться просто замечательным инструментом для проведения ретро – parabol. Последние несколько ретро в разных командах проводили именно там.

Супер понятный инструмент, ведущий вас по процессу:
– накидывание поинтов (возможно, анонимное)
– таймер как помощник отслеживания времени
– группировка поинтов по темам
– голосование за актуальные темы
– накидывание задач по каждой теме с назначением исполнителя
– выгрузка результатов в различных форматах

Из плюсов: можно выбрать разные шаблоны, можно проводить и организовывать не только ретро, есть встроенные гайдлайны, как проводить ретро – очень удобно, если никогда этого не делали.

Разумеется, есть платная версия, но для проведения ретро командой хватит бесплатной.

#tools
663👍2🔥1
Google design docs

Перед тем как разрабатывать что-то серьёзное – расскажи, как ты это будешь делать. Для этого существуют design docs.

В статье рассказывается о том как, устроены design docs в гугле.

Это такой достаточно верхнеуровневый документ, по которому можно быстро понять, какую проблему мы решаем, зачем её решаем, как её решаем, и почему не решаем иначе. Также документ позволяет на ранних этапах понять основные проблемы, с которыми столкнёмся, а ещё шарить знания в рамках компании.

Автор говорит, что в целом нет каких-то жёстких правил по составлению подобных документов, но указывает набор важных аспектов, которые нужно покрыть:
– Контекст документа
– Цели
– Собственно, дизайн, который должен включать некую системную диаграмму, апишки, хранилища данных, а также ограничения, в которых проектируется система
– Альтернативные решения – супер важный раздел, который расскажет о других рассмотренных решениях и причинах, почему эти решения отбросили

Важный момент: не нужно фанатично на всё клепать доки. Об этом также не стоит забывать. Если задача прямая, как железная дорога, то не стоит мудрить.

#systemdesign

Оффтоп: включили на канале платные реакции, чтобы вы могли нас поддержать. Уверены, это именно то, чего вы все ждали! :D
41👍15🔥8🌭42
TimescaleDB для хранения временных рядов

В статье ребята рассказывают, как и почему они выбрали TimescaleDB для хранения time series данных. По сути, это такая надстройка над Postgres.

TimescaleDB они сравнивают с ныне популярным ClickHouse и не столь популярным QuestDB. В статье приводятся бенчмарки, важные для решения задачи. В реальных задачах немаловажными являются не только технические, но и бизнесовые аргументы, такие как наличие экспертизы – их авторы также упоминают.

В общем неплохая статья для развития насмотренности.

А ещё именно для подобной задачи хорошо подойдет практика написания design doc.

#database
1👍101🔥1
Пятничное развлекательное

Два с половиной года парень делает обзоры на сервисы для ведения заметок в поисках того самого… идеального. В его коллекции уже больше сотни обзоров. Я, признаться, даже не представлял, что можно найти столько более-менее вменяемых сервисов. В общем, есть на что позалипать.

Сам я уже 10 лет использую TickTick, как для заметок, так и для таск трекинга. В целом, он меня устраивает. В порыве любопытства у меня, конечно, были попытки пересесть на что-то новое, но всё заканчивалось неудачей. Да и когда столько информации любовно собрано в одном месте, пересесть на что-то другое сложновато. Должно быть что-то ну оооочень классное.

Расскажите, что вы используете? Насколько это удобно? Есть ли какая-то система или принципы, которым вы следуете?

#fun #edu
1👍112🔥2
uv: Unified Python packaging

У авторов линтера ruff, которым мы активно пользуемся и всем советуем, вышло большое обновление ещё одной интересной их тулзы – uv: Unified Python packaging. Такой же, как другие пакетные менеджеры, только лучше. Ну, по крайней мере, так заявляют авторы.

В целом, как и с ruff, главные фичи – совместимость с другими пакетными менеджерами и скорость.

Подробнее можно почитать в их блоге.

На какой-нибудь пет проект обязательно затащу его, посмотреть поближе.

#tools
110👍43
Мой взгляд на новые фичи python3.10-3.12

Cмотрим на полезные нововведения в питоне последних лет — улучшенные f-строки, дополнения к исключениям, объединение нескольких with, pattern matching. Лёгкая статья на пикабу / VC / vk, код примеров на гитлабе. А какие фичи прочно вошли в ваш код?

#devfm #python
4🔥12👍4🌭21
Уходя уходи

Небольшая статья, раскрывающая достаточно непопулярную тему. Вот решили вы покинуть свою любимую компанию. Что делать, чтобы аккуратно передать все дела? С какого конца подойти? Ведь помимо основных и понятных зон ответственности, наверняка, есть много мелочей, которые даже сложно представить. Автор даёт понятный набор действий, который нужно проделать.

На самом деле это упражнение стоит проделывать и не уходя с работы. Подобное пригодится перед отпуском или для поиска мест, где у вас bus factor равен единице.

#edu
5👍83🌭21
Недавно у нас был пост-стенание о том, куда христианину податься, если слак забанил. Там прошло бурное и плодотворное обсуждение. В отдельном посте расскажем о нашем выборе. Он, вероятно, своеобразный, но таковы обстоятельства. Пока тестируем.

В подкасте я упоминал, что мы по привычке пользуемся связкой Jira и Confluence. Но у ребят стало всё сильно сложнее с self-hosted — вроде бы, они вообще его убрали. Ну и платить им тоже проблемно.

Оно пока работает и кушать не просит, но в фоне мы начали смотреть на альтернативы. Расскажите, пожалуйста, чем вы пользуетесь на практике для ведения задач проектов и документации? Чем довольны, чем нет?

#tools #devfm
5🔥5👍2
Порядок имеет значение

Захватывающая статья посвящена оптимизации хранения данных в Postgres. Оказывается, порядок столбцов в таблице влияет на занимаемое место на диске. Вот такие вот дела.

Идея в том, что Postgres использует выравнивание данных. Это приводит к добавлению дополнительных байт между столбцами для чтения и записи данных. Именно этого и нужно пытаться избегать.

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

В итоге, для оптимизации хранения данных нужно располагать столбцы в таблице по порядку: от больших типов данных (BIGINT, TIMESTAMPTZ) к меньшим (INT, SMALLINT, BOOLEAN) и завершать переменными типами (NUMERIC, TEXT).

Вообще звучит неплохо. Благодаря подобным махинациям можно сэкономить до 10% памяти.

#database #skills
4🔥16👍53
Инструмент для анализа узких мест базы данных

В статье из предыдущего поста автор приводит некоторые вспомогательные запросы для анализа порядка столбцов в таблице. Могу порекомендовать удобную тулзу postgres_dba, которая проведет проведет анализ и выдаст рекомендации, где и сколько потенциально можно сэкономить.

Также с помощью с неё можно посмотреть: коннекты, медленные запросы, неиспользуемые индексы, битые индексы, различные статистики и ещё всякое разное.

Мы обновили подборку всех наших постов по базам данных. Там много интересного.

UPD: в комментарии рассказали о еще одном полезном инструменте.

#tools #database
3👍7🔥42
Пятничное развлекательное

Дождались! В качестве пятничного развлекательного у нас настолка. В первом посте такого рода не будем советовать банальности, а посоветуем недавно локализованную игру — zoollywood.

С виду такая мимимишная игра с пингвинчиками, для победы в которой нужно по определённым правилам двигать своих пингвинов и размещать яйца на игровом поле. На деле все превращается в захватывающую, агрессивную баталию с пожиранием яиц соперника и желанием запустить фигурку пингвинчика в лоб оппонента. Особенно, когда противник делает какую-нибудь гадость, играя карту с руки и ломая твой стройный и продуманный путь к победе.

Игра рассчитана на двух игроков. В ней простые правила и механика, однако разнообразные дополнительные персонажи и препятствия на поле сильно повышают реиграбельность. Ещё из приятностей — игра качественно сделана и очень приятные миниатюры персонажей.

Если заинтересовались, то лучше взять побыстрее, а то тираж закончится и всё, тю-тю.
#fun
1🔥15👍21
Всё в той же статье про порядок столбцов в Postgres автор использует термин bike-shedding.

Представьте себе ситуацию: группа людей собралась обсудить важный проект, например, строительство атомной электростанции. Вместо того, чтобы сосредоточиться на ключевых вопросах безопасности и эффективности, они тратят часы на обсуждение цвета велосипедной стоянки. Звучит абсурдно? Это и есть "bike-shedding" — термин, описывающий склонность тратить много времени на обсуждение простых и незначительных деталей, оставляя без должного внимания действительно важные задачи. Подобные вопросы привлекательны ещё потому, что обычно не требуют глубоких знаний и каждому есть что сказать, а за неверное решение не будет никакой ответственности.

Честно, очень люблю этот термин, он на уровне с bus factor ёмко выражает проблематику.

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

#edu #teamwork
3👍1253
Micro консольный редактор с человеческим лицом

Иногда приходится работать с текстовыми файлами на каком-нибудь серваке, где нет любимых графических текстовых редакторов.

Для этих целей давно использую micro – легковесный редактор с поддержкой мышки, а главное – с привычными горячими клавишами.

В нашем бесплатном курсе cli-for-dev есть урок про редакторы nano, mcedit, gedit, vim. В центре внимания горячие клавиши. Скоро допишем туда про micro.

P.S. Vim`оводам пост, конечно, будет неактуален 😄

#tools
18🔥6👍4
Всё ли так просто с ретраями?

На первый взгляд ретраи кажутся простым способом улучшить отказоустойчивость. Что может пойти не так? Ребята из Яндекса написали на эту тему большую и захватывающую статью.

Автор ретроспективно на конкретных примерах показывает результаты применения простого ретрая с фиксированной задержкой, ретрая с экспоненциальной задержкой, ретрая с джиттером.

В итоге приходит к выводу, что ретраи хороши при единичных ошибках или кратковременных сбоях. Однако, при затяжном или массовом сбое ретраи только увеличивают нагрузку на сервер, что приводит к замедлению восстановления после сбоя.

Для решения этих проблем и повышения отказоустойчивости в статье выделяется три способа:
– retry budget – ограничивает количество ретраев в зависимости от количества успешных запросов
– circuit breaker – полностью отключает ретраи, если процент ошибок превышает заданный порог
– deadline propagation – в запросе содержится таймаут, после которого сервер может прекратить обработку запроса

Ссылочка на код, чтобы самостоятельно поэкспериментировать.

В столь же интересном формате у нас был обзор на статью об идемпотентности.

На эту же тему стоит посмотреть видео.

#skills #systemdesign
🔥12👍322
Замечательный подкаст от Andrew Huberman на тему Optimal Protocols for Studying & Learning.

Насущная тема, как усвоить ту или иную информацию лучше и быстрее. Автор, опираясь на различные исследования, даёт практические советы на эту тему.

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

Особое внимание уделяется проверке своих знаний, как способа лучше усвоить материал. Это самая интересная часть подкаста. Приводятся интересные исследования на тему того, что полезнее: много раз повторить один и тот же материал, или изучить один раз и потом проверить себя?

Дальше интереснее: если проверять себя, то когда это лучше сделать: сразу, через некоторое время или через достаточно продолжительное время? Если тема сна всем понятна, то выводы, к которым приходят в этих исследованиях не всегда очевидны. В общем, рекомендую!

Для особо дотошных на сайте подкаста приведены исследования, которые упоминаются в видео.

На эту тему мы уже рекомендовали очень известный курс Learning How to Learn.

#edu
👍10🔥75
2025/09/20 22:08:36
Back to Top
HTML Embed Code: