Всем привет, тут собираюсь делиться всякими разными штуками связанными с it и не только.
Подписывайтесь, если есть желание следить за мной и моими мыслями по поводу различных тем.
Так же открыл комменты поэтому с радостью готов выслушать ваше мнение в комментариях
Обещаю без спама, рекламы и всякого бреда, только самое интересное(или не очень).
Подписывайтесь, если есть желание следить за мной и моими мыслями по поводу различных тем.
Так же открыл комменты поэтому с радостью готов выслушать ваше мнение в комментариях
Обещаю без спама, рекламы и всякого бреда, только самое интересное
😍2❤🔥1
Как забавно, что в экосистеме Spring'а (фреймворк под Java) есть компоненты чуть ли не под любую задачу.
Недавно появилась необходимость в реализации машины состояний.Как самый настоящий крутой и уважающий себя разработчик Я сначала подумал, что напишу свою реализацию. Но, поискав, я нашел готовую реализацию умными дядьками в экосистеме Spring’а.
Проект Spring-StateMachine
Но есть нюанс))))
Я немного поресерчил либу и доку. Потом принялся писать код.
Все было классно до того момента пока дело не дошло до сохранения состояния в какую-нибудь БД и последующей выгрузки состояния оттуда же.
В качестве БД я выбрал Redis, потому что это модно, стильно молодежно. Ну и еще он отлично поддерживался встроенными механизмами библиотеки.
Я реализовал концепт и…. Сохранение в БД работало корректно, а вот вычитывание нагло удаляло все состояния и устанавливало их в самое начальное положение. Нигде об этой проблеме не было ни слова.
В итоге, я нашел довольно серьезную багу в библиотеке, которая тупо перезаписывала состояние перед выгрузкой.
Я написал issue на гите под проектом, но его никто не развивает последние 3 года, так что пришлось локально у себя пофиксить багу и продолжить работать дальше :(
Итог: умные дядьки не всегда такие умные какими кажутся😭 😭 😭
Недавно появилась необходимость в реализации машины состояний.
Проект Spring-StateMachine
Но есть нюанс))))
Я немного поресерчил либу и доку. Потом принялся писать код.
Все было классно до того момента пока дело не дошло до сохранения состояния в какую-нибудь БД и последующей выгрузки состояния оттуда же.
В качестве БД я выбрал Redis, потому что это модно, стильно молодежно. Ну и еще он отлично поддерживался встроенными механизмами библиотеки.
Я реализовал концепт и…. Сохранение в БД работало корректно, а вот вычитывание нагло удаляло все состояния и устанавливало их в самое начальное положение. Нигде об этой проблеме не было ни слова.
В итоге, я нашел довольно серьезную багу в библиотеке, которая тупо перезаписывала состояние перед выгрузкой.
Я написал issue на гите под проектом, но его никто не развивает последние 3 года, так что пришлось локально у себя пофиксить багу и продолжить работать дальше :(
Итог: умные дядьки не всегда такие умные какими кажутся
Please open Telegram to view this post
VIEW IN TELEGRAM
😢1😭1
Я сегодня криптоканал с прогнозами.
А я ведь знал, что он поднимется, но все равно не закупился😔 😔 😔
По моим прогнозам он скакнет до 80к, дальше халвинг и он должен упасть обратно до 40к😬 😬
А я ведь знал, что он поднимется, но все равно не закупился
По моим прогнозам он скакнет до 80к, дальше халвинг и он должен упасть обратно до 40к
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1
Интересно, интересно.
Мне всегда казалось, что Росбанк побольше Тинька будет, но походу нет.
Что-то банки в России сейчас суету наводят.
СКБ покупает Хоум, Тинька собирается отжать Росбанк.
Будет интересно как это на рынок зааффектит. Тинька вполне может больше половины дедов из Росбанка сплавить на улицу.
Мне всегда казалось, что Росбанк побольше Тинька будет, но походу нет.
Что-то банки в России сейчас суету наводят.
СКБ покупает Хоум, Тинька собирается отжать Росбанк.
Будет интересно как это на рынок зааффектит. Тинька вполне может больше половины дедов из Росбанка сплавить на улицу.
👾1
Нашел очень интересную статью про то, как развернуть Kubernetes кластер у себя на маке (!)
Не ожидал, что это может быть настолько легко. Интересно будет потестить и посмотреть сколько ресурсов будет требовать такое решение и как оно будет вести себя с относительно большими проектами.
Сама статья:
https://habr.com/p/799689/
Не ожидал, что это может быть настолько легко. Интересно будет потестить и посмотреть сколько ресурсов будет требовать такое решение и как оно будет вести себя с относительно большими проектами.
Сама статья:
https://habr.com/p/799689/
🔥1
Литкод очевидно очень хочет, чтобы я основательно заботал префиксные суммы.
Уже несколько дней стабильно в дейликах задачи на эту тему.
А еще забавно то, что я решал задачу пол года назад, но сейчас, встретив ее снова, не могу решить.
Уже несколько дней стабильно в дейликах задачи на эту тему.
А еще забавно то, что я решал задачу пол года назад, но сейчас, встретив ее снова, не могу решить.
😢1
Со всех щелей пестрят новости о том, что на новой версии MacOS 14.4 Java, да и все JVM-based языки, жестко крашатся
Это происходит из-за того, что в новой версии ОС кто-то поломал процесс обращения к защищенным областям памяти.
Теперь система с кайфом кидает SIGKILL на JVM и до свидания работа приложения.
P.S. Я как раз недавно хотел обновиться, повезло, что не стал😬
Ссылка на Хабр с подробностями:
https://habr.com/p/800721/
Это происходит из-за того, что в новой версии ОС кто-то поломал процесс обращения к защищенным областям памяти.
Теперь система с кайфом кидает SIGKILL на JVM и до свидания работа приложения.
P.S. Я как раз недавно хотел обновиться, повезло, что не стал
Ссылка на Хабр с подробностями:
https://habr.com/p/800721/
Please open Telegram to view this post
VIEW IN TELEGRAM
Habr
Java падает на arm маках с macOS 14.4
Оригинал тут . Из‑за бага в macOS 14.4 процесс Java машины может неожиданно завершиться. Это касается всех версий Джавы от 8 до 22. Нет никакого способа избежать или обойти этот...
👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Еще один день моей тотальной нелюбви к Scala.
У нас это взаимно.
Она очень любит иногда кидать меня через бедро своим неожиданным поведением. Казалось бы, код должен работать, все до боли очевидно и просто, но нет, со Scala легко не бывает.
После Java, где все понятно и логично, ты попадаешь в опасный мир функциональщины и тотальной беспомощности (если кто не знал, Scala максимально кастрированно и паршиво поддерживается в IntelliJ IDEA)
Особенно больно становится, когда тебе приходится использовать библиотеки, которые написаны на Java в мире Scala.
Везде говорят об обратной совместимости и куче плюшек (ведь оба языка работают на JVM🤡), но по факту ты гарантированно будешь сидеть и дебажить код😬 😬
Но есть нюанс)))
Даже дебаггер тебя не всегда может спасти😭
У нас это взаимно.
Она очень любит иногда кидать меня через бедро своим неожиданным поведением. Казалось бы, код должен работать, все до боли очевидно и просто, но нет, со Scala легко не бывает.
После Java, где все понятно и логично, ты попадаешь в опасный мир функциональщины и тотальной беспомощности (если кто не знал, Scala максимально кастрированно и паршиво поддерживается в IntelliJ IDEA)
Особенно больно становится, когда тебе приходится использовать библиотеки, которые написаны на Java в мире Scala.
Везде говорят об обратной совместимости и куче плюшек (ведь оба языка работают на JVM🤡), но по факту ты гарантированно будешь сидеть и дебажить код
Но есть нюанс)))
Даже дебаггер тебя не всегда может спасти
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴2
Как мне нравится, когда у тебя за плечами 400+ задач на LeetCode, но ты встречаешь очередной медиум с 60% Acceptance и жестко валишься на нем.
PS: 60% означает, что у других пользователей эта задача залетала почти с первого раза.
Очень интересно устроено, кому-то хватает 150 задач для унижения 90% других, а кто-то после 400 задач все еще не всегда может решить медиум.
Многие говорят, что для подготовки за глаза хватает 3 месяца ежедневного решение от 2-3х задач, но на моей практике даже после ежедневного решения задач (иногда 10 в день) нет уверенности в том, что очередной медиум ты раскидаешь за 10 минут, попивая смузи.
Возможно дело в подходе к решению, возможно не хватает базы, возможно залетные ребята со 150 задач - это обычная ошибка выжившего.
Нельзя сказать наверняка, ведь этой чистый воды рандом - ты либо смог решить, либо идешь отдыхать на дизморали.
PSS: Вот очередная задача, которая заставила меня сомневаться в своем умении решать алгоритмические задачи - Task Scheduler
PS: 60% означает, что у других пользователей эта задача залетала почти с первого раза.
Очень интересно устроено, кому-то хватает 150 задач для унижения 90% других, а кто-то после 400 задач все еще не всегда может решить медиум.
Многие говорят, что для подготовки за глаза хватает 3 месяца ежедневного решение от 2-3х задач, но на моей практике даже после ежедневного решения задач (иногда 10 в день) нет уверенности в том, что очередной медиум ты раскидаешь за 10 минут, попивая смузи.
Возможно дело в подходе к решению, возможно не хватает базы, возможно залетные ребята со 150 задач - это обычная ошибка выжившего.
Нельзя сказать наверняка, ведь этой чистый воды рандом - ты либо смог решить, либо идешь отдыхать на дизморали.
PSS: Вот очередная задача, которая заставила меня сомневаться в своем умении решать алгоритмические задачи - Task Scheduler
😨1
Последние 3 дня я был загружен, поэтому от меня ускользнула новость про выход Java 22.
Многие фичи перенесли из Java 21 в режиме preview.
Однако некоторые другие фичи попали в основную сборку языка, их я разберу и потыкаю позже.
Радует что Java активно развивается, но печально, что многие компании так и сидят на Java 8/11. За редким исключением бывают проекты на Java 17.
Кровавый интерпрайз, что уж говорить😭 😭
Многие фичи перенесли из Java 21 в режиме preview.
Однако некоторые другие фичи попали в основную сборку языка, их я разберу и потыкаю позже.
Радует что Java активно развивается, но печально, что многие компании так и сидят на Java 8/11. За редким исключением бывают проекты на Java 17.
Кровавый интерпрайз, что уж говорить
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👨💻1
Сегодня столкнулся с забавным фактом.
В Java есть встроенный модуль для работы с различными http-запросами.
Основной класс, который используется для отправки и получения данных - это HttpURLConnection.
Забавный факт заключается в том, что этот класс не умеет в PATCH запросы. При попытке отправить его, мы получаем нагло в лицо exception:
Самое печальное, что модуль по умолчанию используется в довольной популярной библиотеке OpenFeign, а чтобы пофиксить эту проблему предлагается подключить другую библиотеку для работы с http-запросами (которая внезапно уже умеет в PATCH)
В общем, не перестаю удивляться сюрпризам из мира разработки⛹️♂️ ⛹️♂️
В Java есть встроенный модуль для работы с различными http-запросами.
Основной класс, который используется для отправки и получения данных - это HttpURLConnection.
Забавный факт заключается в том, что этот класс не умеет в PATCH запросы. При попытке отправить его, мы получаем нагло в лицо exception:
Invalid HTTP method: PATCH
Напомню, что PATCH официально принятый http-метод, вот ссылка на RFC-стандарт к нему.Самое печальное, что модуль по умолчанию используется в довольной популярной библиотеке OpenFeign, а чтобы пофиксить эту проблему предлагается подключить другую библиотеку для работы с http-запросами (
В общем, не перестаю удивляться сюрпризам из мира разработки
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓1