Как стать автором
Поиск
Написать публикацию
Обновить

Как я стал учиться в 10 раз быстрее с помощью NotebookLM

Тебе обязательно стоит попробовать

Хотите увеличить свою продуктивность? В этой статье я расписал как можно добиться максимума с помощью данного инструмента.

Читать далее

FunPay Cortex: Создаем Telegram-бота на Python для полной автоматизации бизнеса на FunPay

Уровень сложностиПростой

Привет, Хабр! Я хочу поделиться своим опенсорс-проектом, который вырос из личной потребности в автоматизации и превратился в мощный инструмент для всех продавцов на площадке FunPay. Речь пойдет о FunPay Cortex — Telegram-боте на Python, который берет на себя всю рутину.

Если вы когда-либо торговали на FunPay или подобных площадках, то знаете, сколько времени уходит на однотипные действия: ответы на сообщения, выдача товара, поднятие лотов в поиске, постоянная проверка статуса онлайн. В какой-то момент я понял, что хочу заниматься развитием, а не рутиной. Так и родился этот проект.

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

🚩 Проблема: Ручной труд убивает время и мотивацию

Стандартный день продавца на FunPay выглядит примерно так:

Получить заказ. Уведомления приходят, но нужно быстро реагировать.

Выдать товар. Скопировать ключ, логин/пароль или инструкцию из файла и отправить покупателю.

Ответить на вопросы. Постоянные "тут?", "в наличии?", "как купить?".

Поднять лоты. Каждые несколько часов заходить и нажимать заветную кнопку, чтобы быть в топе выдачи.

Ответить на отзывы. Благодарить за хорошие, обрабатывать негатив.

Быть "онлайн". Постоянно держать вкладку открытой, чтобы не терять клиентов.

Всё это отнимает колоссальное количество времени. Cortex был создан, чтобы решить эти проблемы.

🧠 Архитектура: Модульный подход

Я с самого начала решил делать проект расширяемым и модульным, чтобы не превращать его в монолитного монстра. В итоге архитектура выглядит так:

FunPayAPI — Сердце проекта. Это полностью независимая библиотека для взаимодействия с FunPay. Она не содержит никакой бизнес-логики бота, а лишь предоставляет удобный Python-интерфейс для работы с сайтом. Написана с использованием requests и BeautifulSoup, она парсит HTML, отправляет запросы и обрабатывает ответы. Её можно использовать в любом другом проекте.

Cortex Core — Мозг. Это ядро, которое связывает все компоненты. Оно использует FunPayAPI для получения событий (новые сообщения, заказы) с помощью runner.listen() и запускает соответствующие обработчики. Ядро также управляет состоянием, конфигурацией и плагинами.

Telegram-бот — Пульт управления. Зачем писать GUI или веб-интерфейс, когда есть Telegram? Весь бот полностью управляется через интуитивно понятное меню с кнопками. Можно редактировать автоответы, загружать товары для автовыдачи, смотреть статистику, управлять пользователями — и всё это с телефона.

Плагины — Бесконечная расширяемость. Самая мощная часть. Любой разработчик может написать свой .py файл, добавить в него несколько обязательных полей (имя, версия, UUID) и привязать свои функции к событиям Cortex. Это позволяет создавать кастомные уведомления, и

Читать далее

UEBA на минималках: не SIEM, не SOC, но уже интересно

Всем привет! 👋

В этой статье я хочу поделиться своим опытом интеграции Elastic Cloud с функциями машинного обучения для анализа аномалий в UEBA, а также о том, как Elastic Agent помогает в сборе и передаче данных в Elasticsearch, и как генератор логов использовался для тестирования системы.

Читать далее

Как AI помогает (и мешает) искать работу

Уровень сложностиПростой

Нейросети используются везде, всеми и используются много. На рынке труда AI - уже реальный инструмент найма как для рекрутеров, так и для кандидатов. 

Любым инструментом, как известно, нужно уметь пользоваться и нейросети здесь отнюдь не исключение. Они могут вам как помочь, так и всё испортить, усложнив поиск работы. Этот факт натолкнул меня на мысль написать статью о том, как использовать AI грамотно, не создавая себе проблем на ровном месте.

И начнём с очевидных (и не очень) плюсов.

Читать далее

Как использовать ИИ и не деградировать

Как использовать ИИ и не деградировать

Век искусственного интеллекта даёт неограниченные возможности — и одновременно соблазн перестать думать. Эта статья — честный манифест о том, как пользоваться ИИ и не потерять себя. Без воды, без клише, без инфоцыганщины. Только реальные принципы, чтобы ИИ стал твоим усилением, а не заменой.

Как использовать ИИ и не деградировать

Сказ о стилизации gap в multi-column или как теперь можно стилизовать пробелы

Многие из нас уже давно используют колонки с своей верстке, и также многие сталкивались с трудностями стилизации отступов между ними (каждый раз это напоминало танец с бубнами).

Ну что ж, Хром предлагает забыть об этой проблеме и ввел 2 новых свойства для этого решения: column-rule и row-rule. Давайте рассмотрим, что это за звери такие.

У нас есть многоколоночный макет, где используется column‑width свойство, и чтобы стилизовать отступы в таком макете, нам достаточно column-ruleсвойство:

Читать далее

Канада — победивший рынок работодателя

Уровень сложностиПростой

Статья для того, чтобы поделиться своим опытом поиска работы в Канаде как иммигрант политкорректно - ньюкамер - и выводы, к которым пришёл в процессе.

Читать далее

Как сделать идеальный lead gateway-бот на Go для Telegram: опыт и открытый исходник

Хватит терять лиды в Telegram! Делюсь проектом и опытом создания универсального Telegram Gateway Bot на Go — с регистрацией пользователей, автоматическим вступлением в канал, хранением данных и интеграцией с вашей CRM. Всё объяснено пошагово, плюс open‑source код и аниме‑маскот для WOW‑эффекта.

Читать далее

Цифровая трансформация бизнеса с ИИ: суть, технологии и этапы

Уровень сложностиПростой

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

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

Читать далее

Создание шаблона проекта HTML-сайта в Visual Studio

Уровень сложностиСредний

Не помню уже с какой версии, но весьма давно, в Visual Studio пропали типы проектов, создающие шаблон простого html/js/css сайта. Появилось много новых: в разных видах ASP.NET Core, Blazor, Vue, Angular, React etc. А вот шаблона простого классического сайта нет. Но это можно исправить.

У меня периодически возникает необходимость сделать такой сайт, и я для себя сделал шаблон проекта простого html сайта. Этим проектом и методикой его создания хочу с вами поделиться.

Приступим

Собираем C++20 код под Ubuntu 16.04

Уровень сложностиСредний

Пробовали ли вы собирать C++ код в линуксе? Почти наверняка. Действительно, нет в этом действии ничего сложного. А если усложнить задачу: нужно собрать код, написанный на современном С++20, но под старенькой убунтой 16.04?

Зачем и как?

Как я OTP коды в passwords на macOS добавлял

Уровень сложностиПростой

Сегодня сложно представить себе корп. vpn без необходимости на каждое подключение вводить OTP код.
Обычно в инструкциях по настройке приложения для OTP кодов рекомендуется Google Authenticator или я.ключ или еще что-нибудь из этого, но главное, что всё это устанавливается на телефон, и каждый раз нужно телефон держать под рукой.

В какой-то момент я понял, что мне это не очень удобно, решил поискать альтернативу, и оказывается уже давно встроенную в macos программу Passwords (пароли) можно использовать как приложение для генерации OTP кодов.

Не будем сильно затягивать и сразу приступим к настройке, я покажу на скриншотах пример настройки для discord, но этот способ будет полностью рабочим для вашего корп. VPN при наличии у вас QR или другого варианта кода для добавления в приложение.

Читать далее

Ошибка «no secure protocol found for repository» или зачем нужен go mod vendor

Уровень сложностиПростой

Привет, Habr! Недавно устроился на новую работу, и снова пришлось настраивать окружение, поднимать локально сервис и делать прочую рутину. Всё бы ничего, НО — наступив на те же грабли, я забыл про существование go mod vendor и убил почти час, пытаясь понять, почему контейнеры не подтягивают зависимости.

Решения в интернете быстро не нашёл, поэтому решил поделиться им здесь — возможно, кому-то сэкономит время.

Читать далее

Сколько километров ты проходишь по макетам в Figma. Плагин измеряющий расстояние

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

Привет, это Денис Абдуллин — продуктовый дизайнер, сделал плагин Figma Tracker, сейчас коротко расскажу что он делает, и как он был придуман.

Плагин в Figma Community ↗

Читать далее

AIbolit — расширение, которое вылечит ваш текст от невидимых символов и следов нейросетей

Уровень сложностиПростой

Когда ты работаешь с SEO, копирайтом или просто часто редактируешь тексты - ты начинаешь видеть странные символы, лишние пробелы и неестественные фразы даже во сне. Так случилось и со мной. Я заметил, что текст, который я копирую из ChatGPT, хоть и выглядит нормально, на деле содержит скрытые символы, мешает верстке и палится анти-ИИ алгоритмами. Тогда я подумал: «Почему бы не сделать простое расширение, которое всё это будет убирать в пару кликов?»

Так родился AIbolit.

Читать далее

Чат-интерфейсы: простой способ сделать сайт понятнее и ближе

Уровень сложностиПростой

Вы заходите на сайт. Например, хотите найти, как пожаловаться на доставку. И тут начинается: кнопки в меню, три подменю, непонятные формулировки. Вы тратите минуты на то, чтобы понять, куда жать. А теперь представьте, что можно просто спросить: «Хочу оставить жалобу на курьера». И вам тут же приходит ответ с нужной кнопкой или сразу открытой формой. Это и есть чат-интерфейс.

По сути, это привычный чат, где вы разговариваете не с человеком, а с системой. Она понимает, что вы хотите, и помогает сделать это быстро, без лишних шагов. Всё просто: написал — получил ответ — сделал.

Читать далее

Интерфейс для OLLAMA

Уровень сложностиПростой

Вайб, вайб, вайб... Сегодня из каждого утюга звучит про лёгкость, свободу и скорость, с которой нейросети помогают кодить.

цитата

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

Весь этот хайп и сподвиг меня на эксперимент: проверить, сможет ли джун написать осмысленный код без присмотра супервизора.

Естественно, как и положено по всем канонам, эксперимент был проведен на самом себе.

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

Для пущей чистоты решил использовать Python — язык, которого я никогда раньше не знал.

Читать далее

Популярно про ИБМ мэйнфрэйм

Уровень сложностиСредний

Немного, но есть на Хабр-е статьи про ИБМ мэйнфрэйм. Диапазон мнений от что их уже давно нет или вот вот не станет до подробных отчётов о непонятно для чего проводимых тестов на базе МФ (непонятно потому что в этих тестах используются подходы применимые к совсем другим чем МФ платформам).

Учитывая редкость использования МФ в России я решил начать серию популярных статей на русском языке, чтобы у большего количества любознательных российских ИТ-шников сформировалось адекватное отношение к МФ.

Читать далее

Как я бросил продажи кухонь ради IT и не пожалел (пока что)

Уровень сложностиПростой

Привет, Хабр! Решил поделиться своей историей перехода в айти — может, кому-то будет полезно или хотя бы забавно почитать про мои мучения и открытия. Спойлер: всё закончилось хорошо, но были моменты, когда хотелось вернуться обратно к понятным столешницам и фасадам.

Читать далее

10 JavaScript-утилит, которые я использую в большинстве проектов

Уровень сложностиСредний

Эти 10 простых JavaScript-утилит покрывают большинство типичных задач в JavaScript-разработке: от оптимизации производительности до обработки данных и работы с UI. Они просты, универсальны и легко интегрируются в любой проект.

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

Читать далее