Chebyrash
Gabs пакет
Anonymous
Вариант 2 - в каждой функции делать проверки на заполненность полей.
John
привет всем, может кто qor юзал, насколько геморно отключить авторизационный claims который по дефолту с пакетом идет и использовать свой кастомный?
Valentin
Daniel
не верю, что это будет лучше идеи
это уже, как минимум, не хуже
Anton
https://golang.org/pkg/encoding/json/#Unmarshal
Так, и что тут нужно увидеть?
Daniel
это уже, как минимум, не хуже
не этот конкретный продукт, а разные другие, js+html based
nikita
Так, и что тут нужно увидеть?
http://choly.ca/post/go-json-marshalling/ вот, с примером
Ivan
Доброе утро! Подскажите, пожалуйста, как можно решить такую проблему: есть некая структура, в которую распаршивается json из запроса, но в некоторых запросах допустимо, чтобы часть полей не присутствовала, а в части запросов недопустимо.
Ещё пару способов: - сделать разные структуры. Вдруг у вас это разные сущности? - добавить к структуре или в логику обработки запросов методы проверки заполненности структуры и отсылать ошибку, если нет нужных полей
engelbart
А что сейчас актуально для вендоринга? Мне нгужно простенькую утилиту, я буквально хочу руками вендорить одимн два внешних пакета, а всё целиком не хочу
Vladimir
dep
Vladimir
это про "актуально"
Vladimir
но вендорит он все.
engelbart
да я его попробовал, ужаснуло как долго и сколько много
engelbart
а проще? ;)
Alexander
go get ?
Chebyrash
gb-vendor - GoDoc https://godoc.org/github.com/constabulary/gb/cmd/gb-vendor
Vladimir
да я его попробовал, ужаснуло как долго и сколько много
он будет в комплекте идти зато, в отличии от других)
engelbart
go get ?
мм, и просто руками скопировать, так?
Vladimir
да, вендорить стоит или все или ничего
Vladimir
и если ты не вендоришь ничего, то помни что где-то проснулся психопат который знает где ты живешь и уже выехал за тобой
engelbart
Ну что ж так чёрно бело то. Смотрите, у меня скажем пакеты основные большие гугловые и с gopkg с суфиксами .v1 я за них не переживаю
engelbart
А вот ряд пакетов пишут парни в соседнем отделе, и меняют 10 раз на дню. их я хочу завендорить
Alexander
мм, и просто руками скопировать, так?
руками копировать не надо, оно само найдет все зависимости и скачает
engelbart
руками копировать не надо, оно само найдет все зависимости и скачает
Да это то есть. А потом другой проект в рамках go get -u обновит его. и всё
Alexander
Ну так вам попроще или по-нормальному? :)
engelbart
Ну go get то ни то ни другое, просто перпендикулярное. Мне что то типа deb, только без init и интелекта. А чисто руками —add , ensure
engelbart
Понял, спасибо
Dmitry
Подскажите плз, это нормально для каждого объекта писать фабрику? при том, фабрика возвращает не объект, а интерфейс этого объекта
Daniel
Нет
Dmitry
спасибо 😊
Konstantin
вот нормально 😄 с тестового задания с собеседования func CloseConnectionToDB() { defer DB.Close() }
Anonymous
👍вы приняты
Artur
после go tour какую книжку посоветуете прочитать? Желательно на русском +)
Vladimir
Лучше просто идти и писать код
Artur
в таком случае можно делать напрямую не зная о существовании каких-либо фич
Мерль
после go tour какую книжку посоветуете прочитать? Желательно на русском +)
Почти любую, которую найдёшь в документах чатика
Мерль
Мерль
например
Alexey 〒.
после go tour какую книжку посоветуете прочитать? Желательно на русском +)
Начинай писать, если какие-то моменты не понятны, то The Go programming language можешь почитать и/или доку
Ivan
конфиги могут быть сгенерированными и не читаемыми
Вспомнил ещё один минус json как конфига - в нём не предусмотрены комментарии. Т.е. «//» скушаются js-овым eval, но не каждый парсер это позволяет. На SO помню предлагали добавлять ключи типа comment - но это какое-то такое..
Daniel
просто не надо делать конфигов на json, и все
Ivan
Куда направлять заявки на добавление эмоджиков? Очень нужен эмоджи «костыль» =)))
Vladimir
Каждый раз когда вы делаете конфиги на json - где-то умирает котенок
Vladimir
не нравится ямл? бери томл. Не нравится томл? бери ямл
Vladimir
Vladimir
делай это все флагами или env variable'ами )
Andrew
страдай
мне кажется я буду больше с ними страдать) но вообще спасибо за совет
Vladimir
впрочем для тех кто делает так без альтернативно, есть отдельное место в аду
Vladimir
библиотеки парсинга есть под любой адекватный язык
Мерль
Слушайте, кто не пробовал gobuffalo - обязательно попробуйте
Мерль
штука прям огонь
Мерль
Мощнее "Фауста"
Daniel
а на чем тогда делать конфиги?
я лично пришел к неприятному выводу - хорошего формата для конфигов нет. наиболее прост в обвязке (проверка параметров на валидность, проверка связей между параметрами etc) - ini файл. yaml/toml норм, но возможности указать строку, которая не прошла валидацию, нет
Мерль
по описанию он прям толстый очень
Очень толстый Очень много магии Но приятно, как ни странно
Daniel
поэтому я все, что могу, передаю через флаги, а что не могу (имена-пароли) - простейшим файлом
Daniel
от парсера же зависит, но гошные вроде не умеют, да
принципиально не умеют - эту инфу негде спрятать
Daniel
а где ты ее спрячешь? или анмаршалиться в кастомные типы? и сойти с ума?
Мерль
Или как?
Daniel
ну вот когда мне реально нужен конфиг, и конфиг сложный - я пишу, фактически, свой парсер, да :(
engelbart
xml ещё