#33 - Алексей Генус - архитектура нео-банка и время
В 33 выпуске подкаста Javaswag поговорили с Алексеем Генусом о архитектуре нео-банка, протоколах и представлении времени в Java
00:01:22 О себе
00:03:37 Коннектор для Петербуржской биржи
00:06:04 Протокол, пакет, запрос
00:09:34 Netty vs NIO
Кладезь знаний о Netty https://www.amazon.de/-/en/Norman-Maurer/dp/1617291471
00:17:04 Полный дизастер
00:22:21 Паттерн Батч или Батчевание
00:26:08 Vivid Money
00:37:44 Пишем необанк с нуля
00:43:31 Разные стэки, Go, Java, Scala
00:51:18 Скучный стэк необанка
01:00:12 Мигрируем схемы БД
Как (не) мигрировать в postgresql https://habr.com/ru/post/582698/
01:03:07 Время, что не так?
Видео, после которого вам не захочется писать велосипеды https://www.youtube.com/watch?v=-5wpm-gesOY
Сколько способов измерить время существует? Больше, чем вы думаете https://www.ucolick.org/~sla/leapsecs/timescales.html
01:09:57 Joda-time - хороший API
Как joda time попал в jdk? https://jcp.org/en/jsr/detail?id=310
Другие API для работы со временем https://www.threeten.org/threeten-extra
01:15:28 Место откуда получаем время
Нововведения в java 17 https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/InstantSource.html
Почему в spring boot нет автоконфигурации Clock? https://github.com/spring-projects/spring-boot/issues/31397
01:25:23 Сериализация и хранение в БД LocalDateTime
Проблема 2000-го года сменяется проблемой 2038-го https://en.wikipedia.org/wiki/Year_2038_problem
Реальная ситуация с проблемой 2038-го года https://mobile.twitter.com/jxxf/status/1219009308438024200
Если надо сериализовать дату-время https://en.wikipedia.org/wiki/ISO_8601
Почему не нужно использовать timestamp в postgreqsql https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_timestamp_.28without_time_zone.29
Почему Алексей не знает, сколько дней в феврале? https://ru.wikipedia.org/wiki/30_%D1%84%D0%B5%D0%B2%D1%80%D0%B0%D0%BB%D1%8F
01:37:08 Vivid Money и время
01:42:38 Зачем придумали время?
Об истории часовых поясах во всём мире очень приятно читать у Пола Эггерта https://github.com/eggert/tz
01:46:13 java.util.Date
01:50:09 О секундах координации
Google делает это последовательно (частенько меняя правила) https://developers.google.com/time/smear
Amazon рассказывает о 2015-м https://aws.amazon.com/blogs/aws/look-before-you-leap-the-coming-leap-second-and-aws/
Bloomberg рассказывает о 2016-м https://data.bloomberglp.com/professional/sites/4/Bloomberg-Leap-Second_December-2016.pdf
Петиция от facebook https://engineering.fb.com/2022/07/25/production-engineering/its-time-to-leave-the-leap-second-in-the-past/
Часы от facebook https://engineering.fb.com/2021/08/11/open-source/time-appliance/
01:59:30 Как измерять производительность
Интересное о nanotime https://shipilev.net/blog/2014/nanotrusting-nanotime/
02:10:21 Jmh
Собственно JMH https://github.com/openjdk/jmh
О производительности JVM вообще всегда актуален https://shipilev.net/
Гость - https://www.linkedin.com/in/alexey-g-12a92333/
Кип сейф! 🖖