Как правильно работа с time zone, какая должна быть установлена на БД, какая на сервере? Всегда ли нужно отдавать на фронт timezone, как это правильно согласовать что бы с любой точки земли было корректное время. Очень ожидал это услышать в видео)
Видео было об азах работы со временем, которые решают все заданные в этом комментарии вопросы. Уже были подобные комментарии. Можно почитать мои ответы там. Например, комментарий "Не раскрыта тема ошибок во время переноса даты с Java в БД и обратно..."
Не раскрыта тема ошибок во время переноса даты с Java в БД и обратно. На первой работе очень много багов словил в этом месте логики. Очень важно держать в голове какая вообще парадигма принята на проекте и следовать ей. Какая временная зона в runtime приложения? Какая временная зона в БД? Как пользователь передает дату с фронта? И т.д. Было бы круто если вы на примерах разобрали самые популярные ошибки и способы их избежания.
Основная тема видео - как понять время. Здесь не предполагалось раскрытия тем работы с БД или как использовать даты в Rest API и других протоколах. Но суть остается той же и никуда не уходит - у тебя есть либо Physical time либо Civil. Чтобы ты ни делал - с базой работаешь или создаешь локальную переменную у себя в методе main
@@dmdev понял, благодарю за ответ в моем случае информация с ролика показалась сама собой разумеющаяся, а вот то что ты описал выше с бд и рест это темный лес для новичков
@@bO-sb7el я имею абсолютно противоположное мнение. Если знаешь и понимаешь азы - то, что я объяснил на видео, то все остальные вопросы разрешаются сами собой. Например: Q - "Какая временная зона в runtime приложения?" A - программиста вообще не должна интересовать она, потому что никто не будет делать в коде LocalDate.now() без передачи тайм зоны. Ибо тайм зона нужна при работе с пользовательскими данными. Q - "Какая временная зона в БД?" A - СУБД - это обычные приложения, написанные на каком-то языке, просто они работают только с данными. А значит ответ такой же, что и на предыдущий вопрос. Q - "Как пользователь передает дату с фронта?" A - Если не важна тайм зона, то передается timestamp (physical time). Если важна - передается civil time (обычная строка в ISO формате)
Очень круто. Спасибо! Вопрос - будет ли продолжаться такая практика роликов "средней" длинны, в которых будет разбираться какая-то фитча языка? Очень хотелось бы послушать про стримы и функциональные интерфейсы (хотя бы основные function, supplier, consumer).
@@dmdev Очень надеюсь, что будут заходить, т.к зачастую авторы ограничиваются практической частью без погружения, пусть и не слишком глубокого, в тему. Ваше видео в этом отношении качественно выделяется в лучшую сторону.
Денис, спасибо за материал! Много узнал о java из твоих курсов, даже знаю целые школы, которые строят свое обучение на основе твоих курсов. Посоветуешь что нибудь, если есть желание создавать свои курсы?)
@@dmdev да это наши школы, в России) наверное связано с качественной подачей инфы) А когда я говорил про совет, то наверное я хотел узнать, как ты мотивируешься на такую кропотливую работу?) Что тебя вдохновляет)
@@vorova думаю, как и всех людей - когда видишь какое-то развитие и прогресс. Например, ты же мотивируешься от того, что становишься лучше, когда занимаешься спортом - твои результаты растут. Или когда ставишься профессиональнее в программировании и можешь все сложнее и сложнее задачи выполнять. Или когда зарабатываешь все больше и больше денег от своего бизнеса/работы. В данном случае не исключение - мне нравится, когда я вижу, как растет мой канал, как развивается dmdev.
@@dmdev Денис, из твоих видео я много узнал о спринге, мавене, gradle, java core и прочем.. А так же я понял что важно структурировать информацию и иногда нужно обобщенно посмотреть на то что изучаешь. Спасибо тебе, желаю постоянного роста канала и личного развития!)
Больше всео бесит когда указываешь в пропертях какой-нить TTL, например 7 дней. Ну такой думаешь: возьму Duration, всё красиво: в энвах указываем в iso duration: P7D. А потом по какой-то причине решили сделать ttl в 1 месяц. И приходится или P30D писать (если нам точность не важна +-1 1-2 дня туда-сюда), или переделывать всё на Period. И при этом на тестовом окружении нужно чтобы этот TTL был 15 минут... Просто хочется надеть красный нос и клоунский парик после такого)
27:00 Это очень много непонимания вызывает. Особенно в случае с Duration: Duration.of(1, ChronoUnit.WEEKS); Падает exception, хотя казалось бы, хочу получить Duration от енама, для которого этот Duration определен: WEEKS("Weeks", Duration.ofSeconds(7 * 86400L)); А вот это уже сработает: Duration.from(ChronoUnit.WEEKS.getDuration()); Почему вообще в Instant и Duration есть методы работы с ChronoUnit? Ведь Instant и Duration не имеют ничего общего с днями, месяцами, годами и т.д. Для меня загадка. Может есть какое-то объяснение, кроме упущения разработчиков?)
Объяснение было упомянуто в самом начале: время это невероятно сложная тема) В любом случае, Java 8 Date Time API - намного лучше того, что было. Даже лучше йода тайм библиотеки, что использовалась до Java 8.
Спасибо за видео! Для меня про instant время было в новинку, как и про использование duration!
Очень рад, что понравилось!
Очень интересный материал, слышал про проблемы со временем, но пока что в ногу не стрелял, поэтому и не задумывался… Спасибо!
Всегда пожалуйста!
Отличное видео. Спасибо, теперь стало намного понятнее.
Очень рад, что смог помочь разобраться!
Спасибо, очень классный формат✊
Всегда пожалуйста!
спасибо
Всегда пожалуйста!
Как правильно работа с time zone, какая должна быть установлена на БД, какая на сервере? Всегда ли нужно отдавать на фронт timezone, как это правильно согласовать что бы с любой точки земли было корректное время. Очень ожидал это услышать в видео)
Видео было об азах работы со временем, которые решают все заданные в этом комментарии вопросы.
Уже были подобные комментарии. Можно почитать мои ответы там. Например, комментарий "Не раскрыта тема ошибок во время переноса даты с Java в БД и обратно..."
Спасибо что разобрал.
Всегда пожалуйста!
Ты ТОП! Спасибо!
Всегда пожалуйста!
Не раскрыта тема ошибок во время переноса даты с Java в БД и обратно.
На первой работе очень много багов словил в этом месте логики.
Очень важно держать в голове какая вообще парадигма принята на проекте и следовать ей.
Какая временная зона в runtime приложения?
Какая временная зона в БД?
Как пользователь передает дату с фронта?
И т.д.
Было бы круто если вы на примерах разобрали самые популярные ошибки и способы их избежания.
Основная тема видео - как понять время.
Здесь не предполагалось раскрытия тем работы с БД или как использовать даты в Rest API и других протоколах.
Но суть остается той же и никуда не уходит - у тебя есть либо Physical time либо Civil. Чтобы ты ни делал - с базой работаешь или создаешь локальную переменную у себя в методе main
@@dmdev понял, благодарю за ответ
в моем случае информация с ролика показалась сама собой разумеющаяся, а вот то что ты описал выше с бд и рест это темный лес для новичков
@@bO-sb7el я имею абсолютно противоположное мнение. Если знаешь и понимаешь азы - то, что я объяснил на видео, то все остальные вопросы разрешаются сами собой.
Например:
Q - "Какая временная зона в runtime приложения?"
A - программиста вообще не должна интересовать она, потому что никто не будет делать в коде LocalDate.now() без передачи тайм зоны. Ибо тайм зона нужна при работе с пользовательскими данными.
Q - "Какая временная зона в БД?"
A - СУБД - это обычные приложения, написанные на каком-то языке, просто они работают только с данными. А значит ответ такой же, что и на предыдущий вопрос.
Q - "Как пользователь передает дату с фронта?"
A - Если не важна тайм зона, то передается timestamp (physical time). Если важна - передается civil time (обычная строка в ISO формате)
Очень круто. Спасибо! Вопрос - будет ли продолжаться такая практика роликов "средней" длинны, в которых будет разбираться какая-то фитча языка? Очень хотелось бы послушать про стримы и функциональные интерфейсы (хотя бы основные function, supplier, consumer).
Посмотрю как заходить будут такие видео. Возможно и будет продолжение.
@@dmdev Очень надеюсь, что будут заходить, т.к зачастую авторы ограничиваются практической частью без погружения, пусть и не слишком глубокого, в тему. Ваше видео в этом отношении качественно выделяется в лучшую сторону.
@@viewer_evgeniy тогда супер! Посмотрим!
Денис, спасибо за материал! Много узнал о java из твоих курсов, даже знаю целые школы, которые строят свое обучение на основе твоих курсов. Посоветуешь что нибудь, если есть желание создавать свои курсы?)
Интересно, это какие школы?)
Не совсем понял вопроса: что посоветовать?
PS. Меня Денис зовут :)
@@dmdev да это наши школы, в России)
наверное связано с качественной подачей инфы)
А когда я говорил про совет, то наверное я хотел узнать, как ты мотивируешься на такую кропотливую работу?) Что тебя вдохновляет)
@@vorova думаю, как и всех людей - когда видишь какое-то развитие и прогресс. Например, ты же мотивируешься от того, что становишься лучше, когда занимаешься спортом - твои результаты растут. Или когда ставишься профессиональнее в программировании и можешь все сложнее и сложнее задачи выполнять. Или когда зарабатываешь все больше и больше денег от своего бизнеса/работы.
В данном случае не исключение - мне нравится, когда я вижу, как растет мой канал, как развивается dmdev.
@@dmdev Денис, из твоих видео я много узнал о спринге, мавене, gradle, java core и прочем..
А так же я понял что важно структурировать информацию и иногда нужно обобщенно посмотреть на то что изучаешь.
Спасибо тебе, желаю постоянного роста канала и личного развития!)
Больше всео бесит когда указываешь в пропертях какой-нить TTL, например 7 дней. Ну такой думаешь: возьму Duration, всё красиво: в энвах указываем в iso duration: P7D. А потом по какой-то причине решили сделать ttl в 1 месяц. И приходится или P30D писать (если нам точность не важна +-1 1-2 дня туда-сюда), или переделывать всё на Period. И при этом на тестовом окружении нужно чтобы этот TTL был 15 минут... Просто хочется надеть красный нос и клоунский парик после такого)
Видимо большой взрыв создал java
И не только Java)
Привет
Привет
27:00
Это очень много непонимания вызывает. Особенно в случае с Duration:
Duration.of(1, ChronoUnit.WEEKS);
Падает exception, хотя казалось бы, хочу получить Duration от енама, для которого этот Duration определен:
WEEKS("Weeks", Duration.ofSeconds(7 * 86400L));
А вот это уже сработает:
Duration.from(ChronoUnit.WEEKS.getDuration());
Почему вообще в Instant и Duration есть методы работы с ChronoUnit? Ведь Instant и Duration не имеют ничего общего с днями, месяцами, годами и т.д.
Для меня загадка. Может есть какое-то объяснение, кроме упущения разработчиков?)
со временем всегда гемор, в других языках все это еще хуже реализовано)
Объяснение было упомянуто в самом начале: время это невероятно сложная тема)
В любом случае, Java 8 Date Time API - намного лучше того, что было. Даже лучше йода тайм библиотеки, что использовалась до Java 8.