Всем привет! Меня зовут Иван Чечиков. В этой статье я расскажу о своем пет-проекте - Android приложении, которое может идентифицировать нежелательные входящие звонки.
Рубрика «java» - 2
Пишем Android приложение для фильтрации спам-звонков
2024-11-22 в 22:39, admin, рубрики: android, Android sdk, android studio, api, apk, application, gradle, java, kotlinКэширование с FeignClient: как ускорить микросервисы и стать героем проекта
2024-11-20 в 20:00, admin, рубрики: cache, feignclient, java, spring boot, кэшированиеВступление
Привет! Вы когда-нибудь задумывались, почему некоторые запросы в микросервисах ощущаются как поездка на «старой электричке»? Казалось бы, есть FeignClient — мощный и удобный инструмент для общения сервисов, но внезапно задержки растут, а коллеги начинают замечать, что ваше API «тормозит».
Я расскажу, как я решил эту проблему, добавив кэширование с помощью Caffeine Cache. После этого мой сервис стал выдавать данные быстрее, чем их запрашивали (шутка, но почти правда).
Готовы? Тогда поехали.
Стек технологий
Для реализации использовались следующие инструменты:
-
Java 21Читать полностью »
Честный взгляд на Spring Data JPA
2024-11-20 в 13:16, admin, рубрики: hibernate, java, spring data jpa, sql, плохой код"Я всегда прав, на этот раз прав как никогда". Linus Torvalds
Стоит сразу сказать, что задача этой статьи не в том чтобы кого-то обидеть, а в том чтобы развенчать миф “нормально делай – нормально будет” в контексте Spring Data JPA. Неконтролируемый паровоз движется в случайном направлении. Можете считать это криком души, моим “хватит”!
@Entity это плохо
Оптимистические и пессимистические блокировки на примере Hibernate (JPA)
2024-11-14 в 18:11, admin, рубрики: CAS, hibernate, java, jpa, spring, spring boot, базы данных, оптимистическая блокировка, пессимистическая блокировкаПривет! Недавно пытался изучить тему «оптимистические» и «пессимистические» блокировки, но на мое удивление ни в ру сегменте, ни в англ — хороших статей, которые дают полное представление об двух типах блокировок с применением Hibernate, — нет, поэтому я решил агрегировать всю информацию в одной короткой статье. Так как это моя первая статья, буду рад критике:) Итак, погнали.
P. S. Это статья не является полным гайдом, так как в первую очередь она нацелена на то, чтобы дать понятное описание двух решений одной проблемы, а если нужны примеры использования, то добро пожаловать в Google:)
Зачем нужны блокировки?
YYYY? yyyy!
2024-11-14 в 8:42, admin, рубрики: date, datetime, java, pvs-studio, simpledateformat, время, даты, ошибки, Программирование, статистический анализЗнаете ли вы, в чём разница между 'Y' и 'y' символами в паттерне даты в Java? В этой статье мы рассмотрим, как неправильное форматирование даты может привести к ошибке, а также расскажем вам про нашу новую диагностику V6122 для языка Java, которая убережёт вас от внезапных путешествий во времени.
Вступление
Сдув пыль с нашего большого блокнота под названием "TODO", мы наткнулись на один очень интересный кейс. Потенциальную проблему нам описали в комментарии к статье.
Разбор регулярного выражения, проверяющего простоту чисел
2024-11-13 в 7:38, admin, рубрики: java, regex, regexp, простые числа, Регулярные выраженияВведение
Как-то я исследовал способы наиболее эффективного определения простоты числа и наткнулся на следующий код:
public static boolean isPrime(int n) {
return !new String(new char[n]).matches(".?|(..+?)\1+");
}
Он меня заинтриговал. Хоть это, возможно, и не самый эффективный способ, но определённо один из наименее очевидных, поэтому мне стало любопытно. Каким образом соответствие регулярному выражению .?|(..+?)1+
должно показать, что число непростое (после его преобразования в унарную систему счисления)?
Добрый день. Делюсь своей старой исследовательской мини-статьей. Не ругайтесь, мне просто было скучновато.
Я, как и любой программист, люблю изучать что-то новое. Все мы знаем о киношных хакерах, которые могут парой нажатий кнопок на любом холодильнике, взломать инсту маминой подруги.
Пример использования Spring Data и Redis для временного хранения персональных данных
2024-11-11 в 7:15, admin, рубрики: aop, aspectj, java, redis, spring, spring boot, testcontainersНекоторые компании, работающие с персональными данными пользователей, сталкиваются с невозможностью хранить их в течение долгого периода времени из-за правовых ограничений. Такое часто можно встретить в финтехах. Позволяется сохранить данные на очень короткое время, которые также должны быть удалены сразу после использования в целях сервиса. Существует несколько вариантов решения этой задачи. В данном посте я показываю упрощенный пример микросервиса, работающего с чувствительной информацией, используя Spring и Redis.
Привет!
Вступление
В этой статье я буду рассказывать о создании своей IDE для Android. Я не нашел какого-либо материала на эту тему. Хочу разделить статью на несколько подстатей, так как информации будет много. Также буду оставлять ссылки на весь материал который я использовал.
Статья предназначена для новичков, ну и для тех кто хочет создать свою IDE для мобилки. Мы будем делать IDE для языка программирования Kotlin, но это не имеет особого значения, так как в проект можно будет добавить любой язык.
Языки программирования, взорвавшие мой мозг
2024-11-06 в 13:01, admin, рубрики: BASIC, erlang, java, ocaml, opalanf, Prolog, Rust, turbo pascalЯ программирую с восьми лет, и основную часть жизни был разработчиком в том или ином качестве. На протяжении своей жизни кодера, как любителя, так и профессионала, я изучил множество языков программирования, которые казались клонами друг друга. Но было и несколько языков, изменивших мой взгляд на программирование, а то и мышление в целом.
Я перечислю их в том порядке, в котором узнавал о них. В большинстве случаев я буду ассоциировать функциональность с языками, в которых они появились не впервые. Это не ошибка, я просто хочу показать, когда узнал об этих возможностях.Читать полностью »