Telegram Web Link
👀 Тест на внимательность

Задача простая — слова зашифрованы по горизонтали. Не все из них относятся к Go, но каждое точно знакомо настоящему программисту

💬 Пишите в комментариях, сколько слов удалось найти, и делитесь своим списком под спойлером

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱20👍4🌚4👾1
📰 Дайджест новостей за неделю

Собрали всё важное, чтобы вы могли пропустить. Без nil, без panic(), только конкретика — строго по gofmt'у.

🔄 Go-сервис для GitHub-данных
Простой пример, как на Go сделать REST-сервис, который тянет данные из GitHub. Под капотом: чистая архитектура, PostgreSQL, docker-compose.

🆕 Git 2.49.0
Новые фичи, чистка кода и подготовка к Git 3.0.

📙 Книга про управление в IT
Как стать техлидом без «начальства», влиять на стратегию и архитектуру, поднимать команду и при этом самому расти в глубину

👈 Ловим сравнение указателей
В Go легко случайно сравнить указатели на строки (*a == *b) вместо самих строк. Такая ошибка не упадёт, но может привести к тихим багам.

🐸Библиотека Go разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2😁21
Как планировщик Go решает, на каком ядре будет выполняться конкретная горутина

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

Go использует модель планирования M:N (M горутин на N потоков). Это означает, что несколько горутин могут быть распределены по нескольким потокам ОС.

В Go есть три ключевых компонента, которые связаны с планированием горутин:

G (goroutine): горутина — поток, который управляется Go-рантаймом. В Go может быть создано много горутин (десятки тысяч и даже миллионы), и они используют системные ресурсы с минимальными затратами.

M (machine): системный поток, который Go использует для выполнения горутин. В операционной системе это обычный поток ОС. В Go обычно количество потоков M ограничено числом доступных ядер процессора.

P (processor): абстракция процессора, которая управляет очередями готовых горутин, которые могут быть исполнены. Каждый процессор может управлять множеством горутин, но горутина будет выполняться только на одном ядре в момент времени.

Go решает, на каком ядре будет выполняться горутина, на основе количества доступных процессоров (runtime.GOMAXPROCS) и текущей загрузки

🐸Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🌚32
🧐 Обратная связь после собеседования

Наш подписчик рассказал любопытную историю:
У нас стало заметно больше кандидатов, которые просят расширенную обратную связь после собеседований. Некоторые чуть ли не претензии высказывают в ответ на отказ, а один даже собирался идти в суд — мол, прошёл пару туров, значит должен был получить оффер. Эйчары в шоке.


📊 Давайте устроим небольшой опрос: нужна вам обратная связь после собеса? И если да — какая именно? Пишите в комментарии👇

Напоминаем, вы можете спросить сообщество библиотеки Go и не только! Самые интересные вопросы обязательно опубликуем.

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
💾 Как выбрать стратегию кэширования: разбор 7 популярных алгоритмов

Кешировать нужно с умом. И нет, LRU — не серебряная пуля.

В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO, ARC и другие
– Примеры, где каждый работает лучше
– Плюсы и минусы подходов
– Практические советы по выбору стратегии

Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз.

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

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔2😢2
🛠 Event-Driven архитектура в Go

EDA (Event-Driven Architecture) — это когда каждый компонент системы живёт своей жизнью и просто «подслушивает» интересные ему события. Если сервисы общаются через REST и вы уже устали от retry-логики, timeouts и других прелестей — добро пожаловать в мир событий.

Как это сделать

Самый простой метод всего в три шага — это использовать NATS:

1. Установка NATS (через Docker)

docker run -d --name nats -p 4222:4222 nats:latest


2. Подписка на событие

nc, _ := nats.Connect(nats.DefaultURL)
nc.Subscribe("user.created", func(m *nats.Msg) {
fmt.Printf("Новое событие: %s\n", string(m.Data))
})
select {} // держим соединение открытым


3. Публикация события
nc, _ := nats.Connect(nats.DefaultURL)
nc.Publish("user.created", []byte("Пользователь создан: ID=123"))


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

➡️ Подробнее про реализацию

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🥱7🔥53
🎧 103 выпуск подкаста Cup o' Go

Не пропустите новый эпизод подкаста Cup o' Go, где ведущие как всегда анализируют самые важные новости и обновления в мире Go.

Что обсудили на этот раз:

• Новый пакет x/exp/stats.

• Больше о typo squatting

• Пользователи Linux и macOS заразились вредоносным ПО, замаскированным под легитимные пакеты Go.

• Поддержка windows/arm удалена в Go 1.26

• DATA-DOG/go-txdb: SQL-драйвер для Go на основе одиночной транзакции.

• peterldowns/pgtestdb: написание эффективных тестов с использованием базы данных для PostgreSQL.

🖇 Слушать обсуждение новостей

🐸Библиотека Go разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
⚙️ Линтерный комбайн для Go

Каждый Go-разработчик проходит через это: запускаешь golangci-lint, а он в ответ показывает, что половину твоего кода можно выбросить, а вторую — переписать. Главное — не обижаться. Это просто инструмент, который говорит тебе правду.

Что он умеет:
• Обнаруживает сложные, нечитаемые функции и предлагает упростить.
• Настраивается через YAML.
• Работает быстро, потому что использует кэш и параллельные запуски.
• Легко подключается в CI/CD, работает в GitHub Actions из коробки.

▶️ Быстрый старт
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint run


Пару дней назад линтер обновился до версии 2.0. Самое время попробовать!

➡️ Подробнее про инструмент

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰17👍4🔥32
📁 Работа с файлами в Go

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

➡️ Освоить базу по файлам поможет это видео

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🥱2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👨🏻‍💻 Исследование IT-аудитории Proglib 2025: зарплаты, технологии, профессии

Кто такой современный разработчик в 2025 году? Актуальное исследование портрета IT-специалистов: зарплаты, технологии, специализации и демография разработчиков.

➡️ Вся статистика и детали — здесь

Библиотека программиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥱3😁1
🧑‍💻 Команда дня: автоматическое TDT

Table-Driven Testing — это когда ты не пишешь 10 одинаковых t.Errorf, а делаешь одну таблицу кейсов и запускаешь их в цикле.

В GoLand это можно сделать с помощью команды Ctrl+Shift+T → Create New Test → Table Test:
func TestMyFunction(t *testing.T) {
tests := []struct {
name string
args args
want string
}{
// TODO: Add test cases.
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := MyFunction(tt.args); got != tt.want {
t.Errorf("MyFunction() = %v, want %v", got, tt.want)
}
})
}
}


Остаётся добавить тест-кейсы и тест готов.

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20👾21
🦊 Альтернативы Firefox: обзор 4 лучших форков для тех, кто разочаровался в Mozilla

Приватность, скорость, расширенные функции — что выбрать? Разбираем популярные форки браузеров и их преимущества.

Что в статье:

✔️ Обзор самых популярных форков браузеров

✔️ Их ключевые фишки, плюсы и минусы

✔️ Как выбрать оптимальный вариант под ваши задачи

Браузер — это не просто окно в интернет, а инструмент, который должен соответствовать вашим требованиям. Делитесь своим опытом в комментариях! 🚀

Прочитать подробнее статью 🔗

🐸 Библиотека тестировщика
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8👍4😁2
Goto: зло или добро

С одной стороны, его ненавидят. За то, что он ломает структуру, разрушает читаемость, делает отладку похожей на побег из лабиринта без карты. В любом учебнике по хорошему коду скажут: «никогда не используй goto».

Но с другой стороны — низкоуровневый код, драйвера, критические участки, где goto не только оправдан, но и единственный способ не утонуть в if-else-аду и ручной очистке ресурсов. Там он превращается из анархиста в спасателя.

Пользовались ли вы goto (не только в Go)? Понравилось или почувствовали вкус старины? Ждём ваши мнения в комментариях 👇

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁183🌚1
☸️ CKAD 2025. Самый свежий гайд по сдаче сертификации Certified Kubernetes Application Developer

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

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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🗞 Апдейт недели: что обновилось в мире

Собрали для вас ключевые новости, чтобы вы были в курсе самых важных событий

Go упрощает спецификацию
Разработчики решили удалить понятие «core types» из спецификации языка, сделав его более простым и понятным

Как выбрать стратегию кэширования

103 выпуск подкаста Cup o' Go

Исследование IT-аудитории Proglib 2025

🐸Библиотека Go разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
👨‍💻 Константы по разному

Теперь вы вооружены знаниями о различных вариантах объявления констант в Go.

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

👻 — Hello, World!
🌚 — Hello...
⚡️ — Завершится с ошибкой
🎉 — Ошибка компиляции

🐸Библиотека задач по Go
Please open Telegram to view this post
VIEW IN TELEGRAM
127🎉18🌚7😁2😢2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💻🧩 Когда HR требует LeetCode Hard: почему компании стреляют себе в ногу

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

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

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10😁2
2025/07/13 14:35:43
Back to Top
HTML Embed Code: