📕 Новинка компьютерной литературы про Go
Книга «Go: идиомы и паттерны проектирования» Джона Боднера — практическое руководство для разработчиков, желающих писать чистый и идиоматический код на Go.
Она поможет углубить знания и освоить эффективные практики проектирования, особенно полезные для тех, кто уже знаком с основами языка.
Основные темы книги:
➖ Паттерны проектирования в Go: подробное рассмотрение шаблонов, которые помогают строить масштабируемые и поддерживаемые приложения.
➖ Идиоматические конструкции: советы по использованию особенностей Go для написания кода, соответствующего лучшим практикам сообщества.
➖ Обработка ошибок и конкурентность: рекомендации по эффективному управлению ошибками и реализации конкурентных процессов с использованием горутин и каналов.
➡️ Рекомендуем к прочтению
🐸 Библиотека Go разработчика
Книга «Go: идиомы и паттерны проектирования» Джона Боднера — практическое руководство для разработчиков, желающих писать чистый и идиоматический код на Go.
Она поможет углубить знания и освоить эффективные практики проектирования, особенно полезные для тех, кто уже знаком с основами языка.
Основные темы книги:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15😢3
📄 Go-документация в Neovim
godoc.nvim позволяет искать и просматривать документацию стандартных и локальных Go-пакетов прямо в редакторе, без необходимости переключаться в браузер или терминал.
Особенности godoc
• Быстрый поиск по стандартной библиотеке Go и вашему коду.
• Синтаксическая подсветка документации благодаря Tree-sitter.
• Интеграция с Telescope и Snacks для удобного выбора пакетов.
• Минимальные зависимости — нужен только
➡️ Попробовать проект
🐸 Библиотека Go разработчика
godoc.nvim позволяет искать и просматривать документацию стандартных и локальных Go-пакетов прямо в редакторе, без необходимости переключаться в браузер или терминал.
Особенности godoc
• Быстрый поиск по стандартной библиотеке Go и вашему коду.
• Синтаксическая подсветка документации благодаря Tree-sitter.
• Интеграция с Telescope и Snacks для удобного выбора пакетов.
• Минимальные зависимости — нужен только
go doc
и go list
.Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3
⚙️ Паттерн Saga в микросервисах
Saga – это паттерн управления распределёнными транзакциями, который позволяет избежать монолитных блокировок и традиционных ACID-ограничений.
Вместо одной большой транзакции процесс разбивается на локальные операции, каждая из которых выполняется в отдельном сервисе.
🏗 Два подхода к реализации
1. Оркестрация
➖ Управляется централизованным координатором
➖ Каждый шаг выполняется по команде оркестратора
❌ Минус: если оркестратор падает – процесс замирает
В Go можно реализовать с помощью Temporal.io или Cadence.
2. Хореография
➖ Нет центрального контроллера, сервисы реагируют на события друг друга
➖ Нет узкого места в виде одной точки отказа
❌ Минус: сложнее управлять, каскад событий может усложнить отладку
В Go можно использовать Kafka, NATS, RabbitMQ для коммуникации между сервисами.
💡 Какой выбрать
Оркестрация — проще в управлении, но менее гибкая
Хореография — сложнее в отладке, но лучше масштабируется
➡️ Подробнее про паттерн
🐸 Библиотека Go разработчика
Saga – это паттерн управления распределёнными транзакциями, который позволяет избежать монолитных блокировок и традиционных ACID-ограничений.
Вместо одной большой транзакции процесс разбивается на локальные операции, каждая из которых выполняется в отдельном сервисе.
🏗 Два подхода к реализации
1. Оркестрация
❌ Минус: если оркестратор падает – процесс замирает
В Go можно реализовать с помощью Temporal.io или Cadence.
2. Хореография
❌ Минус: сложнее управлять, каскад событий может усложнить отладку
В Go можно использовать Kafka, NATS, RabbitMQ для коммуникации между сервисами.
💡 Какой выбрать
Оркестрация — проще в управлении, но менее гибкая
Хореография — сложнее в отладке, но лучше масштабируется
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
👍1
SQLiteAdmin-Go — это легковесный веб-интерфейс для просмотра, редактирования и управления SQLite-базами прямо из браузера.
• Просмотр таблиц и схем базы данных.
• Фильтрация и редактирование данных.
• Поддержка работы как библиотека для Go, так и самостоятельного бинарника.
• Открытый исходный код – расширяйте под свои нужды!
📎 Репозиторий на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7🥱4
🌐 OpenAPI + Go
OpenAPI — стандарт для описания REST API, который упрощает их документирование, тестирование и генерацию кода.
В Go OpenAPI можно интегрировать с помощью
Благодаря OpenAPI, документация всегда актуальна, а тестирование API становится проще.
➡️ Реализация и YAML-примеры
🐸 Библиотека Go разработчика
OpenAPI — стандарт для описания REST API, который упрощает их документирование, тестирование и генерацию кода.
В Go OpenAPI можно интегрировать с помощью
oapi-codegen
, автоматизируя процесс разработки.Благодаря OpenAPI, документация всегда актуальна, а тестирование API становится проще.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥2
Forwarded from Proglib.academy | IT-курсы
Мы разберем, почему компании, которые массово увольняют разработчиков в пользу ИИ, рискуют остаться у разбитого корыта. Сгенерированный код не умеет исправлять баги, а инженеры, которые действительно понимают систему, становятся редкостью и роскошью.
▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.
▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.
▪️ Почему опытные разработчики станут супердорогими и востребованными.
▪️ К чему приведет полная ставка на искусственный интеллект в IT.
🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
С какой версии языка вы начинали своё погружение?
А какая версия стала для вас самой необычной в плане обновлений?
Делитесь своими мыслями в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚11❤1
🛠 Техника для решения задач
Бэктрекинг (Backtracking) — это алгоритмическая техника поиска, которая перебирает возможные решения рекурсивно, откатываясь назад, если текущий путь не ведёт к успеху.
➖ Как работает бэктрекинг
1. Выбираем следующий шаг – пробуем одно из возможных решений.
2. Проверяем ограничение – если путь невозможен, откатываемся назад.
3. Продолжаем поиск – если решение найдено, фиксируем его и ищем другие варианты.
Пример кода — поиск всех перестановок строки
➖ Где используется
• Генерация перестановок и комбинаций – подбор паролей, составление расписаний.
• Задача N ферзей – расстановка фигур без угрозы друг другу.
• Поиск пути в лабиринте – навигация в сложных структурах.
• Разбор выражений и парсинг – обработка кода и регулярных выражений.
🤔 Использовали ли вы бэктрекинг в реальных проектах? Делитесь опытом в комментариях! 👇
🐸 Библиотека Go разработчика
Бэктрекинг (Backtracking) — это алгоритмическая техника поиска, которая перебирает возможные решения рекурсивно, откатываясь назад, если текущий путь не ведёт к успеху.
1. Выбираем следующий шаг – пробуем одно из возможных решений.
2. Проверяем ограничение – если путь невозможен, откатываемся назад.
3. Продолжаем поиск – если решение найдено, фиксируем его и ищем другие варианты.
Пример кода — поиск всех перестановок строки
func permute(arr []rune, l, r int) {
if l == r {
fmt.Println(string(arr))
} else {
for i := l; i <= r; i++ {
arr[l], arr[i] = arr[i], arr[l] // Обмен
permute(arr, l+1, r)
arr[l], arr[i] = arr[i], arr[l] // Откат
}
}
}
• Генерация перестановок и комбинаций – подбор паролей, составление расписаний.
• Задача N ферзей – расстановка фигур без угрозы друг другу.
• Поиск пути в лабиринте – навигация в сложных структурах.
• Разбор выражений и парсинг – обработка кода и регулярных выражений.
🤔 Использовали ли вы бэктрекинг в реальных проектах? Делитесь опытом в комментариях! 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3
Если вы Go-разработчик, то знаете, насколько утомительно останавливать и перезапускать приложение при каждом изменении кода. Существует решение этой рутины — Go Air.
Go Air — инструмент командной строки, который отслеживает изменения в вашем Go-проекте и автоматически перезапускает приложение.
1. Установка Go Air
go install github.com/cosmtrek/air@latest
2. Создание Dockerfile
3. Конфигурация .air.toml
• Директории для исключения
• Интервал опроса изменений
• Правила перестройки приложения
4. Настройка docker-compose.yml
5. Тестирование Live-Reloading
При изменении файлов Go Air автоматически перестраивает и перезапускает приложение без ручного вмешательства.
➡️ Реализация с картинками
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👾4⚡2😁2👏1
🛠 Делимся с вами подборкой из 30 API
От погодных прогнозов до спортивной статистики — эти API станут вашим секретным оружием в мире разработки.
🐸 Библиотека Go разработчика #инфографика
От погодных прогнозов до спортивной статистики — эти API станут вашим секретным оружием в мире разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤2🤩1👾1
🎧 Новые математические функции в Go и обновления от Boot.dev
В последнем эпизоде подкаста Cup o' Go ведущие как всегда обсуждают актуальные события в мире Go.
Что вас ждёт в подкасте:
➖ Новые математические функции в Go: рассматривается предложение о добавлении пакета math/stats с функциями для вычисления среднего, медианы и других статистических показателей.
➖ Обновления безопасности: выпущены обновления для пакетов
➖ Интервью с Лейном Вагнером: обсуждаются последние новости Boot.dev и его подкаста Backend Banter.
➖ Блог Go: статья Майкла Пратта «Faster Go maps with Swiss Tables» о повышении производительности карт в Go.
➖ Конференции: анонс Gophercamp, который пройдет 25 апреля в Брно, Чехия.
➡️ Полный эпизод подкаста
🐸 Библиотека Go разработчика
В последнем эпизоде подкаста Cup o' Go ведущие как всегда обсуждают актуальные события в мире Go.
Что вас ждёт в подкасте:
golang.org/x/crypto
(v0.35.0) и golang.org/x/oauth2
(v0.27.0).Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥1
Наткнулись на гайд от Uber, в котором описаны внутренние правила по написанию кода на Go.
Что там интересного
Стиль Uber — это про четкость, производительность и поддержку кода в долгосрочной перспективе.
🧑💻 А какие у вас любимые best practices в Go? Делитесь в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6😁3❤1
⚙️ Минимум аллокаций в Go
🛠 Декларативная валидация данных в Go
⏳Разбираем cron-like решения
🆚 Go vs C#
🏭 WebAssembly: новые возможности в Go 1.24
💬 TCP-чат на Go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🛠 Инструмент для работы с торрентами на Go
mkbrr — это CLI-инструмент для создания, модификации и анализа torrent-файлов.
Что умеет mkbrr
✅ Создаёт новые torrent-файлы — минималистичный, но мощный инструмент для формирования раздач.
✅ Редактирует существующие торренты — добавляйте трекеры, изменяйте метаданные и параметры.
✅ Анализирует файлы — быстро проверяет структуру и содержимое торрентов.
📎 Репозиторий проекта
🐸 Библиотека Go разработчика #буст
mkbrr — это CLI-инструмент для создания, модификации и анализа torrent-файлов.
Что умеет mkbrr
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🙏1
Нашли для вас промт, который просит ИИ действовать как пост со StackOverflow. Он ответит на вопрос готовым кодом и, при необходимости, объяснит некоторые детали;
I want you to act as a stackoverflow post. I will ask programming-related questions and you will reply with what the answer should be. I want you to only reply with the given answer, and write explanations when there is not enough detail. do not write explanations. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. My first question is "<Paste your question here>"
Вы когда-нибудь писали вопросы или ответы на StackOverflow? Или просто смотрите ответы? Делитесь в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Forwarded from Proglib.academy | IT-курсы
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике
Статья, которая поможет развить навыки решения задач с помощью математики.
➡️ Вот что вас ждет
1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.
2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.
3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.
4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.
🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».
👉 Читать статью
Статья, которая поможет развить навыки решения задач с помощью математики.
👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Forwarded from Азбука айтишника
🛠 Как внедрить CI/CD: 10 самых важных шагов
CI/CD — это ключ к быстрой, качественной и безопасной разработке ПО. Наш гайд поможет вам настроить эффективный пайплайн, автоматизировать рутину и ускорить релизы.
➡️ Что внутри статьи
▪️ Лучшие практики работы с Git
▪️ Автоматизация сборки и тестирования
▪️ Внедрение автоматизированного тестирования
▪️ Эффективное управление зависимостями
▪️ Автоматизированный деплой без простоя
▪️ Настройка мониторинга и логирования
📎 Читайте гайд
Азбука айтишника
CI/CD — это ключ к быстрой, качественной и безопасной разработке ПО. Наш гайд поможет вам настроить эффективный пайплайн, автоматизировать рутину и ускорить релизы.
▪️ Лучшие практики работы с Git
▪️ Автоматизация сборки и тестирования
▪️ Внедрение автоматизированного тестирования
▪️ Эффективное управление зависимостями
▪️ Автоматизированный деплой без простоя
▪️ Настройка мониторинга и логирования
Азбука айтишника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🤔1🌚1
Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов.
IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии
Библиотека программиста — новости из мира IT и технологий
Книги для программистов — самые годные книги по любым языкам и стекам
IT-мемы — мемы про жизу айтишника
Proglib Academy — обучение и курсы, чтобы стать топовым специалистом
Азбука айтишника — азы из мира разработки
Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ
Библиотека фронтендера — все о JS, React, Angular и не только
Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin
Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься
Библиотека тестировщика — самое интересное о том, как крашить код
🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go
#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#
🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE
🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel
🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask
☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java
📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science
🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++
Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🌚2😁1🤔1
🤔 Golang: минимализм или ограничения
Минимализм Go — это осознанный выбор создателей. Роб Пайк и команда Google намеренно создали язык с небольшим набором возможностей, которые работают предсказуемо. Отсутствие наследования и исключений было не упущением, а принципом дизайна.
Но граница между минимализмом и ограничением часто размыта. Например, обработка ошибок в Go через многократные проверки
А что вы думаете? Является ли минимализм Go его силой или недостатком? Ждём вас в комментариях 👇
🐸 Библиотека Go разработчика #междусобойчик
Минимализм Go — это осознанный выбор создателей. Роб Пайк и команда Google намеренно создали язык с небольшим набором возможностей, которые работают предсказуемо. Отсутствие наследования и исключений было не упущением, а принципом дизайна.
Но граница между минимализмом и ограничением часто размыта. Например, обработка ошибок в Go через многократные проверки
if err != nil
может показаться избыточной для тех, кто привык к исключениям. А что вы думаете? Является ли минимализм Go его силой или недостатком? Ждём вас в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤔2