ch
Feedback
Чашечка Java

Чашечка Java

前往频道在 Telegram

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

显示更多
8 443
订阅者
-324 小时
-177
-6030
帖子存档
Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов Эпохи развития программирования в России и в мире.
Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов Эпохи развития программирования в России и в мире. Какие стадии прошли разработчики и к чему пришли в настоящий момент. Прогнозы на будущее. Читать: «Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов» @a_cup_of_java | Другие наши каналы

Как обобрать дерево в несколько потоков? Всем привет, меня зовут Антон, я Java‑разработчик в Сбере, подразделение SberWorks. Я разрабатываю Giga IDE — новую IDE на основе IntelliJ IDEA. В ходе работы столкнулся с тем, что при открытии проектов происходит сканирование всех папок для поиска тех или иных файлов. Если обобщить, то задача сводится к обходу дерева. Я решил подробнее рассмотреть эту тему, причём с прицелом на многопоточность. Задача обхода деревьев далеко не нова, существуют два основных подхода: обход в ширину и глубину. В первом случае удобно применять рекурсивный алгоритм, а во втором — понадобится дополнительная коллекция, в которую будут складываться узлы дерева, но всё это в один поток, а я решил рассмотреть эту задачу в многопоточной интерпретации. Читать: https://habr.com/ru/companies/sberbank/articles/921528/?utm_campaign=921528 @a_cup_of_java | Другие наши каналы

This is the item title This is the item content with links. Читать: https://premium.TheFeedReaderBot.com/itemUrl.html @a_cup_of_java | Другие наши каналы

Telegram-bot для поиска укрытий (публикую после событий в Белгороде 30.12.23) Эта статья, как и приложение были написаны на прошлых новогодних праздниках, но по ряду причин, я не решился публиковать текст, так и остался он в черновиках. Вчера случилось страшное - в канун новогодних праздников город Белгород, в котором я живу, попал под массированный обстрел кассетными боеприпасами, моя семья также попала в сектор бомбардировки, чудом спаслись и не пострадали. Все произошло быстро, эти несколько минут перевернули жизни сотен семей. Когда мы вышли из укрытия, стало понятно, что будут десятки погибших. Увы, не сработали никакие системы превентивного предупреждения. Читать: https://habr.com/ru/articles/712042/?utm_campaign=712042 @a_cup_of_java | Другие наши каналы

Построение гибкой и распределенной архитектуры с использованием Kafka и Kafka Connect: Часть 2 — Получатель и Helm Chart Данная статья является продолжением статьи - Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры. Добро пожаловать во вторую часть статьи о построении гибкой и распределенной архитектуры с использованием Apache Kafka и Kafka Connect! В первой части мы ознакомились с ивентной моделью данных, разработали сервис отправителя и настроили интеграцию с Kafka, чтобы асинхронно отправлять сообщения. Теперь настало время рассмотреть вторую часть этого увлекательного проекта. Читать: https://habr.com/ru/articles/751330/?utm_campaign=751330 @a_cup_of_java | Другие наши каналы

Использование Kotlin и WebFlux для выполнения задач ML в Apache Spark на GPU В предыдущей статье для создания Spark Driver приложения использовался сервлетный стек Spring (Boot 2.7.11) и JDK 8. На дворе вторая половина 2023 года, у многих в проде уже используется Boot 3+ (а то и 3.1+), совсем скоро должна выйти новая LTS версия Java, и, мягко говоря, Boot 2+ и JDK8 устарели. Использовались они намеренно, так как для задач тренировки моделей машинного обучения на GPU в среде Spark частью системы является ускоритель вычислений на GPU NVidia Rapids. Поддержка JDK 17 появилась только в релизе v23.06.0 от 27.06.23, с ее выходом появилась возможность перейти на актуальную LTS версию Java, а с ней - на Spring Boot 3+. В данной статье описывается миграция с Boot 2 и JDK 8 До Boot 3 и JDK 17, со Spring Web на Spring WebFlux, в конце сравниваются Web и WebFlux версии по потреблению аппаратных ресурсов и скорости выполнения. Читать: https://habr.com/ru/articles/752702/?utm_campaign=752702 @a_cup_of_java | Другие наши каналы

Свойство типа Controller Service в кастомном процессоре NiFi В этой короткой статье я хочу показать, как использовать в качестве одного из свойств кастомного процессора NiFi стандартную службу Controller Service, а также как написать тест для такого процессора.В качестве примера будем использовать стандартную службу SSLContextService. Читать: https://habr.com/ru/articles/752690/?utm_campaign=752690 @a_cup_of_java | Другие наши каналы

Опыт Сдачи: Oracle Certified Professional: Java SE 11 Developer 1Z0-819 Всем Привет. Публикация для тех кто планирует сдавать OCP от Oracle. Подобных постов великое множество, как и материалов, но я решил написать пост о своем опыте сдачи этой сертификации. Сдавал я сертификацию на Java SE 11 чуть более года назад. Тогда была уже доступен экзамен на Java SE 17, но насколько я помню отредактированных книг и мок тестов еще не было, поэтому я решил сдать именно на 11-ую Java. Вообще насколько мне известно до сих пор доступен экзамен и на Java SE 8, но он по-прежнему состоит из OCA + OCP, хотя его значительно упростили с годами уменьшив количество вопросов. Читать: https://habr.com/ru/articles/752350/?utm_campaign=752350 @a_cup_of_java | Другие наши каналы

JavaDoc: добро или необходимое зло? Привет! Меня зовут Андрей Костров, я старший разработчик в X5 Tech. При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны. Читать: https://habr.com/ru/companies/X5Tech/articles/752338/?utm_campaign=752338 @a_cup_of_java | Другие наши каналы

Как VMware создала проблему, а мы ее решили Недавно в нашу компанию «Инфосистемы Джет» пришел заказчик с проблемой долгой реализации создаваемых портов на NSX-T (до 2 минут до момента запуска трафика). Основная боль заключалась в том, что новые поды K8s не всегда укладывались в timeout Health Check'a и процесс начинался опять. Исходные данные у нас были такие. NSX использовался для построения микросегментированной сети в кластерах Kybernetes + Kyverno. Взаимодействие K8s и NSX было реализовано при помощи плагина VMware NCP. Несмотря на большое количество объектов, в интерфейсе все метрики по утилизации были в «зеленых» значениях, но ощущалось сильное замедление работы UI. Читать: https://habr.com/ru/companies/jetinfosystems/articles/752234/?utm_campaign=752234 @a_cup_of_java | Другие наши каналы

Одна из возможных версий переезда с MySQL на PostgreSQL В этой статье я расскажу, какие подводные камни ждали команду разработки бэкенда служебных мобильных приложений одного банка, решившей мигрировать с MySQL на PostgreSQL. Читать: https://habr.com/ru/articles/742552/?utm_campaign=742552 @a_cup_of_java | Другие наши каналы

Разница между загрузкой и инициализацией классов в Java на любопытном примере Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце). Поводом для написания статьи стал вопрос на StackOverflow. Откройте, но не торопитесь читать ответ ;) Читать: https://habr.com/ru/articles/740156/?utm_campaign=740156 @a_cup_of_java | Другие наши каналы

Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры Привет, Хабр! В наше время при постоянном росте объемов данных и необходимостью более быстрой и надежной обработки информации, мы сталкиваемся с требованием к эффективному обмену и синхронизации данных между различными системами. Отслеживание и обработка данных в реальном времени стало жизненно необходимым для современных приложений. В этой статье мы рассмотрим, как Kafka Connect – мощный инструмент из экосистемы Apache Kafka – приходит на помощь при решении сложной задачи синхронизации данных между базами данных. Мы рассмотрим, как используя Kafka Connect, мы можем эффективно следить за изменениями в одной базе данных, обрабатывать их в нашем Java приложении и мгновенно записывать их в другую базу данных, обеспечивая надежность и безопасность данных. Построим гибкую и масштабируемую архитектуру, которая позволит нам забыть о проблемах связанных с несогласованными данными и наслаждаться мгновенным доступом к актуальной информации для наших бизнес-процессов. Читать: https://habr.com/ru/articles/751256/?utm_campaign=751256 @a_cup_of_java | Другие наши каналы

IntelliJ IDEA 2023.2. Language Server Protocol, AI Assistant, IntelliJ Profiler в редакторе, GitLab merge requests, ftw Только что вышла IntelliJ IDEA 2023.2. В этом релизе в IDE появилась куча интересных фичей и важных улучшений. Вы можете скачать последнюю сборку с официального сайта, или из бесплатного приложения Toolbox, или из snap-пакетов для Ubuntu. Этот релиз IntelliJ IDEA 2023.2 представляет вам AI-ассистента, вооруженного набором инструментов машинного обучения. IntelliJ Profiler показывает подсказки в редакторе, делая профилирование более интуитивным и иформативным. Еще, в этом релизе появилась интеграция с GitLab. В том посте мы пробежимся по всем основным фичам IntelliJ IDEA 2023.2. В отличие от официального анонса, вся европейская политкорректность выкинута на свалку, автор перевода не видит никакой ценности в соблюдении повесточки. Кроме того, в этот четверг в Питере будет встреча Javawatch, посвященная Java 21. Я прочитаю мини-доклад минут на 30 о новых фичах, и потом мы сможем все вместе собраться и за кружкой пива это обсудить. Анонс события в телеге, обсуждение в чате. Я бывший PMM в JetBrains Big Data и тимлид в Remote Development/Projector, а сейчас работаю над российским дистрибутивом Java - Axiom JDK. Волшебно. . Читать: https://habr.com/ru/companies/bar/articles/751248/?utm_campaign=751248 @a_cup_of_java | Другие наши каналы

Магия Spring Framework своими руками Spring Framework позволяет сфокусироваться на бизнес-логике, а вся настройка инфраструктуры выполняется автоматически благодаря постобработке бинов. Зачастую для реализации дополнительной функциональности применяется Spring AOP - аспектно-ориентированное программирование. Spring AOP бин, который накручивает дополнительную функциональность другим Spring бинам, помечается аннотацией @Aspect, но как потом этот бин используется для добавления дополнительной функциональности в поток исполнения? В статье будет рассмотрен механизм проксирования объектов и его применение в Spring Framework. Читать: https://habr.com/ru/articles/750894/?utm_campaign=750894 @a_cup_of_java | Другие наши каналы

«Входить в IT неспеша» или как стать Middle Java Backend разработчиком минуя ступень Junior Статья о том, как шаг за шагом при дефиците свободного времени обучиться и устроиться на работу сразу Middle Java разработчиком перескочив через Junior ступеньку, основанная на личном опыте, и о том, как мне это помогло, когда сразу после трудоустройства пришлось тянуть проект практически в solo. Статья родилась как некий ответ на вопросы, которые мне часто задавали люди, находящиеся в таком же положении, как и был когда‑то я, когда времени на обучение почти нет и хочется войти в IT кем‑то выше, чем Junior разработчик. Давай-ка разберёмся с этим Читать: https://habr.com/ru/articles/750584/?utm_campaign=750584 @a_cup_of_java | Другие наши каналы

Сертификат Java: за и против Сертификация Java является одной из наиболее значимых и признанных в отрасли программирования сертификаций, которая позволяет программистам повышать свой профессиональный уровень и получать более высокую заработную плату. Мы обсудим преимущества и недостатки Java-сертификации и поможем вам определиться, стоит ли тратить время и деньги на подготовку для сдачи экзамена. Этой публикацией мы продолжаем серию постов про сертификацию для Java‑разработчиков. Про подготовку к экзамену рассказали здесь и здесь. А тут текст про саму сертификацию. Читать: https://habr.com/ru/companies/ibs/articles/750544/?utm_campaign=750544 @a_cup_of_java | Другие наши каналы

Приглашаем на Ozon Tech Intro meetup: как работают системы поиска, рекомендаций и рекламы UPD: Добавили записи докладов и слайды Всем привет! Меня зовут Алексей, я руководитель отдела по продукту и технологиям «Рекомендации и персонализация». Мы уделяем много времени проектированию архитектуры, улучшению скорости и оптимизации алгоритмов: • Ищем пути продукта и UX. • Ускоряем рантайм поиска. • Используем ML для рекламной платформы. • Обучаем модели для наилучшего результата рекомендаций. И со всем этим ещё и закапываемся в аналитику и проводим множество A/B-экспериментов. Наша команда решает задачи, в которых используются интересные структуры данных и алгоритмы. Читать: https://habr.com/ru/companies/ozontech/articles/750196/?utm_campaign=750196 @a_cup_of_java | Другие наши каналы

Интеграция Jmix с bpmn-js для эффективного моделирования бизнес-процессов при разработке приложений Jmix — это платформа с открытым исходным кодом для повышения эффективности разработки корпоративного ПО. Java-разработчики со всего мира используют ее для создания приложений, ориентированных на работу с данными, корпоративным контентом и бизнес-процессами. Jmix особенно эффективен, если у проекта есть строгие ограничения по бюджету и срокам. По сути, Jmix позволяет Java-разработчику стать fullstack-программистом и в результате своей работы получить полноценное веб-приложение на основе Spring Boot. Платформа привлекает тем, что не требует затрат на лицензирование конечных пользователей, а  для разработки и backend, и frontend используются один язык: Java или Kotlin. В основе платформы лежат широко распространенные технологии и IDE, дружественная разработчику. В этой статье расскажем, с чего начиналась поддержка моделирования бизнес-процессов в Jmix, как мы встроили в платформу фреймворк bpmn-js, и какие плюсы от этого получили пользователи. Первые шаги в направлении BPMN В случае приложений для управления транзакциями, документами или другими корпоративным данными часто требуется отделить бизнес-логику от кода. Это можно сделать с помощью визуального конструктора, в котором аналитики и разработчики моделируют  бизнес-процессы в соответствии с нотацией BPMN. К этой идее мы пришли в 2017 году, после большого количества запросов со стороны сообщества разработчиков Jmix. Поначалу для создания бизнес-процессов мы использовали собственный инструмент на основе движка Activiti. Он был частью CUBA Platform, прошлого поколения платформы Jmix. Читать: https://habr.com/ru/companies/haulmont/articles/749558/?utm_campaign=749558 @a_cup_of_java | Другие наши каналы

Инструментация байт-кода Java В рамках текущей статьи будет рассказано о способах инструментации байт-кода java или другим языком, внесения изменений в компилированный файлы java .class. Здесь будут приведены примеры работы с фреймворками Javaassist и ASM и базовое описание байт-кода. Читать: https://habr.com/ru/articles/750028/?utm_campaign=750028 @a_cup_of_java | Другие наши каналы