oleg_log – Telegram
oleg_log
1.78K subscribers
1.85K photos
129 videos
9 files
2.75K 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
C + плюшки = Zig. Ну простой же как палка.

https://gist.github.com/ityonemo/769532c2017ed9143f3571e5ac104e50

Воодушевлено длиннопастой про Rust https://fasterthanli.me/articles/a-half-hour-to-learn-rust
(A half-hour to learn Rust, Jan 27, 2020 · 51 minute read. Нуда)
Вы ведь знаете, что в го надо аккуратно с переменными из for-range обращаться, да?

Наверное каждый хоть раз обжигался о
for k, v := range foo {
go func() { run(k,v) }()
}

или что-то похожее, где "захватывается" значение в кложуре. Есть даже пропозал, что давайте от этого уйдём (в го2, когдатотам) https://github.com/golang/go/issues/20733

Там забавный комент добавили, может слышали, Let's Encrypt недавно откатили 3М+ сертификатов. Угадайте из-за чего)))

https://github.com/letsencrypt/boulder/pull/4690/files#diff-d02067a9f9a2bed1110fd4e98641c2effcf5d1d5f18461e35d6ac1535f6e2c21L1411-R1414
oleg_log
А по случаю таких массовых гуляний - новый проект: @oleg_log_plus 🎉🎉🎉 Стало интересно вести патреоно-спонсируемый проект, на котором я буду делиться с вами постами, докладами и прочими видами информации, которые на мой взгляд пропускать не стоит, ведь все…
Подведём итоги ~1 месяца.

Все даже хорошо. Есть посты, за которые не стыдно. Есть приятные и критикующей-правильные отзывы. Есть желание продолжать дальше.

Хотя местами хочется уйти в дикие и непрактичные темы, но по большому счёту пользы от таких мало.

Для заинтересованных @oleg_log_plus
oleg_log
Вы ведь знаете, что в го надо аккуратно с переменными из for-range обращаться, да? Наверное каждый хоть раз обжигался о for k, v := range foo { go func() { run(k,v) }() } или что-то похожее, где "захватывается" значение в кложуре. Есть даже пропозал…
Внезапно многие не знали этой проблемы (кроме тех кто не пишут на го). Так вот.

Есть даж спец страница на вики про эту особенность (а сколько статей с пеной у рта это совсем другое).

Поэтому советую прочитать https://github.com/golang/go/wiki/CommonMistakes и включить scopelint (хотя мне кажется еще кто-то ругается) в golangci-lint
:slowpoke: там слак прилёг. https://status.slack.com/#

на самом деле теперь все веселее, там всё красное, хотя днём были только сообщ.
Карантин в 2020 положительно повлиял на меня (спорт, хобби, отношения, скмья, работа, тд). Перед тем как отвечать - подумайте полминуты. Спасибо.
Anonymous Poll
21%
Да
25%
Скорее да
11%
Не знаю
26%
Скорее нет
17%
Нет
Такс, ушастики мои. Кто хочет канкаренси задачку на Go ?

Там нет явного бага, но кое-что там сделано неправильно. Мы нашли это в тестовом задании, точнее там бага не было, нам показалось) Вам конечно же версию с багом принёс.

Подсказка для тех, кто не уверены в себе ZXJyb3IgcmV0dXJuZWQgaW4gZ29yb3V0aW5l

Собственно код https://play.golang.org/p/Ktcwsdlfyyj

Ответы лучше в бота, если хотите потестить себя @oleg_log_bot
Понравился сборничек Rust Design Patterns. Чем-то (но точно не оформлением) напомнило go-advice, который я медленно веду к новой версии.

https://rust-unofficial.github.io/patterns/intro.html

Чем-то еще напоминает https://nnethercote.github.io/perf-book/ но тут скорее про перформанс и попытки выжать наносекунды, чем о идиоматичности кода (хотя не противоречит).

Еще подобные ридми-книги-сборники вспомните?

Хоть домен и кричит unofficial, но это ничего не значит)
DALL·E: Creating Images from Text

https://openai.com/blog/dall-e/
(не моя) Цитата из чата @generictalkschat

Привет всем. Я тут запилил небольшой сайтик-поисковик по рассылке Golang Weekly. Это пока что больше проверка гипотезы, но работает сносно. Надеюсь кому-то сможет помочь 😊

http://golangweeklysearch.com

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

Проблема в утекающих горутинах при возврате ошибки из функции do.

В оригинальном коде канал data был объявлен буфферезированным (значением count), соотв все бы горутины в итоге все дописали бы (даже если бы 1я вернула ошибку), и любимый GC все бы почистил.

Один из проверяющих это тестовое не заметил, что канал с буффером и заявил, что там будет дедлок. Но чуть подумав и проверим убедились в его отсутствии.

Там по коду можно еще чуть докопаться, но это выходит за рамки поста и вопроса.

Меня удивило, сколько людей не заметили этого. Было много опытных людей, кстати. Я даже задумался, а может какой-то курс по канкаренси в го (и не только) провести 🤔

(а вообще спасибо ответившим)
)))
Вот спасибо Юре за сборник. Сохранил.

Я вот как-то пытался такое собрать (https://news.1rj.ru/str/oleg_log/533) но ничего особо не вышло.

Давайте еще раз попробуем, что вы там читаете временами их техблогов.
Пссс, я тут недавно запостил давно начатый клиент для Redis на Go.

Зачем? Хотелось и другое не нравилось. У кого там были идеи по апи или еще какие-то боли из прода, подкиньте коментов/аргументов/ишью. Можно в лс. (Особо активных позову потом в чат организации)

Лайк-подписка на вырост https://github.com/cristalhq/redis #hq
GopherCon Europe 2021 начал билеты продавать. Должно быть в конце мая.

https://www.eventbrite.de/e/gophercon-europe-2021-tickets-134271103485
во-первых это красиво
Моё дело запостить и пойти на пробежку, вы там сами в коментах решите да или не.

ТЛДР: языку 30 лет, а экосистемы и тулинга нет.

https://blog.shitiomatic.tech/post/haskell-is-a-bad-programming-language/#%F0%9F%91%BE

(сайтец рандомно доклеивает решетку-эмодзи на каждый рефреш, оригинально)
Чистил зубы и подумал: сколько было пользователей на пике у ICQ?

Любимая Вики говорит: At its peak around 2001, ICQ had more than 100 million accounts registered.
https://en.wikipedia.org/wiki/ICQ

Телеграм в наше время вроде как 500М взял уже (либо оч близко к отметке).

Встречная мысль: интересно, на сколько сложнее было поддерживать такой масштаб платформы 19(!) лет назад? ни толком мониторингов, ни SRE со всеми этими антиблеймами, та даже AWS считайте не было.

Самое ужасное - спросить не у кого. Вот где кузница опыта была. *горький всплак псевдо-деда*
За баталиями в твиторе и около следите?
Anonymous Poll
21%
Да, слежу
35%
Не, умнее
44%
Хз о чем речь