
Phil
08.09.2016
07:40:38
а. я опять чтоо сложное искал. дальше вче более менее понятно

Nik
08.09.2016
14:17:02
Вопрос по gorm и UUID.
если у меня UUID в базе в формате 806D3CE448F8FA70CC45D0473B140505
но выгребаю я hex(UUID)

Google

Nik
08.09.2016
14:17:50
а селек по нему делаю .... where UUID = 0x806D3CE448F8FA70CC45D0473B140505
можно ли это прикрутить к GORM?

Nikolay
08.09.2016
15:35:08
@elvis_live если не пугает язык - тут вот есть код для готовое решение в GORM: http://qiita.com/roothybrid7/items/dc58bae01f941e1a72be

Paul
08.09.2016
15:39:30
ой
японский

Igor ⛷
08.09.2016
16:14:37
https://www.kickstarter.com/projects/1604791210/go-gopher-toy

Nik
08.09.2016
16:27:43

Viacheslav
08.09.2016
20:55:43
Есть json api, которое отвечает обычным map[string]int , но в случае ошибки отвечает {"error": error_string}. Как такое праивльнее и красивве всего хендлить?

hamper ?
08.09.2016
21:11:22
ну можно например как map[string]interface{} и если нет error все поля к int приводить

Viacheslav
08.09.2016
21:31:57
это плохое решение так как потом с этим нужно мапом нужно дальше работать
оно мне не нравится так как interface{}
сейчас сделал отдельную структуру с полем Error и Map
с кастомным UnmarshalJSON, но выглядит тоже не очень...

Google

Дмитрий
09.09.2016
04:19:52
Да просто поиском по подстроке проверить не ошибка ли пришла, и на основании проверки уже в нужный тип распаковывать

Foxcool
09.09.2016
05:22:29
какие модули на саблайм ставите для работы с го? (:

Valentin
09.09.2016
06:25:37
SublimeGo
Больше ничего не надо
Да и нету больше вроде там

Daniel
09.09.2016
06:29:51
Еще один
Компайлер запускать
Доберусь до компа - отпишусь

[Anonymous]
09.09.2016
10:35:19
Где-то в коде поселился оверхед, можно ли как-нибудь узнать какая строчка кода замедляет работу программы?

Kirill
09.09.2016
10:36:43
можно анализировать сам код. можно профилировать прогу. выбирай.

[Anonymous]
09.09.2016
10:40:13
Ну раз этот медленный код писал я, значит второе)

Kirill
09.09.2016
10:40:33
это не отрицает возможность первого
вот самый простой вариант: https://golang.org/pkg/net/http/pprof/

[Anonymous]
09.09.2016
10:41:08
Анализировать значит самому искать ошибку в коде глазами?)

Kirill
09.09.2016
10:41:22
ну, лучше искать мозгом

Zver
09.09.2016
10:57:16
https://golang.org/pkg/runtime/pprof/

[Anonymous]
09.09.2016
11:07:48
Спасибо!

Kirill
09.09.2016
11:08:29

Zver
09.09.2016
11:14:09

Google

[Anonymous]
09.09.2016
11:30:24
pprof показал что все время занимает math.rand.(*rngSource).Seed , т.е. генерация случайных чисел. Нельзя ли ее ускорить?
rand.Seed(int64(time.Now().Nanosecond()))
new_slice := all_values1[rand.Intn(20)]
rand.Seed(int64(time.Now().Nanosecond()))
new_slice += all_values2[rand.Intn(5)]
Вот код который отнимает все время
Из 30 секунд работы программы, эта часть отнимает 26сек что очень много

Kirill
09.09.2016
11:52:51
зачем ты конвертируешь int64 в int64?

[Anonymous]
09.09.2016
11:54:08

Kirill
09.09.2016
11:54:45
а, да, это же Time.Nanosecond(), а не Duration.Nanosecond()
ошибся
хм, сейчас посмотрю, что можно сделать
дай больше кода, а?

Gregory
09.09.2016
11:55:57
посмотри https://github.com/miolini/fastrand

Kirill
09.09.2016
11:57:33
он же работает только на amd64

[Anonymous]
09.09.2016
11:58:40
суть в том что на 1000000 итераций этот код замедляет всю программу

Kirill
09.09.2016
11:59:51
зачем тебе лям итераций? О_о

[Anonymous]
09.09.2016
12:00:14
Нужен лям рандомных данных)
Да

Kirill
09.09.2016
12:02:48
боюсь спросить зачем

[Anonymous]
09.09.2016
12:02:54
Моделяция физических процессов методом Монте-Карло

Google

[Anonymous]
09.09.2016
12:04:03
Да, я пробовал, но меня и псевдо устраивает, разницы не увидел
А крипто еще медленнее боюсь

Admin
ERROR: S client not available

[Anonymous]
09.09.2016
12:04:24
И лям это очень мало если честно
Там бы 60 лямов, но сейчас попробую fastrand который выше скинули

Kirill
09.09.2016
12:05:05
в таком контексте возможно да

[Anonymous]
09.09.2016
12:06:20
Ну главное чтобы эффект был)

Kirill
09.09.2016
12:07:33
ну, смотри сам. я вот сейчас на x86 ядре сижу.
чтобы повторений не было

[Anonymous]
09.09.2016
12:14:17
+
0 : 8
0 : 8
0 : 0
1 : 4
1 : 4
1 : 0
2 : 12
2 : 8
2 : 12
3 : 0
3 : 8
3 : 8
4 : 8
4 : 4
4 : 0
5 : 4
5 : 4
5 : 12
6 : 12
6 : 8
6 : 4
7 : 0
7 : 4
7 : 12
8 : 0
8 : 12
8 : 8
9 : 4
9 : 12
9 : 0

Lev
09.09.2016
12:21:24
может поверх фастранда Speck навинтить? он не сильно тормозной вроде бы
https://en.wikipedia.org/wiki/Speck_(cipher)
(не поверх, вместо)

[Anonymous]
09.09.2016
12:22:56
Мне тут подсказали: do not use rand.Seed or rand.Indn/etc; they operate on a global RNG and are protected by a mutex; create a separate RNG r := rand.New(); r.Seed(whatever);

Lev
09.09.2016
12:23:49
https://habrahabr.ru/post/271435/ вот тут со слов "Не шифрованием единым"

[Anonymous]
09.09.2016
12:24:41
scratch that, fastrand is worthless, period.

Lev
09.09.2016
12:24:51
... ну а для пущей рандомности - подмешивать на вход нормальный рандом ещё. изредка.

Google

Sergey
09.09.2016
12:49:03
твой пароль от lastpass?

Алексей
09.09.2016
12:49:13
ага
)))

Sergey
09.09.2016
12:49:50
ну мыльник тоже давай тогда

Zver
09.09.2016
12:49:55
А логин?

[Anonymous]
09.09.2016
13:05:09
gccgo и go вместе не подружить никак?)
Всмысле они конфликтуют друг с другом
попробовал без Seed, спасибо стало быстрее, но все равно медленно считает, но это уже не вина рандома, 5 секунд только gc отнимает
Миллион итераций считает за 65.75 сек на go1.7 сейчас попробую gccgo

Zver
09.09.2016
13:11:16
А как посоветовали, использовали не глобальный рандом?
Если гц много отъедает времени, то надо минимизировать выделение памяти.
Хотя из 65 секунд 5 секунд это мелочь.