#Собес #bash
🤔 Как удалить все .log файлы в директории?
Чтобы удалить все
Для удаления в подкаталогах используйте:
👉 Новости 👉 База вопросов
Чтобы удалить все
.log
файлы в текущей папке, выполните:rm *. log
Для удаления в подкаталогах используйте:
find . -name "*.1og" -delete
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🫡 В этом гайде автор показывает, как парсить структурированные строки в Java
Большинство разработчиков используют регулярные выражения,
Класс
👉 Новости 👉 База вопросов
Большинство разработчиков используют регулярные выражения,
split()
или ручную нарезку строк. Но эти техники подвержены ошибкам, плохо читаются и, что важнее всего — небезопасны на этапе компиляции.Класс
StringFormat
делает парсинг настолько простым, что даже новичок может реализовать его в одну строку.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#статьи
😊 В этом гайде автор делится, как писать удобные интеграционные тесты в Spring Boot
Многие разработчики либо перегружают
Класс
👉 Новости 👉 База вопросов
Многие разработчики либо перегружают
@SpringBootTest
, либо пишут сложные конструкции с @MockBean
. Но такие подходы тормозят сборку, плохо читаются и, что важнее всего — дают ложное чувство покрытия.Класс
MockMvc
и аннотация @WebMvcTest
делают тестирование контроллеров лёгким и быстрым, можно проверить весь HTTP-флоу без запуска сервера.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😊 Совет по Java: предпочитай внедрение через конструктор, а не через поля
На то есть разные причины:
🟠 Зависимости можно пометить как
🟠 Повышает надёжность класса и безопасность при работе с потоками
🟠 Заставляет вызывающий код (или DI-контейнер) передать все необходимые зависимости
🟠 Упрощает модульное тестирование, позволяя подставлять моки или стабы через конструктор
🟠 Все зависимости видны в конструкторе, что чётко показывает, что нужно классу для работы.
🟠 Внедрение через конструктор не использует рефлексию или доступ к приватным полям (в отличие от внедрения через поля), что повышает производительность и снижает риски
👉 Новости 👉 База вопросов
На то есть разные причины:
final
, гарантируя, что они не изменятся после создания.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#Собес #bash
🤔 Как вывести только каталоги в папке?
Чтобы отобразить только папки, используйте:
Или команду
👉 Новости 👉 База вопросов
Чтобы отобразить только папки, используйте:
Is -d */
Или команду
find
:find . -type d
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 JLine TerminalBuilder.build()
Документация
👉 Новости 👉 База вопросов
TerminalBuilder.build()
из библиотеки JLine
позволяет создавать интерактивные терминалы с поддержкой ANSI-цветов, автодополнения и управления вводом. Это полезно для создания CLI-приложений с удобным интерфейсом.Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
#полезное
🛞 Ставить
🟠 Использовать
🟠 Использовать транзакции на уровне методов — Даёт точный контроль и ясность
🟠 Использовать
🟠 Избегать
🟠 Оставлять транзакционные методы
🟠 Логировать или отслеживать поведение транзакций — Помогает выявлять неожиданные проблемы
👉 Новости 👉 База вопросов
@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
🔥2👍1
#Собес #bash
🤔 Как посчитать количество строк в файле?
Для подсчёта строк в файле используйте:
Эта команда выведет количество строк в файле.
👉 Новости 👉 База вопросов
Для подсчёта строк в файле используйте:
wc -1 file.txt
Эта команда выведет количество строк в файле.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🤓 Java API Tip
Безопасное приведение
Используй
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй
👉 Новости 👉 База вопросов
Безопасное приведение
long
к int
Используй
Math.toIntExact()
— этот метод возвращает значение long, но выбрасывает ArithmeticException
, если оно не помещается в int
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй
toIntExact
, когда важно контролировать переполнениеPlease open Telegram to view this post
VIEW IN TELEGRAM
👍1
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
❤1
#Собес #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+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
❤1👍1
#полезное
🛞 Типы массивов в 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
❤1👍1
#полезное
👋 Инструменты повышения продуктивности и качества кода в 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
❤1👍1
#Собес #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
❤2👍1
#статьи
😇 Решение задачи LeetCode #57 “Insert Interval” на Java
Читать подробнее
👉 Новости 👉 База вопросов
Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #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+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
👍1