Golang Books
16.9K subscribers
326 photos
6 videos
335 files
306 links
Библиотека Golang разработчика

По всем вопросам- @haarrp

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

@itchannels_telegram - 🔥лучшие ит-каналы

№ 5032829002
Download Telegram
📚 Alexandrie - быстрое, open-source приложение для заметок в расширенном Markdown.
Идеально для студентов, исследователей и всех, кто ценит чистоту и порядок в мыслях.

Возможности:
• Расширенный Markdown-редактор
• Мгновенный поиск по заметкам
• Удобная организация и архивация
• Экспорт в PDF, Markdown и др.
• Доступ с любого устройства


Бэкенд на Go, фронтенд на Vue
📦 Запускается локально через Docker за пару команд.

👉 GitHub: https://github.com/Smaug6739/Alexandrie
8🔥3👍2😁1
🌐 SafeLine — это веб-аппликационный firewall (WAF), разработанный Chaitin Technology. Он защищает веб-приложения от различных типов атак, таких как SQL-инъекции, XSS и др., фильтруя потенциально опасные запросы.

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

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

🖥 Github

@golang_books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Forwarded from Golang
🫖 Новый пост в официальном блоге 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
👍13🔥93
🚀 Как ускорить доступ к файлам на Go в 25 раз?

В блоге от Varnish Software рассказывается, как использование memory-map (mmap) вместо классического чтения файлов (seek/read) дало огромный прирост скорости: random lookup ≈ 3.3 нс против ≈ 416 нс с ReaderAt.

✔️ Основная идея: вместо системных вызовов чтения данных из файла, маппим файл в память и читаем как обычный массив указателей.

⚠️ Однако есть важный нюанс: запись через mmap может быть очень неэффективной из-за page-fault’ов и управления виртуальной памятью.

📌 Полезно, если:
- много операций чтения, особенно случайного доступа;
- работа с большими файлами и важна производительность;
- запись файлов - не основная задача.

Если нужно быстро взглянуть на статью: https://info.varnish-software.com/blog/how-memory-maps-mmap-deliver-25x-faster-file-access-in-go

Benchmarks: https://github.com/perbu/mmaps-in-go
CDB64 files with memory maps: https://github.com/perbu/cdb

#GoLang #Performance #MemoryMap #mmap #SystemsProgramming #BackendEngineering

@golang_books
👍64🤔4🔥1
⚙️ В микросервисах всё рушится не тогда, когда ломается код, а когда ломается конфигурация. Один неверный параметр — и вместо отказоустойчивости получаете каскадный сбой.

На открытом уроке вы узнаете, как централизованное управление настройками помогает системе оставаться живой, даже когда всё вокруг падает.
Разберём etcd, Zookeeper, Consul, а также практику автоматического обновления конфигураций без остановки сервисов.

❗️ Мы покажем, как микросервисы на Go могут адаптироваться к сбоям и изменениям в реальном времени, и какие паттерны делают архитектуру по-настоящему устойчивой.

📆 5 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Микросервисы на Go».

➡️ Регистрируйтесь и разберитесь, как не дать своим сервисам “упасть” из-за одной строки в конфиге: https://otus.pw/nCas/?erid=2W5zFJF6ybe

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
😁31
Интенсив по очередям: Kafka & NATS

Асинхронное взаимодействие и очереди — невероятно широкая тема, и абсолютно обязательная к изучению всем, кто интересуется архитектурой. Разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.

🌐
В программе курса:

▪️Асинхронное взаимодействие с помощью очередей: подходы, свойства, гарантии
▪️Какие бывают очереди, основные системы очередей, на какие свойства и требования смотреть при выборе
▪️Как конфигурировать и управлять системами очередей
▪️Архитектура Apache Kafka, streams, topics, конфигурации от минимального single instance до production grade кластера с отказоустойчивостью
▪️Архитектуры NATS, pub/sub, req/res, streaming, кластер, суперкластер, федерация, edge.

Всё в формате «живых» онлайн-сессий (лекции, брейнштормы, демо).

🥸 Кто мы: R&D-центр Devhands.io, наш канал. Автор курса — Владимир Перепелица, эксперт по большим проектам, очередям и Tarantool, Solution Architect в Exness, создатель S3 в VK Cloud, регулярный спикер и член ПК конференций Highload. 

🗓 Старт курса 11 ноября . Изучить программу и записаться можно здесь. 

Ждём вас!

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqwWjVHh
🔥6
Forwarded from Golang
🛠 Как Go понимает ваш код: разбор статьи «The Go Parser»

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

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

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

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

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

👉 Подробнее

@Golang_google
5👍2
Если увлекаешься технологиями, не пропусти True Tech Champ 21 ноября — масштабный ИТ-фест от МТС 🔥

В программе:

📝 доклады о технологиях будущего от экспертов в ИИ, включая руководителя фундаментальных исследований MWS AI Валентина Малых и ведущего RnD-разработчика MWS и аспиранта ISR Lab и Skoltech Артема Лыкова;
🛻 шоу-битва роботов со спецэффектами и сюжетной линией;
📝 воркшоп по работе с ИИ-агентами от канадского разработчика и автора книги AI Agents in Action Майкла Ланэма, кодинг-практикум с MWS AI и интеллектуальный спарринг с искусственным интеллектом;
◻️ 20+ площадок с активностями: IT-Родео, робофайтинг, лазерный лабиринт и многое другое.
🔴 А в завершение дня — афтепати со звездным хедлайнером.

Фестиваль бесплатный, пройдет 21 ноября в Москве и онлайн.
Смотри подробную программу на сайте и регистрируйся — количество мест ограничено.
Please open Telegram to view this post
VIEW IN TELEGRAM
2