@gogolang

Страница 494 из 1630
Мерлин
05.09.2017
14:25:52
Структура адаптер?
Структуру вида type User struct { Id int64 json:",omitempty" Email string sql:"index" CreatedAt *time.Time json:",omitempty"" DeletedAt *time.Time json:",omitempty" Phone *string json:",omitempty" }

Давид
05.09.2017
14:27:58
Да, у меня сейчас основная структуру именно такая и, видимо, добавлять еще одну схожую, но для json мне не нужно Но думаю в будущем я сделаю несколько структур для разных вижов запросов, посмотрим

А еще момент: Где можно посмотреть хороший пример web проекта, в котором испольуется MVC, но без библиотек? Я сейчас начал делать слой моделей, но не понимаю: создавать ли мне экзмепляр структуры внутри функций типа GetUser и return его, или возвращать pointer на этот эксземпляр или вообще в саму функцию передать pointer на экземпляр предварительно созданный в контроллере

Кстати, есть предложение: я достаточно проженный front-end программист (особенно много работал с React и Redux) Если здесь есть хороший Go программист секущий в backend и готовый ответить на некоторые мои вопросы взамен на информацию по front-end прошу в ЛС)

Google
Давид
05.09.2017
14:36:38
Или человек, который готов помочь новичку) Впервые разрабатываю backend на GO для общения arduino девайсов и многое для меня непонятно

Илья
05.09.2017
14:52:03
Нашел ответ: https://github.com/mailru/easyjson/issues/141#issuecomment-327190594
ну вообще ты странное сделал, мжоно убрать там sql.NullString и pq.NullTime и принимать просто *time.Time и *string

тк в случае указателя, у тебя уже решен кейс с nil вместо значения. в sql делают сруктуру, тк она копируется и остается на стеке, а ссылка убежит в хип

Илья
05.09.2017
14:55:45
если хочешь, чтобы работало omitempty, то да

А все string имеет смысл переписать в *string?
нет, только те, которые могут из базы в nil приходить :)

ну, или сделать структуру https://gist.github.com/sexyhamster/ea0b77308c7df38cd7230baaa2dfa51f

Vasily Romanov
05.09.2017
15:12:01
issue можно закрывать или объяснить почему такое поведение получается ?

я погляжу ещё как доберусь что там с TextMarshaler у этих структур

Давид
05.09.2017
15:18:39
issue можно закрывать или объяснить почему такое поведение получается ?
Было бы замечательно еще раз получить объяснение данного поведения

Кстати, нашел немного информации про выбор получения \ возврата pointer в функциях: Основа: https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/02.3.html Extended: https://github.com/golang/go/wiki/CodeReviewComments#receiver-type

Google
Vasily Romanov
05.09.2017
15:20:50
DeletedAt pq.NullTime `json:",omitempty" db:"deleted_at"`' это структура, у неё есть моле Valid и Time ( условно ) но сериализатор ничего не знает про то, как проеделить что эта структура Empty

Там у нас есть пачка стандартных типов в opt

у которых определён метод IsEmpty

Илья
05.09.2017
15:21:32
*IsDefined

:P

Vasily Romanov
05.09.2017
15:21:39
А для этой структуры не понятно как считать что она пустая - полей-то несколько

сорян, IsDesined

поэтому и сериализуется оно как "deleted_at": { "time": "0001-01-01T00:00:00Z" }

Илья
05.09.2017
15:22:47
для time.Time тогда тоже wrapper сделать

Давид
05.09.2017
15:24:41
Так, хорошо, а что тогда лучше выбрать для поля с типом 'timestamp with time zone', но которое может быть Null: *time.Time или *pq.NullTime ?

Vasily Romanov
05.09.2017
15:25:57
у меня мало опыта с простгресом, не могу дать хороший совет по его типам данных

Давид
05.09.2017
15:27:23
Ну, например deleted_at

Пока я не удалил сущность, она должна быть пустой

Правильно же?

Или лучше как-то по-другому вписывать?

Vasily Romanov
05.09.2017
15:28:32
deleted_at - timestamp внутри ?

Google
Давид
05.09.2017
15:28:57
Внутри User struct

Илья
05.09.2017
15:28:59
не понимаю, о чем вы, куда удалять? чтобы всё было ок, то можно аналогично NullString сделать wrapper вокруг NullTime

ну и ++ из моего опыта работы с time.Time в базе, переход на UTC timestamp, лучшее решение :)

Давид
05.09.2017
15:30:47
Вариант) Ладно, в любом случае благодарю, буду продолжать пробовать

Vasily Romanov
05.09.2017
15:31:29
обращайся :)

если что - пиши, я в октебре где-то доберусть до разборов всех задач по easyjson

Мерлин
05.09.2017
16:43:10
https://twitter.com/umputun/status/904833509109501952

Ivan
05.09.2017
16:56:03
NPE, чего тут удивительного ;)

Mush
05.09.2017
17:19:33
кто-то находил/писал мок для редиса?

для стандартного который просто redis.v5 например

Vasily Romanov
05.09.2017
17:38:56
https://github.com/golang/mock

vktr
05.09.2017
21:15:36
george.vanburgh.pdf

Довольно конкретно расписано про реализацию брокера в go, правда производительность на прядок меньше kafka

Вопрос: почему никто не двигает брокера на go типа кафки и завязанного на Konsul? Поидее, можно ж с Scala побороться, ибо язык позволяет

Evgeny
05.09.2017
21:19:27
вероятно печальный опыт использования nsqd (http://nsq.io)

Slava
05.09.2017
21:23:03
есть же кафка =)

Admin
ERROR: S client not available

vktr
05.09.2017
21:30:17
есть же кафка =)
Вот мне тоже грустно, ибо Кафка то тащит. Но она ведь не на go ??

Давид
05.09.2017
21:40:56
https://habrahabr.ru/post/326880/

Google
Давид
05.09.2017
21:41:13
Они нашли для себя сервис на Go http://nats.io/about/

vktr
05.09.2017
22:17:25
https://habrahabr.ru/post/326880/
Пасибки. Читаю

Ynleynah
06.09.2017
02:54:22
Нашел кое что, вроде годнота, может кому полезно будет тоже

t.me/moneymafia — канал с различными схемами и мануалы для заработка на любой вкус и цвет, а также бесплатные сливы приватных материалы с закрытых форумов.

Roman ?
06.09.2017
06:12:22
/spam

Irek
06.09.2017
06:13:59
/report

xPushkin
06.09.2017
06:17:42
/spam

Dmitry
06.09.2017
08:59:36
Здравствуйте, товарищи. Нужна небольшая консультация по го -- помочь разобраться с инструментами, запустить пример. За разумный рейт. Может ли мне здесь кто-нибудь помочь? Если да, пишите в личку, пожалуйста. Если такие сообщения здесь писать не принято, прошу прощения -- подскажите, где принято. Спасибо!

Dmitry
06.09.2017
09:00:29
я хочу запустить вот эту штуку: https://github.com/libp2p/go-libp2p/blob/master/examples/echo/main.go

копирую, вставляю. делаю go get. запускаю

c.smuxConn.Serve undefined (type streammux.Conn has no field or method Serve)

зависимости обновились, обратной совместимости нет

Ilya
06.09.2017
09:01:20
и?

Ivan
06.09.2017
09:01:48
добро пожаловать

Dmitry
06.09.2017
09:01:53
привет ?

Ivan
06.09.2017
09:01:53
"вендоринг не нужен"

Dmitry
06.09.2017
09:02:48
я из другой экосистемы, и тут плаваю. я понимаю, как зафиксировать версии в npm или в maven. а тут что делать? какие есть подходы? как добиться воспроизводимости сборки?

Mush
06.09.2017
09:03:13
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
06.09.2017
09:03:19
как получить нужную версию зависимости из форка, если она транзитивная и указана через ссылку на гитхаб?

Google
Mush
06.09.2017
09:03:48
там можно указать номер коммита

Dmitry
06.09.2017
09:04:24
вообще мне кажется, что идея за меня всё резолвит каким-то образом

Mush
06.09.2017
09:04:27
но часто либы делают разные версии и по сути это разные репы получаются. например. redis.v5, redis.v6

Dmitry
06.09.2017
09:05:01
ща загуглю glide

Страница 494 из 1630