#полезное
🛞 Ставить
🟠 Использовать
🟠 Использовать транзакции на уровне методов — Даёт точный контроль и ясность
🟠 Использовать
🟠 Избегать
🟠 Оставлять транзакционные методы
🟠 Логировать или отслеживать поведение транзакций — Помогает выявлять неожиданные проблемы
👉 Новости 👉 База вопросов
@Transactional
везде подряд плохая практика — сначала разберись, когда он действительно нужен:@Transactional
только в сервисном слое — Отделяет бизнес-логику от веб-логики@Transactional(readOnly = true)
— Оптимизирует операции только для чтения@Transactional
в репозиториях — Репозитории не должны управлять транзакциямиpublic
— Необходимо для работы Spring-проксиPlease open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🥄 Это просто огонь. В одном из следующих релизов jetbrains / intellijidea появится фича, которая позволяет в пару кликов сгенерировать JPA-энтити из существующей схемы БД
И ещё, мне сказали, что SpringData JDBC тоже скоро завезут
👉 Java Portal
И ещё, мне сказали, что SpringData JDBC тоже скоро завезут
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как посчитать количество строк в файле?
Для подсчёта строк в файле используйте:
Эта команда выведет количество строк в файле.
👉 Новости 👉 База вопросов
Для подсчёта строк в файле используйте:
wc -1 file.txt
Эта команда выведет количество строк в файле.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Java API Tip
Безопасное приведение
Используй
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй
👉 Новости 👉 База вопросов
Безопасное приведение
long
к int
Используй
Math.toIntExact()
— этот метод возвращает значение long, но выбрасывает ArithmeticException
, если оно не помещается в int
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй
toIntExact
, когда важно контролировать переполнениеPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#видео
😐 Указание типа после ключевого слова
Об этом и многом другом — в видео
👉 Новости 👉 База вопросов
new
— это действительно допустимая конструкция в Java.Об этом и многом другом — в видео
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как переместить файлы в Bash?
Чтобы переместить файл, используйте
Команда
👉 Новости 👉 База вопросов
Чтобы переместить файл, используйте
mv
:mv source_file destination_directory/
Команда
mv
также используется для переименования:mv old_name.txt new_name.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🛞 Типы массивов в Java
В Java существует два основных типа массивов:
Регулярные массивы — фиксированное число строк и столбцов
Регулярные массивы делятся на:
🟠 1-мерные массивы
🟠 2-мерные массивы
🟠 3-мерные и более
Во всех случаях каждая строка содержит одинаковое количество элементов.
🟠 Зубчатые массивы
Это массив массивов, в котором вложенные массивы могут иметь разную длину.
Можно создавать 2D или 3D массивы с переменным числом столбцов в каждой строке.
Одномерный массив (1D array) — это список элементов, хранящихся в одной строке. Он используется для хранения нескольких значений одного типа в линейной форме
Синтаксис:
или
Пример: Список студентов в одном классе.
Вывод:
👉 Новости 👉 База вопросов
В Java существует два основных типа массивов:
Регулярные массивы — фиксированное число строк и столбцов
Регулярные массивы делятся на:
Во всех случаях каждая строка содержит одинаковое количество элементов.
Это массив массивов, в котором вложенные массивы могут иметь разную длину.
Можно создавать 2D или 3D массивы с переменным числом столбцов в каждой строке.
Одномерный массив (1D array) — это список элементов, хранящихся в одной строке. Он используется для хранения нескольких значений одного типа в линейной форме
Синтаксис:
dataType[] arrayName = new dataType[size];
или
dataType[] arrayName = {value1, value2, value3, ...};
Пример: Список студентов в одном классе.
class MasterBackend {
public static void main(String[] args) {
// 1D Array: Students in a single class
String[] students = {"Ayush", "Rahul", "Neha", "Priya"};
System.out.println("Students in a class:");
for (String student : students) {
System.out.println(student);
}
}
}
Вывод:
Students in a class:
Ayush
Rahul
Neha
Priya
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Инструменты повышения продуктивности и качества кода в Java
1⃣ Lombok — устраняет шаблонный код, автоматически генерируя геттеры, сеттеры, конструкторы и т.д.
2⃣ MapStruct — генерирует типобезопасные мапперы между DTO и сущностями на этапе компиляции.
3⃣ JRebel — позволяет горячую перезагрузку классов Java без перезапуска приложения (экономит массу времени).
4⃣ SonarLint — линтер в IDE в реальном времени для обнаружения багов и "запахов кода" по мере написания.
5⃣ SonarQube — платформа статического анализа кода с дашбордами и quality gates.
6⃣ Checkstyle — обеспечивает соблюдение стандартов кодирования и правил оформления.
7⃣ SpotBugs — сканирует байткод для выявления потенциальных ошибок и проблем с производительностью.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Что означает S? в Bash?
-
-
Пример:
👉 Новости 👉 База вопросов
$?
содержит код завершения последней команды:-
0
- успешное выполнение.-
1
и другие - ошибка.Пример:
ls / nonexistent_folder
echo $? # Выведет 2 (ошибка)
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
📞 В программировании шаблоны проектирования предлагают проверенные решения типичных задач.
Существуют три основных типа шаблонов: порождающие (creational), структурные (structural) и поведенческие (behavioral).
В этой статье Анджан объясняет порождающие шаблоны проектирования на примерах кода на Java.
👉 Новости 👉 База вопросов
Существуют три основных типа шаблонов: порождающие (creational), структурные (structural) и поведенческие (behavioral).
В этой статье Анджан объясняет порождающие шаблоны проектирования на примерах кода на Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Введение в Springdoc OpenAPI в Spring Boot
Хотите автоматически документировать свои REST API на Spring Boot?
Используйте Springdoc OpenAPI для генерации интерактивного Swagger UI с минимальной конфигурацией.
👉 Новости 👉 База вопросов
Хотите автоматически документировать свои REST API на Spring Boot?
Используйте Springdoc OpenAPI для генерации интерактивного Swagger UI с минимальной конфигурацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😇 Решение задачи LeetCode #57 “Insert Interval” на Java
Читать подробнее
👉 Новости 👉 База вопросов
Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как скопировать файлы в Bash?
Чтобы скопировать файл, используйте команду
Для копирования папки используйте
👉 Новости 👉 База вопросов
Чтобы скопировать файл, используйте команду
ср
:cp source_file destination_file
Для копирования папки используйте
-r
:cp -r source_directory destination_directory
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🥺 Профилирование с помощью Spring Boot Actuator
Spring Boot Actuator предоставляет эндпоинты, такие как
В связке с Micrometer, Prometheus и Grafana позволяет визуализировать производительность вашего приложения.
👉 Новости 👉 База вопросов
Spring Boot Actuator предоставляет эндпоинты, такие как
/actuator/metrics
, /actuator/health
и /actuator/heapdump
.В связке с Micrometer, Prometheus и Grafana позволяет визуализировать производительность вашего приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Пример Spring MVC: Hello World
Простое веб-приложение, в котором контроллер обрабатывает запрос, добавляет данные в модель и отображает их в представлении (view).
👉 Новости 👉 База вопросов
Простое веб-приложение, в котором контроллер обрабатывает запрос, добавляет данные в модель и отображает их в представлении (view).
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Разница между одинарными и двойными кавычками в Bash
Одинарные кавычки
👉 Новости 👉 База вопросов
Одинарные кавычки
' '
предотвращают интерпретацию переменных и команд, а двойные " "
позволяют их подставлять.VAR="world"
echo 'Hello $VAR' # Выведет: Hello $VAR
echo "Hello $VAR" # Выведет: Hello world
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 CompletableFuture - современный подход к асинхронному программированию в Java.
Это помогает повысить производительность в реальных приложениях, таких как API и микросервисы.
👉 Новости 👉 База вопросов
CompletableFuture
в Java позволяет выполнять неблокирующие асинхронные задачи с помощью чистого, цепочечного API.Это помогает повысить производительность в реальных приложениях, таких как API и микросервисы.
Please open Telegram to view this post
VIEW IN TELEGRAM