12073
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
💡 Java: если переопределяете equals(), всегда переопределяйте и hashCode().
✅ Равные объекты должны иметь одинаковый hash code
✅ Иначе HashSet и HashMap могут не находить совпадения
#Java #OOP
👉 Java Portal
Как превратить VS Code в полноценную IDE для Java-разработки — пошаговый гайд по настройке среды практически с нуля.
Автор показывает, какие расширения поставить для Java и Spring Boot, как настроить Maven/Gradle, debugging, SonarLint, Git, Docker и Kubernetes, а также перенести привычные хоткеи и внешний вид из IntelliJ IDEA.
Полезно, если хотите попробовать VS Code как альтернативу IDEA и собрать среду разработки полностью под себя.
https://habr.com/ru/companies/cdek_blog/articles/811631/
👉 Java Portal
Те, кто критикует Java, часто думают, что язык до сих пор такой же, каким был в 2000-х.
Современный Java — это уже совсем другой язык, который стал гораздо лучше благодаря новым возможностям синтаксиса и API.
Только скажите, что это не выглядит просто и красиво.
👉 Java Portal
Дикая Java — подборка кода, который заставит усомниться в реальности
Разбор необычных и откровенно безумных трюков на Java: Hello World, упакованный в одно число, подмена IntegerCache через Reflection API, безумная цепочка преобразований типов и рабочий код, спрятанный внутри обычного комментария.
Автор подробно показывает, почему всё это вообще работает на JVM, и разбирает механику каждого примера. В прод такое лучше не тащить, зато для понимания некоторых неочевидных особенностей Java — отличное чтиво.
https://habr.com/ru/articles/886080/
👉 Java Portal
Spring Boot 4: observability для Redis теперь использует Observation API.
✅ Метрики и spans для Redis-команд
✅ Можно использовать вместе с OpenTelemetry Starter
#SpringBoot4 #Redis
👉 Java Portal
Отключаем логирование в консоль всего одним параметром.logging.console.enabled=false
Полезно в контейнерах, где логи собираются только из файлов или через OTLP
При необходимости можно оставить file appenders или remote appenders
👉 Java Portal
Бесплатная онлайн-книга «Think Java»
В «Think Java» они так же мягко и понятно проводят новичков от самых азов переменных, циклов и массивов к объектам, классам и полноценному пониманию того, как думать как программист
Читается легко, рабочие лаконичные примеры, а структура шаг за шагом раскрывает язык, не перегружая деталями. Отличный старт, если вы хотите войти в программирование через Java и при этом прокачать само мышление, а не просто синтаксис 📖
👉 Java Portal
now() — это не «сейчас», а скорее «когда-то было сейчас».
На самом деле now() возвращает время начала текущей транзакции. Реальные часы продолжают идти, но каждый последующий вызов now(), CURRENT_TIMESTAMP, CURRENT_TIME и CURRENT_DATE внутри этой же транзакции всё равно возвращает одно и то же время.
В Postgres это называется transaction-frozen timestamp.
То есть INSERT на 10 000 строк с created_at DEFAULT now() получит один и тот же timestamp для всех строк, а не 10 000 слегка отличающихся значений.
Три варианта времени:
• now() — традиционный для Postgres вариант, хотя он есть и в других СУБД, но это не стандарт SQL. В стандарте SQL используется CURRENT_TIMESTAMP. В Postgres также есть transaction_timestamp(), который работает так же, как now(), но хотя бы честно говорит об этом своим названием.
• statement_timestamp() обновляется один раз на каждый SQL-запрос. Это полезно внутри длинной транзакции, когда вам нужно фиксировать время выполнения отдельных команд, но не переходить к реальному системному времени.
• clock_timestamp() — единственный timestamptz, который меняется даже во время выполнения одного SQL-запроса.
👉 Java Portal
Настоящая находка среди репозиториев.
В нём собраны все основные шаги по защите и усилению безопасности Linux-сервера.
Если у вас есть VPS, стоит сохранить:
→ https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
👉 Java Portal
Бэкенд-разработчик пытается написать CSS.
👉 Java Portal
🚀 Spring Boot 4: для проверки состояния MongoDB больше не нужен Spring Data.
✅ Индикаторы состояния теперь находятся в spring-boot-mongodb
✅ Достаточно одного драйвера MongoDB
✅ Используйте spring-boot-starter-mongodb, если вам нужна проверка состояния
#SpringBoot4 #MongoDB
👉 Java Portal
🚀 Тренируемся на 10 из 10: новый юбилейный сезон тренировок по алгоритмам от Яндекса
Интенсив продлится две недели и охватит три крупные темы с видеоуроками. Практические задачи помогут закрепить материал, а соревнования дадут возможность потренироваться в формате настоящего интервью. Особенно полезно будет тем, кто развивает навыки в backend-разработке и пишет на Java — алгоритмические задачи почти всегда встречаются на технических собеседованиях.
Выбери свой вариант участия:
🔸 Тренировка — решай задачи в своём темпе и получи сертификат о прохождении курса.
🔸 Соревнование — проверь себя на задачах, приближенных к интервью, соревнуйся с другими участниками и получи шанс попасть на офлайн-интенсив в Москве.
Среди участников, решивших все задания, разыграют 30 карьерных консультаций, а лучшие на офлайн-интенсиве смогут попасть на пробные собеседования.
Старт сезона — 4 сентября. Участие бесплатное, но необходимо подать заявку.
По умолчанию Postgres считает столбцы, которые вместе используются в WHERE, независимыми друг от друга.
Например, для такого SQL-запроса:
SELECT *
FROM world
WHERE country = 'Japan'
AND continent = 'Asia';
country = 'Japan' равна 0,02, а continent = 'Asia' — 0,4. Тогда общую селективность планировщик оценит как 0,008.country = 'Japan'.CREATE STATISTICS для них вместе, а затем запустить ANALYZE.CREATE STATISTICS планировщик спрогнозировал 1983 строки — гораздо ближе к реальному результату.
Spring Boot-приложение теперь может работать прямо во вкладке браузера как WebAssembly благодаря GraalVM.
В примере запустили радиоплеер.
— старт за 137 мс
— WebAssembly-модуль размером 16 МБ
— 22 Spring bean
По сути, полноценное Spring Boot-приложение запускается прямо в браузере.
👉 Java Portal
Шаблон Full Stack FastAPI теперь отдаёт фронтенд на React и TanStack прямо через FastAPI.
В итоге одно приложение, один деплой и один домен.
Без отдельного фронтенд-сервера, лишней настройки CORS и постоянной отладки проблем между двумя частями приложения.
https://github.com/fastapi/full-stack-fastapi-template
👉 Java Portal
Это единственный сайт, который вам реально нужен, чтобы хорошо освоить Docker.
Он даст вам намного больше, чем случайные плейлисты по Docker на YouTube.
И всё это полностью бесплатно — больше 11 часов практики и упражнений.
https://learndocker.online
👉 Java Portal
Большая коллекция готовых и протестированных сниппетов кода
Внутри собраны компактные примеры на Java 21: алгоритмы, работа с коллекциями, строками, массивами, файлами, датами и другие часто встречающиеся задачи.
Каждый пример рассчитан на то, чтобы разобраться в нём буквально за 30 секунд — удобно держать под рукой как шпаргалку.
https://github.com/iluwatar/30-seconds-of-java
👉 Java Portal
🚀 Spring Boot 4: Test Starters теперь следуют схеме spring-boot-starter-*-test.
✅ Для каждой технологии есть соответствующий test starter
✅ Они транзитивно подключают spring-boot-starter-test
✅ Например, для тестирования Spring Security нужен spring-boot-starter-security-test
#SpringBoot4 #Testing
👉 Java Portal
Java Design Patterns — огромная коллекция паттернов проектирования на Java
Open-source репозиторий с практическими реализациями Design Patterns на Java. Здесь не просто теория: каждый паттерн сопровождается исходным кодом, описанием и примерами использования.
Внутри есть классические Factory, Builder, Adapter, Strategy, Observer, а также CQRS, Event Sourcing, Circuit Breaker, Hexagonal Architecture, Clean Architecture, Dependency Injection, Event-Driven Architecture и множество других архитектурных паттернов.
Хороший справочник для изучения архитектуры, подготовки к собеседованиям и поиска готовых подходов для реальных Java-проектов. Репозиторий собрал уже 94K+ звёзд на GitHub.
👉 Java Portal
JavaScript (or Java) 🚨
👉 Java Portal
7,2 млн рублей призового фонда и реальные задачи космической отрасли 🚀
В сентябре пройдет серия КосмоХакатонов для студентов, молодых ученых и специалистов.
Участникам предстоит за два дня разработать собственное решение, поработать с экспертами и представить проект жюри.
Участников ждут:
🛰 реальные задачи космической отрасли
👥 команды от 3 до 5 человек
💻 очный и онлайн-форматы
🧑💻 работа с экспертами и трекерами
🏆 финал в Москве
Первый КосмоХакатон стартует уже 4 сентября в Ростове-на-Дону.
Дальше серия продолжится в Красноярске, Нижнем Новгороде, Благовещенске и Санкт-Петербурге, а завершится финалом в Москве.
Участие бесплатное. Присоединиться могут студенты, аспиранты, молодые ученые и специалисты от 18 лет.
🔗 Зарегистрироваться: https://космохакатон.рф
Java: не используйте Thread.sleep() для ожидания выполнения работы — используйте синхронизацию или scheduler.
Это всего лишь предположение о времени: выполнение может возобновиться слишком рано или слишком поздно.
Для координации используйте wait() / notify() или CountDownLatch.
Для повторяющихся задач используйте ScheduledExecutorService.
👉 Java Portal
🚀 Spring Boot 4: отключение логов в консоль одним свойством.
✅ logging.console.enabled=false
✅ Полезно в контейнерах, где логи собираются только из файлов или через OTLP
✅ При необходимости можно оставить файловые или удалённые appenders
#SpringBoot4 #Logging
👉 Java Portal
Если честно, papers-we-love — самый удобный инструмент для программирования, которым я пользовался в этом году. Его 109 тысяч звёзд на GitHub вполне заслуженны.
1️⃣ Он собирает самые классические научные работы по информатике и раскладывает их по категориям: распределённые системы, базы данных, операционные системы и многое другое.
В прошлом месяце, когда я искал работы по Paxos, нашёл всё необходимое прямо в этом репозитории. Больше не пришлось бесконечно копаться в Google Scholar.
2️⃣ У каждой работы есть официальная ссылка, а у некоторых — прямая ссылка на PDF. Я проверил сам: никакой регистрации и платных подписок — просто открываешь и читаешь.
Гораздо удобнее, чем сайты-агрегаторы научных работ.
3️⃣ Это не просто собрание материалов. У проекта есть офлайн-встречи в десятках городов по всему миру, а записи прошлых выступлений доступны на YouTube.
Я посмотрел несколько выступлений по распределённым системам — это сильно экономит время по сравнению с самостоятельным чтением десятков работ.
Этот проект действительно экономит огромное количество времени всем, кто занимается программированием.
И вот что многие упускают: это не просто список научных работ. Это тщательно отобранная коллекция, которую годами поддерживают инженеры и исследователи. По сути, они уже отфильтровали за вас 80% бесполезных работ.
Я прочитал около десятка работ, двигаясь по этому каталогу, и качество оказалось намного выше, чем при случайном поиске на arXiv.
Только на отборе материалов можно сэкономить как минимум полдня.
А где вы сейчас в основном ищете научные работы? Есть источники лучше этого?
https://github.com/papers-we-love/papers-we-love
👉 Java Portal
Приложения и базы данных, которые стоят за ними.
Instagram — PostgreSQL
Reddit — PostgreSQL
Twitch — PostgreSQL
Notion — PostgreSQL
Figma — PostgreSQL
ChatGPT — PostgreSQL
Skype — PostgreSQL
GitHub — MySQL
Shopify — MySQL
Slack — MySQL
YouTube — MySQL
Uber — MySQL
Airbnb — MySQL
Facebook — MySQL
Netflix — Cassandra
Discord — ScyllaDB
Забавно, насколько большая часть крупнейших сервисов в мире до сих пор держится на PostgreSQL и MySQL.
👉 Java Portal
Нашёл настоящую золотую жилу для тех, кто готовится к собеседованиям в FAANG
Complete FAANG Preparation, уже больше 12 тысяч , включает
→ DSA — 450 задач от Love Babbar, лист Striver и лист Apna College
→ Основы Computer Science — ОС, СУБД, SQL, компьютерные сети, ООП
→ Проектирование систем — LLD и HLD
→ Задачи на логику, тесты и головоломки на C++, Python, Java и JavaScript
Один репозиторий, и в нём практически всё, что нужно
https://github.com/AkashSingh3031/The-Complete-FAANG-Preparation
👉 Java Portal
Несколько алгоритмов, которые я периодически заставляю себя повторять, чтобы не забыть, как они работают:
• Kadane’s → максимальная сумма подмассива
• Rabin–Karp → поиск подстроки с помощью хеширования
• Topological Sort → топологическая сортировка DAG
• Prim’s → минимальное остовное дерево
• Kruskal’s → MST с Union-Find
• Dijkstra’s → кратчайший путь без отрицательных весов
• Bellman–Ford → кратчайший путь с отрицательными весами
• Tarjan’s → компоненты сильной связности
• Backtracking → решение Sudoku
К этим алгоритмам я продолжаю возвращаться даже спустя годы.
👉 Java Portal
Классика алгоритмов
https://www3.cs.stonybrook.edu/~skiena/373/videos/
👉 Java Portal
Spring Boot 4 получил поддержку статической схемы Redis master/replica через Lettuce.
✅ Узлы задаются через spring.data.redis.masterreplica.nodes
✅ Запросы на чтение можно отправлять на реплики
✅ Работает только с Lettuce, без поддержки Jedis
👉 Java Portal
Бывший глава GitHub строит ему замену.
Потому что GitHub уже не справляется с собственной инфраструктурой.
Сейчас GitHub обрабатывает 2,9 млрд коммитов в месяц. Ещё в апреле было 1,4 млрд. То есть нагрузка удвоилась всего за четыре месяца.
Каждый месяц сливаются 130 млн пул-реквестов и создаются 24 млн новых репозиториев.
И это уже второй крупный сбой GitHub только за август.
Технический директор GitHub Влад Фёдоров прямо написал в разборе инцидента
«Мы добились прогресса, но эти инциденты ясно показывают, что нам нужно ускорить эту работу».
Сейчас уже 58% нагрузки GitHub работает на Microsoft Azure. В мае было всего 12%.
Только за этот год компания добавила 3 млн процессорных ядер и 120 петабайт хранилища.
Собственные центры обработки данных GitHub упёрлись в предел. Причём не по бюджету, а буквально по доступной мощности электроснабжения.
Тем временем Томас Домке, который руководил GitHub до 2024 года, запустил новую компанию Entire.
И она создаётся именно потому, что он не верит, что нынешняя архитектура GitHub сможет выдержать ту нагрузку, которую скоро начнут генерировать ИИ-агенты для программирования.
Источник — The New Stack.
👉 Java Portal