__subclasshook__
— один из моих любимых элементов Python. Абстрактные базовые классы (ABC — Abstract Base Class) с помощью __subclasshook__
могут указывать, что считается подклассом ABC, даже если целевой класс не знает об ABC:
User
Самодельный стратостат. Полётный план и ОрВД
Настало время поговорить про легализацию запусков самодельных стратостатов с целью обеспечения безопасности воздушного движения. Многие считают, что это сложно, вплоть до "невозможно" для обычных граждан, но это не так. Сейчас мы с вами всё быстренько оформим.
Python и Ruby под нагрузкой: высокое искусство некромантии
Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатывая тысячи веб-запросов в секунду и не порождая необходимости писать свой компилятор PHP или переходить на Go или Rust.
Я расскажу про специфику Ruby и Python при высоких нагрузках, про их мейнстрим, который вы можете встретить в выживших проектах. Я не буду и не хочу говорить про спортивное программирование, где делают миллион запросов в секунду на одной ноде, выжигая из Python или Ruby всё и оставляя голый С. Python и Ruby действительно медленные, у них есть GIL, но при правильном использовании это не проблема, а статья расходов — и я расскажу, что мы можем получить за эти деньги.
Если вы предпочитаете слушать или смотреть (у меня там забавные крылья!) — видео моего выступления на конференции HighLoad++ Весна 2021.
Marshmallow vs. Pydantic: две лучшие библиотеки для сериализации и валидации данных на Python
Сериализация и десериализация данных — это преобразование между необработанной структурой данных и экземплярами классов для их хранения и передачи. Например, преобразование объектов Python в JSON-представление. Мы рассмотрим две популярные Python-библиотеки Marshmallow и Pydantic, которые помогут нам справиться как с преобразованием, так и с валидацией данных. Сначала я представлю вам каждую библиотеку, используя небольшие примеры, а потом мы сравним их и разберем различия. Я также расскажу, чего вам стоит избегать при работе с обеими библиотеками.
Ответ HR-девицам
HR, позволь тебе ответить
С высот айтишника седин:
Ты знаешь, прогеры — не дети,
Мы не последний хрен едим.
Неотправленное письмо боссу в кровавом Enterprise
Хоть я и интроверт, но с soft skills у меня неплохо. Поэтому я стараюсь придерживаться принципа:
True wisdom: 1. Having a lot to say. 2. Not saying it.
Вариацией пункта 2 являются неотправленные письма менеджерам. Для ускорения процесса они пишутся в голове. Однако иногда хочется поделиться рассуждениями, чтобы не держать все в себе.
Скука, чрезмерная стимуляция и ничегонеделание — разбираемся, что к чему, и отдыхаем без чувства вины
Иногда и правда лучше ничего не делать, но как вычислить момент и не упустить его? Обсудим, что дает серьезное отношение к бесполезной трате времени в «режиме залипания».
Наша огромная гордость: мирные советские роботы-комбайны убрали первый урожай в южных регионах
А ведь в прошлом году это делали senior-разработчики.
Возможно, вы помните, что мы говорили про то, как можно сильно улучшить работу обычного сельскохозяйственного комбайна, если использовать нейросетки для распознавания культур и препятствий и робота для автопилотирования. Всё это (кроме процессоров Nvidia и ещё части железа) — наша разработка. А радость в том, что в некоторых южных регионах страны закончилась уборочная страда, и наши комбайны показали себя лучше, чем ожидалось. Слава роботам!
В этом году мы поставили несколько сотен блоков из мощного графического ядра (для нейросетей), камер, гидравлических насосов или CAN-модулей для подруливания. Если в прошлом году агропилоты были в опытной эксплуатации, то сейчас речь идёт уже про серийные модели. И они справились.
Более того, они справились лучше, чем мы ждали. Кроме того, в релиз вошли далеко не все фичи. В релизе осталось, по сути, ядро, но одно только это позволило получить очень заметный экономический эффект.
Конечно, обошлось не без сюрпризов. Но давайте расскажу более конкретно, с числами и примерами.
Ультимативный гайд по поиску утечек памяти в Python
Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.
Повышаем эффективность работы из дома, или как шевелить мышкой на Pi Zero
Пишем эмулятор мыши и клавиатуры на Raspberry Pi Zero (W)
Мелкая питонячая радость #10: конечные автоматы и глубокое обучение в несколько строк
Конечно, самая большая радость этих дней — python 3.9. Но кроме этой радости кто-то должен ворошить github в поисках мелких приятностей, которые несут добро и свет тем, кто пишет на python.
Transitions
Тем, кому приходилось писать реализацию какого-нибудь сложного информационного процесса, знает эту проблему.
У вас есть некий объект, который может находиться всегда только в одном состоянии.
Переходы между состояниями описываются диаграммой состояний — из какого в какое состояние объект может перейти, а из какого в какое — не может.
Как плохо спроектированный UX у теста на коронавирус чуть не посадил нас на самоизоляцию, но дырка в безопасности спасла
Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию.
Как все начиналось
Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Чтобы не сесть на карантин в Хорватии, нужно иметь справку об отрицательном анализе на ковид, сделанном не позже 48 часов до въезда.
Выяснили, что относительно выгодно (2500 рублей) и быстро (всем результаты приходят в течение 5 часов) делают тест в аэропорту Стамбула, из которого мы как раз и вылетали.
4 года игры в танчики
Доброго времени суток, дорогой читатель!
Сегодня я хочу поведать тебе забавную, ещё не закончившуюся историю странных совпадений, побед и поражений, радости и смуты. Если интересно как создавался, возможно, один из самых маленьких в мире "умных" (а не просто р/у) танков как на КДПВ, а так же при чём тут IoT, PHP и Angular - прошу под кат!
Как мы первыми в мире роботизируем кормоуборочные комбайны
Начинается уборка кормовых культур и мы активно осваиваем кормоуборочную технику.
Кормоуборочный комбайн – технически более сложная и мощная машина. В связке с ним идут сразу несколько транспортных средств для сбора урожая (трактора с прицепом, грузовики, силосовозы). К работе на такой технике допускаются только опытные механизаторы, у которых за спиной несколько лет работы.
Работа на комбайне во время уборки кормовой кукурузы похожа на езду в машине в густом тумане, только вместо тумана на протяжении всего пути высокая зеленая стена из растений, из которой может выскочить кабан, столб или человек. Перемолов человека (история есть в моей прошлой статье), комбайнеры седеют и больше не могут работать. Кроме этого, в этом «зеленом тумане» надо суметь не врезаться в рядом едущий силосовоз, следить за точностью загрузки силоса с хоботом длиной до 7 метров, из которого вылетает по 50-60 кг силоса в секунду, и равномерно заполнять фургон, чтобы он не гонял полупустым туда сюда.
Фактически один комбайнёр работает за троих, следит за процессом уборки кукурузы (одно рабочее место), ведёт технику (второе рабочее место), загружает силосовоз (третье рабочее место). В итоге что-то страдает. Если плохо вести, можно сломать дорогую технику (минимальная цена кормоуборочного комбайна 16 млн рублей, есть модели и по 50 миллионов), поэтому обычно ухудшается качество уборки и загрузки.
Большую часть работы мы автоматизируем, сейчас расскажу какие сложности мы преодолеваем и что делаем.
Ядерное наследие первенца атомной энергетики СССР
Белоярская АЭС. На переднем плане первая очередь станции с реакторами АМБ. Источник.
Красиво? Очень! Как мы написали приложение для визуализации аттракторов
Некоторые аттракторы завораживают своей красотой даже на статических картинках. Мы захотели сделать приложение, которое сможет визуализировать большинство аттракторов в динамике, в 3D и без лагов.
Обзор системы дистанционного электронного голосования ЦИК РФ
Для знакомства с новой системой электронного голосования и понимания того, какую роль в ней играет технология блокчейн и какие еще компоненты используются, мы начинаем серию публикаций, посвященных основным техническим решениям, применяемым в системе. Начать предлагаем по порядку — с требований к системе и функциям участников процесса
Обновление версий PostgreSQL, или Как не уронить базу при update?
Видеоаналитика в нефтехимии
Как мы уже неоднократно писали, наши объекты — это довольно большие производства, как с точки зрения занимаемой площади, так и количества различных установок и узлов. Чтобы всё это работало и не возникало каких-то ситуаций, способных вызвать остановку производственного процесса, за каждым узлом нужно следить. Поэтому у нас есть и специальные люди, которые этим занимаются, и приложение для мобильных обходов, которое существенно упрощает этим людям жизнь.
Отдельно здесь стоит рассказать про видеоаналитику. Она может решать разные задачи — повышать качество продукции благодаря автоматическому контролю и отбраковке, помогать исключить внезапные остановы производственных линий, своевременно предупреждая оператора о необходимости вмешаться, контролировать соблюдение правил промышленной безопасности, что для промышленного объекта является задачей номер один. Что в принципе можно анализировать, просматривая видео с объектов (и нужно ли его просматривать), как видеоаналитика помогает экономить время и средства, на чем у нас все работает — об этом под катом.
Сравниваем работу open source Python — библиотек для распознавания именованных сущностей
Введение
Мы в компании создаем сервис, который позволяет автоматически создавать, управлять и безопасно хранить лицензионные соглашения и прочие договоры между фрилансерами и их клиентами.
Для решения это задачи я опробовал десятки решений в области обработки естественного языка, в том числе решения с открытым кодом и хотел бы поделиться опытом работы с open source Python — библиотеками для распознавания именованных сущностей.
Распознавание именованных сущностей
Несколько слов о самой проблеме. Named Entity Recognition (NER) — это направление технологии обработки человеческого языка, программная реализация которой позволяет находить в речи и тексте опредмеченные категории слов и словосочетаний. Сначала это были географические наименования, имена людей, организаций, адреса, однако в настоящее время это понятие сильной расширилось и с помощью NER мы ищем в тексте относительные и абсолютные даты, числа, номера и т.д.
Выявление именованных сущностей — это «ворота» в человеческий язык, оно позволяет выявлять и обрабатывать намерения человека, устанавливать связи слов в его речи и реальным миром.
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity