DevGang
Авторизоваться

Валидация данных: Исследование ответственности кода

Наша цель как ответственных разработчиков - писать код, который не только функционален, но и понятен, удобен для сопровождения и адаптации. В этом процессе мы часто сталкиваемся с ключевым, но несколько неуловимым вопросом: проблема ответственности в чистом коде. Подождите, не закрывайте пока страницу. Я не собираюсь описывать хорошо известный принцип единой ответственности (Single Responsibility Principle, SRP). Вместо этого я хочу рассмотреть нечто более широкое и, тем не менее, иногда более сложное - где должны располагаться конкретные функциональные возможности в архитектуре системы?

Что такое мьютекс в Golang?

Создавая программы на Golang, вы почти всегда найдете применение горутинам.

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

В этой статье мы рассмотрим, что такое мьютекс и как его использовать.

Обработка ошибок в веб-приложениях на Go должна быть удобнее!

В этом посте я опишу паттерн обработки ошибок, который показался мне довольно элегантным при написании REST, gRPC и других сервисов на Go. При написании этого поста я преследовал три цели:

Оптимизация образов Docker с помощью многоэтапных сборок и бездистрибутивного подхода

Когда мы перевели наше приложение с Node.js (Express) на Go, нам удалось уменьшить размер образа Docker с 2,8 ГБ до 400 МБ, что изначально нас устраивало. Однако, стремясь к более эффективному использованию ресурсов и более быстрому развертыванию, мы поняли, что все еще есть возможности для дальнейшего уменьшения размера изображения, поэтому мы решили попробовать новый подход.

Возможно, это знакомая территория для инженеров с опытом работы в DevOps, но для новичков я поделюсь улучшениями, которые мы внесли.

Создавайте образы Docker быстрее, используя кэш сборки

Знание того, как оптимизировать сборки образов Docker, чтобы использовать кэш сборки как можно чаще, имеет решающее значение для ускорения ваших сборок. Мы покажем вам, как работает кэш слоев и как эффективно использовать кэш, чтобы вы могли получить максимальную отдачу от своих сборок.

Создание облачного backend на Go с использованием REST и PostgreSQL

В этом руководстве показано, как создать и развернуть серверную часть Go для сокращения URL-адресов. Он состоит из одного сервиса с REST API и использует базу данных PostgreSQL.

Чтобы всего за несколько минут запустить нашу серверную часть Go в облаке, мы будем использовать Encore — платформу разработки серверной части, которая автоматизирует инфраструктуру.

Самый простой способ создать REST API с помощью Go

Go известен тем, что его легко освоить и он обеспечивает самый быстрый путь к созданию продукта. Благодаря встроенной в стандартную библиотеку функциональности HTTP у вас есть все необходимое без каких-либо внешних зависимостей. Низкоуровневый доступ к HTTP может стать глотком свежего воздуха, если вы привыкли к раздутым платформам, но это приводит к появлению большого количества шаблонного кода, который со временем становится утомительным для написания снова и снова. Здесь на помощь приходит babyapi. Я создал эту библиотеку, чтобы обеспечить очень простое создание REST API, не навязывая определенную структуру всему приложению. Это так просто, что справится даже ребенок!

Создание облачного бэкенда в Go с использованием REST и PostgreSQL

💡В этом руководстве показано, как создать, развернуть и перейти на серверную часть для средства сокращения URL. Оно состоит из одной службы, REST API и базы данных PostgreSQL.

Мы будем использовать Encore, чтобы запустить наше приложение в облаке бесплатно за 10 минут!

Мы будем создавать приложение шаг за шагом, но вы также можете ознакомиться с окончательным кодом на GitHub.

Перехват сообщения об ошибке от nginx

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

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

Создание веб-приложения React с бэкендом Go

Это краткое руководство по созданию и развертыванию веб-приложения с использованием фронтенда React и бэкенда Go. Мы будем использовать Encore, платформу для разработки бэкенда, позволяющую создавать готовые к работе приложения в AWS/GCP без необходимости ручной работы над инфраструктурой.

Это отличный способ узнать, как объединить возможности внутреннего интерфейса Encore с современным веб-фронтендом, чтобы создать более надежное и готовое к производству веб-приложение.

Присоединяйся в тусовку

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

Попробовать

В этом месте могла бы быть ваша реклама

Разместить рекламу