Vasily
Там у нас есть пачка стандартных типов в opt
Vasily
у которых определён метод IsEmpty
Илья
*IsDefined
Илья
:P
Vasily
А для этой структуры не понятно как считать что она пустая - полей-то несколько
Vasily
сорян, IsDesined
Vasily
поэтому и сериализуется оно как
"deleted_at": {
"time": "0001-01-01T00:00:00Z"
}
Илья
для time.Time тогда тоже wrapper сделать
Давид
Так, хорошо, а что тогда лучше выбрать для поля с типом 'timestamp with time zone', но которое может быть Null: *time.Time или *pq.NullTime ?
Vasily
у меня мало опыта с простгресом, не могу дать хороший совет по его типам данных
Илья
Илья
ой
Илья
вижу
Илья
сорри
Давид
Ну, например deleted_at
Давид
Пока я не удалил сущность, она должна быть пустой
Давид
Правильно же?
Давид
Или лучше как-то по-другому вписывать?
Vasily
deleted_at - timestamp внутри ?
Давид
Внутри User struct
Илья
не понимаю, о чем вы, куда удалять? чтобы всё было ок, то можно аналогично NullString сделать wrapper вокруг NullTime
Илья
ну и ++ из моего опыта работы с time.Time в базе, переход на UTC timestamp, лучшее решение :)
Давид
Вариант) Ладно, в любом случае благодарю, буду продолжать пробовать
Vasily
обращайся :)
Vasily
если что - пиши, я в октебре где-то доберусть до разборов всех задач по easyjson
Давид
Мерль
https://twitter.com/umputun/status/904833509109501952
Ivan
NPE, чего тут удивительного ;)
Anonymous
кто-то находил/писал мок для редиса?
Anonymous
для стандартного который просто redis.v5 например
Vasily
https://github.com/golang/mock
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
george.vanburgh.pdf
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Довольно конкретно расписано про реализацию брокера в go, правда производительность на прядок меньше kafka
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Вопрос: почему никто не двигает брокера на go типа кафки и завязанного на Konsul? Поидее, можно ж с Scala побороться, ибо язык позволяет
Das Rote Pferd
вероятно печальный опыт использования nsqd (http://nsq.io)
Slava
есть же кафка =)
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
есть же кафка =)
Вот мне тоже грустно, ибо Кафка то тащит. Но она ведь не на go 😁😂
Давид
https://habrahabr.ru/post/326880/
Давид
Они нашли для себя сервис на Go
http://nats.io/about/
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Dmitry
Здравствуйте, товарищи.
Нужна небольшая консультация по го -- помочь разобраться с инструментами, запустить пример. За разумный рейт.
Может ли мне здесь кто-нибудь помочь?
Если да, пишите в личку, пожалуйста.
Если такие сообщения здесь писать не принято, прошу прощения -- подскажите, где принято.
Спасибо!
Anonymous
Dmitry
я хочу запустить вот эту штуку: https://github.com/libp2p/go-libp2p/blob/master/examples/echo/main.go
Dmitry
копирую, вставляю. делаю go get. запускаю
Dmitry
c.smuxConn.Serve undefined (type streammux.Conn has no field or method Serve)
Dmitry
зависимости обновились, обратной совместимости нет
Ilya
и?
engelbart
добро пожаловать
Dmitry
привет 🙂
engelbart
"вендоринг не нужен"
Dmitry
я из другой экосистемы, и тут плаваю. я понимаю, как зафиксировать версии в npm или в maven. а тут что делать? какие есть подходы? как добиться воспроизводимости сборки?
Anonymous
golog "github.com/ipfs/go-log"
crypto "github.com/libp2p/go-libp2p-crypto"
host "github.com/libp2p/go-libp2p-host"
net "github.com/libp2p/go-libp2p-net"
peer "github.com/libp2p/go-libp2p-peer"
pstore "github.com/libp2p/go-libp2p-peerstore"
swarm "github.com/libp2p/go-libp2p-swarm"
bhost "github.com/libp2p/go-libp2p/p2p/host/basic"
ma "github.com/multiformats/go-multiaddr"
gologging "github.com/whyrusleeping/go-logging"
msmux "github.com/whyrusleeping/go-smux-multistream"
yamux "github.com/whyrusleeping/go-smux-yamux”
вот это все как ты выкачал?
Dmitry
как получить нужную версию зависимости из форка, если она транзитивная и указана через ссылку на гитхаб?
Anonymous
Anonymous
там можно указать номер коммита
Dmitry
вообще мне кажется, что идея за меня всё резолвит каким-то образом
Anonymous
но часто либы делают разные версии и по сути это разные репы получаются. например. redis.v5, redis.v6
Dmitry
ща загуглю glide
Diasko
Dmitry
я слышал про glide, dep, gx
Daniel
правильно использовать dep
Dmitry
нужно из куска кода сделать описание зависимостей
Diasko
Daniel
но, если современная зависимость поломала совместимость, и правильная версия неизвестна - найти ее можно только вручную
Daniel
я бы, правда, советовал поправить код, чтобы восстановить совместимость с актуальной версией
Dmitry
а в чём вы код пишете? как идею настраиваете?
Dmitry
такое ощущение, что нужно другие пакеты запрашивать, а не коммиты отыскивать. потому что проблемы -- в транзитивных зависимостях
Daniel
что такое "другие пакеты"?
Dmitry
тот же пакет по сути, но другой репозиторий. ощущение, что развитие зависимостей (каких-то) идёт в форках
Dmitry
поэтому и нет совместимости
Dmitry
но это, блин, ощущение
Ilya
http://labix.org/gopkg.in можно велосипедить как тут
Dmitry
а как правильно проект регистрировать в gopath? должно быть ~/go/:~/myGoProject/? и для каждого проекта менять gopath?
Ilya
а вообще я так понимаю нормально - что скачал то и коммить в свой гит проекта. ибо нех
Daniel
правильно - пооложить его в $GOPATH/src/
Dmitry
Daniel
в каталог vendor
Mike
Mike
мне больше чем гогланд зашел