This media is not supported in your browser
VIEW IN TELEGRAM
Набор инструментов на Go для создания React-like GUI
Spot — это простой, кроссплатформенный, реактивный GUI-инструментарий для Go, использующий нативные виджеты там, где это возможно.
Большой акцент при разработке Spot был сделан на простоту использования и предоставление согласованного API на разных платформах
⛓ Ссылка: тык
👉 @juniorGolang | #ресурсы
Spot — это простой, кроссплатформенный, реактивный GUI-инструментарий для Go, использующий нативные виджеты там, где это возможно.
Большой акцент при разработке Spot был сделан на простоту использования и предоставление согласованного API на разных платформах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Подборка из 25 полезных ресурсов для разработчиков на Go
В нее входят инструменты, библиотеки и утилиты для управления базами данных, сериализации, обработки ошибок, генерации уникальных идентификаторов и других задач
👉 https://dev.to/0x3d_site/25-golang-resources-every-developer-will-find-helpful-and-interesting-1ooh
👉 @juniorGolang | #ресурсы
В нее входят инструменты, библиотеки и утилиты для управления базами данных, сериализации, обработки ошибок, генерации уникальных идентификаторов и других задач
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Недавно наткнулся на интересную штуку — Go Blueprint.
Это CLI-инструмент, который позволяет быстро развернуть проект на Go с уже настроенной структурой.
Можно выбрать один из популярных фреймворков, таких как Chi, Gin, Fiber и другие. Кроме того, поддерживаются различные базы данных: MySQL, Postgres, SQLite, MongoDB и даже Redis
Плюс, есть прикольные фичи, такие как поддержка HTMX, настройка CI/CD через GitHub Actions, интеграция с Docker и даже генерация фронтенда на React с TypeScript.
Если хотите заценить, как это работает, вот видеообзор: https://youtu.be/-8XKrQUexrQ?si=KxwnMPDfT-DXM6sx
👉 @juniorGolang | #ресурсы
Это CLI-инструмент, который позволяет быстро развернуть проект на Go с уже настроенной структурой.
Можно выбрать один из популярных фреймворков, таких как Chi, Gin, Fiber и другие. Кроме того, поддерживаются различные базы данных: MySQL, Postgres, SQLite, MongoDB и даже Redis
Плюс, есть прикольные фичи, такие как поддержка HTMX, настройка CI/CD через GitHub Actions, интеграция с Docker и даже генерация фронтенда на React с TypeScript.
Если хотите заценить, как это работает, вот видеообзор: https://youtu.be/-8XKrQUexrQ?si=KxwnMPDfT-DXM6sx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🌚1
Build an OTP-Based Authentication Server with Go
В серии из двух статей автор Vishal Axl подробно рассказывает, как создать сервер аутентификации на основе одноразовых паролей (OTP) с использованием языка Go.
👉 Первая часть посвящена настройке структуры проекта, Docker-среды и базовой HTTP-маршрутизации.
👉 Вторая часть фокусируется на реализации генерации OTP, управлении сроком их действия и организации временного хранилища данных.
👉 @juniorGolang | #cтатья
В серии из двух статей автор Vishal Axl подробно рассказывает, как создать сервер аутентификации на основе одноразовых паролей (OTP) с использованием языка Go.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Популярный генератор статических сайтов на базе Go, и этот инструмент позволяет легко конвертировать в него блоги на базе WordPress, включая множество особых случаев, в которых WordPress REST API не помогает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Создание Go-приложений на базе LLM
Retrieval Augmented Generation (RAG) позволяет предоставлять LLM знания из кастомных ресурсов, от локальных текстовых файлов до репозиториев кода. Затем LLM может использовать эти новые знания для ответов на вопросы.
🔛 Читать
👉 @juniorGolang | #cтатья
Retrieval Augmented Generation (RAG) позволяет предоставлять LLM знания из кастомных ресурсов, от локальных текстовых файлов до репозиториев кода. Затем LLM может использовать эти новые знания для ответов на вопросы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Откопал тут годный инструмент — библиотека GoMailer для Go🍌
Это мощная штука, построенная на стандартном net/smtp, но с кучей плюшек. Например, отправка писем с HTML и вложениями, удобная работа с заголовками, гибкая настройка TLS и аутентификации.
Подключить можно через go get, а настроить — проще простого
🔛 GoMailer
👉 @juniorGolang | #ресурсы
Это мощная штука, построенная на стандартном net/smtp, но с кучей плюшек. Например, отправка писем с HTML и вложениями, удобная работа с заголовками, гибкая настройка TLS и аутентификации.
Подключить можно через go get, а настроить — проще простого
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - NawafSwe/gomailer: A Go library built on top of the standard net/smtp package, providing enhanced features for sending…
A Go library built on top of the standard net/smtp package, providing enhanced features for sending emails effortlessly. - NawafSwe/gomailer
🔥14❤2👍1
How HTTP/2 Works and How to Enable It in Go
HTTP/2 является значительным улучшением по сравнению с HTTP/1.1, решая проблему блокировки "head-of-line" на уровне приложения путем мультиплексирования нескольких потоков через одно TCP-соединение.
В статье подробно рассматривается, как HTTP/2 достигает этого, а также описываются шаги по его включению в Go-приложениях.
Стандартная библиотека Go поддерживает HTTP/2 по умолчанию при использовании HTTPS, и с некоторой конфигурацией его можно настроить для работы поверх обычного HTTP.
Для получения более подробной информации рекомендуется ознакомиться с полной статьей
👉 @juniorGolang | #cтатья
HTTP/2 является значительным улучшением по сравнению с HTTP/1.1, решая проблему блокировки "head-of-line" на уровне приложения путем мультиплексирования нескольких потоков через одно TCP-соединение.
В статье подробно рассматривается, как HTTP/2 достигает этого, а также описываются шаги по его включению в Go-приложениях.
Стандартная библиотека Go поддерживает HTTP/2 по умолчанию при использовании HTTPS, и с некоторой конфигурацией его можно настроить для работы поверх обычного HTTP.
Для получения более подробной информации рекомендуется ознакомиться с полной статьей
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Тест из 76 вопросов на знание Go
Тест основан на вопросах по Go, собранных с LinkedIn, эти вопросы особенно часто попадаются на собеседованиях
⛓ Ссылка: тык
👉 @juniorGolang | #ресурсы
Тест основан на вопросах по Go, собранных с LinkedIn, эти вопросы особенно часто попадаются на собеседованиях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
The_Complete_Guide_to_Context_in_Golang_Efficient_Concurrency_Management.pdf
3.1 MB
— Что такое контекст?
— Создание контекста
— Распространение контекста
— Получение значений из контекста
— Отмена контекста
— Timeouts и deadlines
— Контекст в HTTP-запросах
— Контекст в операциях с базой данных
— Лучшие практики использования контекста
— Распространенные ошибки, которых следует избегать
— Утечки контекста и горутины
— Использование контекста со сторонними библиотеками
— Контекст (новые функции, добавленные в Go 1.21)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Novus — локальный HTTPS-прокси, который превращает работу на macOS в удовольствие
С его помощью можно легко управлять кучей локальных сервисов, присваивая им нормальные доменные имена вместо стандартных localhost. Плюс, у него встроенная поддержка HTTPS, так что все домены по умолчанию защищены.
Под капотом у Novus работают старые добрые Nginx в роли прокси и DNSMasq для определения кастомных доменных резолверов. Больше не нужно ковыряться в /etc/hosts, а SSL-сертификаты автоматически управляются и обновляются с помощью mkcert.
Всё, что от вас требуется, — это сопоставить ваши локальные URL с DNS-доменами, а остальное Novus сделает сам, обеспечивая бесшовный опыт, похожий на продакшн, прямо на вашей машине
Установка:
Потом можно проверить установку командой
Чтобы начать, запускаем
👉 @juniorGolang | #ресурсы
С его помощью можно легко управлять кучей локальных сервисов, присваивая им нормальные доменные имена вместо стандартных localhost. Плюс, у него встроенная поддержка HTTPS, так что все домены по умолчанию защищены.
Под капотом у Novus работают старые добрые Nginx в роли прокси и DNSMasq для определения кастомных доменных резолверов. Больше не нужно ковыряться в /etc/hosts, а SSL-сертификаты автоматически управляются и обновляются с помощью mkcert.
Всё, что от вас требуется, — это сопоставить ваши локальные URL с DNS-доменами, а остальное Novus сделает сам, обеспечивая бесшовный опыт, похожий на продакшн, прямо на вашей машине
Установка:
brew tap jozefcipa/novus
brew install novus
Потом можно проверить установку командой
novus -vЧтобы начать, запускаем
novus init, редактируем созданный файл novus.yml, определяем там маппинг доменов, а затем novus serve — и всё, можно пользоваться.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤3👍2
Go Slices and Subslices: понимание общей памяти и избегание подводных камней функции append()
Обсуждаются принципы работы срезов, их емкость и случаи, когда изменения в подсрезе могут затронуть исходный срез.
Приводятся примеры ошибок и советы, как их избежать, уделяя внимание управлению памятью и правильному использованию append().
👉 Прочитать подробнее можно здесь
👉 @juniorGolang | #cтатья
Обсуждаются принципы работы срезов, их емкость и случаи, когда изменения в подсрезе могут затронуть исходный срез.
Приводятся примеры ошибок и советы, как их избежать, уделяя внимание управлению памятью и правильному использованию append().
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Библиотека предоставляет почти полный доступ ко всем возможностям API, включая работу с вебсокетами и голосовым интерфейсом
Если вы хотите создать бота или интеграцию с Discord на Go, это именно то, что нужно.
В репозитории есть куча примеров, которые помогут быстро стартануть: https://github.com/bwmarrin/discordgo
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - bwmarrin/discordgo: (Golang) Go bindings for Discord
(Golang) Go bindings for Discord. Contribute to bwmarrin/discordgo development by creating an account on GitHub.
👍9🔥4
Распространенные ошибки программирования на Go и как их избежать
Статья обсуждает типичные ошибки в Go, такие как неправильное использование init, избыточное использование интерфейсов, игнорирование поведения цикла range, и неэффективную конкатенацию строк, а также предлагает способы их предотвращения.
👉 Прочитать подробнее можно здесь
👉 @juniorGolang | #cтатья
Статья обсуждает типичные ошибки в Go, такие как неправильное использование init, избыточное использование интерфейсов, игнорирование поведения цикла range, и неэффективную конкатенацию строк, а также предлагает способы их предотвращения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Откопал годноту для изучающих Go — Learn Go with Tests.
Это топовый гайд, где язык осваивается через TDD (разработка через тестирование).
Всё разложено по полочкам: от основ до конкурентности и веб-сокетов, с кучей примеров и тестов. Причём не просто теория, а сразу практика — пишешь код, тестируешь, кайфуешь.
👉 https://quii.gitbook.io/learn-go-with-tests
👉 @juniorGolang | #ресурсы
Это топовый гайд, где язык осваивается через TDD (разработка через тестирование).
Всё разложено по полочкам: от основ до конкурентности и веб-сокетов, с кучей примеров и тестов. Причём не просто теория, а сразу практика — пишешь код, тестируешь, кайфуешь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🤔1
Принёс вам классный ресурс для изучения паттернов проектирования
На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как Go, C#, Java, Python, PHP, Rust и ещё куча других.
Всё удобно разложено по категориям — порождающие, структурные, поведенческие.
Примеры суперпонятные, с кодом и пояснениями.
👉 Смотрите сами
👉 @juniorGolang | #ресурсы
На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как Go, C#, Java, Python, PHP, Rust и ещё куча других.
Всё удобно разложено по категориям — порождающие, структурные, поведенческие.
Примеры суперпонятные, с кодом и пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
Building a Webhook payload delivery service in Go
Статья описывает, как разработать сервер и клиент для перенаправления Webhook-сообщений с удаленного сервера на локальную машину.
Основные моменты:
🔹 Сервер принимает Webhook-события (например, от GitHub) и пересылает их подписанным клиентам через Server-Sent Events (SSE).
🔹 CLI-клиент подключается к серверу, получает события и отправляет их на локальный сервер для обработки.
🔹 Рассматривается настройка, реализация, тестирование и альтернативные решения (например, smee.io, ngrok).
👉 Прочитать подробнее можно здесь
👉 @juniorGolang | #cтатья
Статья описывает, как разработать сервер и клиент для перенаправления Webhook-сообщений с удаленного сервера на локальную машину.
Основные моменты:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Используйте интерфейсы для абстракции логики и лёгкой замены реализаций!
Пример: Получите книгу из разных баз данных (Postgres или MongoDB).
Меняйте базы данных, передавая нужную структуру. Код в других местах менять не нужно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🌚3
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - depado/gin-auth-example: Example cookie-based authentication with Gin
Example cookie-based authentication with Gin. Contribute to depado/gin-auth-example development by creating an account on GitHub.
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - cshum/imagor: Fast, secure image processing server and Go library, using libvips
Fast, secure image processing server and Go library, using libvips - cshum/imagor
👍4
Создайте свою собственную базу данных с нуля на Go
Поймите, как работают базы данных изнутри, создавая свою собственную — небольшими шагами и с простым кодом на Golang.
🔹 Начните с B+ дерева — структуры данных для выполнения запросов и изменения данных.
🔹 Сделайте его долговечным — это отличает базу данных от обычного файла.
🔹 Добавьте поддержку реляционных БД с параллельными транзакциями поверх копируемого при записи (copy-on-write) B+ дерева KV.
🔹 Финальный штрих — язык запросов, похожий на SQL.
👉 https://build-your-own.org/database/
👉 @juniorGolang | #ресурсы
Поймите, как работают базы данных изнутри, создавая свою собственную — небольшими шагами и с простым кодом на Golang.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4❤1