@proGO

Страница 1527 из 1674
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
Кстати, 1.11 и правда неплохо ускорился
Привет, а есть бенчмарки уже?

Roman
22.06.2018
21:00:42
Привет, а есть бенчмарки уже?
Есть master. Я посмотрел на обзор улучшений и бенчил fasthttp

На 1.10 было 173krps, на master - 201krps

Сабина
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 А в обратную сторону?



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 по маске

короче, конкретного кейса не хватает, зачем вам именно оно надо

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
короче, конкретного кейса не хватает, зачем вам именно оно надо
Конкретный кейс - хранение дат исторических событий. Странно, что парсинг в одну сторону работает только.

вы уверены, что вам нужен именно timestamp и именно до Н.Э.?
Нужен механизм хранения и сравнения дат.

Dmitri
24.06.2018
07:35:53
Конкретный кейс - хранение дат исторических событий. Странно, что парсинг в одну сторону работает только.
это нормально, имхо. Высчитывать количество секунд до времени исторического события до Н.Э. от 00:00:00 01-01-1970 с учетом асторономических поправок в часовом поясе, которого тогда не существовало - достаточно странное занятие, особенно учитывая тот забавный факт, что время исторического события с точностью хотя бы до часа определить слабо реально...

Нужен механизм хранения и сравнения дат.
это же просто, храни in64 вида year * 10000 + month * 100 + day

или какую-нибудь структуру 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
нафига тебе сдвиг от 1970?
а как мне сравнивать даты до н.э, после н.э?

Dmitri
24.06.2018
07:41:07
int64 - число

ты его можешь сравнить с другим числом

если число получилось отрицательное - это до Н.Э.

если положительное - Н.Э.

many-faced
24.06.2018
07:42:35
храни дату 100 Д.Н.Э., 24 янв. как -100 * 12 * 31 + 1 * 31 + 24
ну это получается надо заморачиваться самому - сколько там дней в месяце итп

Arch
24.06.2018
07:42:46
если положительное - Н.Э.
Аха, а если отрицательное, то при сложении не забывай добавлять минусы)))

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

ну это получается надо заморачиваться самому - сколько там дней в месяце итп
считай, что у тебя есть лимит на месяц - 31 день, и не заморачивайся

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

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

Vladyslav
24.06.2018
07:45:31
а как мне сравнивать даты до н.э, после н.э?
А наша эра началась с 1970? Не привязывайся к нему

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
А наша эра началась с 1970? Не привязывайся к нему
я имел ввиду что наша эра началась с 0000, а не 1970

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 бита на месяц, остальное - под год

в таком подходе тебе не надо будет функции сравнения писать и с сериализацией заморачиваться

Страница 1527 из 1674