This media is not supported in your browser
VIEW IN TELEGRAM
❤33🔥15🍓8🍌3😁2 2
С днем программиста, друзья!
Как круто, что у нас есть возможность создавать что-то новое, воплощать любые свои задумки в реальность и постоянно исследовать неизвестное, углубляясь в те дебри, куда большинство дойти не может.
Для кого-то это аутистический спектр - но для меня это умение держать фокус и не распыляться.
Я вами восхищаюсь!
Как круто, что у нас есть возможность создавать что-то новое, воплощать любые свои задумки в реальность и постоянно исследовать неизвестное, углубляясь в те дебри, куда большинство дойти не может.
Для кого-то это аутистический спектр - но для меня это умение держать фокус и не распыляться.
Я вами восхищаюсь!
1🔥52❤16😁5🍓3 2
AI написал код. Примешь такой PR?
На стриме в пятницу в 19:30 буду разрабатывать функциональность для Polymorpher с помощью Codex.
Пройдём весь путь: от постановки задачи до работающей реализации. В финале проведём ревью получившегося PR и решим, готов ли этот код к продакшену.
По ходу разработки разберём:
— как сформулировать задачу и дать агенту контекст проекта;
— какую работу ему поручать и где подключаться самому;
— на что смотреть в сгенерированном коде;
— как корректировать результат, если агент пошёл не туда;
— как проверить, что функциональность работает.
Буду объяснять свои решения и отвечать на вопросы из чата. Посмотрим, где агент ускоряет работу, где требует правок и сколько внимания разработчика нужно, чтобы довести задачу до результата.
Лайк авансом и колокольчик на стрим🔔
На стриме в пятницу в 19:30 буду разрабатывать функциональность для Polymorpher с помощью Codex.
Пройдём весь путь: от постановки задачи до работающей реализации. В финале проведём ревью получившегося PR и решим, готов ли этот код к продакшену.
По ходу разработки разберём:
— как сформулировать задачу и дать агенту контекст проекта;
— какую работу ему поручать и где подключаться самому;
— на что смотреть в сгенерированном коде;
— как корректировать результат, если агент пошёл не туда;
— как проверить, что функциональность работает.
Буду объяснять свои решения и отвечать на вопросы из чата. Посмотрим, где агент ускоряет работу, где требует правок и сколько внимания разработчика нужно, чтобы довести задачу до результата.
Лайк авансом и колокольчик на стрим
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34❤11 5 1
Друзья! Стрим переносится на среду 🙏🏻
На следующей неделе должен быть готов крупный видос. Стараюсь поставить на рельсы регулярную публикацию контента - пока в проработке.
Тяжко выстраивать системную работу + в последнее время все больше накатывает желание уехать куда-то, где очень тепло и играть в теннис/бегать круглыми сутками под солнечным пеклом. Но пока не вариант кажется, хотя может все таки перекроет и поеду. Надо будет только рабочее место как-то настроить.
На следующей неделе должен быть готов крупный видос. Стараюсь поставить на рельсы регулярную публикацию контента - пока в проработке.
Тяжко выстраивать системную работу + в последнее время все больше накатывает желание уехать куда-то, где очень тепло и играть в теннис/бегать круглыми сутками под солнечным пеклом. Но пока не вариант кажется, хотя может все таки перекроет и поеду. Надо будет только рабочее место как-то настроить.
❤15🔥4🍓4 4
Почему PostgreSQL откатывает изменения разных строк
Вспомнила вопрос с недавнего собеса и решила разобрать в канале.
Две транзакции меняют разные счётчики, но одна из них всё равно может завершиться ошибкой. Причина в том, как база отслеживает захват объектов.
Пример: таблица
Для проверки база запоминает, кто какую область читал. Эти отметки -
При
Поэтому база учитывает две зависимости:
- T1 меняет строку
- T2 меняет строку
Требования противоречат друг другу. PostgreSQL отклоняет одну транзакцию с ошибкой
Это ложный конфликт: счётчики можно изменить в любом порядке, но широкая отметка связала две независимые операции.
Чтение через индекс может сузить отметку до строки/страницы и тем самым уменьшить число конфликтов. Поэтому при разборе таких откатов полезно проверить план выполнения запроса. Но полностью исключить конфликты нельзя: приложение должно уметь при ошибке
классная статья про блокировки в постгрес
#production_case
Вспомнила вопрос с недавнего собеса и решила разобрать в канале.
Две транзакции меняют разные счётчики, но одна из них всё равно может завершиться ошибкой. Причина в том, как база отслеживает захват объектов.
Пример: таблица
counters(id PRIMARY KEY, value), без триггеров и связей с другими таблицами. Обе транзакции работают в SERIALIZABLE. Сначала выполняются оба SELECT, затем оба UPDATE и попытки COMMIT:-- Транзакция T1
SELECT value FROM counters WHERE id = 1;
UPDATE counters SET value = value + 1 WHERE id = 1;
-- Транзакция T2
SELECT value FROM counters WHERE id = 2;
UPDATE counters SET value = value + 1 WHERE id = 2;
SERIALIZABLE обещает результат успешных транзакций как будто транзакции выполняются последовательно.Для проверки база запоминает, кто какую область читал. Эти отметки -
SIReadLock - не блокируют запись. Они помогают заметить, что чужое изменение затронуло прочитанные данные.Пример: T1 прочитала старое значение, а T2 его изменила. Значит, в последовательном выполнении T1 должна быть раньше T2. Иначе она увидела бы новое значение. Так появляется зависимость T1 → T2.
При
Seq Scan - последовательном чтении таблицы - отметка чтения ставится на всю таблицу, хотя запрос меняет одну строку.Поэтому база учитывает две зависимости:
- T1 меняет строку
1 → задевает отметку T2 → T2 должна быть раньше T1.- T2 меняет строку
2 → задевает отметку T1 → T1 должна быть раньше T2.Требования противоречат друг другу. PostgreSQL отклоняет одну транзакцию с ошибкой
serialization_failure, код 40001. Это ложный конфликт: счётчики можно изменить в любом порядке, но широкая отметка связала две независимые операции.
Чтение через индекс может сузить отметку до строки/страницы и тем самым уменьшить число конфликтов. Поэтому при разборе таких откатов полезно проверить план выполнения запроса. Но полностью исключить конфликты нельзя: приложение должно уметь при ошибке
40001 повторить всю транзакцию, включая чтения.классная статья про блокировки в постгрес
#production_case
1🔥17❤7 6 1
Катя Кондратьева
Почему PostgreSQL откатывает изменения разных строк Вспомнила вопрос с недавнего собеса и решила разобрать в канале. Две транзакции меняют разные счётчики, но одна из них всё равно может завершиться ошибкой. Причина в том, как база отслеживает захват объектов.…
Знаю, что выглядит сложно, но я объясню вам, братья и сестры, зачем это нужно
Конечно же, чтобы продавать такие продакшен-кейсы как собственные интересные задачи на собеседовании.
Сохраняйте и не забудьте упомянуть, рассказывая про интересный опыт на интервью.
Конечно же, чтобы продавать такие продакшен-кейсы как собственные интересные задачи на собеседовании.
Сохраняйте и не забудьте упомянуть, рассказывая про интересный опыт на интервью.
1🔥14 7❤6🍓3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥28❤11 6🍌2 1
GPT Pro 20X больше не купить
Я не слежу за появлением новых моделей или обновлением существующих. Однако эта новость для меня важна, потому что я сама использую кодекс в разработке и всегда рекомендовала именно этот инструмент.
Купить новую подписку теперь можно только на версию за 100 баксов, где лимит на токены в 4 раза меньше. Есть жалобы и в комьюнити, и среди моих знакомых, что лимиты тратятся намного быстрее, чем раньше. И сейчас не хватает даже двух подписок Pro-версии для закрытия рабочих задач.
Тратить 40к, чтобы просто закрыть задачи по работе - не самая привлекательная перспектива.
У меня текущий план Pro 20X, буду его дальше продлевать и следить за динамикой. Но кажется, самое время начать искать альтернативные решения.
P.S. Стрим, где я пишу код с кодексом, опять переносится, планирую также на среду 🙏🏻
Искренне извиняюсь перед всеми, кто ждал, но зато чем больше будет моя подготовка к нему, тем должен быть качественнее результат.
Я не слежу за появлением новых моделей или обновлением существующих. Однако эта новость для меня важна, потому что я сама использую кодекс в разработке и всегда рекомендовала именно этот инструмент.
Купить новую подписку теперь можно только на версию за 100 баксов, где лимит на токены в 4 раза меньше. Есть жалобы и в комьюнити, и среди моих знакомых, что лимиты тратятся намного быстрее, чем раньше. И сейчас не хватает даже двух подписок Pro-версии для закрытия рабочих задач.
Тратить 40к, чтобы просто закрыть задачи по работе - не самая привлекательная перспектива.
У меня текущий план Pro 20X, буду его дальше продлевать и следить за динамикой. Но кажется, самое время начать искать альтернативные решения.
P.S. Стрим, где я пишу код с кодексом, опять переносится, планирую также на среду 🙏🏻
Искренне извиняюсь перед всеми, кто ждал, но зато чем больше будет моя подготовка к нему, тем должен быть качественнее результат.
❤26🍓5 4🌭1
600 баксов в месяц за ChatGPT?
Недавно писала, что подписку Pro за 200 баксов больше не купить.
Теперь у истории появилось продолжение: ChatGPT Pro Max будет стоить $600.
Это пока утечка. Официального подтверждения цены и даты запуска я не нашла.
Есть предположения, что в новом плане акцент будет на скорости работы агентов. Грустни, бесконечных лимитов ждать не стоит(
Надеюсь мне не придется переходить на тариф выше из-за урезания текущего 🙂
Недавно писала, что подписку Pro за 200 баксов больше не купить.
Теперь у истории появилось продолжение: ChatGPT Pro Max будет стоить $600.
Это пока утечка. Официального подтверждения цены и даты запуска я не нашла.
Есть предположения, что в новом плане акцент будет на скорости работы агентов. Грустни, бесконечных лимитов ждать не стоит(
Надеюсь мне не придется переходить на тариф выше из-за урезания текущего 🙂
Сегодня впервые за 20 лет российский спортсмен Сергей Данилов выступил на самом престижном турнире по бодибилдингу «Мистер Олимпия»
Я тренируюсь как любитель, но слежу за профессиональным спортом и для меня это событие имеет значение.
Сергей действительно огромный: при росте 187 см он выглядит буквально как мутант. К этому турниру он шёл более 10 лет, проведённых в жёстких тренировках, тяжёлом массонаборе и использовании фармакологии.
Спортсмен не обладатель классной генетики, его пропорции не подходят для Classic Physique. Поэтому чтобы достигать успеха в спорте, ему приходилось раскачиваться до гиганстких размеров и выигрывать за счета количества мышечной массы.
В 18 лет у него был инфаркт. После него бодибилдер восстановился и снова вернулся к подготовке. Главная мотивация тренироваться дальше - выйти на Олимпию.
Сегодня он добился своей цели. Ради этих полутора минут на сцене были потрачены больше десяти лет жизни. К сожалению, он не вошёл в топ-10.
Поздравляю Сергея с этим достижением. И благодарю за то, что своим примером он напоминает, какую цену порой приходится платить за свои желания.
Например, может быть, не обязательно несколько лет пытаться попасть в Яндекс или FAANG. Возможно, необязательно стараться расти внутри компании до уровня руководителя. Может быть, вам не нужно пытаться занять место C-level менеджера, особенно с учётом того, что политику компании выбираете не вы и не можете влиять на стоимость акций, процентом от которых мечтаете владеть.
Необязательно ждать пока корабль утонет, с него можно спрыгнуть раньше.
Я тренируюсь как любитель, но слежу за профессиональным спортом и для меня это событие имеет значение.
Сергей действительно огромный: при росте 187 см он выглядит буквально как мутант. К этому турниру он шёл более 10 лет, проведённых в жёстких тренировках, тяжёлом массонаборе и использовании фармакологии.
Спортсмен не обладатель классной генетики, его пропорции не подходят для Classic Physique. Поэтому чтобы достигать успеха в спорте, ему приходилось раскачиваться до гиганстких размеров и выигрывать за счета количества мышечной массы.
В 18 лет у него был инфаркт. После него бодибилдер восстановился и снова вернулся к подготовке. Главная мотивация тренироваться дальше - выйти на Олимпию.
Тренировочный план бешеный, а поднимаемые веса огромны и несвойственны человеку; очевидно, что организму подобное долго не выдержать. Однако на интервью Данилов говорит, что это не имеет значения: ради того, чтобы оказаться на Олимпии, он готов умереть. В принципе, в мире бодибилдинга практика доживать до 30–40 лет распространена.
Сегодня он добился своей цели. Ради этих полутора минут на сцене были потрачены больше десяти лет жизни. К сожалению, он не вошёл в топ-10.
Поздравляю Сергея с этим достижением. И благодарю за то, что своим примером он напоминает, какую цену порой приходится платить за свои желания.
Возможно, не всякое дело стоит доводить до конца. И речь не только про спорт. К сожалению, чем дольше мы идём к цели, тем сложнее признать, что сама цель могла перестать быть нам нужна.
Например, может быть, не обязательно несколько лет пытаться попасть в Яндекс или FAANG. Возможно, необязательно стараться расти внутри компании до уровня руководителя. Может быть, вам не нужно пытаться занять место C-level менеджера, особенно с учётом того, что политику компании выбираете не вы и не можете влиять на стоимость акций, процентом от которых мечтаете владеть.
Необязательно ждать пока корабль утонет, с него можно спрыгнуть раньше.
🔥44❤21 9😁2 2
System Design: проектируем платёжную систему с нуля
Вышло новое большое видео на YouTube.
В этом видео разбираю архитектуру платёжной системы на примере интеграции с интернет-эквайрингом Т-Банка и опыта разработки платежей в собственном продукте - Polymorpher.
Пойдём от сбора требований и разбора флоу карточного платежа до критичных сценариев: дублирующиеся запросы, зависшие платежи, падение сервиса посреди операции и восстановление состояния после сбоя.
Внутри:
— способы подключения платежки в продукт;
— разбор требований к сервису;
— как проходит карточный платёж;
— high-level архитектура сервиса платежей;
— проектирование схем БД;
— обеспечение консистентности платежного функционала: idempotency и recovery point, защита от повторных списаний и дублей webhook;
— проектирование отказоустойчивой архитектуры.
Смотреть:
https://www.youtube.com/watch?v=TYeO2xkD7Hg
И как обещала - в комментариях прикладываю все схемы из видео: архитектура, sequence diagramа, схемы БД.
Сохраняйте, если готовитесь к секции по системному дизайну или планируете однажды прикручивать платежи в свой продукт.
#production_case
Вышло новое большое видео на YouTube.
В этом видео разбираю архитектуру платёжной системы на примере интеграции с интернет-эквайрингом Т-Банка и опыта разработки платежей в собственном продукте - Polymorpher.
Пойдём от сбора требований и разбора флоу карточного платежа до критичных сценариев: дублирующиеся запросы, зависшие платежи, падение сервиса посреди операции и восстановление состояния после сбоя.
Внутри:
— способы подключения платежки в продукт;
— разбор требований к сервису;
— как проходит карточный платёж;
— high-level архитектура сервиса платежей;
— проектирование схем БД;
— обеспечение консистентности платежного функционала: idempotency и recovery point, защита от повторных списаний и дублей webhook;
— проектирование отказоустойчивой архитектуры.
Смотреть:
https://www.youtube.com/watch?v=TYeO2xkD7Hg
И как обещала - в комментариях прикладываю все схемы из видео: архитектура, sequence diagramа, схемы БД.
Сохраняйте, если готовитесь к секции по системному дизайну или планируете однажды прикручивать платежи в свой продукт.
#production_case
❤45🔥24🍓9😁3 2
This media is not supported in your browser
VIEW IN TELEGRAM
3 силовые в неделю, 4 кардио, каждый день 10к шагов и дефицит калорий
В марте я начала регулярно заниматься в зале с тренером и с тех пор держу этот режим. Форма уже нравится, но еще сушусь - буду добавлять силовые, чтобы процесс ускорить.
Нет ничего приятнее, чем видеть результат от своих усилий. Радует!
В марте я начала регулярно заниматься в зале с тренером и с тех пор держу этот режим. Форма уже нравится, но еще сушусь - буду добавлять силовые, чтобы процесс ускорить.
Нет ничего приятнее, чем видеть результат от своих усилий. Радует!
❤42🔥28😁6 5 3
В 19 лет оффер на 320 000 ₽
Когда Коля обратился ко мне за помощью в трудоустройстве, ему было 18. Он только поступил в вуз, программирование изучал самостоятельно.
Он уже пробовал искать работу: за несколько месяцев было всего 3 собеседования, на которых, как он сам мне писал: «меня просто размазали».
Первые 2–3 месяца прорабатывали техническую часть: два созвона в неделю с вопросами и практикой по разным темам, разбирали код-ревью и лайвкодинг. По его словам, после такой подготовки недочеты в коде сразу бросались в глаза.
Получить предложение и сразу согласиться на все - понятное желание, особенно когда работу ищешь впервые и очень боишься упустить шанс. Но свои интересы тоже нужно уметь отстаивать. Поэтому отдельно разбирали и торг, и то, как договориться на удаленку вместо гибрида.
Он уже получил корпоративный ноутбук и оформил документы.
В свои 19, еще во время учебы ❤️
Когда Коля обратился ко мне за помощью в трудоустройстве, ему было 18. Он только поступил в вуз, программирование изучал самостоятельно.
Он уже пробовал искать работу: за несколько месяцев было всего 3 собеседования, на которых, как он сам мне писал: «меня просто размазали».
Дада, еще один пример жертвы курсов 🥲 Где финальная курсовая работа - это разработка микросервисной системы зоопарка..
Первые 2–3 месяца прорабатывали техническую часть: два созвона в неделю с вопросами и практикой по разным темам, разбирали код-ревью и лайвкодинг. По его словам, после такой подготовки недочеты в коде сразу бросались в глаза.
Так за 207 дней получил оффер на 281к gross. Помогла поторговаться - получилось 320к gross.
Разница в 39 тысяч каждый месяц просто за то, что обсудили условия 🤷🏻♀️
Получить предложение и сразу согласиться на все - понятное желание, особенно когда работу ищешь впервые и очень боишься упустить шанс. Но свои интересы тоже нужно уметь отстаивать. Поэтому отдельно разбирали и торг, и то, как договориться на удаленку вместо гибрида.
Он уже получил корпоративный ноутбук и оформил документы.
В свои 19, еще во время учебы ❤️
33🔥54❤16 7😁4 2