Size: a a a

2019 April 10
oleg_log
Во время миграции на новый кластер кафки столкнулись с проблемой, что наш сервис следил за изменением конфиг-файла, и без рестарта затаскивал новые данные.

Так получилось, что про этит хот-релоад мы забыли и произошел небольшой разъезд данных.

И вот логичный вопрос: а зачем вообще этот хот-релоад был нужен? Локально - да, удобно стартануть, подебажить, что угодно.

Но что-то мне подсказывает, что каждый запущенный инстанс(будь-то лямбда, докер или целая вм) должны быть максимально иммутабельны, чтобы никакие внешние факторы не породили увлекательный факап.

UPD: речь о конфиге инфры(адреса, порты тд), подправить логику - ок(фичер флаг, логгинг тд).
источник
oleg_log
Получил самый необычный режект в жизни:

... Тебе просто не хватило опыта, к сожалению.

Совсем не понимаю этой фразы 😥
Разве каждый новый сотрудник приходит и знает всю систему до последнего коммита?
Или за 1.5ч можно полностью протестить все знание человека? хм-хм
источник
oleg_log
“If I had known about Mathpix earlier, perhaps I would have had enough time to work out the Grand Unified Theory.”
Albert Einstein

И он таки прав, тулза смотрится восхитительно - делаешь скрин, а получаешь латех мат выражения.

https://mathpix.com/
источник
oleg_log
I am completely over the phrase "cloud native". I'm running things in data centers while managing them with a control plane and observing them with logs and metrics. I was also doing this 20 years ago. The tools have gotten better and the marketing speak has gotten worse.
(c) twitter taotetek
источник
oleg_log
Мне начинает нравится этот обычай: приходит Russ Cox и говорит - нет, это мы делать не будем:

Re #17566, package-runtime-limited annotations are fine to experiment with, without a proposal. We have plenty of those already.

But for the broader space of all Go packages, micromanaging optimizations at the source code level like //go:inline or __attribute__((hot)) etc cuts against the grain of Go's approach to software development. This is why we have only one GC tuning knob for example (just GOGC). Make the tools smart enough to make a good decision instead of turning all the programmers into tuning AIs.

Closing again.


Вот вроде и прав - зачем давать непонятные конструкции разрабам, пусть лучше код пишут и думают про бизнес задачи, но эх...порой так не хватает пару вещей заинлайнить, ведь знаешь - оно тут надо.

Сложно быть Таносом.
источник
2019 April 11
oleg_log
У айтишников началось весеннее обострение  - делать деплои/миграции/фиксы на проде в нерабочее время с последущим фиксом деплое/миграций/фиксов на проде в нерабочее время.

Я за неделю столкнулся с 4мя такими ситуациями в разных командах и фирмах. Кто-то начинает что-то в обед, не успевает до полудня, большая часть уходит домой(или в пятницу), а инициатор со словами: нушож там может случится плохого?

В итоге вечером 4 человека сидят и фиксят с дивана дома. Не понимаю этих людей, вроде ж очевидное правило: не лезь на прод 1 в нерабочее время. Ну или ваще перед выходными. Ну топчик.
источник
oleg_log
Я не проводница, но мне интересны результаты:
Анонимный опрос
45%
Кофе
55%
Чай
Проголосовало: 341
источник
oleg_log
Men are more likely to say that being tasked with non-development work is a problem for them, while gender minority respondents are more likely to say that toxic work environments are a problem.
(c) Stackoverflow survey
источник
oleg_log
Теперь вместо ютюб видоса oHg5SJYRHA0 буду кидать это. В общем-то шикарный промоут своей либки. Запомню.

https://github.com/mathdroid
источник
oleg_log
>  Мы можем даже напрямую передавать флаги линкору через CGO_LDFLAGS.

- медленный линкор - ну звучит же
 медленный линковщик - не
- Он просто не торопится.
- прям как линкор
источник
2019 April 12
oleg_log
Сервера matrix взломали через необновленный Jenkins, 2 раза. При смене пароля нашли баг в клиенте riot.im, который проявляется в потере резервных копий ключей для восстановления подписи.

Эпично лажанулись
источник
oleg_log
"Если ты не участник ботнета, ты просто не в курсе"

Умельцы через html5 аттрибут ping сделали ддос на 70М запросов в течении 4х часов. Ну красиво же!

https://www.imperva.com/blog/the-ping-is-the-thing-popular-html5-feature-used-to-trick-chinese-mobile-users-into-joining-latest-ddos-attack/
источник
oleg_log
Martec’s Law: Technology changes exponentially, organizations change logarithmically
источник
oleg_log
схема о том, как слак решает пушить оповещение или нет
источник
2019 April 13
oleg_log
Great developers are raised, not hired.
источник
oleg_log
When I get a C++ meme I don't even bother checking if it's correct or not anymore, because reality is likely even worse than the meme.
источник
2019 April 15
oleg_log
А спонсор этого понедельника "го и почему аргументы хейтеров не передаются по ссылке".

Что-то мне за последнюю неделю надоело слышать одни и те же вещи, почему голанг плохой. Поэтому собираю все за и против и больше не участвую в спорах на эту тему. Хотелось написать подробно, но текст заметно растет. Сорян.

- "Язык простой и тупой, профессионалы на таком не пишут"
- И эта упрощенность помогает людям больше думать о продукте, чем о том, чтоже в этих 10 строках намудрено. Прощайте магические аннотации, разные способы обойти коллекцию и все эти фп-штуковины, за которыми скрыты обычные вещи.

- "Вендоринг, пакетный манагер это копипаста кода и отстой"
- Проблема вендоринга давно решена, прост многие не обновили методички. И модули неплохо набирают обороты, правда миграция на них чуток поломало экосистему, никто не безгрешен.

- "if err != nil это фейл дизайна языка"
- Но который заставляет явно обрабатывать ошибки и перекладывает ответственность на вызывающего, а не кого-то выше по стеку. Что также упрощает работу во многих потоках, с исключениями это не так очевидно. И в ближайшей версии будут упрощения работы с ними.

- "Язык без дженериков не нужен"
- Я даже больше скажу - без них можно решить больше проблем, чем вам кажется. Во-первых не во всех языках они были изначально, во-вторых, если без них ничего не написать, то почему на нем там много вещей пишется? И да, они тоже будут в ближайшее время добавлены.

- "GC нужен для школьников, а еще он тормозит"
- Трейдерские платформы пишутся на языках с гц и успешно делают деньги. Гошный гц был слаб лет 5 назад.

- "Го все так же дно, ведь нет фичи Х"
- Что упрощает работу людей и авторов, делает язык простым, а компилятор быстрым.

- "А язык Х лучше"
- Несомненно.

ʕ◔ϖ◔ʔ
источник
oleg_log
Сегодня обратил внимание на жавовское Arrays.asList(...). IDEA подсказывает, что при передачи одного элемента лучше использовать Collections.singletonList(...), что вроде логично.

А теперь самое прикольное: в каждой из этих фций используется своя имплементация интерфейса List. То есть на пустом месте созидаются сущности, которые выполняют одно и тоже, не несут никакой уникальности, да еще и приватные, то есть живут только в этих фциях.

ООПГМ ass is.
источник
2019 April 16
oleg_log
источник
oleg_log
Пришлось на ревью расчехлять стайлгайд для sql. Меньше всего ожидал, что это понадобится мне (прост с БД не работаю), но вот, советую иметь под рукой.

https://www.sqlstyle.guide/
источник