Чашечка Java
8.57K subscribers
3.88K photos
13 videos
56 files
6.33K links
Лучшие материалы по Java на русском и английском

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
Стоит ли читать книгу «System Design Interview - An Insider's Guide» в 2025 году? Обзор показывает, что оба тома остаются востребованным ресурсом для подготовки к интервью по системному проектированию, благодаря подробным примерам, полезным стратегиям и актуальным кейсам. Лучшие курсы и книги по системному дизайну для подготовки к собеседованиям. В статье собраны рекомендации по материалам и курсам, которые помогут освоить ключевые концепции системного проектирования и успешно пройти интервью разработчикам и инженерам машинного обучения. Как подготовиться к собеседованию по Spring и Java. В статье собраны вопросы и темы для успешного прохождения интервью: Spring Boot, Microservices, SQL, Hibernate и многое другое. Полезно для разработчиков всех уровней, кто хочет систематизировать знания и пройти собеседование.

Подробности: http://www.java67.com/2024/06/is-system-design-interview-book-worth.html

#en

@a_cup_of_java | Другие наши каналы
Лучшие курсы Udemy по распределённым системам в 2025 году

Распределённые системы обеспечивают масштабируемость и надёжность современных приложений. В статье собраны топ-5 курсов на Udemy, которые помогут освоить архитектуру микросервисов, алгоритмы консенсуса и работу с облачными технологиями. Топ онлайн-курсов для изучения программирования в 2025 году. В обзоре представлены лучшие бесплатные и платные курсы по Java, Python, Spring, SQL, веб-разработке и другим востребованным технологиям. Отличный гид для IT-образования и карьерного роста.

Подробности: http://www.java67.com/2025/02/top-5-udemy-courses-to-learn-distributed-system.html

#en

@a_cup_of_java | Другие наши каналы
🔥2
Docker в песочнице: Запуск контейнеров без root-прав и привилегий

Приветствую всех! В своей прошлой и по совместительству первой статье я рассказывал про упаковку приложения в докер контейнеры. В комментариях мне сделали замечание, что я не упомянул про защиту приложения и запуск от non-root. Что ж, исправлюсь и сделаю это в отдельной статье. Напомню, что я написал простое приложение для голосование за лучший ресторан и попытался по простому объяснить как произвести его контейнеризацию. Также уточню, что упор я делаю именно упаковку приложения в докер контейнеры, а не на бизнес-логику и UI.

Есть несколько релизов:


Читать: https://habr.com/ru/articles/912326/?utm_campaign=912326

@a_cup_of_java | Другие наши каналы
Cборка мусора в Java Highload

Как мы убили 400ms лаги в банке и выжали из Java 55k транзакций/сек: хардкор про GC и адреналин

Читать: «Cборка мусора в Java Highload»

@a_cup_of_java | Другие наши каналы
👍4
Java Highload и сборка мусора

Разработка HL-решения со строгим SLA по RPS и latency затрагивает множество аспектов. В частности OLTP, мультиплексирование запросов, неблокирующий I/O и прочее. В данной статье хотел бы поговорить про сборку мусора. Мы не будем погружаться в цитирование спецификации. Напротив, взглянем на сборку глазами инженера, перед которым стоит задача оптимизировать процесс с минимальными издержками.


Читать: https://habr.com/ru/articles/912550/?utm_campaign=912550

@a_cup_of_java | Другие наши каналы
Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM

Это текстовая версия доклада с HighLoad++ 2024, с которым выступал один из наших бывших девелопер-адвокатов @RustamKuramshin. Также есть отдельная запись доклада, сделанная силами участников программного комитета HighLoad++.


Читать: https://habr.com/ru/companies/axiomjdk/articles/911568/?utm_campaign=911568

@a_cup_of_java | Другие наши каналы
Новые релизы Spring: в мае 2025 вышли версии Spring Boot 3.5, Spring Security 6.5, Authorization Server 1.5 и другие. Обновления включают улучшения безопасности, поддержку новых спецификаций OAuth 2.0 и интеграцию с AI. Подробнее в статье на InfoQ.

Подробности: https://www.infoq.com/news/2025/05/spring-news-roundup-may19-2025/

#en

@a_cup_of_java | Другие наши каналы
Python vs Java: кто быстрее и дешевле

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

Возглавляя бэкенд-команду витрины в KION, я, Леша Жиряков, постоянно балансирую между скоростью вывода фичей и стабильностью работы системы. Сегодня решил перевести абстрактные технические дискуссии в конкретные цифры. А еще — поделиться расчетами, которые помогут принять экономически обоснованное решение: что выбрать для следующего проекта — Python или Java?


Читать: https://habr.com/ru/companies/ru_mts/articles/912730/?utm_campaign=912730

@a_cup_of_java | Другие наши каналы
👍2
Как я открыл WebSocket для Сомников из Чёрного Зеркала, а они начали водить хороводы

С приходом популярности генеративных нейросетей, другие виды искусственного интеллекта тоже получили своё место под солнцем. Однако, ещё до этого уже существовали проекты, где искусственный интеллект играет в различные игры, получает очки за достижение целей и обучается на основе своих результатов. При этом, у каждого игрового ИИ есть свой массив доступных ему действий, который может быть постоянным или изменяемым согласно правилам. Я решил собрать небольшой проект, описать механизм взаимодействия ИИ с игровым пространством, а уже потом наполнить игру правилами и смыслом.


Читать: https://habr.com/ru/articles/912934/?utm_campaign=912934

@a_cup_of_java | Другие наши каналы
Как пропатчить Intellij Idea для FreeBSD

Здравствуйте, эта статья не про аниме, но мы точно знаем как пропатчить Intellij Idea для FreeBSD. И не боимся об этом рассказывать.


Читать: https://habr.com/ru/articles/912976/?utm_campaign=912976

@a_cup_of_java | Другие наши каналы
Java отмечает 30 лет! Важные обновления: вышли Hibernate ORM 7.0 и Validator 9.0, Open Liberty обновился, появился новый фреймворк Embabel на Kotlin и Azure представил jaz для упрощения запуска Java-приложений в облаке.

Подробности: https://www.infoq.com/news/2025/05/java-news-roundup-may19-2025/

#en

@a_cup_of_java | Другие наши каналы
Проектируем архитектуру Camunda Cloud: подключаем движок процессов к вашему миру

Вы начали свой первый проект, используя автоматизацию бизнес-процессов как сервис с Camunda Cloud? Одной из первых задач будет набросать базовую архитектуру вашего решения. Этот блог-пост поможет вам ответить на важные начальные вопросы: как подключить движок выполнения процессов Zeebe к вашему приложению или к внешним системам? Что такое job worker, какую роль он играет и сколько их вообще нужно?


Читать: https://habr.com/ru/articles/913060/?utm_campaign=913060

@a_cup_of_java | Другие наши каналы
Защита API-ключей: как избежать утечек

Защита API-ключей. Показываем, как избежать утечек в API. Рассматриваем пошаговую инструкцию и инструменты Tproger

Читать: «Защита API-ключей: как избежать утечек»

@a_cup_of_java | Другие наши каналы
Иногда приходится¹ копаться² в кишках³ Apache Spark

¹ …просто потому, что другого варианта добиться необходимого результата тупо не существует.
² и да, довольно-таки глубоко.
³ нет, серьёзно!
Давайте рассмотрим следующий бизнесовый кейс.
Дано: реально большие данные. Очень много датасетов по много терабайтов каждый, — в сумме объём тянет на петабайты. Лежат в облаке, но это не важно. Важно, что мы эти данные покупаем в «сыром» виде, каким-то образом «готовим», а потом перепродаём конечному потребителю.
Требуется: при подготовке каждого из датасетов разделить его согласно значениям одного или нескольких полей, составляющих его записи, на несколько. И это одна из особенно часто встречающихся в нашем процессе операций.
Довольно-таки сложный, продвинутый ETL у нас. Поясню на типичном примере.


Читать: https://habr.com/ru/articles/913244/?utm_campaign=913244

@a_cup_of_java | Другие наши каналы
2😁1
Эволюция Clojure: от идеи к зрелому решению

Джордан Миллер рассказывает, как язык Clojure развивался от концепции Рича Хики по борьбе со сложностью до мощной платформы для бизнеса. В посте освещены основные философии, важные этапы и активное сообщество вокруг Clojure.

Подробности: https://www.infoq.com/presentations/clojure-2024/

#en

@a_cup_of_java | Другие наши каналы
Spring Data Ahead of Time репозитории

Команда Spring АйО перевела статью про новую версию AOT-репозиториев, которые позволяют генерировать реализацию методов запросов на этапе сборки. Это ускоряет запуск приложений, снижает потребление памяти и делает поведение репозиториев более прозрачным для разработчиков.


Читать: https://habr.com/ru/companies/spring_aio/articles/913486/?utm_campaign=913486

@a_cup_of_java | Другие наши каналы
2
Разработка Java-проекта с Jmix AI Assistant, часть 2

В первой части статьи с помощью инструмента Jmix AI Assistant начато создание системы для проведения онлайн курсов.

Были сгенерированы сценарии использования (use cases), разработана UML-диаграмма в формате PlantUML для этих use cases, разработана доменная модель для системы и ее реализация на JMIX. Далее все классы разбиты по пакетам.

Продолжим эксперименты по разработке кода с помощью Jmix AI Assistant, включая следующие:

- Генерация класса, заполняющего доменную модель тестовыми данными

- Генерация REST API для модели домена, включая создание контроллеров и REST сервисов

- Генерация пользовательского интерфейса


Читать: https://habr.com/ru/articles/908736/?utm_campaign=908736

@a_cup_of_java | Другие наши каналы
Почему java -jar игнорирует твой -cp и как это обойти

Привет, Хабр!

Когда java -jar цинично игнорирует ваш -cp, хочется грустить, но спокойствие, сегодня рассмотрим, почему так происходит и как это обойти.


Читать: https://habr.com/ru/companies/otus/articles/911992/?utm_campaign=911992

@a_cup_of_java | Другие наши каналы
10 техник оптимизации Java, которые выведут вас на новый уровень

Когда Java-приложение внезапно начинает «подвисать», причина почти всегда кроется в прозаичных деталях: неоптимизированных циклах, неудачном выборе коллекций, забытом кэше или агрессивном GC. В этой статье — 10 практических техник, которые помогут выжать максимум из JVM без преждевременной микрооптимизации и шаманства. Только доказавшие свою эффективность подходы, которые реально работают в проде — от финтеха до высоконагруженных API.


Читать: https://habr.com/ru/companies/otus/articles/913922/?utm_campaign=913922

@a_cup_of_java | Другие наши каналы
Spring команда рассказала о новых подходах к AOT-кэшу, поддержке null safety с JSpecify и обновлённой политике поддержки Spring Boot. Важно для разработчиков: облегчён запуск контейнеров и стандартизация аннотаций null в Java. Полная поддержка теперь длится до 7 лет.

Подробности: https://www.infoq.com/news/2025/05/spring-aot-jspecify-support/

#en

@a_cup_of_java | Другие наши каналы
🌭1
Архитектурные принципы Spring Security. Часть вторая

Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль.

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


Читать: https://habr.com/ru/companies/spring_aio/articles/911862/?utm_campaign=911862

@a_cup_of_java | Другие наши каналы
👎1