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

@shurik_codes


Пишу на Java и Kotlin, иногда полную ерунду, люто топлю за Spring и чистую архитектуру. Консультирую.

Чат: https://t.me/shurik_codes_group

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

22 Oct, 06:24


Redis: основные типы данных и операции

Redis — это популярная нереляционная база данных, реализующая хранилище типа "Ключ — Значение". Данная статья посвящена основным типам данных и операциям и является вступительной к серии статей о Redis, в рамках которой будет рассматриваться и работа с Redis при помощи Spring Data.

📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
📖 Читать в Дзене

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#redis #nosql

P.S.: не за горами вводная статья об очередях сообщений

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

13 Oct, 06:14


📖 Установка JDK в Windows

В предыдущей статье вкратце было рассказано про JDK, JRE И JVM, а в этой статье я предлагаю рассмотреть три способа установки JDK в операционной системе Windows: при помощи инсталлятора, утилитой winget и вручную.

📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
📖 Читать в Дзене

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #jdk #windows

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

07 Oct, 06:59


Podlodka Techlead Crew – онлайн-конференция для техлидов и опытных инженеров, которая пройдет с 14 по 18 октября.

Тема сезона – "Проектируем надёжность". В программе много всего интересного, и вот несколько примеров:

- Александр Поломодов (Т-Банк) и Олег Бондарь (Яндекс) расскажут о том, как закладывать надёжную архитектуру на старте, используя механизмы самоисцеления и повторных попыток.

- Григорий Кошелев проведет публичное собеседование, в ходе которого проверит, насколько техлиды понимают важность надёжности систем.

- Алексей Ужва объяснит, как мелкие проблемы и человеческие ошибки могут стать причиной крупных сбоев через месяцы эксплуатации.

- Николай Тимонин разберёт, как Feature Toggles помогают гибко управлять функционалом и снижать риски.

А еще в командах спроектируем надежную систему в рамках архитектурной каты.

Подключайся и учись строить устойчивые системы! https://podlodka.io/techcrew

А промокод сообщества techlead_crew_7_lBInOA
даёт скидку еще в 500 руб🥳

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

18 Sep, 08:17


Ты куда пропал, где новые ролики?

Так получилось, что я уже продолжительное время не записываю и не публикую новые ролики. После записи цикла роликов о разработке проектов со Spring я решил немного отдохнуть, а потом на меня накинулась работа, привалило домашних забот, и это всё было ожидаемо. Поэтому я планировал в конце августа или в начале сентября вернуться к записи роликов, но звёзды не сошлись - домашних забот полно, а ещё я крепко так простыл. Но идей полно, желания делиться знаниями тоже, так что ждите меня.

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

17 Sep, 15:29


📖 Вкратце о JVM, JRE и JDK

Мир Java-разработки полнится аббревиатурами, и в этой статье я предлагаю разобраться, наверно, с самыми основными из них: JVM, JRE и JDK.

📖 Читать на сайте
📖 Читать в VK
📖 Читать на Telegraph

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #jvm #jre #jdk #openjdk

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

12 Sep, 14:46


Программируешь, небось? ⌨️
Тогда с праздничком тебя и поменьше багов!

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

15 Aug, 09:06


📖 CORS в Spring WebFlux

Завершаю серию статей о CORS статьёй о поддержке CORS в реактивных веб-приложениях на основе Spring WebFlux. В статье рассматривается настройка поддержки CORS с Spring WebFlux, Spring Security и Spring Boot. В целом процесс очень похож на настройку поддержки CORS в веб-приложениях на основе Spring Web.

📖 Читать на сайте
📖 Читать в VK
📖 Читать на Telegraph

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cors

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

08 Aug, 05:53


▶️ Ролики на Платформе

Всем привет!
Я по-тихоньку начал осваивать новый видео-хостинг — Платформу, создал канал, настроил внешний вид и описание, а также загрузил несколько роликов из вышедшего цикла о разработке проектов со Spring.

Админка пока радует удобством и очень похожа на YouTube, да и в целом параллели с YouTube прослеживаются.
Ролики грузятся и обрабатываются быстро, что тоже не может не радовать. А ещё есть возможность импортировать ролики со своего канала на YouTube, что очень удобно, но мои ролики пока в очереди. Но есть и свои подводные камни: в описании к ролику не может быть больше 10 ссылок, а в описании канала — максимум 4. Надеюсь, это ограничение будет ослаблено.

Посмотрим, как будет работать продвижение контента, хотя я весьма скептично отношусь к отечественным площадкам в этом вопросе.

Мой канал на Платформе: https://plvideo.ru/@shurik_codes или https://plvideo.ru/channel/TqocDuCGtOoQ

Подписывайтесь!

А ещё я хотел начать грузить контент на Nuum, но ему не нравится HEVC в MKV, а у меня все ролики записаны именно в этом формате, поэтому контент на Nuum появится позже, когда мне не лень будет заняться конвертированием роликов.

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

06 Aug, 10:03


CORS в Spring Web

В предыдущей статье я постарался вкратце объяснить, что такое протокол CORS и как он работает. В этой статье я предлагаю разобраться с настройками CORS на стороне Spring Web, Spring Security и Spring Boot.

📖 Читать на сайте
📖 Читать в VK
📖 Читать на Telegraph

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cors

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

06 Aug, 06:23


Cross-Origin Resource Sharing (CORS)

Наверняка большинство веб-разработчиков когда-то сталкивались с CORS при выполнении межсайтовых запросов из JavaScript. Причём на эти запросы либо приходили ответы со статусом 403 Forbidden, либо сам браузер отказывался работать с запросом или даже успешным ответом. Предлагаю разобраться с темой CORS.

📖 Читать на сайте
📖 Читать в VK
📖 Читать на Telegraph

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#javascript #cors

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

12 Jul, 10:53


Принял участие в проекте "На двоих" от PR-отдела Maxim Technology
https://www.youtube.com/watch?v=xHCmlake1Jc

Новые ролики пока только в планах, а следующая статья, про CORS - на следующей неделе.

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

08 Jul, 12:11


🛡 Анализ уязвимостей в зависимостях

В современных условиях разработки программного обеспечения крайне редко встречаются проекты, не имеющие внешних зависимостей, и большинство из них — различные библиотеки для работы с различными базами данных. Большая же часть проектов разрабатывается с использованием сторонних зависимостей — библиотек и фреймворков, которые предоставляют готовые решения для большого количества задач. Однако в сторонних зависимостях могут скрываться уязвимости, которыми злоумышленники могут воспользоваться при атаке на разрабатываемые вами проекты. Но потенциальное наличие уязвимостей в сторонних библиотеках не должно стать поводом для отказа от них — вместо этого лучше поддерживать зависимости в актуальном состоянии и анализировать их на предмет уязвимостей.

Различные инструменты для отслеживания уязвимостей в зависимостях интегрированы в IDE, SonarQube и CI/CD-решения, а в этой статье речь пойдёт о Dependency Track.

📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegra.ph

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #безопасность #maven #gradle #owasp

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

06 May, 09:22


👩‍💻 SC24EP22 Шаблонизация с Helm - Разработка проектов со Spring

В заключительном ролике цикла я хочу вкратце рассказать о Helm - инструменте, который позволяет упростить процесс написания дескрипторов развёртывания для Kubernetes за счёт шаблонизации. Все написанные ранее дескрипторы развёртывания для сервисов имеют по большей части схожую структуру, и шаблонизация в данном случае позволит уменьшить дублирование кода и в целом ускорить процесс развёртывания.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP22-helm

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cloud #k8s #kubernetes #helm #howto

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

02 May, 09:02


👩‍💻 SC24EP21 Kubernetes без Spring Cloud - Разработка проектов со Spring

Kubernetes предоставляет богатый набор инструментов, благодаря чему вам не требуется Spring Cloud для развёртывания проектов на основе Spring Boot. Это позволяет более рационально использовать ресурсы облака и даже немного сэкономить на облачных услугах. В двадцать первом ролике цикла речь пойдёт о замене Spring Cloud Gateway, Spring Cloud Netflix Eureka и Spring Cloud Config на средства Kubernetes.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP21-cloudless-k8s

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cloud #k8s #kubernetes #howto

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

29 Apr, 09:02


👩‍💻 SC24EP20 Развёртывание сервисов в Kubernetes - Разработка проектов со Spring

В двадцатом ролике цикла речь пойдёт о Kubernetes, инструменте, который в значительной степени упрощает развёртывание и сопровождение проектов с микросервисной архитектурой в облачной инфраструктуре. Оркестраторы, реализующие спецификации k8s, позволяют автоматизировать процессы развёртывания, миграции и масштабирования сервисов. В рамках ролика будет продемонстрировано развёртывание ранее написанных сервисов, а так же используемой инфраструктуры. Примеры в ролике демонстрируются при помощи minikube, минималистичного дистрибутива Kubernetes для локального тестирования.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP20-k8s

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #k8s #kubernetes #howto

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

25 Apr, 09:02


👩‍💻 SC24EP19 Контейнеризация приложений с Docker и Docker Compose - Разработка проектов со Spring

В девятнадцатом ролике цикла речь пойдёт о развёртывании сервисов в контейнерах Docker, я расскажу о том, как можно написать универсальный Dockerfile, продемонстрирую запуск сервисов в контейнерах. А затем я перейду к Docker Compose, при помощи которого можно управлять развёртыванием не одного контейнера, а набором контейнеров, необходимых для работы проекта. Кроме этого вкратце будут затронуты темы использование механизма поиска сервисов и масштабирования в Docker Compose.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP19-docker

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #docker #dockercompose #howto

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

22 Apr, 09:02


👩‍💻 SC24EP18 Шлюз API Spring Cloud Gateway - Разработка проектов со Spring

В некоторых случаях вам может понадобиться реализовать единую точку входа для множества REST API, реализованных в рамках разных сервисов. В экосистеме Spring Cloud для данных целей существует Spring Cloud Gateway, позволяющий реализовать шлюз API (API Gateway) и гибко настраивать маршрутизацию запросов к вашим REST API.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP18-api-gateway

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cloud #apigateway #howto

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

18 Apr, 09:01


👩‍💻 SC24EP17 Сервис конфигураций Spring Cloud Config - Разработка проектов со Spring

В семнадцатом ролике цикла речь пойдёт о сервисе конфигураций Spring Cloud Config. При сопровождении большого количества сервисов процесс изменения их настроек становится сложнее, особенно если речь заходит о массовом изменении настроек, так как у каждого сервиса есть свой файл с параметрами, который находится на сервере с запущенным сервисом. Spring Cloud Config позволяет централизованно управлять файлами настроек, упрощая тем самым процесс сопровождения сервисов.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP17-cloud-config

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cloud #config #howto

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

15 Apr, 09:02


👩‍💻 SC24EP16 Реестр сервисов Spring Cloud Netflix Eureka - Разработка проектов со Spring

В проектах с микросервисной или распределённой архитектурой количество запускаемых сервисов может исчисляться десятками, а в больших проектах их количество может и вовсе переваливать за сотню. И чтобы упростить работу при настройке экземпляров тех или иных сервисов придуманы реестры сервисов, которые в свою очередь позволяют реализовать механизм поиска сервисов (Service Discovery). При запуске сервис регистрируется в реестре сервисов, а так же получает из него адреса сервисов, от которых он зависит. Это всё позволяет отказаться от прописывания адресов сервисов в файлах настроек, что в свою очередь снижает объем работ, возникающих при миграции сервисов. Spring Cloud Netflix Eureka - реестр сервисов в экосистеме Spring Cloud, и в шестнадцатом ролике этого цикла речь пойдёт о настройке и использовании его клиента и сервера.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP16-eureka

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #cloud #eureka #servicediscovery #howto

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

12 Apr, 09:02


👩‍💻 SC24EP15 Сбор трассировок с Grafana Tempo - Разработка проектов со Spring

Пятнадцатый ролик серии завершает тему мониторинга сервисов, а посвящён он распределённым трассировкам с использованием Micrometer Tracing и Grafana Tempo. В процессе обработки запроса может быть задействовано большое количество компонентов: сервисов, баз данных, очередей сообщений и т.д. Трассировки предоставляют информацию о прохождении запроса через компоненты ваших сервисов, а собираемая статистика может помочь вам найти проблемные места.

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

👩‍💻 Репозиторий проекта: https://github.com/alex-kosarev/sc24/tree/SC24EP15-tracing

▶️ Смотреть на YouTube
▶️ Смотреть в VK
▶️ Смотреть в Boosty
▶️ Смотреть в Дзене
▶️ Смотреть на Rutube

💬 Обсудить в Telegram

Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff

#java #spring #micrometer #tracing #tempo #grafana #howto