Нашлась старенькая статья о том, что подсветка комментариев в коде сломана.
Конечно там берется пример джавы с её неразумно ужасными javadoc (см пикчу), но если отойти от коментов документации и использовать комментарии в разумных местах, то они должны быть как раз яркими, чтобы читатель их замечал (подразумевается, что комент не просто так написан). И там чуток про гит дифф.
Я на самом деле не знаю, я согласен с ним или нет. Либо я чаще вижу полезные коменты и у меня нет с этим проблем, либо я рефлекторно скипаю ненужное. Что в общем-то тож самое.
https://jameshfisher.com/2014/05/11/your-syntax-highlighter-is-wrong/
Конечно там берется пример джавы с её неразумно ужасными javadoc (см пикчу), но если отойти от коментов документации и использовать комментарии в разумных местах, то они должны быть как раз яркими, чтобы читатель их замечал (подразумевается, что комент не просто так написан). И там чуток про гит дифф.
Я на самом деле не знаю, я согласен с ним или нет. Либо я чаще вижу полезные коменты и у меня нет с этим проблем, либо я рефлекторно скипаю ненужное. Что в общем-то тож самое.
https://jameshfisher.com/2014/05/11/your-syntax-highlighter-is-wrong/
oleg_log
Очередные +256, есть чат, там можно порадоваться за го и самолеты ИЛ, совсем не токсичный чат. я серьезно. @append_only_log (забавно, у предыдущего поста про чат 768 просмотров)
1024 и традиционная загонялка в чат @append_only_log (после джоина пожалуйста представьтесь с #whois)
Новые новости из мира микросервисов.
Владельцы сервиса не могут понять, как называется их сервис. В одном конфиге так, в глоб реестре сервисов так, на деплоях по другому.
Уже 5 человек пытаются распутать эту #саксес_сториз
Владельцы сервиса не могут понять, как называется их сервис. В одном конфиге так, в глоб реестре сервисов так, на деплоях по другому.
Уже 5 человек пытаются распутать эту #саксес_сториз
oleg_log
#полезняшки fd - еще один велосипед на расте, теперь о поиске файлов mcfly - быстрый поиск по истории баша Apptivate - хоткеи на открытие приложений под макось Caffeine - запрещает включение скринсейвера, опять макось https://github.com/sharkdp/fd ht…
Давно не было, сегодня #полезняшки о КАФКЕ
https://github.com/edenhill/kafkacat - Generic command line non-JVM Apache Kafka producer and consumer - эту штуку даже на недавнем Kafka Summit в Лондоне рекламировали
https://github.com/fede1024/kafka-view - Kafka web UI да еще и на расте
https://github.com/linkedin/Burrow - тулза от авторов(или уже нет) для мониторинга лага. Правда порой баги и алёрты с неё ловили :(
https://github.com/birdayz/kaf и альтернатива первому, но уже на го, а не си
https://github.com/edenhill/kafkacat - Generic command line non-JVM Apache Kafka producer and consumer - эту штуку даже на недавнем Kafka Summit в Лондоне рекламировали
https://github.com/fede1024/kafka-view - Kafka web UI да еще и на расте
https://github.com/linkedin/Burrow - тулза от авторов(или уже нет) для мониторинга лага. Правда порой баги и алёрты с неё ловили :(
https://github.com/birdayz/kaf и альтернатива первому, но уже на го, а не си
GitHub
GitHub - edenhill/kcat: Generic command line non-JVM Apache Kafka producer and consumer
Generic command line non-JVM Apache Kafka producer and consumer - edenhill/kcat
Сегодня на еженедельное демо позвали ХРшу(тимлид позвал), посмотреть как мы работаем, чем занимаемся.
В течении часа ей пришлось смотреть на WireShark, непонятные диаграмммы Service Mesh, слушать про миграцию сервисом на новые VM и делать вид, что понимает шутки на ответ из curl-a.
Боюсь теперь знать, какой фидбек она напишет о нас.
В течении часа ей пришлось смотреть на WireShark, непонятные диаграмммы Service Mesh, слушать про миграцию сервисом на новые VM и делать вид, что понимает шутки на ответ из curl-a.
Боюсь теперь знать, какой фидбек она напишет о нас.
Сегодня с автором @golangdigest разгорелся диалог, когда нужно давать интерфейс для логгера? (Речь о го, но офкорс применимо к остальным)
И вот итог:
- если у вас приложение(консольное, десктопное), то тут передача логгера ни к чему(кэп). Хватит параметра для файлика куда писать
- вебсервис почти тоже самое, либо пишите локально, а потом другой инструмент собирает, либо по сети куда-то туда(опять кэп). Тут только вопрос - жсон или тхт. Тут одного верного ответа не будет, зависит от фирмы/команды/требований. Но я бы начинал с тхт.
- но если у вас либа, вот тут интересно.
Если судьба дала вам сделать простенькую библиотеку с коротким жизненным циклом(какая-то математика, парсилка или клиент к бд), то обвешиваться логгером и продумыванием его методов нет смысла, пользователю либы лог ничего не даст(в большом большинстве случаев).
А вот если срок жизни больше(читай как клиент Consul, агрегатор событий, и все в таком духе), тот тут уже стоит дать возможность логгировать так, как захочет страдалец/ваш пользователь. Лишний раз узнать, что соединение с консулом отпало про причине ххх никому лишней не будет.
Такие дела, готов спорить до вашего посинения.
И вот итог:
- если у вас приложение(консольное, десктопное), то тут передача логгера ни к чему(кэп). Хватит параметра для файлика куда писать
- вебсервис почти тоже самое, либо пишите локально, а потом другой инструмент собирает, либо по сети куда-то туда(опять кэп). Тут только вопрос - жсон или тхт. Тут одного верного ответа не будет, зависит от фирмы/команды/требований. Но я бы начинал с тхт.
- но если у вас либа, вот тут интересно.
Если судьба дала вам сделать простенькую библиотеку с коротким жизненным циклом(какая-то математика, парсилка или клиент к бд), то обвешиваться логгером и продумыванием его методов нет смысла, пользователю либы лог ничего не даст(в большом большинстве случаев).
А вот если срок жизни больше(читай как клиент Consul, агрегатор событий, и все в таком духе), тот тут уже стоит дать возможность логгировать так, как захочет страдалец/ваш пользователь. Лишний раз узнать, что соединение с консулом отпало про причине ххх никому лишней не будет.
Такие дела, готов спорить до вашего посинения.
У сервиса есть фича - перейти readonly и на любое мутирующее действие нужно отвечать ошибкой(хттп код). Вопрос - каким?
(репост оч приветствуется)
(репост оч приветствуется)
Anonymous Poll
10%
400 Bad Request
19%
403 Forbidden
37%
405 Method Not Allowed
14%
406 Not Acceptable
3%
412 Precondition Failed
2%
500 Internal Server Error
2%
501 Not Implemented
2%
502 Bad Gateway
7%
503 Service Unavailable
4%
other (отвечайте сюда @olegkovalov)
oleg_log
Сидим на софтскилловом тренинге, говорим о том, о сём. И тут врубается экран и начинается презентация из соседней комнаты о безопасности(!!!), причем от другой фирмы. Мы за пару слайдов успели кое-что узнать о внутренностях чужой корпо. Отета блен пенетрейшон…
История почти повторилась. Пришел в столовку поесть(общая для бизнес центра), сел за рандомный столик, ко мне подсела парочка топманагеров из нашей фирмы.
Теперь я знаю что сколько у нас стоит и какие планы на ближайшие пару лет. Прикольно. Правда сзади сидели другие люди, да и со всех боков. Хехе.
Кстати по этой причине коупные фирмы аля гугл, мс, интел и тд делают столовые внутри, чтобы языкастые сотрудники лишний раз не сливали годноту.
Все таки social engineering это неубиваемая ветвь дыр в безопасности.
Теперь я знаю что сколько у нас стоит и какие планы на ближайшие пару лет. Прикольно. Правда сзади сидели другие люди, да и со всех боков. Хехе.
Кстати по этой причине коупные фирмы аля гугл, мс, интел и тд делают столовые внутри, чтобы языкастые сотрудники лишний раз не сливали годноту.
Все таки social engineering это неубиваемая ветвь дыр в безопасности.
Вроде и пятница, а утром начинается с алертов, потому что кафка на тестовом окружение шлёпнулась, а тима отвечающая за её работоспособность не реагировала.
*Click* noice
*Click* noice
oleg_log
Особо не знаю что тут нужно писать, а точнее о чем хочется, но скорее это будут бугурты об айти и жизненные этапы. So let’s go ¯\_(ツ)_/¯
Хм, это получается сегодня-вчера-позавчера полгода с момента создания блога, о как время флашнулось 🎉
У меня уже пару недель крутится назойливая мысль, и сейчас появился еще один повод её озвучить.
Надо делать чаще 'kill -9'-like по своим сервисам. Все.
В чем соль? Конечно же не надо убивать БД, кеши(?), очереди и ЛБ, ну давайте честно, не каждый согласится на такой chaos testing (хотя вещь полезная и нужная).
Но в большинстве случаев/сервисов их надо не бояться дропать и рестартовать.
Многие это делают неохотно, часто даже с паникой в глазах это выслушивают, но на самом деле, все важные данные уже лежат в других (желательно) неубиванмых местах (бд, очередь, и иногда кеш).
Любой сервис, которые занимается только обработкой не имеет аргумента быть долгоживучим.
Если есть graceful restart, нет супер требований на низкий латенси и кеш-хит (го честно, не все пишут такие вещи), то убить и запустить сервис вопрос желания.
В одном проекте текут файлдескрипторы, и проще сделать рестарт раз в неделю, чем разбираться что там (хотя и написано хорошо все).
У одного из друзей течет память, не сильно, но за пару дней заметно боявляется +50 мб. Бах и проблемы нет, pagetduty молчит, а тасочка на будущее висит.
Или тот же гуру хайлоада на жаве Martin Thompson, они свои сервисы биржи убивают вечером и запускают по новой. Сомневаться в качестве его кода я не решусь, но это практику они применяют.
Короч в личных проектах, перед выходом на рид прод, я определенно потрачу полтора дня, чтобы можно было кильнуть любой компонент продукта.
Должно будет когда-то помочь. Change my mind.
Надо делать чаще 'kill -9'-like по своим сервисам. Все.
В чем соль? Конечно же не надо убивать БД, кеши(?), очереди и ЛБ, ну давайте честно, не каждый согласится на такой chaos testing (хотя вещь полезная и нужная).
Но в большинстве случаев/сервисов их надо не бояться дропать и рестартовать.
Многие это делают неохотно, часто даже с паникой в глазах это выслушивают, но на самом деле, все важные данные уже лежат в других (желательно) неубиванмых местах (бд, очередь, и иногда кеш).
Любой сервис, которые занимается только обработкой не имеет аргумента быть долгоживучим.
Если есть graceful restart, нет супер требований на низкий латенси и кеш-хит (го честно, не все пишут такие вещи), то убить и запустить сервис вопрос желания.
В одном проекте текут файлдескрипторы, и проще сделать рестарт раз в неделю, чем разбираться что там (хотя и написано хорошо все).
У одного из друзей течет память, не сильно, но за пару дней заметно боявляется +50 мб. Бах и проблемы нет, pagetduty молчит, а тасочка на будущее висит.
Или тот же гуру хайлоада на жаве Martin Thompson, они свои сервисы биржи убивают вечером и запускают по новой. Сомневаться в качестве его кода я не решусь, но это практику они применяют.
Короч в личных проектах, перед выходом на рид прод, я определенно потрачу полтора дня, чтобы можно было кильнуть любой компонент продукта.
Должно будет когда-то помочь. Change my mind.