39.2K subscribers
1.69K photos
49 videos
5 files
1.82K links
Download Telegram
🌐 SafeLine — это легко настраиваемый firewall (WAF), написанный на Go.

Он защищает веб-приложения от различных типов атак, таких как SQL-инъекции, XSS и др., фильтруя потенциально опасные запросы.

🌟 SafeLine предоставляет эффективные инструменты для мониторинга и защиты приложений в реальном времени, что делает его полезным для обеспечения безопасности веб-сервисов.

🔐 Лицензия: GPL-3.0

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3
🫖 Новый пост в официальном блоге GO: Green Tea GC - новый сборщик мусора в Go 1.25

В Go 1.25 появился экспериментальный сборщик мусора Green Tea GC, который уже используется внутри Google.

Он снижает время, проводимое в GC, примерно на 10%, а в отдельных сценариях - до 40%.
Активировать можно при сборке флагом:


GOEXPERIMENT=greenteagc go build ./...


📘 Как это работает
:

Классический mark-sweep в Go обходит граф объектов и помечает живые узлы, но делает это неэффективно: память фрагментирована, обращения случайны, кэш часто промахивается.

Green Tea решает проблему, он обрабатывает кучу по компактным блокам (spans), сохраняя пространственную локальность и уменьшая межъядерные переходы.

Это делает GC более предсказуемым и дружелюбным к CPU-кэшу.

💡 Что изменилось внутри рантайма:
- Объекты группируются по размеру в страницы (pages) и спаны.
- Маркер обходит память блоками, а не «прыгает» по указателям.
- Очереди задач GC выстраиваются так, чтобы кэш был «тёплым».

📊 Что показывают тесты:

- Большинство программ тратят меньше времени на GC.
- В реальных нагрузках - до 40% ускорения.
- В некоторых случаях применение почти ничего не дает, поэтому важно тестировать на своих данных.

Green Tea уже признан production-ready, и команда Go планирует сделать его GC по умолчанию в Go 1.26.

В целом, Green Tea GC делает сборку мусора в Go быстрее и стабильнее за счёт лучшей локальности и оптимизации доступа к памяти. Это первый серьёзный шаг к более эффективному, «кэше-дружелюбному» GC в Go.

⚡️ Подробнее - https://go.dev/blog/greenteagc
⚡️Видео: https://www.youtube.com/watch?v=he5PfBfte2c

@Golang_google
👍44🔥127🤬1
🗂️ qwe - Легкая система контроля версий для файлов

Инструмент предлагает простой и быстрый способ отслеживания изменений в отдельных файлах.

Позволяет группировать файлы для совместного коммита или отката, что делает управление версиями интуитивно понятным и эффективным.

🚀 Основные моменты:
- Отслеживание версий отдельных файлов
- Легкие коммиты и откаты
- Групповое управление файлами
- Минимальная настройка и высокая скорость

📌 GitHub: https://github.com/mainak55512/qwe

@Golang_google

#go #golang
👍105🔥5
👣 Arch Linux, но с изюминкой: весь инсталлер и система обновлений, написаны на Go

Проект ArchRiot пытается переосмыслить классический Arch:
— установка через Go-based installer
— обновления и управление системой тоже на Go
— цель проекта - стабильный rolling-release без боли и ломаний

Идея проста: взять дух Arch, но сделать его более удобным, эффективныи и современным по tooling'у.

Интересный эксперимент для тех, кто любит Arch, но хочет больше автоматизации и меньше ручной магии в bash.

🔗 archriot.org

@Golang_google

#linux #golang #archlinux
Please open Telegram to view this post
VIEW IN TELEGRAM
41🔥15👍8🤔6😁4
🛠 Как Go понимает ваш код: разбор статьи «The Go Parser»

Внутри компилятора Go после лексера идёт следующий этап - парсер. Он принимает поток токенов и превращает его в абстрактное синтаксическое дерево (AST).

Что делает парсер
- проверяет соответствие кода грамматике Go
- строит AST: функции, выражения, блоки, импорты
- готовит структуру для семантического анализа и генерации кода

Как он работает
- читает токены и смотрит вперёд (lookahead), чтобы решить, что разбирать
- вызывает функции вроде parseFile / parseDecl / parseExpr
- следит за областями видимости и комментариями
- начинает с package → imports → объявления

Пример: даже простой hello-world превращается в дерево, где есть узлы для пакета, функции main, вызова fmt.Println и строкового литерала. Это и есть «скелет» программы, который потом пройдёт проверку типов и оптимизации.

Парсер - это фундамент. Он ловит синтаксические ошибки, создаёт структуру рассуждений для компилятора и позволяет инструментам понимать код как данные. Это точка входа в мир статического анализа и построения своих утилит.

👉 Подробнее

@Golang_google
🔥15👍97😁1
🎆 Вышли версии 1.25.4 и 1.24.10!

📰 Анонс: https://groups.google.com/g/golang-announce/c/tVVHm9gnwl8/m/-oTvYIjCAQAJ

⬇️ Скачать: https://go.dev/dl/#go1.25.4

@Golang_google


#golang #go
👍136🔥4😢1
😱 Хаос из REST, gRPC и Swagger в проекте? Пора навести порядок. На открытом уроке от OTUS вы узнаете, как построить микросервисную архитектуру, где всё работает согласованно — на основе единой схемы proto3.

👨‍💻 Эксперт покажет, как из одной proto-схемы автоматически генерировать gRPC, API-Gateway и Swagger — без ручных правок и бесконечных конфликтов версий. Вы разберётесь, как правильно структурировать проект, настраивать protoc и плагины, подключать HTTP-аннотации и создавать понятную документацию.

❗️ После урока вы сможете собрать рабочий шаблон микросервиса на Go, где gRPC обслуживает внутренние вызовы, REST — внешние, а Swagger — интеграцию и тестирование. Всё из одной схемы.

📅 12 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Микросервисы на Go». Регистрируйтесь и узнайте, как превратить сложную архитектуру в управляемую систему: https://otus.pw/fAj3/?erid=2W5zFJpkqE8

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
1😁1
🌀 Flint: Удобное управление KVM

Flint — это легкий инструмент для управления KVM с современным веб-интерфейсом, CLI и API. Он создан для разработчиков и системных администраторов, стремящихся к максимальной эффективности без лишнего бремени. Всего 11 МБ и никаких XML!

🚀 Основные моменты:
- Современный и отзывчивый интерфейс
- Один бинарный файл без контейнеров
- Мощный CLI и API для автоматизации
- Поддержка Cloud-Init и шаблонов
- Многоуровневая безопасность с защитой паролем

📌 GitHub: https://github.com/volantvm/flint

#go
👍11🥰1🤬1