Борода бывшего программиста
183 subscribers
45 photos
2 files
110 links
Сейчас рук. отдела в Озоне, ранее директор по разработке idp.zyfra.com
leotsarev.ru
t.me/leotsarev
Много ссылок на статьи и нытья
Download Telegram
Ты можешь сколько угодно бесится на своих пользователей.
Но зачем, если можно сделать так?
(Хроники пет-проекта)
Попросил ChatGPT придумать тесткейсы для функции, которая ставит слова русского языка в корректное число в зависимости от. Показывает как и сильные, так и слабые стороны ChatGPT.

    [InlineData(1, "0 персонажей")]
[InlineData(1, "1 персонаж")]
[InlineData(2, "2 персонажа")]
[InlineData(5, "5 персонажей")]
[InlineData(11, "11 персонажей")]
[InlineData(21, "21 персонаж")]
[InlineData(22, "22 персонажа")]
[InlineData(25, "25 персонажей")]
[InlineData(101, "101 персонаж")]
[InlineData(102, "102 персонажа")]
[InlineData(111, "111 персонажей")]
[InlineData(121, "121 персонаж")]
[InlineData(122, "122 персонажа")]
[InlineData(-1, "-1 персонаж")]
[InlineData(-2, "-2 персонажа")]
[InlineData(-5, "-5 персонажей")]
[InlineData(-11, "-11 персонажей")]
[InlineData(-21, "-21 персонаж")]
[InlineData(-22, "-22 персонажа")]
[InlineData(-25, "-25 персонажей")]
https://t.me/work_and_scream/10

Юра Пирогов спрашивает про логи и их зажимание. Я считаю, что фильтровать, выкидывать и сжимать логи плохой подход.
Прежде всего в силу того, что приучает программиста про логи не думать. На самом деле все это сжатие хитрое, приколы, «приложение не может подконнектится к базе уже 5 раз, и это теперь стал warning» должен делать тот, кто понимает семантику происходящего — т.е. разраб приложения.

На уровне снаружи приложения мы должны оценить бюджет наблюдаемости, предъявить его приложению в качестве НФТ. Возможно, мы можем поставить приложение в рамки и при нарушении бюджета начать дропать логи (собственно, некоторые PaaS платформы так и делают), но это нештатная ситуация, на такое приложение должен быть выставлен алерт.

Альтернативный взгляд на проблему (в частности о преимуществах как можно более позднего анализа логов) можно почитать тут https://opentelemetry.io/docs/concepts/sampling/
Типовой проектный комитет (если говорить на ЦИПовском). Ну или техком, если говорить по Озоновски.
https://status.yandex.cloud/ru/incidents/1129?retpath=%2Fru%2Freports#report

Итак, из отчета Яндекса мы выяснили:

1. Под подключением к двух независимым источникам энергоснабжения имеется ввиду «два кабеля до 1 одной подстанции 220 кВ». Впрочем, это на самом деле норма (ПО НАСТОЯЩЕМУ независимых источников энергоснабжения в ЕЭС России не бывает), и такая конфигурация лучше, чем 2 подключения к разным подстанциям в городе.

2. В отчете совершенно игнорируется заявленное в рекламных статьях наличие аварийного дизель-генератора в ДЦ как третьего источника питания.

3. ИТ Яндекс.Облака молодцы, и план хороший.
Когда видишь, что в приложении Озона тебе показываются увеличенные сроки доставки, а сегодня с утра тебе звонила техподдержка
Хотелось бы прорекламировать git absorb
Он не нативный, но хорошо работающий
https://github.com/tummychow/git-absorb

Грубо говоря — у нас есть PR, в нем 5 коммитов смысловых.
Нам нужно после ревью поправить кучу файлов минорно, например код стиль.

Хорошо было бы, если бы в истории эти все изменения были бы в нужных коммитах.

Стейджим изменения (git add), делаем git absorb. Получаем много маленьких коммитов с названием !fixup commit1, !fixup commit2

Дальше git rebase --autosquash --interactive master и проверяем что все правильно разлетелось.

Ну или сразу
git absorb --and-rebase
Интересный прикол:
ChatGPT хорошо отвечает на вопросы про разные аспекты .NET, кроме новых.
В частности, он ничего не знает про MapStaticAssets().
Хотя ему доступны в интернете статьи, и ему можно попросить прочесть и учесть конкретную статью, если статей не было до даты обучения (окт 2023) — он «понимает» этот фунционал плохо.
https://techleadconf.ru/2025/abstracts/14254

Мой доклад взяли в программу TechLead Conf

Будет прикольно, если увижу в зале знакомые лица.
Лайк, репост
https://t.me/cosmic_learning/313

Я в свое время решил, что «могу задать глупый вопрос на любом совещании с любыми начальниками» сделаю своей фишкой.
Впрочем в другую сторону это тоже важно: руководителю не бояться выглядеть глупо или показаться не знающим, задав вопрос.
В Фортисе у меня был бессмертный разговор:
Я: на эту тему созовем совещание и решим
Сергей К (бодро).: отличная идея, молодцы
Я: и тебя позовем
Сергей К (ошарашенно): меня? Меня не надо.

С тех пор он повторялся в сотнях вариаций, и я сотню раз повторял: меня? Меня не надо.
Очень прошу всех подчиненных не смешивать статус и оправдания.
Скажи мне точно и короткой, какой статус.
Потом, если я спрошу, объясни причины сдвига.
И только потом, если я наеду, настанет время оправдываться. Не надо тратить время всех на оправдания, если они не нужны!
Даир прислал ссылку на дебаггер регэкспов для Свифта.
Сначала я ужаснулся (потому что это две вредные вещи в комбинации, дебаггер и регэксы), но потом увидел, что в свифте сделан для регэкспов приличный DSL, что мою основную претензию к оным снимает.
Зато при таком DSL, похоже, не возможна ahead of time компиляция регэкспов как в дотнете.
За то, умеют ли хорошие программисты в текст, давно написали за нас основатели 37signals/Basecamp
https://basecamp.com/gettingreal/08.6-wordsmiths
«Оказалось, что ЛЛМ уверенно разговаривают на уровне менеджера среднего звена. И мы почему-то решили, что это значит, что ЛЛМ разумны и обладают личностью, вместо того, чтобы предположить, что менеджеры среднего звена ей не обладают»
Одним из условий моего выхода в ЦИП была договоренность, что этой хуйней с микрооптимизациями и зажимом копеек на тулинг программистам мы заниматься не будем.
https://selix.net/notes/dont-be-frupid
:-)
Даже и смешно вспоминать об этом через года
Если при бедственном финансовом положении компании и задержках зарплаты высокий руководитель получает повышение оклада это кое-что говорит о его щепетильности и циничности, но это может быть нужно. Компания не выживет без хороших руководителей, и иногда нужны именно циничные.

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

https://sponsr.ru/ashmanov

Я тоже, честно говоря, не верю в полный развод. У кого есть инсайды?