Go & IT
СтатистикаМы любим программирование, особенно если это Go ;) Наш ламповый чатик: @go_stepik Сотрудничество и реклама: @semyon_dev
- Последний пост
- 27 мая
- Последнее чтение
- 13 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Ваш docker‑compose.yml сломается: 5 настроек, которые все забывают https://habr.com/ru/companies/otus/articles/1034390/
Вышел go 1.26 - https://go.dev/doc/go1.26 🔥 Теперь в new() можно передавать значение, а не только тип Раньше приходилось: type Person struct { Age *int `json:"age,omitempty"` } age := 42 p := Person{ Age: &age, } Теперь можно не создавать временную переменную или использовать хелперы: type Person struct { Age *int `json:"age,omitempty"` } p := Person{ Age: new(42), }
Как решать System Design? Проектирование сервиса персональной ленты. https://habr.com/ru/articles/984294/
JetBrains выпустили 👩💻 GoLand 2025.3 с оптимизацией производительности, улучшенной работой с Kubernetes и Terraform, а также с выявлением утечек ресурсов. Теперь GoLand помогает находить утечки ресурсов — например, файлы или сетевые подключения, которые не были должным образом закрыты после использования. Новая локальная инспекция анализирует код в реальном времени и предупреждает о ресурсах, которые случайно остались открыты. Эти предупреждения появляются прямо в редакторе и помогают правильно очищать критически важные ресурсы.
Прекратите создавать интерфейсы - немного про архитектуру: https://habr.com/ru/articles/967778/
Кросс-компиляция и запуск консольного Go‑приложения на Android, Windows, macOS и Linux https://habr.com/ru/companies/ruvds/articles/968178/
Выжимаем из Go скорость до последних наносекунд https://habr.com/ru/companies/ruvds/articles/957756/
Что происходит с Go-разработкой в 2025 году? Как меняется стек, какие практики и инструменты становятся стандартом, как работают команды и какие задачи сейчас на передовой? DevCrowd запускает ежегодное исследование русскоязычных Go-разработчиков. Участвуйте и помогите собрать срез профессии — живой, честный, актуальный. Зачем участвовать? – сравните себя с другими: задачи, подходы, зрелость процессов – узнаете, какие технологии и практики в ходу у коллег – получите ориентиры для развития и найма – сделаете профессию Go-разработчика прозрачнее для рынка 📝 Заполнение займёт 10–12 минут 👉 Пройти опрос - https://survey.alchemer.eu/s3/90907937/Go-2025 📊 Результаты — в начале ноября на devcrowd.ru 👀 Посмотреть результаты прошлого года — https://devcrowd.ru/go-2024
Вышел go1.25 https://go.dev/doc/go1.25
Продолжаем разбираться с go1.25 который должен выйти уже в этом месяце. В предыдущих версиях encoding/json struct-теги были довольно ограниченными, но в новом пакете encoding/json/v2 появилась мощная опция format, которая позволяет задавать специальное форматирование для разных типов: дат, чисел, байтовых массивов и тд. Пример: package main import ( "encoding/json/v2" // импортируем новый пакет "math" "time" ) type Data struct { // time.Duration в формате "1h0m0s" (строка) Duration time.Duration `json:"duration,format:units"` // time.Duration в секундах (числом) DurationSec time.Duration `json:"duration_sec,format:sec"` // time.Time в формате "YYYY-MM-DD" Date time.Time `json:"date,format:'2006-01-02'"` // []byte как base64url B64 []byte `json:"b64,format:base64url"` // float64 с поддержкой NaN и ±Inf в виде строки Val float64 `json:"val,format:nonfinite"` // nil slice выводится как null (а не []) List []int `json:"list,format:emitnull"` } func main() { data := Data{ Duration: time.Hour, DurationSec: time.Hour, Date: time.Now(), B64: []byte("base64url"), Val: math.NaN(), } dataJson, err := json.Marshal(data) // ... } Получившийся json: { "duration": "1h0m0s", "duration_sec": 3600, "date": "2025-08-01", "b64": "YmFzZTY0dXJs", "val": "NaN", "list": null } Раньше приходилось вручную реализовывать MarshalJSON или писать вспомогательные поля, теперь же стало чуточку удобнее 🙌
В августе планируется релиз go1.25, начинаем разбираться что нового в этом релизе 🖼️ 📦 Спустя 13 лет разработчики решили добавить "Add+Done" wrapper. Теперь не нужно вручную писать Add(1) перед запуском горутины и defer Done() внутри неё. Всё это делает Go() автоматически. Сравним: Go 1.24: var wg sync.WaitGroup wg.Add(1) go func() { defer wg.Done() fmt.Println("go 1") }() wg.Add(1) go func() { defer wg.Done() fmt.Println("go 2") }() wg.Wait() fmt.Println("done") Go 1.25: var wg sync.WaitGroup wg.Go(func() { fmt.Println("go 1") }) wg.Go(func() { fmt.Println("go 2") }) wg.Wait() fmt.Println("done") Простое изменение, которое делает код чище и надёжнее.
Топ 15 самых распространённых ошибок при разработке на Golang https://habr.com/ru/articles/904658/
Оптимизация и советы по работе с хэш таблицами https://habr.com/ru/articles/901518/
Оптимизация конкурентных приложений в Go https://habr.com/ru/companies/vktech/articles/904046/
🖼️ Stepik обновил Golang до 1.24.1, можно применять новые фичи для решения задач
Планировщик Go — самый подробный гайд простым языком https://habr.com/ru/articles/891426/
Что выведет программа выше на скриншоте?
Продолжаем думать над задачками из реальных собеседований:
Задачка с реального собеседования, пиши ответ в комментариях ✍️
Как главная страница Яндекса переезжала на Go - https://habr.com/ru/companies/yandex/articles/871868/