37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
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
👣 Zmap-ProxyScanner - быстрый способ поиска прокси. Поможет найти 2000-5000 рабочих http, socks4, socks5 прокси за одно сканирование.

⚙️ GitHub

#github #soft #Go

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Hilbish – интерактивная Unix-подобная оболочка написанная на Go с возможностью конфигурации на языке Lua

🖥 GitHub

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

usql – универсальный командный интерфейс для работы с SQL и NoSQL базами данных

$ brew install xo/xo/usql

🖥 Github
✔️ Установка

#github #Go

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Hashmap по версии Golang вместе с реализацией на дженериках

Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из-под капота с помощью дженериков.

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

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Dolt is Git for Data!

Dolt – инструмент, который позволяет превратить SQL-базу в аналог git-репозитория и работать с альтернативными git-командами (clone, push, pull, merge и т.д.)

dolt $ du -h /Users/timsehn//go/bin/dolt
68M /Users/timsehn/go/bin/dolt


🖥 Github

#Data #Go

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 26 основных паттернов микросервисной разработки

Несмотря на достоинства микросервисов, при их внедрении можно столкнуться с множеством проблем.

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

Рассмотрим несколько основных паттернов, разделив их на условные группы в зависимости от решаемой задачи.

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

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 HTTPLoot — инструмент на Go для исследования безопасности веб-приложений. HTTPLoot может автоматически сканировать, определять технический стек, заполнять формы, извлекать секреты из страниц ошибок/отладки и JavaScript-кода сайтов.

Свою результативность он уже доказал, найдя 1 676 634 секретов в результате двух этапов глубокого тестирования.

🖥 Github
✔️ Video

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 GopherJS - A compiler from Go to JavaScript

Транспилятор, который помогает преобразовать код на Go в JavaScript.

go install github.com/gopherjs/[email protected]

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👣 chatgpt: Консольный клиент Chat GPT на Golang

Как вы, наверное, знаете, на днях OpenAI выпустила языковую нейросеть ChatGPT. Этот текстовый ИИ уже побил все рекорды по хайпу. Он набрал 1 млн зарегистрированных пользователей меньше чем за неделю. Для сравнения, у Twitter достижение этой цифры заняло 2 года, у Facebook — 10 месяцев.

ChatGPT основан на предыдущем текстовом генераторе OpenAI, GPT-3. Компания строит свои модели генерации текста, тренируя алгоритмы машинного обучения на книгах, новостных статьях, страницах Википедии и миллионах веб-сайтов. Обрабатывая такие большие объемы данных, модели изучают шаблоны и структуру языка и приобретают способность интерпретировать желаемый результат запроса пользователя.

go get -u -x github.com/kkdai/chatgpt

🖥 Github
✔️ Впечатляющие достижения ChatGPT
😂ChatGPT решает задачи
🖥 Скрипт который выведет и обьяснит ошибку в вашем коде.

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Portainer-Community-Edition – платформа для контейнерных приложений, которая используется для управления средами Docker, Swarm, Kubernetes и ACI

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

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

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Яндекс это же сайт, что я там буду делать?

Разговор с тимлидом команды Serverless Yandex Cloud про продуктовые исследования, фичеборды, виртуальные команды и топ-качества разработчиков.

Смотрите выпуск на YouTube канале Yandex Cloud ➡️

00:00 Приветствие
01:19 Как держать темп разработки в распределенной команде?
03:29 Про то, как работают виртуальные команды
07:50 Как получается удержать экспертизу в команде?
10:04 Про продуктовые исследования
15:04 Про работу с сообществом и custdev
19:23 Про фичеборд и голосование
23:35 Продукт для разработчиков
24:24 Про вклад стажёров в развитие продукта
28:18 "Яндекс это же сайт, что я там буду делать?" путь Андрея в Яндексе
30:45 Топ-качества разработчиков команды Serverless
35:02 Про плов и то, что объединяет
👣 Тестовое задание для стажера в юнит Merchant Experience

Задача разработать сервис, через который продавцы смогут передавать нам свои товары пачками в формате excel (xlsx). UI делать не нужно, достаточно только API.

Сервис принимает на вход ссылку на файл и id продавца, к чьему аккаунту будут привязаны загружаемые товары. Сервис читает файл и сохраняет, либо обновляет товары в БД. Обновление будет происходить, если пара (id продавца, offer_id) уже есть у нас в базе. В ответ на запрос выдаёт краткую статистику: количество созданных товаров, обновлённых, удалённых и количество строк с ошибками (например цена отрицательная, либо вообще не число).

Для проверки работоспособности сервиса нужно так же реализовать метод, с помощью которого можно будет достать список товаров из базы. Метод должен принимать на вход id продавца, offer_id, подстрока названия товара (по тексту "теле" находились и "телефоны", и "телевизоры"). Ни один параметр не является обязательным, все указанные параметры применяются через логический оператор "AND".

В каждой строке скачанного файла будет содержаться отдельный товар. Колонки в файле и соответствующие значения полей товара следующие:

- offer_id уникальный идентификатор товара в системе продавца
- name название товара
- price цена в рублях
- quantity количество товара на складе продавца
- available true/false, в случае false продавец хочет удалить товар из нашей базы

Наши ожидания
- язык программирования Go
- предоставлена инструкция по запуску приложения. В идеале (но не обязательно) – использовать контейнеризацию с возможностью запустить проект командой docker run/docker-compose up
- в качестве БД использована Postgres
- код выложен на github

Усложнения
- написаны тесты

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

- реализована асинхронная схема работы, т.е. сервис принимает запрос, сразу возвращает id задания и в отдельной горутине начинает его выполнять. Клиент может узнать статус задания отдельным запросом.

ставьте ❤️, если подобный контент вам полезен

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Тестовое задание на позицию Golang разработчика.

Необходимо создать HTTP-сервис, способный ограничивать количество запросов (rate limit) из одной подсети IPv4. Если ограничения отсутствуют, то нужно выдавать одинаковый статический контент.

Требования:
язык: Go
код должен быть выложен на GitHub
ответ должен соответствовать спецификации RFC 6585
IP должен извлекаться из заголовка X-Forwarded-For
подсеть: /24 (маска 255.255.255.0)
лимит: 100 запросов в минуту
время ожидания после ограничения: 2 минуты

Пример: после 20 запросов с IP 123.45.67.89 и 80 запросов с IP 123.45.67.1 сервис возвращает 429 ошибку на любой запрос с подсети 123.45.67.0/24 в течение двух последующих минут.

Усложнения:

- покрытие тестами
- контейнеризация, возможность запустить с помощью docker-compose up
- размер префикса подсети, лимит и время ожидания можно задавать при старте сервиса
- отдельный handler для сброса лимита по префиксу

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