При разработке программного обеспечения часто приходится работать с несколькими базами данных, такими как MySQL, PostgreSQL или другими. Управление этими соединениями может быть непростым из-за различий в конфигурациях. Вот один из примеров решения этой проблемы.
• Полный код
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
C помощью Go можно создавать как платформонезависимые приложения, так и настольные и мобильные.
На динамичном рынке, где срок внедрения ценнее поставки полностью готового продукта, инструменты для создания платформонезависимых приложений все популярнее.
С ними сокращается не только время до вывода на рынок, но и стоимость разработки: приложения создаются компаниями лишь раз, а запускаются везде.
Но что, если вы не крупная компания, цель которой — экономия денег, а разработчик Go с идеей создать запускаемый в любой ОС продукт с минимальным функционалом?
Что такое Gio?
Это библиотека с непосредственным режимом реализации графического интерфейса для создания легковесных приложений MacOs, Windows, Linux, FreeBSD, OpenBSD, Android, iOS и WebAssembly. Она и сама легковесна из-за малого числа зависимостей, проста в освоении и использовании.
В отличие от платформонезависимых фреймворков Electron и Wails с применением в них веб-технологий для интерфейса, приложения на Gio рисуются самой библиотекой, из-за чего меньше потребление памяти.
Что понадобится для создания приложения:
▪️базовые знания Go;
▪️Go 1.20;
▪️ОС Windows, Linux или Mac.
Создание нового проекта Go
Сначала включаем модуль Go:
export GO111MODULE=on
А этими тремя командами:
mkdir go_giggles &&
cd go_giggles &&
go mod init go_giggles
создаем каталог go_giggles, переходим в него и создаем модуль Go go_giggles, настраивая в созданном каталоге новый проект.
Создав проект Go Giggles, добавим в его зависимости библиотеку Gio.
Установка Gio
Устанавливаем Gio:
go get gioui.org@latest
Этой командой добавляем Gio в файл go.mod и загружаем библиотеку в кеш модуля Go.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
📦⚡️ Casdoor
Платформа управления идентификацией и доступом (IAM) / Single-Sign-On (SSO), написанная на Go с открытым исходным кодом и веб-интерфейсом, поддерживающая
▪Github
▪Проект
@Golang_google
Платформа управления идентификацией и доступом (IAM) / Single-Sign-On (SSO), написанная на Go с открытым исходным кодом и веб-интерфейсом, поддерживающая
OAuth 2.0, OIDC, SAML, CAS, LDAP, WebAuthn, TOTP, MFA и RADIU
S.▪Github
▪Проект
@Golang_google
🎆 Выпущены версии Go 1.21.2 и 1.20.9!
🔐 Безопасность: Включено исправление безопасности для команды Go (CVE-2023-39323).
🔈 Анонс: https://groups.google.com/g/golang-announce/c/XBa1oHDevAo
📦 Скачать: https://go.dev/dl/#go1.21.2
Ставь 👍 лайк за новую версию
@Golang_google
🔐 Безопасность: Включено исправление безопасности для команды Go (CVE-2023-39323).
🔈 Анонс: https://groups.google.com/g/golang-announce/c/XBa1oHDevAo
📦 Скачать: https://go.dev/dl/#go1.21.2
Ставь 👍 лайк за новую версию
@Golang_google
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Введение в приемочные испытания
— Готовый набор golang линтеров (джунам и мидлам)
— Golang. Паттерн Adapter
— Golang: как найти мёртвый код в проекте, а заодно оценить покрытие тестами живого кода
— Управление несколькими подключениями к базам данных в Golang
— Повышение производительности JSON неструктурированных структур в Go
— Пакет context в Go: взгляд профессионала
— Создание простого HTTP-сервера для мониторинга контейнеров Docker на Golang
— Salt Exporter: the story behind the tool
— WebSocket APIgateway
— What to choose Golang or Rust?
— Running a scheduled task with Nitric in GO
— Integration Test SQL Server Store (Go)
— Building a Real-Time Messaging Service with Nitric SDK in Go
— Building for Failure
— 12 Personal Go Tricks That Transformed My Productivity
— Writing Kong plugins with Go
— [Article as Code] Syncing Articles Between Dev.to and Multiple Blogging Platforms
— Docker Basic
Посмотреть:
🌐 Разбор задачи с собеседования Data Science. Подготовка на практике (⏱ 26:12)
🌐 Решаем задачу с leetcode на #Golang (⏱ 00:37)
🌐 Разбора задачи с собеседования #Golang (⏱ 00:22)
🌐 How I Structure New Projects In Golang (⏱ 21:32)
Хорошего дня!
@Golang_google
Почитать:
— Введение в приемочные испытания
— Готовый набор golang линтеров (джунам и мидлам)
— Golang. Паттерн Adapter
— Golang: как найти мёртвый код в проекте, а заодно оценить покрытие тестами живого кода
— Управление несколькими подключениями к базам данных в Golang
— Повышение производительности JSON неструктурированных структур в Go
— Пакет context в Go: взгляд профессионала
— Создание простого HTTP-сервера для мониторинга контейнеров Docker на Golang
— Salt Exporter: the story behind the tool
— WebSocket APIgateway
— What to choose Golang or Rust?
— Running a scheduled task with Nitric in GO
— Integration Test SQL Server Store (Go)
— Building a Real-Time Messaging Service with Nitric SDK in Go
— Building for Failure
— 12 Personal Go Tricks That Transformed My Productivity
— Writing Kong plugins with Go
— [Article as Code] Syncing Articles Between Dev.to and Multiple Blogging Platforms
— Docker Basic
Посмотреть:
🌐 Разбор задачи с собеседования Data Science. Подготовка на практике (⏱ 26:12)
🌐 Решаем задачу с leetcode на #Golang (⏱ 00:37)
🌐 Разбора задачи с собеседования #Golang (⏱ 00:22)
🌐 How I Structure New Projects In Golang (⏱ 21:32)
Хорошего дня!
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
goxgen - это мощная библиотека, предназначенная для упрощения создания GraphQL-приложений. Определив домен и интерфейс API с помощью единого синтаксиса, можно быстро сгенерировать полнофункциональный GraphQL-сервер. Кроме того, goxgen обеспечивает поддержку ORM (GORM) и интерфейс командной строки для работы с сервером.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
✔GitHub
✔Документация
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот пакет позволяет использовать в процессах Pipeline, построенный на основе паттерна Chain of Responsibility.
Chain of Responsibility (цепочка обязанностей) — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке обработчиков. Каждый последующий обработчик решает, может ли он обработать запрос сам и стоит ли передавать запрос дальше по цепи.
go get github.com/izniburak/pipeline-go
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
ghw - это библиотека на языке Go, для сбора информации и анализа вашего железа для Linux и Windows. Частично поддерживает MacOSX.
Инструмент содержит функции, которые возвращающие объект Info о конкретном аппаратном домене (например, CPU, Memory, Block storage и т.д.).
Для получения информации желез используются следующие функции ghw:
ghw.CPU()
ghw.Memory()
ghw.Block() (блочное хранилище)
ghw.Topology() (архитектура процессора, топология NUMA и иерархия кэш-памяти)
ghw.Network()
ghw.PCI()
ghw.GPU() (графический процессор)
ghw.Chassis()
ghw.BIOS()
ghw.Baseboard()
ghw.Product()
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎆 Выпущены версии Go 1.21.3 и 1.20.10!
🔐 Безопасность: Включено исправление безопасности для net/http (CVE-2023-39325).
📡 Анонс: https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo
📦 Скачать: https://go.dev/dl/#go1.21.3
#golang
@Golang_google
🔐 Безопасность: Включено исправление безопасности для net/http (CVE-2023-39325).
📡 Анонс: https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo
📦 Скачать: https://go.dev/dl/#go1.21.3
#golang
@Golang_google
• Go (Fundamentals) 101, посвященная синтаксису/семантике языка Go.
• Go Generics 101, в которой подробно описывается работа с дженериками в Go.
• Go Optimizations 101, в книге приводятся приемы, советы и рекомендации по улучшению производительности кода.
• Go Details & Tips 101 - здесь собрано множество деталей по устройству языка и даны советы по программированию на языке Go.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Курс по Go для начинающих. С помощью этих практических уроков и задач вы научитесь писать на языке Go эффективные и идиоматические программы.
• Видео
• Код
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Это bash-скрипт для управления версиями Go и настройками
GOPATH
.Скрипт полезен для разработчиков, которые программируют на разных версиях Go, которым нужно быстро переключаться между ними или настраивать GOPATH для различных проектов.
curl https://raw.githubusercontent.com/glv-go/glv/master/glv | bash
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
— Writing tests for a Kubernetes Operator
— Книга «100 ошибок Go и как их избежать»
— Everything You Always Wanted to Know About Type Inference - And a Little Bit More
— Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта
— Операторы в Kubernetes
— Алгебраические Типы Данных
— Самый быстрый поиск пути на Go без аллокаций и СМС
— Ускоряем разработку новых фич: как я написал плагин кодогенерации для Protobuf
— Profile-guided optimization в Go 1.21
— Масштабирование приёмочных тестов
— Работа без имитаторов
— Build a Type-Safe Web App with Encore + Next.js
— Entendendo as métricas do K6 - Parte 1
— Dockerizing Golang CLI Tool - A Step-by-Step Guide
— Golang 1.21 is here (Part 3)
— Achieving High-Level Atomic Operations in Go
— Building a Golang Project from Scratch — Zero to Hero — Part 2
— Grogue: A Roguelike Tutorial in Go (Part 1)
— Quando menos é mais - Escalando uma API em Golang
— Integration Test SQL Server Store with testcontainers-go
— Secure Upload URLs Buckets with Nitric in Go
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 Golang And Svelte - Table Filters - Levenue 2.0 Marketplace (⏱ 02:00:16)
🌐 Решаем задачу с leetcode на #Golang
🌐 Что должен знать Junior Go разработчик
🌐 Todo App using: Go Postgres HTMx TailwindCSS | This is the way
🌐 Handling errors LIKE a 10x ENGINEER in Golang - Golang Service Pattern
Хорошего дня!
@Golang_google
Почитать:
— Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
— Writing tests for a Kubernetes Operator
— Книга «100 ошибок Go и как их избежать»
— Everything You Always Wanted to Know About Type Inference - And a Little Bit More
— Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта
— Операторы в Kubernetes
— Алгебраические Типы Данных
— Самый быстрый поиск пути на Go без аллокаций и СМС
— Ускоряем разработку новых фич: как я написал плагин кодогенерации для Protobuf
— Profile-guided optimization в Go 1.21
— Масштабирование приёмочных тестов
— Работа без имитаторов
— Build a Type-Safe Web App with Encore + Next.js
— Entendendo as métricas do K6 - Parte 1
— Dockerizing Golang CLI Tool - A Step-by-Step Guide
— Golang 1.21 is here (Part 3)
— Achieving High-Level Atomic Operations in Go
— Building a Golang Project from Scratch — Zero to Hero — Part 2
— Grogue: A Roguelike Tutorial in Go (Part 1)
— Quando menos é mais - Escalando uma API em Golang
— Integration Test SQL Server Store with testcontainers-go
— Secure Upload URLs Buckets with Nitric in Go
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 Golang And Svelte - Table Filters - Levenue 2.0 Marketplace (⏱ 02:00:16)
🌐 Решаем задачу с leetcode на #Golang
🌐 Что должен знать Junior Go разработчик
🌐 Todo App using: Go Postgres HTMx TailwindCSS | This is the way
🌐 Handling errors LIKE a 10x ENGINEER in Golang - Golang Service Pattern
Хорошего дня!
@Golang_google
Простая и гибкая библиотека, которая идеально подходит для проектов, в которых требуется быстрая локализация.
go get github.com/eduardolat/goeasyi18n
▪ Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Бенчмарк для обработки данных с использованием
Go,
Rust, Swift, Zig, Julia и др.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM