Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 440новых вакансий за сутки·54 706вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании5 625
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 397 кандидатов открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python8 748
  • Облачные технологии6 616
  • QA вакансии2 169
  • Android1 320
  • Инженер данных872
  • Продакт-менеджер302

Разработка

  • iOS1 232
  • Backend вакансии1 204
  • AI вакансии543
  • Fullstack вакансии497
  • Frontend вакансии417
  • Mobile вакансии28

По стеку

  • Go5 212
  • Java3 116
  • Kotlin1 090
  • Node.js995
  • Rust845
  • .NET661
  • PHP320
  • C++271
  • C#208

DevOps и инфраструктура

  • Kubernetes3 913
  • Linux-инфраструктура2 852
  • DevOps вакансии2 678
  • Terraform / IaC2 167
  • Мониторинг и Observability1 066
  • CI/CD923
  • SRE301
  • Кибербезопасность26

Аналитика и данные

  • Аналитик данных533
  • Data Scientist436
  • Бизнес-аналитик400
  • Системный аналитик68

Другие направления

  • Проджект-менеджер90
  • UI/UX дизайн70
  • Ручное тестирование14

По регионам

  • Вакансии в США26 186
  • Вакансии в Европе10 369
  • Работа в России3 628
  • Вакансии в Канаде2 306

По формату

  • Удалённые вакансии43 484
  • Релокация в США26 186
  • Гибридная работа5 597
  • Офисная работа4 383

По уровню

  • Senior вакансии22 724
  • Middle вакансии11 726
  • Junior вакансии3 874

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML164 вакансии
  • Grab135 вакансий
  • Celonis45 вакансий
  • Spotify37 вакансий
  • Infobip28 вакансий
  • Adyen26 вакансий
  • Monzo19 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме QuarkusВсе вопросы
QuarkusJuniorКодинг

Как настроить приложение Quarkus с помощью application.properties?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

application.properties — главный файл конфигурации Quarkus, читаемый через MicroProfile Config. Профили задаются префиксом %dev., %test., %prod.; можно инжектировать значения аннотацией @ConfigProperty.

Профили

Quarkus поддерживает три встроенных профиля: dev, test, prod. Свойство с префиксом %dev. активируется только в режиме разработки, %prod. — только в продакшне. Активный профиль можно задать через quarkus.profile или переменную окружения QUARKUS_PROFILE.

# Общие настройки
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=app

# Переопределение для dev-профиля
%dev.quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/devdb
%prod.quarkus.datasource.jdbc.url=jdbc:postgresql://prod-host:5432/proddb

# Кастомное свойство
app.max-items=100

Обзор механизма конфигурации

Quarkus использует стандарт MicroProfile Config для чтения настроек. Основной источник — файл src/main/resources/application.properties. Помимо него работают переменные окружения, системные свойства JVM (-Dkey=value) и любые кастомные ConfigSource. Приоритет источников определён спецификацией: системные свойства (250) > переменные окружения (300) > application.properties (100).

Инъекция значений в код

Свойства инжектируются через аннотацию @ConfigProperty из пакета org.eclipse.microprofile.config.inject. Необязательные значения оборачиваются в Optional<T>, а defaultValue задаётся прямо в аннотации.

import org.eclipse.microprofile.config.inject.ConfigProperty;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;

@Path("/config-demo")
public class ConfigDemoResource {

    @ConfigProperty(name = "app.max-items", defaultValue = "50")
    int maxItems;

    @ConfigProperty(name = "app.feature-flag")
    Optional<Boolean> featureFlag;

    @GET
    public String info() {
        return "maxItems=" + maxItems
            + ", feature=" + featureFlag.orElse(false);
    }
}

Типизированные группы через @ConfigMapping

Для сложных конфигураций Quarkus предлагает интерфейс @ConfigMapping, который связывает иерархические ключи с полями интерфейса. Это безопаснее, чем множество отдельных @ConfigProperty.

import io.smallrye.config.ConfigMapping;

@ConfigMapping(prefix = "app.cache")
public interface CacheConfig {
    int maxSize();
    Duration ttl();
}
app.cache.max-size=500
app.cache.ttl=PT10M

Подводные камни

  • Свойство с опечаткой в имени не вызывает ошибку при старте, если у него есть defaultValue — баг останется незамеченным.
  • Переменные окружения имеют более высокий приоритет, чем application.properties, поэтому локальный файл может молча перекрываться окружением CI/CD.
  • @ConfigProperty нельзя использовать в статических полях или конструкторах без CDI-контекста — это приводит к NullPointerException.
  • Значения типа List<String> задаются через запятую: app.tags=java,quarkus. Пробел после запятой включается в элемент — нужно экранировать или убирать пробелы.
  • Секреты (пароли, токены) не следует хранить в application.properties, зафиксированном в Git — используйте Vault, переменные окружения или Kubernetes Secrets.
  • При нативной сборке (./mvnw package -Pnative) свойства, помеченные @ConfigProperty, фиксируются в binary; изменить их без пересборки нельзя, если они не объявлены как runtime-конфигурация.
  • Профиль %prod. активен по умолчанию в нативном образе, но легко забыть об этом при локальном запуске java -jar без явного quarkus.profile.
  • Формат ключей в переменных окружения использует верхний регистр и подчёркивания вместо точек: QUARKUS_DATASOURCE_JDBC_URL — несоответствие регистра даёт трудноуловимые ошибки.

Частые вопросы на собеседовании

  • Как Quarkus достигает быстрого времени запуска и низкого потребления памяти?
  • Что такое Quarkus и какие проблемы он решает по сравнению с традиционными Java-фреймворками?
  • Как Quarkus поддерживает разработку RESTful API с помощью RESTEasy Reactive?
  • В чём разница между JVM-режимом и native-режимом Quarkus?

Типичные ошибки

  • Путать термин «application properties» с соседним механизмом Quarkus.
  • Не называть границу lifecycle, transaction, thread или request для «application properties».
  • Игнорировать production-эффекты «application properties»: latency, SQL shape, memory, security или observability.

Что проверяет интервьюер

  • Попросить объяснить механизм «application properties» на минимальном примере.
  • Проверить, видит ли кандидат failure mode и диагностику для «application properties».
  • Уточнить, какие настройки или API меняют «application properties» в реальном сервисе.

Как вы знаете этот вопрос?

Проверить себя по теме Quarkus →

Источники

  • https://quarkus.io/guides/config-reference

Связанные темы

Quarkusbackend-designimplementation