Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 January 25

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
да. примерно это я и объяснял
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Kucheryavy
знаючи таймзони ортимувачів та локальну таймзону вашого сервіса можна вирахувати локальний час, який відповідає необхідному часу отримувача і відповідно запланувати на цей час запуск нотифікацій.
Например?
источник

DK

Dmytro Kucheryavy in NodeUA - JavaScript and Node.js in Ukraine
Roman
Например?
Наприклад необхідно відправляти повідомлення в 10:20 в таймзоні отримувача +01:00
Ваш сервіс/сервер працює в таймзоні +02:00
Відповідно вам необхідно запланувати запуск на 11:20 в таймзоні сервісу, щоб отримувачу повідомлення відправилось о 10:20
Якщо я правильно зрозумів вашу задачу
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Kucheryavy
Наприклад необхідно відправляти повідомлення в 10:20 в таймзоні отримувача +01:00
Ваш сервіс/сервер працює в таймзоні +02:00
Відповідно вам необхідно запланувати запуск на 11:20 в таймзоні сервісу, щоб отримувачу повідомлення відправилось о 10:20
Якщо я правильно зрозумів вашу задачу
а если у меня 5 таймзон?
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
это ж не таймзона +01:00
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Roman
а если у меня 5 таймзон?
сколько у вас таймзонов будет зависить от ваших пользователей в базе
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Roman
это ж не таймзона +01:00
это таймзона в универсальном формате погуглите таймзоны и вы поймете +01:00 это разница во времени на час вперед потому что утро и вечер в разных континентах наступает в разное время
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Islom Jumaniyozov
это таймзона в универсальном формате погуглите таймзоны и вы поймете +01:00 это разница во времени на час вперед потому что утро и вечер в разных континентах наступает в разное время
ок, как превести Europe/Kiev в такой формат?
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
погуглите Timezone europe/kiev. к сожалению кодировку я не помню из памяти
источник

DK

Dmytro Kucheryavy in NodeUA - JavaScript and Node.js in Ukraine
Roman
а если у меня 5 таймзон?
аналогічно
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
оказывается Киев +02:00 в UTC формате
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Islom Jumaniyozov
это таймзона в универсальном формате погуглите таймзоны и вы поймете +01:00 это разница во времени на час вперед потому что утро и вечер в разных континентах наступает в разное время
Это НЕ таймзона а смещение
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
У Киева два смещения но одна таймзона Europe/Kiev. И в базе нужно хранить именно в таком формате а не +02 или +03
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
У Киева два смещения но одна таймзона Europe/Kiev. И в базе нужно хранить именно в таком формате а не +02 или +03
да летом +03
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Никак не допишу у меня большая статья про таймзоны для dou недописана
источник

DK

Dmytro Kucheryavy in NodeUA - JavaScript and Node.js in Ukraine
Roman
ок, как превести Europe/Kiev в такой формат?
источник

NN

Nikita Nesterchuk in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Kucheryavy
Наприклад необхідно відправляти повідомлення в 10:20 в таймзоні отримувача +01:00
Ваш сервіс/сервер працює в таймзоні +02:00
Відповідно вам необхідно запланувати запуск на 11:20 в таймзоні сервісу, щоб отримувачу повідомлення відправилось о 10:20
Якщо я правильно зрозумів вашу задачу
сервер не должен ориентироваться на таймзону, где он находится, а рассчитывать на UTC(00:00). Например, те же базы данных хранят данные изначально в UTC
источник

DK

Dmytro Kucheryavy in NodeUA - JavaScript and Node.js in Ukraine
Nikita Nesterchuk
сервер не должен ориентироваться на таймзону, где он находится, а рассчитывать на UTC(00:00). Например, те же базы данных хранят данные изначально в UTC
розраховувати на щось не перевіряючи - звучить не надійно
источник

DD

Dima Demokritov in NodeUA - JavaScript and Node.js in Ukraine
Добрый день, сегодня посмотрел лекцию о middlaware.Я немного разрабатываю на nest.js стараясь сохранить многослойность архитектуры.Обычно я использую три уровня.Контроллеры-сервисы-кастомные репозитории.Зачастую возникает вопрос,которым я долго мучаю себя.В каком именно месте проверять,что ресурс соответствует данному юзеру(при этом мне нужно сделать запрос в бд). Очевидно,что уровень контроллеров, репозиториев не очень подходит.Остается только сервис, guard или validation pipe,что примено одно и тоже, потому что выполняется до контроллера(безусловно смысловая нагрузка разная и сначала срабатывает гуард).Так вот.В гуарде до контроллера делать запрос в бд,мне кажется очень сильным протеканием абстракций,а с другой стороны сервис не должен отвечать за логику доступа к ресурсу.Подскажите,где я ошибаюсь.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Dima Demokritov
Добрый день, сегодня посмотрел лекцию о middlaware.Я немного разрабатываю на nest.js стараясь сохранить многослойность архитектуры.Обычно я использую три уровня.Контроллеры-сервисы-кастомные репозитории.Зачастую возникает вопрос,которым я долго мучаю себя.В каком именно месте проверять,что ресурс соответствует данному юзеру(при этом мне нужно сделать запрос в бд). Очевидно,что уровень контроллеров, репозиториев не очень подходит.Остается только сервис, guard или validation pipe,что примено одно и тоже, потому что выполняется до контроллера(безусловно смысловая нагрузка разная и сначала срабатывает гуард).Так вот.В гуарде до контроллера делать запрос в бд,мне кажется очень сильным протеканием абстракций,а с другой стороны сервис не должен отвечать за логику доступа к ресурсу.Подскажите,где я ошибаюсь.
это проблема концепции rest, я все делаю по rpc, и такие проверки можно делать только в сервисе
источник