This media is not supported in your browser
VIEW IN TELEGRAM
Wiretap — это прозрачный прокси-сервер, похожий на VPN, который туннелирует трафик через WireGuard и не требует специальных привилегий для запуска.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Избегайте изобретать велосипед заново. Если есть какие-то хорошие библиотеки, мы просто используем их напрямую, нет необходимости выполнять какую-то дублирующую работу, если эти библиотеки не могут удовлетворить потребности, может быть отправлен запрос на извлечение или клонирование их, улучшение их, оптимизация их, текущая предпосылка заключается в том, что вы должны их знать.
Эта статья дает вам некоторую информацию о времени и аналогичной функции linux cron библиотеки задач синхронизации.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - daangn/autopprof: Automatically profile the Go applications when CPU or memory utilization crosses threshold
Automatically profile the Go applications when CPU or memory utilization crosses threshold - daangn/autopprof
Генератор диаграмм классов PlantUML для проектов go. Генерирует текст диаграммы классов, совместимый с plantuml, с информацией обо всех структурах и интерфейсах, а также об отношениях между ними.
go get github.com/jfeliu007/goplantuml/parser
go install github.com/jfeliu007/goplantuml/cmd/goplantuml@latest
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
EveryNASA
EveryDayPhotoNasa – инструмент, который позволяет поставить в качестве рабочего экрана фотографии NASA из космоса.
EveryDayPhotoNaaa каждый день делает снимок с сайта НАСА и устанавливает его в качестве фона для вашего рабочего пространства.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы писали бенчмарки и пытались понять, что там ускорилось и на сколько, то наверняка вы пользовались утилитами вроде benchstat.
Мне очень нравится эта утилита, но временами я понимаю, что некоторые её особенности работают против меня. Сегодня я расскажу вам о своей обёртке над benchstat, которая добавляет улучшения, полезные в моей работе.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы начнете с простой функции тестирования и поработаете с другими инструментами и стратегиями, которые помогут вам освоить тестирование в Go.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
Comprehensive Guide to Testing in Go | The GoLand Blog
This article will cover everything you need to know about Go testing. You will start with a simple testing function, and work through more tools and strategies to help you master testing in Go.
Please open Telegram to view this post
VIEW IN TELEGRAM
Hilbish – интерактивная Unix-подобная оболочка написанная на Go с возможностью конфигурации на языке Lua
🖥 GitHub
@Golang_google
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
usql – универсальный командный интерфейс для работы с SQL и NoSQL базами данных
$ brew install xo/xo/usql
✔️ Установка
#github #Go
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из-под капота с помощью дженериков.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Dolt – инструмент, который позволяет превратить SQL-базу в аналог git-репозитория и работать с альтернативными git-командами (clone, push, pull, merge и т.д.)
dolt $ du -h /Users/timsehn//go/bin/dolt
68M /Users/timsehn/go/bin/dolt
#Data #Go
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Несмотря на достоинства микросервисов, при их внедрении можно столкнуться с множеством проблем.
Изучение общих закономерностей в решении этих проблем привело к появлению паттернов микросервисной разработки (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
Свою результативность он уже доказал, найдя 1 676 634 секретов в результате двух этапов глубокого тестирования.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Транспилятор, который помогает преобразовать код на Go в JavaScript.
go install github.com/gopherjs/[email protected]
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Как вы, наверное, знаете, на днях OpenAI выпустила языковую нейросеть ChatGPT. Этот текстовый ИИ уже побил все рекорды по хайпу. Он набрал 1 млн зарегистрированных пользователей меньше чем за неделю. Для сравнения, у Twitter достижение этой цифры заняло 2 года, у Facebook — 10 месяцев.
ChatGPT основан на предыдущем текстовом генераторе OpenAI, GPT-3. Компания строит свои модели генерации текста, тренируя алгоритмы машинного обучения на книгах, новостных статьях, страницах Википедии и миллионах веб-сайтов. Обрабатывая такие большие объемы данных, модели изучают шаблоны и структуру языка и приобретают способность интерпретировать желаемый результат запроса пользователя.
go get -u -x github.com/kkdai/chatgpt
✔️ Впечатляющие достижения ChatGPT
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Позволяет управлять всеми ресурсами (контейнеры, образы, тома, сети и многое другое) с помощью графического интерфейса и/или удобного API.
📝 Документация
@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 Про плов и то, что объединяет
Разговор с тимлидом команды 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 Про плов и то, что объединяет
YouTube
Команда Serverless в Yandex Cloud, топ-качества разработчиков
Сегодня говорим про продуктовые исследования, фичеборды, виртуальные команды и топ-качества разработчиков команды бессерверных вычислений в Yandex Cloud.
Смотрите новый выпуск подкаста "Про людей".
00:00 Приветствие
01:19 Как держать темп разработки в…
Смотрите новый выпуск подкаста "Про людей".
00:00 Приветствие
01:19 Как держать темп разработки в…
Задача разработать сервис, через который продавцы смогут передавать нам свои товары пачками в формате 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
Необходимо создать 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