Size: a a a

Software Design/Architecture/Zen

2021 May 18

DK

Dmitriy Knyaginin in Software Design/Architecture/Zen
в принципе да... особенно интересно если вложенность большая... и запрос который упакован в object к примеру для elasticsearch надо передать через get а не через post
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
3.4.  Query

  The query component contains non-hierarchical data that, along with
  data in the path component (Section 3.3), serves to identify a
  resource within the scope of the URI's scheme and naming authority
  (if any).  The query component is indicated by the first question
  mark ("?") character and terminated by a number sign ("#") character
  or by the end of the URI.

https://datatracker.ietf.org/doc/html/rfc3986#section-3.4
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
> non-hierarchical
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
поэтому скорее всего придется велосипедить или подстраиваться под существующий велосипед в языке, например в пхп a[]=1&a[]=2 распарситься как массив a с двумя элементами
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
еще можно упереться в лимиты браузеров https://stackoverflow.com/questions/812925/what-is-the-maximum-possible-length-of-a-query-string
источник

DK

Dmitriy Knyaginin in Software Design/Architecture/Zen
типа o[prop1][0]=1&o[prop1][1]=hello
источник

DK

Dmitriy Knyaginin in Software Design/Architecture/Zen
короче хотите кастомизацию в запросах, делайте это через отправку JSON через WS или POST и получайте RPC без REST )))
источник

В

Виктор in Software Design/Architecture/Zen
сложный фильтр который в обычную плоскую структуру не умещается, можно сериализовать на фронте, закинуть в один из параметров запроса
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
да, никто не мешает сделать q=<json string here>
источник

В

Виктор in Software Design/Architecture/Zen
главное в тело GET запроса не класть, многие вебсерверы его парсят и все вроде будет работать, но как-то только на какой-нить AWS Api Gateway улетит в прод, сразу начнутся проблемы))
источник

DK

Dmitriy Knyaginin in Software Design/Architecture/Zen
идея такая... по классике POST /products и GET /products?param  заняты... что если занять POST /products/  и  если фильтр не простой (не влезаем в ограничения GET) то получать объекты через него?
источник

В

Виктор in Software Design/Architecture/Zen
у хрома вроде лимит на длинну queryString в 2 мегабайта, это довольно много текста, + его всегда можно сжать через protobuf если в 2 мегабайта условия не влазят
источник

В

Виктор in Software Design/Architecture/Zen
действительно ли вы не влазите в это ограничение?
источник

DK

Dmitriy Knyaginin in Software Design/Architecture/Zen
то что тут мне дали... сущьности типа документ... и там есть вложенные таблицы... есть виды документов где вложенность в 4 уровня... что они там будут искать и в каких полях до конца не понятно... стоит в задании поиск и фильтрация документов... стало быть надо надо что-то нормальное делать, а не костыль для двух видов документов... видов документов у заказчика много они иногда меняются, корооче своя мультивселенная
источник

N

Nickolai in Software Design/Architecture/Zen
Прив! такой вопрос! Есть правило - не коммитить креды в гит. Как поступают в ситуации, когда у тебя докер компоузер и все настройки в yml файле? Использовать шаблонизаторы? Про Vault знаю, интересует момент с CVS и yaml файлами. спс!
источник

А

Антон in Software Design/Architecture/Zen
environment:
  SOME_ENV: ${SOME_ENV}
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
.env файлы, например
источник

UT

Unknown T. in Software Design/Architecture/Zen
Привет.
У меня есть несколько классов, представляющих разные типы файлов. Например, JsonFile, JsFile, ImageFile. У них разный набор полей. Я работаю с этими файлами, меняю их содержимое.
Теперь главный вопрос, где будет правильно сделать методы, скажем, чтения и записи? Я думал сделать метод write() в интерфейсе, который реализуют мои классы, чтобы при его вызове файл проводил нужную сериализацию, доставал из своих полей путь и выполнял запись. Насколько это хорошая идея? Может лучше использовать классы файлов исключительно как контейнеры с данными, а все операции выполнять с помощью других методов?
источник

UT

Unknown T. in Software Design/Architecture/Zen
В целом не понятен SRP на практике. Вот, например, класс занимается чтением и записью файлов. Казалось бы, можно сказать — не SRP, 2 задачи у класса, чтение и запись. А можно сказать, что ответственность класса — работа с файлами. И тогда одна задача :/ Как понять эту грань
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
оо, грядет срп срач)
источник