Public channel ID 77400161222906

Java. Менторинг за чашкой кода

Канал о Java и про Java, и, конечно, для тех кто на ней кодит, ну или только собирается. Подробно разбираю вопросы к собеседованию на Java различного уровня

Channels in category
1 757
This channel's rank
№ 226
Open category →
Open in MAX

Posts for the period

By reactions

Search and the whole feed — after free registration. Custom dates — with a subscription; the channel owner sees them for free. Sorting by reactions — with a subscription. Sign up

Loading…

В прошлом посте я перечислил для современного разработчика все нужные инструменты, теперь думаю стоит отдельно остановиться на нескольких популярных, но используемых не на всех проектах. и начнем сегодня с Vault.
В нескольких постах "подготовим и внедрим" к себе в проект безопасное хранилище секретов.

Готовим фундамент: сервер Vault и роль для приложения

Прежде чем агент пойдет за секретами, мы должны показать ему, куда идти и к какой двери он имеет право подойти.

Шаг 1. Создаем «пропуск» (Политику)
Приложению нельзя давать доступ ко всем секретам. Создаем правило, которое разрешает читать только нужную базу данных.

Создаем файл `my-app-policy.hcl` на сервере Vault:

path "secret/data/myapp/db" {
capabilities = ["read"]
}

Загрузи его в Vault:

`vault policy write my-app-policy my-app-policy.hcl`

Шаг 2. Заводим «учетку для сервера» (AppRole)
У сервера не может быть логина и пароля от человека. Используем AppRole — это пара «Role ID» (кто ты) и «Secret ID» (знаешь ли ты код).

Команды:

vault auth enable approle
vault write auth/approle/role/my-app-role token_policies="my-app-policy" token_ttl="1h"

Шаг 3. Выдаем ключи
Теперь забираем данные для нашего агента.

1. Получаем «логин» (Role ID):
`vault read auth/approle/role/my-app-role/role-id`
Сохраняем вывод этой команды в файл с названием `role-id`.
2. Получаем «пароль» (Secret ID):
`vault write -f auth/approle/role/my-app-role/secret-id`
Сохраняем вывод этой команды в файл с названием `secret-id`.

У нас на руках два файла: `role-id` и `secret-id`. Это всё, что нужно агенту для входа. Передай эти файлы тому, кто настраивает сервер с приложением.
Views: 87
Go to post Open in MAX Report an inaccuracy
Знать Core Java, Stream API и многопоточность сегодня — это как уметь менять колесо. Необходимо, но недостаточно, чтобы называться инженером. Современный разработчик — это архитектор, который понимает, как его код живет внутри дата-центра.

Ниже я собрал полный стек инструментов, разделенный по уровням сложности.

---

Уровень 1: Фундамент (Must-Have)
Это база, которая встречается в 90% вакансий Middle/Senior.

1. PostgreSQL
Да, Oracle жив, но джентльменский набор — это Postgres.
Это не просто хранилище. Мощный движок с JSONB (замена MongoDB), полнотекстовым поиском и крутейшей расширяемостью.

2. Redis
Сверхбыстрое хранилище ключ-значение в оперативной памяти. Кэширование тяжелых ответов БД, сессии пользователей, счетчики. Когда база тормозит, первым делом спасает Redis.

3. Apache Kafka
Распределенная система логов. Это асинхронное общение микросервисов. Если Сервис А упал, Сервис Б всё равно получит сообщение, когда поднимется. Гарантирует, что ни одно событие (например, заказ) не пропадет.

4. Docker
Твой код работает на твоем ноутбуке, но падает на сервере? Забудь.
Упаковка твоего приложения, Java и настроек Linux в одну «коробку». Гарантия переносимости.

5. Kubernetes (K8s)
Обеспечивает запуск сотен сервисов. K8s сам перезапустит упавший сервис, масштабирует его под нагрузкой и обновит без простоя.

6. CI/CD (GitLab CI / Jenkins)
Ты написал код, нажал Commit, и магия случилась.
Пайплайн сам соберет образ, прогонит тесты и выкатит на сервер.

---

Уровень 2: Инструменты надежности.

7. Prometheus + Grafana
Сбор метрик (сколько памяти ест запрос, сколько RPS) и красивые графики.

8. OpenTelemetry (Tracing)
В системе из 50 микросервисов запрос проходит через 10 серверов.
Ты видишь всю цепочку: «Запрос зашел -> ждал 200ms в БД -> пошел в Auth». Это Jaeger или Tempo. Находит «бутылочные горлышки».

9. HashiCorp Vault
Хранить пароли в `application.yml` — это путь к увольнению.
Централизованное хранение API-ключей и паролей. Секреты лежат в памяти, а не в коде.

10. ElasticSearch (ELK Stack) — Память логов
Когда логов гигабайты, `grep` умирает.
Полнотекстовый поиск по логам. Найти одну ошибку среди миллионов строк за 1 секунду.

---
Уровень 3: Специализация
для высоконагруженных систем и энтерпрайза.

11. Apache Artemis / RabbitMQ
В отличие от Kafka (где читают все), здесь сообщение лежит в очереди, пока один рабочий его не заберет.
Гарантированная обработка задач: отправка писем, расчет зарплаты, обработка фото.

12. Hazelcast / Infinispan — Распределенный интеллект
Это Redis на стероидах.
Ты можешь запускать вычисления прямо там, где лежат данные, не гоняя трафик в БД. Распределенные блокировки.

13. ClickHouse — Пушка аналитики
Когда PostgreSQL не справляется с отчетами по миллиардам строк.
Колоночная БД. Считает суммы и группировки по терабайтам данных за миллисекунды. Дашборды BI.

Java — это «двигатель», но без Docker, K8s, Prometheus, OpenTelemetry он далеко не уедет.
Views: 83
Go to post Open in MAX Report an inaccuracy
Сегодня решил немного написать не о технологии, а о реалии текущего мира, это лишь мое мнение и Вы можете не согласиться, но кто сегодня разработчики и почему не актуальны холивары «React vs Vue». В 2026 году роль разработчика фундаментально изменилась. Мы перестали писать каждую строчку кода, и стали архитекторами, которые собирают системы из готовых блоков.

Вот главные сдвиги, которые уже произошли, и как с этим жить.

1. Сборка вместо написания (AI-First Development)
Раньше мы искали Stack Overflow. Теперь мы описываем задачу нейросети.
Как это выглядит: Вы не пишете функцию валидации формы. Вы пишете промпт: «Сделай React-компонент формы регистрации. Поля: email, пароль. Валидация: email по RFC 5322, пароль минимум 8 символов с одной заглавной. Стиль Tailwind CSS. Отдай готовый код».
Проблема: Код работает, но он «не ваш». Вы не понимаете, как он устроен внутри, пока он не сломается.

2. Суперкомпьютеры из розетки (Cloud AI)
Вам больше не нужен сервер с 4 видеокартами под столом, чтобы обучить модель. Мощность суперкомпьютеров теперь продается как электричество. Любой стартап может арендовать кластер для обучения LLM на час и выключить его.
Следствие: Барьер входа в Machine Learning упал, но выросла цена ошибки — сжечь бюджет за ночь неправильного прогона теперь проще простого.

3. Конфиденциальность «в черном ящике» (Confidential Computing)
Самый горячий тренд безопасности. Проблема: даже если данные зашифрованы на диске, они расшифровываются в оперативной памяти сервера для обработки, и админ их видит.
Решение: Теперь данные обрабатываются внутри специального защищенного анклава процессора. Даже владелец сервера (облака) не может подсмотреть, что там происходит. Для медицины и финансов это стало стандартом.

4. Команды цифровых сотрудников (Multi-Agent Systems)
Один ChatGPT — это помощник. Десять специализированных ИИ, которые общаются друг с другом — это отдел.
Пример: ИИ-менеджер ставит задачу ИИ-дизайнеру. Тот генерирует макет и передает ИИ-фронтендеру. Если макет не проходит тесты, ИИ-менеджер сам возвращает задачу на доработку. Человек в этой цепочке появляется только на этапе финального утверждения (Human-in-the-loop).

5. Смерть «универсалов» и узкие ИИ-эксперты
Универсальные модели (вроде больших LLM) хороши для болтовни, но плохи для точных расчетов или специфических знаний.
Тренд: Появление узкоспециализированных моделей. ИИ-юрист, который знает только ГК РФ. ИИ-диагност, который смотрит только на рентген легких. Они точнее, дешевле и не галлюцинируют на темы, выходящие за их компетенцию.

Что делать разработчику, чтобы не остаться за бортом?
1. Учиться промпт-инжинирингу на уровне архитектуры. Уметь разбивать сложную задачу на подзадачи для разных ИИ.
2. Понимать границы. Знать, где ИИ ошибется (безопасность, сложная математика, бизнес-логика с нюансами).
3. Фокус на интеграцию. Код, который связывает 5 разных API нейросетей между собой, сейчас ценится выше, чем идеальный алгоритм сортировки.

Нас не заменили нейросети. Нас «апгрейдили». Рутина ушла, осталась только сложная инженерная работа по сборке систем.
Views: 79
Go to post Open in MAX Report an inaccuracy
VKontakte Telegram Odnoklassniki
Favorites at datool.ru

Follow the channel in your account

Sign up at datool.ru to add the channel “Java. Менторинг за чашкой кода” to favorites and track its metrics.

Sign up
For channel owners

Verify your channel

Sign in or sign up at datool.ru, then add our bot to the channel following the instructions in your account. Once ownership is verified, the lock disappears and channel management becomes available.

Sign in or sign up

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go