Класс A не полностью реализует методы интерфейса B. Каким образом он должен быть определен?
Anonymous Quiz
4%
как final-класс
14%
как внутренний для другого класса
71%
как abstract-класс
2%
как private-класс
9%
как интерфейс
Core Java, Volume I―Fundamentals.pdf
45.4 MB
Первая часть одного из самых знаменитых изданий по Java.
📌 основы современного подхода к программированию;
📌 методики ООП и параллельного программирования;
📌 синтаксис и безопасность.
Если покажется сложноватой, можно попробовать начать с Эванса и Флэнагана, а к Хорстманну вернуться позднее.
Прикрепляю оригинал. Не читайте, пожалуйста, на русском, если не хотите видеть каркас коллекций Java вместо Java Collections Framework и другие переводческие приколы.
📌 основы современного подхода к программированию;
📌 методики ООП и параллельного программирования;
📌 синтаксис и безопасность.
Если покажется сложноватой, можно попробовать начать с Эванса и Флэнагана, а к Хорстманну вернуться позднее.
Прикрепляю оригинал. Не читайте, пожалуйста, на русском, если не хотите видеть каркас коллекций Java вместо Java Collections Framework и другие переводческие приколы.
В идеальном мире код пишут так, что комментарии излишни, но в реальности, увы, это невозможно. Поэтому нужно заботиться о том, чтобы комментарии мог понять любой разработчик на проекте. Дело не только в орфографии и грамматике, но еще и в формулировках – часто они оказываются туманными и только запутывают ситуацию.
Специально для таких случаев появился плагин Comment Lint. Он анализирует текст комментариев с помощью сервиса Glvrd и показывает, как их можно улучшить. В статье – подробности об использовании и примеры работы с комментариями.
Специально для таких случаев появился плагин Comment Lint. Он анализирует текст комментариев с помощью сервиса Glvrd и показывает, как их можно улучшить. В статье – подробности об использовании и примеры работы с комментариями.
Хабр
Улучшаем комментарии с помощью плагина Comment Lint
Часто бывает, что у вас запутанные комментарии в проекте? Или вы хотите сделать свою документацию понятным другим разработчикам? Тогда эта статья для вас. Предыстория Проверка на качество текста в...
При работе с микросервисами приходится учитывать кучу факторов. Разбираться в межсервисном взаимодействии лично я начал далеко не сразу: сложнее всего было подступиться к аспекту security, так как инфы на этот счет либо мало, либо она очень поверхностная.
Автор статьи столкнулся с похожей проблемой и, исходя из своего опыта, решил описать реализацию security на конкретной задаче. Использует Spring, OAuth2, JWT и Service Account.
Ну и за обложку отдельный плюс.
Автор статьи столкнулся с похожей проблемой и, исходя из своего опыта, решил описать реализацию security на конкретной задаче. Использует Spring, OAuth2, JWT и Service Account.
Ну и за обложку отдельный плюс.
Хабр
Security микросервисов с помощью Spring, OAuth2, JWT и Service Account
Не так давно я начинал свой первый проект с микросервисами и не знал как реализовать security. Сейчас информации по этому вопросу уже больше однако она не всегда актуальна и, как правило, не...
В какой переменной окружения хранятся несколько корневых каталогов иерархии пакетов в файловой системе компьютера?
Anonymous Quiz
8%
PACKAGEROOT
65%
CLASSPATH
14%
ROOT
7%
CLASSROOT
6%
PACKAGEPATH
Продолжая тему микросервисов: а как дела обстоят с интеграционным тестированием? Чем больше самих микросервисов и взаимосвязей между ними, тем острее необходимость проверять, как вообще работает система и насколько ее поведение соответствует ожиданиям.
В статье описан достаточно легкий способ создания интеграционных тестов для встраивания в CI/CD-процесс. А в комментариях порекомендовали nanocloud, чтобы написание интеграционных тестов можно было встраивать прямо в процесс разработки.
В статье описан достаточно легкий способ создания интеграционных тестов для встраивания в CI/CD-процесс. А в комментариях порекомендовали nanocloud, чтобы написание интеграционных тестов можно было встраивать прямо в процесс разработки.
Неплохие видеоуроки по Java Hibernate. Подробно освещены настройка конфигов, JPA, мапинг, а также разные запросы.
Кстати, на канале есть и другие материалы по Java (даже детальный разбор code conventions), а еще общая теория по ООП, так что рекомендую взять на заметку.
Кстати, на канале есть и другие материалы по Java (даже детальный разбор code conventions), а еще общая теория по ООП, так что рекомендую взять на заметку.
Переменные в Java делятся на 3 типа:
🔺 локальные переменные;
🔺 переменные экземпляра;
🔺 глобальные переменные.
При этом локальные переменные и переменные экземпляра нельзя объявлять как статические.
Сокрытие статических и нестатических переменных происходит по-разному, и его не следует путать с переопределением метода. Подробный разбор темы – в статье.
🔺 локальные переменные;
🔺 переменные экземпляра;
🔺 глобальные переменные.
При этом локальные переменные и переменные экземпляра нельзя объявлять как статические.
Сокрытие статических и нестатических переменных происходит по-разному, и его не следует путать с переопределением метода. Подробный разбор темы – в статье.
Хабр
Сокрытие и затенение переменных в Java
Краткое содержание В Java можно объявлять переменные в классе, методе, блоке или конструкторе. В зависимости от варианта объявления, у переменной могут быть разные области видимости в программе, а...
Какое из перечисленных выражений преобразует строковую переменную s к нижнему регистру?
Anonymous Quiz
2%
s.tolower();
5%
s.tolowercase ();
6%
s.toLower();
83%
s.toLowerCase();
4%
s.toLowercase();
При разработке API обычно мало задумываешься над тем, как дальше управлять жизненным циклом – это вообще происходит во вторую или в третью очередь. А вот когда-нибудь потом заниматься развитием API без предварительного планирования будет сложно.
Появился перевод статьи с простым пошаговым планом действий как раз на такой случай. Рассматриваются все возможные аспекты: от использования шлюза и реализации версий до миграции пользователей и тестирования в рабочей среде.
Появился перевод статьи с простым пошаговым планом действий как раз на такой случай. Рассматриваются все возможные аспекты: от использования шлюза и реализации версий до миграции пользователей и тестирования в рабочей среде.
Хабр
Пошаговое развитие RESTful API
Разработка интуитивно понятного и удобного RESTful API — непростая задача. Она даже может оказаться весьма сложной задачей, если это ваша первая попытка. Планирование управления жизненным циклом...
Объемная шпаргалка по коллекциям в Java, где коллекции сравниваются по параметрам:
🔹 на чем основана;
🔹 дубли;
🔹 null;
🔹 синхронизированность;
🔹 потокобезопасность;
🔹 тип итератора.
Помогает уложить в голове систему, ну или просто в случаях, когда нужно быстро определиться с выбором. В конце еще и типы итераторов подробно описаны (прикрепляю на картинке).
🔹 на чем основана;
🔹 дубли;
🔹 null;
🔹 синхронизированность;
🔹 потокобезопасность;
🔹 тип итератора.
Помогает уложить в голове систему, ну или просто в случаях, когда нужно быстро определиться с выбором. В конце еще и типы итераторов подробно описаны (прикрепляю на картинке).
Какие данные будут значением аргумента с индексом [1] метода main() при запуске программы MyProgramme.java инструкцией: java MyProgramme Some additional argues.
Anonymous Quiz
8%
java MyProgramme
8%
java
30%
MyProgramme
20%
Some
35%
additional
Недавно спрашивали, какие ресурсы я могу посоветовать по SQL, так что вот вам парочка неплохих:
📝 SQL Academy (на русском): есть теоретическая справка и большая база задач, приближенных к реальным рабочим ситуациям. Подойдет как как начинающим, так и опытным разрабам.
📝 SQL-Tutorial и SQL-Ex (на русском): онлайн-учебник, где есть теория и разбор задач с типичными ошибками, и коллекция задач по базам данных.
📝 HackerRank (на английском): нет теоретической справки, зато задачи делятся по сложности и темам, можно зарабатывать баллы и соревноваться с другими пользователями. Новичкам может быть сложновато, так что рассчитывайте свои силы.
📝 SQL Academy (на русском): есть теоретическая справка и большая база задач, приближенных к реальным рабочим ситуациям. Подойдет как как начинающим, так и опытным разрабам.
📝 SQL-Tutorial и SQL-Ex (на русском): онлайн-учебник, где есть теория и разбор задач с типичными ошибками, и коллекция задач по базам данных.
📝 HackerRank (на английском): нет теоретической справки, зато задачи делятся по сложности и темам, можно зарабатывать баллы и соревноваться с другими пользователями. Новичкам может быть сложновато, так что рассчитывайте свои силы.
Для микросервисных приложений: Platform V Functions и DataSpace SDK
🔸 Platform V Functions – FaaS-решение для создания безопасных Serverless-приложений на Java, Python, Golang, NodeJS. С его помощью можно загружать исходный код сервиса в виде функции в OpenShift/k8s, не создавая при этом docker-образов и не тратя время на настройку окружения.
🔸 DataSpace SDK представляет собой инструмент взаимодействия с DataSpace по протоколу JSON-RPC. Про фичи, которые пригодятся Java-разработчикам, можно подробно прочитать в статье.
🔸 Platform V Functions – FaaS-решение для создания безопасных Serverless-приложений на Java, Python, Golang, NodeJS. С его помощью можно загружать исходный код сервиса в виде функции в OpenShift/k8s, не создавая при этом docker-образов и не тратя время на настройку окружения.
🔸 DataSpace SDK представляет собой инструмент взаимодействия с DataSpace по протоколу JSON-RPC. Про фичи, которые пригодятся Java-разработчикам, можно подробно прочитать в статье.
IntelliJ IDEA + удаленный Podman
Полгода назад в одном проекте столкнулся с использованием в качестве системы контейнеризации Podman. Ничего особенного в этом нет, тем более, что разработчики podman, понимая распространенность docker, позаботились о том, чтобы в консоли мы чувствовали себя как дома, добавив алиасы для команд docker.
Изюминка заключалась в том, что разработка ведется не на той же машине, где podman. Я заглянул в IntelliJ IDEA, чтобы разобраться, как подключиться к удаленной машине. Для удаленной работы с docker есть этот плагин, а в нем несколько вариантов. Обойдя ограничения по безопасности, я столкнулся с тем, что система сетует, что мы работаем не с docker. Как результат – ничего толкового не получилось.
Но вот теперь, вернувшись к этому проекту, я снова повторил попытку подключиться из idea к удаленному podman – работает. Я всегда стараюсь использовать инструменты с длительным временем поддержки, чтобы оказавшись в ситуации, когда функционала не хватает или обнаруживается ошибка, быть уверенным, что через некоторое время функционал появится, а ошибка будет исправлена. Для меня это важно. Ставлю в уме еще один плюсик разработчикам этих инструментов. Кстати, и свою работу я тоже стараюсь делать сопровождаемой, документированной и понятной.
Вот мои шаги, чтобы тема заработала:
🔺 на хосте с podman: podman system service --time=0 tcp:0.0.0.0:2979
🔺 в IntelliJ IDEA: идем в настройки ->Build, Execution, Deployment -> Docker.
🔺 добавляем docker-конфигурацию с очевидным названием podman,
🔺 и заполняем в TCP socket поле Engine API URL: tcp://localhost:12979
🔺 для проверки применяем, в этот раз у меня сразу высветилось Connection successful.
Ссылка на help плагина с более детальной информацией.
Полгода назад в одном проекте столкнулся с использованием в качестве системы контейнеризации Podman. Ничего особенного в этом нет, тем более, что разработчики podman, понимая распространенность docker, позаботились о том, чтобы в консоли мы чувствовали себя как дома, добавив алиасы для команд docker.
Изюминка заключалась в том, что разработка ведется не на той же машине, где podman. Я заглянул в IntelliJ IDEA, чтобы разобраться, как подключиться к удаленной машине. Для удаленной работы с docker есть этот плагин, а в нем несколько вариантов. Обойдя ограничения по безопасности, я столкнулся с тем, что система сетует, что мы работаем не с docker. Как результат – ничего толкового не получилось.
Но вот теперь, вернувшись к этому проекту, я снова повторил попытку подключиться из idea к удаленному podman – работает. Я всегда стараюсь использовать инструменты с длительным временем поддержки, чтобы оказавшись в ситуации, когда функционала не хватает или обнаруживается ошибка, быть уверенным, что через некоторое время функционал появится, а ошибка будет исправлена. Для меня это важно. Ставлю в уме еще один плюсик разработчикам этих инструментов. Кстати, и свою работу я тоже стараюсь делать сопровождаемой, документированной и понятной.
Вот мои шаги, чтобы тема заработала:
🔺 на хосте с podman: podman system service --time=0 tcp:0.0.0.0:2979
🔺 в IntelliJ IDEA: идем в настройки ->Build, Execution, Deployment -> Docker.
🔺 добавляем docker-конфигурацию с очевидным названием podman,
🔺 и заполняем в TCP socket поле Engine API URL: tcp://localhost:12979
🔺 для проверки применяем, в этот раз у меня сразу высветилось Connection successful.
Ссылка на help плагина с более детальной информацией.