Struchkov // Java TechLead
919 subscribers
16 photos
2 videos
73 links
Заметки: https://garden.struchkov.dev
— — — — —
Блог: https://struchkov.dev/blog
— — — — —
Связь: @uPagge
Download Telegram
Проблема вещественных чисел в программировании

Написал небольшую статью про хранение вещественных чисел в памяти компьютера, и проблемы, которые из-за этого хранения возникают в программировании. Статья для тех, кто не знает, что 0.1 + 0.2 == 0.3 это false 🙃

https://struchkov.dev/blog/probliema-vieshchiestviennykh-chisiel-v-proghrammirovanii/
— — — — —
#junior
👍1
Обновил статью про Liquibase

* Актуализировал используемые версии, проверил что все работает.
* Поправил некоторые скрипты.
* Добавил раздел про откат изменений

— — — — —
https://struchkov.dev/blog/get-started-liquibase/
👍1
Используем Liquibase с реактивным Quarkus

Liquibase пока не умеет работать с реактивными драйверами баз данных. Поэтому, если вы захотите использовать Liquibase или Flyway для миграций схемы базы данных с Quarkus сервисом, который написан в реактивном стиле, то столкнетесь с проблемой. Из коробки это пока не работает. Но есть обходной путь, который позволяет добиться запуска миграций при старте сервиса. Разбираемся 👇

https://struchkov.dev/blog/quarkus-reactive-liquibase/
— — — — —
#quarkus #костыль #liquibase #reactive
Вот это я понимаю интеллектуальная капча у GitHub
🔥4
Любопытная фича в гугле. Если вы подтвердили права на домен в гугл, а потом загуглили что-то о чем у вас есть пост, то гугл покажет вам вот такое окошко.
Большой гайд по Optional в Java

Сегодня мы узнаем, как уменьшить шанс получить NullPointerException используя класс Optional.

https://struchkov.dev/blog/optional-in-java/
👍1🔥1
Обновил статью: Реализация JWT в Spring Boot

Обновил все зависимости на актуальные. Перевел примеры с Java 11 на Java 17
Некоторые классы и методы уже при написании были deprecated. Поэтому актуализировал все примеры кода.

— — — — —
https://struchkov.dev/blog/jwt-implementation-in-spring/
Forwarded from Код Дурова
🧑‍💻 Виртуальный ассистент для программиста //

Сервис для помощи в написании кода Copilot от GitHub вышел общедоступный релиз. За $10 разработчику предлагается продвинутая нейросеть, способная анализировать ПО и дописывать конструкции кода за человека.

@d_code
Решил попробовать переводить статьи некоторых англоязычных блогеров по Java.
Так как сейчас активно изучаю кишки Hibernate, то статьи будут соответсвующие.

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

У этой инициативы несколько целей:
* Так получается глубже понять материал.
* Попрактиковаться в английском.
* Улучшить ситуацию с материалами по Java на русском языке.

И вот первая переведенная и адаптированная статья, которая рассказывает о такой проблеме Hibrnate, как MultipleBagFetchException. Также разбираются способы решения.
— — — — —
https://struchkov.dev/blog/hibernate-multiple-bag-fetch-exception/
👍4
Перевел еще одну статью про StatelessSession

Интерфейс StatelessSession в Hibernate предоставляет командно-ориентированный API, который дает вам больше контроля над выполняемыми SQL-запросами. Он гораздо ближе к JDBC, что позволяет увеличить производительность сервиса.

https://struchkov.dev/blog/hibernates-statelesssession/
— — — — —
#guide #java #hibernate #translate #thorben_janssen
👍1
Продолжаю осваивать кваркус и реактивное программирование.

На этот раз разберемся в проблеме, которая возникает при попытке сохранить что либо в базу данных при чтении сообщения из топика кафки с помощью Hibernate Panache. Вы сможете сохранить только 5 сообщений, почему? Читайте в статье 👇

https://struchkov.dev/blog/panache-with-kafka-consumer-quarkus/
— — — — —
#quarkus #java #hibernate #kafka #reactive
👍1
Наткнулся на любопытное видео, которое наглядно показывает отличия императивного и реактивного подходов.

Если никогда не сталкивались с реактивным программированием, то рекомендую посмотреть. Особенно доставила сравнительная аналогия про бабок: «Есть хитрые бабки, которые приходят в больницу. И когда им нужно посетить несколько врачей, они ходят по очередям и занимают их. А потом, где подходит очередь они туда и идут. А есть обычные пациенты, которые идут по очередям последовательно. Очевидно кто их них пройдет всех врачей быстрее.»

https://www.youtube.com/watch?v=c_QRmlFvfCk
— — — — —
#spring #reactive #youtube #java
👍1🔥1
Домашняя экосистема облачных сервисов на базе Raspberry PI 4

Если вы хотите настроить приватные сервисы, такие как: сетевое файловое хранилище, менеджер паролей, хранилище фотографий, торрент-клиент. То эта статья для вас.

Статья получилась достаточно большой. В ней я делюсь своим опытом в построении небольших домашних экосистем, построенных на OpenSource решениях.

https://struchkov.dev/blog/raspberry-home-cloud-services-ecosystem/
— — — — —
#гайдлайн #raspberry #linux #docker
Вспоминаем основы: Модификаторы в Java

Модификаторы это ключевые слова в Java, которые "изменяют и регулируют" работу классов, методов и переменных.

P.S. Оказалось писать статьи для начального уровня может быть сложнее, чем какие-то сложные разборы. Нужно учитывать, что читатель не знает каких-то вещей, и стараться донести все в понятной форме.

Также мне интересно насколько высоко моя статья попадет в поисковой выдаче по такому популярному запросу.


https://struchkov.dev/blog/modifiers-in-java/
— — — — —
#java #junior #java-core #разбор
Яндекс довольно быстро вывел статью в топ по нескольким ключевым запросам 🤩
👏8
Основы транзакций в Spring

В этой статье мы разберемся, что такое транзакции. Что это за свойства ACID. Как транзакции выполняются на уровне SQL, JDBС, а также на уровне Spring.

https://struchkov.dev/blog/transaction-jdbc-and-spring-boot/
— — — — —
#гайд #java #spring #spring_data #middle #jdbc #transactional
👍5
Заметки Разработчиков

Во время основной работы, и в Я.Практикум постоянно появляется желание написать полноценную статью в блог с разбором какой-либо темы. Но сил и времени, а теперь и желания, совсем нет. Чтобы не впадать в творческий кризис, запустил новый блог для коротких заметок.

Там буду делиться полезными трюками и хаками, коротко объясняя что к чему. Также буду писать рецензии/рекомендации на книги/доклады, которые буду изучать.

Предполагаю, что со временем к проекту присоединяться другие разработчики. Если есть желание писать короткие заметки, то напишите мне, обсудим :)

P.S. Уже начал пилить телеграм бота для этого сайта, чтобы можно было подписаться на конкретного автора, конкретный тег. Допустим, чтобы можно было получать уведомления в телегу только о spring, от определенного автора, и так далее.
— — — — —
https://note.struchkov.dev
👍4
Забавное наблюдение. Если «гуглить» в яндексе на тему программирования, то нумерация страниц выглядит следующим образом 🙃
👍10
Собираем Docker Image для Spring Boot

В этой статье рассматриваются различные способы создания образов для Spring Boot приложения. Например, можно воспользоваться плагином Jib, который может создать образ без докера.

Но самая интересная часть — это оптимизированный Dockerfile. Используя модули, которые появились в Java 9 и утилиту jlink, уменьшим наш образ в 3-4 раза.

https://struchkov.dev/blog/build-docker-image-for-spring-boot/
— — — — —
#guide #java #middle #docker #spring #maven
👍71