Попросил 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/
Юра Пирогов спрашивает про логи и их зажимание. Я считаю, что фильтровать, выкидывать и сжимать логи плохой подход.
Прежде всего в силу того, что приучает программиста про логи не думать. На самом деле все это сжатие хитрое, приколы, «приложение не может подконнектится к базе уже 5 раз, и это теперь стал warning» должен делать тот, кто понимает семантику происходящего — т.е. разраб приложения.
На уровне снаружи приложения мы должны оценить бюджет наблюдаемости, предъявить его приложению в качестве НФТ. Возможно, мы можем поставить приложение в рамки и при нарушении бюджета начать дропать логи (собственно, некоторые PaaS платформы так и делают), но это нештатная ситуация, на такое приложение должен быть выставлен алерт.
Альтернативный взгляд на проблему (в частности о преимуществах как можно более позднего анализа логов) можно почитать тут https://opentelemetry.io/docs/concepts/sampling/
Telegram
Work&Scream
Общаясь сегодня с двумя хорошими инженерами выявил крайне интересную точку конфликта по отношению к логам.
Один говорит - если в в логе идут повторяющиеся подряд одинаковые сообщения, которые отличаются только временной меткой, их надо отбрасывать правилами…
Один говорит - если в в логе идут повторяющиеся подряд одинаковые сообщения, которые отличаются только временной меткой, их надо отбрасывать правилами…
https://status.yandex.cloud/ru/incidents/1129?retpath=%2Fru%2Freports#report
Итак, из отчета Яндекса мы выяснили:
1. Под подключением к двух независимым источникам энергоснабжения имеется ввиду «два кабеля до 1 одной подстанции 220 кВ». Впрочем, это на самом деле норма (ПО НАСТОЯЩЕМУ независимых источников энергоснабжения в ЕЭС России не бывает), и такая конфигурация лучше, чем 2 подключения к разным подстанциям в городе.
2. В отчете совершенно игнорируется заявленное в рекламных статьях наличие аварийного дизель-генератора в ДЦ как третьего источника питания.
3. ИТ Яндекс.Облака молодцы, и план хороший.
Итак, из отчета Яндекса мы выяснили:
1. Под подключением к двух независимым источникам энергоснабжения имеется ввиду «два кабеля до 1 одной подстанции 220 кВ». Впрочем, это на самом деле норма (ПО НАСТОЯЩЕМУ независимых источников энергоснабжения в ЕЭС России не бывает), и такая конфигурация лучше, чем 2 подключения к разным подстанциям в городе.
2. В отчете совершенно игнорируется заявленное в рекламных статьях наличие аварийного дизель-генератора в ДЦ как третьего источника питания.
3. ИТ Яндекс.Облака молодцы, и план хороший.
status.yandex.cloud
Доступность сервисов Yandex Cloud.
Статус работы сервисов платформы, история событий и подробные отчеты об инцидентах.
Суть всех срачей про коммерциализиацию популярных либ
https://www.jimmybogard.com/automapper-and-mediatr-going-commercial/
https://masstransit.io/introduction/v9-announcement
https://www.jimmybogard.com/automapper-and-mediatr-going-commercial/
https://masstransit.io/introduction/v9-announcement
Хотелось бы прорекламировать
Он не нативный, но хорошо работающий
https://github.com/tummychow/git-absorb
Грубо говоря — у нас есть PR, в нем 5 коммитов смысловых.
Нам нужно после ревью поправить кучу файлов минорно, например код стиль.
Хорошо было бы, если бы в истории эти все изменения были бы в нужных коммитах.
Стейджим изменения (
Дальше
Ну или сразу
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
GitHub
GitHub - tummychow/git-absorb: git commit --fixup, but automatic
git commit --fixup, but automatic. Contribute to tummychow/git-absorb development by creating an account on GitHub.
Интересный прикол:
ChatGPT хорошо отвечает на вопросы про разные аспекты .NET, кроме новых.
В частности, он ничего не знает про MapStaticAssets().
Хотя ему доступны в интернете статьи, и ему можно попросить прочесть и учесть конкретную статью, если статей не было до даты обучения (окт 2023) — он «понимает» этот фунционал плохо.
ChatGPT хорошо отвечает на вопросы про разные аспекты .NET, кроме новых.
В частности, он ничего не знает про MapStaticAssets().
Хотя ему доступны в интернете статьи, и ему можно попросить прочесть и учесть конкретную статью, если статей не было до даты обучения (окт 2023) — он «понимает» этот фунционал плохо.
https://techleadconf.ru/2025/abstracts/14254
Мой доклад взяли в программу TechLead Conf
Будет прикольно, если увижу в зале знакомые лица.
Лайк, репост
Мой доклад взяли в программу TechLead Conf
Будет прикольно, если увижу в зале знакомые лица.
Лайк, репост
https://t.me/cosmic_learning/313
Я в свое время решил, что «могу задать глупый вопрос на любом совещании с любыми начальниками» сделаю своей фишкой.
Впрочем в другую сторону это тоже важно: руководителю не бояться выглядеть глупо или показаться не знающим, задав вопрос.
Я в свое время решил, что «могу задать глупый вопрос на любом совещании с любыми начальниками» сделаю своей фишкой.
Впрочем в другую сторону это тоже важно: руководителю не бояться выглядеть глупо или показаться не знающим, задав вопрос.
Telegram
Бездна преподавания
Многие студенты боятся задавать вопросы - а вдруг будут выглядеть глупо.
Я раньше любил говорить, что глупых вопросов нет, но сейчас мне нравится другая версия: глупый вопрос - это вопрос, который не задан.
Я постоянно уточняю, всё ли понятно, есть ли вопросы…
Я раньше любил говорить, что глупых вопросов нет, но сейчас мне нравится другая версия: глупый вопрос - это вопрос, который не задан.
Я постоянно уточняю, всё ли понятно, есть ли вопросы…
В Фортисе у меня был бессмертный разговор:
Я: на эту тему созовем совещание и решим
Сергей К (бодро).: отличная идея, молодцы
Я: и тебя позовем
Сергей К (ошарашенно): меня? Меня не надо.
С тех пор он повторялся в сотнях вариаций, и я сотню раз повторял: меня? Меня не надо.
Я: на эту тему созовем совещание и решим
Сергей К (бодро).: отличная идея, молодцы
Я: и тебя позовем
Сергей К (ошарашенно): меня? Меня не надо.
С тех пор он повторялся в сотнях вариаций, и я сотню раз повторял: меня? Меня не надо.
Очень прошу всех подчиненных не смешивать статус и оправдания.
Скажи мне точно и короткой, какой статус.
Потом, если я спрошу, объясни причины сдвига.
И только потом, если я наеду, настанет время оправдываться. Не надо тратить время всех на оправдания, если они не нужны!
Скажи мне точно и короткой, какой статус.
Потом, если я спрошу, объясни причины сдвига.
И только потом, если я наеду, настанет время оправдываться. Не надо тратить время всех на оправдания, если они не нужны!
Даир прислал ссылку на дебаггер регэкспов для Свифта.
Сначала я ужаснулся (потому что это две вредные вещи в комбинации, дебаггер и регэксы), но потом увидел, что в свифте сделан для регэкспов приличный DSL, что мою основную претензию к оным снимает.
Зато при таком DSL, похоже, не возможна ahead of time компиляция регэкспов как в дотнете.
Сначала я ужаснулся (потому что это две вредные вещи в комбинации, дебаггер и регэксы), но потом увидел, что в свифте сделан для регэкспов приличный DSL, что мою основную претензию к оным снимает.
Зато при таком DSL, похоже, не возможна ahead of time компиляция регэкспов как в дотнете.
Apple Developer Documentation
RegexBuilder | Apple Developer Documentation
Use an expressive domain-specific language to build regular expressions, for operations like searching and replacing in text.
За то, умеют ли хорошие программисты в текст, давно написали за нас основатели 37signals/Basecamp
https://basecamp.com/gettingreal/08.6-wordsmiths
https://basecamp.com/gettingreal/08.6-wordsmiths
Basecamp
Wordsmiths | Getting Real
«Оказалось, что ЛЛМ уверенно разговаривают на уровне менеджера среднего звена. И мы почему-то решили, что это значит, что ЛЛМ разумны и обладают личностью, вместо того, чтобы предположить, что менеджеры среднего звена ей не обладают»
Одним из условий моего выхода в ЦИП была договоренность, что этой хуйней с микрооптимизациями и зажимом копеек на тулинг программистам мы заниматься не будем.
https://selix.net/notes/dont-be-frupid
:-)
Даже и смешно вспоминать об этом через года
https://selix.net/notes/dont-be-frupid
:-)
Даже и смешно вспоминать об этом через года
selix.net
Don't be Frupid
Frupidity is stupid frugality that wrecks engineering teams. Misguided cost-cutting kills productivity, morale, and innovation. You can fight it.
Если при бедственном финансовом положении компании и задержках зарплаты высокий руководитель получает повышение оклада это кое-что говорит о его щепетильности и циничности, но это может быть нужно. Компания не выживет без хороших руководителей, и иногда нужны именно циничные.
А вот если он позволяет этой информации широко разойтись среди подчинённых, то вопрос уже становится к другим качествам.
А вот если он позволяет этой информации широко разойтись среди подчинённых, то вопрос уже становится к другим качествам.
Ашманов задает резонный вопрос.
https://sponsr.ru/ashmanov
Я тоже, честно говоря, не верю в полный развод. У кого есть инсайды?
https://sponsr.ru/ashmanov
Я тоже, честно говоря, не верю в полный развод. У кого есть инсайды?