
Mykyta
10.03.2018
13:42:45

Адам
10.03.2018
13:45:49
Да ладно? Rails и Django тоже касается? Даже в pewee, который из одного файла состоит, возможностей в разы больше, чем у всех orm на Go вместе взятых. Печально это

Никита
10.03.2018
13:48:06
Чем чистый SQL не устраивает?
Он предоставляет намного больше возможностей, которые ORM не могут себе позволить

Google

Никита
10.03.2018
13:48:32
Это собственно касается сложных структур данных

Адам
10.03.2018
13:50:56
Тем, что это неудобно и долго

Никита
10.03.2018
13:53:15
Это субъективная оценка эффективности

Адам
10.03.2018
13:56:52
Блин, чувак. Я не за срачем чистый SQL vs ORM пришел)) Если бы хотел делать все на "байткоде", то писал бы на нем

кристина
10.03.2018
13:59:40
а вы разве доверяете бекендщикам, которые умеют орм, но не умеют в чистый скл . . .

Адам
10.03.2018
14:07:18
Я умею в SQL, но дизайнить Anchor Model охота в 100 строк кода, а не 1000

FRD Official - Dmitriy
10.03.2018
14:08:25
Тем, что это неудобно и долго
А рельсы и джанго это быстро и удобно? Они порой генерят адскую муть. А после оптимизации вся читабельность летит псу под хвост.

кристина
10.03.2018
14:11:29
jq
прастити
всешик =)
перепутала чат

Адам
10.03.2018
14:54:43
Пока что больше всего устраивает https://github.com/gobuffalo/pop

Nick
10.03.2018
15:27:07

Google

Andrey
10.03.2018
16:45:16

anton
10.03.2018
16:54:34
размазывание - это как раз когда топик партиционируется на N нод.
а в случае партиций - лидер там всегда один.

Bogdan (SirEdvin)
10.03.2018
16:56:05

Andrey
10.03.2018
17:13:10

Nick
10.03.2018
17:37:33

Ilnur
10.03.2018
21:44:49
https://husobee.github.io/golang/url-router/2015/06/15/why-do-all-golang-url-routers-suck.html

FRD Official - Dmitriy
10.03.2018
21:47:24

Ilnur
10.03.2018
21:47:42
2015
я не обратил внимание, слишком старый пост
https://github.com/julienschmidt/httprouter уже умеет в динамические параметры
@B4dr0b0t а что ты используешь для роутинга?)

FRD Official - Dmitriy
10.03.2018
21:59:41
Если писать влом - горилла мукс. Статья старая и не единственная. Есть почти такая же от создателя другого роутера
Этого https://github.com/julienschmidt/httprouter
Просто в таком ключе, можно обвязать сервмукс обработчиками, оптимизировать под один конкретный кейс и заявить, что все остальные - сосут

Ilnur
10.03.2018
22:05:47
=)

Vadim
10.03.2018
22:36:19
strconv.ParseInt(balance, 16, 64)
balance = "0x1043561a882930000"
strconv.ParseInt: parsing "0x1043561a882930000": invalid syntax
wtf, ребят?

Google

Илья
10.03.2018
22:38:40
Свою криптовалюту пишим?

Vadim
10.03.2018
22:39:14
пишЕм. Нет, просто надо хексы в дец

Alik
10.03.2018
22:40:54
уберите 0х вначале
правда тогда будет value out of range но это уже другая проблема

Vadim
10.03.2018
22:41:42
битсайз 64 - больше некуда

Илья
10.03.2018
22:42:39
что за число такое

Vadim
10.03.2018
22:43:51
да, бага какая то

Alik
10.03.2018
22:43:52
как вариант - хранить в двух int64

Vadim
10.03.2018
22:44:07
даже онлайн конвертеры его не могут

Илья
10.03.2018
22:44:32
а что генерит данное число? Метод или что?

Vadim
10.03.2018
22:44:47
а, не - один смог: 18750000000000000000

Vadim
10.03.2018
22:44:57

Илья
10.03.2018
22:45:21
а в респонсе откуда берется?)
просто такое число
непонятно для чего оно

Alik
10.03.2018
22:45:34
взять максимальное число, которое можно хранить в int64, перегнать в hex и посмотреть длинну (полюбому будут FFFF...). именно столько символов брать из конца string и сохранять как balanceL, остальное из строки хранить как balanceH

Илья
10.03.2018
22:46:43
ну или хранить в uint64 если не отрицательное

Vadim
10.03.2018
22:46:44

Google

Vadim
10.03.2018
22:47:31
самое прикольно, что этот метод просто возвращает самое максимальное число)

Admin
ERROR: S client not available

Alik
10.03.2018
22:52:48
спасибо!
пожалуйста. если всё-таки решили делать как я написал, то я думаю есть смысл сделать это всё структурой с методами вроде Parse, Add и ещё что может вам понадобиться. это также поможет если далее встретятся другие большие числа

Marlik
11.03.2018
01:02:15
Чото не вкурю как с мапой работать)) Где у мапы value это вложенная мапа, и наверное не одна.

Anatoly
11.03.2018
01:48:13
у тебя все получится

Zver
11.03.2018
02:34:47


Marlik
11.03.2018
05:22:48
Все просто:
https://play.golang.org/p/OiKoEzNZx83
Key: items Value: [map[comments:map[count:0 can_post:1] likes:map[can_publish:1 count:1 user_likes:0 can_like:1] owner_id:-6.0509447e+07 attachments:[map[type:link link:map[url:https://goo.gl/CKvBJf title:В Ермиши сгорел жилой дом caption:goo.gl description:Сегодня утром в Ермиши загорелся жилой дом на ул.Садовой. photo:map[photo_604:https://pp.userapi.com/c841021/v841021407/70bf7/hFmr7i3mdU8.jpg height:106 id:4.56246696e+08 album_id:-2 photo_130:https://pp.userapi.com/c841021/v841021407/70bf6/mKZPCeBxh5U.jpg width:150 text: date:1.519631846e+09 owner_id:1.85652541e+08 photo_75:https://pp.userapi.com/c841021/v841021407/70bf5/u8sZbsFBAH0.jpg]]]] post_type:post text:Сегодня утром в поселке Ермишь Рязанской области загорелся жилой дом на улице Садовой marked_as_ads:0 views:map[count:75] id:8546 from_id:-6.0509447e+07 can_pin:1 post_source:map[type:api] reposts:map[count:0 user_reposted:0] date:1.519631842e+09 can_delete:1]]
А что скажете по поводу вот этой мапы?


Zver
11.03.2018
05:26:57


Marlik
11.03.2018
05:27:26
Ну наверное что это не так просто))

Zver
11.03.2018
05:43:32

Marlik
11.03.2018
05:44:40
Дебри, да и толком не понятно как вложенные мапы выбирать. Вот думаю другие варианты решения.

Zver
11.03.2018
05:45:25
Видимо мапа интерфейсов.
Читайте про приведение типов.

Marlik
11.03.2018
05:48:20
Это похоже на какой-то результат анмаршалинга.
Ну да, я же и анмаршалю, что-то типа
m := make(map[string]interface{})
...
err = json.Unmarshal(b, &m)
Сама задача выбрать массив записей, и пробежать по ней в цикле. Поэтому мапа, а не структура.

Zver
11.03.2018
05:49:56
Ну так и пробегайтесь. Там ничего сложного.

Marlik
11.03.2018
05:51:06
Я не знаю как работать со вложенными мапами. Пока думаю как лучше и быстрее.

Zver
11.03.2018
05:57:01
Я не знаю как работать со вложенными мапами. Пока думаю как лучше и быстрее.
Нужно было читать документацию хорошо, в часности про приведение типов и интерфейсы, там все просто.
for k, v := range p {
switch val := v.(type) {
case string:
fmt.Println(k, "is string", val)
case int:
fmt.Println(k, "is int", val)
case []interface{}:
fmt.Println(k, "is an array")
for i, v := range val {
fmt.Println(i, v)
}
default:
fmt.Println(k, "is unknown type")
}
}

Google

Marlik
11.03.2018
05:59:32
А при чём тут приведение типов? Я читал, мне не тип узнать, мне достать по ключу значение. Я даже глазом смотрю не могу разобрать эту мапу, сколько вложений других мап в ней))
Ладно, щас поковыряюсь, что-нибудь получится.

Zver
11.03.2018
06:12:03

Marlik
11.03.2018
06:13:08
Ммм, понятно, спасибо.

Valeriy
11.03.2018
06:13:14
Тайп ассерт или каст

Marlik
11.03.2018
06:16:56
Понятно, спасибо.

Никита
11.03.2018
09:23:10
это wei
wei в big.Int обычно хранят, парсить так можно: https://github.com/ethereum/go-ethereum/blob/master/common/math/big.go#L82

m
11.03.2018
10:17:20
День добрый. А кто как логи на диск пишет, чтобы не зависать на тормозах с диском? Сделал через канал, но это вносит задержку и бывает, что, например, при выходе, не всё записывается.

Michael
11.03.2018
10:53:32
канал буферизирован должен быть

m
11.03.2018
11:24:39
Это всё есть, но проблему не снимает.