37.1K subscribers
1.46K photos
34 videos
5 files
1.62K links
加入频道
🛠 Cache

A Go library to deal with mixed version of key:value store between in-memory cache and shared cache (i.e. Redis).

Функции

Простота в использовании: удобный интерфейс для работы с механизмами кэширования .

Поддерживает согласованность: удаляйте ключи между распределенными системами по шаблону Pub-Sub.

Сжатие данных.


Метрика: предоставление функций обратного вызова для измерения производительности.

Установка:

go get github.com/viney-shih/go-cache

Github

@Golang_google
Go против Rust — производительность вне конкуренции

В статье Наблюдение за выполнением конкурирующих задач в Go и Rust коллега cpmonster привёл весьма интересные результаты:


Программа на Rust показала намного большую производительность при вычислении членов возвратной последовательности, чем программа на Go: 367 млн. итераций в секунду против 44 млн.
Ну, в 1.5 раза… Ну, в 2 раза… Но семь гвардейцев за два дня — это слишком, тем более что тут "гвардейцев" больше восьми!


Или нет, не слишком? В общем, потенциал любопытства пересилил другие потенциалы и я провёл своё исследование.


Повторение — мать учения и основа научного метода

Для начала попробуем воспроизвести результаты. Нужны исходники, а также Go и Rust (у меня версии 1.18 и 1.61, соответственно).

Читать

@rust_code - канал для изучения Rust
🛠 Сканер портов, написанный на GO

gPScan — это простой инструмент командной строки для проверки того, открыты или закрыты определенные порты.

Чтобы установить/собрать бинарный файл, убедитесь, что у вас установлен компилятор go.

git clone https://github.com/alexpfaller/gPScan
cd gPScan
sudo make build


https://uproger.com/skaner-portov-napisannyj-na-go/

Github: https://github.com/alexpfaller/gPScan

@Golang_google
Элегантная и современная библиотека BotAPI для GoLang.

Этот фреймворк представляет чистую реализацию на Go без каких-либо внешних библиотек.

Установка: go get -u github.com/Squirrel-Network/gobotapi

Код: https://github.com/Squirrel-Network/GoBotApiGenerator

@Golang_google
Golang-дайджест № 17 (1 – 31 мая 2022)

- Выпущены версии 1.18.2 и 1.17.10.

- Результаты опроса разработчиков в Go GUI

- TinyGo v0.23.0: теперь с поддержкой Go 1.18

- Go является любимым и быстрорастущим языком на GitHub

- Заметки о практическом параллелизме в Go

Читать дальше

@Golang_google
🦫 Пример создания микросервиса на Go. с HTTP-сервером и клиентскими пакетами RabbitMQ.

Запуск:

docker-compose up -d mongodb rabbitmq

go build && ./service-golang


Github: https://github.com/gbeletti/service-golang

@Golang_google
wholeaked – инструмент для обмена файлами, с возможностью определения “виновного” в случае утечки/потери

@Golang_google | #Go #File #Interesting
This media is not supported in your browser
VIEW IN TELEGRAM
The Algorithms - GoАлгоритмы, реализованные на GoLang

Репозиторий содержит собой коллекцию кода и демонстраций наиболее популярных алгоритмов, реализованных на Go.

Packages: ahocorasick, avl, binary, binarytree, caesar, catalan, coloring, combination, conversion, diffiehellman, dynamic, dynamicarray, factorial, gcd, generateparentheses, genetic, geometry, graph, hashmap, kmp, lcm, levenshtein, linkedlist, manacher, math, max, maxsubarraysum, min, modular, moserdebruijnsequence, nested, palindrome, pascal, password, permutation, pi, polybius, power, prime, pythagoras, queue, rsa, search, segmenttree, set, sort, stack, transposition, trie, xor

#Go #Algorithm

@Golang_google
Loki: like Prometheus, but for logs.


Loki — это масштабируемая, многопользовательская система агрегации журналов, вдохновленная Prometheus. Loki разработан, чтобы быть очень экономичным и простым в эксплуатации. Он индексирует не содержимое логово, а набор меток для каждого журнала логов.

Github: https://github.com/grafana/loki

API documentation: https://grafana.com/docs/loki/latest/api/

@Golang_google
Материалы бэкенд-митапа. MongoDB, оптимизация алгоритмов и диагностика проблем в больших проектах

Читать

@Golang_google
Собеседование Golang разработчика (теоретические вопросы)

Часть II. Что там с конкурентностью?

Часть I

@Golang_google
Библиотека представляет собой распределенный шаблон транзакций MongoDB для микросервисов в Golang.

Github
: https://github.com/Ja7ad/Library

@Golang_google
🎮 Go ebiten: разбираемся с рендерингом и позиционированием текста


Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).


Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.

 Читать дальше

Github

@Golang_google
Знакомимся с базовыми возможностями ORM Bun.

Читать
HTTP роутер для Go с обработкой ошибок

BunRouter это чрезвычайно быстрый Golang router с уникальной комбинацией возможностей:

Мидлвары (middlewares) позволяют вынести общий функционал из HTTP обработчиков в отдельные функции.

Встроенная обработка ошибок позволяет снизить размер HTTP функций и обрабатывать ошибки в мидлварах.

Минималистическое и совместимое АПИ, которое не пытается делать все сразу: от обработки статичный файлов до генерации XML (gin.Context и echo.Context грешат этим).

И да, он очень быстр, хотя и уступает роутам использующим fasthttp.

Читать дальше

@Golang_google
Что Go грядущий нам готовит? Разбираем долгожданный релиз 1.19

https://habr.com/ru/company/ozontech/blog/674190/

@Golang_google