Java for Beginner
743 subscribers
708 photos
196 videos
12 files
1.14K links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

Наш YouTube канал - https://www.youtube.com/@Java_Beginner-Dev

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
Сканирование образа на уязвимости

Добавьте в пайплайн после сборки:
- name: Scan with Trivy
uses: aquasecurity/trivy-action@master
with:
image-ref: 'myapp:${{ github.sha }}'
format: 'table'
exit-code: '1'
ignore-unfixed: true
severity: 'CRITICAL,HIGH'


Как это работает:
- Trivy сканирует образ на наличие уязвимостей в:
- Базовом образе (distroless — минимум пакетов),
- Зависимостях Java (через анализ JAR-файлов).
- ignore-unfixed: true — игнорирует уязвимости без патчей (чтобы не блокировать сборку).
- severity: CRITICAL,HIGH — падает при критических уязвимостях.


Альтернатива: Snyk
- name: Snyk Container scan
uses: snyk/actions/container@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
image: myapp:${{ github.sha }}
args: --severity-threshold=high --fail-on=all



Организация production-ready релиза

Политики хранения образов в registry

1. Для DockerHub/приватного registry:
- Удаляйте образы старше 30 дней (кроме tagged релизов)
- Оставляйте последние 5 образов для каждого major-версии (например, v1.*).


2. Как автоматизировать:
- В GitLab CI используйте cleanup policy для registry,
- В AWS ECR — Lifecycle Policy:

     {
"rules": [
{
"rulePriority": 1,
"description": "Удалять образы старше 30 дней",
"selection": {
"tagStatus": "untagged",
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 30
},
"action": { "type": "expire" }
}
]
}


Multi-environment setup через override.yml

Структура проекта:

├── docker-compose.yml        # Базовая конфигурация
├── docker-compose.dev.yml # Dev-окружение
├── docker-compose.prod.yml # Production
└── .env


Пример docker-compose.prod.yml:
services:
app:
environment:
SPRING_PROFILES_ACTIVE: prod
JAVA_TOOL_OPTIONS: >-
-XX:MaxRAMPercentage=75.0
-XX:+UseZGC
deploy:
replicas: 3
update_config:
parallelism: 1
order: start-first
networks:
- monitoring_net

db:
environment:
POSTGRES_PASSWORD: ${PROD_DB_PASSWORD}
volumes:
- /mnt/prod/pg_data:/var/lib/postgresql/data


Запуск для production:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d


Ключевые отличия:
- Dev:
- Горячая перезагрузка кода через bind mounts,
- Отключенные лимиты ресурсов.

- Production:
- Фиксированные теги образов (не latest),
- Подключение к сети мониторинга (monitoring_net),
- Приватные тома на выделенном диске (/mnt/prod/pg_data).



Будущее: переход к Kubernetes/Helm

Почему Docker Compose не для production?
- Нет оркестрации на нескольких нодах,
- Отсутствует self-healing (автовосстановление упавших сервисов),
- Нет встроенного балансировщика нагрузки.


Как мигрировать
:
1. Замените `docker-compose.yml` на Helm chart:
helm create myapp


2. Настройте values.yaml:

   app:
replicaCount: 3
image:
repository: myapp
tag: "v1.0.0"
resources:
limits:
memory: 512Mi
cpu: "1.5"


3. Интегрируйте Kafka через Strimzi Operator:
   # kafka.yaml
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
spec:
kafka:
version: 3.5.0
replicas: 3
listeners:
- name: plain
port: 9092
type: internal
tls: false


Преимущества Kubernetes:
- Автомасштабирование (HPA),
- Сетевая изоляция через Network Policies,
- Управление секретами через kubectl create secret.



#Java #middle #Docker
👍3
Что выведет код?

public class Task120925 {
public static void main(String[] args) {
double a = 0.1;
double b = 0.2;
double c = 0.3;

System.out.println(a + b == c);
}
}


#Tasks
👍3
Варианты ответа:
Anonymous Quiz
47%
true
50%
false
0%
null
3%
Ошибка компиляции
👍32
Вопрос с собеседований

Что такое Instant в Java? 🤓

Ответ:

Instant
— момент времени в UTC из java.time.

Пример:
Instant now =
Instant.now();

Для timestamp без часового пояса.


#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Всех с днем программиста! ❤️

В соответствии с Указом Президента Российской Федерации от 11.09.2009 г. № 1034, сегодня мы отмечаем! 🥳

Всем и каждому желаю добиться невероятных успехов в программировании, знании всех известных алгоритмов и библиотек, зп в 300кк в 1 наносекунду, на удаленке с Бали и прочих плюшек о которых мечтаете! 🏝

Я верю что вместе все мы добьемся успеха!

С праздником! 🍸
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🍾3
🗓 История IT-технологий сегодня — 13 сентября


ℹ️ Кто родился в этот день

Илья́ Валенти́нович Сегало́вич (13 сентября 1964, Горький — 27 июля 2013, Лондон) — российский программист и сооснователь Yandex, CTO; ключевая фигура в развитии поисковых технологий и архитектуры крупномасштабных поисковых систем в России.


🌐 Знаковые события

1985 — Выпущенная первая часть игры из серии Super Mario Bros. для платформы Famicom.

День программи́стапрофессиональный праздник в РФ, отмечаемый в 256-й день года. Число 256 (2⁸) выбрано потому, что это количество различных значений, которые можно выразить с помощью восьмиразрядного байта. Также это максимальная целая степень числа 2, которая не превышает количества дней в году (365 или 366).

Впервые идея празднования «Дня программиста» была обнародована главой издательского дома «Компьютерра» Дмитрием Мендрелюком 15 июля 1996 года. Днём программиста было предложено считать первую пятницу сентября, названную «Чистой пятницей». В 2002 году сотрудники веб-студии «Параллельные технологии» Валентин Балт и Михаил Червяков организовали сбор подписей под обращением к правительству РФ в поддержку признания 256-го дня года официальным праздником программистов.

24 июля 2009 года Министерством связи и массовых коммуникаций РФ подготовлен и внесён в правительство РФ проект указа президента России «О Дне программиста».

11 сентября 2009 года Президент России Дмитрий Медведев подписал Указ № 1034, подготовленный Министерством связи и массовых коммуникаций Российской Федерации, который устанавливает в России новый официальный праздник — «День программиста».



#Biography #Birth_Date #Events #13Сентября
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🗓 История IT-технологий сегодня — 14 сентября


ℹ️ Кто родился в этот день

Ива́н Матве́евич Виногра́дов (2 (14) сентября 1891 — 20 марта 1983, Москва) — советский математик, академик АН СССР (1929) по Отделению физико-математических наук (математика).


🌐 Знаковые события

1959 космический аппарат Луна-2 впервые в мире достиг поверхности Луны.

2000корпорация Майкрософт выпустила операционную систему Windows Milennium Edition.

2007 — с космодрома Танэгасима запущена японская АМС Kaguya, предназначенная для исследования Луны.

2015открытие гравитационных волн.


#Biography #Birth_Date #Events #14Сентября
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from ChatRoom (Java for Beginner) (Первожрец Java)
Когда рад уходу подписчика
🔥4
Forwarded from ChatRoom (Java for Beginner) (Первожрец Java)
Че встречаться будем сегодня?)
👍3
Ссылка на встречу у бота - @JFB_admin_bot
🗓 История IT-технологий сегодня — 15 сентября


ℹ️ Кто родился в этот день

Росс Андерсон (англ. Ross J. Anderson, 15 сентября 1956 — 28 марта 2024, Кембридж) британский учёный, автор более двухсот статей, консультант по инженерной безопасности. Профессор инженерии безопасности в Кембриджском университете. Его достижения в области криптографии включают в себя разработку шифров, обнаружение слабостей во многих системах безопасности и алгоритмах. Является сооснователем списка рассылки Uk-Crypto.

Анируд Девган (родился 15 сентября 1969 года) — индийско-американский учёный в области компьютерных наук и руководитель бизнеса. Как учёный, Девган известен своим вкладом в автоматизацию электронного проектирования , в частности, в моделирование схем , физическое проектирование и вывод , статистическое проектирование и оптимизацию , а также в верификацию и аппаратные платформы.


🌐 Знаковые события

1947 — Основание ACM (Association for Computing Machinery) — организация, объединяющая компьютерных учёных и инженеров, официально создана.

1968 — в СССР запущена космическая станция «Зонд-5», которая впервые в мире совершила облёт Луны с последующей мягкой посадкой на Землю.

1997 — Зарегистрирован домен Google.com.


#Biography #Birth_Date #Events #15Сентября
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2