Рубрика «java» - 3

Привет! Это моя первая статья на Хабре, поэтому если будут какие‑то недочёты, не судите строго)

Не так давно я разрабатывал микросервисное приложение для анализа предпочтений пользователей на основе их книг. Оно должно было обрабатывать тысячи событий в день, чтобы рекомендовать пользователям новые произведения. И в один момент я столкнулся с классической болью распределенных систем: если брокер сообщений (например, Kafka) был временно недоступен, мои события терялись навсегда.

Читать полностью »

Однажды я решил проверить на практике байку, которую слышал на десятке собеседований: «у нас на проде было такое‑то место продано дважды, потому что…». Оказалось, воспроизвести это не просто легко — это воспроизводится настолько надёжно и настолько наглядно, что грех было не довести дело до конца: взять систему бронирования мест, специально сломать её, замерить, насколько плохо, а потом последовательно починить тремя разными способами — и честно сравнить, что каждый из них стоит по производительности.

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

Читать полностью »

Другого подходящего названия в голову не пришло, однако суть и принцип работы ПО, будет ясна всем.

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

Читать полностью »

Асинхронность NIO и Kotlin — а есть ли связь? - 1

Для того, что бы ответить на этот вопрос, придется немного погрузиться на уровень операционной системы и на аппаратный уровень. Не претендуя на абсолютную точность в деталях, надеюсь, что смогу донести общее представление.

NIO под капотом

Читать полностью »

Откуда это всё выросло

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

Читать полностью »

T2M Bridge, часть 1: как я написал Java‑библиотеку для MAX Bot API с помощью Codex - 1

Это первая статья из цикла о разработке T2M Bridge — бота для кросспостинга между Telegram‑каналами и MAX‑каналами.

В цикле планируются четыре части:

  1. Читать полностью »

Введение

Недавно мне понадобился консольный клиент для отладки сайта, который закрыт TLS 1.3 на ГОСТ-алгоритмах. Из доступных у меня были варианты:

  • curl в составе дистрибутива от известного крипто-провайдера.

  • собрать самому нативный curl из исходников, с openssl + ручной патч ГОСТ TLS 1.3.

Ни тот, ни другой вариант не были удобными для повседневной автоматизации для разных ОС. В итоге я написал на Java урезанный аналог curl, который умеет работать с TLS 1.3 на ГОСТ.

Данный инструмент может быть полезен разработчикам, devops-инженерам, QA и администраторам. gost-curl Читать полностью »

Исключения — это базовый инструментарий почти любого классического языка программирования, позволяющий элегантно обрабатывать ошибочные сценарии. Однако вся мощь механизма исключений большинством разработчиков не используется или интерпретируется неверно.

Читать полностью »

В статье я делюсь практиками работы с Claude Code и Codex, которые помогли мне реализовать сложную техническую задачу в условиях ограниченного времени, бюджета и железа.

Введение

Всем привет! Это моя первая публикация, поэтому позволю себе пару слов введения. Меня зовут Иван Федоренков. Я — программист с более чем 20-летним стажем. На сегодняшний день работаю в компании dxFeed на позиции Engineering Manager.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js