Как стать автором
Поиск
Написать публикацию
Обновить
417.19

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Видеоcъемка и фотосъёмка на Raspberry pi в облако

Время на прочтение4 мин
Количество просмотров9K

Здравствуйте дорогие читатели моего блога.

Сегодня статья посвещана организации процесса фото - и видиосъёмки с микрокомпьютера Raspberry pi с последующим сохранением данных в облако в атоматическом режиме.

У меня стояла задача создать систему фото- и видеонаблюдения за птицами у кормушки. 

Так как кормушка у меня находилась во дворе дома, то я решил собрать устройство на базе raspberry pi с подключённым проводным интернетом.

Это было сделано на случай, если влага или другие погодные условия выведут электронику из строя, то весь видео и фотоматериал останется в облаке.

В качестве оборудования я использовал:

Raspberry pi 3 B +

7 дюймовый сенсорный дисплей для микрокомпьютера

Pi camera

клавиатура, мышь

LAN провод 20 метров

удлинитель и блок питания (преобразователь 5В и 2А)

Читать далее

Транзакционное юнит-тестирование приложений с БД

Время на прочтение6 мин
Количество просмотров9.9K

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

В этой статье я хочу провести обзор разных способов юнит-тестирования приложения с БД и рассказать о способе, который я не видел в русскоязычном сегменте интернета. Статья будет посвящена Python 3, pytest и ORM-фреймворку SQLAlchemy, но методы переносимы на другие инструменты.
Читать дальше →

Делаем Telegram бота с Админ-панелью и многими другими плюшками. Часть 2

Время на прочтение5 мин
Количество просмотров67K

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

Давайте продолжим?

Делаем Telegram бота с Админ-панелью и многими другими плюшками

Время на прочтение3 мин
Количество просмотров53K

Всем привет! Так как это моя первая статья и я не знаю что да как делать, буду писать как знаю.

Сегодня хотелось бы Вам рассказать как легко сделать своего Telegram бота на очень популярном Языке Программирования - Python. Статья будет в двух частях, в первой мы установим Python и все необходимые компоненты и напишем самого простого бота, во второй Напишем основную логику бота. Если Вы не новичок можете листать вниз, так как тут будет много знакомой вам информациию.
Не буду томить долгим вступлением, давайте начнем

Написать своего бота

Обходим файловый кэш Google Drive в Colab

Время на прочтение2 мин
Количество просмотров9.9K

Про colab знают, наверное, все. Этот инструмент позволяет независимым исследователям использовать облачную инфраструктуру с GPU и TPU бесплатно или почти бесплатно.

Как всегда, проблемы возникают на больших данных. Если ваш датасэт лежит в google drive (он же Диск), то вы можете обращаться к нему напрямую из colab. Однако, если файл велик, например, 70+ GiB, то процесс обучения будет существенно медленнее, чем если бы этот же файл лежал в локальном хранилище, которое выделяется при создании инстанса.

Выход - скопировать файл с Диска в локальное хранилище (обучение станет быстрее в несколько раз!). Но дело в том, что colab и вся инфраструктура очень умная, файлы с Диска кэшируются каким то неуправляемым вами алгоритмом. И если у вашего инстанса, допустим, доступно ~120 GiB, то 70 GiB с Диска вы не скопируете, у вас закончится свободное место как раз из-за системы кэширования. То есть, команда cp не отработает корректно. И rsync то же. И tar. Кэширование работает на уровне драйвера. По сути файл копируется в локальное хранилище дважды. Шах и мат!

Так что вот вам небольшой костылёк:

Читать далее

Как увидеть производную

Время на прочтение4 мин
Количество просмотров14K

Начнём с повторения математических терминов и нескольких опций питона. В питоне мы будем использовать черепашку, а также модуль математических функций math. От черепашки понадобятся:

Читать далее

Сравнение быстродействия def и lambda функций. Так все таки быстродействие или читабельность?

Время на прочтение6 мин
Количество просмотров13K

Читая pep8, я наткнулся на пункт об использовании анонимных функций - по версии пепа, они снижают читабельность, если использовать переменную с значением функции как функцию, лучше использовать def. Я решил сравнить def и lambda по другому параметру - быстродействию. Я предполагал, что lambda, заточенный под однострочники , будет быстрее выполняться и создаваться. В этом исследовании я это проверю.

Читать далее

Новогодний детектив: странный хайзенбаг в «питоньих» часах

Время на прочтение8 мин
Количество просмотров15K


Давненько я не писал на Хабр, да и тема интересная появилась, так что пора поправить это постыдное упущение.


Далее собственно детектив как оно есть, "расследование" которого ещё не окончено, можно присоединиться кстати… Пост будет обновляться, по окончанию (я надеюсь что баг таки найдётся) пост изменит название получив префикс "[SOLVED]"...
Продолжение и надеюсь окончание истории см. в этом посте.


Постучался тут человечек на GH, с ошибкой типа "Fail2ban ведет себя как-будто он временами в будущем". Первой мыслью было — что опять! ну снова кто-то во временных зонах потерялся.
Но нет, всё оказалось несколько хуже — иногда, редко, Fail2ban пишет в логи дату из 2023-го года.
И не только пишет, а по всей видимости действительно начинает считать что он где-то в 2023-м, со всеми вытекающими — снятием бана для блокированных адресов по истечению срока действия и т.д. и т.п.
Причем делает это для всех потоков, а чуть позже возвращается в 2021-й, чтобы позднее снова на короткое время прыгнуть в 2023-й и так снова и снова.

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

TalkPython: лучшие пакеты Python по итогам 2021 года

Время на прочтение14 мин
Количество просмотров23K

На КДПВ в гостях у TalkPython вы видите Гвидо ван Россума — создателя Python, Марка Шеннона, план ускорения Python в 5 раз за 4 года и, конечно, автора подкаста. А мы делимся подборкой пакетов Python, о которых шла речь в выпусках за уходящий год.

Читать далее

Как мы распознаем фото документов пользователей. Часть II

Время на прочтение11 мин
Количество просмотров7.8K

В прошлой статье я кратко описал методы и подходы, которые мы используем в inDriver при распознавании фото документов. Во второй части подробно опишу архитектуру CRAFT и CRNN, а также варианты их использования. Прошу под кат!

Читать далее

Django Rest Framework для начинающих: как работает ModelSerializer

Время на прочтение11 мин
Количество просмотров49K

В предыдущих статьях мы подробно разобрали работу сериалайзера на основе классов BaseSerializer и Serializer, и теперь мы можем перейти к классу-наследнику ModelSerializer.


image


Класс модельных сериалайзеров отличается лишь тем, что у него есть несколько инструментов, позволяющих сократить код сериалайзера:


  • автоматическое создание полей сериалайзера на основе данных о корреспондирующих полях модели;
  • автоматическое включение в поля сериалайзера тех же валидаторов, которые есть в полях модели, а также при определённых условиях метавалидаторов;
  • заранее определённые методы create и update.

Общие принципы работы модельного сериалайзера как на чтение, так и на запись идентичны тому, как работает базовый класс Serializer.

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

Почему я перешёл с Python на Go: choose your fighter

Время на прочтение8 мин
Количество просмотров62K
Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-разработчиков — изи катка для входа в профессию. 

В один момент мне написали из Ozon: «П̶с̶с̶,̶ ̶п̶а̶р̶е̶н̶ь̶,̶ ̶п̶о̶к̶о̶д̶и̶т̶ь̶ ̶н̶а̶ ̶G̶o̶ ̶н̶е̶ ̶х̶о̶ч̶е̶ш̶ь̶?̶ Предлагаем переход на Golang с текущего стека, обучение за счёт компании».

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


Среди разработчиков бытует мнение, что язык вторичен. Мол, главное — уметь в computer science, а на чём писать — не так уж важно. Но так считают хардкорные разработчики, они вертят деревья, смотрят на всех свысока и зарабатывают 300кк в наносекунду. Я же программист-полукровка (без высшего технического образования, а ещё мои родители — маглы) и считаю, что смена языка — важный шаг и нужно хорошенько прикинуть, прежде чем в это вписываться. Будем откровенны, если у вас за плечами десять лет на плюсах, вряд ли вам предложат должность senior iOS-разработчика на Swift. Проблема в том, что каждый язык имеет свои особенности и на их изучение требуется время.
Читать дальше →

Фонд золотых цитат: как сгенерировать стикеры из сообщений в Telegram

Время на прочтение8 мин
Количество просмотров30K

Все началось с одной из учебных групп в Telegram. Студенты там очень любят делать стикеры из сообщений своего преподавателя. Я выяснил, что делаются они в полуавтоматическом режиме: сообщение пересылается в бота, который рисует «пузырек» сообщения, а результат пересылается в официального стикер-бота.

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

Ближайшие события

CV. Изменение спектра для повышения точности решения

Время на прочтение3 мин
Количество просмотров1.5K

Как-то один школьник, назовём его Лёша (персональные данные наше всё) решил освоить Computer Vision (далее CV). В качестве практической задачи он решил, что подойдёт задача поиска по контуру и определения дерева. Картинок разных деревьев он в прошлом году скачал много, когда готовил выступление по ESG. В прошлом году учитель на уроке «внеклассного» английского, рассказывал про направление Environmental, Social, and Corporate Governance[1]. Потом каждый брал себе тему доклада перед классом, Лёша рассказывал, сколько кислорода какое дерево производит, полезно, при выборе чем озеленять территорию предприятия.

ИТАК

Опыт применения теоремы о свертке с использованием scipy.fft

Время на прочтение4 мин
Количество просмотров9.6K

Небольшая заметка о быстром вычислении свёртки одномерных и двумерных функций на основе быстрого преобразования Фурье с использованием пакета SciPy.

Читать далее

Выбираем быстрый детектор людей в 2021

Время на прочтение3 мин
Количество просмотров6.9K

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

Поэтому решил почитать про самые актуальные методы и пощупать их руками. На примере футбольной картинки получил несколько неожиданные результаты.

Читать далее

Как мы оптимизировали i-запросы, а нашли неточности в документации Django

Время на прочтение9 мин
Количество просмотров9K

В современных веб-приложениях большинство запросов к базе данных пишется не на сыром SQL, а с использованием объектно-реляционного отображения (ORM). Оно автоматически генерирует SQL-запросы по привычному объектно-ориентированному коду. Однако эти запросы не всегда оптимальны,  и с  ростом нагрузки на веб-приложение встает вопрос их оптимизации. Как раз в ходе такой оптимизации наша команда обнаружила, что документация Django с нами не совсем честна.

Читать далее

Тестирование GraphQL: подходы, инструменты, автоматизация

Время на прочтение13 мин
Количество просмотров21K

Несколько месяцев назад на моем пути возник GraphQL.

Это произошло, когда я присоединилась к одному из наших проектов, где был не только привычный REST, но и GraphQL API. Это было моё первое знакомство с ним. Я понятия не имела, что он собой представляет, в чем его особенности, а самое главное для меня, как QA инженера – не знала, как его тестировать. 

Ниже я расскажу, что делала я, с какими проблемами сталкивалась, с чего можно начать и что важного и особенного надо знать про GraphQL для успешного тестирования как руками, так и с помощью автотестов. Вполне вероятно, что это поможет и вам разобраться в данном вопросе.

Читать далее

Работа с госзакупками Казахстана и Узбекистана: туториал со скрепером

Время на прочтение14 мин
Количество просмотров2.8K

Недавно пришлось познакомиться тесно с порталами государственных закупок Казахстана и Узбекистана в рамках Школы Данных . Мы (авторка поста, разработчик скрепера и журналисты) исследовали тему "доступной среды" (удобная инфраструктура для людей с инвалидностью) и столкнулись с необходимиостью написать скрепер, которые бы скачивал данные по ключевым словам.

Читать далее

Новогодняя ёлочка на рабочий стол

Время на прочтение9 мин
Количество просмотров14K

Всех с наступающими праздниками! Надеюсь, каждый отдохнёт и восполнит силы за праздничные дни, а не будет зависать за очередными багами/фичами/обновлениями!

Помню, лет так 12 назад, когда я был ещё школьником, у всех моих знакомых стояла windows XP. И в моменты нового года у нас была традиция, скачать на каком-нибудь сайте новогоднюю ёлочку, которая запускается отдельной программой и просто на рабочем столе (либо на любом другом окне, если её открыть поверх окон) играет гифка с этой ёлочкой. Мелочь, но к новогоднему настроению она давала в те года +100 очков.

Если раньше такую штуку приходилось искать, где скачать, то теперь пришло время сделать всё самому.

Приступим к написанию своей версии "ёлочки"

Ознакомиться

Вклад авторов