Все потоки
Поиск
Написать публикацию
Обновить
426.86

Python *

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

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

HTTP атака на Azure

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

Будем ломать веб-сервер и закидывать его пачками HTTP запросов. Потихоньку заполнять всё вокруг HTTP-флудом и наблюдать полнейшую деградацию. Готовься Azure, будет не до смеха!

Читать далее

Маленькие Python для маленьких embedded-программистов: CircuitPython и MicroPython для MeowBit

Время на прочтение7 мин
Количество просмотров16K
На Хабре уже немало писали про обучающий микрокомпьютер BBC micro:bit, который в 2016 раздали всем британским школьникам, и сейчас он продаётся по $15. С прошлого года появились в продаже и micro:bit v2, в которых ОЗУ расширена с 16 КБ до 128 КБ. Неизменным остался форм-фактор: две кнопки для ввода, матрица 5х5 светодиодов для вывода, всё что сверх этого – подключайте через 25-контактный edge connector. Очевидно, что создатели задумывали micro:bit не как самостоятельное устройство, а как «мозг» для более сложного проекта со внешними датчиками, индикаторами, релюшками, сервоприводами и т.п. – этакий «детский Arduino».

Энтузиасты из Шэньчжэня, взявшие себе название KittenBot, решили заполнить пустующую нишу «обучающий микрокомпьютер, который как micro:bit, но со всем необходимым для нескучных проектов — уже внутри». Их плата MeowBit, выпущенная в 2018, стоит $40; сохраняет edge connector, совместимый с micro:bit; и добавляет четыре кнопки-«джойстик», полноцветный TFT-экран 160х128, динамик, и силиконовую оболочку с отсеком для аккумулятора – всё, что нужно для создания мини-«геймбоя» размером с кредитную карточку. У MeowBit 96 КБ ОЗУ – до выхода micro:bit v2 это было ещё одним его существенным превосходством – и 2 МБ флеш-памяти, по сравнению с 256 КБ у micro:bit v1 и 512 КБ у micro:bit v2. Игры для MeowBit можно писать на MakeCode Arcade (диалект Scratch от Microsoft), Kittenblock (собственный диалект Scratch от KittenBot), или на MicroPython. На сайте KittenBot есть туториалы по использованию этих трёх языков, но весьма бедные, и увы, только на китайском.



MicroPython создавался для тех, кто привык программировать микроконтроллеры на Си, но хотел быиспользовать при этом синтаксис Python.
Читать дальше →

Cобеседование на позицию стажера в Яндекс на аналитика данных

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

Всем привет! Целью данного поста является:

1) Поделится личным опытом.

2) Помочь другим кандидатам при подготовке к собеседованию.

Читать далее

Перегон картинок из Pillow в NumPy/OpenCV всего за два копирования памяти

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

Стоп, что? В смысле «всего»? Разве преобразование из одного формата в другой нельзя сделать за одно копирование, а лучше вообще без копирования?

Да, это кажется безумием, но более привычные методы преобразования картинок работают в 1,5-2,5 раза медленнее (если нужен не read-only объект). Сегодня я покопаюсь в кишках обеих библиотек, расскажу почему так получилось и кто виноват. А также покажу финальный результат, который работает так же, только быстрее. Никаких репозиториев или пакетов не будет, только рассказ и рабочий код в конце. Но давайте обо всём по порядку.

Читать далее

PySpark. Решаем задачу на поиск сессий

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

Добрый день уважаемые читатели! Несколько дней назад перечитывая книгу Энтони Молинаро “SQL. Сборник рецептов”, в одной из глав я наткнулся на тему, которая была посвящена определению начала и конца диапазона последовательных значений. Бегло ознакомившись с материалом, я сразу вспомнил, что уже сталкивался с данным вопросом в качестве одного из тестовых заданий, но тогда тема была заявлена как “Задача на поиск сессий”. Фишкой технического собеседования был не разбор выполненной работы, а один из вопросов интервьюера о том, как получить аналогичные значения с помощью Spark. Готовясь к собеседованию, я не знал, что в компании применяется (а может и не применяется…) Apache Spark, и поэтому не собрал информацию по новому на тот момент для меня инструменту. Оставалось лишь выдвинуть гипотезу, что искомое решение может быть подобно скрипту, который можно написать c помощью библиотеки Pandas. Хотя очень отдалено я все-таки попал в цель, однако поработать в данной организации не получилось.

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

Читать далее

«Умная камера» на базе Raspberry Pi с управлением через Telegram-бота

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

Привет, меня зовут Иван. Сразу отвечу на главный вопрос: почему стал собирать сам, а не взял готовое решение? Во-первых, стоимость готовых решений - Raspberry Pi со всеми датчиками и камерой вышла не больше $30, большая часть еще по курсу 60 рублей за доллар. Во-вторых, почти все части уже были - Raspberry Pi отдал брат, камера осталась еще с лохматых времен, диод тоже был - покупал для Arduino, а датчик движения на Aliexpress стоил не больше 100 рублей.

Читать далее

Как убедить гейм-дизайнера запустить тесты?

Время на прочтение10 мин
Количество просмотров4K
Полагаю, ни для кого не секрет, что в разработке игр участвует очень много специалистов, а не только программисты. Выпуск игры невозможен без художников, моделлеров, VFX-художников, и, конечно, гейм-дизайнеров. Кстати о последних. Мы их очень любим, но они часто ломают ресурсы. Не то чтобы они хотят это делать, но из-за особенностей работы им нужно делать много мелких правок, и шанс накосячить выше. И ведь множество ошибок — это тривиальные опечатки, недописанная или, наоборот, лишняя удалённая строка. Всё это можно исправить не отходя от кассы. Но как это сделать? Прописать в регламенте, что перед коммитом обязательно запустить %my_folder%/scripts/mega_checker? Мы проверяли — не работает. Человек — существо сложное и забывчивое. А проверять ресурсы хочется.

Но мы нашли выход — теперь нельзя закоммитить в репозиторий без тестов. По крайней мере незаметно и безнаказанно.


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

Как прикрутить нейросеть к сайту по-быстрому

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


В данном материале предлагается, приложив небольшие усилия, соединить python 3.7+flask+tensorflow 2.0+keras+небольшие вкрапления js и вывести на web-страницу определенный интерактив. Пользователь, рисуя на холсте, будет отправлять на распознавание цифры, а ранее обученная модель, использующая архитектуру CNN, будет распознавать полученный рисунок и выводить результат. Модель обучена на известном наборе рукописных цифр MNIST, поэтому и распознавать будет только цифры от 0 до 9 включительно. В качестве системы, на которой все это будет крутиться, используется windows 7.
Читать дальше →

Поиск нарушений на видео с помощью компьютерного зрения

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

Предположим, что данное нарушение возможно. Как же его выявить?

В нашем распоряжении имеются записи с камер наблюдения рабочего места сотрудника и журнал проведения операций.

Будем искать все моменты на записи, где отсутствовал клиент. В этом нам поможет нейронная сеть MobileNet и CSRT Tracker из библиотеки opencv. А для удобства еще и Tesseract-OCR.

Чтобы найти человека в кадре будем использовать нейросеть MobileNet. Данная сеть позволяет обнаружить и локализовать 20 типов объектов на изображении. Для ее работы необходимо скачать два файла: архитектуру и веса. Данные файлы можно найти в репозитории Github.

Перед написанием кода нам понадобится установка библиотеки компьютерного зрения cv2 и пакета для обработки текста на изображениях pytesseract. 

Читать далее

Делаем тесты частью приложения

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

Сегодня я собираюсь обсудить абсолютно новую для многих пользователей (особенно для питонистов) идею: интеграцию тестов в ваше приложение.

Итак, давайте начнем.

Читать далее

Читаем telegram-каналы в виде новостной ленты, часть вторая, с осмыслением

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

Недолго я радовался после публикации статьи о Телегрегаторе.

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

Я это списывал на не слишком подробную инструкцию по запуску, сбои в работе самого бота (о множестве существующих лимитов я узнал из недавней статьи), возможные ошибки пользователей.

Путем перекрестного опроса, чтением логов и раздумий пришел к выводу, что юзербот (а именно так, в соответствие со статьей выше, принято называть аккаунт телеграма, работающий в режиме бота) упёрся в лимит каналов (500 на аккаунт). Я не уточнял, приватных или публичных, да это и не важно. Юзер бот упёрся в них за день.

Читать далее

«Хитрый питон» Михаил Корнеев, Григорий Петров, Илья Беда и другие классные спикеры-тезисы выступлений на PyCon Weekend

Время на прочтение6 мин
Количество просмотров3.3K
Конференции PyCon – это способ присоединиться к дружной компании единомышленников. Общение с интересными и умными людьми, обмен опытом и возможность расширить круг профессиональных знакомств.

Участники пайкона не просто слушают доклады и «мотают на ус» лайфхаки и инсайты. Главное, для чего нужны офф-лайн конференции – это живое общение. А где еще можно сначала подискутировать со спикерами во время официальной части мероприятия, а потом обсуждать код за распитием кружки глинтвейна?

PyCon Weekend состоится уже через 2 недели (19-20 марта 2021). А пока мы попросили спикеров рассказать вам о своих докладах.


image

Михаил Корнеев
BestDoctor, создатель и автор канала «Хитрый питон» на You Tube


Тема доклада: как автоматические проверки помогают нам делать код лучше
«Как и любой растущий проект, мы столкнулись с несколькими проблемами:
— кода становится больше, он становится сложнее
— команда растет, приходят люди с разным опытом и привычками
— многие проблемы регулярно всплывают на код-ревью
Эти проблемы нельзя решить мгновенно и решить полностью, но за несколько лет в команде выработался хороший подход — если мы регулярно сталкиваемся с проблемой и ее проверку можно автоматизировать — нужно это сделать.
Подход не новый и кажущийся очевидным, но у многих команд просто не хватает времени, чтобы начать его внедрять. Я расскажу о том, как проверки устроены у нас, как начать внедрять с минимумом затрат и как сделать это частью процесса разработки»


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

Как ML помогает при аудите качества клиентского сервиса

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

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

Читать далее

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

Бесплатный удобный ETL инструмент с открытым кодом на основе Python — фантастика или нет?

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

Сегодня я хочу рассказать об open-source инструменте, который позволяет извлекать и очищать данные для широкого спектра задач. В этом посте речь пойдет о ViXtract, нашей собственной сборке открытых технологий для работы с данными. Под катом — рассуждения о том, каким должен быть идеальный ETL, рассказ о том, почему его лучше делать на Python (и почему это совсем не сложно), мысли о скриптовом и графическом подходе.

Читать далее

Мульти-классовое целе-вероятностное кодирование переменных (Multi-Class Target Encoding)

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

Что не так с TargetEncoder из category_encoders?

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

1.   Когда ошибается TargetEncoder?

Посмотрите на эти данные. Цвет - это особенность, а цель - это… цель. Наша цель - кодировать цвет на основе Target.

Теория и код >>>

Тестирование скриншотами

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

Здравствуйте! Сегодня хочу рассказать о нашем опыте тестирования скриншотами с использованием python, selenium, и Pillow.

Зачем? У нас был довольно большой (~1000) набор тестов на стеке python, pytest, selenium, которые отлично проверяли, что кнопки кликаются, а статистика отправляется (с использованием browserup proxy), но пропускали баги типа таких:  

Читать далее

Как за 60$ создать систему распознавания лиц с помощью Python и Nvidia Jetson Nano 2GB

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

Новый набор инструментов для разработчиков Nvidia Jetson Nano 2GB представляет собой одноплатный компьютер с графическим ускорителем стоимостью 59$, работающий под управлением программного обеспечения с искусственным интеллектом.

Производительность, которую вы можете получить от одноплатного компьютера за 59$ в 2020 году, просто потрясающая. Давайте попробуем использовать этот продукт, чтобы собрать простой вариант домофона, который будет отслеживать всех людей, подходящих ко входной двери вашего дома. С помощью алгоритма распознавания лиц система мгновенно узнает, приближался ли когда-нибудь в прошлом к вашей двери этот человек, даже если в прошлый визит он был одет по-другому.

Приятного чтения!

Книга «Глубокое обучение: легкая разработка проектов на Python»

Время на прочтение7 мин
Количество просмотров7.7K
image Привет, Хаброжители! Взрывной интерес к нейронным сетям и искусственному интеллекту затронул уже все области жизни, и понимание принципов глубокого обучения необходимо каждому разработчику ПО для решения прикладных задач.

Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных, а также для разработчиков ПО. Вы начнете с основ глубокого обучения и быстро перейдете к более сложным архитектурам, создавая проекты с нуля. Вы научитесь использовать многослойные, сверточные и рекуррентные нейронные сети. Только понимая принцип их работы (от «математики» до концепций), вы сделаете свои проекты успешными.
Читать дальше →

Популярность BPM в разных жанрах музыки. Python: анализ скорости исполнения 500 лучших песен

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

Несколько лет назад, занимался изучением теории музыки, продавал и писал аудио-инструментал. Изначально, процесс явно творческий, но вскоре, мой интерес к коммерческой части превысил и возник вопрос: «В каком же темпе создавать ритм музыки?». Поэтому, идея анализа крупной выборки лучших композиций, для определения популярного [часто: самого продаваемого] диапазона темпа исполнения, не покидала с тех пор…

Возможно, тебя заинтересует содержимое...

Новое тестирование фичей в Django 3.2

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

Пару недель назад Django 3.2 выпустил свой первый альфа-релиз, а финальный релиз выйдет в апреле. Он содержит микс новых возможностей, о которых вы можете прочитать в примечаниях к релизу. Эта статья посвящена изменениям в тестировании, некоторые из которых можно получить на более ранних версиях Django с пакетами backport.

Читать далее

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