Search
Write a publication
Pull to refresh
85
0
AlexeiZhuravlev @AlexeiZhuravlev

Пользователь

Send message

Как сайты определяют ботов? Деобфускация Akamai Bot Manager 2.0

Level of difficultyMedium
Reading time47 min
Views25K

Akamai Technologies - американская компания, занимающаяся защитой веб-ресурсов от ботов с помощью своего продукта Bot Manager. В её портфолио числятся такие гиганты ритейла, как Nike, Adidas и Asos, для которых особенно важен контроль за ботами, автоматизирующими процесс выкупа редких/лимитированных товаров с целью их перепродажи по завышенной цене. В данной статье мы взглянем на скрипт антибота Akamai и рассмотрим, какие методы обнаружения через JavaScript в нём используются. Не знаете почему обнаруживается ваш selenium? Добро пожаловать!

Читать далее

Делаем векторный логотип с использованием Midjourney

Level of difficultyEasy
Reading time3 min
Views44K

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

Читать далее

Неожиданная эффективность условных вероятностей

Reading time11 min
Views8.4K

В последнее время я решил заняться задачами по теории вероятностей, потому что мне кажется, получение знаний в этой сфере принесёт большую пользу. Я нашёл ключ, часто использующийся для решения многих из них: накладываем условие на промежуточное состояние, а затем отдельно вычисляем значение этого промежуточного состояния. Это превращает очень сложные задачи в такие, где решение практически очевидно. [Однако в таком случае мы иногда обмениваем эффективность на простоту.]

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

В Ruby появилась поддержка WebAssemblу: что это значит?

Level of difficultyEasy
Reading time7 min
Views2.8K


С выпуском версии 3.2 Ruby пополнил список языков программирования, поддерживающих WebAssembly. Небольшое на первый взгляд обновление может стать самым значительным изменением языка со времён Rails, так как теперь разработчики смогут работать не только с бэкендом. После портирования кода на WebAssembly его можно будет запускать где и как угодно — на фронтенде, встроенных устройствах, как бессерверные функции, вместо контейнеров или в граничных вычислениях. WebAssembly может превратить Ruby в универсальный язык программирования. Подробности под катом, а практика в вебе — на нашем курсе по Fullstack-разработке на Python.

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

Как мы используем модель Хаффа для открытия новых магазинов

Reading time9 min
Views11K

Привет! На связи команда геоинформационных систем «Магнита». Мы начинаем серию очерков о модели прогнозирования продаж в новых магазинах. В первой статье расскажем про один из наиболее значимых признаков модели — балле Хаффа. Мы постараемся описать теоретическую сторону и покажем реальные примеры решения возникающих сложностей. Надеемся, эта статья предоставит ценные идеи и информацию для ваших задач, будь вы опытный специалист или новичок. Итак, приступим!  

Читать далее

История победы в VK Cup'22/23:Go

Level of difficultyMedium
Reading time21 min
Views4.6K

Всем привет! 5 февраля завершился очередной VK Cup, в котором в этот раз впервые была секция посвящённая Go. О конкурсе я узнал случайно в одном из Телеграм каналов и решил посмотреть, что же там за задачи. Соревнование состояло из из 3 этапов:

Квалификация: нужно было реализовать несколько функций, чтобы прошли тесты. Дальше проходило 256 человек.

Отбор: задача про внешнюю сортировку и построение кучи, которая не вмещается в RAM. Дальше проходило 16 человек.

Финал: построение коллажа из 1000+ картинок размером 512×512 px.

Про первые 2 раунда я рассказывать в этой статье не буду, возможно сделаю отдельную статью, а расскажу про финал и решение, которое принесло победу. Код решений всех раундов можно посмотреть на GitHub'е.

В финале были чёткий критерий оценки: кто быстрее построит коллаж, тот и победил. Решение «в лоб» решает эту задачу за ~16 секунд на моём AMD Ryzen 7 5800H (16 HT cores). Если интересно как его ускорить до 0.23 секунды, прошу под кат, там много текста, кода, картинок и даже немного ассемблера.

Читать далее

Как из данных узнавать о том, что в продукте что-то пошло не по плану

Reading time4 min
Views6.6K

Привет! Меня зовут Дима Дынников, я руководитель команды продуктовой аналитики в Профи. Расскажу, как мы ищем поведенческие аномалии в продукте и зачем это вообще нужно делать.

Что такое аномалии?

Введение в библиотеку Transformers и платформу Hugging Face

Reading time17 min
Views101K

Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time Series.

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

ТК LLM is all you need | ТК Private Sharing | Курс: Алгоритмы Машинного обучения с нуля

Читать далее

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза

Reading time9 min
Views5.1K

Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.

Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.

Читать далее

Как зануды предсказывают результаты футбольных матчей

Reading time13 min
Views25K

Завтра финал Чемпионата мира по футболу. Самое время для рассказа о футбольных прогнозах.

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

Такой день наступил и в моей жизни. И пусть я больше интересуюсь спортивным "Что? Где? Когда?", футбол - это классно. И это классно и с точки зрения прогнозов - и много данных, и много инересующихся, кому можно показать результаты. Давайте попробуем!

И раз за дело взялись зануды, будет много теорий, ещё больше таблиц и графиков.

Готовы? Вперёд!

Миллион записей для змеи

Reading time14 min
Views8K

Загрузить миллион записей в питон за секунду?
Нет. Получилось еще быстрее!

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

Читать далее

Как устроен процесс найма и собеседований на позицию Machine Learning Engineer

Reading time5 min
Views25K

Это статья с 21-ой ссылкой о подготовке к собеседованиям. Я собеседовался на позиции Machine Learning Engineer.

Разобрал основные этапы (алгоритмы, machine learning system design, поведенческий этап) и как к ним готовиться.

Читать далее

Rust в стартапе: поучительная история

Reading time8 min
Views15K

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

Я очень долго думал писать ли мне этот пост или нет, потому что я не хочу начинать или быть вовлеченным в холивар про языки программирования (чтобы сразу расставить все точки над "i": Visual Basic самый лучший язык программирования на свете). Но уже несколько людей спрашивали меня про мой опыт с Rust и должны ли они использовать его в своих проектах. В общем, я хочу поделиться своими наблюдениями, какие я вижу достоинства и недостатки Rust в стартапах, когда скорость разработки и легкость масштабирования команды очень важны.

Читать далее

Мое первое серебро на Kaggle или как стабилизировать ML модель и подпрыгнуть на 700 мест вверх

Reading time6 min
Views11K

Привет, чемпион!

Летом прошел чемпионат на Kaggle - "American Express - Default Prediction", требовалось предсказывать - выйдет ли пользователь в дефолт или нет. Табличное соревнование в 5К участников с очень плотным лидербордом.

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

Читать далее

Клубничная чудо-коробка 2.0 всё

Reading time12 min
Views56K

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

Читать далее

Как я запустил свою первую мобильную игру и провалился

Reading time19 min
Views61K

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

Читать далее

7 советов как сделать Redis безопаснее

Reading time4 min
Views8.3K

Одна из тысячи похожих историй.

После известных событий компании моего знакомого пришлось оперативно перейти с удобного зарубежного хостинга на площадку попроще. Площадка была настолько проще, что речь уже не шла о штатном мониторинге, логировании или даже привычных группах безопасности для фильтрации трафика. Это был один из тех переездов, которые не успели спланировать. И вот эти самые группы безопасности и подвели. На новом хостинге не было никакого межсетевого экрана на уровне VPS, и Redis оказался доступен для злоумышленников. Они этим естественно воспользовались. Веб-сервис взломали. Сервис был необходим для разработки и поддержки продукта, который через различные сторонние API агрегировал определенную информацию, а затем выдавал её клиентам по запросу. В какой-то момент данных стало много, и было решено с помощью Redis кэшировать часть запросов. Redis стоял на том же сервере, где запускался веб-сервер и никому в голову не приходило как-то особенно заниматься его безопасностью. Но, как водится, порвалось, там, где тонко.

---

Может показаться что, Redis, используемый для хранения кэша и временных ключей, – это не слишком интересная добыча. Но на самом деле, хакеры провернули следующий трюк:

Читать далее

Чем dry-rb (не) полезен мне

Reading time8 min
Views4.3K

В конце сентября мы провели уже четырнадцатую конференцию Ruby Russia. На ней было много полезного, и чтобы эта польза не пропала, мы оформили доклады в тексты, которые будем публиковать здесь. Автор первого Егор Шморгун, Ruby-разработчик Level Travel.

Читать далее

Сервисы по обработке фотографии для профиля LinkedIn

Reading time7 min
Views12K

Когда кто-то просматривает ваш профиль LinkedIn, две вещи, которые сразу же бросаются в глаза — это ваша фотография профиля и ваш фон профиля.

В этой статье вы узнаете:

? о сервисах для подготовки фотографий, которые вы можете использовать для своего профиля LinkedIn.
? 10 советов, как сделать профессиональную фотографию профиля LinkedIn
? о сервисе для поиска фотографов

Дисклеймер: технического материала в статье нет. Она рассчитана на тех, кто хочет прокачать свой профиль в LinkedIn с целью поиска работы в России или за ее пределами.

Читать далее

Шахматы и вопрос разумности больших языковых моделей

Reading time23 min
Views12K


Масштабирование больших языковых моделей (LLM) является захватывающей темой, поскольку рассматривается как один из лучших кандидатов на пути к ИИ человеческого уровня. Уже сейчас LLM могут отвечать на вопросы, генерировать реалистичные статьи и поддерживать, казалось бы, осмысленный разговор на широкий круг тем. Некоторые исследователи ИИ даже утверждают, что LLM возможно уже могут «слегка обладать сознанием», а журналисты выпускают статьи вроде «роботы захватят весь мир» с картинками терминаторов. Однако, скептики возражают, что большинство таких моделей — это просто большая ассоциативная память, без истинного понимания реальности и неспособная к определенным типам задач. Одна из таких задач, которая привлекла мое внимание — игра в шахматы. В то время как специализированные шахматные движки давно обыгрывают чемпионов мира, даже очень большие языковые модели, такие как GPT-3 с сотнями миллиардов параметров едва справляются с такой простой задачей как мат в один ход. А с такими способностями к стратегии, эти модели едва ли справятся с завоеванием мира. Поэтому как шахматист со стажем и по совместительству разработчик нейросетей я решила попробовать устранить этот недостаток.
Читать дальше →

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity