452 subscribers
69 photos
25 files
83 links
Пишу иногда интересно, а иногда не очень. Предложения, сотрудничество @Javacoding_bot
加入频道
Какой из перечисленных методов и операций не может быть использован для объединения строк String или StringBuffer в Java-программах?
Anonymous Quiz
19%
append()
57%
toString()
13%
+
12%
concat()
Java Meetup

🗓 сегодня с 18:30
💸 бесплатно

Онлайн-митап для Java-разработчиков. Среди спикеров, кстати, техлид «Сбера» и старший разработчик «Тинькофф», да и доклады обещают быть интересными:

18:30 «Фичатоглы: Коварство иллюзорной простоты».

19:40 «Распределенная очередь задач на PostgreSQL».

20:20 «Spring Data JPA. Антипаттерны тестирования».

Прекрасный вариант, чтобы провести вечер с пользой.
Регистрация по ссылке.
Когда просят объяснить, что ты имел в виду, а ты даже не помнишь, как давно написал этот код.
Самостоятельно разбираться в использование Kafka с Java и Spring – дело непростое и долгое. Нашел перевод отличного гайда по асинхронному взаимодействию Spring-микросервисов при помощи Kafka. В качестве примера приведена довольно простая реализация, но она помогает понять, как можно осуществить более сложные решения для вашего проекта.
Granville Barnett, Luca Del Tongo, “Data Structures and Algorithms”
Dsa.pdf
1 MB
Это издание ценю за простые, но точные формулировки и объяснения. Для такой сложной темы, как алгоритмы, это крайне важно.

📌 информация по всем наиболее распространенным алгоритмам;

📌 диаграммы к каждому из них;

📌 примеры с псевдокодом, но он отлично переводится на Java.
Каждый раз 😞
Какой из перечисленных заголовков класса допустим?
Anonymous Quiz
14%
class A extends B, C {
8%
abstract final class A {
5%
abstract final class A implements B {
73%
class A implements B, C {
Javassist: библиотека для манипуляций с байт-кодом

Это инструмент, которым, как и великой магией, не стоит пользоваться без необходимости – с Javassist основной код становится менее понятным, так как у вас появляется новое полноценное приложение. Но при должной внимательности Javassist служит отличным средством трансформации байт-кода.

Подробности в статье.
Подписчики канала, прочитав разную литературу по теме
Популярные подходы к взаимодействию с СУБД

Для продуктов с РСУБД Oracle, где большая часть логики содержится внутри в виде хранимых процедур, существует легкий способ работать с этими хранимыми процедурами — библиотека Jooq. Все подробности — в статье.
Работая в облаке, важно продумывать не только старт, но и заботиться об аккуратной обработке завершения процессов. Не все об этом задумываются, но graceful shutdown способен положительно отразиться на поведении облачного приложения.

В статье автор на примере Kubernetes и Spring Boot рассказывает, какие ошибки могут возникнуть из-за невнимания к процессу завершения и как graceful shutdown способен их устранить. Милый комикс прилагается.
Какой из приведенных списков содержит наиболее полный перечень спецификаторов, управляющих доступом к методам класса?
Anonymous Quiz
2%
public, private, static
26%
public, static, protected, private и доступ по умолчанию
3%
public, private, protected
7%
public, static, final, protected
62%
public, private, protected и доступ по умолчанию
Годная видеолекция по Spring в двух частях

Для всех, кто хочет досконально разобраться, как устроен Spring: лекция покрывает такие аспекты, как жизненный цикл Spring-приложения, а также производительность, устройство ApplicationContext и множество интересных подробностей, которые не придется выискивать по разномастным источникам. Рекомендую.
Грустная правда...
Lightrun: инструмент для отладки производственных систем

Lightrun создан для отладки проблем прямо в продакшене. Вот что можно делать с его помощью:

🔹 динамически вставлять записи в журнал (во время выполнения);
🔹 делать снимки;
🔹 вводить метрики без изменение производственного кода.

Для примера — статья о том, как отлаживать с Lightrun коллекции на Java.
Brett D. McLaughlin, “Head First Object-Oriented Analysis and Design”
O'Reilly Head First Object-Oriented Design and Analysis.pdf
52 MB
Необходимый базис для анализа и проектирования качественного софта. Поможет разобраться, как реализовывать новые фичи, не ломая существующие, а еще:

🔸 как эффективно применять инкапсуляцию и делегирование;

🔸 как создавать гибкие приложения;

🔸 в каких случаях пригодятся шаблоны проектирования и UML.
И конечно, это всё происходит в пятницу…
Класс Optional: важное

Знали, что лучше не использовать Optional в качестве типа поля? Он предназначен в основном для применения в качестве возвращаемого типа. А еще при использовании Optional в сериализуемом классе появится исключение NotSerializableException.

Для детального изучения Optional и сериализации можно ознакомиться со статьями (attention: на английском):

📌 Optional как возвращаемый тип
📌 Использование Optional в Jackson

А здесь — объемное руководство по Optional (уже в переводе), где рассматриваются основные фичи класса.