В Go 1.21 добавлен новый порт, ориентированный на API системных вызовов WASI preview. Этот порт основан на существующем порте WebAssembly, представленном в Go 1.1.
WebAssembly (или Wasm) — это бинарный формат, запускаемый в браузере, виртуальная машина, и результат компиляции с языка высокого уровня.
Wasm это не язык программирования, подобно тому как байт-код Java это не язык программирования, а результат компиляции и запускаемый блок кода.
Кто-то очень умный сказал, что название web assembly (то есть «ассемблер для веба») полностью неправильное, потому что это не ассемблер (не язык программирования) и он никак не связан с вебом (потому что это просто виртуальная машина).
https://go.dev/blog/wasi
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Hoverfly - это легкий инструмент с открытым исходным кодом для моделирования API, написанный на Go.
С помощью Hoverfly можно создавать реалистичные симуляции работы с API.
git clone https://github.com/SpectoLabs/hoverfly.git
▪ Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира Golang за неделю
📕 Почитать:
— В Go меняется фундаментальная вещь — цикл
— Microsoft предлагает БЕСПЛАТНЫЕ онлайн курсы с сертификацией
— Конкурентность — это не параллелизм
— Книги для Golang-разработчиков: подборка для программистов с опытом
— Планирование в Go: Часть III — Конкурентность
— How to build a Slack Bot in Go
— Mastering Golang Statements: Unknown to Expert
— Crafting a Language Server in Golang: A VSCode LSP for Lama2
— Mastering writing Packages with Go when working with the Azure SDK.
— 16. Online Location Information Synchronization
— Integration Test MySQL Store (Go)
— Infrastructure as Code best practices
— Understanding CPU Cache and Prefetching in Go
— Making Dynamic Website Thumbnail
— Stop LLM/GenAI hallucination fast: Serverless Kendra RAG with GO
📌 Посмотреть:
🌐 Уроки Golang с нуля /#29 - Дженерики/обобщения (⏱ 10:52)
🌐 Уроки Golang с нуля /#30 - Горутины (⏱ 08:09)
🌐 What Is THE BEST Web Framework In Golang? Why? (⏱ 14:39)
🌐 Domain Driven Design (DDD) in Golang!? (⏱ 11:29)
Хорошего дня!
@Golang_google
📕 Почитать:
— В Go меняется фундаментальная вещь — цикл
— Microsoft предлагает БЕСПЛАТНЫЕ онлайн курсы с сертификацией
— Конкурентность — это не параллелизм
— Книги для Golang-разработчиков: подборка для программистов с опытом
— Планирование в Go: Часть III — Конкурентность
— How to build a Slack Bot in Go
— Mastering Golang Statements: Unknown to Expert
— Crafting a Language Server in Golang: A VSCode LSP for Lama2
— Mastering writing Packages with Go when working with the Azure SDK.
— 16. Online Location Information Synchronization
— Integration Test MySQL Store (Go)
— Infrastructure as Code best practices
— Understanding CPU Cache and Prefetching in Go
— Making Dynamic Website Thumbnail
— Stop LLM/GenAI hallucination fast: Serverless Kendra RAG with GO
📌 Посмотреть:
🌐 Уроки Golang с нуля /#29 - Дженерики/обобщения (⏱ 10:52)
🌐 Уроки Golang с нуля /#30 - Горутины (⏱ 08:09)
🌐 What Is THE BEST Web Framework In Golang? Why? (⏱ 14:39)
🌐 Domain Driven Design (DDD) in Golang!? (⏱ 11:29)
Хорошего дня!
@Golang_google
This media is not supported in your browser
VIEW IN TELEGRAM
🏗 Bubble Tea
Фреймворк на Go, который позволяет легко создавать красивые и функциональные терминальные приложения.
• Github
• Примеры с кодом
• Docs
@Golang_google
Фреймворк на Go, который позволяет легко создавать красивые и функциональные терминальные приложения.
package main
import (
"fmt"
"os"
tea "github.com/charmbracelet/bubbletea"
)
• Github
• Примеры с кодом
• Docs
@Golang_google
Go-hcaptcha — библиотека, написанная на GO для решения
капчи
.Для решения необходим URL сайта (не домена!), а также ключ сайта, который можно найти в HTML-файле сайта с вызовом
hCaptcha
.c, err := NewChallenge(siteUrl, siteKey)
if err != nil {
panic(err)
}
err = c.Solve(&GuessSolver{})
if err != nil {
panic(err)
}
fmt.Println(c.Token()) // P0_eyJ0eXAiOiJKV1QiLC...
• GitHub
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
go-exploit - это фреймворк для разработки эксплойтов на языке Go.
Эксплойт - программа, фрагмент программного, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему.
Фреймворк помогает разработчикам создавать небольшие, автономные эксплойты для тестирования приложений.
▪Github
▪Docs
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
1. 𝗞𝘂𝗯𝗲𝗿𝗻𝗲𝘁𝗲𝘀 𝗧𝗵𝗲 𝗛𝗮𝗿𝗱 𝗪𝗮𝘆
Пошаговое руководство по настройке кластеров Kubernetes с нуля, позволяющее получить глубокое представление о внутреннем устройстве Kubernetes.
🔗 https://github.com/kelseyhightower/kubernetes-the-hard-way
2. 𝗗𝗶𝘃𝗲
Dive - это инструмент для изучения образов Docker, помогающий DevOps специалистам анализировать содержимое образов для их дальнейшей оптимизации.
🔗 https://github.com/wagoodman/dive
3. 𝗮𝘄𝗲𝘀𝗼𝗺𝗲-𝗽𝗿𝗼𝗺𝗲𝘁𝗵𝗲𝘂𝘀
Список ресурсов, инструментов и интеграций с Prometheus, популярного инструмента мониторинга , используемого в DevOps.
🔗 https://github.com/roaldnefs/awesome-prometheus
4. 𝗚𝗼𝗥𝗲𝗹𝗲𝗮𝘀𝗲𝗿
Проект, который позволяет легко и быстро создавать deb пакеты.
🔗 https://github.com/goreleaser/goreleaser
5. 𝗗𝗲𝘃𝗢𝗽𝘀 𝗘𝘅𝗲𝗿𝗰𝗶𝘀𝗲𝘀
Предоставляет коллекцию упражнений и задач, связанных с различными DevOps топиками, для практики.
🔗 https://github.com/bregman-arie/devops-exercises
6. 𝗠𝗼𝗹𝗲𝗰𝘂𝗹𝗲
Фреймворк для тестирования кода инфраструктуры с помощью
Ansible
, помогающий в разработке и проверке ролей и плейбуков.🔗 https://github.com/ansible/molecule
7. 𝗦𝗢𝗣𝗦
SOPS (Secrets Operator for Kubernetes) упрощает управление безопасностью для Kubernetes.
🔗 https://github.com/mozilla/sops
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Redis-operator - инструмент , написанный на Go, позволяющий создавать/мониторить работу
Redis
в автономном и кластерном режиме на базе Kubernetes
. • Github
• Документация
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Опенсорс репозиторий с для изучения контейнеров (
Docker, Podman и т.д.
) и оркестровки (Kubernetes, ECS и т.д
.) от нуля и до профи.• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Create beautiful applications using Go.
Wails - это библиотека, для создания настольных приложения на Go.
Традиционный способ создания веб-интерфейсов на языке Go - это использование встроенного веб-сервера. Wails предлагает иной подход: он позволяет упаковать в один бинарник и Go-код, и веб-интерфейс. Для облегчения этой задачи предоставляются инструменты, позволяющие создавать, компилировать и упаковывать проекты.
• Доступны готовые шаблоны для быстрого создания интерфейсов
Унифицированная система обработки событий между Go и Javascript
• Мощный инструмент cli для быстрой генерации и создания проектов
• Поддерживает многоплатформенность
• Доступны собственные диалоговые окна, меню,и
• Поддержка темного/светлого режима
• Wails использует собственные механизмы рендеринга и не использует встроенные браузеры
go install github.com/wailsapp/wails/v2/cmd/wails@latest
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Статья команды об организации модуля Go
— Rust против Go: практическое сравнение
— Некоторые советы, которые я почерпнул из книги «100 ошибок в Go»
— Golang глазами PHP-программиста
— Визуализация исходного кода на языке golang
— Реверс бинарных файлов Golang с использование GHIDRA. Часть 2
— Golang error updates
— Understanding HMAC Authentication for Secure APIs
— Control Windows with Your Voice and the Magic of ChatGPT
— Go Hacktoberfest Issues
— Managing Firecracker microVMs in Go
— Build a Serverless Application for entity detection on AWS
— Your first API with GO & Nitric
— Getting Started with Golang: An Introduction for Beginners
— Qual a diferença de usar um receiver com ou sem ponteiro em Go?
— Building RESTful API with Hexagonal Architecture in Go
Посмотреть:
🌐 Архитектура проекта на Golang (⏱ 1:45)
🌐 Удаленка на 2 000 000 рублей в месяц (⏱ 09:59)
🌐 Популярная задача с собеседования в Яндекс #python #задача #программирование #собеседование (⏱ 01:00)
🌐 Grinding Leetcode for 24 hours (learning Golang)
🌐 Задача из Собеседования в Яндекс с зарплатой 85000 рублей #python #собеседование #задача #yandex (⏱ 00:59)
🌐 Levenue 2.0 Golang, Svelte And Programming Q&A (⏱ 01:39:35)
Хорошего дня!
@Golang_google
Почитать:
— Статья команды об организации модуля Go
— Rust против Go: практическое сравнение
— Некоторые советы, которые я почерпнул из книги «100 ошибок в Go»
— Golang глазами PHP-программиста
— Визуализация исходного кода на языке golang
— Реверс бинарных файлов Golang с использование GHIDRA. Часть 2
— Golang error updates
— Understanding HMAC Authentication for Secure APIs
— Control Windows with Your Voice and the Magic of ChatGPT
— Go Hacktoberfest Issues
— Managing Firecracker microVMs in Go
— Build a Serverless Application for entity detection on AWS
— Your first API with GO & Nitric
— Getting Started with Golang: An Introduction for Beginners
— Qual a diferença de usar um receiver com ou sem ponteiro em Go?
— Building RESTful API with Hexagonal Architecture in Go
Посмотреть:
🌐 Архитектура проекта на Golang (⏱ 1:45)
🌐 Удаленка на 2 000 000 рублей в месяц (⏱ 09:59)
🌐 Популярная задача с собеседования в Яндекс #python #задача #программирование #собеседование (⏱ 01:00)
🌐 Grinding Leetcode for 24 hours (learning Golang)
🌐 Задача из Собеседования в Яндекс с зарплатой 85000 рублей #python #собеседование #задача #yandex (⏱ 00:59)
🌐 Levenue 2.0 Golang, Svelte And Programming Q&A (⏱ 01:39:35)
Хорошего дня!
@Golang_google
GoReSym - это парсер символов Go, который извлекает метаданные программы (такие как архитектура процессора, ОС, версия компилятора и т.д.) метаданные имени файла, а также встроенные структуры и типы.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
При разработке программного обеспечения часто приходится работать с несколькими базами данных, такими как 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