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

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

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

Другие каналы: @tproger_channels
Download Telegram
Динамическое создание слушателей в Kafka

Эта статья объясняет, как создать слушатель в Kafka на лету в процессе работы приложения c помощью простой детальной инструкцией.

В процессе разработки решение использовался язык программирования Java.


Читать: https://habr.com/ru/articles/758958/?utm_campaign=758958
👍3
Параллельность в Java на практике

Как следует из названия, здесь будет только про параллельное выполнение (не путать с конкурентностью). Так же я не буду затрагивать проект Loom, который «должен убить» все остальные подходы написания параллельного кода. Надеюсь изложенное ниже позволит начинающим java программистам разобраться с разными подходами и структурировать имеющиеся знания.

Начинающие java программисты, разрабатывая новые сервиса, сталкиваются с задачей выбора технологий, фреймворков и т. д. При написании параллельного кода так же есть множество различных вариантов. Вряд ли кто‑то будет создавать и запускать треды вручную, но можно использовать старый добрый ExecutorService. Можно выбрать Stream API или Reactor с его реализацией параллельной обработки. Есть ещё Akka и куча других экзотических фреймворков. Некоторые из них разработаны под набор конкретных задач, другие же вроде подходят для любых. И как оценить производительность того же Reactor против ExecutorService, или же, например, используя Stream API. Попробуем разобраться.


Читать: https://habr.com/ru/articles/759054/?utm_campaign=759054
Создание приложения для распознавания текста с изображений и аудиофайлов

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

Детектирование (обнаружение) и классификация символов на изображении осуществляется с использованием различных архитектур свёрточных нейронных сетей [1]. Обработка естественного языка основана на использовании глубоких рекуррентных нейронных сетей, состоящих из ячеек долгой краткосрочной памяти LSTM [2]. При создании соответствующих приложений для работы с текстами, этап реализации нейронных сетей можно пропустить, используя соответствующие свободно распространяемые библиотеки.

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


Читать: https://habr.com/ru/articles/758882/?utm_campaign=758882
Байки джависта

Привет, Habr!

Я конечно неДжеймс Гослинг , но за долгое время работы с Java у меня накопилась масса мыслей.

Мысли по написанию кода, о подводных камнях типаNull safety , советы для любителей усложнять, байки бывалого погромиста про 0-day в Spring, экзистенциальные переживания при работе с мегабайтами легаси, очевидные советы, которые так сложно даются сеньорам — и ещё масса полезных размышлений в связке с примерами кода.


Читать: https://habr.com/ru/articles/759102/?utm_campaign=759102
Delivery Hero Optimizes Member System with Event-Driven Architecture

Baemin, a food delivery service experiencing rapid growth, has successfully navigated the transition from a monolithic architecture to a more flexible, microservices-based system. A cornerstone of this transformation is the implementation of an event-driven architecture.
By A N M Bazlur Rahman

Read: https://www.infoq.com/news/2023/09/delivery-hero-uses-eda/
Чашечка Java
Photo
10 лучших принципов проектирования микросервисов с примерами

Здравствуйте, ребята, сегодня мир посвящен микросервисам, потому что микросервисы идут рука об руку с облачными вычислениями
рука об руку с облачными вычислениями. Они предназначены для работы в облачных вычислениях
Вычислений. Поскольку все новые разработки программного обеспечения, скорее всего, будут
cloud-native, разработчикам важно узнать о Microservices,
особенно Java-разработчикам. Чтобы помочь в этом, я поделился лучшими курсами по микросервисам
и книгами
а также 10 паттернов проектирования микросервисов, а в этой статье я расскажу о 10 общих принципах проектирования микросервисов
принципами. Если вы задаетесь вопросом, в чем разница между паттернами и
принципами? Ну, между ними есть тонкая разница: принципы более детализированы и помогают принимать решения, а принципы
более детализированы и помогают в принятии решений, в то время как паттерны представляют собой проверенные и протестированные решения
решение общих проблем программного обеспечения, но и те, и другие помогают лучше разрабатывать программное обеспечение
проектирования.
Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2023/09/top-10-microservices-design-principles.html
Чашечка Java
Photo
Разница между HashMap vs TreeMap vs LinkedHashMap в Java

Здравствуйте, ребята, если вы задаетесь вопросом, в чем разница между HashMap, TreeMap и LinkedHashMap в Java и когда следует использовать HashMap, TreeMap и LinkedHashMap в Java, то вы попали по адресу. Ранее я уже рассказывал о различиях между HashSet, TreeSet и LinkedHashSet, а в этой статье я объясню разницу между этими тремя распространенными реализациями Map - HashMsp, TreeMap и LinkedHashMap. Хотя все три класса, такие как HashMap, LinkedHashMap и TreeMap, являются
реализацией интерфейса java.util.Map, между ними существует некоторая функциональная разница
между ними. Пожалуй, наиболее заметное различие между ними заключается в их
порядке итераций
. HashMap не дает никаких гарантий относительно того, в каком порядке можно перебирать ключи
любое приложение, зависящее от порядка итераций в HashMap, является хрупким
HashMap является хрупким, поскольку он может измениться в любой момент. Более того, в Java 7,
порядок итераций HashMap отличается от Java 6.

Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2022/05/hashmap-vs-treemap-vs-linkedhashmap-in.html
👍31🔥1
Высокие технологии или дешевые фокусы с двойным дном

Отлаживал я как-то тесты и параллельно размышлял о null-safety. Звезды сошлись и родилась довольно странная идея - замокать null.


Читать: https://habr.com/ru/articles/759344/?utm_campaign=759344
Java Digest #4

Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.

В этот раз эпиграф к выпуску нам придумал ChatGPT:

In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.

Stay tuned! 🙂
Читать четвертый выпуск

Читать: https://habr.com/ru/companies/tinkoff/articles/759432/?utm_campaign=759432
1
Как добавить кастомный аутентификатор в KeyCloak и подружить его со сторонней системой

Всем привет.

Сегодня мы покажем вам простой пример, как в Keycloak можно добавить кастомный аутентификатор.

Как вы все знаете, Keycloak – это система адаптивной аутентификации, позволяющая реализовать фактические любой процесс аутентификации (ограниченный только навыками разработки на Java) и выступать в качестве Identity Provider для клиентов по протоколам OIDC и SAML.

В стандартном наборе представлено много типовых аутентификаторов. Но что делать, когда стандартных аутентификаторов недостаточно и необходимо реализовать свою логику? Официальная документация дает ответ: разработать аутентификатор самому: https://www.keycloak.org/docs/latest/server_development/#_auth_spi

Что мы в итоге и сделали.


Читать: https://habr.com/ru/companies/k2tech/articles/759600/?utm_campaign=759600
Presentation: Malignant Intelligence?

Alasdair Allen discusses the potentially ethical dilemmas, new security concerns, and open questions about the future of software development in the era of machine learning.
By Alasdair Allen

Read: https://www.infoq.com/presentations/machine-learning-ethics/
Всё, что вы хотели знать о Java, но не доходили руки спросить: что будет на Joker 2023

Как ускорить запуск JVM? Каково переходить с SQL на Cassandra? Что нас ждёт в Java 21? Как профилируют в Alibaba? Какие части Java были сделаны в России? И как в названия докладов на Java-конференции прокралось не только слово «Kotlin», но и «Python» с «PHP»?

На все эти и многие другие вопросы ответит Joker 2023. До конференции остался месяц, её программа готова — представляем её Хабру.
Программа Joker 2023

Читать: https://habr.com/ru/companies/jugru/articles/759762/?utm_campaign=759762
Чашечка Java
Photo
Топ-6 курсов, позволяющих стать тестировщиком программного обеспечения и QA-аналитиком в 2023 году - Best of Lot

Здравствуйте, ребята, если вы хотите научиться тестированию программного обеспечения, как ручному, так и автоматизированному, и ищете лучшие онлайн-курсы для освоения этого навыка, то вы пришли по адресу. В прошлом я уже рассказывал о лучших и бесплатных онлайн-курсах по изучению основных инструментов автоматизированного тестирования, таких как Selenium, Appium и JUnit, а сегодня я собираюсь рассказать о лучших курсах по изучению тестирования программного обеспечения в целом и начать свою карьеру в качестве тестировщика программного обеспечения или аналитика качества (QA). Это лучшие онлайн-курсы для изучения навыков QA, тестирования как ручного, так и автоматизированного с таких сайтов, как Udemy, Pluralsight, Coursera и edX. Это также комбинация платных и бесплатных курсов, поскольку курсы edX и Coursera бесплатны для обучения, а платить нужно только в том случае, если вы хотите получить сертификат.


Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2020/07/top-5-courses-to-learn-software-testing.html
👍3
21 лучших вопросов и ответов на собеседовании по наследованию в Java (2023)

Здравствуйте, Java и объектно-ориентированные программисты, на прошлой неделе я писал о некоторых хороших вопросах по концепции ООП в Java, а в этой статье я собираюсь поделиться некоторыми часто задаваемыми вопросами и ответами на собеседовании по Java, основанными на наследовании. Наследование является одной из наиболее важных объектно-ориентированных концепций, наряду с абстракцией, инкапсуляцией и полиморфизмом. Поскольку большинство популярных языков, таких как Java и C++, являются объектно-ориентированными, вы всегда найдете несколько вопросов по концепциям ООП, в частности, по полиморфизму и наследованию.

Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2016/03/top-21-java-inheritance-interview-Questions-Answer-Programming.html
Топ-10 вопросов для собеседования по коллекциям Java с ответами для начинающих (2023)

Здравствуйте, ребята, если вы проходили несколько Java-собеседований, то вы, наверное, знаете, что Коллекции в Java - это важная тема. Практически ни на одном Java-собеседовании, с которым я сталкивался, не было вопросов по коллекциям. Эти вопросы и ответы на собеседовании по Java Collection Framework содержат вопросы по популярным классам коллекций Java, таким как HashMap, ArrayList, HashSet, ConcurrentHashMap, а также по устаревшим классам коллекций, таким как Vector и Hashtable. Это вопросы, которые задавались на реальных собеседованиях, а также позволяющие более подробно изучить эти важные классы, что в конечном итоге сделает вас лучшим Java-разработчиком.

Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2012/09/java-collection-interview-questions.html
Чашечка Java
Photo
15 лучших ответов на вопросы собеседования по потоковому и функциональному программированию на Java 8 (2023)

Выпуск JDK 8 изменил подход к написанию Java. Благодаря новым идиомам функционального программирования и мощному Stream API большая часть нового Java-кода написана в функциональном стиле. Это также означает, что на собеседованиях по Java все чаще задаются вопросы, связанные со Stream и функциональным программированием. Если вы не знакомы с изменениями в Java 8, то пройти Java-собеседование в настоящее время довольно сложно. Хотя об этом нигде не говорится, большинство компаний, особенно инвестиционные банки, такие как Barclays, Citi и Goldman Sachs, теперь ожидают от Java-разработчиков знания как минимум Java 8, что тоже неплохо, не так ли? Java 19 уже вышла, и мы с нетерпением ждем Java 21 через пару месяцев, поэтому имеет смысл знать хотя бы изменения в Java 8.


Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2018/10/java-8-stream-and-functional-programming-interview-questions-answers.html
🔥2👍1
21 лучших вопросов и ответов на собеседовании по Java HashMap (2023)

Класс java.util.HashMap является одной из "рабочих лошадок" JDK. Наряду с ArrayList, это один из наиболее используемых классов из фреймворка коллекций Java. Вряд ли найдется реальный Java-проект, в котором я не видел бы использования HashMap. Это реализация структуры данных хэш-таблицы, и неудивительно, что HashMap так полезен, ведь кто-то справедливо сказал: "Если бы вы могли иметь только одну структуру данных, сделайте ее хэш-таблицей". Структура данных хэш-таблицы позволяет искать значение за время O(1), если у вас есть ключ. В Java существует несколько реализаций структур данных хэш-таблиц, таких как Hashtable, ConcurrentHashMap, LinkedHashMap и т.д., но HashMap - это ваша универсальная карта.


Вопросы и учебные пособия для собеседования по Java

Read: http://www.java67.com/2017/08/top-10-java-hashmap-interview-questions.html
🔥1