понедельник, 23 августа 2021 г.

Небортовой самописец самопалов

https://www.facebook.com/aavtaran/posts/1212264005523974

Есть такой сорт программистов - "самописцы" - отважные изобретатели велосипедов, аж двухколёсных.
Если они могут что-то написать сами - они будут писать это сами, несмотря на то, что все уже давно написано до них и протестировано на тысячах проектов, как, например, логгеры.
Казалось бы, задача решена, обкатана, к мотыге прикручен фонарик и трактор, но нет!
Реальная история: Человек потратил время и написал свой логгер.
На вопрос «зачем?», отвечает, что у него там «всякие полезные штуки», например, «штатно пишутся только ворнинги и эрроры, а вот если выскочит эксепшн, то предыдущие N сообщений включая трейс тоже попадут в лог». Замечательно.
Также работник мотивировал самопал тем, что лог всегда можно посмотреть «на ходу и он не залочен» (открыл Маврикий в 2016 году), даже специально там мьютексы использовал, молодец какой.
Ну и вишенка - лог писался в xml руками. Файл открывался на запись, указатель ставился в конец и отматывал назад на несколько байт (надо же перетереть закрывающий тэг)
- Почему в xml?
- Ну.. эм.. так удобнее анализировать утилитами.
При этом данные все равно строкой.
Инструментарий он тоже свой для анализа логов писал, ну а что, кто там полезет разбираться – сидит человек, «работает».
В итоге производительность всей этой красоты была 25 записей в файл в секунду. Таким образом, логгер ограничивал производительность всей системы. А это время и деньги, потому что если записи в базу данных логгировать, то больше 25 записей в секунду не засунешь никогда.
А потом Заказчик ищет консультанта на стороне, да еще и боится обидеть «самописца», который не может разобраться, почему всё тормозит и не понимает, как исправить и использует нелепую фразу-заклинание: «Это что-то системное».
- Слушай, заколебались уже. Можете, не афишируя, глянуть, а? – спрашивает Заказчик.
- Можем.
Интереса ради берем первый попавшийся NLog и сравниваем с пожеланиями «самописца» к своей самоделке. Все решается конфигурацией за 5-15 минут в зависимости от степени знакомства.
Стартовым бонусом - не 25 записей в секунду, а 200 тысяч в ту же секунду, и то понятно, что если еще поработать, то можно удвоить.
При этом не надо ничего налаживать, потому что всё, с чем среднестатистический проект может столкнуться, уже давно найдено и исправлено.
Нет, «самописцы» не тупые, как мог бы подумать кто-то тупой. Напротив, они поражают бессмысленной глубиной. Они отказываются от фреймворков, от библиотек и даже от конструкций языка, странно, что они при этом не идут дальше и не отказываются от чужих (неизвестно кем написанных) языков, компиляторов, операционных систем и архитектур железа.
Даже не интересно, в какой момент у них наступает ступор и деревянность. Скорее всего, всё закончилось там же, где началось. Выучил что-то одно где-нибудь, а может, даже и в вузе, завис и решил, что познал и постиг. И вот это типа кошерно. А обращать внимание на то, что в мире произошло море всего, изучать опыт соседей по планете - типа от лукавого. Так и гоняют черепашку в logo, хотя нет, это уже для продвинутых, не кошерно.
P. S. Все совпадения случайны.
P. P. S. Нет, это не про тебя.
P. P. P. S. И не про тебя.
P. P. P. P. S. Вообще не комментируй эту запись.

Комментариев нет: