Разработка ждёт балета
1.67K subscribers
488 photos
3 videos
15 files
1.43K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://t.me/+e2ND1tAa0lU2ZTli
Download Telegram
Просто представь: ты джун, пишешь себе Bazel, тебе и твоему лиду назначают митинг два чувака, два блин ковбоя - Russ и Rob, приходят к тебе, и говорят: "Чувак, мы тут штуку придумали, давай тут ВСЁ нахуй отформатируем, ВСЁ одинаково будет отформатированно, чувак, смекаешь?"

Yet, when Buildifier was rolled out, people didn’t actually care about the style decisions. They just enjoyed the uniformity.


#codestyle #go #code
👏2🤔2👍1
Тут Russ Cox экспериментирует с LLM ботом для автоматизации разных вещей в Go issue tracker. Но интересно даже не это. Интереснее - описание выбранных абстракций, подход к тестам, ну и открытые сорцы этого всего.

#go #bot #llm
Тут дед поддушнил, но красиво. Сначала он такой: давайте я вам на M&Ms покажу, какая же крутая штука сэмплирование, в чём её сила (брат), а где её слабости (не брат, очевидно). А потом такой херак: As a less contrived example, Go’s memory profiler aims to sample...

#go #statistics #math
Тут разбирают preemption горутин. Скажу так:
- Попытка объяснить preemption через: «будет неудобно, если кто-то тебя приостановит, когда ты сел посрать» - сомнительно, но окэй
- В целом без поллитру не разберешься, если уже нет знания go internals
Но при всем при этом - интересно же!

#go #language
😁2
Приятная тулза, чтобы по-быстрому в терминальчике проверить, как там наше соединение. На Go, конечно.

#tool #go #network
1
Совсем короткая иллюстрация Hyrum's Law на примере Go stdlib. При достаточном количестве пользователей API на любое наблюдаемое поведение кто-то да завяжется.

#go #api #library
👍1
Прикольная уязвимость была в экспериментальной Go SSH библиотеке. Можно было показать публичный ключ, не зная приватного, и получить доступ. Чисто на честном слове товарища. Прямо коммунизм какой-то!

#go #cybersec #vulnerability
😁3
Тут разбирают ужасные, но прекрасные новые итераторы в Go и сравнивают их с некоторыми другими языками.

#go #language
🤯1
Выпуск подкаста озаглавили в духе Zig vs. Go, но на деле там много разного интересного затрагивается. Фаундер HashiCorp и создатель Ghostty заглянул на огонёк, встречайте.

#talk #go #zig
🔥2
В Go тоже ловят добряков, решивших импортировать зависимость с опечаткой. Ловят, а потом reverse shell, и обижают.

#go #cybersec #vulnerability
Тут в Go соптимизировали мапу, чтобы было быстрее и прикольнее. В посте сначала описывают, за счёт чего оно получилось (вкратце - Swiss Tables - нашли возможность улучшить за счёт параллельных SIMD инструкций и хитрой конструкции), а потом рассказывают, какие сложности были с реализацией этого конкретно в Go (каждая мапа - это на самом деле много мап). Интересно показывает практический подход языка - растим структуру понемногу. А ещё интересно решают проблемы с модификацией мапы во время итерации.

#go #performance #datastructure
Тут забавное: компилятор и тулинг TypeScript переписывают на Go и всё сразу 10x зацвело и запахло. Но почему же не Rust? Так бы все 11x получили! Да ещё бы и "написано на расте" могли бы нацепить!

#ts #go #compiler
👍2😁2
Тут Russ Cox пишет про хорошо забытое старое: способ найти конкретные строки, в которые закрался баг, путём сравнения test coverage проходящих и падающих тестов. Как, оказывается, может быть хорошо, когда есть эти самые тесты с этим самым coverage!

#test #bug #go
В Go действительно есть прикол, когда библиотечная функция принимает какой-то простой и привычный интерфейс, но внутри проверяет тип на какой-то более специфичный, ради оптимизации. Ну, за простоту нужно было где-то заплатить. Тут про это всё пишут подробнее.

#go #optimize #hack
Другой (в синтаксическом смысле) обработки ошибок в Go не будет. Nuff said.

#go
😁2👍1
Про замечательное форматирование дат и времени в Go, которое из хриплого WTF при первой встрече плавно переходит в нежное мурчание. Всё ещё не без минусов, конечно. Если вместо Monday написать Tuesday или вместо 2006 - 2007, читаться будет замечательно, а работать будет не так. Ну, pick your poison, как говорится.

#go #date #time
Что нас ждёт в Go 1.25 где-то в августе. Мне больше всего хочется json/v2 (ну, только в эксперименте под флагом оно будет, но всё же) и корректного GOMAXPROCS в контейнерах (можно выкинуть automaxprocs).

#go #language
Тут подробнее про Go json/v2. Жить станет лучше, жить станет веселее.

#go #json #library
Глубока кроличья нора: чел пошёл разобрать весь путь от unix.Write в программе на Go до непосредственно системного вызова, зацепив по пути все два ABI, кастомный ассемблер, и т.п.

#go #unix #asm