37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
👣 lordaris/resume_generator

Полнофункциональное веб-приложение для создания резюме.

🛠️ Стек технологий:
- Backend: Go (REST API)
- Frontend: React
- База данных: PostgreSQL
- Кэш: Redis
- Контейнеризация: Docker + Docker Compose

💡 Подходит для pet-проектов или для своего генератора PDF/резюме.

🔗 GitHub

#Resume #Go #React #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
PostgreSQL 17: архитектура и тюнинг SQL-запросов

Погрузись в архитектуру и прокачай оптимизацию запросов одной из самых популярных open source СУБД – PostgreSQL.

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

🤩 Разберем, как работают СУБД вообще и PostgreSQL в частности: что такое MVCC, ACID, WAL, LRU, PPC/TPC и другие фундаментальные понятия архитектуры баз данных
🤩 Получите свой собственный выделенный облачный PostgreSQL-сервер (8 vCPU, 12G RAM, 100G NVMe) – БЕСПЛАТНО на время обучения предоставляется
🤩 Получите теорию и практику EXPLAIN и EXPLAIN ANALYZE на разных типа запросов
🤩 Изучите архитектуру хранения данных в PostgreSQL, типы и особенности индексов, а также получите полезные советы и трюки оптимизации БД

🗓 Старт курса: 24 апреля. Продолжительность: 5 недель обучения (четверг, 18:00 МСК).

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

🤩Кто мы: R&D-центр Devhands, основатель школы Алексей Рыбак.
Автор курса — Николай Ихалайнен, эксперт по СУБД (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqvwnkKb
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 env — библиотека, предлагающая минималистичный способ загружать конфигурацию из env-переменных в структуры.

В отличие от аналогов вроде viper, проект имеет zero-dependencies подход и понятную обработку ошибок. Теги вроде required илиenv — биделают валидацию конфига прозрачной без лишнего кода.

🤖 GitHub

@golang_google
Поздравляем, вы на 1 шаг ближе к работе мечты 🥳

Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉

Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Go-разработчиков.

Подписывайтесь, чтобы найти ту самую работу
👣 Xilt — парсер CLF-логов с записью в SQLite
Нужен лёгкий и быстрый инструмент для анализа логов в формате Common/Combined Log Format? Попробуй Xilt — CLI-утилиту на Go с поддержкой многопоточности.

Что умеет:
📥 Парсит .log-файлы и сохраняет в SQLite
⚙️ Управление потоками - avgLogSize, batchSize, maxMemUsage
🧠 Автоиндексы по IP, методу, пути, времени, referer
💻 Verbose-режим для дебага
🟨 Go-install без проблем

📦 Установка:

go install go.vxn.dev/xilt/cmd/xilt@latest


▶️ Запуск:

xilt access.log logs.db


🔗 GitHub — thevxn/xilt

#Golang #Logs #SQLite #CLItools #DevOps

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣Higress — это современный облачно-нативный API-шлюз с открытым исходным кодом, разработанный Alibaba.

Он построен на базе Istio и Envoy и предназначен для интеграции в инфраструктуру микросервисов, обеспечивая управление трафиком, безопасность и поддержку AI-сервисов.​

🔧 Основные возможности Higress
Интеграция с AI-сервисами: Higress поддерживает AI-ориентированные функции, включая интеллектуальное управление трафиком и безопасность контента.​

- Поддержка WebAssembly (Wasm): Позволяет расширять функциональность шлюза с помощью плагинов, написанных на различных языках программирования.​

- Соответствие стандартам: Поддерживает стандарты Ingress, Gateway API и Istio API, обеспечивая совместимость с другими решениями.​

- Управление API: Предоставляет функции для управления API, включая аутентификацию, авторизацию и мониторинг.​

🌐GitHub: github.com/alibaba/higress
🔗 Официальный сайт: higress.cn

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Оптимизация выделения памяти в Go: как одна строчка замедлила всё на 30%

В базе данных Dolt (аналог Git, но для SQL-таблиц) после рефакторинга один из бенчмарков (types_scan) внезапно стал работать на 30% медленнее. Причина? Казалось бы, невинная строчка кода.

📉 Что произошло
Метод GetBytes() начал вызывать ReadBytes() у интерфейса ValueStore. Всё выглядело логично, пока не включили профилировщик Go и не обнаружили странную активность:
🔍 runtime.newobject вызывался слишком часто → программа делала много лишних аллокаций в куче.

📦 Где зарыта собака

func (vs nodeStore) ReadBytes(...) ...

Этот метод использовал приёмник по значению (vs nodeStore). Это значит, что вся структура копировалась при каждом вызове метода, даже если она большая.

🚑 Как пофиксили
Просто поменяли на приёмник по указателю:

func (vs *nodeStore) ReadBytes(...) ...

Вуаля — аллокейшны исчезли, производительность восстановилась.

🧠 Вывод
Методы с приёмником по значению = риск лишнего копирования и аллокаций
🛠 Даже один маленький метод может резко замедлить ваш код
🔍 Профилировка в Go — мощный инструмент. Используй pprof!

Полный разбор в блоге DoltHub
Подробнее про Dolt

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