В обсуждении выше мы коснулись компании Tailscale и про их продвинутое использование Go на iOS. И тут они как-раз подогнали пост про свои оптимизации потребления памяти своего Network Extension.
Tailscale
Hey linker, can you spare a meg?
Tailscale on iOS runs as a special kind of app, a Network Extension. This lets us run in the background, so we can secure traffic from all of your applications, without them having to change anything. But with this power comes a memory straightjacket. Normal…
Вот почему надо всегда в примерах использовать либо свои домены, либо example.com/.org/.net.
GitHub
sync: ExampleWaitGroup includes an porn website url · Issue #48886 · golang/go
What version of Go are you using (go version)? $ go version go1.16.5 darwin/amd64 Does this issue reproduce with the latest release? What operating system and processor architecture are you using (...
Оказывается, Dave Cheney пилит GitHub Copilot.
GitHub
📢 Did you forget to update your Copilot extension and have lost access to Copilot? · community · Discussion #6637
Greetings Pilots! TL;DR we update the VSCode Copilot extension frequently to remove bugs and add features. It's important to keep your extension up to date because older clients cannot communic...
Если вы используете Go из ветки
Дело в том, что поменялся формат экспорта. Решение – откатиться на предыдущий коммит.
master
ради дженериков и фаззинга (как делаю я), то могли заметить, что недавно сломался весь тулинг с ошибками вида
internal error: package "XXX" without types was imported from "YYY"
Дело в том, что поменялся формат экспорта. Решение – откатиться на предыдущий коммит.
GitHub
cmd/compile: update the export version for generics · golang/go@fd2f4b5
Bump the export version to a new value iexportVersionGo1_18 (2). This
will give a better error message when old compilers/tools encounter the
new export format (that includes parameterized types an...
will give a better error message when old compilers/tools encounter the
new export format (that includes parameterized types an...
В Go завезли Mutex.TryLock.
Читайте commit message Расса перед каждым использованием.
Читайте commit message Расса перед каждым использованием.
GitHub
sync: add Mutex.TryLock, RWMutex.TryLock, RWMutex.TryRLock · golang/go@645d078
Use of these functions is almost (but not) always a bad idea.
Very rarely they are necessary, and third-party implementations
(using a mutex and an atomic word, say) cannot integrate as well
with ...
Very rarely they are necessary, and third-party implementations
(using a mutex and an atomic word, say) cannot integrate as well
with ...
How to Go wrong
Оказывается, спецификация протокола MongoDB распространяется под лицензией СС Attribution-NonCommercial-ShareAlike, прямо запрещающей коммерческое использование, включая создание коммерческих СУБД и DBaaS’ов. Недавно они написали об этом явно: https://new…
Кого-то это не остановило: https://github.com/MangoDB-io/MangoDB
GitHub
GitHub - FerretDB/FerretDB: A truly Open Source MongoDB alternative
A truly Open Source MongoDB alternative. Contribute to FerretDB/FerretDB development by creating an account on GitHub.
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Podlodka #240 – Golang
Пополняем золотую коллекцию языковых выпусков Podlodka долгожданным эпизодом про Golang! Все, как вы любите — история развития, области применения, ключевые фичи, экосистема, и немного холивара про сильные и слабые стороны. Погрузил в мир Go, объяснил, почему “less is exponentially more” и как это отражается на том, что язык предлагает разработчикам Алексей Палажченко — программист из Sidero Labs и ведущий подкаста GolangShow. Аккуратно! В выпуске чересчур много шуток про дженерики!
Гибкие облачные базы данных для многопользовательских игр и других игровых проектов в Selectel: https://slc.tl/H6I7r
Сайт: https://podlodka.io/240
Soundcloud: https://bit.ly/podlodka-240
iTunes: https://apple.co/2vCBRcs
Я.Музыка: https://bit.ly/32lGgNC
YouTube: https://youtu.be/tISaO428aow
Поддержи лучший подкаст про IT: https://www.patreon.com/podlodka
Пополняем золотую коллекцию языковых выпусков Podlodka долгожданным эпизодом про Golang! Все, как вы любите — история развития, области применения, ключевые фичи, экосистема, и немного холивара про сильные и слабые стороны. Погрузил в мир Go, объяснил, почему “less is exponentially more” и как это отражается на том, что язык предлагает разработчикам Алексей Палажченко — программист из Sidero Labs и ведущий подкаста GolangShow. Аккуратно! В выпуске чересчур много шуток про дженерики!
Гибкие облачные базы данных для многопользовательских игр и других игровых проектов в Selectel: https://slc.tl/H6I7r
Сайт: https://podlodka.io/240
Soundcloud: https://bit.ly/podlodka-240
iTunes: https://apple.co/2vCBRcs
Я.Музыка: https://bit.ly/32lGgNC
YouTube: https://youtu.be/tISaO428aow
Поддержи лучший подкаст про IT: https://www.patreon.com/podlodka
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Мы знаем, что вы любите слушать Подлодку. Но теперь мы решили узнать, а вдруг вам понравится еще ее и смотреть! В ближайшее время мы выпустим несколько экспериментальных выпусков на YouTube с качественным монтажом чтобы понять, а насколько вам зайдет такой формат (а нам самим уже очень понравился!). Накидывайте нам побольше фидбэка в комментарии к видео, ставьте лайки и подписывайтесь – а через полтора месяца мы подведем итоги эксперимента.
Первым экспериментальным выпуском стал сегодняшний выпуск. Ведь нет ничего лучше, чем не просто слушать холивар Егора и Алексея про простоту Go, а и смотреть на это своими глазами!
👀 Смотреть своими глазами тут: https://youtu.be/tISaO428aow
Первым экспериментальным выпуском стал сегодняшний выпуск. Ведь нет ничего лучше, чем не просто слушать холивар Егора и Алексея про простоту Go, а и смотреть на это своими глазами!
👀 Смотреть своими глазами тут: https://youtu.be/tISaO428aow
Нет защиты от троянов в исходниках, кроме нас самих: https://research.swtch.com/trojan
cmd/benchstat: new version of benchstat
This is a complete rewrite of benchstat. Basic usage remains the same,
as does the core idea of showing statistical benchmark summaries and
A/B comparisons in a table, but there are several major improvements.
Самое главное – теперь им можно будет пользоваться корректно без PhD.
This is a complete rewrite of benchstat. Basic usage remains the same,
as does the core idea of showing statistical benchmark summaries and
A/B comparisons in a table, but there are several major improvements.
Самое главное – теперь им можно будет пользоваться корректно без PhD.
Что вам кажется более очевидным?
assert.Equal(t, math.NaN(), math.NaN()) А потом проверьте свою любимую библиотеку.
assert.Equal(t, math.NaN(), math.NaN()) А потом проверьте свою любимую библиотеку.
Anonymous Poll
66%
Тест упадёт
34%
Тест не упадёт
Приехал новый MacBook Pro с M1 Pro / 32 гигами памяти. Время сборки Talos'а:
Mac mini (2018) Intel Core i7 6 core 3,2 GHz / 32 GB, кулеры слышно:
50.98s 48.00s 47.71s
13" MacBook Pro (2020, 4-ports) 4 core Intel Core i5 2 GHz / 16 GB (самый последний с Intel), кулеры ревут как самолёт:
64.85s 63.88s 63.14s
14" MacBook Pro 10 core M1 Pro / 32 GB, кросс-компиляция с ARM на AMD, кулеры вообще не слышно:
23.89s 24.00s 24.11s
Сервер разработки в Equinix Metal c3.small.x86 (8 core Intel(R) Xeon(R) E-2278G CPU @ 3.40GHz, 32 GB), без кросс-компиляции:
27.86s 27.88s 28.64s
Этот лаптоп быстрее сервера 🤯 Дженерики в Go теперь не страшны!
env GOOS=linux GOARCH=amd64 go clean -i -r -cache all
time env GOOS=linux GOARCH=amd64 go install all
Mac mini (2018) Intel Core i7 6 core 3,2 GHz / 32 GB, кулеры слышно:
50.98s 48.00s 47.71s
13" MacBook Pro (2020, 4-ports) 4 core Intel Core i5 2 GHz / 16 GB (самый последний с Intel), кулеры ревут как самолёт:
64.85s 63.88s 63.14s
14" MacBook Pro 10 core M1 Pro / 32 GB, кросс-компиляция с ARM на AMD, кулеры вообще не слышно:
23.89s 24.00s 24.11s
Сервер разработки в Equinix Metal c3.small.x86 (8 core Intel(R) Xeon(R) E-2278G CPU @ 3.40GHz, 32 GB), без кросс-компиляции:
27.86s 27.88s 28.64s
Этот лаптоп быстрее сервера 🤯 Дженерики в Go теперь не страшны!