java_iibrary | Unsorted

Telegram-канал java_iibrary - Java Portal | Программирование

12073

Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Subscribe to a channel

Java Portal | Программирование

💡 Java: если переопределяете equals(), всегда переопределяйте и hashCode().

✅ Равные объекты должны иметь одинаковый hash code
✅ Иначе HashSet и HashMap могут не находить совпадения

#Java #OOP

👉 Java Portal

Читать полностью…

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 Portal | Программирование

Те, кто критикует Java, часто думают, что язык до сих пор такой же, каким был в 2000-х.

Современный Java — это уже совсем другой язык, который стал гораздо лучше благодаря новым возможностям синтаксиса и API.

Только скажите, что это не выглядит просто и красиво.

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Дикая Java — подборка кода, который заставит усомниться в реальности

Разбор необычных и откровенно безумных трюков на Java: Hello World, упакованный в одно число, подмена IntegerCache через Reflection API, безумная цепочка преобразований типов и рабочий код, спрятанный внутри обычного комментария.

Автор подробно показывает, почему всё это вообще работает на JVM, и разбирает механику каждого примера. В прод такое лучше не тащить, зато для понимания некоторых неочевидных особенностей Java — отличное чтиво.

https://habr.com/ru/articles/886080/

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Spring Boot 4: observability для Redis теперь использует Observation API.

✅ Метрики и spans для Redis-команд
✅ Можно использовать вместе с OpenTelemetry Starter

#SpringBoot4 #Redis

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Отключаем логирование в консоль всего одним параметром.

logging.console.enabled=false

Полезно в контейнерах, где логи собираются только из файлов или через OTLP

При необходимости можно оставить file appenders или remote appenders

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Бесплатная онлайн-книга «Think Java»

В «Think Java» они так же мягко и понятно проводят новичков от самых азов переменных, циклов и массивов к объектам, классам и полноценному пониманию того, как думать как программист

Читается легко, рабочие лаконичные примеры, а структура шаг за шагом раскрывает язык, не перегружая деталями. Отличный старт, если вы хотите войти в программирование через Java и при этом прокачать само мышление, а не просто синтаксис 📖

👉 Java Portal

Читать полностью…

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

Читать полностью…

Java Portal | Программирование

Настоящая находка среди репозиториев.

В нём собраны все основные шаги по защите и усилению безопасности Linux-сервера.

Если у вас есть VPS, стоит сохранить:

→ https://github.com/imthenachoman/How-To-Secure-A-Linux-Server

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Бэкенд-разработчик пытается написать CSS.

👉 Java Portal

Читать полностью…

Java Portal | Программирование

🚀 Spring Boot 4: для проверки состояния MongoDB больше не нужен Spring Data.

✅ Индикаторы состояния теперь находятся в spring-boot-mongodb
✅ Достаточно одного драйвера MongoDB
✅ Используйте spring-boot-starter-mongodb, если вам нужна проверка состояния

#SpringBoot4 #MongoDB

👉 Java Portal

Читать полностью…

Java Portal | Программирование

🚀 Тренируемся на 10 из 10: новый юбилейный сезон тренировок по алгоритмам от Яндекса

Интенсив продлится две недели и охватит три крупные темы с видеоуроками. Практические задачи помогут закрепить материал, а соревнования дадут возможность потренироваться в формате настоящего интервью. Особенно полезно будет тем, кто развивает навыки в backend-разработке и пишет на Java — алгоритмические задачи почти всегда встречаются на технических собеседованиях.

Выбери свой вариант участия:

🔸 Тренировка — решай задачи в своём темпе и получи сертификат о прохождении курса.

🔸 Соревнование — проверь себя на задачах, приближенных к интервью, соревнуйся с другими участниками и получи шанс попасть на офлайн-интенсив в Москве.

Среди участников, решивших все задания, разыграют 30 карьерных консультаций, а лучшие на офлайн-интенсиве смогут попасть на пробные собеседования.

Старт сезона — 4 сентября. Участие бесплатное, но необходимо подать заявку.

Читать полностью…

Java Portal | Программирование

По умолчанию 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.

Я проверил это на тестовом датасете, результаты видны на изображении. Изначально планировщик ожидал, что запрос вернёт 784 строки, хотя фактический результат составлял 2000 строк.

После выполнения CREATE STATISTICS планировщик спрогнозировал 1983 строки — гораздо ближе к реальному результату.

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Spring Boot-приложение теперь может работать прямо во вкладке браузера как WebAssembly благодаря GraalVM.

В примере запустили радиоплеер.

— старт за 137 мс
— WebAssembly-модуль размером 16 МБ
— 22 Spring bean

По сути, полноценное Spring Boot-приложение запускается прямо в браузере.

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Шаблон Full Stack FastAPI теперь отдаёт фронтенд на React и TanStack прямо через FastAPI.

В итоге одно приложение, один деплой и один домен.

Без отдельного фронтенд-сервера, лишней настройки CORS и постоянной отладки проблем между двумя частями приложения.

https://github.com/fastapi/full-stack-fastapi-template

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Это единственный сайт, который вам реально нужен, чтобы хорошо освоить Docker.

Он даст вам намного больше, чем случайные плейлисты по Docker на YouTube.

И всё это полностью бесплатно — больше 11 часов практики и упражнений.

https://learndocker.online

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Большая коллекция готовых и протестированных сниппетов кода

Внутри собраны компактные примеры на Java 21: алгоритмы, работа с коллекциями, строками, массивами, файлами, датами и другие часто встречающиеся задачи.

Каждый пример рассчитан на то, чтобы разобраться в нём буквально за 30 секунд — удобно держать под рукой как шпаргалку.

https://github.com/iluwatar/30-seconds-of-java

👉 Java Portal

Читать полностью…

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 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

Читать полностью…

Java Portal | Программирование

JavaScript (or Java) 🚨

👉 Java Portal

Читать полностью…

Java Portal | Программирование

7,2 млн рублей призового фонда и реальные задачи космической отрасли 🚀

В сентябре пройдет серия КосмоХакатонов для студентов, молодых ученых и специалистов.
Участникам предстоит за два дня разработать собственное решение, поработать с экспертами и представить проект жюри.

Участников ждут:
🛰 реальные задачи космической отрасли
👥 команды от 3 до 5 человек
💻 очный и онлайн-форматы
🧑‍💻 работа с экспертами и трекерами
🏆 финал в Москве

Первый КосмоХакатон стартует уже 4 сентября в Ростове-на-Дону.

Дальше серия продолжится в Красноярске, Нижнем Новгороде, Благовещенске и Санкт-Петербурге, а завершится финалом в Москве.

Участие бесплатное. Присоединиться могут студенты, аспиранты, молодые ученые и специалисты от 18 лет.
🔗 Зарегистрироваться: https://космохакатон.рф

Читать полностью…

Java Portal | Программирование

Java: не используйте Thread.sleep() для ожидания выполнения работы — используйте синхронизацию или scheduler.

Это всего лишь предположение о времени: выполнение может возобновиться слишком рано или слишком поздно.

Для координации используйте wait() / notify() или CountDownLatch.

Для повторяющихся задач используйте ScheduledExecutorService.

👉 Java Portal

Читать полностью…

Java Portal | Программирование

🚀 Spring Boot 4: отключение логов в консоль одним свойством.

✅ logging.console.enabled=false

✅ Полезно в контейнерах, где логи собираются только из файлов или через OTLP

✅ При необходимости можно оставить файловые или удалённые appenders

#SpringBoot4 #Logging

👉 Java Portal

Читать полностью…

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

Читать полностью…

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

Читать полностью…

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

Читать полностью…

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

Читать полностью…

Java Portal | Программирование

Классика алгоритмов

https://www3.cs.stonybrook.edu/~skiena/373/videos/

👉 Java Portal

Читать полностью…

Java Portal | Программирование

Spring Boot 4 получил поддержку статической схемы Redis master/replica через Lettuce.

✅ Узлы задаются через spring.data.redis.masterreplica.nodes
✅ Запросы на чтение можно отправлять на реплики
✅ Работает только с Lettuce, без поддержки Jedis

👉 Java Portal

Читать полностью…

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

Читать полностью…
Subscribe to a channel