🎮 Игра на Go: от меню до победы
Если вы пишете на Go, но устали от серверного кода и CLI-интерфейсов — то мы нашли для вас видео, в котором с нуля реализован классический «Сапёр».
В основе проекта лежит библиотека Raylib с Go-обвязкой, которая обеспечивает простой API для работы с окнами, текстом, мышью и отрисовкой.
➡️ Смотреть видео
🐸 Библиотека Go-разработчика #буст
Если вы пишете на Go, но устали от серверного кода и CLI-интерфейсов — то мы нашли для вас видео, в котором с нуля реализован классический «Сапёр».
В основе проекта лежит библиотека Raylib с Go-обвязкой, которая обеспечивает простой API для работы с окнами, текстом, мышью и отрисовкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👾5🤔1
Недавно один из подписчиков спросил:
Как вы подходите к принятию технических решений в команде?
Технические решения — это не просто выбор между «правильно» и «неправильно». Это баланс между бизнес-целями, техническими ограничениями, ресурсами и человеческими факторами.
В каждой команде свой стиль, инструменты и методики, но есть общие практики, которые помогают выработать эффективный подход.
Прежде всего, важно чётко понять задачу, собрать все необходимые данные, требования и ограничения. Это может включать обсуждения с коллегами, анализ текущей архитектуры и бизнес-целей.
Ни одно решение не должно приниматься в одиночку. Обсуждения с командой помогают выявить разные взгляды, обнаружить скрытые риски и найти альтернативные подходы.
Для упрощения выбора полезно использовать визуализации — схемы, диаграммы, прототипы. Формальные практики, такие как технические или архитектурные ревью, помогают систематизировать процесс и задокументировать принятые решения.
В идеале — это компромисс, основанный на аргументах и фактах. Иногда необходимо голосование или прототипирование, чтобы проверить гипотезы на практике.
В ситуациях разногласий роль лидера — принять окончательное решение и донести логику до команды.
После внедрения решения полезно провести анализ его эффективности, выявить удачные и проблемные моменты. Такой подход позволяет учиться на опыте и улучшать процесс принятия решений в будущем.
Открытость, структурированность и последующий анализ — вот основные принципы, которые помогают команде работать эффективно и с минимальными конфликтами.
💬 Какие методы принятия технических решений работают в вашей команде? Ждём ваши ответы в комментариях 👇
P.S. Напоминаем, вы можете спросить сообщество библиотеки Go разработчика и не только! Самые интересные вопросы обязательно опубликуем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2🥰1
В процессе разработки и деплоя Go-программ в продакшн-среду важно минимизировать зависимости и размер итогового бинарного файла.
Команда, которая компилирует программу с минимальным размером и включает все зависимости статически:
go build -ldflags="-s -w -extldflags '-static'"
-s
: удаляет информацию о символах (символьные таблицы и отладочную информацию), что сокращает размер бинарника.-w
: исключает таблицу отладочных данных, еще больше уменьшая размер.-extldflags '-static'
: компилирует все внешние зависимости в статически слинкованный бинарник, чтобы он не зависел от библиотек на целевой системе (особенно полезно в контейнерах).Эта команда полезна для создания приложений, которые должны быть максимально легкими, независимыми и готовыми к деплою в такие среды, как Docker или другие облачные платформы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉21👍14
Зачем наступать на грабли, если можно обойти их? В карточках типичные ошибки, которые совершают начинающие программисты.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱15❤2👍2🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁55🔥5🤩2⚡1
Go славится своей простотой, скоростью и лаконичностью. Многие разработчики считают, что «чистый net/http — это и есть фреймворк». Но всё больше проектов строятся на готовых решениях: Gin, Fiber, Echo.
Так стоит ли вообще использовать фреймворк в Go — или лучше идти по пути минимализма?
🔧 Когда стоит выбрать фреймворк:
• Нужно быстро MVP. Меньше кода — больше результата. Тогда Gin или Fiber экономят время.
• Команда новичков в Go. Фреймворки помогают с организацией кода, предлагают готовые паттерны.
• Проект типовой: REST API, простая маршрутизация, CRUD. Нет смысла писать всё руками.
• Не хочется собирать инфраструктуру самому. Логгеры, middleware, CORS — всё уже есть.
⚙️ Когда лучше писать на «голом» net/http:
• Долгосрочный проект. Чем меньше зависимостей — тем проще поддерживать.
• Нужен полный контроль. Нет «магии», всё прозрачно и предсказуемо.
• Следуете философии Go. Чем проще и очевиднее — тем лучше.
• Хочется писать идиоматично. Стандартная библиотека Go — это уже почти идеал.
💬 Что думаете вы? Go хорош и без обёрток или фреймворки наше всё? Делитесь рассуждениями в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤3🤔3😢2🌚1
📰 Дайджест недели
Краткий взгляд на темы недели.
— Google рассказали о ключевых обновлениях Go
Среди главных обновлений — удобные итераторы для упрощения циклов, расширенная поддержка WebAssembly и встроенная постквантовая криптография для повышения безопасности.
— Теперь можно общаться с репозиториями через AI
GitHub представил собственный сервер Model Context Protocol (MCP), интегрированный с GitHub Copilot.
Это открывает новые возможности для автоматизации рабочих процессов, анализа данных и создания AI-приложений, взаимодействующих с репозиториями.
— Новый выпуск Cup o' Go
— Команда Go рассказала о выявленных уязвимостях в криптобиблиотеке
Обновления:
— stoolap 0.0.6
Устранена серьёзная ошибка потери данных в режиме хранения в памяти.
— tint v1.1.0
Добавлена функция, позволяющая выводить цветные атрибуты без использования ANSI-кодов.
🐸 Библиотека Go разработчика #свежак
Краткий взгляд на темы недели.
— Google рассказали о ключевых обновлениях Go
Среди главных обновлений — удобные итераторы для упрощения циклов, расширенная поддержка WebAssembly и встроенная постквантовая криптография для повышения безопасности.
— Теперь можно общаться с репозиториями через AI
GitHub представил собственный сервер Model Context Protocol (MCP), интегрированный с GitHub Copilot.
Это открывает новые возможности для автоматизации рабочих процессов, анализа данных и создания AI-приложений, взаимодействующих с репозиториями.
— Новый выпуск Cup o' Go
— Команда Go рассказала о выявленных уязвимостях в криптобиблиотеке
Обновления:
— stoolap 0.0.6
Устранена серьёзная ошибка потери данных в режиме хранения в памяти.
— tint v1.1.0
Добавлена функция, позволяющая выводить цветные атрибуты без использования ANSI-кодов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Библиотека задач по Go | тесты, код, задания
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Forwarded from Библиотека задач по Go | тесты, код, задания
🤔37👾9😁1
SDET-инженер (Test Impact Analysis) — от 285 000 ₽, Удаленно (Москва)
Middle Backend разработчик (Python + Golang) — от 230 000 ₽, Офис (Москва)
Golang-разработчик (Middle) — от 300 000 ₽, Удаленно (Москва)
Tech Lead Golang — от 5 000 $, Удаленно
Разработчик GO — Удаленно (Москва)
Бустер — удалённо (не только Москва)
Please open Telegram to view this post
VIEW IN TELEGRAM
Собрали для вас мероприятия для нетворкинга, обмена опытом и профессионального роста.
Масштабная конференция по управлению знаниями в IT состоится 2 июня в Москве. Практики документирования, онбординга, менторинга и развития внутренних сообществ от специалистов топовых компаний.
4 июня в Москве состоится GolangConf 2025 — профессиональная конференция для Go-разработчиков и их руководителей.
26–27 июня в Санкт-Петербурге пройдет Saint TeamLead Conf — мероприятие для тимлидов, руководителей команд и технических менеджеров, стремящихся развивать лидерские навыки и обмениваться опытом управления командами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
🧑💻 Гибрид SQL-конструктора и генератора кода
Bob — это набор инструментов и пакетов для языка Go, предназначенный для работы с SQL-базами данных. Он сочетает в себе возможности построения SQL-запросов, генерации кода и ORM-функциональности.
Что его выделяет, по сравнению с другими
— Bob способен генерировать Go-код для SQL-запросов, включая SELECT, INSERT, UPDATE и DELETE
— Инструмент поддерживает PostgreSQL, MySQL/MariaDB и SQLite
— Bob можно постепенно внедрять в существующие проекты, начиная с использования raw SQL-запросов и постепенно переходя к полностью типизированным моделям и фабрикам.
— Bob придерживается принципов корректности, удобства без «магии» и совместимости с другими инструментами и стандартной библиотекой Go
Пример использования:
Возможности по генерации кода и поддержка разных СУБД делает Bob непростым соперником для GORM и sqlc.
📎 Репозиторий проекта
🐸 Библиотека Go-разработчика #буст
Bob — это набор инструментов и пакетов для языка Go, предназначенный для работы с SQL-базами данных. Он сочетает в себе возможности построения SQL-запросов, генерации кода и ORM-функциональности.
Что его выделяет, по сравнению с другими
— Bob способен генерировать Go-код для SQL-запросов, включая SELECT, INSERT, UPDATE и DELETE
— Инструмент поддерживает PostgreSQL, MySQL/MariaDB и SQLite
— Bob можно постепенно внедрять в существующие проекты, начиная с использования raw SQL-запросов и постепенно переходя к полностью типизированным моделям и фабрикам.
— Bob придерживается принципов корректности, удобства без «магии» и совместимости с другими инструментами и стандартной библиотекой Go
Пример использования:
// Пример генерации SELECT-запроса
query := bob.Select("id", "name").From("users").Where("active = ?", true)
rows, err := db.Query(query.String(), query.Args()...)
Возможности по генерации кода и поддержка разных СУБД делает Bob непростым соперником для GORM и sqlc.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍4🔥2👏2
🤯 Почему на собеседованиях в топовые компании проваливаются даже опытные разработчики
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
🥱11😁4
API — главный мост между сервисами, но и уязвимое место в безопасности. Ошибки здесь могут дорого стоить.
Что нужно для безопасного API:
1. Авторизация и аутентификация пользователей
Надежная проверка пользователя и контроль доступа — в основе защиты от несанкционированного использования API.
Современные методы, такие как OAuth 2.0 и JWT, позволяют точно идентифицировать клиентов и разграничивать их права, снижая риск компрометации.
2. Использовать HTTPS
HTTPS шифрует трафик между клиентом и сервером, предотвращая перехват данных и их изменение в процессе передачи.
Это базовые аспекты для минимальной безопасности вашего API. В статье подробно раскрыли остальные пункты, следуя которым разработка не будет убыточной из-за дыр в безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥱3❤1
✏️ Промпт для пет-проектов
Составили для вас промпт, который поможет определится с пет-проектом на основе трёх слов, которые первыми придут к вам в голову.
Промпт:
💬 Попробуйте сгенерировать пет-проект по промпту и поделитесь в комментариях, что подкинет вам нейросеть👇
🐸 Библиотека Go-разработчика #буст
Составили для вас промпт, который поможет определится с пет-проектом на основе трёх слов, которые первыми придут к вам в голову.
Промпт:
You are a seasoned Open-Source Developer, known for your creativity and ability to build impactful projects. Your goal is to generate a compelling pet project idea based on three randomly provided words. You will then outline the project's core functionality, potential technologies to use, and its potential impact on the open-source community.
Here is the format you will use to reason through the problem and come up with a fantastic recommendation:
---
## Random Words
$word_1, $word_2, $word_3
## Pet Project Idea
$project_idea_name
### Project Description
$project_description (A brief overview of the project and its purpose)
### Core Functionality
* $functionality_1
* $functionality_2
* $functionality_3
(List the key features and functionalities of the project)
### Potential Technologies
* $technology_1
* $technology_2
* $technology_3
(List potential programming languages, frameworks, libraries, and tools that could be used)
### Potential Impact
$impact_description (Explain how this project could benefit the open-source community or solve a specific problem)
---
Here is the challenge you are tasked with: Generate a pet project idea based on the following three words: [**Word 1, Word 2, Word 3**]
💬 Попробуйте сгенерировать пет-проект по промпту и поделитесь в комментариях, что подкинет вам нейросеть👇
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12❤2🥱2