Golang
admin - @haarrp https://t.me/golangl - golang чат https://t.me/golangtests go тесты https://t.me/ai_machinelearning_big_data машинное обучение @itchannels_telegram РКН: clck.ru/3Fmx3s #VRHSZ
Mostrar más📈 Análisis del canal de Telegram Golang
El canal Golang (@golang_google) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 40 453 suscriptores, ocupando la posición 3 321 en la categoría Tecnologías y Aplicaciones y el puesto 15 578 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 40 453 suscriptores.
Según los últimos datos del 07 noviembre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 8, y en las últimas 24 horas de -22, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 17.62%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 8.98% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 7 129 visualizaciones. En el primer día suele acumular 3 634 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 25.
- Intereses temáticos: El contenido se centra en temas clave como golang, api, devops, github, аллокация.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“admin - @haarrp
https://t.me/golangl - golang чат
https://t.me/golangtests go тесты
https://t.me/ai_machinelearning_big_data машинное обучение
@itchannels_telegram
РКН: clck.ru/3Fmx3s
#VRHSZ”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 08 noviembre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
encoding/json/v2 и encoding/json/jsontext. Новые пакеты теперь доступны в Go 1.27 без экспериментальных флагов.
Старый encoding/json существовал ещё до Go 1.0, но за годы накопил проблемы с производительностью, безопасностью и обработкой данных.
Что изменилось:
- JSON с повторяющимися ключами теперь по умолчанию вызывает ошибку.
- Некорректный UTF-8 больше не принимается молча.
- Сопоставление JSON-ключей с полями структур стало чувствительным к регистру.
- nil`-срезы сериализуются в `[], а nil`-map в `{}, вместо null.
- Появилась полноценная потоковая обработка JSON без необходимости буферизовать значение целиком.
Новый API также позволяет передавать настройки непосредственно в Marshal и Unmarshal.
Например:
import "encoding/json/v2"
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
data, err := json.Marshal(User{
Name: "Alex",
Age: 25,
})
Для потоковой работы добавили MarshalWrite, UnmarshalRead и отдельный пакет jsontext, который умеет читать и записывать JSON на уровне токенов.
А что с производительностью?
По измерениям разработчиков, скорость Marshal примерно соответствует старой реализации. Основные улучшения связаны с декодированием, потоковой обработкой и сокращением лишних аллокаций.
Старый encoding/json никуда не исчезает и продолжит поддерживаться. Переход на v2 добровольный, но стоит учитывать изменившееся поведение при сериализации и разборе JSON.
Разработка нового API заняла около шести лет.
Технический разбор: https://go.dev/blog/jsonv2//go:embed, позволяющий включать HTML, CSS, SQL-миграции и другие файлы непосредственно в исполняемый файл.
import "embed"
//go:embed static/*
var files embed.FS
После сборки приложению не нужна отдельная папка со статикой. Но как это реализовано?
В статье разобрали весь путь файла через Go 1.27.1.
Сначала go build находит директивы //go:embed и определяет подходящие файлы. Затем формирует JSON-конфигурацию embedcfg и передаёт её компилятору.
Компилятор записывает содержимое файлов в статические данные, а линкер собирает их вместе с кодом в исполняемый файл. При запуске embed.FS позволяет читать эти данные через привычный интерфейс fs.FS.
Есть несколько нюансов:
- //go:embed static рекурсивно включает каталог, но пропускает файлы с префиксами . и _.
- //go:embed all:static включает и скрытые файлы.
- Данные не сжимаются автоматически.
- Изменения файлов после сборки не отражаются в бинарнике.
Автор прошёлся по исходникам компилятора и линкера Go, показал устройство embed.FS и объяснил, как данные попадают в память.
https://internals-for-interns.com/posts/how-go-embed-works/.tldr, совместимые с tldraw, хотя некоторые возможности пока не поддерживаются.
Попробовать можно одной командой:
go run . examples/showcase.tldr
Для Go-разработчиков репозиторий интересен ещё и как пример реализации canvas-редактора с undo/redo, кешированием отрисовки и собственной системой документов без веб-стека.
https://github.com/egoist/godraw📂 Дима проведёт собес с разработчиком-добровольцем и предложит ему вопросы и задачи из реальных технических интервью. Участник не будет знать их заранее 📂 После каждого ответа разберёт его сильные и слабые стороны и объяснит, что важно для интервьюера 📂 В конце сможешь задать Диме свои вопросы и получить развёрнутые ответыЭфир проходит в рамках менторской программы ШОРТКАТ для Go-разработчиков, которые хотят сменить работу, вырасти в грейде и зарплате 🎁 За регистрацию подарим файл с эталонными ответами на 50 сложных вопросов с Go-собеседований Переходи в бота, чтобы зарегистрироваться на эфир и забрать подарок 👉 @shortcut_go_bot Реклама. О рекламодателе.
net.Listen("tcp", ":8080") может задействовать этот механизм без явного включения разработчиком.
Ошибка находится в ядре Linux, а Go может создавать условия для показанного варианта атаки.
Отключить MPTCP по умолчанию для Go-приложения можно так:
GODEBUG=multipathtcp=0 ./server
Но явный SetMultipathTCP(true) переопределяет настройку. Кроме того, сама уязвимость не ограничена MPTCP, поэтому это не полноценная замена исправлению ядра.
Патч уже внесён в поддерживаемые стабильные ветки Linux. Для дистрибутивов нужно проверить наличие исправленного пакета именно для своей ветки и загрузиться с обновлённым ядром. На момент публикации разбора для Ubuntu и RHEL обновления ещё ожидались.
https://thehackernews.com/2026/10/linux-kernel-tcp-flaw-with-98-cvss.html
//noalloc:root
func Process(buf []byte) {
// ...
}
Затем запустить проверку:
go install github.com/theconsensuslabs/noalloc/cmd/noalloc@latest
noalloc
Проверяется всё дерево вызовов, а не только тело функции. Инструмент указывает строки с потенциальными аллокациями: конкатенацией строк, записью в map, вызовами других функций и уходом данных в кучу.
Если найдена проблема, CLI завершается с ненулевым кодом - проверку можно поставить в CI, чтобы ловить регрессии.
В комплекте есть контейнеры с ограниченной ёмкостью, переиспользуемые буферы и JSON-кодировщик и декодировщик, рассчитанные на работу без новых аллокаций.
Проверка допускает некоторые исключения, включая первоначальную инициализацию и завершающие вызов пути ошибок. Поэтому это контроль заданных правил, а не безусловная гарантия отсутствия любых выделений памяти.
Нужен Go 1.27+.
https://github.com/theconsensuslabs/noalloc
go version -m ./app
Проверить бинарник на известные уязвимости:
govulncheck -mode=binary ./app
https://go.dev/blog/emudhra-incident crypto/x509, связанная с проверкой цифровых сертификатов.
Что изменилось:
- Ограничено доверие к небезопасным промежуточным сертификатам.
- Verify больше не возвращает цепочки с такими сертификатами.
- Повышена безопасность проверки TLS-сертификатов.
Анонс: https://groups.google.com/g/golang-announce/c/66pojueaQek/m/tmWX2Pq9AgAJ
Скачать: https://go.dev/dl/
@Golang_google