39.1K subscribers
1.65K photos
48 videos
5 files
1.79K links
admin - @haarrp

https://t.me/Golang_google - Golang разработка

https://t.me/golangl - golang чат

https://t.me/golangtests go тесты

https://t.me/ai_machinelearning_big_data машинное обучение

@itchannels_telegram

РКН: clck.ru/3Fmx3s
Download Telegram
⚡️ Awesome Web Scraping: большая коллекция («awesome list») полезных библиотек, сервисов, инструментов и учебных материалов по веб-скрапингу и обработке данных из веба.

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

🟠 Что можно парсить:
- изображения, видео, аудио и документы
- метаданные и теги
- SEO-данные и метрики ресурса
- информацию о посетителях и многое другое

Особенности:
- работают на популярных языках: Python, PHP, JavaScript и Go
- имитируют поведение реального пользователя и обходят защиту — от капчи до сложных барьеров
- к каждому инструменту прилагается подробная инструкция
- проекты регулярно обновляются и поддерживаются разработчиками

🟠Github: https://github.com/lorien/awesome-web-scraping
🟠Для Go: https://github.com/lorien/web-scraping/blob/master/golang.md

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍12🔥5🤔2
Как выстроить актуальную IT-инфраструктуру проекта в 2026?
Мнение экспертов и реальные кейсы на Selectel Tech Day

8 октября в Москве пройдет Selectel Tech Day — флагманская конференция одного из ведущих облачных провайдеров. В программе: доклады об актуальных технологиях, реальный опыт построения гибкой и устойчивой IT-инфраструктуры и нетворкинг.

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

Место встречи — Москва, Цифровое деловое пространство. Участие в конференции бесплатное, нужно зарегистрироваться →

Реклама. АО "Селектел". erid:2W5zFJYyqui
🔥63👍1😁1
👣 Imagor — это быстрый и безопасный сервер обработки изображений и библиотека для Go, использующая libvips для высокой производительности!

🌟 Он поддерживает потоковую обработку изображений, что позволяет добиться высокой пропускной способности сети. Imagor можно развернуть как HTTP-сервер с поддержкой Docker и использовать в качестве замены для Thumbor, используя его URL-формат. Проект также поддерживает генерацию миниатюр для видео с помощью FFmpeg.

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176🥰3
This media is not supported in your browser
VIEW IN TELEGRAM
oq - Удобный терминальный просмотрщик спецификаций OpenAPI

oq позволяет просматривать спецификации OpenAPI в терминале, поддерживая версии 3.0 и 3.1 в форматах JSON и YAML. Легко открывайте файлы или передавайте данные через стандартный ввод.

🚀Основные моменты:
- Поддержка OpenAPI 3.0.x и 3.1.x
- Работа с JSON и YAML
- Удобные горячие клавиши для навигации
- Легкая установка и использование

📌 GitHub: https://github.com/plutov/oq

@golang_google
👍2014🔥7🤔1
⚙️ pgschema — Terraform-подобный инструмент для Postgres

Разработчики выкатили pgschema — утилиту для декларативных миграций схемы в Postgres.
Теперь можно описывать схему как “источник правды”, сравнивать её с текущей и применять изменения безопасно — как в Terraform.

🟢 Главное
- dump — снимаем слепок схемы
- plan — видим diff и список изменений
- apply — применяем миграции с контролем блокировок и таймаутов
- Поддержка Postgres 14-17
- Transaction-adaptive исполнение и dry-run режим

Зачем нужно
- Порядок в быстро меняющейся схеме
- Прозрачные миграции через CI/CD
- Контроль DDL-операций без неожиданных простоев
- Удобно для gitops и командной разработки

👉 Репозиторий: https://github.com/pgschema/pgschema

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍219🔥3
KubeForge — визуальный редактор для Kubernetes-развёртываний

📦 Drag-and-drop интерфейс для объектов Kubernetes
📘 Поддержка схем с помощью Kubernetes JSON schemas
🧩 Модульный редактор компонентов с шаблонами и переиспользуемыми спецификациями
🔁 Визуальные обновления в реальном времени и отображение зависимостей
⚙️ Экспорт YAML-файлов, готовых к применению

🔗 https://github.com/kubenote/KubeForge

@golang_google
🔥178👍5😱1🤬1
📘 На Stepik вышел курс — «Golang - микросервисная архитектура, проектирование API»
Уже знакомы с Go и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.

• Полный путь от сетевых протоколов до Kubernetes: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana
• Практика на реальных кейсах: проектируем API, пишем микросервисы, покрываем тестами, выкатываем CI/CD
• 180+ интерактивных заданий с автопроверкой — код прямо в браузере, в любое удобное время
• Итоговый pet-project: к финалу курса у вас будет рабочая мини-экосистема из нескольких сервисов

🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn

🚀 Прокачайте Golang с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов

👉 Пройти курс на Stepik
🤬30👍96😁2🥰1
👣 WeKnora — новый фреймворк на Go для работы с документами, семантического поиска и генерации контекстных ответов с использованием RAG.

Ключевые возможности:
- интеграция LLM для рспознавания сложных документов,
- семантический поиск по содержимому, а не только по ключевым словам,
- ответы, учитывающие контекст и извлечение данных через Retrieval-Augmented Generation,
- написано на Go — быстрая, масштабируемая и удобная интеграция в существующие системы.

Проект:
https://github.com/Tencent/WeKnora

@golang_google

#golang
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍6🔥6
👣 Разбор статьи о том, как Go управляет памятью

Go использует собственную, достаточно сложную модель аллокации памяти, которая сильно отличается от традиционного malloc. Вместо прямой работы с кучей Go оперирует несколькими уровнями:

- Arena - основной блок памяти в 64 МБ, который Go выделяет у ОС.
- Page - каждая арена делится на страницы по 8 КБ.
- Span - набор страниц, который используется для аллокаций объектов одного размера.
- Size class - категории размеров объектов (от tiny до large), каждая из которых имеет свой способ обработки.

Память также делится на:
- scan (объекты с указателями, которые должен обходить GC),
- noscan (объекты без указателей, GC может их игнорировать).

Аллокация объектов
- Tiny-объекты (менее 16 байт) могут группироваться в один слот для ускорения.
- Small-объекты (до 32 КБ) выделяются из span’ов в соответствии с size class.
- Large-объекты (более 32 КБ) выделяются напрямую из кучи (heap).

Escape analysis
Go-компилятор анализирует, выходит ли переменная за пределы функции:
- если нет → объект попадает на стек,
- если да → объект уходит в кучу.
Это решает судьбу каждой переменной и напрямую влияет на работу GC.

Стек горутин
- Каждая горутина стартует со стека в 2 КБ.
- Стек растёт динамически (copy & grow) и может сжиматься.
- При глубокой рекурсии или сложных вычислениях рост стека может быть дорогим, так как требует копирования всех данных.

Практические советы
1. Избегайте лишних tiny / small аллокаций в горячих функциях - каждая мелочь создаёт нагрузку на GC.
2. Переиспользуйте срезы и буферы (`row[:0]`, sync.Pool) для минимизации мусора.
3. Объединяйте переменные в структуры, если они живут одинаковое время, чтобы уменьшить число malloc’ов.
4. Следите за размером объектов, чтобы они не перескакивали из small в large — это увеличивает расходы.
5. Профилируйте escape analysis (`go build -gcflags="-m"`) - он покажет, какие переменные уходят в кучу, а какие остаются на стеке.
6. Следите за ростом стека в рекурсивных функциях - копирование может быть дорогим.

Контроль над аллокацией в Go - это контроль над работой GC. Если понимать, как именно Go управляет памятью, можно проектировать код так, чтобы минимизировать аллокации, упростить жизнь GC и получить значительный прирост производительности.

🟢 Полный разбор здесь: https://nghiant3223.github.io/2025/06/03/memory_allocation_in_go.html
🟢Видео-разбор: https://www.youtube.com/watch?v=VrXQhtpjHWs

@golang_google

#golang #go #memory
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥58👍2416
👣 From Bash to Go — часть III

Это третья часть серии о том, как шаг за шагом перейти от Bash к Go. В этом выпуске автор показывает, как с помощью Go можно строить платформы — то есть системы, которые упрощают работу команд и скрывают внутреннюю сложность инфраструктуры.

Что реализовано:
• Easypod API Server — простой API-сервер поверх Kubernetes.
• Поддерживаются три базовые операции:
- POST /pod — создать Pod
- GET /pods — получить список Pod’ов
- DELETE /pod/{name} — удалить Pod
• Подключение к Kubernetes через официальный Go SDK (client-go).
• Показаны примеры кода: структуры, обработчики запросов, JSON-декодинг, взаимодействие с API-сервером кластера.

Зачем это нужно:
• Bash-скрипты хороши для простых задач, но плохо масштабируются. Go даёт типизацию, читаемость и безопасность.
• Платформа на Go позволяет абстрагировать сложные операции (например, работу с Kubernetes) и предоставить командам удобный API.
• Такой подход можно развивать: добавлять новые маршруты, интеграции и строить полноценные инструменты для DevOps и платформенной инженерии.

Что можно улучшить:
• Добавить авторизацию и аутентификацию, чтобы ограничить доступ к API.
• Реализовать логирование, метрики и мониторинг.
• Улучшить обработку ошибок и подумать о масштабировании.

🟢 Репозиторий

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥149👍6😁2
💡 Совет для Go-тестов

Когда пишете вспомогательные функции вроде assertEquals или doRequest, добавьте в них t.Helper().

Зачем? Если тест упадёт, Go покажет строку вызова в самом тесте, а не внутри хелпера. Так сразу видно, где именно ошибка.

@golang_google

#golang
👍6617🔥6🥰1🤔1
Офер в VK для бэкендеров и ML-щиков — станьте частью команды за выходные.

4–5 октября пройдёт VK Weekend Offer. Всего за 2 дня вы сможете пройти весь путь от знакомства с командами до приглашения на работу: пройти техническое собеседование, встретиться с лидами и получить офер.

Требования для бекэндеров – три года опыта коммерческой разработки, знание Java, Go, Python, C++.
Для ML-щиков – те же три года опыта + знания Classic ML, RecSys, NLP/LLM, CV, Speech.

Читайте подробности на сайте и подавайте заявку до 2 октября!
😁7👍5😱2🤬2😢2
📊 Высокопроизводительная библиотека логирования для Go 🚀

mtlog — это библиотека структурированного логирования для Go, вдохновленная Serilog. Она обеспечивает нулевые аллокации для простых операций логирования и поддерживает мощные функции для сложных сценариев, включая шаблоны сообщений и совместимость с OpenTelemetry.

🚀Основные моменты:
- Нулевые аллокации для простых сообщений
- Поддержка шаблонов сообщений и Go синтаксиса
- Интеграция с Kubernetes и OpenTelemetry
- Многофреймворковая поддержка для HTTP
- Расширенные стратегии выборки и маршрутизации логов

📌 GitHub: https://github.com/willibrandon/mtlog

@golang_google

#golang
6👍3🔥2🤬1🎉1