Claude слил недельный лимит на поиск опечатки в 1 символ
Сегодня я хочу поделиться поучительной историей о том, как современные ИИ-помощники могут быть одновременно невероятно умными и удивительно… скажем так, настойчивыми в своей неправоте. Проблема После допиливания новой фичи, столкнулся с массовым падением тестов при `mvn install`. LazyInitializationException, detached entities — знакомая боль всех, кто работал с Hibernate. ИИ во всей красе Из опыта знаю что скорее всего проблема в одном месте и эта проблема порчи контекста String где-то в процессе выполнения тестов. Решил поручить решение ИИ-ассистенту. С энтузиазмом новобранца он начинает сыпать решениями: — «Добавьте `@DirtiesContext`!» — предлагает он с важным видом. — «Разве не очевидно?» — продолжает ИИ, игнорируя моё возмущённое «плохое решение, нужно найти проблему, а не расставлять костыли!» ИИ, не теряя оптимизма, продолжает генерировать варианты конфигураций Hibernate, Spring контекста, транзакций… Ручное расследование Отчаявшись получить вразумительный ответ от ИИ, начиная собственное расследование. Один за другим откатываю коммиты, запускаю тесты, откатываю ещё, снова запускаю… Наконец-то! Вот он —…
💡 Момент озарения про JOIN’ы, декартовы произведения, проблему N+1 и трюк с ID
Несколько лет я развиваю свой сервис. За это время он оброс множеством интеграций с другими микросервисами. Для этих интеграций приходится делиться данными. 🔄 Проблема в том, что данные не собраны в одной таблице. Они разбросаны по разным, имеют связи: · «многие ко многим»· «один ко многим»· «один к одному» В разных кейсах их нужно комбинировать и фильтровать. И каждый раз — проблема с оптимизацией запросов. Одни работают быстро, другие — медленно. Где-то нужны дополнительные поля из смежных таблиц, где-то нет. 🐢⚡ В итоге у меня появилась куча контроллеров, которые достают одни и те же данные, но: · с разным списком полей· и по-разному обогащённые из смежных таблиц В какой-то момент я понял: этот зоопарк нужно приводить к одному эффективному виду. 🦁🐧🐪 Но возникла новая проблема: · одним запросам нужны обогащения из одних таблиц,· другим — из других,· третьим — минимальные обогащения (и они просто летают 🚀). Также нужно использовать разные…
Оптимизация SQL запросов — Entity для промежуточных таблиц в JPA
При работе со Spring Data JPA и @ManyToMany частой проблемой являются неоптимальные SQL-запросы из-за избыточных JOIN’ов. Создание отдельной Entity для промежуточной таблицы решает эту проблему, позволяя оптимизировать запросы и снизить нагрузку на базу данных. Такой подход также улучшает читаемость и поддержку кода.
Как я отказался от аренды VPS для своего проекта
Для моего сервиса я использую VPS-хостинг. Поскольку у меня в один момент времени запущено не менее 50 отдельных jar-микросервисов, серверу нужно достаточно много оперативной памяти. Я выкрутил настройки своего хостера на максимум довольствовался 32 ГБ оперативной памяти. Всё шло хорошо: клиенты оплачивали сервис, и с этих денег я оплачивал VPS. Так длилось около двух лет… пока 1 апреля 2026 года хостер не решил обновить тарифы. Да, он заранее присылал письмо, но конкретных цифр я не видел. Каково же было моё удивление, когда при очередном пополнении счёта я увидел, что мне предлагают оплатить в 3 (три!) раза больше, чем обычно! 🤯 Отрицание. Гнев. Торг… На стадии торга я написал в поддержку и попытался выпросить индивидуальные условия — ведь при такой стоимости услуг мой сервис переставал окупаться. К сожалению, техподдержка без капли сочувствия заявила, что цены на ОЗУ выросли, и теперь услуги будут стоить именно столько. Без вариантов. Последующих стадий (Депрессии, а…
Обособленная аутентификация через Вконтакте посредствам SSO на SpringSecurity
Я создал отдельный сервис SSO аутентификации 🔐чтобы собрать воедино всю аутентификацию и авторизацию многочисленных микросервисов проекта в одном месте. Однако, перенести всю локальную авторизацию в SSO не так-то просто и требует глубокого осмысления пути интеграции. Поэтому пока я морально к этому не готов и отложил это занятие на потом 😌 В то же время обнаружилось, что авторизация Вконтакте перестала работать ❌ оказалось, что тот способ с неограниченными access_token’ми вконтакт признал устаревшим и теперь он перестал работать. Возникла острая необходимость срочно переписывать подход на новые рельсы 🚨 Здесь как-раз очень удачно появился SSO, т.к. там аутентификация через ВК написана с новым подходом ✅ Однако, SSO позволяет авторизовываться не только через ВК, но и через Email, Яндекс, Google и Github. И теперь мне нужно как-то чтобы заставить пользователя авторизоваться именно через Вконтакте 🤯 Долго думал над вариантами, и каждый из них в рамках действующих потоков авторизации выглядел не очень удобно или даже…
JetGoods: Бесплатный конструктор Telegram-ботов с премиум-функциями без ограничений
JetGoods — это инновационный инструмент для создания Telegram-ботов. Он позволяет создавать и настраивать ботов без технических знаний. С помощью JetGoods вы можете улучшить взаимодействие с клиентами. Что такое JetGoods? JetGoods — это инновационная платформа, предназначенная для создания и управления Telegram-ботами без необходимости иметь глубокие технические знания. Она предлагает простой и интуитивно понятный интерфейс для создания сложных ботов. Простота использования: JetGoods предлагает интуитивно понятный интерфейс. Мощные функции: Широкий набор инструментов и функций. Гибкость и масштабируемость: Легкая адаптация к меняющимся потребностям. Используя JetGoods, пользователи могут создавать ботов, которые не только отвечают на базовые запросы, но и предоставляют персонализированный опыт. Преимущества JetGoods JetGoods предлагает ряд значительных преимуществ, которые делают его идеальным выбором для создания Telegram-ботов. Во-первых, JetGoods обеспечивает простоту и удобство в использовании, что позволяет пользователям сосредоточиться на разработке своего бота, не отвлекаясь на технические детали. Кроме того, JetGoods предоставляет широкий спектр функций и инструментов, которые позволяют создавать высокоэффективные и функциональные боты. Это…
JetGoods: Бесплатный конструктор Telegram-ботов с премиум-функциями без ограничений
Рынок конструкторов чат-ботов переполнен предложениями, но почти все они имеют существенный недостаток — жесткие лимиты и дорогие тарифы. Хотите больше 500 подписчиков? Платите. Нужна рассылка? Покупайте PRO-аккаунт. JetGoods.ru меняет правила игры. Создали платформу, которая предоставляет возможности дорогих корпоративных решений абсолютно бесплатно. Забудьте о ежемесячных платежах и скрытых комиссиях. Почему JetGoods — это революция в создании ботов? Наш сервис не просто «еще один конструктор». Это инструмент, который дает вам полную свободу действий без оглядки на бюджет. Честная бесплатность: Никаких ограничений В отличие от конкурентов, мы не ограничиваем вас в росте.Неограниченное количество ботов: Создавайте столько проектов, сколько нужно вашему бизнесу.Безлимитные подписчики: Неважно, 100 у вас клиентов или 100 000 — вы ничего не платите за объем аудитории. Премиум-функции, доступные каждому То, что другие продают в дорогих тарифах, у нас является базовым функционалом: Визуальный конструктор (Bot Builder) Вам не нужны программисты. Наш раздел Bot Builder позволяет собирать сложную логику из простых блоков. Перетаскивайте…
Проблема совместимости типов данных PostgreSQL и H2 при создании таблиц из Entity
Описание проблемы При разработке приложения на Quarkus с использованием Hibernate и PostgreSQL в production-окружении и H2 для тестов возникает проблема несовместимости типов данных. Hibernate автоматически генерирует DDL-скрипты на основе Entity-классов, но некоторые типы данных PostgreSQL не поддерживаются H2. Примеры типичных ошибок: 1. Тип INTERVAL Unknown data type: «INTERVAL» Error executing DDL «create table vsm.backup_scheduled_tasks ( task_delay interval second(18,9) not null, …)» 2. Тип TINYINT Unknown data type: «TINYINT» Error executing DDL «create table idp.AUTHENTICATION_EXECUTION ( REQUIREMENT tinyint check (REQUIREMENT between 0 and 3), …)» Корневая причина Решение: Кастомный диалект H2 Создаём класс H2CustomDialect, который перехватывает DDL-скрипты перед их выполнением и заменяет несовместимые типы: Настройка проекта 1. Подключение диалекта в application.properties: 2. Maven-зависимость для H2: Как это работает? 1. Hibernate генерирует DDL на основе Entity: 2. H2CustomDialect перехватывает SQL: 3. H2 успешно выполняет скрипт: 4. Hibernate автоматически конвертирует: Преимущества подхода ✅ Без изменения Entity — аннотации остаются прежними ✅ Прозрачность —…
DeepSeek: новая AI-модель, которая меняет правила игры. И как её попробовать прямо сейчас в Telegram!
В мире искусственного интеллекта каждый день появляются новые технологии. Однако лишь немногие из них действительно меняют подход к решению задач. Например, DeepSeek — одна из таких моделей. Она не просто улучшает существующие решения. Она предлагает уникальные возможности, которые делают её серьёзным конкурентом для ChatGPT и других популярных AI-систем. В этой статье мы разберём, чем DeepSeek выделяется на фоне других моделей. Также расскажем, как вы можете начать использовать её уже сегодня через Telegram-бота @DeepSeekGPTbot. Что такое DeepSeek? Это новая AI-модель, разработанная для решения широкого спектра задач: от генерации текста и анализа данных до помощи в программировании и обучении. Кроме того, она построена на передовых алгоритмах машинного обучения, что позволяет ей работать быстрее, точнее и эффективнее, чем многие аналоги. Преимущества DeepSeek Сравнение с другими моделями DeepSeek выделяется своей способностью глубоко анализировать контекст и предоставлять точные ответы даже на сложные запросы. В то время как Claude-3.5 и ChatGPT-4o также демонстрируют высокий уровень понимания,…
Foreground процесс завершается в Android
Написал приложение, которое в Foreground режиме периодически пингует сервер и забирает с него некую информацию. Проблема в том, что через некоторое время приложение перестаёт выходить на связь. По коду вроде проблем нет, и я начал капать в сторону того, что сам Android убивает фоновые процессы. Интересно, что в настройках приложения я отключил всякую оптимизацию, разрешил работу в фоне, но ему оказалось этого недостаточно. Для начала рекомендую подключить устройство к ПК, и снять с него логи. Для этого нужно активировать режим разработчика и разрешить отладку по USB. Далее (согласно https://habr.com/ru/companies/redmadrobot/articles/687184/) в консоли пишем команду: , где HA55EAVLKNFMACDS — id Вашего подключенного устройства полученный из команды (adb devices). В предполагаемое время я увидел такое: Всё-таки андроид убил приложение. Попытаюсь использовать решение отсюда https://stackoverflow.com/questions/75120437/xiaomi-redmi-android-error-in-logcat-w-powerchecker-controller-autokillapp Ещё интересный сайт https://dontkillmyapp.com/




