
Александр
17.01.2018
11:17:09
очень странно, что у вас во всех пакетах она имеется

Mykyta
17.01.2018
11:18:20

Demuz
17.01.2018
11:21:14

Google

Александр
17.01.2018
11:22:01
у вас что-то странное в init, видимо есть смысл подумать над архитектурой, и избавиться от init

Mykyta
17.01.2018
11:25:28

Demuz
17.01.2018
11:26:49

Alexander
17.01.2018
11:27:29

Mykyta
17.01.2018
11:27:41

Alexander
17.01.2018
11:28:13
Да и есть redux и многие глобальные единые хранилища состояний

Demuz
17.01.2018
11:28:19
IoC, DI
Даже незнаю что это. Посмотрю. Мне просто нужно хранить статусы, чтобы к ним можно было обращаться с любой точки приложения.
{1: "Статус1", 2: "Статус2" и тд}

Alexander
17.01.2018
11:29:12
если постоянно производить расшифровку - трата вычеслительных мощей
а так храни и везде молучай

Google

Demuz
17.01.2018
11:30:00
А нельзя просто проинициализироваться, заполнить глобальную карту данными и залочить ее для изменений, но разрешить читать с нее данные как бы?

Alexander
17.01.2018
11:30:19

Ivan
17.01.2018
11:30:23
Ищу фронтендера знакомого с GO архитектурой подробности в личку

Demuz
17.01.2018
11:30:41
а зачем лочить?
Ну я незнаю. Вот люди говорят же мол это хреново хранить глобальную карту.

Mykyta
17.01.2018
11:30:44

Alexander
17.01.2018
11:31:25
это ж не значит что надо все бросать и переделывать как все говорят

Mykyta
17.01.2018
11:32:01

Alexander
17.01.2018
11:32:33
+ есть sync.Map

Demuz
17.01.2018
11:33:09
Да люди много чего говорят, у них мб архитектурно все иначе чем у вас
Ну я запрашиваю так у базы: какие на данный момент существуют статусы?(положил в массив);
Какие на данный момент существуют методы оплаты? (положил в массив)
Затем чтобы вызвать статус, просто вызывается ГобалСтатус[1] - всё.
Чтобы вызвать метод оплаты вызывается ГлобалPaymentMethod[2] - типа того. Только для этого использую.

Alexander
17.01.2018
11:33:10

Demuz
17.01.2018
11:33:30

Mykyta
17.01.2018
11:34:00

Demuz
17.01.2018
11:35:06

Alexander
17.01.2018
11:35:13

Demuz
17.01.2018
11:35:51
Просто я не хочу при каждом запросе жоинить в MySQL и переспрашивать методы оплаты.

Alexander
17.01.2018
11:36:27

Google

Demuz
17.01.2018
11:36:29
Я обновлю методы оплаты только тогда, когда это будет нужно. К примеру добавляется метод оплаты в базу. Затем рестартуешь приложение и всё. ?

Alexander
17.01.2018
11:37:00

Demuz
17.01.2018
11:37:13
Что это? редьюкс

Alexander
17.01.2018
11:37:14
но это не из Go
это из JS
https://redux.js.org

Александр
17.01.2018
11:37:52

Demuz
17.01.2018
11:43:13
посмотрите https://golang.org/pkg/sync/#Once
Если честно, не понимаю зачем юзать DO(f) в случае со статусами. Мне проще их в Init() проинициализировать единожды при запуске и все. Ну ладно, в общем я вас понял. Мы же вобще о тестах говорили.
Я немного не понял зачем эти тесты юзаются. Ты ведь сам пишешь и верные и неверные результаты.

Александр
17.01.2018
11:44:56
если вы пишете для себя и работаете с кодом один, пишите как вам удобно и никого не слушайте)

Demuz
17.01.2018
11:47:45

Александр
17.01.2018
11:47:57

Demuz
17.01.2018
11:48:30

Александр
17.01.2018
11:49:22
@palexashkav самозванец! ?

Александр
17.01.2018
11:51:02

Demuz
17.01.2018
11:52:26
Вот, я могу в этой папке хранить тесты?
Тесты для core

Александр
17.01.2018
11:53:24
что-то мне кажется это не правильно

Александр
17.01.2018
11:53:34
если вы хотите протестить функционал именно core, то располагайте его в core, называя _test.go

Google

Александр
17.01.2018
11:53:40
у нас же есть префикс _test.go специально для тестов O_o
или я что-то путаю?

Olzhas
17.01.2018
11:56:57

Александр
17.01.2018
11:57:13
ну окей, суффикс

Demuz
17.01.2018
12:07:03
E:\GoProjects\admin\core>go test
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x59 pc=0x97c9ac]
goroutine 1 [running]:
github.com/go-ini/ini.(*File).GetSection(0x0, 0xb1b021, 0xd, 0x0, 0x0, 0x0)
E:/GoProjects/src/github.com/go-ini/ini/ini.go:290 +0x20c

Admin
ERROR: S client not available

Александр
17.01.2018
12:24:34
а cfg.Load(...) ошибку не возвращал? конфиг загрузился без ошибок?

Александр
17.01.2018
12:30:17
бред какой то, goland ругается на "мультипакедж" хотя там всего 3 файла в папке и все к одному относятся
уже и исключил всех остальных

Kirill
17.01.2018
12:31:55
Звучит также, будто "не дыши"
Инит нужно использовать по назначению
Если инит мешает - ты сам себе злобный Буратино

Mykyta
17.01.2018
12:32:44
а они никогда не нужны
точнее многие думают, что нужны
но нет

Kirill
17.01.2018
12:34:57
Сколько у тебя опыта коммерческой разработки?

Google

plq
17.01.2018
12:36:02

Phil
17.01.2018
12:36:20

Mykyta
17.01.2018
12:36:50

Kirill
17.01.2018
12:37:12
Вот, теперь понятнее. А на go?

Mykyta
17.01.2018
12:38:09

Kirill
17.01.2018
12:38:34
А сколько SLOC за этот год?

plq
17.01.2018
12:43:17
Кто-то считает LOCи за большие периоды? (кто-то их вообще считает?)

Kirill
17.01.2018
12:43:48
Я
У меня счёт давно на миллионы ушёл

plq
17.01.2018
12:44:50
А зачем их считать, собственно?

Kirill
17.01.2018
12:45:42
А потом можно смотреть аномальные отклонения по производительности

plq
17.01.2018
12:46:19
Мерить производительность локами — заведомо плохая идея

Kirill
17.01.2018
12:47:02
У меня это одна из метрик, при чём моих личных
Я никого другого этой меткой не обвешиваю

plq
17.01.2018
12:48:05
Вы кажется, только что спросили у другого человека, сколько у него локов за год, чтобы узнать его "уровень", как это не обвешиваете?

Kirill
17.01.2018
12:48:41
Но если мне об ините затирает человек с годом коммерции на го, а на деле у него 1500 строк кода, то ч продолжать разговор не хочу, человек ещё не успел ничего сделать :)
Так что в этом случае исключение - я хочу быстро понять, есть ли хоть какой-то опыт у собеседника

Mykyta
17.01.2018
12:49:44

Kirill
17.01.2018
12:50:57
Вот мы и выяснили суть)
Я на своих 30к тоже только понял, как юзать инит правильно, тогда все вопросы к нему пропали)