Как стать автором
Обновить
180
30.4
Михаил Шардин @empenoso

Разработчик

Отправить сообщение

Использование оверлейных сетей для обхода NAT

Время на прочтение15 мин
Количество просмотров9.9K

У меня, как и у многих посетителей Хабра есть raspberry pi. А ещё, почти честные сто мегабит от провайдера домашнего интернета. Идея о маленьком домашнем сервере от такой комбинации появляется сама по себе. Но сервер он ведь на то и сервер, чтобы работал независимо от факта нахождения пользователя в физической доступности. В связи с этим, возникает вопрос, как подключаться к такому серверу удалённо? Обычно провайдеры домашнего интернета прячут своих пользователей за NAT, так как IPv4 на всех не напасёшься. Мой провайдер исключением не является. Внешний статический IP он так же не предоставляет (по крайней мере, такой услуги в ЛК я не нашёл), да и совершенно ни к чему выставлять шлюз в локальную домашнюю сеть во внешний интернет. Shodan, ботнеты, сканеры и краулеры никто не отменял. Раньше для подобной задачи решение было очевидным – виртуальная частная сеть. Однако сейчас, с учётом нарушения сетевого коннекта по определённым протоколам, хочется иметь как минимум резервный удалённый канал связи. Да, нарушение коннекта по привычным для данной задачи протоколам неполное: можно отыскать протокол, который не забанен, можно поиграть с настройками, тем не менее хочется иметь возможность сделать это удалённо. Мой взгляд упал на нестандартные средства решения этой задачи.

Читать далее

Сэкономил на копирайтере: как GPT ведет канал по путешествиям на 20к подписчиков

Время на прочтение10 мин
Количество просмотров5.5K

Многие считают, что человечный текст с авторским слогом лучше потрепанного ИИ-ответа. Но это не правда. В каналах людям всегда интересен треш, халява, провокационные новости, в тематике "о путешествиях" Тайские обезьянки, ненависть к Omerica, разбившиеся Боинги или халява .

Поэтому мы написали своего ИИ-редактора, который подбирает картинки и постит новости за нас. Так мы сэкономили 20 тысяч на авторском контенте, не теряя в прибыли.

О том, как это провернули, рассказали в статье.

Читать далее

Нечеткое сравнение строк с помощью rapidfuzz

Время на прочтение9 мин
Количество просмотров8.7K

Привет, Хабр!

Меня зовут Антон Черниговский, я участник профессионального сообщества NTA.

В публикации расскажу, как при решении задачи нечеткого сравнения строк, среди разных инструментов сравнения (по косинусному сходству, по сходству Левенштейна, по сходству Джаро‑Винклера) был выбран лучший вариант нечеткого сопоставления. Сравнение инструментов производилось исходя из скорости выполнения, правильности сравнения и простоты реализации, с помощью библиотек rapidfuzz и sklearn.

Узнать какой инструмент лучше

Python и нечеткое сопоставление: решение проблемы разнобоя в адресах

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.2K

Иногда приходится заниматься сравнением больших списков адресов, в которых адреса записаны совершенно по разному без внятных идентификаторов вроде номера объекта - есть только адрес. Один и тот же адрес может фигурировать в различных списках следующим образом:

📍 "д. Малое Шилово, ул. Березовая, д. 7" и "Березовая 7_М Шилово".
📍 "п. Ласьва, ул. Весенняя, д. 5" и "Весенняя 5_Ласьва".
📍 "Луговой пер 5, Краснокамск г" и "г. Краснокамск, пер. Луговой, 5".
📍 "д. Новая Ивановка, ул. Солнечная, 18" и "д.Новая Ивановка, ул.Солнечная, 18".

Уже выделенные отдельно адреса могут выглядеть как на скриншоте Экселя. А пример поставленной задачи может звучать так: «В реестре поданных объектов отметить все согласованные объекты (из общего списка согласованных)».

Если отбросить вариант ручного исполнения и обратиться к скриптам, то мне видится всего два решения:

✅ Использовать алгоритмы нечёткого сопоставления.
✅ Использовать геокодинг адресов.

Ищем приемлемый вариант сопоставления

Chrome Headless против cloudflare JS challenge

Уровень сложностиСредний
Время на прочтение41 мин
Количество просмотров25K

Автоматизация сбора информации с различных ресурсов - обычная задача для людей разных сфер деятельности. Жаль, что не всегда бывает достаточно сделать простой GET запрос и разобрать полученный html. Веб-сайты, с которых собираются данные, принимают защитные меры для предотвращения автоматизированных запросов. Одной из таких мер является использование cloudflare. Сегодня мы посмотрим, как cloudflare выявляет ботов через javascript и коснёмся темы деобфускации скриптов.

Читать далее

Подключаем длинную линию 1-wire к Ардуино

Время на прочтение3 мин
Количество просмотров8.1K

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

Берется какая‑нибудь ардуиноподобная плата, или что‑то из серии ESP, один из выводов GPIO настраивается в прошивке как линия 1-wire, а микросхема DS1820 подключается примерно так:

Читать далее

Свой агрегатор новостей на python. Телеграм + RSS + новостные сайты (telethon, feedparser, scrapy)

Время на прочтение7 мин
Количество просмотров49K


freepik


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


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


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

Читать дальше →

Мне 34, я был в 65 странах, и у меня есть для вас лайфхак

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров92K

Вы же попались на этот кликбейт?

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

За первый же месяц с ботом я купил перелёт в США и обратно в два раза дешевле стандартной цены. А сколько времени сберёг на мониторинг — не сосчитать. Поделюсь ссылками на мой проект в GitHub и названием бота. Вы сможете собрать похожее решение под свой запрос и летать в отпуск, испытывая меньше фрустрации от ценника на билеты и туры.

Читать далее

Телеграм не бот, REST API wrapper для управления аккаунтом но не ботом

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.5K

Давно пишу ботов для телеграмм, использую golang. Понадобился функционал - сканировать каналы по ссылке. Бот такое не может, это уже более сложное апи, порылся - нашел библиотеку на golang, попробовал - сложно. Нашел на питоне - проще. Но на питоне не хочется. Так родилась идея сделать простую обертку REST API для основного функционала: вступить в группу, прочитать сообщения, узнать информацию о группе, написать сообщение, и чтобы курлом все работало...

Читать далее

Как я написал бота для саммари telegram каналов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.2K

Всем привет!
Меня зовут Азрет, я - CTO в AAA (читается как "трипл-эй"). Мы разрабатываем LLM приложения для бизнеса. Решаем разнообразные задачи - оптимизация внутренних процессов за счет ИИ, маркетинговые исследования и запуск новых продуктов. Но запрос на бота, про которого я хочу рассказать, внезапно пришел от фаундера нашего агенства.

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

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

В этой обзорной статье - детали архитектуры и стека.
Кому интересно - прошу под кат.

Читать далее

Автономный бизнес — Telegram канал + LLM

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров9.6K

Всем привет, в этой статье я хотел бы рассказать о создании скрипта для рерайта постов Telegram каналов с помощью LLM модели и их публикации у себя на канале.

Первое, что нам потребуется это локально поднятая LLM модель, для обработки постов - их видоизменения.

Второе сам скрипт.
Импортируем нужные библиотеки:

Читать далее

Парсинг Telegram-канала: Извлечение id комментаторов. Python + Telethon

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров8.5K

Список подписчиков тг‑канала часто представляет собою священную тайну и просто так никто не станет делиться паствой трафиком. Поэтому получить конкретный список людей сложно, но вот комментаторов под постами никто не скрывает (возможно ли это?).

В статье приведён и разобран (полный и рабочий) скрипт, позволяющий автоматизированно собирать простую статистику о тг‑канале: список id комментаторов с соответствующими количествами комментариев от каждого.

Читать далее

Ограничения в телеграм-бот (Bot API), о которых никто не расскажет

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров31K

Привет! Меня зовут Оля, я программист учебного центра компании «Тензор».

В декабре 23-го мне поступила творческая задача разработать телеграм-бот для проведения новогоднего марафона-тренинга по личностному росту.

В этой статье расскажу о проблеме, с которой столкнулась при разработке телеграм-бота. Разберем ошибку 429 (Too Many Requests) и лимиты на доступ к API.

Читать далее

Как починить Теслу и спасти праздничное настроение

Время на прочтение9 мин
Количество просмотров27K

Привет, Хабр! Меня зовут Асхат, я работаю в Yandex Infrastructure — инженерной команде, которая делает фундаментальные технологии для работы Яндекса. Иногда натренированный взгляд инженера может пригодиться и в личных делах. Позапрошлой осенью на мой День рождения автомобиль Tesla model S сделал мне подарок. Он просто перестал ехать и сыпал ошибками. Утром ничего не предвещало беды, а вечером сел в автомобиль, и на экране замелькало: «Низкое напряжение», «Требуется обслуживание», «Невозможно ехать».

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

Но осторожно, не пытайтесь повторять это самостоятельно!

Читать далее

Пишем приложение для SIM-карты

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров24K
Приветствую всех!

Думаю, многим из вас доводилось слышать такое утверждение, что SIM-карта — по сути полноценный специализированный компьютер. А раз симка — это компьютер, то, очевидно, должен быть и софт для него. Как насчёт попробовать что-нибудь написать и заставить это работать прямо на карте? Давайте разбираться.



Итак, в сегодняшней статье поговорим про эту довольно редко упоминающуюся сторону сотовой связи. Узнаем, как писать приложения, чтобы они запускались на всех телефонах, от Nokia 3310 до последних айфонов. Попутно выясним, как загружать их в SIM-карты и насколько сложно это сделать, и, конечно же, напишем наш первый апплет. Традиционно будет много интересного.
Читать дальше →

U-образная кривая и эффект материнства: что исследования Клаудии Голдин говорят о рынке труда и гендерном неравенстве

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.1K

Клаудия Голдин, лауреат премии по экономическим наукам 2023 года, провела исследования, которые проливают свет на исторические и современные аспекты участия женщин в рынке труда. Ее работа раскрывает неожиданные закономерности, включая знаменитую U-образную кривую, влияние брака и материнства на карьеру, а также роль ожиданий и социальных изменений. В статье мы рассмотрим, как инновационные подходы Голдин помогают понимать гендерные различия, какие выводы можно сделать для IT-сферы, и почему гибкость и планирование карьеры становятся ключевыми факторами для современного рынка труда.

Читать далее

Как поддерживать видимость социальной жизни, если ты лентяй

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

Привет, Хабр! Мне нравятся всякие скрипты и автоматизация, но ведь и социальную жизнь поддерживать как-то надо, правда? Вот и я подумал: если не хватает времени лайкать посты друзей ВКонтакте, почему бы не автоматизировать этот процесс?

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

Как уследить за всеми постами "друзей" и родственников ВКонтакте? И стоит ли оно того?

А ведь это особенно сложно, если у тебя насыщенная работа, дедлайны или проект горит. Хочется быть в курсе, поддерживать контакты, но постоянно мониторить ленту – путь в никуда.

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

Автолайкинг 👍

Home Assitant для управления Plex

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.8K

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

Для его использования необходим Home Assistant и интеграция Plex.

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

В статье будет рассмотрено использование переменных (variables), триггеров (wait triggers), циклов (loops), условий (conditions), шаблонов значений (value templates).

Читать далее

IT в России: есть ли жизнь (и конференции) за пределами СПБ и МСК

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров5K

Привет, Хабр! Это Валерий Костин, основатель конференций Merge и антиконференции Summer Merge. Мне кажется, что в России наблюдается значительный дисбаланс в количестве IT-конференций между регионами и крупными городами, такими как Москва и Санкт-Петербург. Мы, организаторы Merge 2024, решили разобраться, а так ли это на самом деле. Понять, почему так сложилось, а также рассказать, почему наша конференция — один из способов решить эту проблему. 

Читать далее

250 откликов за 20 минут: как я автоматизировал процесс ответов на вакансии

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров13K

Будем откровенны: поиск работы — это отстой.

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

Обратим внимание на следующее: повторяющиеся задачи + структурированный процесс = идеальный кандидат для автоматизации.

Поэтому я поступил так, как поступил бы любой разработчик в здравом уме — создал систему автоматизации всей этой фигни. В конечном итоге я смог разослать 250 откликов на вакансии за 20 минут. (Ирония заключается в том, что я получил оффер ещё до того, как закончил создавать эту систему. Подробнее об этом ниже.)

В статье я расскажу, как я это сделал.
Читать дальше →
1
23 ...

Информация

В рейтинге
210-й
Откуда
Пермь, Пермский край, Россия
Зарегистрирован
Активность

Специализация

Fullstack Developer, Content Writer
Lead
JavaScript
Node.js
HTML
Linux
Journalism
Parsing
Creating drawings
New Media
Microsoft Excel
GoogleScript