Библиотека Go-разработчика | Golang
23.1K subscribers
1.81K photos
39 videos
87 files
4.2K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Работать у нас: https://job.proglib.io/

Наши каналы: https://t.me/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
📰 Технический дайджест

Собрали ключевые события и релизы за последние дни.

Новый эпизод подкаста Cup o' Go

Возможно, WebSockets вам не нужны
Статья про отказ от WebSockets в пользу более простых альтернатив вроде HTTP-стриминга.

depgraph
Инструмент для анализа зависимостей Go-модулей. Он сканирует указанные GitHub-организации или аккаунты, извлекает зависимости из файлов go.mod и строит граф в формате DOT.

go-fluxus v1.1.1
Лёгкая и типобезопасная библиотека для создания и управления пайплайнами в Go

7 признаков того, что вы растёте как программист

Как работает протокол HTTP/2

➡️ Вакансия бустера

🐸Библиотека Go разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код

👻 — 24
🌚 — 24.7
⚡️ — 0
🎉 — Ошибка времени выполнения

🐸Библиотека задач по Go
Please open Telegram to view this post
VIEW IN TELEGRAM
🐶 Топ-вакансий для go разработчиков за неделю

Разработчик Go (Middle+/Senior) — 250 000 ₽, Удаленно (Рязань)

Go Developer — от 272 000 ₽, Удаленно (Москва, Санкт-Петербург)

Golang Developer (Middle / Senior) — Удаленно (Москва)

Go-разработчик
— Удаленно (Москва)

Golang-разработчик (Senior)
— от 300 000 ₽, Удаленно (Москва)

Бустер — удалённо (по всему миру)

➡️ Еще больше топовых вакансий — в нашем канале Go jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Шпаргалка по путешествиям данных

Подготовили для вас компактный гид по передаче данных по API.

💾 Сохраняйте к себе, чтобы не потерять

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Docker - лучший обучающий канал по Devops.

С помощью картинок и коротких видео даже новички начнут применять продвинутые инструменты разработки и использовать Docker.

Стоит подписаться: t.me/DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
📦 Главные проблемы распределенных систем (и способы их решения)

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

➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ How to: пайплайн для Go приложения

Если вы разрабатываете Go-приложение и хотите автоматизировать процесс сборки для разных операционных систем и архитектур, GitHub Actions — отличный инструмент для этого.

Подготовили для вас небольшой пример для настройки своего пайплайна:
name: Build Go Application

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
goos: [linux, windows]
goarch: [amd64, 386]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.24'

- name: Build for ${{ matrix.goos }}-${{ matrix.goarch }}
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
run: |
go build -o myapp-${{ matrix.goos }}-${{ matrix.goarch }} .

- name: Upload release binaries
uses: actions/upload-artifact@v2
with:
name: myapp-${{ matrix.goos }}-${{ matrix.goarch }}
path: myapp-${{ matrix.goos }}-${{ matrix.goarch }}


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

· on: этот блок определяет, когда будет запускаться ваш workflow. В данном случае он будет запускаться при push в ветку main и при создании pull request.

· jobs: создаём один job, который будет выполняться на последних версиях Ubuntu. В рамках этого job будет запускаться матричный процесс, который соберёт приложение для нескольких операционных систем и архитектур.

· matrix: этот параметр позволяет создать несколько сборок для разных комбинаций операционных систем (GOOS) и архитектур (GOARCH). В примере указаны Linux и Windows с двумя архитектурами: amd64 и 386.

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉🐙🐱 20 лет Git: все такой же необычный, все такой же великолепный

Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.

Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.

➡️ Читать статью

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как ускорить ваш релизный процесс

GoReleaser — это инструмент для автоматизации релиза программных продуктов. Он поддерживает несколько языков программирования (в том числе Go, Rust, Zig, и TypeScript) и позволяет ускорить процесс релиза за счет автоматизации сборки, упаковки и распространения.

⚡️ Как GoReleaser ускоряет релизный процесс

• Нет необходимости вручную собирать и публиковать версии. GoReleaser автоматизирует все процессы — от генерации бинарников до распространения релиза через CI/CD.

• Поддержка нескольких языков программирования позволяет вам использовать GoReleaser для проектов не только на Go, но и для других популярных языков.

• поддерживает Windows, macOS и Linux, а также позволяет генерировать Docker-образы.

• Каждый релиз сопровождается автоматически сгенерированным changelog, что позволяет легко отслеживать изменения и уведомлять пользователей.

Пример конфига для быстрого релиза:
builds:
- goos: linux
goarch: amd64
main: ./cmd/myapp/main.go
binary: myapp

archives:
- format: tar.gz
files:
- ./dist/myapp

dockers:
- image: myapp
dockerfile: ./Dockerfile

publish:
github:
owner: myusername
name: myrepo
draft: true
prerelease: true


➡️ Попробовать goreleaser

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
От многомерности к сути: чему нас учит PCA

На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и ценности. Это помогает справляться со стрессом, неожиданными вопросами и субъективной оценкой.

В машинном обучении есть похожий подход — PCA (метод главных компонент). Он сокращает размерность данных, устраняя шум и второстепенные детали, и помогает сфокусироваться на самом важном.

В новой статье мы разберём:
• Как работает PCA
• Зачем он нужен
• Как применять его на практике — например, для анализа доходностей акций S&P 500

🐸 Подробнее: https://proglib.io/sh/uXsDlt75MY

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Умный способ не плодить объекты в Go

Если вы уже устали от постоянных new() и хотите, чтобы объекты жили чуть дольше, чем внимание пользователя в TikTok — гляньте на go-pool.

Это обёртка над sync.Pool, только с мозгами:

• Можно пометить объект как негодный (например, если он после .Use() начал вонять),
• Лимитировать размер пула.
• Следить за количеством объектов.

Пример прост как "Hello, world":
pool := pool.New(func() *X { return &X{} }, 5)
x := pool.Borrow()
defer x.Return()


➡️Попробовать go-pool

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое слово из мира Go мы загадали?

💬Пишите свои догадки в комментарии 👇

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM