Еженедельный информационный бюллетень GoPa Golang является частью Сообщества разработчиков FAUN. Мы помогаем разработчикам учиться и расти, поддерживая их в том, что важно.

⭐ Покровители

😍 Облачные микросервисы с Kubernetes — скидка 30%!

👋 Привет,

С вами Аймен, основатель FAUN, и я очень рад объявить о выпуске первой версии Нативных облачных микросервисов с Kubernetes.

Это подробное руководство поможет вам глубже погрузиться в тонкости микросервисов, стратегий обеспечения высокой доступности, CI/CD, GitOps и наблюдаемости в увлекательном мире разработки Cloud Native.

На протяжении всей книги вы получите практический опыт работы с широким спектром мощных инструментов и технологий, включая Docker, Kubernetes, minikube, Rancher, Terraform, Operators, Helm, Prometheus, Istio, Grafana, OpenTelemetry, Jaeger, Loki, Argo CD, и многое другое. Эти инструменты позволят вам создавать и управлять надежными, масштабируемыми и отказоустойчивыми архитектурами микросервисов.

Хотя это первый выпуск (v0) книги, будьте уверены, что он полностью содержит ценные идеи и практические знания. Кроме того, ожидайте обновлений и дополнительного контента в будущем.

🤩В знак признательности за то, что я член FAUN, я рад предложить вам эксклюзивную скидку 30 % на книгу. Просто используйте эту ссылку на купон, чтобы получить копию со скидкой.

Не упустите эту возможность и получите свою копию сейчас!

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

Приятного чтения!
Аймен, основатель FAUN

Телепорт — самый простой и безопасный способ получить доступ ко всей вашей инфраструктуре.

Только плоскость доступа Teleport с открытым исходным кодом объединяет подключение, аутентификацию, авторизацию и аудит в единую платформу для повышения безопасности и гибкости.

Скачать Телепорт на сайте goteleport.com

Мы помогаем вам выиграть гонку за сердцами разработчиков!

Приобретайте, привлекайте и удерживайте разработчиков для вашей компании.

MarketToDev – это агентство по маркетингу и связям с разработчиками, от FAUN. Уникальное сочетание маркетинга, разработки программного обеспечения и страсти.

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

Не позволяйте своим конкурентам вырваться вперед, свяжитесь с MarketToDev!

👉 Расскажите о себе и помогите разработчикам найти вас, продвигая свои проекты на FAUN. Свяжитесь с нами для получения дополнительной информации.

🔗 Из сети

Защита веб-приложений Golang с помощью белого списка IP-адресов

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

В этом посте объясняется концепция, когда ее реализовать и как это сделать в Go с использованием фреймворка Gin. Это простой и эффективный способ повысить безопасность и ограничить доступ к надежным источникам.

Создайте бессерверного бота Discord с помощью OpenFaaS и Golang

В этом руководстве показано, как создать бота Discord с помощью OpenFaaS и Golang. Бот позволяет пользователям создавать собрания Zoom по запросу в Discord.

Учебник охватывает процесс

  • Интеграция с Discord и Zoom API,
  • Настройка вебхуков
  • Развертывание бота в OpenFaaS.

✅ Усовершенствуйте свою игру по тестированию приложений Go с помощью Testify Framework

Тестирование имеет решающее значение в разработке программного обеспечения для обеспечения целостности, надежности и качества кода. Экосистема Go предлагает сторонние пакеты, такие как Testify, которые упрощают задачи тестирования.

Пакет Testify предоставляет утилиты и функции утверждений для всестороннего тестирования, включая утверждения, имитации и наборы.

  • Утверждения проверяют условия для проверки поведения кода, а пакет assert предоставляет различные функции утверждений.
  • Макеты имитируют поведение реальных объектов и полезны для тестирования взаимодействия между различными частями системы.
  • Testify поддерживает наборы тестов, которые представляют собой наборы тестовых случаев, выполняемых одновременно для тестирования определенных функций.
  • Тестовые перехватчики – это специальные функции, которые выполняются до или после запуска тестов и могут использоваться для настройки, очистки или настройки.
  • Testify предоставляет синтаксис в стиле Gherkin для тестирования BDD, делая тесты читабельными и понятными для технических и нетехнических заинтересованных сторон.

Написание высокопроизводительных TCP-приложений с использованием Gain Web Framework

В статье приведен пример реализации эхо-сервера по протоколу TCP с Gain framework, а также рассмотрены методы OnStart, OnAccept, OnRead, OnWrite и OnClose интерфейса EventHandler в Gain.

Автор демонстрирует, как запустить сервер Gain, и предоставляет простую клиентскую логику для тестирования сервера.

  • Gain может быть быстрее, чем самые быстрые фреймворки на основе epoll, написанные на Go, поскольку он построен на основе API io_uring и с самого начала разрабатывался как максимально быстрый.
  • io_uring использует пару кольцевых буферов, один для отправки запросов, а другой для отчетов о результатах.
  • Он использует другую модель программирования по сравнению с пакетом net в Go, чтобы минимизировать количество системных вызовов и повысить производительность.

От C до WASM, чтобы идти

Дейлон Уилкинс обсуждает их путь реализации правильной поддержки регулярных выражений в Dolt, инструменте базы данных с контролем версий. Первоначально они добавили поддержку сопоставления, что нарушило их функциональность регулярных выражений.

Автор исследует различные решения, включая интеграцию библиотеки ICU с помощью CGo, но сталкивается с трудностями. В конечном итоге они выбирают компиляцию ICU в модуль WebAssembly и запуск его с использованием среды выполнения в коде Go. Они преодолевают проблемы с производительностью и достигают полной совместимости с регулярными выражениями за счет снижения скорости выполнения.

Основные выводы:

  • Иногда самое сложное решение может оказаться самым простым, в зависимости от приоритетов проекта.
  • Добавление поддержки сортировки в продукт может привести к неожиданным осложнениям, таким как нарушение поддержки регулярных выражений.
  • Реализация надлежащей поддержки регулярных выражений требовала выбора между CGo и WebAssembly, причем последний в конечном итоге был лучшим решением.

✅ Понимание традиционной шестиугольной архитектурной структуры для приложений Go

Шестиугольная (или порты и адаптеры) архитектура — это популярный шаблон архитектуры программного обеспечения для создания приложений Go.

Шестиугольная архитектура делит приложения на три основных уровня: уровень приложений, уровень портов и адаптеров и уровень инфраструктуры.

  • В Go типичное шестиугольное приложение использует четыре основных каталога: cmd, internal, pkg и vendor.
  • Реализация шестиугольной архитектуры в Go требует определенной файловой структуры, включая каталоги для адаптеров, доменов, портов, вариантов использования, ввода/вывода и зависимостей от поставщиков.
  • Преимущества использования этой архитектуры включают масштабируемость и ремонтопригодность проекта, возможность тестирования и простоту интеграции, а также гибкость и адаптируемость к изменяющимся требованиям.

⚙️ Инструменты

tmc/smol-dev-go

Go-реализация разработчика smol

fireinrain/опайтокены

Библиотека Golang, которая поможет вам получить токен доступа openai и обновить токен.

gavv/returnstyles

Линтер Golang для проверки стилей возврата функций.

SantiiRepair/биосерфинг-апи

Бэкенд написан на Golang для обработки данных и служебного трафика.

👉 Распространяйте информацию и помогайте разработчикам находить и следить за вашим проектом с открытым исходным кодом, рекламируя его на FAUN. Свяжитесь с нами для получения дополнительной информации.

🛍️ Магазин сувениров

Тернарный оператор

❤️ 20% эксклюзивная скидка для FAUNers на все продукты (+бесплатная доставка включена) при использовании кода «СПАСИБОFAUN».

😂 Мем недели

❤️ Спасибо, что читаете

👉 Никогда не пропустите проблему
Присоединяйтесь к сообществу разработчиков FAUN и подпишитесь на нашу рассылку здесь.

👋 Оставайтесь на связи и следите за нами в социальных сетях:
- 💼LinkedIn
- 📝 Medium
- 🐦 Twitter
- 👥Facebook
- 📰Reddit
- 📸Instagram

👌 Была ли эта рассылка полезной?
Мы будем очень признательны, если вы поделитесь ею со своими друзьями! Вы также можете пожертвовать, чтобы помочь нам поддерживать этот информационный бюллетень.

ℹ️ Есть вопрос или отзыв?
Не стесняйтесь обращаться к нам по адресу [email protected]. Мы хотели бы услышать от вас!

🤩 Хотите спонсировать нашу рассылку?
Свяжитесь с нами по адресу [email protected], и мы свяжемся с вами как можно скорее.