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

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

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

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
👨‍💻 ИИ в разработке: страх и адаптация

Сегодня автоматизация выходит на новый уровень: AI-агенты уже могут брать тикет в Jira, разбираться в кодовой базе и создавать PR за считанные минуты.

Но не стоит впадать в панику — важно понять, как эффективно работать с такими инструментами и сохранить контроль над качеством.

Наткнулись на тему на реддите:
Я только что наблюдал, как AI-агент взял задачу в Jira, разобрался в нашей кодовой базе и за несколько минут отправил Pull Request — и это меня действительно пугает.


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

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

Параллельно развивайте «человеческие» навыки: умение просто и убедительно объяснять сложные идеи стейкхолдерам, менторить коллег в работе и проводить оценки рисков автоматической генерации кода.

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

💬 Боитесь нейронок? Как утешаете себя, что не уволят? Или бесстрашно готовы противостоять? Делитесь мыслями в комментах👇

P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚡️ Мгновенная генерация заглушек для интерфейсов

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

Автоматическая генерация позволяет сосредоточиться на логике тестов и избавляет от рутинных задач:
mockgen -source=service.go -destination=service_mock.go -package=service


Эта команда считывает все интерфейсы из файла service.go и создаёт в service_mock.go готовые заглушки в пакете service.

Сгенерированный код включает методы для записи ожиданий и проверок вызовов, что ускоряет настройку юнит‑тестов.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥1
🐶 Карьерный козырь в резюме

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

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

➡️ Превратите пет-проекты в козырь

🐸Библиотека Go-разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚51😁1
🔥 Знакомьтесь, преподаватель нашего нового курса по ML — Мария Жарова.

В карточках рассказали, чем Мария занимается и какие советы даёт тем, кто хочет расти в IT и Data Science ☝️

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

👉 Записывайтесь на курс
🥱32👍1
💡 Заработок или выгорание

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

Когда аутсорсинг — это хорошая идея:

• Аутсорсинг может стать отличным источником дополнительного дохода. Это круто, если нужно накопить на что-то большое.

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

• Это шанс расширить вашу экспертизу и портфолио, а также обрести конкурентное преимущество на рынке.

• В отличие от основной работы, где часто нужно придерживаться жёстких стандартов и сроков, аутсорсинг может быть более гибким.

Когда аутсорсинг — это плохая идея:

• Работая на основном месте, вы можете подписывать соглашения, которые запрещают заниматься сторонними проектами, особенно если они касаются конкурентов.

• Постоянный стресс и нехватка времени могут повлиять на вашу продуктивность и общее самочувствие.

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

💬 Как у вас дела с работой? Хватает одной или пытаетесь успеть везде? Делитесь своими делами в комментариях 👇

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🆕 Семь дней информации

За неделю можно собрать новый стартап, а мы собрали для вас новости и материалы.

Революция в производительности парсинга Protobuf

HyperPB — это новая библиотека для Go, обеспечивающая динамичный и высокопроизводительный парсинг Protobuf-сообщений.

Как настроить Go SDK для Azure Cosmos

В блоге Microsoft описывается, как адаптировать Go SDK для Azure Cosmos DB под реальные условия эксплуатации.

Глубокие vs поверхностные интерфейсы в Go

Обсуждаются два типа интерфейсов: глубокие и поверхностные. Глубокие интерфейсы, как правило, предлагают мощные абстракции с минимальными методами, а поверхностные интерфейсы включают множество методов.

Карьерный козырь в резюме

Как продвинуть резюме в ТОП на HeadHunter

🐸Библиотека Go-разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам.

С 1 августа всё меняется: навсегда — останутся только те, кто успел купить сейчас.

-40% на все курсы. Включая обновлённый Python (кроме курса по AI-агентам)

Это не просто распродажа. Это — последняя точка входа в Proglib Academy по старым правилам.

📚 Выбрать и забрать свой курс навсегда → https://clc.to/TBtqYA
😁5🥱2🤔1
🍆 Топ-вакансий для Go-разработчиков за неделю

Senior Golang Developer — от 300 000 ₽, Удалённо (Москва)

Golang-разработчик — Офис (Санкт-Петербург)

Go Developer — до 500 000 ₽, Удалёнка в Москве

Разработчик SIP-сервисов — от 350 000 ₽, Удалённо (Москва)

Middle Golang-разработчик — до 230 000 ₽, Удалёнка в Москве

Бустер — удалённо (не только Москва)

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

Библиотека should делает из тестов небольшие рассказы. Она превращает привычные утверждения в чистые и интуитивно понятные фразы, такие как «должен быть равен» или «должен быть больше».

Пример:
should.BeGreaterThan(t, 10, 5)
should.BeLessThan(t, 3, 7)
should.BeLessOrEqualTo(t, 5, 10)


Простые и понятные утверждения, которые легко воспринимаются даже новичками.

➡️ Написать читаемые тесты

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7🤔5👾5
👨‍💻 Ваш идеальный инструмент для разработки

Что для вас важнее: скорость работы, расширяемость, поддержка плагинов или минимализм?

Когда дело доходит до написания кода на Go, выбор IDE или редактора — это почти личное дело каждого.

Давайте соберём статистику, поставьте эмоцию соответствующую вашей IDE:
👍 — VS Code
🤩 — GoLand
👾 — Другие IDE

Также ждём тёплые слова в пользу своего инструмента и камни в огород ненавистных IDE в комментариях 👇

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩133👍124👾34
🔄 Перекладывать JSON теперь проще

Составили промпт, который поможет в ежедневной рутине перемещения жсонов. Достаточно вставить структуру объекта и необходимый формат.

Промпт:
Напиши функцию на Go, которая преобразует JSON-объект с полями [Ваш JSON] в [Ваш формат]. Функция должна корректно обрабатывать ошибки парсинга JSON, возвращая либо строку, где произошла ошибка, либо ошибку.


👇 JSONо-укладчики «+» в чат

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱21🤔51😁1
🔥 Хороший ML-разработчик не начинает с нейросетей

На собеседовании по ML System Design кандидату дают задачу «предсказать отток», а он сразу лезет в нейросети. Красиво, модно, дорого.

Но профи думает иначе:

💭 Логрегрессия? Градиентный бустинг?
💭 А сколько у нас данных и времени?
💭 Что с интерпретируемостью?

Потому что не выбрать адекватную модель — это уже ошибка.

Нейросети — это круто. Но без понимания классического ML вы просто «подключаете модельку», а не строите решения.

➡️ На курсе разберём:

— линейные модели, деревья, PCA, кластеризацию
— метрики, переобучение, bias vs variance
— инженерные подводные камни, которые идут сразу после fit()

🎁 Скидка 10 000₽ по промокоду Earlybird, только до 27 июля.

А ещё — подарок для первых 10 участников: специальный лонгрид по теме курса, чтобы вы могли начать погружение в материал уже сегодня.

🔗 Успей записаться — и начни карьеру в Data Science уже через 3 месяца!
1
👨‍💻 Как работать с регулярными выражениями

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

Основные функции пакета regexp

regexp.Compile — компилирует строку в регулярное выражение.

regexp.Match — проверяет, соответствует ли строка регулярному выражению.

regexp.MatchString — проверяет, соответствует ли строка регулярному выражению. Применяется к строкам.

regexp.FindString — находит первое совпадение с регулярным выражением.

regexp.FindAllString — находит все совпадения с регулярным выражением.

regexp.ReplaceAllString — заменяет все совпадения строк на новый текст.

Проверка строки на соответствие регулярке:
package main

import (
"fmt"
"regexp"
)

func main() {
// Пример регулярного выражения для проверки email
re := `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`

// Проверка строки
validEmail := "[email protected]"
invalidEmail := "test.com"

// Используем MatchString для проверки
isValid := regexp.MustCompile(re).MatchString(validEmail)
isInvalid := regexp.MustCompile(re).MatchString(invalidEmail)

fmt.Println("Is [email protected] valid email?", isValid) // true
fmt.Println("Is test.com valid email?", isInvalid) // false
}


Поиск первого совпадения:
package main

import (
"fmt"
"regexp"
)

func main() {
re := `\d+` // Шаблон для поиска чисел
str := "The price is 100 dollars."

// Находим первое совпадение
match := regexp.MustCompile(re).FindString(str)
fmt.Println("First match:", match) // "100"
}


Поиск всех совпадений:
package main

import (
"fmt"
"regexp"
)

func main() {
re := `\d+` // Шаблон для поиска чисел
str := "The prices are 100, 200, and 300 dollars."

// Находим все совпадения
matches := regexp.MustCompile(re).FindAllString(str, -1)

fmt.Println("All matches:", matches) // ["100", "200", "300"]
}


Флаги регулярных выражений

В Go также можно использовать флаги для изменения поведения регулярных выражений. Например:

(?i) — делает регулярное выражение нечувствительным к регистру.

(?m) — включает многострочный режим (по умолчанию ^ и $ работают только в начале и в конце всей строки).

Пример с флагом (?i) для нечувствительности к регистру:
package main

import (
"fmt"
"regexp"
)

func main() {
re := `(?i)hello` // Флаг (?i) делает регулярное выражение нечувствительным к регистру
str := "Hello World!"

match := regexp.MustCompile(re).MatchString(str)
fmt.Println("Is match:", match) // true
}


Несмотря на то, что регулярные выражения могут быть сложными для понимания, Go делает их использование интуитивно понятным.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112