Size: a a a

2019 August 08
oleg_log
Тут роадмап Envoy на 2019 огласили, все круто, и тебе HTTP/3, и WASM, и даже поддержка Kafka(Redis, ZK, MySQL уже есть)...даже конкуренты Nginx & HAProxy фичи копируют, вот только судя по гитхабу и стонам соседней тимы не все так вылизано.

А еще Lyft пихает 40М рпс в Редис, однако.

https://blog.getambassador.io/envoy-proxy-in-2019-security-caching-wasm-http-3-and-more-e5ba82da0197
источник
oleg_log
источник
oleg_log
источник
oleg_log
Прост потому что красиво сделано
источник
oleg_log
Узнал, что у одних людей была авария на проде из-за пустых строк.

В Puppet было чууть-чуть криво написан шаблон конфига (пустые строки после иф-ов), что породило неправильные параметры для Varnish...

В итоге кеши не наполнялись правильно и в общем это перегрузило->убило сервисы.

Бойтесь пустых строк
источник
oleg_log
Такой пришел версию подбить от скуки, а тебе говорят заполняй пдф и шли на мыло. Удачи братаны.

Блин, да есть же боты, сложно блин прикрутить было one-click CLA ? аргх

https://github.com/cloudfoundry/go-diodes/pull/23#issuecomment-519414655
источник
oleg_log
источник
oleg_log
В слаке Kong есть канал YELLING где все ходят покричать капсом, если что-то не работает. Прикольно.

(Kong занимается клауд платформаме, в https://konghq.com/)(туда один из наших уходит, после пары месяцев полу-ремоутом, котлинист стал гофером, помянем)
источник
oleg_log
Очень детальная статья про тсп, хттп и первые 14Кб. В общем опять про тсп и как оно работает. И конечно любимый WireShark 🦈

https://t.me/patchcord/1195 (хороший канал, если вы близки к сетям)
источник
oleg_log
Занесло на хабре почитать перевод статьи про генерики в го, ну то есть комент, чтож еще. И нарвался на шикарную ветку коментов.

Есть такой юзер TheShock, который поливает го со всех возможных шлангов, но тут миленький фейл получился: https://habr.com/ru/company/mailru/blog/462811/#comment_20481883

ТЛДР: почему нет конструкций <T> или [T] ?
Потому что усложнит гошный парсер. Пример из Раста if a as u32 < 5 { ... }
error: < is interpreted as a start of generic arguments for u32, not a comparison

Пример из С#
bool b = f as F < a; // fail
bool b = (f as F) < a; // ok

*злорадно хмыкаю нефурфажным гоферным носиком*
источник
oleg_log
Собственно вопрос про: усложнять ли парсер или усложнять жизнь разрабам?

Пойдешь по первому пути - потеряешь в скорости компиляции (а ведь это хорошая фича).
Пойдешь по второму пути - заставишь лишний раз не юзать генерики где не надо (звучит го-вэй со всеми последствиями)

Я за 1е, доп скобки (type T contr) не так и ужасны, зато смотрится прозрачно.
источник
oleg_log
Поедем с круглыми скобками или двинем в спец символы?
Анонимный опрос
28%
Круглые скобки (я гофер)
31%
Круглые скобки (я не гофер)
10%
Спец символы (я гофер)
29%
Спец символы (я не гофер)
2%
Что-то другое мне в лс @olegkovalov
Проголосовало: 328
источник
oleg_log
Круглые скобки это то, что предлагается в пропозале
аля func (type T contr)(s []T)

Ну а "спец символы" это всякие <T>, [T], #$!#$ и что угодно можно придумать-стащить с других языков.
источник
oleg_log
How is git commit sha1 formed

Сколько жил, столько думал, что в хеше комита есть привязка ко времени. А вот нифига.

(printf "commit %s\0" $(git cat-file commit HEAD | wc -c); git cat-file commit HEAD) | sha1sum
(на макоси у меня прост shasum заработало)

gist с разбором https://gist.github.com/masak/2415865

Сурс https://t.me/rxd_txd/1634

UPD: я ошибся, см след пост https://t.me/oleg_log/1631
источник
oleg_log
Ой я дурнооооой.
Время же указано в git cat-file commit HEAD

Конечно же при git reset HEAD~1 и повторном комите будет другой хеш.

Спасибо Андрею за меткий вопрос.
Посыпаю голову потраченными байтами.
источник
2019 August 09
oleg_log
На последнем ретро решили, что в течении недели будет вести документ, куда записывать вопросы или вещи, которые хотелось бы прояснить.

И потом в пятницу вместе это разбирать, находить ответы, возможно делать таски на будущее. Звучит как улучшения рабочего процесса.

Кстати легальный способ не работать. Тимлиду впарить не сложно будет, ведь "мы лучшем поймем наши проблемы и дыры в знаниях". Пользуйтесь 😈
источник
oleg_log
Некоторые спрашивали пример/фикс:

<% %> Executes the ruby code within the brackets.

<%= %> Prints something into erb file.

<% -%> Avoids line break after expression.

<%# %> Comments out code within brackets; not sent to client (as opposed to HTML comments).

Линк https://stackoverflow.com/a/7996827/433041
источник
oleg_log
Выходишь на дежурство(on-call которое), вроде и все работает, а приходится отвечать за 60+ сервисов (дев/тест/прод и как минимум каждое в 4х инстансах). Неприятно.
источник
oleg_log
Жаль я раньше этого не видел, отличное объяснение для тех, кто не понимает природы отсутствия автоматической конвертации []int <-> []interface{} #go
сурс https://habr.com/ru/post/325468/
источник
oleg_log
Очередные +256
короч чат кому надо
культурно и не ток про го
@append_only_log
источник