Java Portal | Программирование
12.3K subscribers
1.12K photos
92 videos
36 files
996 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Совет по Java: начиная с Java 8 можно легко убирать null значения с помощью list.removeIf(Objects::isNull)

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
12
🔥Прими участие в Хакатоне от ИТ-холдинга Т1 в Москве и поборись за призовой фонд 1 200 000 рублей!

Когда: 25–28 ноября
Формат: онлайн + финал на площадке

Участвуй, если ты:
🔹обучаешься на технической или ИТ-специальности
🔹развиваешься в направлении разработки, системной администрации, AI/ML или DevOps
🔹сможешь быть в Москве 28 ноября.

Выбери свой кейс:

✴️VibeCode Jam: собеседование будущего. Создай ИИ-платформу для прохождения технических собеседований с виртуальным интервьюером.

✴️Self-Deploy: CI/CD без DevOps. Автоматизируй генерацию CI/CD пайплайнов по анализу структуры Git-репозитория.


Почему стоит участвовать:
🔘Кейс в портфолио и полезная обратная связь от менторов Т1
🔘Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний
🔘Реальный опыт командной работы
🔘Мерч и атмосфера сильного комьюнити — в Т1 более 5 000 джунов из 580+ вузов России и Беларуси.

Регистрация открыта!
➡️ Успей до 23 ноября по ссылке.

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Docker

Как понять, что раздувает образ

Любой Docker-образ состоит из слоев.
Каждая строка в Dockerfile добавляет новый слой.

По этим слоям можно понять, почему образ получается большим, долго собирается или плохо кешируется.

Вот как посмотреть слои и узнать, что именно менялось в каждом из них.

Используй утилиту dive.

Она показывает наглядно:

- какие слои созданы
- какие файлы добавлены или изменены
- сколько места занимает каждый слой

Когда начинаешь изучать слои образа, можно быстро выяснить:

• какая команда в Dockerfile добавляет лишний вес
• как оптимизировать сборку, чтобы образ был меньше и собирался быстрее

Dive также дает оценку «эффективности» образа. Она показывает, насколько много данных дублируется или просто впустую занимает место в слоях.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84
Java/Backend. Интервью. Сценарный вопрос про распределенный лок:

У тебя есть критичный сервис, допустим обработка заказов, который крутится на нескольких инстансах в Kubernetes. Чтобы избежать гонки, когда два инстанса одновременно берут один и тот же заказ, ты ставишь распределенный лок через Redis setnx с TTL 10 секунд.

Какой критичный кейс все равно возможен, если один из инстансов словит Full GC паузу длиной 15 секунд сразу после получения лока? Опиши ситуацию split-brain и к чему она приведет по данным.

Как это разруливать на интервью:

→ сначала важно отметить, что простой Redis-лок с TTL помогает, если сервис просто упал, но создает новую, куда более опасную проблему

→ баг в том, что длинная пауза, например Full GC, может быть дольше, чем TTL лока

→ и вот что ломается (Split-Brain):

Service A берет лок,
и тут же уходит в GC на 15 секунд

Через 10 секунд Redis удаляет лок по TTL

Service B спокойно берет тот же лок,
и начинает обрабатывать заказ

Через 15 секунд Service A просыпается
все еще уверенный, что лок у него
и тоже обрабатывает этот же заказ

→ итог: два сервиса одновременно трогают один и тот же заказ. Данные ломаются. Например клиенту списывают деньги дважды.

→ реальное решение (меняем дизайн): вообще избавиться от лока

Кладем заказы в очередь сообщений,
например Kafka или RabbitMQ

Consumer group с несколькими инстансами читает этот топик

Брокер гарантирует, что каждое сообщение (заказ) уходит только одному инстансу из группы

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
Telegram опубликовал список 8 самых быстрорастущих каналов для программистов:

Only Python — Подборки приёмов и фич, о которых не рассказывают в курсах.

Only Tech — Главные тренды и инсайды из мира технологий, маркетинга и интернет-культуры.

Only Hack — Реальные кейсы кибератак, инструменты и методы защиты, которые используют хакеры.

Only GitHub — Репозитории, которые решают реальные задачи.
Скрипты, фреймворки и готовые решения

Only IT — Без мнений и слухов — только факты и важные IT-события.

Only Apple — Новые апдейты, утечки и фишки, которые Apple ещё не показала.

Only GPT — Промпты, хаки и свежие инструменты, о которых молчат даже AI-каналы.

Only Memes — Если ты когда-нибудь деплоил в пятницу вечером — ты поймешь

Подписывайтесь и прокачивайте свои скиллы.
🤣4😁1
Учебник по Java от Андрея Иванцова теперь доступен онлайн на GitBook. В нём собрано всё, что нужно новичку: от простых типов данных и строк до исключений и коллекций. Материал подан по делу, с примерами кода и понятными объяснениями.

Ссылка для тех, кто хочет прокачаться: andrey-ivantsov.gitbook.io/java

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👀4