37.1K subscribers
1.46K photos
34 videos
5 files
1.62K links
加入频道
👣 WASI support in Go

В 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

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
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🏗 Bubble Tea

Фреймворк на Go, который позволяет легко создавать красивые и функциональные терминальные приложения.

package main

import (
"fmt"
"os"

tea "github.com/charmbracelet/bubbletea"
)

Github
Примеры с кодом
Docs

@Golang_google
👣 Go-hcaptcha

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 Exploit Framework

go-exploit - это фреймворк для разработки эксплойтов на языке Go.

Эксплойт - программа, фрагмент программного, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему.

Фреймворк помогает разработчикам создавать небольшие, автономные эксплойты для тестирования приложений.

Github
Docs

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ 7 репозиториев GitHub для DevOps специалистов.

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

Redis-operator - инструмент , написанный на Go, позволяющий создавать/мониторить работу Redis в автономном и кластерном режиме на базе Kubernetes.

Github
Документация

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 100Days OfContainers And Orchestration

Опенсорс репозиторий с для изучения контейнеров (Docker, Podman и т.д.) и оркестровки (Kubernetes, ECS и т.д.) от нуля и до профи.

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Wails

Create beautiful applications using Go.

Wails - это библиотека, для создания настольных приложения на Go.

Традиционный способ создания веб-интерфейсов на языке Go - это использование встроенного веб-сервера. Wails предлагает иной подход: он позволяет упаковать в один бинарник и Go-код, и веб-интерфейс. Для облегчения этой задачи предоставляются инструменты, позволяющие создавать, компилировать и упаковывать проекты.

Доступны готовые шаблоны для быстрого создания интерфейсов
Унифицированная система обработки событий между Go и Javascript
Мощный инструмент cli для быстрой генерации и создания проектов
Поддерживает многоплатформенность
Доступны собственные диалоговые окна, меню,и
Поддержка темного/светлого режима
Wails использует собственные механизмы рендеринга и не использует встроенные браузеры

go install github.com/wailsapp/wails/v2/cmd/wails@latest

🖥 Github
📕 Документация

@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
👣 GoReSym

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
❤️ Как создавать легкие платформонезависимые приложения на Go — без JS и BS

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 с открытым исходным кодом и веб-интерфейсом, поддерживающая OAuth 2.0, OIDC, SAML, CAS, LDAP, WebAuthn, TOTP, MFA и RADIUS.

Github
Проект

@Golang_google