
Roman
22.06.2018
15:04:19
https://docs.google.com/presentation/d/1tpeJZFObkeick4CF-mx0L3CeCgvT15B96aJeRpxEPcE/edit#slide=id.g3bc6fcf60c_0_278

Max
22.06.2018
19:24:43
друзья кто работал с github.com/google/jsonapi
известная проблема что нельзя unmarshall в структуруу в которой есть атрибуты - которые объекты
но я не могу найти никакого workaround вообще

Google

Max
22.06.2018
19:24:43
кто может подсказатб?
https://github.com/google/jsonapi/issues/74
тут детали

undiabler
22.06.2018
20:44:25
Я с подобной проблемой сталкивался в другой либе, кажется. Решал указателями на объекты, тогда в случае чего там пустые интерфейсы будут и нужна просто доп проверка. Не знаю поможет ли тут такое.

Roman
22.06.2018
20:52:21
Кстати, 1.11 и правда неплохо ускорился

?
22.06.2018
20:53:21
А я все жду 2.0

Vadim
22.06.2018
20:59:16

Roman
22.06.2018
21:00:42
На 1.10 было 173krps, на master - 201krps

Robert
22.06.2018
22:21:43
Все в топку
В личку

Сабина
23.06.2018
13:18:01
Кто тут

Google

Сабина
23.06.2018
13:18:22
Всем добрый весер
Вечер

Vadim
23.06.2018
13:48:09

Сабина
23.06.2018
13:53:59
Тогда добрый день

Robert
23.06.2018
18:16:49
Сабина, привет

Сабина
23.06.2018
18:17:15
Прует
Роберт че део
Л

Robert
23.06.2018
19:57:53
В Казани, приехал на чм

Daniel
23.06.2018
22:00:45
коллеги, буду банить

Roman
23.06.2018
22:01:30

Daniel
23.06.2018
22:03:22
пока не знаю

Alan
23.06.2018
22:20:32
похожи

Александр
23.06.2018
22:26:58
может у них спросить?
у нас еще никто тест тьюринга из ботов не проходил

Aleksei ?
24.06.2018
03:48:54

many-faced
24.06.2018
06:47:04
Коллеги, как спарсить дату до нашей эры в таймстемп?
Из таймстемпа парсю так:
date := time.Unix(-63702720000, 0)
fmt.Println(date.Format("2006-01-02"))
выдаёт корректно: -0049-05-06
А в обратную сторону?

Dmitri
24.06.2018
07:16:50

many-faced
24.06.2018
07:17:25
так а как её сначала получить из строки?

Google

many-faced
24.06.2018
07:18:01
time.Parse не работает ибо Years must be in the range 0000..9999.

Dmitri
24.06.2018
07:20:03
ну, вообще-то, если уж вставать "на букву закона", то для unix timestamp:
Минимальная дата в знаковом 32-битном представлении — 13 декабря 1901 года, 20:45:52 UTC (0x80000000, −2147483648 секунд от 1 января 1970 года).
в связи с этим, думается мне, никто с датами "до Н.Э." не заморачивался
вы уверены, что вам нужен именно timestamp и именно до Н.Э.?
если вам просто надо хранить записи о датах исторических событий (другого применения я не вижу, если честно), возможно, вам подойдет что-то вроде sql-записи
ну либо храните тупо int64 вида year * 10000 + month * 100 + day
для тупого сравнения должно хватить
если заморочиться хочется - [8]byte по маске
короче, конкретного кейса не хватает, зачем вам именно оно надо

Сабина
24.06.2018
07:27:23

Dmitri
24.06.2018
07:28:27
а ты кто?

Сабина
24.06.2018
07:28:50
Сабина

Dmitri
24.06.2018
07:30:03
рад за тебя

many-faced
24.06.2018
07:32:51

Dmitri
24.06.2018
07:35:53
или какую-нибудь структуру
type HistoricalDate struct {
Year int
Month int
Day int
.... при необходимости продолжить
}
или набор байт

Google

many-faced
24.06.2018
07:38:54

Dmitri
24.06.2018
07:39:06
нафига тебе сдвиг от 1970?

Arch
24.06.2018
07:40:08
Структура имхо надежнее, нет запар со всякими сдвигами и часовыми поясами.
И к структуре можно написать методы сравнения, создания и сериализации и десериализации.

Dmitri
24.06.2018
07:40:51
храни дату 100 Д.Н.Э., 24 янв. как -100 * 12 * 31 + 1 * 31 + 24

Admin
ERROR: S client not available

many-faced
24.06.2018
07:40:51

Dmitri
24.06.2018
07:41:07
int64 - число
ты его можешь сравнить с другим числом
если число получилось отрицательное - это до Н.Э.
если положительное - Н.Э.

many-faced
24.06.2018
07:42:35

Arch
24.06.2018
07:42:46

Dmitri
24.06.2018
07:43:04
чтобы удобнее было выравнивать по разрядам лучше даже так:
год * 16 * 256 + месяц * 256 + день

Arch
24.06.2018
07:44:20
Ну решил добавить месяц к дате до н.э. и плюсанул, а оно убавилось, а не добавилось)))

Dmitri
24.06.2018
07:45:06
1. зачем тебе плюсовать месяц?
2. Нужно было хранить и сравнивать - эти задачи покрыты

Vladyslav
24.06.2018
07:45:31

Dmitri
24.06.2018
07:46:28
type HistDate int64
func GetHD(year, month, day int) HistDate {
return year * 16 * 256 + month * 256 + day
}

Google

Dmitri
24.06.2018
07:47:56
дальше ты:
date1 := GetHD(1982, 3, 24)
date2 := GetHD(-100, 1, 25)
date2 гарантированно меньше date1

many-faced
24.06.2018
07:48:23

Dmitri
24.06.2018
07:48:53
в Unix-time - с 1970 и не кузюкает
когда его заюзали, никто не заморачивался на даты более ранние, чем 1901-й год и поздние, чем 2038-й
не рассчитано оно на такие размерности

many-faced
24.06.2018
07:51:00
ну, необходимости то не отменяет

Dmitri
24.06.2018
07:51:27
можешь даже так сделать:
func GetHistoricalDate(year, month, day int64) int64 {
return year * 16 * 256 + month * 256 + day
}
и у тебя оно тупо числом будет храниться
хоть захранись, хоть засравнивайся

many-faced
24.06.2018
07:51:58
так... в обратную сторону распарсится? вроде да
чё-т не понятно, как получить обратно дату?

Dmitri
24.06.2018
07:54:39
func GetFromHistoricalDate(histDate int64) (year int64, month int64, day int64) {
year = histDate / (16 * 256)
histDate = histDate % (16 * 256)
month = histDate / 256
day = histDate % 256
return
}
у тебя получится запись вида 8бит на день, 4 бита на месяц, остальное - под год
в таком подходе тебе не надо будет функции сравнения писать и с сериализацией заморачиваться

many-faced
24.06.2018
07:57:29