Уголок сельского джависта
Open in Telegram
Пишу на Java и Kotlin, иногда полную ерунду, люто топлю за Spring и чистую архитектуру. Консультирую. Чат: https://t.me/shurik_codes_group
Show more2 044
Subscribers
No data24 hours
+37 days
+1930 days
Posts Archive
Что нового в JDK 21
Догоняя уходящий поезд хайпа по релизу 21 версии платформы Java, рассказываю о том, что нового и интересного на мой взгляд появилось в языке программирования и на платформе Java.
В этом ролике я не преследую целью рассказать в подробностях вообще обо всех изменениях, остановлюсь только на наиболее значимых и важных для большинства разработчиков с моей точки зрения.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
#java #jdk #jdk21
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
Вот так сидишь себе, никого не трогаешь, и узнаёшь, что JDK 21 - LTS..., а я думал, что следующий LTS - 23
Транзакции - Spring Framework в деталях
Транзакции являются важным инструментом для построения отказоустойчивых информационных систем, работающих в условиях постоянной высокой нагрузки и обеспечивающих одновременную работу десятков, сотен, а то и тысяч пользователей.
В этом ролике я постарался рассказать про проблемы, возникающие в многопользовательских информационных системах, про транзакции и требования ACID к транзакционным системам, уровни изолированности и распространение транзакций, а так же демонстрирую API для управления транзакциями, предоставляемые Spring Framework.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
#java #spring #springframework #транзакции #transaction
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
Друзья, всем привет! Так получилось, что по прибытии домой после отдыха на море я простыл( То ли чихнул на меня кто, то ли аллергия на курганскую осень, которая нынче весьма сырая. Так что новые материалы опять задерживаются, а планы у меня прям наполеоновские: транзакции, логгеры, архитектура, микросервисы и даже k18s. Ну, а пока можете насладиться видами зауральской природы.
Я перезалил исправленный ролик на YouTube, Rutube, VK и Boosty, на Дзене будет завтра (не хочет он принимать в кодеке H.264), спасибо за просмотр!
❗️ Друзья! Я с ужасом обнаружил, что накосячил с монтажом, так что сегодня или завтра будет перезалив видео с исправлениями
Инструменты логгирования для платформы Java
Современные информационные системы сложно представить себе без логгирования, ценность которого сложно перееоценить. В случае возникновения каких-то непредвиденных ситуаций лог или журнал событий будет первым и, возможно, главным источником информации, на основе которой вы сможете определить причины непредвиденного поведения или ошибок, а затем исправить их. Для записи события в лог вы можете использовать System.out, System.err и PrintStream в целом, но лучше для этого использовать специализированные инструменты: логгеры и фасады логгирования, о которых пойдёт речь в этом обзорном ролике. При подготовке к этому ролику я постарался разобраться с подавляющим большинством современных инструментов логгирования для проектов на платформе Java и сформулировать какие-то выводы. Надеюсь, после просмотра этого ролика вам станет понятнее, что есть что в списе JUL, JCL, log4j, log4j 2, SLF4J и т.д., а так же, что стоит использовать, а что - нет.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
#java #logging #jul #jcl #slf4j #log4j #log4j2 #jbosslogging #jbosslogmanager #logback
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
XML-конфигурация АОП в Spring Framework
Кроме AspectJ-стиля Spring Framework предоставляет возможность настройки компонентов аспектно-ориентированного программирования в XML. В этом ролике я продемонстрирую пример настройки при помощи XML точек среза, советов, введений и советников.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
#java #spring #springframework #aop #aspectj #aspectorientedprogramming
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
Валидация методов — Jakarta Bean Validation
В этой статье, посвящённой Jakarta Bean Validation, будет подробно рассмотрен процесс валидации методов, а также применение ограничений к аргументам и возвращаемым значениям методов и конструкторов. Кроме этого будет рассмотрено каскадирование валидации, а так же нюансы валидации методов при использовании наследования.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
#java #jakarta #jakartaee #beanvalidation
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
АОП в Spring Framework
Наряду с контейнером инверсии управления и внедрением зависимостей важной составляющей Spring Framework является реализация аспектно-ориентированного программирования (АОП), основная задача которого — внедрение сквозной логики в приложение. Под сквозной логикой понимается логика, применимая одновременно ко множеству компонентов, такая как управления транзакциями, доступом, журналирование и т.д.
В Spring Framework и других фреймворках из его экосистемы аспектно-ориентированное программирование используется для неявного добавления сквозной логики к пользовательским компонентам. Так, например, непосредственно в самом Spring Framework реализовано декларативное управление транзакциями с использованием аннотации Transactional, а в Spring Security — контроль доступа с использованием аннотаций PreAuthorize и PostAuthorize.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
#java #spring #springframework #aop #aspectj #aspectorientedprogramming
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
Итак, сегодня в 15:00 МСК, ролик, на подготовку к которому я потратил просто невероятное количество времени. Надеюсь, вам понравится.
Друзья! Я никуда не пропал, и знаю, что на дворе уже вторник, а я не обрадовал до сих пор вас новым роликом!
Поскольку в планах есть написание материалов про управление транзакциями в Spring Framework и безопасность методов в Spring Security я очень основательно готовлюсь рассказать вам о том, что такое аспектно-ориентированное программирование в контексте Spring Framework. И если честно, то у меня уже голова кругом идёт от объёма переваренной информации, названий компонентов и ущербности перевода на русский язык соответствующей литературы.
Так что ждите, на этой неделе будут и ролик, и статья!
#java #spring #aop
Знакомство с Jakarta Bean Validation 3.0
Jakarta Bean Validation — это спецификация, описывающая API для валидации объектов в рамках Jakarta EE. Вы можете использовать данную спецификацию для валидации в проектах вне зависимости от используемого фреймворка или сервера приложений. Более того, вы можете использовать Jakarta Bean Validation в полностью самостоятельных проектах, не основанных на Jakarta EE или каком-либо фреймворке.
Идейным предшественником Jakarta Bean Validation 3.0 является Bean Validation 2.0 из Java EE, однако все изменения в спецификации заключаются в переименованиях, связанных с миграцией проекта из Java EE в Jakarta EE.
В рамках этой статьи будет рассмотрен минимальный набор зависимостей, необходимый для использования Jakarta Bean Validation, описаны основные интерфейсы и ограничения или правила валидации.
📖 Читать на сайте
📖 Читать в VK
📖 Читать на Telegraph
Валидация объектов — Jakarta Bean Validation
В этой статье, посвящённой Jakarta Bean Validation, будет подробно рассмотрен процесс валидации объектов: применение ограничений к элементам классов, их валидация, а также валидация записей (record).
📖 Читать на сайте
📖 Читать в VK
📖 Читать на Telegraph
🌐 Ролик о Jakarta Bean Validation
#java #jakarta #jakartaee #beanvalidation
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
Jakarta Bean Validation 3.0 - Jakarta EE
Jakarta Bean Validation — это спецификация, описывающая API для валидации объектов в рамках Jakarta EE. Вы можете использовать данную спецификацию для валидации в проектах вне зависимости от используемого фреймворка или сервера приложений. Более того, вы можете использовать Jakarta Bean Validation в полностью самостоятельных проектах, не основанных на Jakarta EE или каком-либо фреймворке.
На моём сайте есть статья про Bean Validation, которую я написал в 2018 году. Примечательна эта статья какой-то нездоровой популярностью, если сравнивать с другими статьями на моём сайте. Поэтому я решил: раз уж немногочисленные посетители моего сайта настолько часто просматривают эту статью, надо бы её обновить, а заодно и записать ролик. Тем более, что за 5 лет произошли небольшие изменения.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
#java #jakarta #jakartaee #beanvalidation
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
У меня на сайте есть статья про Java Bean Validation 2.0, которая по какой-то причине является самой популярной среди немногочисленных посетителей моего сайта.
Но назвать её очень информативной я не могу, поэтому решил её переписать с прицелом на Jakarta Bean Validation 3.0, а заодно записать ролик.
Премьера состоится сегодня в 18:00 МСК, приготовьте себе поесть, попить и откройте форточки пошире, ибо я с первой же попытки надушнил практически на два часа, но надеюсь вы найдёте для себя что-нибудь полезное в этом ролике.
В текстовом виде статья будет опубликована на этой неделе, либо поделена на несколько частей и опубликована постепенно.
CSRF – Spring Security в деталях
Наверняка каждый разработчик веб-приложений или сайтов на практике сталкивался с защитой от CSRF-атак, предоставляемой фреймворками и библиотеками. В фреймворке Spring Security защита от этого вида эксплойтов тоже присутствует, однако многие начинающие разработчики предпочитают отключать её, не пытаясь разобраться в природе CSRF-атак, способах защиты от них и правильном использовании средств защиты.
В этой статье будет описан принцип действия CSRF-атаки и продемонстрированы несколько вариантов приведения таких атак. Затем будут перечислены признаки уязвимости веб-приложений перед CSRF-атаками и способы защиты от них. После этого будет подробно описана защита от CSRF-атак, предоставляемая Spring Security: компоненты, реализующие её, и их настройка. В завершение статьи будет описано несколько сценариев использования защиты от CSRF-атак в разных видах веб-приложений: в сайтах со статическими страницами, в сайтах с асинхронными запросами и в одностраничных веб-приложениях (SPA, PWA).
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
#java #springsecurity #csrf
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
SimpleJdbcInsert - Spring Framework JDBC
Решил я проанализировать источники трафика на моём сайте и обнаружил, что на сайт частенько заходят в поисках информации о SimpleJdbcInsert, о чём я толком не рассказывал. Соответствующая статья на сайте уже есть, а теперь я решил записать и ролик, заодно разбавить поток роликов о Spring Security.
SimpleJdbcInsert - один из вспомогательных инструментов, предоставляемых Spring Framework JDBC для работы с реляционными базами данных, задача которого - предоставить удобный механизм для вставки новых строк в таблицы. В этом ролике я хочу рассказать о создании и настройке экземпляра класса SimpleJdbcInsert, а так же использовании его для вставки новых строк в таблицу базы данных.
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube
▶️ Смотреть на YouTube
📖 Статья на сайте
🌐 Репозиторий с примерами кода
#java #spring #springframework #jdbc
🌐 Сайт 🌐 Паблик в VK 🌐 Канал в Telegram
💰 Стать доном 💵 Донаты в Boosty 💸 Донаты в Tinkoff
