Size: a a a

2020 February 24

RS

Roman Sharkov in Go-go!
приемлимо ли возвращать unix timestamp в качестве JSON number вместо текстового RFC3339? 🤔
источник

а

а кто это in Go-go!
Roman Sharkov
приемлимо ли возвращать unix timestamp в качестве JSON number вместо текстового RFC3339? 🤔
вполне
источник

а

а кто это in Go-go!
мне кажется таймстамп даже лучше
источник

RS

Roman Sharkov in Go-go!
а кто это
мне кажется таймстамп даже лучше
поч?

очевидный минус: non human-readable
плюс: чуток оптимальнее по производительности
источник

KR

Kai Ren in Go-go!
Roman Sharkov
приемлимо ли возвращать unix timestamp в качестве JSON number вместо текстового RFC3339? 🤔
Если принимающая сторона умеет в числа больше u32, а то могут быть проблемы в 2027м
источник

а

а кто это in Go-go!
Roman Sharkov
поч?

очевидный минус: non human-readable
плюс: чуток оптимальнее по производительности
потому что с числами работать проще, нежели со строкой
источник

а

а кто это in Go-go!
Kai Ren
Если принимающая сторона умеет в числа больше u32, а то могут быть проблемы в 2027м
ужас
источник

KR

Kai Ren in Go-go!
мускул(
источник

ВС

Владимир Столяров in Go-go!
Roman Sharkov
приемлимо ли возвращать unix timestamp в качестве JSON number вместо текстового RFC3339? 🤔
Оно конечно работать будет, но без таймзоны можно словить кучу багов
источник

YG

Yuriy Gorlichenko in Go-go!
Kai Ren
Не понимаю как. Обьясните подробнее, пожалуйста. Вот, к примеру: есть запрос к БД, он выполняется 300мс, а у Вас квота выделена 200мс. Они капнули, Вам нужно отменить выполняющийся запрос в БД и вернуть юзеру 408 ошибку. Как Вы делаете отмену мьютексом?
не, отмену я конечно не делаю мьютексом.
У меня с запросами своя история - нет больших запросов которые бы выполнялись по большому количеству времени, так что тут Ваш пример я не раскрою.

У меня специфика немного другая - realtime communications и  для этого дела  - у меня нет вариантов формировать большие запросы.

чтобы обработать лимит времени выполнения так просто не нахожу решения пока без контекста
источник

а

а кто это in Go-go!
Roman Sharkov
поч?

очевидный минус: non human-readable
плюс: чуток оптимальнее по производительности
human-readable можно сделать на клиенте какой угодно
источник

KR

Kai Ren in Go-go!
Владимир Столяров
Оно конечно работать будет, но без таймзоны можно словить кучу багов
Ну если считать что сервер всегда отдаёт UTC, то проблем не будет
источник

RS

Roman Sharkov in Go-go!
Kai Ren
Если принимающая сторона умеет в числа больше u32, а то могут быть проблемы в 2027м
технически JSON number это IEEE 754 у которого макс. 53 бита челочисленной части AFAIK
источник

а

а кто это in Go-go!
Владимир Столяров
Оно конечно работать будет, но без таймзоны можно словить кучу багов
обычно utc же
источник

а

а кто это in Go-go!
тому кто не в utc — голову с плеч
источник

ВС

Владимир Столяров in Go-go!
В таком случае надо следить за этим и при генерации json-а не забывать дёргать UTC()
источник

KR

Kai Ren in Go-go!
а кто это
тому кто не в utc — голову с плеч
Бывает приходит от юзверя в других таймзонах и так и пишется в БД. Соответственно и назад вместе с его таймзоной выплёвывается. Когда всё на RFC3339, то для кода это абсолютно прозрачно и проблем нет.
источник

RS

Roman Sharkov in Go-go!
Kai Ren
Бывает приходит от юзверя в других таймзонах и так и пишется в БД. Соответственно и назад вместе с его таймзоной выплёвывается. Когда всё на RFC3339, то для кода это абсолютно прозрачно и проблем нет.
в данном случае с клиента ничего не приходит
источник

KR

Kai Ren in Go-go!
Yuriy Gorlichenko
не, отмену я конечно не делаю мьютексом.
У меня с запросами своя история - нет больших запросов которые бы выполнялись по большому количеству времени, так что тут Ваш пример я не раскрою.

У меня специфика немного другая - realtime communications и  для этого дела  - у меня нет вариантов формировать большие запросы.

чтобы обработать лимит времени выполнения так просто не нахожу решения пока без контекста
О том и речь. В пакете database/sql в std методы-братья с WithContext именованием в своё время появились не просто так, от балды.
источник

YG

Yuriy Gorlichenko in Go-go!
Kai Ren
О том и речь. В пакете database/sql в std методы-братья с WithContext именованием в своё время появились не просто так, от балды.
да я как бы и не спорю, но в общем и целом, поставив ограниение на время выполнения запроса можно же отловить ошибку выполнения запроса ограниценную таймаутом и выйти из функции которая будет вызвана отдельной goroutine
источник