oleg_log – Telegram
oleg_log
1.78K 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

about: https://news.1rj.ru/str/oleg_log/3200
Download Telegram
Если вам не повезло и вы столкнулись с discourse, то сделать его более статичным и читаемым довольно легко, надо просто....

В общем, либо нажать Ctrl + P и откроется превью для печати, либо просто добавить /print к url.

Минимум жс, максимум спокойствия при чтении. Вангую что для этого может существовать расширения для браузера (правда ссылки на коменты рубит, а и чёрт с ним)
Все так радуются по поводу го 1.13, а я вот чего-то не. Конечно релиз это круто, фиксы, фичи, обновления в пайплайнах, но..

Модули доступны уже с год (если вас занесло еще во времена vgo, ну или полгода с 1.12).

1_000 конечно красиво и полезно, но у меня мало констант в коде.

Новые фции в errors тоже ведь давно доступны в x/errrors...

Прокси и всякие sumdb эт рили классно. go.sum не раз спасал, когда какой-то гений делал форспуши тегов :(
У одних знакомых людей случился инцидент на проде, потеряли деньги из-за healthcheck-ов. Казалось бы, а что же могло пойти не так?

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

Так вот, там есть 2 вида: Liveness и Readiness.
1й отвечает на вопрос: сервис жив?
2й отвечает на вопрос: а готов ли?

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

Статья от чеках (с гифками) https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes
Ну и конфиги в кубах (для примеров) https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/

PS: люди жили не на кубернетесе, что-то свое было.
String с большой буквы, значит речь про джаву, мем справедливый, дело закрыто
Утро после "Оно 2" начнётся с треда Go vs Rust. Там ответ идёт на статью с Медиума(окт 2018), но я озвучу ток пару особенно метких вещей.

"Its interfaces aren’t very expressive" → They are, they use a different model tho, so you have to get used to it. Interfaces in go are meant for users, not for implementers of a functionality.

example: I invite you to try and sort a heap in Rust and Go using the stdlib without re-implementing the sorting part and you'll see why sort.Interface is quite nice. Even sorting two slices becomes complicated if you want to abstract them as one.

"The standard library of Rust is just as rich as that of go" → This is just false. Try creating an html template, a webserver, a URL parser... those are not easy things and it doesn't stop there. About the ecosystem replacing stdlib please see here: https://research.swtch.com/deps

"Thus, the already huge performance gap between Go and Rust" → citation needed. Rust is nice for some benchmarks but when you have to deal with a lot of async I/O and thousands of independent threads of execution you either lose fairness or efficiency.

Rust is "zero cost" in the meaning that it is amazing to not make you pay for what you don't use, but if you use something you pay for it, potentially more than stuff that had tens of years of work on it like the Go runtime.

Conclusion: Rust and Go are good tools and they have different philosophies so they will be good at most things, but *best* at different things. Don't try to make this a dichotomy because it is not. They can coexist and improve software development for everyone.

тред: https://twitter.com/empijei/status/1169245932602503170

статья: https://medium.com/@george3d6/the-success-of-go-heralds-that-of-rust-73cb2e4c0500
В OpenSSL багина и го 1.13 дропает запрос. Шо, опять?

https://twitter.com/FiloSottile/status/1169339146667778050
This media is not supported in your browser
VIEW IN TELEGRAM
такс, в тиктоке появился полезный контент, пора заводить акк
This media is not supported in your browser
VIEW IN TELEGRAM
FP:
($) :: (a -> b) -> a -> b

Real FP:
it calls itself, it's pretty dope
oleg_log
Давно не было, сегодня #полезняшки о КАФКЕ https://github.com/edenhill/kafkacat - Generic command line non-JVM Apache Kafka producer and consumer - эту штуку даже на недавнем Kafka Summit в Лондоне рекламировали https://github.com/fede1024/kafka-view - Kafka…
А ведь когда-то я вел #полезняшки так-что сегодня тулзы на Rust.

https://github.com/starship/starship - The cross-shell prompt for astronauts — работает невероятно шустро и приятно расширяет промт консоли.

https://github.com/sharkdp/hyperfine - A command-line benchmarking tool - быстрые и эффективные бенчи.

https://github.com/bootandy/dust - A more intuitive version of du in rust - просто du на стероидах.

https://github.com/mookid/diffr - Yet another diff highlighting tool - когда хочется новый дифф
Damn
Пожалуй один из лучших постов от Дейва Чейни, в этот раз про аллокации, апи и все это в #go

TLDR:
func (r *Reader) Read(buf []byte) (int, error)
vs
func (r *Reader) Read() ([]byte, error)

и как не мучать пользователей своего апи с аллокациями.

Даже немного обидно, что этот вопрос стал глобально озвучен, на интервью теперь не спросишь....

https://dave.cheney.net/2019/09/05/dont-force-allocations-on-the-callers-of-your-api
omg

В #go 1.14 планируется добавить пакет bytes/hash с хешем для строк.

https://github.com/golang/go/commit/bf36219cdd1d354d58107ed8903679f538948154

и ишью почему-зачем https://github.com/golang/go/issues/28322
Человек сменил адрес с 0.0.0.0 на 127.0.0.1 в тестах и время выполнения тестов с 17 минут снизилось до 5. Пару минут в гугле привели к этому:

When a service is listening on 0.0.0.0 this means the service is listening on all the configured network interfaces, when listening on 127.0.0.1 the service is only bound to the loopback interface (only available on the local machine)

https://serverfault.com/a/78049

(если кто-то знает объяснение лучше или подобные трюки, пинганите плс @olegkovalov)
Нашел официальный канал о дизайнах телеги. Куча моков, идей и громких видео (эт тип предупреждение).

Большинство, конечно же, не будет сделано, но повтыкать прикольно.

https://news.1rj.ru/str/designers
oleg_log
Я как бы активный жаворонок, спать днём для меня дикое исключение. И вот 1й раз за полгода я решил подремать днём (организм потребовал), как полетели алёрты из любимого PagerDuty , что на тестовом окружении много 4хх. Да чтоб меня :/
Вчера было тож самое, после с 9 вечера стрельнули алёрты, тож тест, тож не критикал. Сегодня ненавязчиво попросили не жать acknowledge, а принимать меры. Ну да, в 9 вечера теперь это буду делать.