Python. Выражения в методах и индексаторах
Если вам когда-нибудь приходилось работать с NumPy, то вы скорее всего знаете, что в индексатор массива можно передать не только индексы начала, конца, и шага. Потрясающая возможность - получить срез массива по некоторому условию, в виде data[data > 0]
предает массивам NumPy некоторое сходство с СУБД.
Тут же можно вспомнить про SqlAlchemy и возможность передать в функцию filter
некоторое условие для отбора записей session.query(MyModel).filter(MyModel.field == 10)
.
Отличные, в общем-то возможности, не так ли? Не возникало ли у вас вопроса как они работают внутри? data > 0
и MyModel.field == 10
с точки зрения грамматики языка являются выражениями, и при передаче куда-либо Python попытается вычислить их значения. Попробуем разобраться как это работает.
Разработка в собственном соку или как мы поняли, что занимаемся не тем, что нужно пользователям
В части создания одной из наших технологий мы, разработчики Macroscop, относились к таким компаниям: на протяжении 6 лет работали над функцией, которая, по нашему мнению, должна была сделать жизнь тысяч людей проще и удобнее.
В 2008 году у нас родилась идея максимально упростить процесс поиска в архивах видеосистем. Представьте среднего размера систему из 100 видеокамер и примерно 1000 часов видеозаписей, которые они оставили за сутки (обычно запись видео производится только когда есть активность в кадре). И вам нужно найти что-то в этих записях, но вы не знаете, где и когда это происходило. Вы будете просматривать записи час, второй, третий, и к моменту, когда найдете то, что нужно, проклянете все на свете.
Мы решили создать инструмент, который позволит искать по видео так же, как Google ищет по тексту:
Как Ларри Пейдж изучал Java
Пейдж никак не мог добиться нормальной работы краулера и индексатора из-за большого количества багов в коде и ещё по причине использования нового и нестабильного языка Java. Система всё время падала и не годилась для реальной работы. В архивах ньюс-группы comp.lang.java за 1996 год сохранились вопросы Пейджа. Он пытается выяснить у знающих людей, как назначить User-Agent для заголовка HTTP.
Анализ внешних ссылок в MegaIndex и обновление алгоритма закупки
Спешим поделиться новыми аналитическими возможностями, которые мы добавили в сервис анализа.