У вас включен AdBlock или иной блокировщик рекламы.

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

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

Как профилировать gRPC-сервер Golang с помощью pprof 

Фото chuttersnap на Unsplash
Фото chuttersnap на Unsplash

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

Тайм-ауты HTTP-запросов в Go для начинающих 

Фото Хао Чжана на Unsplash
Фото Хао Чжана на Unsplash

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

Micro в действии: начало работы 

Мы будем строить микро сервис шаг за шагом, объясним особенности Micro во время этого путешествия. Мы начнем с основных понятий и тем, а затем перейдем к расширенным функциям.

Golang: Основной синтаксис

В настоящее время существует так много популярных языков программирования, которые используются для создания сервисов и систем, таких как Node.js, PHP и Python. И все они имеют свои преимущества и недостатки, и от этого сильно зависит то, для чего программист будет использовать тот или иной язык программирования. Если вам нужно написать программу с очень эффективным параллелизмом, но все еще читаемую, я познакомлю вас с этим языком, Go (он же Голанг).

Go: понять дизайн Sync.Pool 

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

Go модули с приватными Git репозиториями

Модули значительно улучшили процесс управления зависимостями в Go. Если вы новичок в Go Modules и хотите узнать больше о том, как начать, ознакомьтесь с официальной документацией .

Встраивание статических ресурсов в проект Go 

Я хотел создать небольшое автономное веб-приложение на Go, противоположное обычному веб-приложению, где ресурсы будут обслуживаться отдельно через CDN или HTTP-сервер, такой как Nginx. Но если производительность не имеет значения или она нацелена на небольшой трафик, то наличие автономного приложения облегчает его развертывание и распространение, поскольку это просто исполняемый двоичный файл.

Обработка рабочего пространства Go с помощью direnv 

Когда я начал изучать Go, я быстро преодолел свое первое препятствие: рабочее пространство Go. Инструменты go предназначены для работы с кодом, который хранится в общедоступных репозиториях с использованием полного доменного имени и пути в качестве пространства имен и имени пакета. Например: github.com/rach/project-x где github.com/rach - это вид пространства имен, реализуемый структурой каталогов, а project-x имя пакета также обеспечивается структурой каталогов.

Исходя из Python, я был удивлен, что не было такого простого решения, как [virtualenv]. Go действительно предлагает способ, но требует немного больше упражнений с кодом.

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

Что я узнал нового, изучая Go

Всем привет! Совсем недавно я кодил на Голанге и вот теперь решил поделиться с вами некоторыми наблюдениями.

Изучаем Go - Сборка DevLog Часть 04

Создаем блог разработчика

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

Сделаем шаг назад 

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

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

Попробовать