☕️ Мерлин заваривает τσάι 🐌
«Прежде всего, дзен Python говорит, что любое решение должно быть единственное. Поэтому в Python всего минимум по три.»
Telegram
igrishaev
Шел 2025 год, а в Питоне делают очередное форматирование строк. На этот раз оно называется t-строки из-за префикса t. Такие строки по-настоящему всемогущи: могут делать любые преобразования, ходить по модулям, вызывать такси и заказывать пиццу. Без шуток…
🤝4
Если кому-то нужно быстро потыкать unix-lile консольку, то есть busybox, собранный для браузера
https://busybox.net/live_bbox/live_bbox.html
https://busybox.net/live_bbox/live_bbox.html
🤝3
Вышел #go 1.25
Новинок в самом языке нет — релиз про рантайм и библиотеки.
Больше всего хайпую насчёт:
- нового greentea GC (эксперимент, включается `GOEXPERIMENT=greenteagc`): на реальных мусорящих сервисах обещает заметно срезать GC-оверхед;
- container-aware
-
Ещё из прикольного —
Жаль, я всё ещё не вижу готовой открытой системы для централизованного сбора/хранения/просмотра
По мелочи:
-
- Больше методов у
-
- Новый экспериментальный
Интерактивный тур по релизу:
https://antonz.org/go-1-25/
Заметки к релизу:
https://go.dev/doc/go1.25
Новинок в самом языке нет — релиз про рантайм и библиотеки.
Больше всего хайпую насчёт:
- нового greentea GC (эксперимент, включается `GOEXPERIMENT=greenteagc`): на реальных мусорящих сервисах обещает заметно срезать GC-оверхед;
- container-aware
GOMAXPROCS
: теперь по умолчанию учитывает лимиты cgroup и может динамически обновляться;-
testing/synctest
— вышел из эксперимента, можно писать детерминированные тесты конкуррентщины.Ещё из прикольного —
runwww.tg-me.com/trace.FlightRecorder
: по сути кольцевой буфер трейса, который держит последние N секунд и по .WriteTo
даёт снапшот. Можно держать включённым постоянно (хотя бы на части инстансов) и дампать трейсы при серьёзных ошибках или SLA-триггерах.Жаль, я всё ещё не вижу готовой открытой системы для централизованного сбора/хранения/просмотра
.trace
объектов. Вьюверы есть (`go tool trace`, отличный `gotraceui`), а вот «трейс-сторандж» под FlightRecorder — прям идея для совместного OSS-пета.По мелочи:
-
net/http.CrossOriginProtection
— мидлварь для CSRF-защиты с конфигурируемыми правилами и deny-handler. Похоже, похоронит зоопарк самописных решений;- Больше методов у
os.Root
(`Chmod/Chown/Chtimes/Link/MkdirAll/ReadFile/Readlink/RemoveAll/Rename/Symlink/WriteFile` и т. д.) — почти полноценная файловая песочница;-
testing.T|B|F.Attr
— атрибуты в лог теста; `testing.T|B|F.Output()` — даёт io.Writer
в тот же поток (больше не нужны адаптеры логгеров под `testing`);- Новый экспериментальный
encoding/json/v2
(`GOEXPERIMENT=jsonv2`): заметно быстрее на декодинге и с кучей приятных опций.Интерактивный тур по релизу:
https://antonz.org/go-1-25/
Заметки к релизу:
https://go.dev/doc/go1.25
antonz.org
Go 1.25 interactive tour
Fake clock, new GC, flight recorder and more.
🤝2✍1