Публикации по теме 'golang'


Отражение в Голанге
Отражение . Это способность программы анализировать свою структуру во время выполнения. Или мы можем сказать, что это набор функций, которые используются для извлечения данных о переменной во время выполнения. Мы можем получить информацию о типе и значении во время выполнения. Он реализует отражение с помощью пакета Reflect, который предоставляет типы и методы для проверки частей структуры интерфейса и даже для изменения значений во время выполнения. Сначала нам нужно импортировать..

Использование sync.Once в Golang для эффективного использования ресурсов и безопасности потоков
В Golang пакет sync предоставляет примитивы синхронизации, такие как sync.Once , которые можно использовать для обеспечения того, чтобы определенный фрагмент кода выполнялся только один раз, независимо от того, сколько раз он вызывается. Это особенно полезно в сценариях, где мы хотим избежать избыточных вычислений, дорогостоящих инициализаций или обеспечить безопасность потоков…

Преобразование jpg в pdf: ГОЛАНГ
Эта программа использует библиотеку gofpdf для создания нового документа PDF, добавления в него страницы и рисования изображения на странице. Затем он сохраняет документ PDF с тем же именем, что и файл изображения, но с расширением .pdf. package main import ( "fmt" "image" "os" "github.com/jung-kurt/gofpdf" ) func main() { // Open the image file file, _ := os.Open("image.jpg") defer file.Close() // Decode the image img, _, _ :=..

Создание простого клона Redis на Golang: часть 3
Часть 3. Добавление поддержки Pub/Sub Источник: https://github.com/kzeiter/build-redis-in-go В этой части нашей серии клонов Redis мы добавим поддержку функции Pub/Sub (публикация/подписка). Pub/Sub позволяет клиентам подписываться на каналы и получать сообщения, публикуемые на этих каналах. Эта функция обычно используется в приложениях реального времени, таких как чаты и обновления в реальном времени. Мы будем реализовывать две новые команды для Pub/Sub: SUBSCRIBE channel..

Положите свои HTTP-запросы на диету
Практическое руководство по сжатию HTTP-запросов веб-клиента Если вы оказались в ситуации, когда вы отправляете большие полезные данные HTTP-запроса из веб-браузера в свой API, вы, вероятно, допустили архитектурную или дизайнерскую ошибку. Тем не менее, наша команда недавно оказалась в ситуации, когда регулярная отправка 200–300 КБ запросов давала нам наименьшее количество компромиссов. Как следствие, мы наблюдали длительное время передачи запросов. В отличие от того, как браузеры..

Отказ от REST с помощью gRPC-web и Envoy
С момента появления gRPC он стал очень популярным в сообществе разработчиков API. Причина, по которой gRPC стал настолько популярным, заключалась в его поддержке реализации многоязычного интерфейса (сервер и клиент могут быть написаны на разных языках), его ориентации на производительность с самого начала (gRPC основан на HTTP / 2) и отличном наборе инструментов (использование gRPC protobuf для сообщений и описаний сервисов, а клиенты могут быть сгенерированы автоматически без..

Псевдоним типа и определение типа в Go
Начнем кодить!! Посмотрите на код ниже и подумайте, что он напечатает. [%T используется для печати информации о типе] package main import "fmt" type int1 = int // OPTION-1 type int2 int // OPTION-2 func main() { var i1 int1 var i2 int2 fmt.Printf("%T, %T", i1, i2) } Вывод int, main.int2 источник Интересно, что i1 печатает int , а i2 печатает main.int2 . Почему мы видим этот результат? i1 — это псевдоним...