Ха, я когда увидел статью - тоже об этом подумал. Я на днях сделал свой первый docker file и столкнулся с этим - не переопределяются переменные при использовании cmd и entrypoint.
При чём - комментарий был про создание объекта не из кода, а автоматически, десериализовывая. Т.е. вот у вас pojo с nonnull и всё хорошо. Но этот объект создаётся не вами в коде, а приходит из вне - json в Jackson, или строка из базы в hibernate. И вот им эти nonnull/nullable побоку. Они его создадут как есть в оригинале и ничего проверять не будут, если не попросишь. Это я ещё не говорю про нативную java serialization - там даже конструктор не вызывается.
Так вот что бы это работало нужно вручную вызывать валидацию. Это типичная проблема. Тут по сути будет nonnull Шрёдингер - пока мы валидацию не запустим, не узнаем. И до валидации ничего с объектом делать нельзя.
У меня дежавю - лет 20 назад, когда я учился в школе и поехал на олимпиаду по информатике - там был такой вопрос. И тут ещё даже легче - есть управляемый язык и сразу сказали что числа в массиве. А тогда был C, Pascal и задание было простое - есть число в виде строки длинной 20 символов - нужно уметь складывать и вычитать. И всё. Мне тогда вообще в голову не пришло что эту строку можно рассматривать как массив символ, что бы использовать сложение в столбик. Только потом, после олимпиады, на разборе, рассказали.
Согласен что статей много, но не согласен что не надо писать - в каждой статье что-нибудь да найдётся новенькое. Да хотя бы в комментариях. Вот например - упомянули граф зависимостей, но в комментах добавили что он бесполезен. Хотя в других статьях авторы, где этот граф упоминали, не было таких комментариев.
Поддерживаю. В Java так в enum можно добавлять с запятой в конце. Удобно когда новые значения добавляешь - только плюс одна строчка в диффе. И когда удалить хочешь - тоже только её удаляешь. Я во всех enum стараюсь её использовать.
Ну тут я не согласен - не нравится монобогдан - заблокируй и дело с концом. Он же только один пишет про старые телефоны. А проблема сгенерированных статей - их пишет куча разных людей, их фиг всех заблокируешь.
Но, во-первых, недовольные чаще пишут (так как если всё хорошо, то зачем писать?!), во-вторых - так у вас хоть будет разносторонние мнение :-)
Мне вообще ваша статья понравилась (в основном я их минусю :-) ). Особенно фишка про процедурные цели. Я к этому несколько лет назад пришёл, при изучении языков. Те раньше меня изучение языков (английский, немецкий) как-то демотивало, так как по сути это бесконечный процесс. А тут где-то прочитал (или сам дошёл) что типа просто трать в день сколько то минут и всё. В итоге так несколько книг прочитал, несколько тысяч слов выучил, несколько курсов закончил. И получилось что в моменте до конца далеко - ещё много надо читать, много слов учить и т.п. И это демотивировало - типа, блин, никогда не закончится! Но если поставить цель по другому - трать по 15-30 минут в день. То как-то в итоге через пол года уже есть измеримый прогресс - книги прочитаны, в reword слова выучены, в Babbel курсы пройдены.
Спасибо за то что отвечаете в комментах!
А можно как-то заставить все сайты в тёмной теме отображаться? На мобилках.
Нифига себе рассказ! Тянет на отдельную статью!
Ха, я когда увидел статью - тоже об этом подумал. Я на днях сделал свой первый docker file и столкнулся с этим - не переопределяются переменные при использовании cmd и entrypoint.
При чём - комментарий был про создание объекта не из кода, а автоматически, десериализовывая. Т.е. вот у вас pojo с nonnull и всё хорошо. Но этот объект создаётся не вами в коде, а приходит из вне - json в Jackson, или строка из базы в hibernate. И вот им эти nonnull/nullable побоку. Они его создадут как есть в оригинале и ничего проверять не будут, если не попросишь. Это я ещё не говорю про нативную java serialization - там даже конструктор не вызывается.
Так вот что бы это работало нужно вручную вызывать валидацию. Это типичная проблема. Тут по сути будет nonnull Шрёдингер - пока мы валидацию не запустим, не узнаем. И до валидации ничего с объектом делать нельзя.
Dropbox тоже не перезатрёт - будет создана копия файла с датой в имени, когда его не удалось синхронизировать.
Вот это не знаю - я пользуюсь обычными клиентами - нативным для Windows и DropSync для Android
А что не так с работой с файлами - там же тоже есть неблокирующий API? В Java пилят свои легковесные потоки и вроде как там всё норм работает.
У меня дежавю - лет 20 назад, когда я учился в школе и поехал на олимпиаду по информатике - там был такой вопрос. И тут ещё даже легче - есть управляемый язык и сразу сказали что числа в массиве. А тогда был C, Pascal и задание было простое - есть число в виде строки длинной 20 символов - нужно уметь складывать и вычитать. И всё. Мне тогда вообще в голову не пришло что эту строку можно рассматривать как массив символ, что бы использовать сложение в столбик. Только потом, после олимпиады, на разборе, рассказали.
В Dropbox есть история - удалили/изменили - всё можно открыть откатить.
Ну можно валидаторы прикрутить, которые бы проверяли после десериализации. Мы так и делаем.
Согласен что статей много, но не согласен что не надо писать - в каждой статье что-нибудь да найдётся новенькое. Да хотя бы в комментариях. Вот например - упомянули граф зависимостей, но в комментах добавили что он бесполезен. Хотя в других статьях авторы, где этот граф упоминали, не было таких комментариев.
Во чувак удивится, когда ему инвайт на хабр придёт. Если у него вообще эта почта осталась.
За США не скажу, но знакомые в Сингапуре подтвердят - дёшево (около 20-30$ ) за 1Гб.
Большое спасибо за ваши статьи! Спасибо за эти расшифровки докладов (видео я бы ни за что не посмотрел)!
Поддерживаю. В Java так в enum можно добавлять с запятой в конце. Удобно когда новые значения добавляешь - только плюс одна строчка в диффе. И когда удалить хочешь - тоже только её удаляешь. Я во всех enum стараюсь её использовать.
Так а почему проект отменили? Самое главное не сказали!
Ну тут я не согласен - не нравится монобогдан - заблокируй и дело с концом. Он же только один пишет про старые телефоны. А проблема сгенерированных статей - их пишет куча разных людей, их фиг всех заблокируешь.
Тоже так подумал с первых строчек - все проблемы только из-за того что вовремя не вставили катетер :-)
Ну это интернет - тут и послать могут. :-)
Но, во-первых, недовольные чаще пишут (так как если всё хорошо, то зачем писать?!), во-вторых - так у вас хоть будет разносторонние мнение :-)
Мне вообще ваша статья понравилась (в основном я их минусю :-) ). Особенно фишка про процедурные цели. Я к этому несколько лет назад пришёл, при изучении языков. Те раньше меня изучение языков (английский, немецкий) как-то демотивало, так как по сути это бесконечный процесс. А тут где-то прочитал (или сам дошёл) что типа просто трать в день сколько то минут и всё. В итоге так несколько книг прочитал, несколько тысяч слов выучил, несколько курсов закончил. И получилось что в моменте до конца далеко - ещё много надо читать, много слов учить и т.п. И это демотивировало - типа, блин, никогда не закончится! Но если поставить цель по другому - трать по 15-30 минут в день. То как-то в итоге через пол года уже есть измеримый прогресс - книги прочитаны, в reword слова выучены, в Babbel курсы пройдены.
Подобная проблема есть при Синдроме раздражённого кишечника - болит живот, но по анализам всё хорошо. Лечат антидепрессантами.