dev_sheep
Блин, Николай (надеюсь, правильно). Я блин придумал аналогию пустому интерфейсу пустому - это Object из Java... Почти
Aleksandr
это из-за того, что ебанаты не читают спецификацию JSON и клепают свои апи на отъебись map[string]interface{} должен помочь
что за спецификация json, не позволяющая держать разнородные данные в массиве?
Aleksandr
здравый смысл 😁
это не спека увы. а для себя как хотят так и делают
dev_sheep
это не спека увы. а для себя как хотят так и делают
ну просто, как видите, парсить такую дрянь не очень удобно. Возможно, они это понимают
dev_sheep
Кстати, ребят. Если все-таки такой конченный массив попадается, то если делать все по-хорошему, через интерфейсы, единственный вариант все получать через type?
dev_sheep
или есть что-то удобнее
engelbart
парсить нетипизированое в типизированый язык есмь боль
engelbart
но господь наш терпел и нам повелел
dev_sheep
:D я понял, лучше закостылю и уберу циферку :DD
dev_sheep
надеюсь, что больше такого ужаса не встречу, ибо просто обожаю эти го-структуры в виде жсончика
dev_sheep
точнее жсончик в виде структур
dev_sheep
это просто нереально доставляет
dev_sheep
(после Java, конечно :D Я все оттуда смотрю. Там мои полотнища кода превратились в теперешние 80 строк)
dev_sheep
Правда это если на стандартной либе. Хотя я попрошу, здесь тоже все на стандартной либе
Aleksandr
Кто может отзыв по веб фреймворкам оставить?
Aleksandr
что будет, есть в тренде
Aleksandr
webframework
Мерль
webframework
Я имею в виду, что от него нужно?
Мерль
Веб фреймворк - понятие растяжимое
Aleksandr
migrations, routing, sessions, mvc, loggers
Aleksandr
вроде такой набор у всех фреймворков
Мерль
migrations, routing, sessions, mvc, loggers
Значит комбайн Посмотри в сторону buffalo
Aleksandr
Я слышал три основных beego,buffalo,grizly
Aleksandr
вы с ними со всеми работали?
Мерль
Но не плотно
Alexey
Я тоже этой темой интересуюсь. Большое всего звездочек(10k) на гитхабе у beego. Еще я присматриваюсь к go-json-rest (2.8k). https://github.com/ant0ine/go-json-rest Как я понимаю это что-то типа Sinatra из Ruby, если искать аналоги... Т.е. очень простой скелетон с роутером и Json, к которому уже по желанию надо прикручивать модули. В реадми описано как прикрутить на этотот скелетон JWT, для сессий, ORM. А это уже 90% задач закроет :) Плюс подхода, что приложение можно распилить на отдельные апишки, и деплоить их отдельно, это будет не монолит. Штука типа beego все таки больше сконяет к тому, чтобы писать монилит. Что наверное не go way...
Мерль
Из них можно собрать что угодно, в принципе
Anonymous
Кто-нибудь гориллу использует?
Мерль
go-cleanarch/README.md at master · roblaszczak/go-cleanarch https://github.com/roblaszczak/go-cleanarch/blob/master/README.md
Мерль
Anonymous
Как строите структуру проекта бинарник и рядом папка с html/js/css файлами от шаблона располагаются?
Slava
что ты имеешь ввиду под бинарником?
Slava
исполняемый пакет или реальный бинарный файл?
Kirill
Как строите структуру проекта бинарник и рядом папка с html/js/css файлами от шаблона располагаются?
В зависимости от требований. Можно встроить, а можно рядом положить.
Anonymous
В зависимости от требований. Можно встроить, а можно рядом положить.
А какой утилитой встраиваешь? Там же из коробки нельзя запихивать html/js файлы
Мерль
А какой утилитой встраиваешь? Там же из коробки нельзя запихивать html/js файлы
Я вот эту пользовал пару раз https://github.com/shurcooL/vfsgen/blob/master/README.md
Мерль
Был ещё rice, но он сдох
Anonymous
Привет! Направление разработки индустриального интернета вещей ищет разработчиков Rust\Go. Работа в офисе на м. Павелецкая. Для опытных разработчиков з/п 200+ т.р. Технические скилы: • Отличные знания TCP/IP стека • Отличные знания Go или Rust • Опыт работы с high load системами Будет огромным плюсом: • Опыт построение приложений, которые держат сотни тысяч постоянных коннектов • Опыт разработки стораджей или баз данных • Понимание CAP • Живые проекты на github #вакансия #москва #backend #go #rust
Alexey
Привет, Алёна. :D
Anton
где-то я уже это видел)))))
Anonymous
Всем привет
Anonymous
Есть следующий код: ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.Method != get { t.Errorf("Invalid method %s", r.Method) } if r.URL.Path != "/projects/"+string(pid)+".json" { t.Errorf("Invalid resource path %s", r.URL.Path) } if r.URL.Query().Get("include") != "trackers" { t.Error("Missed include query param") } w.Write(readTestFile(t, projectFile)) }))
Anonymous
Вопрос: откуда сетится request?
Anonymous
Мне нужно покрыть тестами одну штуку, которая "ходит" по сети. Не совем понятно, кто и когда засетит значения в r * Request
Mike
ааааа
Mike
выдели код плиз
Mike
`
Mike
три бэктика в начале, три в конце
Mike
ну это на будущее
Mike
вообще вот: https://elithrar.github.io/article/testing-http-handlers-go/
Mike
развлекайся
Anonymous
Паралельно читаю эту статью
Anonymous
Спасибо
Anonymous
Я давно с го не работал,а нужно знакомому помочь
Anonymous
Вот,вспомниаю
Anonymous
Почитал я статейки. Но все же мне нужнен ( по некоторым причинам) именно такой вариант ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.Method != get { t.Errorf("Invalid method %s", r.Method) } if r.URL.Path != "/projects/"+string(pid)+".json" { t.Errorf("Invalid resource path %s", r.URL.Path) } if r.URL.Query().Get("include") != "trackers" { t.Error("Missed include query param") } w.Write(readTestFile(t, projectFile)) })) Не подскажите, откуда вообще сетится r?
Илья
r - это запрос, который вы отправляете на сервер
Илья
https://golang.org/pkg/net/http/httptest/#Server
Илья
res, err := http.Get(ts.URL) - тут отправляется get запрос, который будет обработан вашим http.HandlerFunc(
Anonymous
Сударь, увы, внутри моего теста НИГДЕ не вызыается http.Get, что и повергло меня в замешательство
Mike
так потому что у тебя создается сервер
Mike
из твоего кода
Mike
и тесты на него
Mike
а теперь надо руками отправить на него запрос
Mike
потому что тесты у него только после запросов
Mike
у тебя же видишь ему коллбэк передается, че делать
Mike
ты увеен, что тебе сейчас про го стоит вспоминать, а не про то, как http вообще работает?
Anonymous
Уважаемый
Mike
у тебя в коде написано буквально "сделай мне тестовый сервер из вот такого обработчика запросов и назови его ts", все
Anonymous
Чудесно, спасибо, что обьяснил
Anonymous
Я-таки нашел место, откуда это все, возможно, вызывается.
Илья
если в этом месте не фигурирует ts.URL, то работа не будет гарантирована :)