При веб парсинге сайтов рано или поздно приходится сталкиваться с механизмами защиты от ботов. Сайты могут блокировать массовые запросы по IP-адресу, выдавать сложные капчи или применять другие антибот меры. Я хочу рассмотреть как реализовать на Python парсинг сайта с обходом таких защит: Читать далее
Это статья - пример небольшого личного опыта, где я пытался решить одну чисто техническую задачу для одного из моих текущих проектов. Задача в конце-концов была решена, насколько правильно - не знаю, но надеюсь многим будет интересен и полезен мой опыт. Итак, небольшая драма в 5-ти актах. Читать далее
Актуально на 18 сентября 2025 года.В статье изложено краткое описание действий, которые помогли в итоге найти верный подход. После того, как мне удалось его найти, мне позвонила девушка-оператор для подтверждения заказа, она настолько офигела, когда увидела выбранный бесплатный номер, что попросила меня рассказать все шаги по телефону. Собственно именно этот разговор и подтолкнул меня к написанию этого текста. Читать далее
Привет, Хабр! Мы живем в удивительное время. Попросить LLM написать для нас код стало так же естественно, как гуглить ошибку. Но у этой магии есть предел. Попросите модель написать quickSort, и она справится блестяще. А теперь попросите ее: «Добавь метрики Prometheus в метод processOrder в нашем…
На досуге вольно перевела относительно свежую статью c Forbes. Многие вещи покажутся очевидными, а вот идеи промптов могут быть полезны в работе. Читать далее
Сегодня я расскажу, как из-за случайной встречи с ANTLR я создал RCParsing, библиотеку на C# для парсинга практически любого вида синтаксиса, поддерживающую парсинг отступов из коробки. Мы разберемся, как работают разные алгоритмы парсинга и чем отличается тот, что используется у меня. Также я закину пример кода для парсинга упрощенного YAML с использованием моей библиотеки. Читать далее
Вы открываете приложение «на минутку», через полчаса понимаете — залипли. Это не магия и не слабая сила воли, это хорошая работа интерфейсов. Они устроены так, чтобы держать внимание и не отпускать.В прошлой статье я показывал, как главная страница решает судьбу продукта. Теперь — о приёмах, которые работают после неё. Они незаметны, но именно они удерживают нас внутри экрана. Читать далее
Если вы только начинаете изучать Python и слышите слово дженерики, скорее всего в голове сразу каша: «что это вообще такое?». На самом деле дженерики - это очень простая идея. Представьте, что у вас есть коробка. В коробку можно положить игрушки, яблоки, книжки - всё что угодно.Но иногда вы хотите, чтобы в коробке лежали только яблоки. А иногда - только игрушки. И вот тут вам помогают generics. Читать далее
Давайте поговорим о "галлюцинациях" LLM (больших языковых моделей) — генерации несуществующих фактов в уверенной подаче. Обычно их считают багом и стараются подавить через дообучение и фильтры. Однако недавнее исследование Why Language Models Hallucinate, 2025, показывает, что сама система оценивания поощряет модели угадывать, а не честно признавать неопределённость. Я попробовала разобрать, могут ли такие "галлюцинации" быть функциональной интуицией и как превратить их в инструмент идей. Читать далее
Выполнимый файл в процессе своей работы не должен изменяться, то есть его контрольная сумма должна оставаться неизменной. Законно выполнимый файл может измениться, только если мы установим обновление для нашего приложения, то есть фактически заменим этот файл на новый.Но это…