12073
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
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
Современная Java — сверху, Rust — снизу.
Той Java, которую вы привыкли представлять, больше нет.
👉 Java Portal
Самое время снова вспомнить о Java Records.
В этом руководстве показано, как record помогает объединять связанные неизменяемые данные в один объект. По сравнению с набором отдельных переменных код становится понятнее и проще в сопровождении.
Если вы ещё не используете record, это один из самых простых способов писать более чистый и выразительный код на Java.
Подробнее: https://social.ora.cl/6012BDGFKM
👉 Java Portal
Оптимизация производительности Spring Boot.
https://vladmihalcea.com/spring-boot-performance-tuning/
👉 Java Portal
🚀 Spring Boot 4: @ConfigurationPropertiesSource для внешних типов.
✅ Теперь метаданные можно генерировать даже для типов, которые находятся в другом модуле.
#SpringBoot4 #Config
👉 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
💡 Java — не стоит считать, что десятичным разделителем всегда будет точка.
✅ Шаблоны вроде #,###.## всё равно используют символы, зависящие от локали.
✅ Нужные разделители можно задать через DecimalFormatSymbols(locale).
✅ В Италии число будет выглядеть как 1.234,56, а в США — 1,234.56.
#Java #JavaDev
👉 Java Portal
Эти заметки — структурированное руководство по собеседованиям по проектированию систем.
Внутри разбираются как базовые подходы к System Design, так и конкретные архитектуры: веб-краулеры, системы уведомлений, платёжные платформы и другие типичные задачи с собеседований.
https://github.com/liquidslr/system-design-notes
👉 Java Portal
Подзапросы в SQL сначала могут казаться запутанными, но на деле это просто запросы, которые передают данные другому запросу.
В этой статье Абдулла объясняет, как работают подзапросы и где они используются в SQL.
Разбираются некоррелированные и коррелированные подзапросы, производные столбцы и таблицы, а также операторы IN, ANY, ALL, EXISTS и многое другое.
https://freecodecamp.org/news/how-to-work-with-subqueries-in-sql/
👉 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. Участие бесплатное, регистрация обязательна.
Разработчику стоит знать основные концепции системного дизайна.
Это помогает показать потенциальным работодателям, что вы умеете превращать требования к архитектуре в готовый к продакшену код.
В курсе разбираются архитектура приложений, проектирование API, кэширование, сети, базы данных и многое другое.
https://freecodecamp.org/news/learn-system-design-principles/
👉 Java Portal