🛠 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
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 и Rust коллега cpmonster привёл весьма интересные результаты:
Программа на Rust показала намного большую производительность при вычислении членов возвратной последовательности, чем программа на Go: 367 млн. итераций в секунду против 44 млн.
Ну, в 1.5 раза… Ну, в 2 раза… Но семь гвардейцев за два дня — это слишком, тем более что тут "гвардейцев" больше восьми!
Или нет, не слишком? В общем, потенциал любопытства пересилил другие потенциалы и я провёл своё исследование.
Повторение — мать учения и основа научного метода
Для начала попробуем воспроизвести результаты. Нужны исходники, а также Go и Rust (у меня версии 1.18 и 1.61, соответственно).
Читать
@rust_code - канал для изучения Rust
Хабр
Go против Rust — производительность вне конкуренции
В статье Наблюдение за выполнением конкурирующих задач в Go и Rust коллега cpmonster привёл весьма интересные результаты: Программа на 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
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
Этот фреймворк представляет чистую реализацию на 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
- Выпущены версии 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
Запуск:
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
@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
Репозиторий содержит собой коллекцию кода и демонстраций наиболее популярных алгоритмов, реализованных на 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
🔎 Алгоритм экспоненциально взвешенного скользящего среднего на Go.
Код: https://github.com/VividCortex/ewma
Документация: https://pkg.go.dev/github.com/VividCortex/ewma
@Golang_google
Код: https://github.com/VividCortex/ewma
Документация: https://pkg.go.dev/github.com/VividCortex/ewma
@Golang_google
GitHub
GitHub - VividCortex/ewma: Exponentially Weighted Moving Average algorithms for Go.
Exponentially Weighted Moving Average algorithms for Go. - VividCortex/ewma
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
Loki — это масштабируемая, многопользовательская система агрегации журналов, вдохновленная Prometheus. Loki разработан, чтобы быть очень экономичным и простым в эксплуатации. Он индексирует не содержимое логово, а набор меток для каждого журнала логов.
Github: https://github.com/grafana/loki
API documentation: https://grafana.com/docs/loki/latest/api/
@Golang_google
Материалы бэкенд-митапа. MongoDB, оптимизация алгоритмов и диагностика проблем в больших проектах
Читать
@Golang_google
Читать
@Golang_google
Собеседование Golang разработчика (теоретические вопросы)
Часть II. Что там с конкурентностью?
Часть I
@Golang_google
Часть II. Что там с конкурентностью?
Часть I
@Golang_google
Библиотека представляет собой распределенный шаблон транзакций MongoDB для микросервисов в Golang.
Github: https://github.com/Ja7ad/Library
@Golang_google
Github: https://github.com/Ja7ad/Library
@Golang_google
Collection of high performance, thread-safe, lock-free go data structures
https://github.com/line/garr
https://github.com/line/garr
GitHub
GitHub - line/garr: Collection of high performance, thread-safe, lock-free go data structures
Collection of high performance, thread-safe, lock-free go data structures - line/garr
🎮 Go ebiten: разбираемся с рендерингом и позиционированием текста
Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).
Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.
Читать дальше
Github
@Golang_google
Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).
Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.
Читать дальше
Github
@Golang_google
HTTP роутер для Go с обработкой ошибок
BunRouter это чрезвычайно быстрый Golang router с уникальной комбинацией возможностей:
Мидлвары (middlewares) позволяют вынести общий функционал из HTTP обработчиков в отдельные функции.
Встроенная обработка ошибок позволяет снизить размер HTTP функций и обрабатывать ошибки в мидлварах.
Минималистическое и совместимое АПИ, которое не пытается делать все сразу: от обработки статичный файлов до генерации XML (gin.Context и echo.Context грешат этим).
И да, он очень быстр, хотя и уступает роутам использующим fasthttp.
Читать дальше
@Golang_google
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
https://habr.com/ru/company/ozontech/blog/674190/
@Golang_google