Size: a a a

2020 July 18

с

сонная википедия... in Go-go!
Evgeniy_S
Ребят а есть что-то интересное для sql?
squirrel?
источник

JP

Joe Pesci in Go-go!
Evgeniy_S
Ребят а есть что-то интересное для sql?
postgre
источник

E

Evgeniy_S in Go-go!
источник

p

pragus in Go-go!
yelsh
какое-то странное пожелание для языка со статичной типизацией
Падажжи! Вот у тебя структура в которой 1е поле описывает как интерпретировать остальные части. И без юнионов нам надо unsafe
источник

с

сонная википедия... in Go-go!
pragus
Падажжи! Вот у тебя структура в которой 1е поле описывает как интерпретировать остальные части. И без юнионов нам надо unsafe
или интерфейс, что дорого, но более безопасно
источник

p

pragus in Go-go!
сонная википедия
или интерфейс, что дорого, но более безопасно
Чо интерфейс?
источник

с

сонная википедия... in Go-go!
pragus
Чо интерфейс?
можно использовать интерфейс как поле с разными underlying типами
источник

p

pragus in Go-go!
сонная википедия
можно использовать интерфейс как поле с разными underlying типами
Не будет оно работать или я что-то не понимаю
источник

ЕО

Евгений Омельченко... in Go-go!
сонная википедия
или интерфейс, что дорого, но более безопасно
@pragus  хочет иметь разные типы с одинаковым представлением в памяти, насколько я помню.
источник

ЕО

Евгений Омельченко... in Go-go!
Вообще безопасно такое не сделать
источник

p

pragus in Go-go!
Евгений Омельченко
@pragus  хочет иметь разные типы с одинаковым представлением в памяти, насколько я помню.
Угу. Ровно то, для чего union и нужен :)
источник

ЕО

Евгений Омельченко... in Go-go!
Такое в любом случае будет за ансейф. По той причине, что любой ссылочный тип в юнионе с массивом байт даст возможность адресную арифметику использовать.

Безопасно можно разрешить юнион только интов разного размера, их массивов (но не слайсов), а также структур, содержащих только вышеназванные типы (и такие же структуры).
источник

y

yelsh in Go-go!
Daniel Podolsky
коллега, просто возьмите спеку openapi, и сгенерируйте код по ней. и будет вам счастие.

а вот это вот все - не надо, это путь в ад
Спасибо за совет, посмотрел я на go-swagger, и мне оно показалось странным. Для того, чтобы прикрутить обработчики со стандартной сигнатурой http.Handler, придется добавлять дополнительный костыль в виде wrapper’а, для экспоуза http.ResponseWriter и http.Request. Имена генерируемых методов ужасно длинные. Плюс, тоже нужно погеморроиться с go-swagger, чтобы прикрутить другой раутер для сложных правил (например, у меня go-chi). Чет как-то много проблем для решения одной задачи - валидации аргументов REST методов…

или я куда-то не туда посмотрел?
источник

y

yelsh in Go-go!
у меня просто родился вопрос: при вышеупомянутых минусах, неужели go-swagger действительно себя окупает? может я просто странный человек?
источник

АС

Артур Саляхов... in Go-go!
Мы его используем только в качестве аннотаций для генерации документации
источник

DP

Daniel Podolsky in Go-go!
yelsh
у меня просто родился вопрос: при вышеупомянутых минусах, неужели go-swagger действительно себя окупает? может я просто странный человек?
Конечно, окупает

Он реализует openapi 2 целиком, и сложные роуты прикручивать не требуется (и даже вредно, это будут роуты не по спеке)

Хендлеры у него своего формата, но это же хорошо - сложнее прочесть и вернуть херню

В общем - надо просто с другой стороны заходить, с написания спеки
источник

ЛА

Локоть Анатолий... in Go-go!
Артур Саляхов
Мы его используем только в качестве аннотаций для генерации документации
Как вы контролируете что документация соответствует коду?
источник

D

Denis in Go-go!
Daniel Podolsky
Конечно, окупает

Он реализует openapi 2 целиком, и сложные роуты прикручивать не требуется (и даже вредно, это будут роуты не по спеке)

Хендлеры у него своего формата, но это же хорошо - сложнее прочесть и вернуть херню

В общем - надо просто с другой стороны заходить, с написания спеки
Пишем proto с http аннотациями => генерим swagger из proto => генерим http сервер из swagger
Сразу grpc-gateway не предлагать))
источник

ЕО

Евгений Омельченко... in Go-go!
Denis
Пишем proto с http аннотациями => генерим swagger из proto => генерим http сервер из swagger
Сразу grpc-gateway не предлагать))
Envoy есть
источник

p

pragus in Go-go!
yelsh
у меня просто родился вопрос: при вышеупомянутых минусах, неужели go-swagger действительно себя окупает? может я просто странный человек?
Руками описать 20-30 методов и потом везде чинить при любой смене формата ответа лучше?
источник