Size: a a a

2020 May 19

RS

Roman Sharkov in Go-go!
Ilya Shikhaleev
Это уже детали реализации. Не важно, важны зависимости уровня сохранения в базу и уровня модели
struct?
источник

AR

Aleksandr Razumov in Go-go!
особенно это смешно, когда почитаешь код NewRequestWithContext
источник

AR

Aleksandr Razumov in Go-go!
И там внутри
switch v := body.(type)
case *bytes.Reader:
case *strings.Reader:
case *bytes.Buffer:

И т.д.
источник

AR

Aleksandr Razumov in Go-go!
Го это не тот язык
источник

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
И там внутри
switch v := body.(type)
case *bytes.Reader:
case *strings.Reader:
case *bytes.Buffer:

И т.д.
ну вот так в Go делать не надо. Это динамика, у нас всё-таки статический язык
источник

AK

Anton Kucherov in Go-go!
а кто это
а как должен выглядеть код на Go в стиле Go?
На этот вопрос у меня нет ответа. Что-то среднее между теми парадигмами которые он поддерживает.
источник

AR

Aleksandr Razumov in Go-go!
Roman Sharkov
ну вот так в Go делать не надо. Это динамика, у нас всё-таки статический язык
Можно сходить в "net/http" и CL предложить, как надо
источник

IS

Ilya Shikhaleev in Go-go!
Мы уже спорили с Антоном на эту тему, если идти в json, даже аннотации в модели не пуристичны, но не к этому веду :) пусть есть база Postgres или MySQL . Как сохранить данные в таблицу? Их же надо получить как то
источник

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
Можно сходить в "net/http" и CL предложить, как надо
Не можно, потому-что обратная совместимость.
источник

IS

Ilya Shikhaleev in Go-go!
И вот тут два варианта - либо структура с экспортируемыми полями
источник

AR

Aleksandr Razumov in Go-go!
Язык не предоставляет идеальных абстракций, тут прагматизм во все поля
источник

RS

Roman Sharkov in Go-go!
Ilya Shikhaleev
Мы уже спорили с Антоном на эту тему, если идти в json, даже аннотации в модели не пуристичны, но не к этому веду :) пусть есть база Postgres или MySQL . Как сохранить данные в таблицу? Их же надо получить как то
есть struct описывающий модель некой сущности.. из неё берём и пишем. Problem solved.
источник

IS

Ilya Shikhaleev in Go-go!
А, кстати, я не про правильный вариант :) я про как вы делаете :) правильного нет :)
источник

AR

Aleksandr Razumov in Go-go!
Ilya Shikhaleev
Мы уже спорили с Антоном на эту тему, если идти в json, даже аннотации в модели не пуристичны, но не к этому веду :) пусть есть база Postgres или MySQL . Как сохранить данные в таблицу? Их же надо получить как то
Ну смотри, у нас есть три слоя: json, бизнес логика и работа с базой данных
На каждом слое своя структура :)
источник

IS

Ilya Shikhaleev in Go-go!
Roman Sharkov
есть struct описывающий модель некой сущности.. из неё берём и пишем. Problem solved.
У этого варианта проблема с полями - вы можете нарушить инварианты агрегата путём изменения полей снаружи и нет гарантии что программист так не сделает
источник

AR

Aleksandr Razumov in Go-go!
Еще есть ent с кодогенерацией
источник

IS

Ilya Shikhaleev in Go-go!
Мы же хотим через архитектуру не да ь программисте ошибаться :)
источник

AR

Aleksandr Razumov in Go-go!
Ilya Shikhaleev
Мы же хотим через архитектуру не да ь программисте ошибаться :)
На го это невозможно
источник

AK

Anton Kucherov in Go-go!
Ilya Shikhaleev
Мы уже спорили с Антоном на эту тему, если идти в json, даже аннотации в модели не пуристичны, но не к этому веду :) пусть есть база Postgres или MySQL . Как сохранить данные в таблицу? Их же надо получить как то
Да фигачишь просто SQL запрос на 300 строк и туда суешь все переменные через Sprintf. Обычно я такой подход вижу в большинстве случаев. Кто-то экранирует используя sql пакет, но один фиг. 😂
источник

RS

Roman Sharkov in Go-go!
Ilya Shikhaleev
А, кстати, я не про правильный вариант :) я про как вы делаете :) правильного нет :)
Понятие “правильно” - существует, и определяется оно консенсусом сообщества.
источник