С каким технологическим стеком вы работали в Java-проектах?

Ответ

Основной стек технологий:

  • Язык и 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!». Магия, блядь! Хотя, если честно, под капотом там таких дел наворочено — овердохуища. Но главное — работает. А как работает — это уже второй вопрос, в рот меня чих-пых.