Чашечка Java
Открыть в Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Больше8 555
Подписчики
Нет данных24 часа
-147 дней
-1330 день
Архив постов
8 555
AWS Open-Sources Policy-Based Access Control Language Cedar
AWS has open-sourced Cedar, their language for defining access permissions using policies. Cedar is integrated within both Amazon Verified Permissions and AWS Verified Access. Cedar can also be integrated directly into an application via the provided SDK and language specification.
By Matt Campbell
Read: https://www.infoq.com/news/2023/06/aws-cedar-open-source/
8 555
Streamlining Java with JEP 443: Ushering in a New Era of Java Code Readability
JEP 443, Unnamed Patterns and Variables (Preview), has been Completed from Targeted status for JDK 21. This preview JEP proposes to "enhance the language with unnamed patterns, which match a record component without stating the component's name or type, and unnamed variables, which can be initialized but not used."
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/06/streamlining-java-with-jep-443/
8 555
Structured Concurrency in JDK 21: A Leap Forward in Concurrent Programming
JEP 453, Structured Concurrency (Preview), has been Integrated from the Targeted status for JDK 21. Formerly an incubating API, this initial preview incorporates enhancements in response to feedback from the previous two rounds of incubation: JEP 428, Structured Concurrency (Incubator), delivered in JDK 19; and JEP 437, Structured Concurrency (Second Incubator), delivered in JDK 20.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/06/structured-concurrency-jdk-21/
8 555
Java 21 to drop generational Shenandoah GC feature
Read: https://www.infoworld.com/article/3699308/java-21-to-drop-generational-shenandoah-gc-feature.html#tk.rss_java
8 555
JBang 0.107.0 Delivers Java 21 Preview, OpenAI Integration, and More
JBang 0.107.0 provides a preview of Java 21, integrating with the OpenAI plugins via the quickstart port from Python and further integration with ChatGPT to generate Java code.
By Shaaf Syed
Read: https://www.infoq.com/news/2023/06/jbang-107/
8 555
Ещё раз о пропертях или откуда что берётся
О чём вообще речь?
Всем привет! В данной статье речь пойдёт о настраиваемых параметрах конфигурации Spring приложений. Когда я только начал изучать Spring, естественно, одним из источников знаний были готовые примеры, проекты-образцы. И меня жутко бесило, что какие-то нужные для работы приложения значения появлялись «ниоткуда». К примеру, автор какого-нибудь туториала предлагал для проверки только что созданного учебного приложения зайти на localhost по порту 8088. Откуда берётся 8088? Почему не 8089? Оказалось, что для таких настраиваемых параметров есть специальные файлы. Итак:
Какие бывают настраиваемые параметры?
Настраиваемые параметры используются самим Spring-ом, различными библиотеками и, по желанию разработчика, могут быть добавлены свои собственные. Список всех параметров Spring-а можно посмотреть здесь.
Например, за то на каком порту будет крутиться встроенный http-сервер (если мы используем Spring Web) отвечает параметр server.port. В том самом туториале из вступления в соответствующем файле server.port был равен 8088. Выглядит это (в простейшем случае) так:
server.port=8088
Имя параметра может состоять (и, как правило, состоит) из нескольких частей. Например, все «спринговые» параметры начинаются со слова «spring». Кастомные (пользовательские) параметры, введённые разработчиком конечного приложения, могут начинаться, например со слова application или любого другого. В зависимости от используемого формата файла, части разделяются по-разному (см. следующий раздел). Простейший вариант, просто точками. Пример пользовательских параметров:
Читать: https://habr.com/ru/articles/740802/?utm_campaign=7408028 555
JetBrains adds to Aqua testing IDE
Read: https://www.infoworld.com/article/3699130/jetbrains-adds-to-aqua-testing-ide.html#tk.rss_java
8 555
Профилирование, ассемблер и все-все-все
Привет, сегодня будет объёмная и обстоятельная статья о низкоуровневом профилировании и дигностике производительности. Многократно в комментариях к докладам и статьям пользователи высказывали пожелание увидеть не просто перечисление шаблонов "как нужно" и "как не нужно", а целостную историю. Поэтому вот вам статья про конкретный кейс и его историю :). Не удивляйтесь, что начнём мы с JPA, хотя казалось бы где оно и где ассемблер. По ходу дела вы всё поймёте.
Читать: https://habr.com/ru/articles/542156/?utm_campaign=542156
8 555
Article: How to Manage Full-Stack Java Development with Hilla
This article explores Hilla, an open-source framework that offers an approach to web application development by integrating a Spring Boot Java backend with a reactive TypeScript frontend. It uses either Lit or React, combined with Vaadin’s 40+ open-source UI web components for interface creation. It also generates REST APIs and client access codes, a secure, stateless backend architecture.
By Simon Martinelli
Read: https://www.infoq.com/articles/how-to-manage-full-stack-java-development-with-hilla/
8 555
Improving Sustainable Throughput: The Generational Upgrade of Shenandoah Garbage Collector
JEP 404, Generational Shenandoah, has been promoted from Proposed to Target to Targeted for JDK 21. This JEP proposes to "enhance the Shenandoah garbage collector with experimental generational collection capabilities to improve sustainable throughput, load-spike resilience, and memory utilization."
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/06/improving-sustainable-throughput/
8 555
Зачем Scala-разработчику разбираться в функциональном дизайне и каково его практическое применение?
Об этом 8 июня на открытом уроке расскажет Алексей Воронец, руководитель разработки в NAUMEN.
На этой встрече вы:
— Узнаете, зачем Scala-разработчику может понадобиться функциональный дизайн.
— Выясните, из каких основных компонентов он состоит.
— Узнаете, для решения задач в каких предметных областях он широко используется.
— Попрактикуетесь в решении задачи, используя декларативную и исполняемую модели.
— Выясните плюсы и минусы обеих моделей.
Чтобы попасть на урок, пройдите вступительный тест: https://otus.pw/SRY2/
Реклама ООО «Отус Онлайн-Образование» LjN8KGrPQ
8 555
Spring Data JPA: замена нескольких запросов одним и почему это очень важно
Spring Data JPA: замена нескольких запросов одним и почему это очень важно.
Всем привет. В данной статье коснусь темы запросов к базе данных и как небольшие изменения в коде позволят значительно увеличить скорость работы нашего приложения, за счет увеличения производительности работы базы данных.
Читать: https://habr.com/ru/articles/740446/?utm_campaign=740446
8 555
Разница между FileReader и BufferedReader в Java
FileReaderи BufferedReader— два класса, которые могут считывать символы из входного потока. В этом туториале мы с вами рассмотрим различия между ними.
Читать: https://habr.com/ru/companies/otus/articles/740278/?utm_campaign=7402788 555
Java Digest #1
Всем привет! 👋 👋 👋
Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
Льюис Кэрролл писал: «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!» Надеемся, что поможем немного сберечь силы в этом марафоне всем читателям. Stay tuned! 😉
Читать первый выпуск
Читать: https://habr.com/ru/companies/tinkoff/articles/740350/?utm_campaign=740350
8 555
Постоянно заняты рутиной по созданию однотипных бизнес-приложений? Есть решение, которое облегчит вашу жизнь
Jmix, мощная open-source платформа для упрощения и ускорения разработки бизнес-приложений на Java или Kotlin.
Jmix предлагает:
— Модульную архитектуру, адаптируемую под проекты.
— Большой набор встроенных инструментов и компонентов для ускоренной разработки в IntelliJ IDEA Community Edition.
— На выходе готовое Spring Boot приложение.
— Готовые механизмы безопасности с декларативной настройкой ролей.
— Множество расширений для гибкой кастомизации и интеграции в корпоративный ландшафт.
— Встроенный UI с готовыми шаблонами и богатая библиотека UI-компонентов для бизнес-приложений.
— Возможность использования в качестве бэкенда через Jmix REST API для front-end приложения (React, Angular, Flutter и т.д.)
Не тратьте время на рутину - используйте Jmix в своих проектах!
Реклама ООО «Хоулмонт» LjN8KTvfp
8 555
Просто о сложном: трассировки в микросервисах
В современном мире все больше IT-проектов переходят на микросервисную архитектуру. При таком подходе появляется ряд вопросов — как избитых, так и не самых очевидных. Как обеспечить корректную работу системы из большого числа микросервисов? Каким способом и с помощью каких технологий разворачивать этот зоопарк? Как отследить узкие места в производительности?
Меня зовут Максим, я Java-разработчик в SimbirSoft. Сейчас работаю на финтех-проекте, занимаюсь созданием бизнес-логики, иногда подключаюсь к различным техническим задачам. В этой статье я кратко и понятно опишу, что такое трассировки, как устроен Jaeger, а также расскажу про недавно появившийся новый стандарт распределенного трейсинга и мониторинга — OpenTelemetry.
Материал будет полезен начинающим разработчикам. Из него вы узнаете, как с небольшими усилиями подключить трассировки к своему проекту. Речь пойдет об инструменте из большого блока «Наблюдаемость» (Monitoring), а конкретно — о трассировках.
Сначала пройдем по азам, затем закрепим все на примере приложения Spring Boot.
Читать: https://habr.com/ru/companies/simbirsoft/articles/740152/?utm_campaign=740152
8 555
Если вы хотите изучать Java, то лучше это начать свой путь с необычного проекте
Например, 8 июня на открытом уроке «Создание игры на Java и LibGDX с нуля» можно написать свою 2D-бродилку. За один вечер вы пройдете принципы написания кода на Java и узнаете, из каких базовых блоков строятся программы.
Урок будет полезен тем, кто хочет:
— Начать изучать Java с нуля.
— Посмотреть, как на практике создаются Java-приложения на примере 2D игры.
— Создать свою игру и уже имеет базовые навыки программирования.
Вебинар приурочен к старту специализации «Java Developer».
Регистрируйтесь: https://otus.pw/fpnH/
Реклама ООО «Отус Онлайн-Образование» LjN8KbJez
8 555
Принцип подстановки Барбары Лисков в Java
Принципы проектирования SOLID были представлены Робертом Мартином в его книге “Design Principles and Design Patterns” в 2000 году. Эти принципы помогают нам создавать более гибкое программное обеспечение, которое легко понимать и обслуживать.
В этой статье мы обсудим “Принцип подстановки Барбары Лискофф”, который соответствует букве L в акрониме SOLID.
Читать: https://habr.com/ru/articles/739734/?utm_campaign=739734
8 555
Java News Roundup: JEPs for JDK 21, Hibernate Reactive 2.0, Payara Named CVE Numbering Authority
This week's Java roundup for May 29th, 2023 features news from OpenJDK, JDK 21, GlassFish 7.0.5, Payara, Open Liberty 23.0.0.5, IBM Semeru Runtimes, Micronaut 4.0-M6, Quarkus 3.1, Hibernate ORM 6.2.4, Hibernate Reactive 2.0, Hibernate Search 6.2.Beta1, Camel Quarkus 3.0-M2, Camel 3.14.8, Tomcat Native 2.0.4 and 1.2.37, Ktor 2.3.1, Multik 0.2.2, JobRunr 6.2.1, JDKMon 17.0.63 and Gradle 8.2-RC1.
By Michael Redlich
Read: https://www.infoq.com/news/2023/06/java-news-roundup-may29-2023/
8 555
Сколько памяти нужно для запуска 1 миллиона параллельных задач?
В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.
Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.
Читать: https://habr.com/ru/companies/ruvds/articles/739054/?utm_campaign=739054
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
