Три года борьбы со спамом: от простых роботов до живых людей за 30 рублей, которые сбивают аналитику конкурентов. Капча, JWT, fingerprinting — всё это работало, но теперь спамеры стали умнее. Наш новый подход — система смягчения: заявка всегда принимается, спамер уходит удовлетворенным, но бизнес не получает мусор.
Читать далееСобрали гайд по работе с Git для новичков.
Разберём, как Git хранит изменения, какие команды нужны для базовой работы с репозиторием и ветками и какие ошибки чаще всего допускают новички. Все команды показываем на примерах в терминале, чтобы их можно было сразу попробовать.
Сохраняйте и пользуйтесь.
Читать дальше →Эта статья про нюансы распознавания кириллицы в коде, и про волшебные файлы, которые не понимают, в какой они кодировке, и ломают работу в коде.
В этой статье разберём, как файл «притворялся» что он Macintoch, хотя был Windows-1251, и какую проверку пришлось из-за этого дописать поверх стандартного Encoding.GetEncoding(cdet.Charset);
Что за битые кодировки?С конца нулевых в ИТ-кругах ведутся разговоры о социально ориентированных облачных хранилищах, призванных усилить контроль пользователей над своими данными. Мы в Beeline Cloud решили взглянуть на «альтернативные модели управления данными» — например, как выглядит профсоюз владельцев данных и для чего он нужен — и обсудить, почему такие форматы (пока еще) не получили широкого распространения.
Читать далееПеревод статьи Лорелея Уитмен, RevenueCat
Ключевые выводы из крупнейшего в мире набора данных о подписочных приложениях
Краткое содержание
Рынок подписочных приложений быстро меняется. Старые приложения по-прежнему доминируют по доле выручки, но новые каждый день наводняют cторы. ИИ-приложения «умирают» быстрее, чем успевают выходить, а зона безопасной выручки для среднего приложения стремительно исчезает. «Выживания» больше нет: либо процветаешь, либо выгораешь.
Каждый год наш отчёт «Состояние подписочных приложений» ставит целью понять, что меняется в индустрии: что нового, что ушло в прошлое и что нас ждёт. В этом году наш набор данных снова вырос: более 115 000 приложений, представляющих более 16 миллиардов долларов выручки. И мы проанализировали данные по всем 115 тысячам из них.
Если вы думали, что прошлогодний отчёт был исполином, отвернитесь сейчас. В этом году мы подготовили 338 страниц, готовых дать вам любую метрику, ориентир или тренд, который только может понадобиться.
Если перефразировать слова Дэвида Барнарда: «Есть много приложений, которые зарабатывают много денег».
Но если у вас (как это ни удивительно) нет времени читать каждую страницу полного отчета, то этот краткий обзор для вас. Начнем!
Читать далееВ этой статье мы разберём, как правильно загружать CSV в Apache Spark — распределённую вычислительную систему, ставшую стандартом для обработки больших данных. Это первый и самый важный шаг в знакомстве с API Spark и основа для любой последующей обработки.
Читать далееПредположим, что вам нужно делать тесты для учащихся или студентов (или даже для себя). Предположим, что их нужно делать много. Действительно много. Можно использовать традиционный ручной труд. Сидеть, придумывать вопросы, подбирать варианты ответов. Повторять по кругу, пока не надоест. Но мы же в XXI веке живем. Явно должны быть способы упростить задачу. Автоматизировать ее.
У меня возникла такая необходимость. Но навыки недопрограммиста подталкивали мысли в сторону написания каких-нибудь скриптов для решения задачи с меньшими усилиями. С другой стороны, зачем в такой, не очень уж и сложной, ситуации писать что-то самому? Если очевидно, что задача как раз для генеративного искусственного интеллекта. Да и опыт его использования в учебном процессе уже имеется. Как дополнительного инструмента, не подумайте чего плохого. Поэтому вооружаемся NotebookLM, Gemini, Google Drive и Google Apps Script и в путь автоматизации создания тестов для обучения. Тем более, тесты пригодятся не только для преподавателей, но и для тех, кто активно занимается самообразованием.
Читать далее!WARNING! Статья заражена спойлерами ко всей франшизе Resident Evil сильнее, чем Раккун-Сити Т-вирусом. Будем разбирать детали и возможные твисты без жалости, держу в курсе.
Пока кто-то уже успел пройти, а некоторые только открывают для себя эту прекрасную игру, игроки уже нашли множество интересных деталей и пасхалок. Capcom поработали на славу не только в игровых механиках и сюжета, а ещё в мельчайших деталях, которые среднестатистический игрок вряд ли мог даже заметить без инструментов от мододелов.
Я сам решил проверить несколько деталей во время повторного прохождения и был по-настоящему шокирован, потому что увидеть и искать такое самому действительно завораживает. И теперь я как раз и хотел бы рассказать об этих любопытных находках, от которых у многих игроков уже мурашки по коже, более того они помогают представить то, что будет происходить в дальнейшем будущем серии. Меня действительно удивляло то, что несколько вещей, которые обычный игрок однозначно пропустит, имеют довольно большой вес не только для самой игры, но и для дальнейшего развития событий в целом.
Сегодня с вами Женя из Plati.market! И давайте же рассмотрим поближе эту картину, которую для нас создали Capcom и заглянем за кулисы происходящего кошмара…
В прошлой статье я показывал CodeClone как инструмент для поиска структурного дублирования в Python-коде. Не только буквальной копипасты, но и повторяющихся функций, похожих блоков и одинаковых контрольных конструкций.
За это время проект заметно изменился. Если раньше это был в первую очередь детектор клонов, то 2.0.0b1 — уже скорее инструмент для контроля структурного здоровья проекта в CI.
Читать далееБольшинство проблем в инженерных командах пытаются решать через процессы.
И какое-то время это работает. А потом внезапно процессы начинают тормозить, решения замедляются, управляемость падает.
И чем больше "улучшаешь", тем хуже становится.
За последние несколько лет я пересобрал своё понимание управления и понял, что проблема чаще не в процессах. В статье разбираю, где именно ломается "правильное управление" и какие операционные модели реально стоят за этим.
Плюс даю реальные кейсы из практики и мой подход, который я сейчас использую: Miliutin Operating Model Framework.
Читать далееКогда смотришь на рой светлячков ночью, возникает довольно естественный вопрос: как они вообще понимают, когда нужно вспыхнуть? Почему через некоторое время хаотичные вспышки вдруг начинают напоминать согласованное поведение?
Читать далееПочему требований нет (и это нормально).
Думаю, каждому читателю-тестировщику знакома картина, когда ты приходишь на работу, завариваешь кофе, садишься за Jira, а там на тест упала задача, в которой из контекста только название. Причем что-то вроде «Улучшить авторизацию».
Требования очень редко полностью попадают под характеристики...
Читать далееВ этой статье продолжаем онлайн‑дневник экспериментов с TAPe‑подходом к компьютерному зрению на COCO. Кратко: подняли точность до ~98% на двухпроцентной выборке, уменьшили количество ложных срабатываний и начали переход от поиска центроидов к детекции прямоугольников вокруг объектов.
Скорее узретьКак из таблицы истинности и четырёх битов родился семисегментный дешифратор? Разбираем два способа синтеза логических выражений, минимизацию и сборку в Digital Deeds. Спойлер: ни одной готовой микросхемы, только логика и желание понять, как это работает внутри.
Читать далееНаверное, каждый из нас так или иначе сталкивался с пусковым током какого-либо импульсного блока питания, когда подключал его к сети. В этот момент возникал характерный щелчок, а иногда даже проскакивала искра между контактами вилки и розетки. А у кого-то возможно даже выбивало автоматический выключатель. А кто-то поменял 10 светильников с лампой накаливания на 10 светодиодных светильников и у него стало выбивать автомат, хотя потребляемая мощность светильников даже стала меньше… Почему же так происходит? Почему выбивает, а иногда нет, казалось правильно с запасом выбранный автоматический выключатель? Давайте попробуем разобраться вместе…
Читать далееМы часто думаем, что плохой интерфейс — это про кнопки, цвета или сетку. Но чаще он ломается не из-за пикселей. А из-за того, что дизайнер не учитывает, как на самом деле работает мозг.
Пользователь — не машина. Он устает. Спешит. Тревожится. Делает выводы на основе первых впечатлений.
И вот здесь включаются когнитивные искажения. Разберём 5 самых опасных для UX.
Читать далееКадровые решения часто ломаются не потому, что у компании нет данных о людях, а потому что HR, руководители и собственники говорят о них на разных языках. Разбираю, почему оценка сама по себе не решает проблему, где именно теряется смысл между профилем и бизнес-решением и зачем компании на самом деле нужна HR-аналитика.
Читать далееВ этой короткой статье я расскажу, как определить IP-адреса, которые использует Telegram. А что делать с этой информацией дальше - решайте сами.
Мне нужно было автоматизировать блокировку богоненавистного Telegram в своей сети. Сначала я пытался блокировать его по всем известным доменам: это давало лишь частичный эффект, а в последний месяц такой способ практически перестал работать. Публичные IP Telegram не помогли и я решил, что хватит это терпеть.
Читать далееВ статье показан практический подход, который помогает сократить время на вёрстку, убрать лишние вопросы и сделать дизайн понятным без дополнительных объяснений. Если вы сталкивались с ситуациями, когда разработчик «не так понял макет», сроки вёрстки дизайна часто переносятся, коммуникация отделов дизайна и разработки хромает — этот материал для вас.
ЧитатьПривет, Хабр! Меня зовут Вадим Кондаратцев, я руковожу ИИ-направлением в Friflex и небольшой ИИ-лабораторией в МГТУ им. Баумана. Последние 10 лет работаю на стыке ML, HPC и Edge Computing, преподаю машинное обучение и примерно раз в день запускаю что-нибудь на суперкомпьютере.
Это расширенная версия моего доклада на CrossConf 2025 про мой опыт применения синтетических данных в проектах, которые связаны с интеграцией систем машинного обучения в промышленности и науке. Если интересно посмотреть, какая бывает синтетика и что она позволяет покрыть, прошу под кат.
Читать далее