453 subscribers
69 photos
25 files
83 links
Пишу иногда интересно, а иногда не очень. Предложения, сотрудничество @Javacoding_bot
加入频道
Помните, мы недавно говорили о создании 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.
Ну и за обложку отдельный плюс.
В какой переменной окружения хранятся несколько корневых каталогов иерархии пакетов в файловой системе компьютера?
Anonymous Quiz
8%
PACKAGEROOT
65%
CLASSPATH
14%
ROOT
7%
CLASSROOT
6%
PACKAGEPATH
Продолжая тему микросервисов: а как дела обстоят с интеграционным тестированием? Чем больше самих микросервисов и взаимосвязей между ними, тем острее необходимость проверять, как вообще работает система и насколько ее поведение соответствует ожиданиям.

В статье описан достаточно легкий способ создания интеграционных тестов для встраивания в CI/CD-процесс. А в комментариях порекомендовали nanocloud, чтобы написание интеграционных тестов можно было встраивать прямо в процесс разработки.
Потому что переработки – верный путь к выгоранию!
Неплохие видеоуроки по Java Hibernate. Подробно освещены настройка конфигов, JPA, мапинг, а также разные запросы.

Кстати, на канале есть и другие материалы по Java (даже детальный разбор code conventions), а еще общая теория по ООП, так что рекомендую взять на заметку.
Переменные в Java делятся на 3 типа:

🔺 локальные переменные;
🔺 переменные экземпляра;
🔺 глобальные переменные.

При этом локальные переменные и переменные экземпляра нельзя объявлять как статические.

Сокрытие статических и нестатических переменных происходит по-разному, и его не следует путать с переопределением метода. Подробный разбор темы – в статье.
Какое из перечисленных выражений преобразует строковую переменную s к нижнему регистру?
Anonymous Quiz
2%
s.tolower();
5%
s.tolowercase ();
6%
s.toLower();
83%
s.toLowerCase();
4%
s.toLowercase();
Смотри не перепутай!☝️
При разработке API обычно мало задумываешься над тем, как дальше управлять жизненным циклом – это вообще происходит во вторую или в третью очередь. А вот когда-нибудь потом заниматься развитием API без предварительного планирования будет сложно.

Появился перевод статьи с простым пошаговым планом действий как раз на такой случай. Рассматриваются все возможные аспекты: от использования шлюза и реализации версий до миграции пользователей и тестирования в рабочей среде.
Объемная шпаргалка по коллекциям в Java, где коллекции сравниваются по параметрам:

🔹 на чем основана;
🔹 дубли;
🔹 null;
🔹 синхронизированность;
🔹 потокобезопасность;
🔹 тип итератора.

Помогает уложить в голове систему, ну или просто в случаях, когда нужно быстро определиться с выбором. В конце еще и типы итераторов подробно описаны (прикрепляю на картинке).
Какие данные будут значением аргумента с индексом [1] метода main() при запуске программы MyProgramme.java инструкцией: java MyProgramme Some additional argues.
Anonymous Quiz
8%
java MyProgramme
8%
java
30%
MyProgramme
20%
Some
35%
additional