Telegram Web Link
Мои поздравления, bouncepaw
Usage: tool [options…] <arg>

-ꙮ very verbꙮse logs
Вчера вышел релиз #go 1.23 - самый спорный релиз на моей памяти https://go.dev/doc/go1.23

В нём стали доступны функции-итераторы https://go.dev/doc/go1.23#language, добавление которых вызвало довольно много негативной реакции в сообществе https://www.gingerbill.org/article/2024/06/17/go-iterator-design/

Помимо пакета нового пакета iter в пакеты slices и maps много новых функций типа Backward, Chunk, Values, Keys и Collect

Так же в этом релизе добавлена функциональность сбора телеметрии тулчейна Go. Телеметрия отключена по умолчанию и собирает анонимную информацию о параметрах go и gopls (https://go.dev/doc/telemetry). Одно время обсуждения самой возможности были довольно бурными https://www.reddit.com/r/golang/comments/10z5ig1/googles_go_may_add_telemetry_reporting_thats_on/ . Телеметрия не затрагивает результат сборки.

Посмотреть на статистические выкладки телеметрии и скачать собранный датасет можно вот тут https://telemetry.go.dev/

Список багов, пойманных телеметрией https://github.com/golang/go/issues?q=label%3Agopls%2Ftelemetry-wins

Из менее противоречивых изменений мне приглянулись
⁃ Новый флаг go mod tidy -diff - печатает изменения, которые произойдут при go mod tidy и возвращает exit_code=1 если такие изменения есть. Сильно упрощает проверки в CI
⁃ Новый флаг go env -changed - печатает изменения в go env, сделанные с помощью -w
⁃ Упрощена работа с time.Timer и time.Ticker - теперь вызовов .Reset и .Stop достаточно для корректного сброса и остановки - не надо вытаскивать stale значения из каналов
⁃ Новый пакет unique, который позволяет интернировать comparable значения
⁃ Новый пакет structs с маркерным типом structs.HostLayout для контроля memory layout структур
⁃ В go.mod корневых модулей (не зависимостей) можно использовать директиву godebug (https://go.dev/doc/godebug), которая позволяет включать старое runtime поведение некоторых частей стандартной библиотеки. Например, новое поведение таймеров можно отключить вот так

godebug(
asynctimerchan=1
)



⁃ В net/http добавили много утилит для работы с cookie и поле Request.Pattern, которое содержит паттерн роута из http.Mux. Ждём когда chi будет выставлять его тоже
⁃ Новая функция os.CopyFS, которая копирует содержимое fs.FS в локальную директорию. Писать распаковщики zip никогда не было так просто!
⁃ Максимальная глубина стека для runwww.tg-me.com/pprof увеличина до 128 фреймов (да, я упирался в глубину стека на трейсах 😔)
⁃ Новые функции atomic.And и atomic.Or (и комплиментарные методы), которые позволяют атомарно применять битовые маски

Интерактивные заметки к релизу https://antonz.org/go-1-23/
Самое худшее в бессонице - тебе одновременно и очень скучно, но у тебя буквально не хватает мозгов заняться чем-то интересным
"St. Petersburg mathematicians and their discoveries", окончательная версия, в цвете, на английском языке. Читайте, распространяйте, критикуйте, посылайте коллегам! Ч/б версия в высоком разрешении для домашней печати лежит на сайте.
Кстати для следующей версии pgx можно будет использовать sql.ErrNoRows вместо pgx.ErrNoRows
Вообще в долгих сюжетных онгоингах есть что-то хтоничное
Особенно меня веб-комиксы впечатляют

Я сейчас читаю Freefall - он идёт с 1998 и только недавно закончилась главная арка и началась следующая

Прочитал до текущего выпуска Unsounded - он идёт с 2010 и главная арка только входит в кульминацию

И на очереди Schlock Mercenary - это сюжетный комикс, который выходил каждый день с 2000 по 2020-ый

Силы конечно у некоторых авторов вообще нифига не слабые
#TIL о заголовках List-Unsubscribe и List-Unsubscribe-Post для электронной почты. Именно они позволяют почтовым клиентам показать кнопочку “Unsubscribe”

List-Unsubscribe перечисляет почтовые адреса или URL. Для отписки можно послать письмо на почтовый адрес отсюда или перейти на страницу по URL, чтобы отписаться там
⁃ Если в заголовках есть List-Unsubscribe-Post: List-Unsubscribe=One-Click, то отписаться можно просто послав POST запрос на HTTPS URL из List-Unsubscribe
Интересно, насколько эффективна такая специализация в плане соотношения «ускорение приложений» к «багоплотность кода»

У меня сложилось впечатление, что именно вот такие оптимизации под специальные случаи частенько становятся источником проблем

https://www.tg-me.com/HowToGoWrong/204
Поисковик Kagi, платной версией которой я пользуюсь, добавил фильтрацию AI-generated изображений: можно убрать из выдачи или оставить только их.

Так же по умолчанию поисковик теперь такие картинки пессимизирует в выдаче. Есть заметное глазу количество ложно-положительных срабатываний, но в целом кажется работает

Фича забавная, интересно, сколько месяцев она продержится

https://help.kagi.com/kagi/features/exclude-ai-images.html
fuck you

* Hindley–Milners your lisp

; это не eval, а честный вывод типов
2025/07/14 02:51:37
Back to Top
HTML Embed Code: