Сегодня поговорим о 5 интересных проектах на Golang, популярном языке программирования высокопроизводительных приложений.
Одно из главных преимуществ Go — простота написания параллельных систем. Научиться этому можно по исходному коду представленных проектов: используйте их в своих приложениях.
Phoneinfoga
Phoneinfoga — это фреймворк для упрощения сбора информации о телефонных номерах, например определения, существует ли номер и из какой он страны. Другие интересные применения — автоматизация процесса регистрации и выявление мошенничества.
MOSINT
Останемся в сфере разведки по открытым источникам: следующий проект MOSINT (2000 звезд на GitHub) — это сбор информации об адресах электронной почты. В нем проверяется адрес почты, публичные учетные записи в соцсетях, общедоступные базы данных о нарушениях, связанные почтовые сообщения и домены, выполняется поиск DNS.
Хотя проект полезен для масштабных целей безопасности, я защищаю им свои письма от онлайн-опасностей.
Kubeshark
Golang идеален для таких систем диагностики, как Kubeshark, приложения для упрощения отслеживания трафика подов Kubernetes. У него красивый интерфейс, как в инструментах разработчика на Opera, имеются двоичные файлы Windows, Linux и MacOS.
Я часто прибегаю к средствам отслеживания трафика для диагностики проблем между фронтендом и бэкендом. Kubeshark — незаменимый инструмент.
Finch
Finch — новинка, на которую сразу же обратили внимание программисты Go. Это CLI для разработки контейнеров.
Вот что написано на странице GitHub:
В Finch имеется простой клиент, интегрированный с nerdctl. От nerdctl зависит выполнение тяжелой работы, связанной с основными командами build/run/push/pull. Для управления контейнерами используется containerd, для работы со сборками образов Open Container Initiative — BuildKit. Эти компоненты запускаются все вместе на виртуальной машине под управлением Lima.
PocketBase
В Go уже расцвел целый сад фреймворков для бэкенда: Gin, Beego, Echo, Kit, FastHttp. И это лишь малая их часть.
PocketBase — еще один интересный бэкенд-сервер. Состоит из одного файла, встроенной SQLite и подписок в реальном времени. У проекта красивая и плавная кривая обучения.
Читайте также:
- Команды Go и переменные среды, которые должен знать каждый разработчик
- Дирижируйте горутинами с помощью каналов
- Как создать простой планировщик событий в Go
Читайте нас в Telegram, VK и Дзен
Перевод статьи Tom Smykowski: 5 Awesome Go Projects: Manage Security, Containers And Build Backends