Spring Boot 4: чтобы перенести ключи конфигурации, временно используйте
✅ При запуске и в логах он показывает, какие ключи устарели.
✅ Обновите ключи, затем удалите зависимость.
#SpringBoot4 #Migration
👉 Java Portal
properties-migrator как помощник.✅ При запуске и в логах он показывает, какие ключи устарели.
✅ Обновите ключи, затем удалите зависимость.
#SpringBoot4 #Migration
Please open Telegram to view this post
VIEW IN TELEGRAM
MIT 6.824 (распределённые системы) — один из лучших бесплатных инженерных курсов в интернете.
Вместо чистой теории весь курс построен вокруг чтения и разбора фундаментальных работ из реальных систем:
GFS (Google File System) — архитектура с одним главным узлом, распределение чанков и работа с eventual consistency при больших нагрузках на добавление данных.
Raft — выбор лидера, репликация журнала и инварианты безопасности. Алгоритм разбирается намного доступнее, чем Paxos.
ZooKeeper — координация без блокировок, системы с преобладанием чтения, линейно согласованные записи и eventual consistency для чтений через watches.
Spanner — глобально распределённые транзакции, двухфазный commit поверх Paxos и использование TrueTime (атомные часы + GPS) для обеспечения внешней согласованности.
Также в курсе разбираются MapReduce, Spark, Frangipani, Memcached от Facebook и другие системы.
Если хотите выйти за пределы поверхностного system design и понять, как внутри устроены реальные распределённые хранилища и системы консенсуса, этот курс — настоящий клад.
Плейлист: https://youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB
👉 Java Portal
Вместо чистой теории весь курс построен вокруг чтения и разбора фундаментальных работ из реальных систем:
GFS (Google File System) — архитектура с одним главным узлом, распределение чанков и работа с eventual consistency при больших нагрузках на добавление данных.
Raft — выбор лидера, репликация журнала и инварианты безопасности. Алгоритм разбирается намного доступнее, чем Paxos.
ZooKeeper — координация без блокировок, системы с преобладанием чтения, линейно согласованные записи и eventual consistency для чтений через watches.
Spanner — глобально распределённые транзакции, двухфазный commit поверх Paxos и использование TrueTime (атомные часы + GPS) для обеспечения внешней согласованности.
Также в курсе разбираются MapReduce, Spark, Frangipani, Memcached от Facebook и другие системы.
Если хотите выйти за пределы поверхностного system design и понять, как внутри устроены реальные распределённые хранилища и системы консенсуса, этот курс — настоящий клад.
Плейлист: https://youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤔2👍1
Используйте
✅
✅
#Java #Files
👉 Java Portal
Files.isSameFile(a, b), чтобы проверить, указывают ли два пути на один и тот же файл.✅
Path.equals сравнивает только текстовое представление пути.✅
isSameFile проверяет реальный файл и учитывает симлинки.#Java #Files
Please open Telegram to view this post
VIEW IN TELEGRAM
В Spring Boot 4 больше нет поддержки Undertow — теперь рекомендуется использовать Tomcat или Jetty.
Что изменилось:
* Undertow несовместим с Servlet 6.1.
* Вместо
* Не разворачивайте приложения на Spring Boot 4 в старых сервлет-контейнерах.
👉 Java Portal
Что изменилось:
* Undertow несовместим с Servlet 6.1.
* Вместо
starter-undertow используйте Tomcat (по умолчанию) или Jetty.* Не разворачивайте приложения на Spring Boot 4 в старых сервлет-контейнерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Лучшие инженеры не изучают распределённые системы по поверхностным пересказам. Они сразу обращаются к фундаментальным научным статьям. Чтение таких работ помогает понять, почему системы спроектированы именно так, а не просто научиться ими пользоваться.
Вот пять классических статей всех времён, которые должен прочитать каждый разработчик.
1. The Google File System (2003)
Почему стоит прочитать: статья изменила подход всей индустрии, предложив считать отказ компонентов нормой, а не исключением. В ней описано, как построить масштабную отказоустойчивую распределённую систему хранения данных на базе недорогого массового оборудования, оптимизировав её под интенсивную последовательную дозапись вместо произвольной записи.
Ссылка: https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf
2. Dynamo: Amazon’s Highly Available Key-Value Store (2007)
Почему стоит прочитать: исчерпывающий разбор того, как пожертвовать согласованностью ради высокой доступности — AP в теореме CAP. В статье изложены ключевые паттерны, лежащие в основе масштабируемых NoSQL-хранилищ: консистентное хеширование, векторные часы, gossip-протоколы и настраиваемый кворум для операций чтения и записи.
Ссылка: https://allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
3. In Search of an Understandable Consensus Algorithm (Raft) (2014)
Почему стоит прочитать: Paxos печально известен тем, насколько сложно его понять и корректно реализовать, тогда как Raft делает концепцию реплицируемых конечных автоматов более доступной. Алгоритм разбивает задачу консенсуса на отдельные подзадачи, которые легко анализировать: выбор лидера, репликацию журнала и обеспечение безопасности.
Ссылка: https://raft.github.io/raft.pdf
4. Spanner: Google’s Globally-Distributed Database (2012)
Почему стоит прочитать: статья показывает, как добиться строгой сериализуемости и внешней согласованности между дата-центрами по всему миру. Секрет — API Google TrueTime, ограничивающий неопределённость времени с помощью синхронизированных GPS-приёмников и атомных часов.
Ссылка: https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
5. Time, Clocks, and the Ordering of Events in a Distributed System
Почему стоит прочитать: на физическое время нельзя полагаться при работе с независимыми узлами. Лэмпорт вводит логические часы и фундаментальное отношение «произошло до» (happened-before), лежащее в основе упорядочивания событий в современных распределённых сетях.
Ссылка: https://amturing.acm.org/p558-lamport.pdf
👉 Java Portal
Вот пять классических статей всех времён, которые должен прочитать каждый разработчик.
1. The Google File System (2003)
Почему стоит прочитать: статья изменила подход всей индустрии, предложив считать отказ компонентов нормой, а не исключением. В ней описано, как построить масштабную отказоустойчивую распределённую систему хранения данных на базе недорогого массового оборудования, оптимизировав её под интенсивную последовательную дозапись вместо произвольной записи.
Ссылка: https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf
2. Dynamo: Amazon’s Highly Available Key-Value Store (2007)
Почему стоит прочитать: исчерпывающий разбор того, как пожертвовать согласованностью ради высокой доступности — AP в теореме CAP. В статье изложены ключевые паттерны, лежащие в основе масштабируемых NoSQL-хранилищ: консистентное хеширование, векторные часы, gossip-протоколы и настраиваемый кворум для операций чтения и записи.
Ссылка: https://allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
3. In Search of an Understandable Consensus Algorithm (Raft) (2014)
Почему стоит прочитать: Paxos печально известен тем, насколько сложно его понять и корректно реализовать, тогда как Raft делает концепцию реплицируемых конечных автоматов более доступной. Алгоритм разбивает задачу консенсуса на отдельные подзадачи, которые легко анализировать: выбор лидера, репликацию журнала и обеспечение безопасности.
Ссылка: https://raft.github.io/raft.pdf
4. Spanner: Google’s Globally-Distributed Database (2012)
Почему стоит прочитать: статья показывает, как добиться строгой сериализуемости и внешней согласованности между дата-центрами по всему миру. Секрет — API Google TrueTime, ограничивающий неопределённость времени с помощью синхронизированных GPS-приёмников и атомных часов.
Ссылка: https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
5. Time, Clocks, and the Ordering of Events in a Distributed System
Почему стоит прочитать: на физическое время нельзя полагаться при работе с независимыми узлами. Лэмпорт вводит логические часы и фундаментальное отношение «произошло до» (happened-before), лежащее в основе упорядочивания событий в современных распределённых сетях.
Ссылка: https://amturing.acm.org/p558-lamport.pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
Уже очевидно, что ВАЙБКОДИНГ — главный навык ближайших лет
Посмотрите сами. ИИ уже забирает на себя работу целых команд: пишет код, закрывает задачи джунов и позволяет стартапам запускать продукты в 2–3 раза меньшим составом. То, на что раньше нужны были несколько разработчиков, сегодня всё чаще делает один человек с ИИ-агентами.
И это только начало. Те, кто освоит вайбкодинг сейчас, смогут быстрее запускать проекты, автоматизировать огромный объём работы, увереннее конкурировать на рынке и зарабатывать больше тех, кто продолжает делать всё вручную.
Начать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.
Подписывайтесь, нас уже 50 тысяч: @vibecoding_tg
Посмотрите сами. ИИ уже забирает на себя работу целых команд: пишет код, закрывает задачи джунов и позволяет стартапам запускать продукты в 2–3 раза меньшим составом. То, на что раньше нужны были несколько разработчиков, сегодня всё чаще делает один человек с ИИ-агентами.
И это только начало. Те, кто освоит вайбкодинг сейчас, смогут быстрее запускать проекты, автоматизировать огромный объём работы, увереннее конкурировать на рынке и зарабатывать больше тех, кто продолжает делать всё вручную.
Начать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.
Подписывайтесь, нас уже 50 тысяч: @vibecoding_tg
💊10
SELECT FOR UPDATE в PostgreSQL на самом деле выполняет запись.На heap-странице Postgres у каждого tuple есть заголовок с метаданными этой записи.
Когда транзакция выполняет
SELECT FOR UPDATE, у найденных строк обновляется заголовок: они помечаются как заблокированные, а в xmax записывается идентификатор транзакции, которая установила блокировку.В частности, в заголовке
infomask выставляются два бита:HEAP_XMAX_EXCL_LOCK и HEAP_XMAX_LOCK_ONLY.Из-за этого страница становится dirty, а изменение также попадает в WAL. Позже WAL может быть отправлен на standby-реплику.
Сама dirty-страница затем может быть сброшена на диск фоновым процессом.
После коммита блокировка снимается.
Забавно, что операция чтения в итоге может вызвать целую цепочку операций записи на диск.
раться с новой возможностью.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👀2
Тюнинг производительности Spring Boot.
https://vladmihalcea.com/spring-boot-performance-tuning/
👉 Java Portal
https://vladmihalcea.com/spring-boot-performance-tuning/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4
JetBrains переносит возможности IntelliJ IDEA в другие редакторы.
Новое расширение Java & Kotlin by IntelliJ IDEA уже доступно в предварительной версии для VS Code и всех его форков, включая Cursor и Antigravity.
Возможности IntelliJ IDEA — теперь в любом редакторе, где вы работаете.🙂↔️
👉 Java Portal
Новое расширение Java & Kotlin by IntelliJ IDEA уже доступно в предварительной версии для VS Code и всех его форков, включая Cursor и Antigravity.
Возможности IntelliJ IDEA — теперь в любом редакторе, где вы работаете.
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
IntelliJ IDEA Goes LSP: Java and Kotlin Intelligence Comes to VS Code, Cursor, and Agentic Flows - The JetBrains Blog
It’s no secret that agentic development is changing how developers build software. As agents take on more and more of the implementation work, developers spend less and less time manually editing code
Spring Boot 4: проверка null-safety через JSpecify.
Более понятные контракты
Лучший статический анализ в IDE.
#SpringBoot4 #JSpecify
👉 Java Portal
Более понятные контракты
@Nullable / @NonNull.Лучший статический анализ в IDE.
#SpringBoot4 #JSpecify
Please open Telegram to view this post
VIEW IN TELEGRAM