Чашечка Java
Kanalga Telegram’da o‘tish
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Ko'proq ko'rsatish8 283
Obunachilar
-124 soatlar
-57 kun
-7130 kun
Postlar arxiv
8 283
Просто о сложном: трассировки в микросервисах
В современном мире все больше IT-проектов переходят на микросервисную архитектуру. При таком подходе появляется ряд вопросов — как избитых, так и не самых очевидных. Как обеспечить корректную работу системы из большого числа микросервисов? Каким способом и с помощью каких технологий разворачивать этот зоопарк? Как отследить узкие места в производительности?
Меня зовут Максим, я Java-разработчик в SimbirSoft. Сейчас работаю на финтех-проекте, занимаюсь созданием бизнес-логики, иногда подключаюсь к различным техническим задачам. В этой статье я кратко и понятно опишу, что такое трассировки, как устроен Jaeger, а также расскажу про недавно появившийся новый стандарт распределенного трейсинга и мониторинга — OpenTelemetry.
Материал будет полезен начинающим разработчикам. Из него вы узнаете, как с небольшими усилиями подключить трассировки к своему проекту. Речь пойдет об инструменте из большого блока «Наблюдаемость» (Monitoring), а конкретно — о трассировках.
Сначала пройдем по азам, затем закрепим все на примере приложения Spring Boot.
Читать: https://habr.com/ru/companies/simbirsoft/articles/740152/?utm_campaign=740152
8 283
Если вы хотите изучать Java, то лучше это начать свой путь с необычного проекте
Например, 8 июня на открытом уроке «Создание игры на Java и LibGDX с нуля» можно написать свою 2D-бродилку. За один вечер вы пройдете принципы написания кода на Java и узнаете, из каких базовых блоков строятся программы.
Урок будет полезен тем, кто хочет:
— Начать изучать Java с нуля.
— Посмотреть, как на практике создаются Java-приложения на примере 2D игры.
— Создать свою игру и уже имеет базовые навыки программирования.
Вебинар приурочен к старту специализации «Java Developer».
Регистрируйтесь: https://otus.pw/fpnH/
Реклама ООО «Отус Онлайн-Образование» LjN8KbJez
8 283
Принцип подстановки Барбары Лисков в Java
Принципы проектирования SOLID были представлены Робертом Мартином в его книге “Design Principles and Design Patterns” в 2000 году. Эти принципы помогают нам создавать более гибкое программное обеспечение, которое легко понимать и обслуживать.
В этой статье мы обсудим “Принцип подстановки Барбары Лискофф”, который соответствует букве L в акрониме SOLID.
Читать: https://habr.com/ru/articles/739734/?utm_campaign=739734
8 283
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 283
Сколько памяти нужно для запуска 1 миллиона параллельных задач?
В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.
Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.
Читать: https://habr.com/ru/companies/ruvds/articles/739054/?utm_campaign=739054
8 283
JVM internals — перевод
Статья объясняет внутреннюю архитектуру виртуальной машины Java (JVM). Диаграмма отображает ключевые внутренние компоненты типичной JVM, которая соответствует спецификации The Java Virtual Machine Specification Java SE 7 Edition
Читать: https://habr.com/ru/articles/739338/?utm_campaign=739338
8 283
Java для новичков: подборка материалов для самостоятельного изучения и сообществ для погружения
Привет, Хабр! Меня зовут Егор Ерохин, я — наставник на курсе «Java-разработчик» Яндекс Практикума и Java тимлид. В этой статье я собрал как русскоязычные, так и англоязычные ресурсы, которые помогут начинающим Java-разработчикам на их пути. А ещё комьюнити, которые будут полезны для расширения кругозора и нетворкинга.
Читать: https://habr.com/ru/companies/yandex_praktikum/articles/738812/?utm_campaign=738812
8 283
Article: Azure Functions in Quarkus 3
A guide to using Azure Functions with Quarkus 3, for HTTP and non-HTTP functions. Covers newer native integration for serverless functions.
By Daniel Oh
Read: https://www.infoq.com/articles/azure-functions-quarkus/
8 283
Предположим, нам дали два целых числа, но не примитивы, а Integer-объекты…
Этой публикацией мы начинаем серию небольших статей с разбором “сложных” заданий из сертификации для Java-разработчиков, чтобы помочь вам подготовиться к сдаче сертификационного экзамена и помочь вам лучше понять, как работает Java и как эффективнее использовать его в своих проектах.
Итак, один из подвопросов, традиционно выносимых на экзамен — будь это сертификация Oracle или сертификации для Java-разработчиков от Учебного центра IBS, — интересуется разработкой кода с использованием классов-оболочек, в частности, Boolean, Double или, скажем, Integer.
Задача и ее решение
Читать: https://habr.com/ru/companies/ibs/articles/739380/?utm_campaign=739380
8 283
Многопоточность в мобильной разработке
Всем привет! На связи Сергей, Android-разработчик Студии Олега Чулакова на проектах Сбера.
В этой статье я хочу рассмотреть один из важнейших аспектов мобильной разработки — многопоточность. Многопоточность позволяет выполнять несколько задач одновременно и повышать производительность приложения.
Читать: https://habr.com/ru/articles/739212/?utm_campaign=739212
8 283
Зачем Scala-разработчику разбираться в функциональном дизайне и каково его практическое применение?
Об этом на открытом уроке расскажет Алексей Воронец, руководитель разработки в NAUMEN. Занятие пройдёт 8 июня в 20:00 в рамках онлайн-курса OTUS «Scala-разработчик».
На этой встрече вы:
— узнаете, зачем Scala-разработчику может понадобиться функциональный дизайн;
— выясните, из каких основных компонентов он состоит;
— узнаете, для решения задач в каких предметных областях он широко используется;
— попрактикуетесь в решении задачи, используя декларативную и исполняемую модели;
— выясните плюсы и минусы обеих моделей.
Участие в открытом уроке — отличный шанс посмотреть, как проходят занятия на курсе и познакомиться с преподавателем. После пробного урока полный курс вы сможете приобрести в рассрочку.
Чтобы записаться на открытый урок, пройдите вступительный тест: https://otus.pw/SRY2/
Реклама ООО «Отус Онлайн-Образование» LjN8KcGfY
8 283
Консолидация отображения данных с использованием протокола OData
Появилась у нас тут задачка, вывести на портале Incomand данные из разных подсистем (1С, Тезис…) . Конечно можно было бы написать плагины, каждый из которых слазил бы в подсистему, получил данные и показал их на портале - НО - мы бы получили p2p и спагетти, порталу пришлось бы разбираться с форматами и протоколами работы каждой системы….
Читать: https://habr.com/ru/articles/738526/?utm_campaign=738526
8 283
Работа Apache Kafka на примерах. Поднимаем Kafka Cluster используя docker-compose
В этой статье продемонстрирую и объясню работу Kafka, используя как можно меньше определений и больше практики. Мы рассмотрим 3 сценария работы с Kafka. Для последнего сценария мы поднимем Kafka Cluster в Docker и с помощью UI увидим, как происходит общение между сервисами.
Читать: https://habr.com/ru/articles/738874/?utm_campaign=738874
8 283
Interactive Java consoles with JLine and ConsoleUI
Read: https://www.infoworld.com/article/3697654/interactive-java-consoles-with-jline-and-consoleui.html#tk.rss_java
8 283
Что такое абстрактные классы и методы в Java
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.
В Java абстрактные классы и методы – это основные инструменты для реализации абстракций. Абстрактные классы служат шаблонами для создания субклассов, а абстрактные методы можно сравнить с чертежами, описывающими поведение этих субклассов.
Если вы новичок в Java или хотите освежить знания о том, чем отличаются абстрактные классы или интерфейсы, то можете почитать руководство и на эту тему: Difference Between Interface and Abstract class in Java.
Читать: https://habr.com/ru/companies/piter/articles/738508/?utm_campaign=738508
8 283
Spring Data JPA: разница между методами findById, getOne, getById и findOne
JpaRepositorySpring Data предоставляет огромный набор методов, упрощающих реализацию операций над базой данных. С их помощью вы можете сохранять, удалять и считывать объект сущности (entity object). Однако одна из немногих проблем, являющаяся следствием изобилия возможностей, которые дают нам эти интерфейсы, — это выбор правильного метода для вашего конкретного случая. И иногда это совсем не так просто, как могло бы показаться с первого взгляда. Хорошим примером этой проблемы являются методы findById, getOne, getById, и findOne. Судя по их именам, все они делают одно и то же. Так когда и какой из них вы должны использовать?
Именно на этот вопрос я собираюсь ответить в этой статье. Эти методы имеют несколько важных различий. И как только вы их узнаете, выбор правильного метода для вашего конкретного случая станет чем-то совсем очевидным.
Читать: https://habr.com/ru/companies/otus/articles/738298/?utm_campaign=7382988 283
Java News Roundup: Java Turns 28, Payara Platform, Micronaut 4.0-M5, Spring Updates, JHipster Lite
This week's Java roundup for May 22nd, 2023 features news from OpenJDK, JDK 21, Spring Cloud 2022.0.3, Spring Shell 3.1.0, 3.0.4 and 2.1.10, Spring Security Kerberos 2.0-RC2, Payara Platform, Quarkus 3.0.4 and 2.13.8, WildFly 28.0.1, Micronaut 4.0-M5, Helidon 2.6.1, MicroStream 8.1.0, Apache Camel 3.20.5, JDKMon 17.0.61, JHipster Lite 0.33.0, Java’s 28th Birthday and Azul State of Java survey.
By Michael Redlich
Read: https://www.infoq.com/news/2023/05/java-news-roundup-may22-2023/
8 283
Как в 3 раза снизить затраты на отказоустойчивую инфраструктуру, переехав с Hazelcast на Redis
Redis на хайпе. Но мы переехали на него с Hazelcast не из-за этого, а потому, что в какой-то момент осознали, что не замечать сколько инцидентов у нас возникает из-за Hazelcast, дальше невозможно. Сегодня расскажу вам замечательную историю как мы всем Альфа-Мобайлом сменяли одну технологию на другую.
Читать: https://habr.com/ru/companies/alfa/articles/737630/?utm_campaign=737630
8 283
JetBrains Compose Multiplatform for iOS Reaches Alpha
After adding support for desktop apps and the Web, JetBrains multiplatform declarative UI toolkit now runs on iOS in alpha.
By Sergio De Simone
Read: https://www.infoq.com/news/2023/05/compose-multiplatform-ios-alpha/
8 283
Telegram клиент. TDLib и Spring Boot
Всем привет! В данной статье я хотел бы рассмотреть процесс создания Telegram клиента с помощью кроссплатформенной библиотеки TDLib, Java и Spring Boot.
Читать: https://habr.com/ru/articles/738022/?utm_campaign=738022
