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

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

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

Другие каналы: @tproger_channels
Download Telegram
Как посчитать количество слов в строке на Java?

Статья рассказывает о методе подсчета слов в строке с помощью Java. Используя регулярное выражение "\\s+" для поиска пробелов, можно легко разбить строку на массив слов. Это простой, но эффективный способ, который может понадобиться на собеседовании для проверки навыков программирования. Интервью по Java и Spring Boot: подготовьтесь легко

В статье представлен обзорные вопросы для интервью по Java и Spring Boot, который будет полезен как новичкам, так и опытным разработчикам. Обсуждаются ключевые моменты Spring MVC, Hibernate и микросервисных архитектур. Подпишитесь на новостную рассылку для получения обновлений.

Подробности: https://www.java67.com/2016/06/how-to-count-number-of-words-in-given-String.html

#en

@a_cup_of_java | Другие наши каналы
🔥2
Написание программы на Java для вывода простых чисел от 1 до 100 — классическая задача, знакомящая новичков с важными операторами языка. В статье предлагается алгоритм проверки чисел на простоту без использования библиотек и приводится оптимизированный код. Узнайте больше про алгоритм и его применение! Как выводить простые числа от 1 до 100 на Java?

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

Подробности: https://www.java67.com/2016/01/java-program-to-print-prime-numbers.html

#en

@a_cup_of_java | Другие наши каналы
Master of Inteleji Idea

IntelliJ IDEA имеет богатый функционал, однако, как и в любом другом программном обеспечении, существуют маленькие хитрости и трюки, которые могут сделать работу с этим инструментом ещё более приятной и эффективной. В этой статье мы рассмотрим несколько таких функций, которые помогут раскрыть весь потенциал IntelliJ IDEA и улучшить свой рабочий процесс.


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

@a_cup_of_java | Другие наши каналы
Как жить без IntelliJ IDEA? Часть №4. Database Client

В новой статье из цикла "Как жить без IntelliJ IDEA" команда Spring АйО изучила альтернативы DB-клиенту от JetBrains, входящему в состав Ultimate и полюбившемуся многим разработчикам.

Мы также постарались выяснить, насколько альтернативные инструменты удобны и эффективны на практике.


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

@a_cup_of_java | Другие наши каналы
👏42🔥2👍1🤣1
Java News Roundup: Spring Framework, WildFly, Hibernate, EclipseStore, Piranha Cloud

This week's Java roundup for December 9th, 2024 features news highlighting: point releases for the Spring Framework; the first beta release of WildFly 35; Hibernate ORM 7.0.0.Beta3, Hibernate Reactive 3.0.0.Beta1 and Hibernate Validator 9.0.0.RC1; and the release of EclipseStore 2.1 and Piranha Cloud 24.12.0.
By Michael Redlich

Read: https://www.infoq.com/news/2024/12/java-news-roundup-dec09-2024/

@a_cup_of_java | Другие наши каналы
Post-Quantum Cryptography in Java

A pair of new JEPs arriving in Java 24 provide an initial Post-Quantum Cryptography (PQC) capability in Java.
By Ben Evans

Read: https://www.infoq.com/news/2024/12/java-post-quantum/

@a_cup_of_java | Другие наши каналы
Открытая IDE для российских разработчиков

Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE.

Все три компании имеют огромный опыт в создании популярных продуктов для разработчиков и мы верим, что сможем сделать качественный продукт. Мы не планируем изобретать велосипед и будем использовать в качестве основы популярную среду с открытым кодом IntelliJ IDEA Community Edition.

Почему это хорошая новость для российских разработчиков? Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? Какие языки будут поддерживаться? Что со Spring? Когда релиз? Читайте под катом.


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

@a_cup_of_java | Другие наши каналы
🔥11🤣7👍32🥱2😁1🤔1
Поиск потенциальных уязвимостей в коде, часть 1: теория

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


Читать: https://habr.com/ru/companies/pvs-studio/articles/866896/?utm_campaign=866896

@a_cup_of_java | Другие наши каналы
👍2
Введение в Gatling: какие есть альтернативы и в чем их минусы?

Привет, Хабр! Вы когда-нибудь задумывались, насколько ваш веб-сервис способен выдержать шквал запросов? Что произойдёт, если ваши пользователи, словно зомби, хлынут на сервер тысячами? Вот тут-то и начинается история про нагрузочное тестирование, которое помогает понять, где у вашего приложения «узкие места». А инструмент, о котором мы сегодня поговорим, — Gatling. Это мощная, элегантная и, честно говоря, недооценённая альтернатива монстрам вроде JMeter, LoadRunner и k6. Но давайте разбираться по порядку.


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

@a_cup_of_java | Другие наши каналы
Система отчётов в Gatling: как работать и что включает?

Продолжим наш разговор про инструмент Gatling. В этот раз я бы хотел обсудить систему отчетов, которую предоставляет Gatling из коробки. Что она в себя включает, как с ней работать и где ее можно использовать.

После выполнения нагрузочного тестирования в Gatling генерируется HTML-отчёт, который предоставляет детальную информацию о работе системы и результатах теста. Эти отчёты позволяют глубже проанализировать производительность приложения и выявить слабые места. Давайте разберём, как с ними работать и что они включают.


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

@a_cup_of_java | Другие наши каналы
Интеграция предобученных нейросетей в Java-проектах: практический пример

При работе с нейросетями, не обязательно каждый раз писать свою и заново, можно использовать предобученные модели, что позволяет значительно сократить время разработки, а развитие модели и поддержка сообществом позволяет повысить точность анализа текстов.

В данной статье я привожу практический пример интеграции с предобученной моделью, так рассмотрим задачу извлечения именованных сущностей (NER) — автоматического определения имен, мест или дат из текста. Мы будем использовать предобученную модель BERT, выполненную через библиотеку ONNX Runtime.

Вообще существует множество предобученных моделей для извлечения именованных сущностей (NER) и других задач NLP. Вот некоторые из них:


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

@a_cup_of_java | Другие наши каналы
2👍1
Создаём CRUD REST API в Spring Boot быстро и просто вместе с Amplicode

Не так давно на нашем канале вышло видео, в котором Георгий Власов рассказывал, как с помощью Amplicode можно сгенерировать CRUD Rest Controller сразу со всеми необходимыми методами.

Но создавать что-то с нуля нам приходиться не так часто, как модифицировать, улучшать и дополнять уже имеющийся код.

Команда Amplicode это прекрасно понимает и по этой причине в нашем инструменте есть возможность создавать как отдельные CRUD методы для контроллера, так и возможность делегировать методы в контроллер из уже существующих бинов. Благодаря этим фичам разработка API становится одной из простейших и приятнейших  задач.

Давайте посмотрим как эти фичи выглядят на практике!


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

@a_cup_of_java | Другие наши каналы
53🆒3
Dagger 2: как сделать свой DI за 10 минут

Привет, меня зовут Иван Курак, я Android-разработчик приложения Ozon Job. Если в первой статье мы разбирали фреймворк Koin, то во второй на наш исследовательский стол попадёт Dagger, который мы используем на большинстве проектов Ozon, в том числе на приложении Ozon Курьер Экспресс, за которое отвечает наш отдел.  Это мобильное приложение, которое позволяет курьерам-фрилансерам и водителям службы доставки взять подработку в Ozon и доставлять экспресс-заказы от селлера напрямую клиенту или в ПВЗ Ozon.

В проекте мы используем Dagger 2 согласно его основной функциональности — собирать общие компоненты и навигацию между модулями, изолировать зависимости, улучшить тестируемость и поддерживаемость.

Его важный плюс в том, что он строит дерево зависимостей и может в момент компиляции узнать, какие зависимости достижимы, а какие нет. Стоит сказать, что мы не будет разбирать механизм кодогенерации, а сосредоточимся именно на классах, которые Dagger 2 создаёт для своей работы.

Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем. А это может создавать определённые трудности, особенно при отладке сложных проблем или при необходимости настройки более сложных сценариев внедрения зависимостей.

Например, в приложении Ozon Курьер Экспресс ведутся большие работы по переписыванию приложения на новую архитектуру. Поэтому рядом с существующей DI-архитектурой появилась вторая DI-архитектура.  Чтобы их подружить, пришлось покопаться во внутренностях кода, что генерирует Dagger 2.

Дополнительная (но не менее важная) цель статьи — показать, что базовый код, который генерирует Dagger, не такой уж и страшный :).


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

@a_cup_of_java | Другие наши каналы
Article: InfoQ Java Trends Report - December 2024

This report summarizes how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2024. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
By Michael Redlich, Ben Evans, Holly Cummins, A N M Bazlur Rahman, Grace Jansen, Emily Jiang, Ivar Grimstad, Andrea Peruffo, Erik Costlow, Johan Janssen, Karsten Silz

Read: https://www.infoq.com/articles/java-trends-report-2024/

@a_cup_of_java | Другие наши каналы
Podcast: InfoQ Java Trends Report 2024 - Discussing Insights with Ixchel Ruiz and Gunnar Morling

In this episode, Ixchel Ruiz and Gunnar Morling sat down with podcast host Michael Redlich, Lead Editor of the Java topic at InfoQ, to discuss the recent publication of the InfoQ Java Trends Report. Topics covered included: the advantages of the Java six-month release cadence; Project Lilliput and compact object headers; nullability in Java; the impact of Python; and the One Billion Row Challenge.
By Ixchel Ruiz, Gunnar Morling

Read: https://www.infoq.com/podcasts/insights-java-trends-report-2024/

@a_cup_of_java | Другие наши каналы
Вся правда о @Subselect: преимущества, недостатки и альтернативы в Hibernate

В современных приложениях иногда возникает необходимость получать данные из сложных запросов и аннотация "@Subselect" в Hibernate может стать отличным решением.

В новой статье от эксперта сообщества Spring АйО, Михаила Поливахи, вы узнаете как использовать "@Subselect", какие существуют альтернативы и в чём заключаются их преимущества и недостатки.


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

@a_cup_of_java | Другие наши каналы
Борьба Добра со Злом в играх со скрытой информацией. Боты

Заинтересовавшись теорией игр, вы найдёте огромное количество статей, посвящённых самых различным теоретическим изысканиям и их приложениям. Но, чаще всего, признаемся честно, лишь для тривиальных случаев с точки зрения игровой динамики.

В этой статье мы будем рассматривать игры со скрытой информацией, с ветвистыми и глубокими деревьями решений.

Несмотря на то, что математика теории игр не перестаёт работать для выбранной нами области, использовать чисто математические абстракции становится недостаточным. На первое место выходит инженерный подход с глубоким погружением в предметную область. Под инженерным подходом я подразумеваю тяжелые длительные вычисления, поиск и перебор множества вариантов, а также прочие точечные ML решения.

Итак, что будем делать? Будем писать ботов и, со временем, средства их обнаружения.

И тут важно согласиться, что боты – это не всегда Зло. Боты – это лишь инструмент в руках Зла. Или Добра...
Выбрать сторону)

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

@a_cup_of_java | Другие наши каналы
Новый HTTP клиент от Amplicode на Kotlin Script для Spring приложений и не только

Команда Amplicode решила реализовать свой собственный HTTP-клиент и пару недель назад, в последнем мажорном релизе 2024-го года, мы его выпустили!

Сегодня я расскажу, чем наш клиент лучше HTTP-клиента от JetBrains, покажу базовые сценарии его использования, а также немного расскажу о планах на будущее.

Статья также доступна в формате видео на YouTube, VK Видео и RUTUBE, так что можно и смотреть, и читать — как вам удобнее!


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

@a_cup_of_java | Другие наши каналы
👍6🎉53🔥1
Анализ фильмов с интернет-портала Кинопоиск

Данное исследование посвящено анализу данных о фильмах, собранных с крупнейшей российской платформы КиноПоиск. Основная цель работы — выявить факторы, влияющие на популярность фильмов, их рейтинги и финансовую успешность. В ходе исследования были проанализированы жанровые предпочтения аудитории, проведено сравнение оценок фильмов на Кинопоиске и IMDb, а также исследована взаимосвязь между бюджетами фильмов и их кассовыми сборами.

Разработка включала этапы сбора, обработки, анализа и визуализации данных. Для обработки данных применялись методы очистки от пропусков и ошибок, фильтрации по ключевым показателям и трансформации структур данных. Были реализованы функции для конвертации валют, извлечения данных о жанрах и персоналиях фильмов (актёрах и режиссёрах), а также вычисления статистических показателей полноты и однородности выборки.

Для эффективной работы системы был использован современный технологический стек. Обработка данных осуществлялась с помощью MongoDB, что обеспечило хранение и управление большими объёмами неструктурированной информации. RabbitMQ организовал асинхронный обмен сообщениями между компонентами системы, а серверная часть приложения разрабатывалась на базе Spring Boot, что ускорило процесс разработки и упростило развертывание приложения. Контейнеризация с использованием Docker обеспечила удобное развертывание и масштабирование системы. Основными языками программирования стали Java 17 и Python: Java использовалась для серверной части и микросервисов, а Python — для анализа данных и построения алгоритмов обработки информации.

Для анализа данных применялись библиотеки Pandas, Seaborn и SciPy, которые обеспечили эффективную обработку данных и визуализацию результатов. В рамках анализа строились графики, отображающие популярность жанров, исследовалась корреляция оценок на Кинопоиске и IMDb, а также визуализировалась связь между бюджетами и кассовыми сборами. Для представления результатов применялись такие инструменты, как matplotlib и seaborn, позволяя визуализировать ключевые закономерности в виде графиков и диаграмм.

Анализ выявил ключевые закономерности: популярность определённых жанров, зависимость коммерческого успеха фильма от его бюджета и значительное влияние известных актёров и режиссёров на успех фильма. Полученные результаты могут быть полезны для киностудий и продюсеров при планировании новых проектов, прогнозировании кассовых сборов и выборе жанров. Результаты также могут применяться для оптимизации маркетинговых стратегий при продвижении фильмов. В будущем планируется углубить исследование, проанализировать долгосрочные тренды в изменении популярности жанров и исследовать влияние пользовательских рецензий на успех фильмов.


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

@a_cup_of_java | Другие наши каналы
😁3
Как мы делаем Java: 30 лет истории российской разработки

Банки, биржи, платежные системы — множество стратегически важных сервисов работает на Java. Не случайно язык, которому скоро исполнится 30 лет, уверенно держится в тройке лидеров рейтинга TIOBE. А еще Java — одна из «самых российских» технологий. Из всех разработчиков за пределами США именно россияне сделали наиболее заметный вклад в платформу — и продолжают развивать ее сейчас. Чтобы понять, как так вышло, мы вспомнили историю Java в России с девяностых годов до наших дней.

Дисклеймер: этот не историческое исследование. Текст собран из воспоминаний участников событий и инженеров, которые уже почти 30-лет заботятся о безопасности Java в России.


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

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