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. Нуда)
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. Нуда)
Gist
Zig in 30 minutes
Zig in 30 minutes. GitHub Gist: instantly share code, notes, and snippets.
Вы ведь знаете, что в го надо аккуратно с переменными из for-range обращаться, да?
Наверное каждый хоть раз обжигался о
Там забавный комент добавили, может слышали, Let's Encrypt недавно откатили 3М+ сертификатов. Угадайте из-за чего)))
https://github.com/letsencrypt/boulder/pull/4690/files#diff-d02067a9f9a2bed1110fd4e98641c2effcf5d1d5f18461e35d6ac1535f6e2c21L1411-R1414
Наверное каждый хоть раз обжигался о
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_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
Есть даж спец страница на вики про эту особенность (а сколько статей с пеной у рта это совсем другое).
Поэтому советую прочитать https://github.com/golang/go/wiki/CommonMistakes и включить scopelint (хотя мне кажется еще кто-то ругается) в golangci-lint
:slowpoke: там слак прилёг. https://status.slack.com/#
на самом деле теперь все веселее, там всё красное, хотя днём были только сообщ.
на самом деле теперь все веселее, там всё красное, хотя днём были только сообщ.
Карантин в 2020 положительно повлиял на меня (спорт, хобби, отношения, скмья, работа, тд). Перед тем как отвечать - подумайте полминуты. Спасибо.
Anonymous Poll
21%
Да
25%
Скорее да
11%
Не знаю
26%
Скорее нет
17%
Нет
Такс, ушастики мои. Кто хочет канкаренси задачку на Go ?
Там нет явного бага, но кое-что там сделано неправильно. Мы нашли это в тестовом задании, точнее там бага не было, нам показалось) Вам конечно же версию с багом принёс.
Подсказка для тех, кто не уверены в себе
Ответы лучше в бота, если хотите потестить себя @oleg_log_bot
Там нет явного бага, но кое-что там сделано неправильно. Мы нашли это в тестовом задании, точнее там бага не было, нам показалось) Вам конечно же версию с багом принёс.
Подсказка для тех, кто не уверены в себе
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, но это ничего не значит)
https://rust-unofficial.github.io/patterns/intro.html
Чем-то еще напоминает https://nnethercote.github.io/perf-book/ но тут скорее про перформанс и попытки выжать наносекунды, чем о идиоматичности кода (хотя не противоречит).
Еще подобные ридми-книги-сборники вспомните?
Хоть домен и кричит unofficial, но это ничего не значит)
rust-unofficial.github.io
Introduction - Rust Design Patterns
A catalogue of Rust design patterns, anti-patterns and idioms
(не моя) Цитата из чата @generictalkschat
Привет всем. Я тут запилил небольшой сайтик-поисковик по рассылке Golang Weekly. Это пока что больше проверка гипотезы, но работает сносно. Надеюсь кому-то сможет помочь 😊
http://golangweeklysearch.com
Все на го в одном бинарнике, лайк (обещали опенсурс)
Привет всем. Я тут запилил небольшой сайтик-поисковик по рассылке Golang Weekly. Это пока что больше проверка гипотезы, но работает сносно. Надеюсь кому-то сможет помочь 😊
http://golangweeklysearch.com
Все на го в одном бинарнике, лайк (обещали опенсурс)
oleg_log
Такс, ушастики мои. Кто хочет канкаренси задачку на Go ? Там нет явного бага, но кое-что там сделано неправильно. Мы нашли это в тестовом задании, точнее там бага не было, нам показалось) Вам конечно же версию с багом принёс. Подсказка для тех, кто не уверены…
Долгожданный для некоторых ответ.
Проблема в утекающих горутинах при возврате ошибки из функции
В оригинальном коде канал
Один из проверяющих это тестовое не заметил, что канал с буффером и заявил, что там будет дедлок. Но чуть подумав и проверим убедились в его отсутствии.
Там по коду можно еще чуть докопаться, но это выходит за рамки поста и вопроса.
Меня удивило, сколько людей не заметили этого. Было много опытных людей, кстати. Я даже задумался, а может какой-то курс по канкаренси в го (и не только) провести 🤔
(а вообще спасибо ответившим)
Проблема в утекающих горутинах при возврате ошибки из функции
do.В оригинальном коде канал
data был объявлен буфферезированным (значением count), соотв все бы горутины в итоге все дописали бы (даже если бы 1я вернула ошибку), и любимый GC все бы почистил.Один из проверяющих это тестовое не заметил, что канал с буффером и заявил, что там будет дедлок. Но чуть подумав и проверим убедились в его отсутствии.
Там по коду можно еще чуть докопаться, но это выходит за рамки поста и вопроса.
Меня удивило, сколько людей не заметили этого. Было много опытных людей, кстати. Я даже задумался, а может какой-то курс по канкаренси в го (и не только) провести 🤔
(а вообще спасибо ответившим)
Вот спасибо Юре за сборник. Сохранил.
Я вот как-то пытался такое собрать (https://news.1rj.ru/str/oleg_log/533) но ничего особо не вышло.
Давайте еще раз попробуем, что вы там читаете временами их техблогов.
Я вот как-то пытался такое собрать (https://news.1rj.ru/str/oleg_log/533) но ничего особо не вышло.
Давайте еще раз попробуем, что вы там читаете временами их техблогов.
Telegram
oleg_log
Решил собрать список техблогов больших фирм.
А почему? Все просто, там часто описаны реальные проблемы, опыт и решения проблем.
Это на несколько порядков лучше, чем очередной 101 на хабре или хн.
Если есть что посоветовать, буду признателен @olegkovalov
А почему? Все просто, там часто описаны реальные проблемы, опыт и решения проблем.
Это на несколько порядков лучше, чем очередной 101 на хабре или хн.
Если есть что посоветовать, буду признателен @olegkovalov
Forwarded from @yarosh_log
Список технических блогов, стоит добавить в закладки и раз в месяц почитывать
Cloudflare https://blog.cloudflare.com/
Netflix https://netflixtechblog.com/
Uber https://eng.uber.com/
Lyft https://eng.lyft.com/
Twilio https://www.twilio.com/blog
Facebook https://research.fb.com/
Twitter https://blog.twitter.com/engineering/en_us.html
Databricks https://databricks.com/blog/category/engineering
Google AI https://ai.googleblog.com/
Google Dev https://developers.googleblog.com/
Slack (already mentioned) https://slack.engineering/
Twitch https://blog.twitch.tv/en/?tag=engineering
Quora https://www.quora.com/q/quoraengineering
Discord https://blog.discord.com/engineering-posts/home
Cloudflare https://blog.cloudflare.com/
Netflix https://netflixtechblog.com/
Uber https://eng.uber.com/
Lyft https://eng.lyft.com/
Twilio https://www.twilio.com/blog
Facebook https://research.fb.com/
Twitter https://blog.twitter.com/engineering/en_us.html
Databricks https://databricks.com/blog/category/engineering
Google AI https://ai.googleblog.com/
Google Dev https://developers.googleblog.com/
Slack (already mentioned) https://slack.engineering/
Twitch https://blog.twitch.tv/en/?tag=engineering
Quora https://www.quora.com/q/quoraengineering
Discord https://blog.discord.com/engineering-posts/home
The Cloudflare Blog
Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.
Пссс, я тут недавно запостил давно начатый клиент для Redis на Go.
Зачем? Хотелось и другое не нравилось. У кого там были идеи по апи или еще какие-то боли из прода, подкиньте коментов/аргументов/ишью. Можно в лс. (Особо активных позову потом в чат организации)
Лайк-подписка на вырост https://github.com/cristalhq/redis #hq
Зачем? Хотелось и другое не нравилось. У кого там были идеи по апи или еще какие-то боли из прода, подкиньте коментов/аргументов/ишью. Можно в лс. (Особо активных позову потом в чат организации)
Лайк-подписка на вырост https://github.com/cristalhq/redis #hq
GitHub
GitHub - cristalhq/redis: WIP. Redis client for Go
WIP. Redis client for Go. Contribute to cristalhq/redis development by creating an account on GitHub.
GopherCon Europe 2021 начал билеты продавать. Должно быть в конце мая.
https://www.eventbrite.de/e/gophercon-europe-2021-tickets-134271103485
https://www.eventbrite.de/e/gophercon-europe-2021-tickets-134271103485
Eventbrite
GopherCon Europe 2021
GopherCon Europe is back for another year. This year we're staying online!
Моё дело запостить и пойти на пробежку, вы там сами в коментах решите да или не.
ТЛДР: языку 30 лет, а экосистемы и тулинга нет.
https://blog.shitiomatic.tech/post/haskell-is-a-bad-programming-language/#%F0%9F%91%BE
(сайтец рандомно доклеивает решетку-эмодзи на каждый рефреш, оригинально)
ТЛДР: языку 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 считайте не было.
Самое ужасное - спросить не у кого. Вот где кузница опыта была. *горький всплак псевдо-деда*
Любимая Вики говорит: 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%
Хз о чем речь