Рассмотрим объекты первого класса, их влияние на производительность. Изучим варианты использования с примерами: обратные вызовы, анонимные функции, замыкания, композиция функций, обработка ошибок, тестирование.
https://nsprg.ru/ObZPDO
VK: https://nsprg.ru/vd0DWv
@nuancesprog #Golang
https://nsprg.ru/ObZPDO
VK: https://nsprg.ru/vd0DWv
@nuancesprog #Golang
Изучим, как осуществляются мониторинг и логирование службы Go. Напишем код приложения и модульный тест, создав конфигурационные и тестовые файлы, и посмотрим метрики в дашборде Grafana.
https://nsprg.ru/vLdd5v
VK: https://nsprg.ru/xREEEm
@nuancesprog #Golang #Grafana #NewRelic #Prometheus #Sentry
https://nsprg.ru/vLdd5v
VK: https://nsprg.ru/xREEEm
@nuancesprog #Golang #Grafana #NewRelic #Prometheus #Sentry
Друзья, рады поделиться с вами оригинальной статьёй, написанной владельцем нашего канала специально для Хабра.
В этом материале подробно рассматривается процесс разработки собственного балансировщика нагрузки на языке Go для gRPC, с акцентом на приоритизацию адресов. Статья охватывает постановку задачи, анализ стандартных решений и их недостатков, а также пошаговую реализацию кастомного балансировщика с примерами кода.
Если вы интересуетесь высоконагруженными системами, балансировкой нагрузки и gRPC, эта статья будет вам полезна.
Статья доступна на Хабре: https://nsprg.ru/vgkGAv
https://nsprg.ru/vd0BGv
VK: https://nsprg.ru/Oob6Kv
@nuancesprog #Golang #gRPC
В этом материале подробно рассматривается процесс разработки собственного балансировщика нагрузки на языке Go для gRPC, с акцентом на приоритизацию адресов. Статья охватывает постановку задачи, анализ стандартных решений и их недостатков, а также пошаговую реализацию кастомного балансировщика с примерами кода.
Если вы интересуетесь высоконагруженными системами, балансировкой нагрузки и gRPC, эта статья будет вам полезна.
Статья доступна на Хабре: https://nsprg.ru/vgkGAv
https://nsprg.ru/vd0BGv
VK: https://nsprg.ru/Oob6Kv
@nuancesprog #Golang #gRPC
Интерфейсы - одна из отличительных особенностей языка Go. Новички часто путаются в том, как и когда их использовать. Разберем типичные ошибки, допускаемые при работе с Go-интерфейсами.
https://nsprg.ru/OBkKQm
VK: https://nsprg.ru/m6jMYm
@nuancesprog #Golang
https://nsprg.ru/OBkKQm
VK: https://nsprg.ru/m6jMYm
@nuancesprog #Golang
Узнаем о маленьких хитростях в написании кода, которые облегчают жизнь. Поработаем с проверкой ключей, приведением типов, с массивами с append, с отображением имен и значений параметров в структуре, а также создадим имитированный интерфейс и интерфейс на основе структуры.
https://nsprg.ru/O4l4AO
VK: https://nsprg.ru/OBkD4m
Дзен: https://nsprg.ru/x1egKx
@nuancesprog #Golang
https://nsprg.ru/O4l4AO
VK: https://nsprg.ru/OBkD4m
Дзен: https://nsprg.ru/x1egKx
@nuancesprog #Golang
Поэтапно настроим среду, интегрируем в проект библиотеку и рассмотрим различные аспекты 2FA, включая генерирование и хранение секретов, обработку аутентификации пользователя и проверку кодов TOTP. Дадим рекомендации по реализации в приложении Golang.
https://nsprg.ru/mrGNLx
VK: https://nsprg.ru/O4lY6O
@nuancesprog #Golang #Authorization
https://nsprg.ru/mrGNLx
VK: https://nsprg.ru/O4lY6O
@nuancesprog #Golang #Authorization
Хотите создать видеоигру менее чем за час? Следуйте руководству по максимально упрощенной разработке 2D-игры с использованием языка Go и библиотеки Ebiten и возможностью развертывания на Windows, macOS и Linux.
https://nsprg.ru/OKbNKv
VK:https://nsprg.ru/mW2JyO
@nuancesprog #Golang #GameDevelopment
https://nsprg.ru/OKbNKv
VK:https://nsprg.ru/mW2JyO
@nuancesprog #Golang #GameDevelopment
Реализуем логику распределения нагрузки с алгоритмом циклического перебора, перенаправлением запроса на бэкенды через обратный прокси-сервер, тремя повторами при сбое и обозначением бэкенда «мертвым». Как обрабатываются ситуации сбоя запроса?
https://nsprg.ru/mz5ybO
VK: https://nsprg.ru/xJowLv
@nuancesprog #Golang
https://nsprg.ru/mz5ybO
VK: https://nsprg.ru/xJowLv
@nuancesprog #Golang
Напишем тесты для проверки работы функций. Посмотрим, как совершенствуются тестовые сценарии с Testify.
https://nsprg.ru/ON7RNm
VK: https://nsprg.ru/mrGD3x
@nuancesprog #Golang #Testing
https://nsprg.ru/ON7RNm
VK: https://nsprg.ru/mrGD3x
@nuancesprog #Golang #Testing
Изучим модульную структуру проекта для тестируемого и сопровождаемого приложения Go, которое создается по принципам чистой архитектуры. Используя веб-фреймворк Gin и базу данных MongoDB, сделаем простой REST API с функционалом регистрации, авторизации пользователей и управления их профилями.
https://nsprg.ru/vX9W1O
VK: https://nsprg.ru/v3GLrv
@nuancesprog #Golang #Gin #MongoDB #RESTAPI
https://nsprg.ru/vX9W1O
VK: https://nsprg.ru/v3GLrv
@nuancesprog #Golang #Gin #MongoDB #RESTAPI
Покажем, как просто на Go реализуется мьютекс без состояния гонки и с корректной синхронизацией. Напишем пример с легкими, параллельно выполняемыми потоками-горутинами.
https://nsprg.ru/O7wP3O
VK: https://nsprg.ru/xPG54m
@nuancesprog #Golang
https://nsprg.ru/O7wP3O
VK: https://nsprg.ru/xPG54m
@nuancesprog #Golang
Каким образом перенаправляется трафик? Разберем различные подходы к развертыванию с примерами кода.
https://nsprg.ru/m6jwrm
VK: https://nsprg.ru/my8zQO
@nuancesprog #Golang
https://nsprg.ru/m6jwrm
VK: https://nsprg.ru/my8zQO
@nuancesprog #Golang
Сделаем мощную событийно-ориентированную службу синхронизации на Golang. Поэтапно настроим, оптимизируем производительность и протестируем.
https://nsprg.ru/OKKw4O
VK: https://nsprg.ru/mW3NJm
@nuancesprog #Golang #MongoDB #Elasticsearch
https://nsprg.ru/OKKw4O
VK: https://nsprg.ru/mW3NJm
@nuancesprog #Golang #MongoDB #Elasticsearch
Разберем нюансы функции new на примерах. Для каких целей и типов она используется, как ею упрощается инициализация?
https://nsprg.ru/vLJd9m
VK: https://nsprg.ru/xR3EZv
@nuancesprog #Golang
https://nsprg.ru/vLJd9m
VK: https://nsprg.ru/xR3EZv
@nuancesprog #Golang
Что значит помнить о безопасности при написании кода Go? Ответить в одной, короткой статье кажется невозможным. По этой причине сузим его до нескольких конкретных практик. При постоянном применении они приведут к написанию надежного, безопасного и производительного кода. Как быть в курсе новостей о безопасности Go? Как поддерживать код Go в актуальном состоянии? Как тестировать код, уделяя особое внимание безопасности и надежности? Что такое CVE и где можно узнать о самых распространенных уязвимостях ПО?
https://nsprg.ru/xPRzJO
VK: https://nsprg.ru/v8Rrgm
@nuancesprog #Golang
https://nsprg.ru/xPRzJO
VK: https://nsprg.ru/v8Rrgm
@nuancesprog #Golang
Пошагово создадим масштабируемое серверное приложение: подключим модульные тесты, контейнеризируем приложение и задействуем Envoy как прокси-службу взаимодействия. В итоге спроектируем, выполним оценку, запустим и протестируем его.
https://nsprg.ru/O7XM0m
VK: https://nsprg.ru/xPRYJO
@nuancesprog #Golang #gRPC #PostgreSQL
https://nsprg.ru/O7XM0m
VK: https://nsprg.ru/xPRYJO
@nuancesprog #Golang #gRPC #PostgreSQL
Рассмотрим две ключевые концепции, их применение в реальном примере. Дадим рекомендации по конкурентному выполнению.
https://nsprg.ru/vXoYDx
VK: https://nsprg.ru/v3eMPm
@nuancesprog #Golang
https://nsprg.ru/vXoYDx
VK: https://nsprg.ru/v3eMPm
@nuancesprog #Golang
Настроим тестовый сервер, объявим ожидаемый результат и сравним с фактическим. Запустим модульный тест. Что, если тест не выполнен?
https://nsprg.ru/m6B0wm
VK: https://nsprg.ru/myRqYx
@nuancesprog #Golang #gRPC #Testing
https://nsprg.ru/m6B0wm
VK: https://nsprg.ru/myRqYx
@nuancesprog #Golang #gRPC #Testing
Контейнеризируем приложение и задействуем Envoy как прокси-службу взаимодействия. В итоге настроим, соберем, запустим и протестируем контейнер.
https://nsprg.ru/m6B6Vm
VK: https://nsprg.ru/myR55x
@nuancesprog #Golang #Docker #Envoy
https://nsprg.ru/m6B6Vm
VK: https://nsprg.ru/myR55x
@nuancesprog #Golang #Docker #Envoy
Задействуем эти мощные технологии без единой строчки JavaScript. Попутно реализуем базовые операции создания пользователей.
https://nsprg.ru/mppaZm
VK: https://nsprg.ru/vq67oO
@nuancesprog #Golang #htmx #TailwindCSS
https://nsprg.ru/mppaZm
VK: https://nsprg.ru/vq67oO
@nuancesprog #Golang #htmx #TailwindCSS