ch
Feedback
Чашечка Java

Чашечка Java

前往频道在 Telegram

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

显示更多
8 555
订阅者
无数据24 小时
-147
-1330
帖子存档
AWS Open-Sources Policy-Based Access Control Language Cedar AWS has open-sourced Cedar, their language for defining access pe
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/

Streamlining Java with JEP 443: Ushering in a New Era of Java Code Readability JEP 443, Unnamed Patterns and Variables (Previ
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/

Structured Concurrency in JDK 21: A Leap Forward in Concurrent Programming JEP 453, Structured Concurrency (Preview), has bee
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/

JBang 0.107.0 Delivers Java 21 Preview, OpenAI Integration, and More JBang 0.107.0 provides a preview of Java 21, integrating
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/

Ещё раз о пропертях или откуда что берётся О чём вообще речь? Всем привет! В данной статье речь пойдёт о настраиваемых параметрах конфигурации 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=740802

Профилирование, ассемблер и все-все-все Привет, сегодня будет объёмная и обстоятельная статья о низкоуровневом профилировании и дигностике производительности. Многократно в комментариях к докладам и статьям пользователи высказывали пожелание увидеть не просто перечисление шаблонов "как нужно" и "как не нужно", а целостную историю. Поэтому вот вам статья про конкретный кейс и его историю :). Не удивляйтесь, что начнём мы с JPA, хотя казалось бы где оно и где ассемблер. По ходу дела вы всё поймёте. Читать: https://habr.com/ru/articles/542156/?utm_campaign=542156

Article: How to Manage Full-Stack Java Development with Hilla This article explores Hilla, an open-source framework that offe
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/

Improving Sustainable Throughput: The Generational Upgrade of Shenandoah Garbage Collector JEP 404, Generational Shenandoah,
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/

Зачем Scala-разработчику разбираться в функциональном дизайне и каково его практическое применение? Об этом 8 июня на открытом уроке расскажет Алексей Воронец, руководитель разработки в NAUMEN. На этой встрече вы: — Узнаете, зачем Scala-разработчику может понадобиться функциональный дизайн. — Выясните, из каких основных компонентов он состоит. — Узнаете, для решения задач в каких предметных областях он широко используется. — Попрактикуетесь в решении задачи, используя декларативную и исполняемую модели. — Выясните плюсы и минусы обеих моделей. Чтобы попасть на урок, пройдите вступительный тест: https://otus.pw/SRY2/ Реклама ООО «Отус Онлайн-Образование» LjN8KGrPQ

Spring Data JPA: замена нескольких запросов одним и почему это очень важно Spring Data JPA: замена нескольких запросов одним и почему это очень важно. Всем привет. В данной статье коснусь темы запросов к базе данных и как небольшие изменения в коде позволят значительно увеличить скорость работы нашего приложения, за счет увеличения производительности работы базы данных. Читать: https://habr.com/ru/articles/740446/?utm_campaign=740446

Разница между FileReader и BufferedReader в Java FileReaderи BufferedReader— два класса, которые могут считывать символы из входного потока. В этом туториале мы с вами рассмотрим различия между ними. Читать: https://habr.com/ru/companies/otus/articles/740278/?utm_campaign=740278

Java Digest #1 Всем привет! 👋 👋 👋 Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом. Льюис Кэрролл писал: «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!» Надеемся, что поможем немного сберечь силы в этом марафоне всем читателям. Stay tuned! 😉 Читать первый выпуск Читать: https://habr.com/ru/companies/tinkoff/articles/740350/?utm_campaign=740350

Постоянно заняты рутиной по созданию однотипных бизнес-приложений? Есть решение, которое облегчит вашу жизнь Jmix, мощная open-source платформа для упрощения и ускорения разработки бизнес-приложений на Java или Kotlin. Jmix предлагает: — Модульную архитектуру, адаптируемую под проекты. — Большой набор встроенных инструментов и компонентов для ускоренной разработки в IntelliJ IDEA Community Edition. — На выходе готовое Spring Boot приложение. — Готовые механизмы безопасности с декларативной настройкой ролей. — Множество расширений для гибкой кастомизации и интеграции в корпоративный ландшафт. — Встроенный UI с готовыми шаблонами и богатая библиотека UI-компонентов для бизнес-приложений. — Возможность использования в качестве бэкенда через Jmix REST API для front-end приложения (React, Angular, Flutter и т.д.) Не тратьте время на рутину - используйте Jmix в своих проектах! Реклама ООО «Хоулмонт» LjN8KTvfp

Просто о сложном: трассировки в микросервисах В современном мире все больше IT-проектов переходят на микросервисную архитектуру. При таком подходе появляется ряд вопросов — как избитых, так и не самых очевидных. Как обеспечить корректную работу системы из большого числа микросервисов? Каким способом и с помощью каких технологий разворачивать этот зоопарк? Как отследить узкие места в производительности? Меня зовут Максим, я Java-разработчик в SimbirSoft. Сейчас работаю на финтех-проекте, занимаюсь созданием бизнес-логики, иногда подключаюсь к различным техническим задачам. В этой статье я кратко и понятно опишу, что такое трассировки, как устроен Jaeger, а также расскажу про недавно появившийся новый стандарт распределенного трейсинга и мониторинга — OpenTelemetry. Материал будет полезен начинающим разработчикам. Из него вы узнаете, как с небольшими усилиями подключить трассировки к своему проекту. Речь пойдет об инструменте из большого блока «‎Наблюдаемость» (Monitoring), а конкретно — о трассировках. Сначала пройдем по азам, затем закрепим все на примере приложения Spring Boot. Читать: https://habr.com/ru/companies/simbirsoft/articles/740152/?utm_campaign=740152

Если вы хотите изучать Java, то лучше это начать свой путь с необычного проекте Например, 8 июня на открытом уроке «Создание игры на Java и LibGDX с нуля» можно написать свою 2D-бродилку. За один вечер вы пройдете принципы написания кода на Java и узнаете, из каких базовых блоков строятся программы. Урок будет полезен тем, кто хочет: — Начать изучать Java с нуля. — Посмотреть, как на практике создаются Java-приложения на примере 2D игры. — Создать свою игру и уже имеет базовые навыки программирования. Вебинар приурочен к старту специализации «Java Developer». Регистрируйтесь: https://otus.pw/fpnH/ Реклама ООО «Отус Онлайн-Образование» LjN8KbJez

Принцип подстановки Барбары Лисков в Java Принципы проектирования SOLID были представлены Робертом Мартином в его книге “Design Principles and Design Patterns” в 2000 году. Эти принципы помогают нам создавать более гибкое программное обеспечение, которое легко понимать и обслуживать. В этой статье мы обсудим “Принцип подстановки Барбары Лискофф”, который соответствует букве L в акрониме SOLID. Читать: https://habr.com/ru/articles/739734/?utm_campaign=739734

Java News Roundup: JEPs for JDK 21, Hibernate Reactive 2.0, Payara Named CVE Numbering Authority This week's Java roundup for
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/

Сколько памяти нужно для запуска 1 миллиона параллельных задач? В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir. Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк. Читать: https://habr.com/ru/companies/ruvds/articles/739054/?utm_campaign=739054