java_iibrary | Unsorted

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

12073

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

Subscribe to a channel

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

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

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

Современная Java — сверху, Rust — снизу.

Той Java, которую вы привыкли представлять, больше нет.

👉 Java Portal

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

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

Самое время снова вспомнить о Java Records.

В этом руководстве показано, как record помогает объединять связанные неизменяемые данные в один объект. По сравнению с набором отдельных переменных код становится понятнее и проще в сопровождении.

Если вы ещё не используете record, это один из самых простых способов писать более чистый и выразительный код на Java.

Подробнее: https://social.ora.cl/6012BDGFKM

👉 Java Portal

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

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

Оптимизация производительности Spring Boot.

https://vladmihalcea.com/spring-boot-performance-tuning/

👉 Java Portal

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

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

🚀 Spring Boot 4: @ConfigurationPropertiesSource для внешних типов.

✅ Теперь метаданные можно генерировать даже для типов, которые находятся в другом модуле.

#SpringBoot4 #Config

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

💡 Java — не стоит считать, что десятичным разделителем всегда будет точка.

✅ Шаблоны вроде #,###.## всё равно используют символы, зависящие от локали.

✅ Нужные разделители можно задать через DecimalFormatSymbols(locale).

✅ В Италии число будет выглядеть как 1.234,56, а в США — 1,234.56.

#Java #JavaDev

👉 Java Portal

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

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

Эти заметки — структурированное руководство по собеседованиям по проектированию систем.

Внутри разбираются как базовые подходы к System Design, так и конкретные архитектуры: веб-краулеры, системы уведомлений, платёжные платформы и другие типичные задачи с собеседований.

https://github.com/liquidslr/system-design-notes

👉 Java Portal

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

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

Подзапросы в SQL сначала могут казаться запутанными, но на деле это просто запросы, которые передают данные другому запросу.

В этой статье Абдулла объясняет, как работают подзапросы и где они используются в SQL.

Разбираются некоррелированные и коррелированные подзапросы, производные столбцы и таблицы, а также операторы IN, ANY, ALL, EXISTS и многое другое.

https://freecodecamp.org/news/how-to-work-with-subqueries-in-sql/

👉 Java Portal

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

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

Вам доклады по Go или Java? VK приглашает на митап с двойной начинкой
26 августа VK собирает Go- и Java-инженеров, чтобы прокачать знания.

В программе два трека — Go и Java, по три доклада в каждом.

Трек Go:
• «Компиляция Go в динамическую либу, или как мы ускорили выкатку фичи в два раза, но нам не понравилось», Михаил Кичигин, бэкенд-разработчик, Avito Tech
• «Go-платформа VK: как мы построили единую основу для создания Go-сервисов», Александр Апанасенко, руководитель команды SDK Backend, VK
• «Почтальон от Kubernetes до Palo Alto. Как осуществляется доставка информации об адресах», Дарья Кулькина, бэкенд-разработчик, Точка Банк

Трек Java:
• «Перформанс-трюки в поисковой платформе Ozon», Пётр Портнов, ведущий разработчик среднего поиска, Ozon
• «Архитектура современного движка платёжной системы и переход к новой архитектуре», Игорь Крикунов, технический лидер разработки DBC, Альфа-Банк
• «Переход от федерации S3-кластеров в пользу коммунального и мультитенантного кластера», Кирилл Боблак, ведущий разработчик One-cloud, VK

А ещё будет мастер-класс по прокачке навыка, который сделает вас звездой любого вечера, и афтепати, чтобы обсудить доклады в неформальной обстановке.

Встречаемся в 17:00, начало в 18:00. Участие бесплатное, регистрация обязательна.

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

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

Разработчику стоит знать основные концепции системного дизайна.

Это помогает показать потенциальным работодателям, что вы умеете превращать требования к архитектуре в готовый к продакшену код.

В курсе разбираются архитектура приложений, проектирование API, кэширование, сети, базы данных и многое другое.

https://freecodecamp.org/news/learn-system-design-principles/

👉 Java Portal

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