Ответ
Основной стек технологий:
- Язык и JVM: Java 8, 11, 17.
- Фреймворки: Spring (Boot, MVC, Data JPA, Security), Hibernate.
- Инструменты сборки: Maven, Gradle.
- Базы данных: PostgreSQL, MySQL, MongoDB.
- Тестирование: JUnit 5, Mockito для модульного тестирования.
- Дополнительные технологии: Docker для контейнеризации, Apache Kafka для потоковой обработки, Redis для кэширования.
Пример простого Spring Boot приложения:
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
} Ответ 18+ 🔞
Да ты посмотри на этот стек, ёпта! Прям как в магазине стройматериалов: набрали всего, от гвоздя до унитаза. Сейчас разберём, что тут у нас, блядь, за технологический винегрет.
Основной стек, который у всех на языке, как заевшая пластинка:
- Язык и JVM: Ну, Java, куда ж без неё. Только вот версии — 8, 11, 17. Ситуация, блядь, классическая: половина проектов на восьмёрке, потому что «работает же, не трожь», а в резюме пишут семнадцатую, чтобы не выглядеть, как последний мамонт. JVM — это такая штука, которая иногда делает вид, что всё понимает, а потом выдаёт
OutOfMemoryError, и сиди, гадай, куда делась вся оперативка. - Фреймворки: Spring, блядь! Целая вселенная. Boot — чтобы не ебаться с конфигами, как в старые добрые. MVC — чтобы запросы разгребать. Data JPA — это такая магия, когда ты пишешь интерфейс, а Spring тебе из него реализацию из жопы достаёт, чтобы в базу лазить. Security — ну, чтобы всякие левые пидорасы не ломились куда не надо.
- Инструменты сборки: Maven или Gradle. Вечный спор, хуй с горы. Maven — конфиг на XML, читать который — это пиздец, глаза сломаешь. Gradle — вроде поприятнее, но если его скрипт накосячит, отлаживать — волнение ебать, терпения ноль ебать.
- Базы данных: PostgreSQL, MySQL — это классика, с ними всё ясно. А вот MongoDB подъезжает — «документоориентированная, масштабируемая». Ага, пока не попробуешь сделать JOIN, а его, блядь, нет. Пиздец, короче. Зато JSON туда-сюда пихать можно.
- Тестирование: JUnit 5 и Mockito. Без этого нихуя, потому что если твой код не покрыт тестами, то это как ехать на машине без тормозов — рано или поздно въебешься в продакшн. Mockito — чтобы подменять одни объекты другими и не париться, что база лежит.
- Дополнительные технологии: Docker — все теперь в контейнерах, как селёдка в бочке. Apache Kafka — чтоб сообщениями друг другу кидаться, как в детсаде. Redis — быстрый такой шкафчик-кэш, чтобы каждый раз в дальний угол базы не лазить.
А вот, смотри, пример приложения на Spring Boot, проще некуда:
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
Вот видишь? Всего несколько строк, а уже готовый веб-сервис, который на запрос /hello отвечает «Hello, World!». Магия, блядь! Хотя, если честно, под капотом там таких дел наворочено — овердохуища. Но главное — работает. А как работает — это уже второй вопрос, в рот меня чих-пых.