37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
👣 Asynq

Asynq – простая, надежная и эффективная очередь задач в Go

Обзор работы Asynq:
• Клиент ставит задачи в очередь
• Сервер извлекает задачи из очередей и запускает рабочую рутину для каждой задачи
• Задачи обрабатываются одновременно несколькими «обработчиками»

Очереди задач используются в качестве механизма распределения работы между несколькими машинами.
Работает с Redis.

🖥 GitHub

#Go #Task #Queue

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Как сделать программу на Go быстрее на 42%, изменив один символ

Если вы прочитали заголовок и подумали «ну, ты, наверно, сделал сначала что-то глупое», то вы правы! Но что такое программирование, как не упражнения в глупых ошибках? Поиск глупых ошибок — это и есть самое большое удовольствие!

Также стоит заранее сделать оговорку о бенчмаркинге: ускорение на 42% было замерено при выполнении программы с моими данными и на моём компьютере, поэтому относитесь к этому результату с долей скепсиса.

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

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

urlhunter – инструмент чекинга/разведки, который позволяет искать по URL-адресам, которые доступны через службы сокращения


go install github.com/utkusen/urlhunter@latest

#Go #Useful #Web

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Lazydocker

Вам понравится, если вся необходимая информация, связанная с работой Docker, будет в одном окне терминала? Вероятно, да, а значит Lazydocker вам более чем подходит. Этот клиент помимо сбора всей информации в одной месте (images, containers и т.д.), позволяет просматривать логи, производить любые манипуляции с контейнерами и многое другое.


🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Реализация HTTP файлового сервера с нуля с использованием Golang

Протокол HTTP - это протокол прикладного уровня, который обычно реализовывался на основе протокола TCP до HTTP/3. Поскольку протокол TCP является надежным протоколом потоковой связи, после установления соединения как отправители, так и получатели могут отправлять данные любой длины, и стек TCP также может выполнять нарезку данных. Таким образом, протоколы прикладного уровня на основе TCP должны согласовывать формат передачи сообщений, чтобы как отправители, так и получатели могли извлечь полное сообщение из принятого потока данных. Протокол HTTP - это одно из многих соглашений. Короче говоря, TCP - это протокол транспортного уровня, который обеспечивает потоковую связь, а HTTP определяет формат сообщения.

➡️ Читать дальше
🔩 Код

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Devzat

Devzat – реализация чата по SSH

Поскольку приложения SSH есть буквально на всех платформах, даже на вашем телефоне, вы можете подключиться к Devzat на любом устройстве.

Интересные особенности:
• Различные комнаты!
• Поддержка markdown! Таблицы, заголовки, курсив и все такое
• Подсветка синтаксиса кода

#Go #SSH #Interesting #Useful

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Golang Web Scraping

Awesome-Web-Scraping – Список инструментов, библиотек программирования и веб-сервисов, используемых при парсинге и обработке данных.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
bit – Экспериментальная имплементация надстройки на git cli на Go

Данный инструмент предоставляет следующие улучшения:
• автокомплит команд;
• автокомплит имен файлов;
• автоматический фетч и механизм, снижающий вероятность конфликтов;
• и др.

#Go #Git #CLI #Interesting

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 go-app

Go-app — это пакет для создания прогрессивных веб-приложений (PWA) с помощью языка программирования Go (Golang) и WebAssembly (Wasm).

go mod init
go get -u github.com/maxence-charriere/go-app/v9/pkg/app


🖥 GitHub

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

Gomo — это многомодульный инструмент Simple Golang.


brew install abdfnx/tap/gomo

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
❇️ Гайд по написанию кода от Uber

Все best practices по написанию программ в одном месте. Удобно, что есть не только примеры «хорошего» кода, но и антипаттерны. Вместе с ними — грамотные объяснения, почему не стоит использовать ряд подходов при проектировании программ.

Гайд по написанию кода и оформили его внутри GitHub-репозитория. Большая часть материалов переведена на русский язык.

🖥 Github
👣 Uber Go style

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Задача

Дано: два неупорядоченных среза.
а) a := []int{37, 5, 1, 2} и b := []int{6, 2, 4, 37}.
б) a = []int{1, 1, 1} и b = []int{1, 1, 1, 1}.
Верните их пересечение.

➡️ Вариант решения

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 go-callvis

go-callvis — это инструмент разработки, помогающий удобно
визуализировать вызовы программы Go. Это особенно полезно в больших проектах, где сложность кода намного выше, или когда вы просто пытаетесь понять чужой код.

go get -u github.com/ofabry/go-callvis
# or
git clone https://github.com/ofabry/go-callvis.git
cd go-callvis && make install


🖥 GitHub
Project

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Awesome Docker Compose samples

Эти примеры кода служат отправной точкой для интеграции различных служб с помощью Compose и управления и их развертыванием с помощью Docker Compose.


🖥 https://github.com/docker/awesome-compose

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Wiretap

Wiretap — это прозрачный прокси-сервер, похожий на VPN, который туннелирует трафик через WireGuard и не требует специальных привилегий для запуска.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🕒 Некоторые из библиотек golang для времени и временных задач

Избегайте изобретать велосипед заново. Если есть какие-то хорошие библиотеки, мы просто используем их напрямую, нет необходимости выполнять какую-то дублирующую работу, если эти библиотеки не могут удовлетворить потребности, может быть отправлен запрос на извлечение или клонирование их, улучшение их, оптимизация их, текущая предпосылка заключается в том, что вы должны их знать.

Эта статья дает вам некоторую информацию о времени и аналогичной функции linux cron библиотеки задач синхронизации.

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

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 autopprof — инструмент для автоматического профилирования Go-приложения и информирования в случае превышения заданного порога использования ЦП или памяти.

🖥 GitHub

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

Генератор диаграмм классов PlantUML для проектов go. Генерирует текст диаграммы классов, совместимый с plantuml, с информацией обо всех структурах и интерфейсах, а также об отношениях между ними.

go get github.com/jfeliu007/goplantuml/parser
go install github.com/jfeliu007/goplantuml/cmd/goplantuml@latest


🖥 Github

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

EveryDayPhotoNasa – инструмент, который позволяет поставить в качестве рабочего экрана фотографии NASA из космоса.

EveryDayPhotoNaaa каждый день делает снимок с сайта НАСА и устанавливает его в качестве фона для вашего рабочего пространства.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Улучшенный benchstat для оптимизирующих гоферов

Если вы писали бенчмарки и пытались понять, что там ускорилось и на сколько, то наверняка вы пользовались утилитами вроде benchstat.

Мне очень нравится эта утилита, но временами я понимаю, что некоторые её особенности работают против меня. Сегодня я расскажу вам о своей обёртке над benchstat, которая добавляет улучшения, полезные в моей работе.

➡️ Читать дальше
💨 Benchstat

@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