Бодрый кодер – Telegram
Бодрый кодер
450 subscribers
248 photos
24 videos
4 files
164 links
Меня зовут Лев, я руководитель направления в ПСБ. Это мой личный блог о DevOps, разработке, системном анализе, AI и управлении IT-командами. Делюсь своими мыслями, инсайтами, полезными инструментами и тем, что меня вдохновляет.

Автор: @nemirlev
Download Telegram
PostgreSQL 18 уже почти на подходе, и одна из самых приятных новинок для разработчиков — нативная поддержка UUIDv7.

Если раньше gen_random_uuid() выдавал только UUIDv4 (UUIDv4 генерируются случайно, поэтому новые записи вставляются в разные места B-tree индекса. Это вызывает фрагментацию, рост размера индекса и замедление операций), то теперь у нас появляется функция uuidv7(). Она генерирует идентификаторы, упорядоченные по времени, что решает старую боль с раздутием B-tree индексов (новые ключи ложатся в «хвост» индекса, как автоинкремент, и поэтому работают быстрее).


CREATE TABLE test (
id uuid DEFAULT uuidv7() PRIMARY KEY,
name text
);

INSERT INTO test (name) VALUES ('foo'), ('bar');
SELECT uuid_extract_timestamp(id), name FROM test ORDER BY id;


Теперь IDшники не только уникальны, но и красиво сортируются по времени создания 👌
Для распределённых систем и масштабных БД — прямо must-have.

#postgresql #uuid #uuidv7 #базыданных
🔥6👍2
Я тут хвалил новые веб приложения в телеге, тут вообще удивился. Открыл себе карту, для оплат, дополнительную. За 2 минуты. Банкинг в телеге - это конечно мощно и удивительно.

P.S. Не реклама сервиса, только начал пользоваться , если понравился и проблем не будет - порекомендую.
👍1🔥1
Вчера ездил на экскурсию в ЦОД Яндекс, во Владимир. Получилось классно.

Инженерные решения конечно потрясающее. Особенно собственные стойки и решения по юнитам.

Ну и конечно посмотрели сердце одного из суперкомпьютеров, на котором в том числе обучают Алису.
👍11🔥53😍1
Бодрый кодер
PostgreSQL 18 уже почти на подходе, и одна из самых приятных новинок для разработчиков — нативная поддержка UUIDv7. Если раньше gen_random_uuid() выдавал только UUIDv4 (UUIDv4 генерируются случайно, поэтому новые записи вставляются в разные места B-tree индекса.…
Мой подписчик написал комментарий, который тянет на пост:

если бизнес логика у тебя полагается на монотонное возрастание uuidv7 (например дедубликация), а у тебя отсортировано не в том порядке — не самое приятное событие...
uuidv7 "ориентированный по времени" а не "транзакционно ориентированный"
тоесть у тебя может быть кейс когда транзакция с более поздним uuid закомитится раньше чем транзакция с более ранним uuid.
а раз раньше закомитилась — раньше вернула поток управления коду. и связанные записи (например релейшены) получают другой ордер (если это важно).

+ точность ордера ограничена 1 миллисекундой. если прилетело 5 запросов в одну миллисекунду — нет способа зарезолвить порядок. это кстати касается и бэкенда если что... но (!) при смене мастера — если часы рассинхронизированы больше чем на 1 миллисекунду возможны уже скачки во времени.
если у тебя реплики в разных датацентрах - скорее всего рассинхрон порядка 10-100мс, и значит точно будет прыгать.
что собственно не защищает и бэк, находящийся на разных инстансах за балансиром...

это не то что бы минусы uuid7, просто ограничение модели, но о них важно помнить, если не хочется гулять по граблям)
🔥2👏1
Вместо #пятничныйюмор . Так выглядит 42 года прогресса.

Мне правда еще не разу не удавалось держать стол таким девственно чистым.
👍4💯21
Понедельник начинается с хороших новостей - мой доклад про GitOps для аналитиков взяли на Analyst Days.

В этом осенне-зимнем сезоне будет всего одно выступление, ну может два.

#anystdays #доклады #выступление
🔥153
Всех с предстоящими выходными, а меня с предстоящими рабочими. Еду в Красноярск на неделю, в командировку.

#пятничныйюмор
🔥13😁4
Лекс Фридман записал большой подкаст с Павлом Дуровым. За четыре часа беседы основатель Telegram поделился подробностями о работе компании и собственными взглядами на разработку.

Очень много про процессы разработки, но теперь надо как-то найти время послушать - даже на x2 это 2часа :(

https://youtu.be/qjPH9njnaVU?si=vOBG2tXbIbBKF6f8
В целом классическая история, когда все яйца в соседней комнате.
Forwarded from Илья ILIYM
В Южной Корее НАМЕРТВО остановилась работа всего государства — из-за одного пожара в датацентре уже неделю не работает практически ничего.

Огонь накрыл сервера Национальной службы Информационных Ресурсов (NIRS): там хостились все государственные сервисы, базы данных и облачные системы.

Всего в очищающем пламени пали 647 государственных сервисов, из них 96 уничтожены полностью. Сгорели:

— Местные госуслуги;
— Система удостоверения личности;
— Государственное облако хранения документов — миллионы записей утеряны безвозвратно;
— Государственная почта;
— Образовательные базы университетов;
— Финансовые и административные сервисы.

858 терабайт данных сгорели вместе с бэкапами — они хранились на сервере в соседней комнате.

Предварительно: причина пожара — возгорание литий-ионной батареи во время её замены.

Чиновник, которого заставили всё чинить, оценил масштаб работ и... покончил жизнь самоубийством.
😨31🔥1
💬 Собеседование — это не экзамен, а разговор двух взрослых людей

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

Я для себя давно выработал набор вопросов, которые помогают быстро почувствовать,
живая там среда или очередной “корпоративный зоопарк”.

Вот мои основные 👇

⚙️ Про техническую свободу
• Как принимаются архитектурные решения: через pull request или через комитет?
• Может ли команда выбирать стек и инструменты?
• Кто деплоит в прод: команда или выделенные админы?

🧭 Про процессы и ответственность
• Как формируется roadmap — команда участвует или всё спускается сверху?
• Что происходит, если команда не успевает к сроку?
• Есть ли ретро, и меняется ли после них что-то на самом деле?

🤝 Про культуру и атмосферу
• Можно ли спорить с архитектором или руководителем?
• Что у вас происходит, когда кто-то ошибается?
• Как вы относитесь к инициативам “вне задач”?

🧍‍♂️ Про своё место в экосистеме
• Где проходит граница ответственности роли?
• Как строится взаимодействие между твоим отделом и остальными?
• Можно ли влиять на процессы — CI/CD, код-ревью, документацию?

Каждый из этих вопросов — не формальность.
По ответу (и по интонации!) сразу видно: перед тобой открытая команда или бюрократическая матрица.

А вы что спрашиваете на собеседованиях?
Какие вопросы помогают вам понять, стоит ли туда идти? 👇
👍10🔥81
Всех с выходными. #пятничныйюмор
😁12❤‍🔥2
Для поста слишком много текста, поэтому опубликовал новость на Хабре.

Для меня это наверное самая любимая CMS. Как с точки зрения разработчика, так и с точки зрения пользователя. Благодаря ей, до сих пор работает (но уже не развивается) семейный блог - https://nemirovblog.ru. Из известного, например Y Combinator и еще как минимум двадцадка крупных медиа изданий и тысячи более мелких.

https://habr.com/ru/news/956572/
👍2🔥1
Писали что в Apple Pay сейчас нельзя добавить карту, с регионом Россия,но у меня вроде все норм, добавилось.

У кого-то были проблемы?
Forwarded from samdark blog ☕️ (Alexander Makarov) (Alexander Makarov)
🚀 Ищем волонтеров на крупнейшие IT-конференции в Москве!

HighLoad++
— это конференция в России и СНГ, посвящённая разработке высоконагруженных систем, архитектуре, инфраструктуре и масштабированию.
TeamLead Conf — единственная профессиональная конференция для тимлидов и руководителей не только из IT.

Если тебе интересно увидеть закулисье одного из самых масштабных IT-событий страны, получить опыт организации конференции и стать частью сильной команды — присоединяйся к волонтёрам 💪

🗓 Даты участия: 4–11 ноября (можно выбрать 4 дня или один из дней)
📍 Место проведения: Технопарк «Сколково»

Что тебя ждёт:
– уникальный опыт работы на ведущих конференциях в России
– общение с экспертами и профессионалами из крупнейших IT-компаний
– понятные задачи и поддержка координаторов
– доступ к записям выступлений и атмосфера закулисья
– полноценное питание в дни работы
– и, конечно, участие в легендарном afterparty HighLoad++ 🎉

Задачи волонтёров: работа в залах, помощь в логистике на площадке, регистрация участников, помощь в зоне выставки.

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

📩 Чтобы присоединиться, заполни анкету волонтёра — мы свяжемся с тобой после рассмотрения заявки.

Расскажи о наборе друзьям, приходите вместе — давайте создавать легендарную атмосферу🔥
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня пятница, а значит #пятничный юмор.

Я тут не много подгорел и фрустрировал. Но удалось выдохнуть.

С понедельника вас ждут новые посты, накопил много тем.
👌6😁31🙈1
Знаете, я тут недавно поймал себя на странной мысли: мне реально нравится работать с легаси-проектами. И нет, меня не подменили.

Помню, раньше загорался от каждого нового проекта. Проект с нуля! Чистый лист! Можно взять свеженькую библиотеку, настроить идеальную архитектуру, выбрать все самые современные инструменты. Все новое, модное, никакого старого багажа. Красота же!

А потом начинается реальность. Ты сидишь и думаешь: как правильно спроектировать эту фичу, которую еще никто не использовал? Какая структура БД будет оптимальной для кейсов, которые мы еще даже не знаем? А вдруг через полгода всё придется переписывать, потому что не учли какой-то важный сценарий?

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

А вот легаси... Вот где магия.

Да, открываешь такой проект – и там хаос. Функция на 500 строк с тремя уровнями вложенных циклов. Бизнес-логика размазана между контроллером, сервисом и каким-то вспомогательным модулем. Запрос к базе, который считает что-то через жопу и работает по 3 секунды. Переменная с названием temp2_new_final_REALLY_USE_THIS.

Но знаете что? Это всё работает. Прямо сейчас. В проде. Приносит деньги. Обслуживает реальных пользователей с их реальными сценариями.

И вот тут начинается кайф. Ты видишь узкое место – переписываешь кусок кода. Сразу можешь прогнать тесты (которые уже есть!), посмотреть на мониторинг, получить обратную связь. Нашел странную логику – разбираешься, почему так сделали, и часто оказывается, что это решает какой-то граничный случай, о котором ты бы в новом проекте даже не подумал.

Легаси – это живая документация всех косяков, багов и неочевидных требований, которые накопились за годы. Это уже готовая песочница для экспериментов. Можешь улучшать по чуть-чуть, видеть результат, итерироваться.

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

Так что да, я теперь тот странный разраб, который радуется легаси-проектам 🙂
16👍4