NOP::Nuances of Programming
68.4K subscribers
3.24K photos
11 videos
12 files
4.58K links
Уникальные статьи и переводы — настольная книга программиста.


Любые вопросы по сотрудничеству: @ramilkr
Если нужен токен:
https://telega.in/c/nuancesprog
NOP::Humor - https://t.iss.one/nophumor
NOP::Recruiter Удаленка- https://t.iss.one/nopremote
Download Telegram
Изучим рекомендации с примерами кода на Go. Рассмотрим отступы, импорт пакетов, названия переменных, длину строк, константы, обработку ошибок, глобальные переменные, структуры для сложных данных, комментарии, горутины.

https://nsprg.ru/mrp5Yv

VK: https://nsprg.ru/O4rQlx

@nuancesprog #Golang
Продолжаем обработкой паник с Recover, функциями init и defer, составными литералами, параметрами и сложностью функций, явными возвращаемыми значениями. Изучим затенение переменных, интерфейсы для абстракции, разделение библиотечных пакетов и исполняемых файлов.

https://nsprg.ru/mWNeRO

VK: https://nsprg.ru/O5KJyx

@nuancesprog #Golang
Развернем интеграцию WebAssembly с Go в браузерах, настроим среду Go, преобразуем код Go в WebAssembly и выполним его в веб-контексте. В итоге получим интерактивную платформу с конкретными, мощными возможностями.

https://nsprg.ru/xl467x

VK: https://nsprg.ru/mzVprm

@nuancesprog #WebAssembly #Golang
Разберем нюансы простого и масштабируемого фильтров Блума: хеш-функции, битовый массив, компромиссы, определение параметров, хешер, ложноположительные результаты, коллизии. Дадим рекомендации, приведем примеры применения.

https://nsprg.ru/xJk6Dv

VK: https://nsprg.ru/mzVD2m

@nuancesprog #Golang
Освоим команды, которыми совершенствуются практически все этапы разработки на Go: от сборки исполняемых файлов до управления зависимостями и даже изучения документации. Дадим краткое описание, когда используются и примеры.

https://nsprg.ru/vgLGzO

VK: https://nsprg.ru/v21djx

@nuancesprog #Golang
Изучим способы создания перечислений с идентификатором iota и структурными тегами. Проверим поведения на тестовых сценариях.

https://nsprg.ru/vgLpRO

VK: https://nsprg.ru/v21Vax

@nuancesprog #Golang
…когда пишешь плохой код. О том, как применять пул соединений, а не просто копипастить найденный в интернете код.

https://nsprg.ru/xeAJNx

VK: https://nsprg.ru/xlEJ4v

@nuancesprog #NodeJS #Golang #NestJS #Bun #LanguagePerfomance
Разберемся с процессом загрузки файлов Go в Cloudflare R2. Пройдем его поэтапно, снабжая фрагменты кода пояснениями, весь код  -  в конце.

https://nsprg.ru/OoYG4x

VK: https://nsprg.ru/Obk8qm

@nuancesprog #Golang #CloudflareR2
Покажем, как легко стало оперировать базами данных. Разберем преимущества пакета database/sql: совместимость с базами данных, автоматическое сканирование структуры и вставка строк, функция Get, привязка параметров для предотвращения внедрения кода SQL.

https://nsprg.ru/maYbLm

VK: https://nsprg.ru/O7kb0O

@nuancesprog #Golang #SQLX
Создадим настраиваемые показатели Prometheus с Go, подробно разберем метрики. При наличии оповещения в Grafana отправим сообщение на канал Slack.

https://nsprg.ru/O7kZjO

VK: https://nsprg.ru/xPbX1O

@nuancesprog #Golang #Grafana #Slack
Реализуем интегрируемый в онлайн-платформы функционал автоматической оплаты услуг, создадим сеанс оформления заказа для клиента на Go, Stripe и Gin. Разберемся, как с помощью хуков здесь устраняются основные сложности.

https://nsprg.ru/OQMQlO

VK: https://nsprg.ru/mMkQ7v

@nuancesprog #Golang #Stripe #Gin
Разрабатываете микросервисы? Тогда вам обязательно нужно освоить GoFr. С этим фреймворком ваша работа станет намного проще и эффективней. Как надежный эксперт, он будет руководить каждым вашим шагом, обеспечив исключительную производительность.

https://nsprg.ru/vgLBzO

VK: https://nsprg.ru/v21zjx

@nuancesprog #GoFr #Golang
Рассмотрим шаблон Sidecar, создадим две службы Go и выполним контейнеризацию, а затем развернем на Kubernetes. Отправим HTTP-запрос и отследим его перенаправление из Sidecar-контейнера в основной.

https://nsprg.ru/ON3J8m

VK: https://nsprg.ru/mrYVLO

@nuancesprog #Golang #Kubernetes #Sidecar
Разберем нюансы управления продолжительными транзакциями в распределенных системах, реальные сценарии применения. Проиллюстрируем примером действие компенсации в этапах транзакций, откат предыдущих транзакций.

https://nsprg.ru/OoY0Ex

VK: https://nsprg.ru/Obk3nm

@nuancesprog #Golang
Поэтапно сделаем пригодный для промышленной эксплуатации API. Менее чем в 50 строках кода реализуем его с миграциями, REST-обработчиками, функцией main, создадим простейший компонент  -  слой данных.

https://nsprg.ru/x1zQjv

VK: https://nsprg.ru/OBzjPO

@nuancesprog #Golang #RESTAPI #CRUD #MySQL
Применим упрощенный подход интеграции Meilisearch с Golang: обойдя процессы создания БД и вставки данных, получим данные напрямую из внешних источников и вставим их в Meilisearch. Реализуем функционал поиска, создав индексы, вставив в них данные, настроив поисковый запрос для функции поиска.

https://nsprg.ru/xlE2Jv

VK: https://nsprg.ru/mzgLAx

@nuancesprog #Golang #Meilisearch
Рассмотрим объекты первого класса, их влияние на производительность. Изучим варианты использования с примерами: обратные вызовы, анонимные функции, замыкания, композиция функций, обработка ошибок, тестирование.

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
Друзья, рады поделиться с вами оригинальной статьёй, написанной владельцем нашего канала специально для Хабра.

В этом материале подробно рассматривается процесс разработки собственного балансировщика нагрузки на языке 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