Изучите эволюцию стратегий кеширования в разработке ПО, чтобы понять, как разные подходы помогают повысить производительность и снизить задержки в ваших приложениях.
В этой статье – детальное погружение в мир кеширования:
https://maypok86.github.io/otter/blog/cache-evolution/
👉 @GolangPortal
В этой статье – детальное погружение в мир кеширования:
https://maypok86.github.io/otter/blog/cache-evolution/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
При выполнении запросов к базе данных в Go используйте
👉 @GolangPortal
& в rows.Scan(), чтобы передавать адреса, а не значения.Scan() нужно иметь возможность записывать данные напрямую в поля вашей структурыPlease open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3😁2👎1
Современный, готовый к продакшену Go REST API для аутентификации и авторизации, включающий социальный логин, верификацию email, работу с JWT и интеграцию с Redis
https://github.com/gjovanovicst/golang-auth-api
👉 @GolangPortal
https://github.com/gjovanovicst/golang-auth-api
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2🔥2
Принято! В Go 1.26 появится
Никакого reflection. Никаких рантайм-паник. Лаконичный код. Это мощно✌️
https://antonz.org/accepted/errors-astype/
👉 @GolangPortal
errors.AsType – современная, типобезопасная альтернатива громоздкому errors.As.Никакого reflection. Никаких рантайм-паник. Лаконичный код. Это мощно
https://antonz.org/accepted/errors-astype/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍8
Упрощает конфигурацию Go-приложений через переменные окружения. В локальной разработке можно использовать файл .env с парами ключ/значение. В продакшене значения подтягиваются из secret manager.
GitHub: dotconfig
👉 @GolangPortal
GitHub: dotconfig
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔1
Вышли Go 1.25.5 и 1.24.11!
- Безопасность: Включают патчи для уязвимостей в crypto/x509 (CVE-2025-61729, CVE-2025-61727).
- Анонс: https://groups.google.com/g/golang-announce/c/8FJoBkPddm4/m/kYpVlPw1CQAJ
- Скачать: https://go.dev/dl/#go1.25.5
👉 @GolangPortal
- Безопасность: Включают патчи для уязвимостей в crypto/x509 (CVE-2025-61729, CVE-2025-61727).
- Анонс: https://groups.google.com/g/golang-announce/c/8FJoBkPddm4/m/kYpVlPw1CQAJ
- Скачать: https://go.dev/dl/#go1.25.5
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥3
Ключевые Go-паттерны, справочник по стандартной библиотеке и интерактивные примеры
https://app.gointerview.dev/cheatsheet
👉 @GolangPortal
https://app.gointerview.dev/cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥10❤5👎1
GitHub теперь в Telegram!
Самый прогерский канал, где за 10 минут ты научишься:
/ Пробив по фото и номеру в ТГ
// Как взломать вебку подруги
/// Мануал по OSINT разведке
Подписывайся, нас уже сотни тысяч: >@GitHub
Самый прогерский канал, где за 10 минут ты научишься:
/ Пробив по фото и номеру в ТГ
// Как взломать вебку подруги
/// Мануал по OSINT разведке
Подписывайся, нас уже сотни тысяч: >@GitHub
👎11👍1
Многие статьи заставляют думать, что
Go держит пул переиспользуемых горутин на каждый процессор и глобальный пул, причём у части горутин в этих пулах уже есть прикреплённые стеки, а у части нет (см. диаграмму ниже)
Рантайм поддерживает динамический “начальный размер стека”, который пересчитывается в каждом цикле сборки мусора исходя из среднего использования стека всеми просканированными горутинами
Когда вы вызываете
Если размер стека повторно используемой горутины отличается от текущего “начального размера стека”, её старый стек освобождается, и ей выделяется новый стек ровно текущего начального размера.
Если подходящей повторно используемой горутины нет, рантайм выделяет новую с фиксированным начальным стеком 2 KiB ( на большинстве 64-битных Unix-подобных платформ)
👉 @GolangPortal #tip by Phuong Le
go func() {} всегда создаёт горутину с 2 KiB стека. Иногда так и есть, но далеко не всегда.Go держит пул переиспользуемых горутин на каждый процессор и глобальный пул, причём у части горутин в этих пулах уже есть прикреплённые стеки, а у части нет (см. диаграмму ниже)
Рантайм поддерживает динамический “начальный размер стека”, который пересчитывается в каждом цикле сборки мусора исходя из среднего использования стека всеми просканированными горутинами
Когда вы вызываете
go f(), рантайм может взять горутину и стек из пулов, поэтому многие горутины на самом деле стартуют с размером стека больше фиксированного минимума 2 KiB – например, 4 KiB, 8 KiB, 16 KiB и так далее.Если размер стека повторно используемой горутины отличается от текущего “начального размера стека”, её старый стек освобождается, и ей выделяется новый стек ровно текущего начального размера.
Если подходящей повторно используемой горутины нет, рантайм выделяет новую с фиксированным начальным стеком 2 KiB ( на большинстве 64-битных Unix-подобных платформ)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍9👎1