
Привет, Хабр!
Сегодня мы рассмотрим, как реализовать RFM‑модель в чистом SQL на примере магазина котиков.
Привет, Хабр!
Сегодня мы рассмотрим, как реализовать RFM‑модель в чистом SQL на примере магазина котиков.
Данная публикация - перевод статьи Jang - No[one|thing] will be left behind — Manual guide to patch your the exiled SharePoint/Exchange server.
! Все приведённые в данном материале примеры эксплоитов предназначены исключительно для изучения и проработки мер безопасности. Их использование в злонамеренных целях строго запрещено и противоречит законодательству. Автор и источник не несут ответственности за неправомерные действия, совершённые с использованием данной информации. !
Или как культура страха убивает продукт
Многие компании мечтают о сильной и самоорганизующейся команде.
О людях, которые берут на себя ответственность, двигают проект вперёд и решают проблемы без лишнего шума...
В новом дайджесте рассказ последнего UIKit-разработчика и погружение в разработку плагинов для Android Studio, дизайн киты iOS и iPadOS 26 и зачем нужен Navigation 3, автоматизация тестирования, TikTok для роста, ИИ, который удалил производственную базу данных пользователя, и многое другое. Заходите!
В этой статье, я расскажу, про опыт работы с агентами Cursor, github actions и великолепный Github Cli. Статья не претендует на истину и является частным практическим опытом.
Вступление
Лето. Время отпусков. Делать не фиг.
Можно залипать в рилсах или сериальчиках на пляже, но зачем, если можно создать что-то прикольное с мобильниого телефона, с помощью агентов. А конкретно, с помощью https://cursor.com/agents (стоит 20 баксов в месяц https://docs.cursor.com/account/pricing или 3к рублей в год, если немного поискать).
Итак, создаем репозиторий (В моем случае github.com/RobotAvi/MoneyGame) или берем готовый. Даем задачу агенту.
Как риск усиливается в мультимодальных AI-агентах, когда скрытые инструкции, встроенные в безобидно выглядящие изображения или документы, могут инициировать утечку конфиденциальных данных без какого-либо взаимодействия с пользователем.
(Статья — результат со вместной работы с Максимом Степановым)
Когда начинаешь писать тесты к коду, иногда возникает ощущение, что пытаешься расчесать запутанные волосы, и чем больше дёргаешь, тем больше узлов находишь. Это полезный сигнал, к которому стоит прислушиваться: плохая тестируемость подсказывает, что у кода есть изъяны в архитектуре.
Связанный код, который сложно поддерживать и расширять, сложно и тестировать. Как сказал Боб Мартин:
«Тестируемый код — синоним разъединённого кода»
А значит, тестируемость может быть маркером хорошей архитектуры. Именно это мы и попробуем здесь продемонстрировать.
Мы напишем тесты для примитивного скрипта на Python, который проверяет IP пользователя, определяет их регион и сообщает текущую погоду в регионе. Нас будет интересовать, как эти тесты заставят нас изменить код. Они, как расчёска, помогут нам методично разобрать проблемные места, чтобы код (как и волосы) стал гладким и послушным. Полный пример доступен здесь, каждый основной шаг находится в отдельной ветке.
В первой части статьи мы сделаем простейшее преобразование — разобъём скрипт на отдельные функции, а потом выясним, какие недостатки кода нам пока не удалось устранить. Во второй части мы от них избавимся с помощью разъединения зависимостей и модульной архитектуры. Поехали!
Привет! Это Илья, руководитель проектов в Webest. Домен нужен каждому проекту, но подобрать доменное имя — тот ещё квест. Мы решили эту задачу, разработав ИИ-генератор доменных имён. В его основе Yandex GPT, генеративные промты и модуль на CMS «1С-Битрикс». Рассказываю, почему возникла потребность в применении ИИ делюсь инструкцией по разработке своего модуля интеграции с Yandex GPT.
Сложная электроника становится все более распространенной, проникая даже в те области, где раньше господствовала грубая механика, что предъявляет повышенные требования к ее надежности и устойчивости к внешним воздействиям. Одним из эффективных способов защиты самого главного — печатных плат, от негативных факторов окружающей среды является использование конформных покрытий.
Представим ситуацию: вам вдруг захотелось вечерком/на выходных сделать устройство умного дома (условимся, что это Arduino подобное устройство). Причины и цели не так важны: хотелка, необходимость, спортивный интерес, да что угодно. Вы начинаете искать информацию о популярных платах, способах взаимодействия с устройством, хранении данных и т.д. Есть множество статей по данным темам с примерами, но вам не хочется погружаться в код, а хочется только описать логику устройства и сразу им пользоваться. Что же делать? Для такого случая был создан SmartThing
- это проект нацеленный на упрощение и ускорение разработки законченного устройства умного дома (или же IOT устройства).
Я задумал соединить концепции антенн quados и omni quad. Вот такие заготовки соединить в крестовину и пролудить у основания что б закрепить вместе. Надо будет как то продумать балун что бы погасить лишние помехи. Со стандартными антеннами 7dBi в условиях города ловит около 70 м. Хочу добиться всенаправленного усиления до 12 dBi.
Привет! Меня зовут Евгений. Я — Full-Stack QA Engineer в Devscribed и сегодня хочу поделиться своим экспериментом — QA Mentor Bot. Это Telegram‑бот, который отправляет в телеграмм группу случайные вопросы по тестированию и сразу же генерирует на них развёрнутые ответы с помощью AI. В этой статье я расскажу, как устроен проект и с какими «подводными камнями» столкнулся в процессе разработки.
Добро пожаловать в четвёртую и заключительную часть серии о новом Flowable Async Executor. До этого момента путь был довольно насыщенным:
Однако остаётся один важный вопрос: как мы пришли к текущей реализации? Что подтолкнуло нас к этим изменениям и почему? Как мы нашли узкие места и использовали эти данные для создания лучшего подхода? И, учитывая, что первая версия появилась более десяти лет назад, как Async Executor эволюционировал, сохраняя обратную совместимость?
Именно этому посвящена эта часть. Мы воспользуемся возможностью оглянуться назад и вспомнить различные реализации, которые появлялись за это время. Мы выделили четыре поколения Async Executor и кратко рассмотрим каждое из них. Поскольку Flowable является форком Activiti, история начинается с первой версии Activiti (5.0.0).
1 мая 2024 компания Microsoft официально прекратила поддержку Xamarin.Forms. Альтернативой они называют MAUI, который всё ещё очень и очень сырой. Нельзя так просто взять и перенести свое приложение на новые рельсы - у платформ разные подходы к написанию кода. Так как выкручиваться в таком случае тем, у кого есть legacy проекты на Xamarin.Forms, но при этом нет возможности перевести их на MAUI?