Golang. Пишем генератор случайных паролей на Go.

Представляю вашему вниманию перевод статьи «Creating random, secure passwords in Go» автора Mihalis Tsoukalos. Пишем простой генератор случайных паролей на Go с помощью стандартной библиотеки. Генератор случайных чисел в Go это хороший вариант для генерации сложных к подбору паролей. Вы можете использовать генератор случайных чисел, предоставляемый языком программирования Go, для ПОДРОБНЕЕ

Привет, Go! |

За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая поприветствует нас с помощью фразы Hello World. Здороваемся Есть несколько способов того, как можно отобразить на экране приветствие «Hello world!». В идеале нужно использовать блокчейн и ПОДРОБНЕЕ

Способы реализации API-сервера на Golang с автогенерацией кода и документации

Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/go-swagger grpc-ecosystem/grpc-gateway swaggo/swag Swagger Codegen Начнем с ПОДРОБНЕЕ

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway

В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остановиться на этом подходе. grpc-gateway — это плагин protoc. ПОДРОБНЕЕ

Синхронный ответ из асинхронных сервисов

В данный момент я принимаю участие в разработке сервиса, связанного с видеотрансляциями, и сегодня я хочу рассказать о взаимодействии фронта, медиасервера (С++) (далее MS), и небольшой прослойки между ними для различной валидации, консистентности данных и прочих мелких операций (Go) (далее RM), которые фронту нельзя доверить, а решать на MS не ПОДРОБНЕЕ

Go: трассировочный пакет

ℹ️ В статье речь идёт о Go 1.13. В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её выполнения. Он активируется с помощью флага -trace с тестами из pprof для проведения трассировки в режиме реального времени или в любом месте кода благодаря пакету ПОДРОБНЕЕ

Spiral: высокопроизводительный PHP/Go фреймворк

Привет, Хабр. Меня зовут Антон Титов, CTO компании Spiral Scout. Сегодня я хотел бы рассказать вам про нашего PHP-слона. А точнее про вторую версию опен-сорсного full-stack PHP/Go фреймворка — Spiral. Spiral — это компонентный full-stack фреймворк, разрабатываемый нашей компанией более одиннадцати лет и обслуживающий под сотню реальных проектов. Программный пакет ПОДРОБНЕЕ

Go: как циклы преобразуются в ассемблерную программу?

ℹ️ В статье речь идёт о Go 1.13. Циклы в программировании — понятие мощное и довольно простое. Тем не менее возникает необходимость преобразовывать их в основные команды, которые может понять компьютер. Способ компиляции может повлиять и на другие компоненты стандартной библиотеки. Начнём с анализа цикла диапазона. Ассемблерный код цикла Цикл диапазона выполняет перебор ПОДРОБНЕЕ

Golang — изящная обработка ошибок | Nuances of programming

Несмотря на то, что в go предусмотрена простая модель ошибок, на деле все не так уж и просто. В данной статье я хочу рассказать вам об эффективном способе обработки ошибок и решения сопутствующих проблем. Для начала, необходимо понять, что именно считается ошибкой в go. Затем рассмотрим весь процесс, от создания ПОДРОБНЕЕ

Интерфейсы в Go для повышения тестируемости кода

Интерфейсы в Go Интерфейсы  —  это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете запросить и принять деньги от кассира в банке. Конечно, если деньги есть на вашем счёте. Или обналичить их у банкомата, который в этом случае будет “кассиром”. В обоих случаях интерфейс “кассир” ПОДРОБНЕЕ