🏁Александр
CRUD
Maksim
бгг
🏁Александр
но вот спецификация к нему может быть странная
🏁Александр
и надо реализовать именно так как придумали в документе
🏁Александр
потому что соотвественно "странное" делалось под удобство бизнес задач каких либо, мы не можем "вилять собакой"
Daniel
но вот спецификация к нему может быть странная
желание написать поломанную спеку - корень всех бед. вот только к величине проекта это имеет мало отношения
Maksim
если делать спецификацию в стиле "одно окно, 100 дверей", то да, можно и круд на несчастные 7 сущностей превратить в ад. Если хернёй не заниматься, то и круд на 700 сущностей проблемой не будет) так что, пожалуй, в коем-то веке соглашусь с Daniel)
Dmitriy
я вот ни как не пойму, как документ который спустили менеджеры относится к спецификации сваггер и коду который потом генерируется на клиенте и сервере? у меня только одно предположение почему так и это все таки дискомуникация внутри коллектива
🏁Александр
детальное
Maksim
и вобще ниясна, как обычный круд может проблемы вызывать) он делается без проблем без сваггера и даже без го)
🏁Александр
а я что написал выше? ДА
Dmitriy
ну тогда почему фронт с бэком не работает по этой спеке?)
Dmitriy
как так получается что фронт который генерился по спеке отправляет не те данные?)
🏁Александр
блин перечитай дискуссию
🏁Александр
я говорю про "не гибкость" сваггера
🏁Александр
что бы удолетворить спецификацию из коробки
🏁Александр
какая бы "кривая" она не была
🏁Александр
вот есть виденье как "правильно" и все тут
🏁Александр
а нам сидеть на ходу бревна под колеса кидать, иначе паровоз не едет
Daniel
ну чушь же
Maksim
сваггер - про контракты, а не про костыли и попытки прогнуться под всё вокруг
Maksim
а контракт не должен подразумевать трактовки с оглядкой на фазу луны
Daniel
коллеги, хватит. наш друг Александр Попов считает, что сваггер должен быть способен на чудо - починить поломанную спеку без изменения спеки. мы знаем, что сваггер на чудо не способен. аминь
Dmitriy
хм, да, я понял описанную тобой проблему. и она все таки в дискомуникации. понимаешь, например, когда бизнес спускает мне спеку, которая кривая. я иду к руководителю фронтэнд разработки и мы с ним обсуждаем как нам удобно с ней работать. а потом вместе идем к бизнесу и говорим, что мы бы поправили спеку вот так и так. что в итоге для вас для бизнеса даст плюс в ускорение разработки и написание документации, что в конвертации на реальные деньги составляет такую-то сумму
Dmitriy
и как ни удивительно бизнес понимает такие аргументы
🏁Александр
ну я же и говорю "хвост виляет собакой"
Analoliy
Господа, как можно залогировать тело HTTP-запроса к серверу? Особенно если endpoint'ов много, не хочется во все лепить транслятор из byte[] в строки
🏁Александр
роутер какой?
Dmitriy
ну я же и говорю "хвост виляет собакой"
если ты себя видишь хвостом, то боюсь я не смогу объяснить ( менеджер, который тебе спустил спеку - это тоже хвост. тот кто является бизнесом далет от IT в целом и спек в частности, у него другие задачи. лан, все таки предлагаю закончить эту священную войну)
🏁Александр
🏁Александр
net/http
это не роутер, или вы вручную парсите?
🏁Александр
вообщем
🏁Александр
вам надо сделать handler func и в ней дописать необходимый функционал
🏁Александр
и вызват дальше уже непосредственно "правильный" callback
Analoliy
Хэндлеры-то есть, просто не хочется везде дублировать код
David
День добрый, коллеги. Подскажите, пожалуйста, как вы работаете с dependency management’ом в golang’е? Прекрасно знаю, что есть dep и все счастливы, но с ним есть у меня проблемы: необходимо держать проект в пути с $GOPATH (или быть по symlink в директории), vscode не может увидеть подключеные пакеты из vendor’а. Есть какое решение этого?
🏁Александр
🏁Александр
ваш случай
🏁Александр
ознакомтесь
Pavel
Хэндлеры-то есть, просто не хочется везде дублировать код
Сделай-те хендлер, который принимает аргументом хендлер и в нем, перед или после вызова дочернего хендлера — логгируйте
David
с какого он не может увидеть ?
Смотрит только в $GOROOT и в $GOPATH. Искал решение - не нашел, советуют godoc ставить 🤔
David
с какого он не может увидеть ?
Может я не то делаю? Исходники вот: https://github.com/enfipy/goodev
🏁Александр
проблема то думаю в IDE
🏁Александр
а не в коде
🏁Александр
вы имеете введу что она не видит локальный vendor?
David
вы имеете введу что она не видит локальный vendor?
Да. VSCode правда всего текстовый редактор… Папка vendor есть и работает в докере на ура, а разрабатывать очень неудобно, нужно глобально пакеты ставить
🏁Александр
ну переходите на взрослый редактор
🏁Александр
GoLand
Olzhas
GoLand
дорого богато
Daniel
у меня vscode прекрасно видит вендор
Foxcool
Так оно у вас обязательное же?
я вот так же объяснял
Foxcool
там пробелма в том, что в требованиях зачем-то ставят выводить пустые поля. Сначала я тоже тупил и делал там записываение пустых слайсов и прочее. Сейчас объявление вспех обязательных по факту полей реквайрд делает вывод пустых полей. КОроче, если не пытаться делать из сваггера корч, а нормально юзать, получается все ок. Но я его не переубежу уже. Он там взял сваггер этот, распилил его и кишки в свой велосипед поместил. И там не юзается толков валидвация сваггера, а руками все проверяется. КОроче, учень сложно. Мне тупому не понятно (:
David
у меня vscode прекрасно видит вендор
Не будет в тягость скинуть settings.json?
Foxcool
я предпочтию юзать как задумали авторы. Все указал в спеке. Вся валидвация там. Кастомизировал только выводы ошибкок и прочие мидлваре, а дальше бизнес логику пишешь. И сваггер сделал меня счастливым. Вчера джун у нас удивил тимлида. Типа раньше тупил долго ехал. Сейчас результат прям как я пулей выдает, где простые вещи типа КРУД без сложной логики. Я ему дал свой пример сервиса апи и объяснл как делать результат не умничая и стараясь не уходить от дефолта. Тимлид доволен
🏁Александр
хехе, вот вам еще байки из склепа
🏁Александр
нельзя использовать . в параметрах ENV для viper. А по умолчанию там вид (конфиг в таком формате): db.host
Foxcool
ну я ппц доволен. Сам стал эффективнее + еще и других могу немного улучшить
Foxcool
нельзя использовать . в параметрах ENV для viper. А по умолчанию там вид (конфиг в таком формате): db.host
ну это опять е проблемы изъебистого проектирования. И это же легко повераши автозаменой . на _
Foxcool
вайпер все умеет
🏁Александр
ну так я не говорю опять же что "проблема не решаема"
Foxcool
т.е. боль кастомизации под упоротые требования вроде пройдена. Теперь трахаемся в основном с бизнес-логикой
🏁Александр
я даже знаю как решить, но просто вот так вот
Foxcool
ну дак хочешь по дефолту чтобы было быстро и легко - старайся и проектировать без выебона
Foxcool
и стараться это доносить до проектировщика, если отдельный человек, как у нас, это делает
Foxcool
есть хакерский принцип KISS
Foxcool
он старее моих подгузников
Foxcool
или тогда не было их еще в 90-м в совке
Foxcool
:D
Foxcool
че еще у нас круто: с Иваном можно что-то переиграть и договориться. Я обычно манагеров и всех выше себя ненавижу, а он офигенный. ПОтому можно показать объяснить чето и переиграть
🏁Александр
эй, ну в канале тут подробности нафиг не нужны 🙂
Foxcool
ну я плохого вроде не сказал ничего
Foxcool
ок