Golang Books
16.5K subscribers
265 photos
4 videos
334 files
258 links
Библиотека Golang разработчика

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

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

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

№ 5032829002
加入频道
⚡️ Почему лучшие разработчики всегда на шаг впереди?

Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.

ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg

Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🖥 Chatgpt для кода в тг: @Chatgpturbobot

📕Ит-книги: https://yangx.top/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi

Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🤔1🤬1
⚙️ Как правильно управлять конфигурацией в Go-приложении?

Алекс Эдвардс выпустил чёткий гайд по работе с настройками в веб-приложениях на Go:
• флаги командной строки
• переменные окружения
• конфиг-файлы (JSON, YAML)
• разделение по средам: dev, staging, prod
• и главное — как всё это объединить в чистую архитектуру

Без лишнего кода, с примерами и практикой. Подойдёт как для новичков, так и для тех, кто хочет структурировать свой проект правильно.

📖 Читать статью:
https://alexedwards.net/blog/how-to-manage-configuration-settings-in-go-web-applications
4🤔3👍2
🚦 Рейтлимитинг в Go: Token Bucket и Leaky Bucket — просто и понятно

📌 Хочешь ограничить количество запросов в секунду к API или ресурсу? В статье [на dev.to](https://dev.to/jones_charles_ad50858dbc0/implementing-rate-limiters-in-go-token-bucket-and-leaky-bucket-made-simple-5162) показано, как реализовать два самых популярных алгоритма рейтлимитинга:

🪙 Token Bucket
- Каждому клиенту выделяется "ведро" с токенами.
- Запросы забирают по 1 токену.
- Токены добавляются с фиксированной скоростью.
- Если токенов нет — запрос блокируется или отклоняется.

Пример на Go:

bucket := make(chan struct{}, 5) // max 5 токенов
go func() {
for range time.Tick(200 * time.Millisecond) {
select {
case bucket <- struct{}{}:
default:
}
}
}()


💧 Leaky Bucket
- Все запросы ставятся в очередь (как в воронке).
- Обработка идёт с фиксированной скоростью, капля за каплей.
- Если очередь переполнена — лишние запросы отбрасываются.

Пример на Go:

queue := make(chan struct{}, 5)
go func() {
for {
<-queue
time.Sleep(200 * time.Millisecond)
fmt.Println("Processed request")
}
}()


📊 Выбор зависит от задачи:
- Token Bucket — гибкий контроль, хорошо работает с "всплесками" трафика.
- Leaky Bucket — строгая равномерность, предотвращает перегрузки.

🔗 Полная статья с пояснениями и кодом:
https://dev.to/jones_charles_ad50858dbc0/implementing-rate-limiters-in-go-token-bucket-and-leaky-bucket-made-simple-5162
👍176
📚 Новый инструмент для ИИ-агентов — annas-mcp

Open-source проект annas-mcp превращает Anna’s Archive в полноценный MCP-сервер. Это значит, что теперь Claude и другие ИИ-агенты могут искать и скачивать книги, статьи и документы напрямую, как часть своей цепочки действий.

🧠 Что умеет:

• Работает как MCP-сервер — можно интегрировать с Claude Desktop и другими агентами
• Поддерживает CLI-режим — ищи и скачивай прямо из терминала
• Использует официальный API Anna’s Archive (требуется ключ)

🔧 Пример использования:

export ANNAS_SECRET_KEY="ваш_ключ"
annas-mcp search "deep learning"
annas-mcp download <doc-id>


💡 Особенности:

— Полноценная поддержка Model Context Protocol
— Удобная интеграция в пайплайны агентов
— Возможность автоматизировать получение научных текстов

⚠️ Напоминаем: Anna’s Archive содержит контент, на который могут распространяться авторские права. Использование — на ваш риск.

📌 Github
6👍3🔥3
🚀 Вводный гайд по Go от FreeCodeCamp – ключевые концепции для новичков

Если вы только входите в мир Go — это must-read:

1. Переменные и типы данных
- Статическая типизация: int, float, bool, string, массивы, срезы, карты, struct, указатели.

2. Управляющие конструкции
- if/else, switch, for (единственный цикл в Go), включающий range для обхода коллекций.

3. Функции и методы
- Объявление с параметрами и возвращаемыми значениями, включая множественный возврат и вариативные параметры.
- Методы с указателями и значениями в качестве ресиверов.

4. Указатели
- Получение адреса через &, разыменование через *, передача по ссылке

5. Structs & интерфейсы
- Группировка полей, композиция вместо наследования, интерфейсы для полиморфизма

6. Коллекции
- Массивы — неизменного размера.
- Срезы — динамические массивоподобные структуры.
- Карты — хранилища ключ–значение.

7. Стандартная библиотека и пакеты
- Базовые пакеты типа fmt, strings, удобные инструменты для форматирования и работы со строками.

8. Тестирование
- У FreeCodeCamp есть раздел про unit- и integration-тесты (см. оглавление).

9. Совместное развитие: gofmt и окружение
- gofmt + VSCode — автоформатирование и подсветка, готовое окружение.

10. Конкуренция (упомянута, но в основном в другом гиде)
- Горутины, каналы, мьютексы — сильные стороны Go, подробнее в «Go Handbook».

Итог:
FreeCodeCamp предлагает отличную обзорную дорожную карту для начинающих: от базовых типов до функций, структур и тестирования. Это отличный старт, за которым
13👍2🔥1🥰1🤬1
This media is not supported in your browser
VIEW IN TELEGRAM
Для Серёжи рабочий день — не шум принтера и звук кофемашины. А друзья в команде, посиделки после работы и проекты по душе 🙂

Сейчас Серёжа делает бэкенд всей VK более отказоустойчивым, и в его команде не хватает Go-разработчика, чтобы затащить эту цель. Возможно, это именно вы: откликайтесь, если откликается!
🤬82😁1
🧰 Plakar — бесплатное и полностью open‑source решение для резервного копирования, масштабируемое и надёжное.

🔐 Основные преимущества:

- Защита не только файлов, но и данных приложений — вся информация сохраняется с контекстом
- Использует Kloset — неизменяемое и распределённое хранилище с дедупликацией и шифрованием
- Быстро работает и масштабируется: резервные копии выполняются за секунды (S3: 14 мин → 13 сек — x60)
- Поддерживает резервирование, синхронизацию и восстановление на различных носителях — локально, S3, SFTP и др.

⚙️ Основные возможности:

- CLI/API/Web UI — чистая и интуитивная команда (`plakar backup`, plakar restore, `plakar ui`)
- End-to-end шифрование, проверенный аудит криптографии
- Масштабируется вертикально и горизонтально с низкой нагрузкой на память
- Поддержка многоконкурентного доступа, дедупликации, сжатия и поиска через UI
- Поддержка резервного копирования нескольких источников в один репозиторий
- UI‑панель позволяет удобно просматривать снапшоты и выбирать файлы для восстановления

📦 GitHub: https://github.com/PlakarKorp/plakar
🌐 Документация: https://docs.plakar.io
8👍6🔥4
Уже освоили базу Go, но хотите выйти на новый уровень и научиться работать с памятью напрямую?

📍 На открытом уроке «Пакет unsafe. Godmode ON» 23 июля в 20:00 МСК мы покажем как небезопасные операции с памятью расширяют возможности Go-разработчика: от обхода ограничений type safety до повышения производительности.

Представьте: вы разбираетесь, как устроена память внутри Go-объектов, вручную управляете указателями и получаете контроль над структурой данных. Вместе с экспертом вы протестируете кейсы, поймёте риски и преимущества.

👉 Регистрируйтесь и получите скидку на участие в большом курсе «Golang Developer. Professional»: https://otus.pw/OuX6/

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
2
🐳 Tilt + Docker = Быстрая разработка микросервисов. Этот инструмент делает работу с Docker-контейнерами в dev-режиме проще: автоматически пересобирает образы и обновляет окружение при изменениях кода. Замените ручные docker-compose up и docker build на одну команду tilt up.

Идеально подходит для тех, кто разрабатывает сложные мультисервисные приложения в Docker. Интеграция с Kubernetes позволяет плавно переходить от локальной разработки к продакшену.

🤖 GitHub

@DevopsDocker
6👍2🔥2
Ты знал, что сейчас, ты получаешь, вероятно, самую большую свою зарплату. Имеется ввиду - по её покупательской способности. 

Потому что: 
- Никто повышать ЗП тебе не станет. Если станет, то не сильно. Это просто невыгодно бизнесу.
- Учиться чему-то новому ты тоже вряд ли станешь, потому что считаешь онлайн-курсы каким-то нелепым скамом
- Работать на трех работах, чтобы получать зарплату х3 ты - не станешь. Потому что это запарно, личная жизнь идёт ко дну, а перспектива поехать кукухой - воспаряет в небеса. 

То есть, чтобы твоя покупательская способность всё-таки выросла (законным путём, конечно же!), нужно что-то делать. Самый простой вариант: еще раз подумать над пунктом “2”.

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

Когда закончишь обучение Kata Academy поможет тебе найти работу с зарплатой минимум от 120.000 рублей в месяц. Сразу, с первого месяца работы. Средняя ЗП выпускников в районе 255к. И все это без риска поехать кукухой от перенапряжения на работе.

Ну а что будет, если не найдешь работу с такой зарплатой? Узнаешь на бесплатной консультации. Будь зайкой, запишись, чего тянуть: https://kata.pw/D9gfSG

#реклама
О рекламодателе
erid: 2W5zFHX9kfz
😁83👍2🔥1
🛡 SecureMCP — новый инструмент для аудита уязвимостей в LLM-инфраструктуре

Если вы работаете с агентами на базе MCP (Model Context Protocol), это must-have.

Что делает SecureMCP:
• Сканирует MCP-серверы на уязвимости: утечки токенов, prompt-инъекции, tool-poisoning
• Обнаруживает слабые конфигурации и нестабильные цепочки вызовов
• Даёт рекомендации и патчи: валидация входа, защита токенов, фильтрация prompt’ов
• Работает как CLI и Python-библиотека — можно встроить в CI/CD
• Полностью open-source: расширяйте под свои нужды

Почему важно:
💥 MCP стремительно проникает в production-LLM-агентов
💥 Уже есть случаи компрометации — prompt-инъекции, подмена responses и утечки OAuth
💥 SecureMCP — первая линия обороны на уровне протокола

🔗 https://github.com/makalin/SecureMCP
🔥3👍2
Forwarded from Golang
👣 Как Go 1.24 сэкономил сотни гигабайт памяти

В Datadog обновили Go до версии 1.24 и сразу заметили резкое падение использования памяти. Почему? В Go 1.24 появилась новая реализация хеш-таблиц — Swiss Tables, вдохновлённая подходом от Google.

📌 Что изменилось в Go:
— больше никаких overflow-бакетов
— увеличен load factor до 87.5%
— аллокация гибче: split вместо полного копирования
— меньше фрагментации и лучше кэш-локальность

📊 Пример:
map с 3.5 млн элементов:
• Go 1.23 — 726 MiB на бакеты
• Go 1.24 — 217 MiB
→ Экономия: ~500 MiB на одну карту

Но настоящая магия началась позже:
🛠️ Они нашли, что в структуре Response:
• были неиспользуемые поля (`RoutingKey`, `LastModified`)
• поле ShardType было int, хотя хватало uint8

После чистки размер структуры упал с 56 до 24 байт — и это дало ещё -250 MiB RSS с одного пода.

💡 Выводы:
1. Обновление Go = бесплатная оптимизация карт
2. Оптимизация структуры данных = ещё больше профита
3. Профилирование и метрики — must-have

📉 В сумме: сотни гигабайт экономии без изменения логики приложения.

🔗 Полный разбор:
https://www.datadoghq.com/blog/engineering/go-swiss-tables

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20