453 subscribers
69 photos
25 files
83 links
Пишу иногда интересно, а иногда не очень. Предложения, сотрудничество @Javacoding_bot
加入频道
Вторая часть статьи о разработке плагинов для IDEA. Здесь описано форматирование, structure view, кэши, рефакторинг, тестирование и другие важные аспекты. Советую обратить особое внимание на раздел «Индексы» – на их виды и способы использования.
Создать ID атрибут в JPA довольно просто, а вот если ваша цель – разработать инструмент, чтобы не только писать код для определения ID, но и выявлять возможные проблемы, все становится чуть сложнее.
Статья поможет понять, что при разработке следует учесть прежде всего, и выбрать стратегию генерации ID для JPA сущностей (например, SEQUENCE даст самую высокую производительность, а вот TABLE и AUTO – наоборот).
Какое имя должен иметь каталог, в котором хранятся классы, относящиеся к пакету myFirstPackage?
Anonymous Quiz
22%
packages/myfirstpackage
28%
myfirstpackage
4%
Myfirstpackage
41%
myFirstPackage
6%
в специальной автоматически создаваемой папке
Аннотация – это специальная конструкция языка, связанная с классом, методом или переменной. Она предоставляет программе дополнительную информацию, на основе которой программа может предпринять дальнейшие действия или реализовать дополнительную функциональность: генерацию кода, проверку ошибок и т. д.

Если давно хотели систематизировать свои знания об аннотациях – вот хорошая статья. Прочитаете об основных стандартных аннотациях и узнаете, как создавать и обрабатывать собственные.
Классный канал с туториалами по Java для любого уровня: для тех, кто только начинает, и для более опытных. Отличные подборки теоретических видео о классах и микросервисах, а еще материалы по редким темам, например, по WildFly JavaEE. Как раз подойдет, чтобы провести выходные с пользой.
Что такое обобщенное программирование? 💻

Это парадигма программирования, заключающаяся в таком описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание.

Если в основе ООП лежит полиморфизм подтипов, то основой ОП является параметрический полиморфизм, а алгоритмы и структуры данных разделяются через использование абстрактных описаний требований.

В статье рассматривается, как принципы ОП реализуются в трех популярных языках: Java, C++, C#(.Net) – как в них работают дженерики (обобщенные функции), как происходила миграция на дженерики, что с вариантностью и какие существуют плюсы и минусы использования ОП в этих языках.
22 марта вышла общедоступная версия Java 18. Успели посмотреть, что новенького (и пошутить о том, что мы получили UTF-8 по умолчанию аж в 2022 году)?

Каждый раз после выхода обновленной версии, даже если изменений совсем немного, наблюдаю у некоторых недовольство: «Ну вот, опять что-то читать придется». Правда, такие разрабы упускают из виду, что появилось в API, и потом тащат, например, Base64 из внешних библиотек, не знают про класс Objects.

Так что лучше быть в курсе. Подробно про новые фичи можно почитать здесь.
Joshua Bloch, Effective Java
Joshua_Bloch_-_Effective_Java_3rd_-_2018.pdf
2.2 MB
Признанная классика для всех, кто работает с Java. В книге представлены 57 правил написания качественного кода: тут и примеры, и полезные советы, и эффективные методики.

🔺 Java и основные библиотеки (java.lang, java.util, java.io);

🔺 анализ распространенных идиом и шаблонов разработки;

🔺 советы по механизму сериализации.

Автор книги, кстати, создал несколько ключевых классов (java.lang и Java Collection framework), так что точно знает, о чем говорит.
Помните, мы недавно говорили о создании ID атрибутов в JPA? Появилась классная статья о работе с сущностями. Автор на конкретных кейсах разбирает преимущества JPA Buddy и рассказывает, как с помощью плагина сэкономить время и силы. Однозначно пригодится, если вы часто пишете для сущностей POJO-классы и используете Spring Boot и Spring Data JPA.
Большая шпаргалка по Java, чтобы не искать каждый раз ответ на интересующий вопрос по просторам интернета. Удобно, когда нужно быстро что-то вспомнить. Плюс, страница регулярно обновляется и дополняется.
Класс A не полностью реализует методы интерфейса B. Каким образом он должен быть определен?
Anonymous Quiz
4%
как final-класс
14%
как внутренний для другого класса
71%
как abstract-класс
2%
как private-класс
9%
как интерфейс
Cay Horstmann, “Core Java, Volume I—Fundamentals”
Core Java, Volume I―Fundamentals.pdf
45.4 MB
Первая часть одного из самых знаменитых изданий по Java.

📌 основы современного подхода к программированию;

📌 методики ООП и параллельного программирования;

📌 синтаксис и безопасность.

Если покажется сложноватой, можно попробовать начать с Эванса и Флэнагана, а к Хорстманну вернуться позднее.

Прикрепляю оригинал. Не читайте, пожалуйста, на русском, если не хотите видеть каркас коллекций Java вместо Java Collections Framework и другие переводческие приколы.
Когда PM ищет, кого бы попросить поработать на выходных
В идеальном мире код пишут так, что комментарии излишни, но в реальности, увы, это невозможно. Поэтому нужно заботиться о том, чтобы комментарии мог понять любой разработчик на проекте. Дело не только в орфографии и грамматике, но еще и в формулировках – часто они оказываются туманными и только запутывают ситуацию.

Специально для таких случаев появился плагин Comment Lint. Он анализирует текст комментариев с помощью сервиса Glvrd и показывает, как их можно улучшить. В статье – подробности об использовании и примеры работы с комментариями.
При работе с микросервисами приходится учитывать кучу факторов. Разбираться в межсервисном взаимодействии лично я начал далеко не сразу: сложнее всего было подступиться к аспекту security, так как инфы на этот счет либо мало, либо она очень поверхностная.
Автор статьи столкнулся с похожей проблемой и, исходя из своего опыта, решил описать реализацию security на конкретной задаче. Использует Spring, OAuth2, JWT и Service Account.
Ну и за обложку отдельный плюс.