EN
creator cover Уголок сельского джависта

Уголок сельского джависта

Рассказываю о разработке ПО на платформе Java
Уголок сельского джависта
10
subscribers
goals
0 of $ 105 921 money raised
🏡 На строительство дома
0 of $ 105 921 money raised
🚘 На Chevrolet Tahoe

About the creator

Я - сельский джавист, и друзья меня зовут Шурик. А это сообщество моего профессионального блога, посвящённого разработке программного обеспечения на платформе Java. Я тут рассказываю о Java, Kotlin, Spring и многом другом.
Я подумал и решил, что неплохо было бы рассказать, о том, что я могу рассказать, в каком формате и перечислить мои ресурсы в Интернете и что я на них буду публиковать.
Темы и форматы
За 12 лет разработки серверного ПО под Linux на платформе Java в связке с экосистемой Spring у меня накопилась уйма знаний и опыта применения связки Linux, Java и Spring, так что это основные темы моих материалов. Но кроме них я могу рассказать о Kotlin, Groovy, Jakarta EE, Apache Camel, Micronaut, Helidon, Quakrus и о многом другом. Было бы только время на это всё.
Материалы я стараюсь выкладывать на всех площадках одновременно.
Основные два формата, в которых я делюсь с вами знаниями - это статьи и ролики, ещё хочу попробовать онлайн-трансляции, но с ними пока всё сложнее.
Ресурсы
Раз мы находимся на моей странице в Boosty, то начнём с него. В Boosty я публикую ролики и публикации о своих новых материалах. Здесь вы также можете поддержать проект. Кстати, один постоянный подписчик у меня уже есть, скромно, но уже что-то!
На сайте я публикую исключительно ролики и статьи. Новости об обновлениях различных фреймворков здесь будут появляться только в виде статей и то, если я захочу подробно разобрать обновления с примерами кода.
В своём сообществе в VK я публикую вообще всё: ролики, статьи и публикации обо всём, что считаю важным. Если хочется быть в курсе всех событий моих ресурсов, то моё сообщество в VK - для вас.
Также тут можно финансово поддержать мой скромный проект.
В Telegram я публикую посты о новых публикациях: роликах и статьях, а так же заметки о блоге. Флудить и делать посты не по теме здесь я не буду, так что можете не отключать уведомления, чтобы быть в курсе последних новостей. Telegram подходит для связи со мной, в том числе и быстрой.
На своём канале в Дзене я публикую ролики и публикации обо всём, что считаю важным. Полных версий статей в Дзене не будет, так как редактор не позволяет красиво оформлять блоки кода. Если когда-нибудь это изменится, то статьи в Дзене тоже появятся.
В YouTube я публикую только ролики.
В Rutube я тоже публикую только ролики.
О поддержке проекта
На написание статей и роликов уходит уйма времени: нужно освежить знания об освещаемой теме, проверить всё на практике, хотя бы на демонстрационном проекте, затем написать статью, вычитать, откорректировать и так далее. Короче говоря, это трудный и ресурсоёмкий процесс сравнимый с настоящей работой.
И при этом всём я хочу сделать свои материалы доступными для всех, поэтому я не собираюсь продавать свои статьи и ролики. Может быть, я сделаю ранний доступ для спонсоров к своим материалам, но такая идея мне тоже не очень нравится. И чтобы иметь дополнительный стимул развивать проект дальше я вернул рекламные баннеры на свой сайт и надеюсь на вашу поддержку.
Ну, а поддержать проект вы можете в тех же VK, Boosty и Tinkoff
Available to everyone
Sep 17 06:26
Транзакции - Spring Framework в деталях
Транзакции являются важным инструментом для построения отказоустойчивых информационных систем, работающих в условиях постоянной высокой нагрузки и обеспечивающих одновременную работу десятков, сотен, а то и тысяч пользователей.
В этом ролике я постарался рассказать про проблемы, возникающие в многопользовательских информационных системах, про транзакции и требования ACID к транзакционным системам, уровни изолированности и распространение транзакций, а так же демонстрирую API для управления транзакциями, предоставляемые Spring Framework.
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Aug 16 15:00
Инструменты логгирования для платформы Java
Современные информационные системы сложно представить себе без логгирования, ценность которого сложно перееоценить. В случае возникновения каких-то непредвиденных ситуаций лог или журнал событий будет первым и, возможно, главным источником информации, на основе которой вы сможете определить причины непредвиденного поведения или ошибок, а затем исправить их. Для записи события в лог вы можете использовать System.out, System.err и PrintStream в целом, но лучше для этого использовать специализированные инструменты: логгеры и фасады логгирования, о которых пойдёт речь в этом обзорном ролике. При подготовке к этому ролику я постарался разобраться с подавляющим большинством современных инструментов логгирования для проектов на платформе Java и сформулировать какие-то выводы. Надеюсь, после просмотра этого ролика вам станет понятнее, что есть что в списе JUL, JCL, log4j, log4j 2, SLF4J и т.д., а так же, что стоит использовать, а что - нет.
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Aug 08 15:00
XML-конфигурация АОП в Spring Framework
Кроме AspectJ-стиля Spring Framework предоставляет возможность настройки компонентов аспектно-ориентированного программирования в XML. В этом ролике я продемонстрирую пример настройки при помощи XML точек среза, советов, введений и советников.
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Aug 07 12:36
Валидация методов — Jakarta Bean Validation
В этой статье, посвящённой Jakarta Bean Validation, будет подробно рассмотрен процесс валидации методов, а также применение ограничений к аргументам и возвращаемым значениям методов и конструкторов. Кроме этого будет рассмотрено каскадирование валидации, а так же нюансы валидации методов при использовании наследования.
Log in, to post comments
Available to everyone
Jul 27 15:00
АОП в Spring Framework
Наряду с контейнером инверсии управления и внедрением зависимостей важной составляющей Spring Framework является реализация аспектно-ориентированного программирования (АОП), основная задача которого — внедрение сквозной логики в приложение. Под сквозной логикой понимается логика, применимая одновременно ко множеству компонентов, такая как управления транзакциями, доступом, журналирование и т.д.
В Spring Framework и других фреймворках из его экосистемы аспектно-ориентированное программирование используется для неявного добавления сквозной логики к пользовательским компонентам. Так, например, непосредственно в самом Spring Framework реализовано декларативное управление транзакциями с использованием аннотации @Transactional, а в Spring Security — контроль доступа с использованием аннотаций @PreAuthorize и @PostAuthorize.
00:01:30 Что такое аспектно-ориентированное программирование
00:04:07 Компоненты АОП
00:06:33 Виды связывания
00:11:06 Необходимые зависимости, проект и поддержка АОП
00:14:39 Аспект (Aspect)
00:16:00 Точки среза (Pointcut)
00:49:37 Советы (Advice)
#java #spring #springframework #aop #aspectj #aspectorientedprogramming
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Jul 18 18:00
Jakarta Bean Validation 3.0 - Jakarta EE
Jakarta Bean Validation — это спецификация, описывающая API для валидации объектов в рамках Jakarta EE. Вы можете использовать данную спецификацию для валидации в проектах вне зависимости от используемого фреймворка или сервера приложений. Более того, вы можете использовать Jakarta Bean Validation в полностью самостоятельных проектах, не основанных на Jakarta EE или каком-либо фреймворке.
На моём сайте есть статья про Bean Validation, которую я написал в 2018 году. Примечательна эта статья какой-то нездоровой популярностью, если сравнивать с другими статьями на моём сайте. Поэтому я решил: раз уж немногочисленные посетители моего сайта настолько часто просматривают эту статью, надо бы её обновить, а заодно и записать ролик. Тем более, что за 5 лет произошли небольшие изменения.
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Jul 15 16:52
CSRF – Spring Security в деталях
Наверняка каждый разработчик веб-приложений или сайтов на практике сталкивался с защитой от CSRF-атак, предоставляемой фреймворками и библиотеками. В фреймворке Spring Security защита от этого вида эксплойтов тоже присутствует, однако многие начинающие разработчики предпочитают отключать её, не пытаясь разобраться в природе CSRF-атак, способах защиты от них и правильном использовании средств защиты.
В этой статье будет описан принцип действия CSRF-атаки и продемонстрированы несколько вариантов приведения таких атак. Затем будут перечислены признаки уязвимости веб-приложений перед CSRF-атаками и способы защиты от них. После этого будет подробно описана защита от CSRF-атак, предоставляемая Spring Security: компоненты, реализующие её, и их настройка. В завершение статьи будет описано несколько сценариев использования защиты от CSRF-атак в разных видах веб-приложений: в сайтах со статическими страницами, в сайтах с асинхронными запросами и в одностраничных веб-приложениях (SPA, PWA).
Log in, to post comments
Available to everyone
Jul 14 15:00
SimpleJdbcInsert - Spring Framework JDBC
Решил я проанализировать источники трафика на моём сайте и обнаружил, что на сайт частенько заходят в поисках информации о SimpleJdbcInsert, о чём я толком не рассказывал. Соответствующая статья на сайте уже есть, а теперь я решил записать и ролик, заодно разбавить поток роликов о Spring Security.
SimpleJdbcInsert - один из вспомогательных инструментов, предоставляемых Spring Framework JDBC для работы с реляционными базами данных, задача которого - предоставить удобный механизм для вставки новых строк в таблицы. В этом ролике я хочу рассказать о создании и настройке экземпляра класса SimpleJdbcInsert, а так же использовании его для вставки новых строк в таблицу базы данных.
Репозиторий с примерами кода: https://github.com/alex-kosarev/spring-jdbc-in-details-simple-jdbc-insert
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Jul 10 17:00
Cross-Site Resource Forgery (CSRF) - Spring Security
Spring Security кроме аутентификации и авторизации предоставляет инструменты для противодействия эксплойтам, например, межсайтовой подделки запросов (Cross-site Resource Forgery; CSRF).
В этом ролике я расскажу о природе CSRF-атак, продемонстрирую несколько примеров, а так же расскажу о том, как можно защититься от них, в том числе при помощи Spring Security.
Статья о маскировке CSRF-токена: https://alexkosarev.name/2023/01/12/spring-security-mask-csrf/
00:00 Вступление
01:13 Природа CSRF-атак
05:13 Проект
07:30 Примеры CSRF-атак
15:43 Способы защиты от CSRF-атак
22:35 Компоненты защиты от CSRF-атак в Spring Security
33:47 Сценарии использования защиты от CSRF-атак
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments
Available to everyone
Jul 07 15:00
JWT-аутентификация для веб-приложений - Spring Security
В отличие от нативных приложений, веб-приложения самостоятельно не могут сохранять аутентификационные данные в безопасном месте, следовательно, продемонстрированный в предыдущем ролике способ получения ключей доступа не актуален для веб-приложений.
В случае с последними аутентификационные данные правильнее всего хранить в HTTP-куках, доступ к которым имеет только серверная сторона.
В этом ролике я продемонстрирую реализацию сохранения куки с JWT-токеном и дальнейшую аутентификацию при её помощи.
Репозиторий проекта: https://github.com/alex-kosarev/spring-security-jwt
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Tinkoff: https://www.tinkoff.ru/cf/4PEOiVCZQuS
Log in, to post comments

Subscription levels

🤝 Благодарный подписчик

$ 2,12 per month
Для всех тех, кому не жалко 200 рублей в месяц в знак благодарности за мои статьи и ролики. Никаких преференций это пока не даёт, просто поддержка автора.
Go up