View in Telegram
#ln2@pivzhab Недавно пришла умная мысль в голову о том, как унифицировать аутентификацию во всех микросервисах. В чем проблема - для того, чтобы отправить запрос на сервер аутентификации нужно знать, куда его слать. Для этого нужно получить объект веб-сервера, который определяется при разработке и может быть разный, поэтому не может конкретизирован в сторонней библиотеке Однако помимо четкой типизации можно определить тип при помощи классов (шарписты и около -читайте "интерфейс", растеры - "трейт"), но только сейчас я связал то, что я могу при помощи стандартного класса веб-сервера получить инстанс веб-сервера в процессе монадического вычисления, при этом на уровне библиотеки он будет неопределенного типа и при помощи дополнительного класса реализовать функцию получения конфигурации эндпоинтов в обход явного обращения к полям (потому что я их не знаю) Таким образом, путем имплементации класса на одну функцию я наконец придумал как дотянуть все на уровень библиотеки и унифицировать аутентификацию И вот таких вещей огромное количество - проект не в лучшем виде, потому что технический долг меня съест в большинстве случаев. Например, я хочу убрать get в начале всех функций структур для получения значения поля. Структур - больше сотни, ссылок на их поля - в разы больше, пускай это и будет делаться парой sed'ов Благо язык, который не будет собираться если код написан не так, позволяет проводить рефакторинг радикально - например, выпилить не нужный модуль и по ошибкам компиляции найти все реферренсы на него 💻 Интересно пользоваться языком, возможности которого ты не можешь осознать полностью.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram Center
Telegram Center
Channel