oleg_log
1.77K subscribers
1.86K photos
129 videos
9 files
2.77K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
У меня уже пару недель крутится назойливая мысль, и сейчас появился еще один повод её озвучить.

Надо делать чаще 'kill -9'-like по своим сервисам. Все.

В чем соль? Конечно же не надо убивать БД, кеши(?), очереди и ЛБ, ну давайте честно, не каждый согласится на такой chaos testing (хотя вещь полезная и нужная).
Но в большинстве случаев/сервисов их надо не бояться дропать и рестартовать.
Многие это делают неохотно, часто даже с паникой в глазах это выслушивают, но на самом деле, все важные данные уже лежат в других (желательно) неубиванмых местах (бд, очередь, и иногда кеш).

Любой сервис, которые занимается только обработкой не имеет аргумента быть долгоживучим.
Если есть graceful restart, нет супер требований на низкий латенси и кеш-хит (го честно, не все пишут такие вещи), то убить и запустить сервис вопрос желания.

В одном проекте текут файлдескрипторы, и проще сделать рестарт раз в неделю, чем разбираться что там (хотя и написано хорошо все).
У одного из друзей течет память, не сильно, но за пару дней заметно боявляется +50 мб. Бах и проблемы нет, pagetduty молчит, а тасочка на будущее висит.
Или тот же гуру хайлоада на жаве Martin Thompson, они свои сервисы биржи убивают вечером и запускают по новой. Сомневаться в качестве его кода я не решусь, но это практику они применяют.

Короч в личных проектах, перед выходом на рид прод, я определенно потрачу полтора дня, чтобы можно было кильнуть любой компонент продукта.
Должно будет когда-то помочь. Change my mind.
oleg_log
Photo
По поводу private[this]. Это 'access qualifiers' в скалочке.

То есть можно дать доступ к полю, только для самого инстанса объекта. Эдакий ООП на максималках:
class Foo {
private[this] def isFoo = true

def doFoo(other: Foo) {
if (other.isFoo) { // this line won't compile
// ...
}
}
}


Больше примеров https://www.jesperdj.com/2016/01/08/scala-access-modifiers-and-qualifiers-in-detail/

Кстати, в каких языках еще такое есть? 🤔
ААААААААА
Я ПРОПУСТИЛ НОВЫЕ СИНГЛЫ BLACK KEYS

Оказывается еще и новый альбом в конце июня!

И да, уже 5 лет пролетело с последнего альбома, боюсь ретроспективу своей жизни делать за этот период.

Хм, а поскидывайте музыку, которая вам нравится, чего таить -> @olegkovalov

(название песни и мое вероисповедание - чистое совпадение, я не троль)
https://www.youtube.com/watch?v=TCYsY5B8hcQ
Воскресенье начинается с тулзы для обработки логов нгинх (хотя и не только).

Tailor provides the functionality of tailing nginx access log under logrotate. Tailor will follow a selected log file and reopen it if it's been rotated.

Вертится в реальном хайлоаде 100к+ рпс и все работает шустро. Я это подтверждаю 👌

https://github.com/un000/tailor
oleg_log
Воскресенье начинается с тулзы для обработки логов нгинх (хотя и не только). Tailor provides the functionality of tailing nginx access log under logrotate. Tailor will follow a selected log file and reopen it if it's been rotated. Вертится в реальном хайлоаде…
Я так прикинул, а ведь сколько еще таких полезных штуковин написано в мире, но которые не дошли до публичности? 🤔

Тип:
- эээ, ну оно писалось только под мои нуждны
- нет тестов (сам этим грешу и не паблишу много чего)
- эээ надо еще ридми написать
- so on

Было бы круто, если бы Github, Digitalocean etc на Хактоберфест не просто просили делать патчи, а еще поощряли бы паблишинг каких-то тулз/либ/приложений.

Правда набегут боты и позаливают форки друг-друга. Еще и в лучшем случае. Беда. Но тему стоит запомнить.
Такс, в одном чате подсмотрел диалог и теперь спрошу у вас: а каким вы видите идеальное образование?

Как правильно строить обучение? как проверять знания? что стоит добавить, а что точно не стоит?

В основном интересно айти(мда)(да и публика из этой же области), но если можете сказать за другие - рад выслушать.

Всех ректоров и завучей прошу сюда -> @olegkovalov
Cloudflare опять радуют, запускают Workers в воскресенье, как раз повод покодить.

Если вы где-то там зимой регались на workers.dev то теперь ваш сабдомен доступен, 30 воркер-скриптов, 100к запросов в день бесплатно. И в бонус новые доки и тутриалы.

Лимиты в 50мс и 128МБ за выполнение так и остались :(
И да, теперь не только JS, но и Rust, в полноценном виде.

Налетай https://workers.cloudflare.com
Пролистал 365 каналов из раздела технологий https://tlgrm.ru/channels/tech и...стало грустно.

Репосты-репостов новостей, мемы с реддита или паблов в вк и частные "блоги" рекламирующие курсы.

Соооовсем мало оригинальности и авторства. А жаль.
Как раз тут про опенсурс говорили и вспомнилось (в контексте гитхаб-спонсоров).
Как всегда технологии опережают головы людей.
This media is not supported in your browser
VIEW IN TELEGRAM
Microservices.gif
Когда делал этот мем - плакал
Тут Александр (https://xn--r1a.website/defront/135) запостил ссыль на хабр, о CI в Яндексе, и внезапно оказывается что монорепа это сложно. Особенно огромная на 25гб кода.

Меня заинтересовала последовательность шагов билда: configure -> build -> style -> test. Почему стиль после билда? Проверка стиля ведь намного быстрее будет. Странно 🤔

И прикольное решение с флакки/магиющими тестами. Если я не ошибаюсь, то в одном баре чел из гугла говорил, что они еще и собирают детальную стату по тестам. С историей и всеми почти МЛ штуковинами.
oleg_log
Тут Александр (https://xn--r1a.website/defront/135) запостил ссыль на хабр, о CI в Яндексе, и внезапно оказывается что монорепа это сложно. Особенно огромная на 25гб кода. Меня заинтересовала последовательность шагов билда: configure -> build -> style -> test. Почему…
Ах да, любимые комментарии из серии: слышу звон и больше ничего слышать не хочу я тут специалист в фиолетовых штанах.

Большие фирмы (в плане реально огромные) живут по другим законам. Им проще сделать свой велосипед, но черт возьми свой. В котором авторы знают, что происходит, как, почему и где лимиты этого решения. А еще не забывайте про лицензию, иногда даже Apache 2.0 запрещено.

Один чел в коментах сказал, что за велосипед можно получить по шапке. Могу только посовувствовать, но тянуть на всех свою сову, как минимум смешно.

И да, я отдельно люблю монолиты, что в них видно весь код (кроме сесурити/патентных вещей).

PS:
- я рад, что перестал читать хабр и хн, и вам советую
- но ты же сам начал про это писать
- ладно я побежал, пора мемы в профанктор пилить
В этих гугл подсказках есть какой-то свой утонченный пост-шарм.
Forwarded from компаньон аутиста
абстрактный юмор