Собрали в одном месте самые важные ссылки
читайте нас в Telegram
Хочу поделиться опытом работы с задачей известного конкурса по машинному обучению от Kaggle. Этот конкурс позиционируется как конкурс для начинающих, а у меня как раз не было почти никакого практического опыта в этой области. Я немного знал теорию, но с реальными данными дела почти не имел и с питоном плотно не работал. В итоге, потратив пару предновогодних вечеров, набрал 0.80383 (первая четверть рейтинга). В общем эта статья для еще начинающих от уже начавшего.
Расскажу я вам сегодня о том, как пытался я добраться из питона до интерфейса жесткого диска, и что из этого получилось.
Появляется у меня периодически необходимость тестирования большого количества жестких дисков. Обычно для этого используется досовая Victoria загружающаяся по сети. Она тестирует диски по одному, что не очень удобно. К тому же последнее время пошли платы не имеющие режима IDE, что дополнительно усложняет задачу. По началу у меня возникла идея взять готовый софт под линукс с открытыми исходниками и добавить ему возможность параллельного тестирования нескольких дисков. После беглого поиска выяснилось удручающее состояние этой области в линуксе. Из софта, ведущего при тестировании статистику по времени доступа к секторам и типам ошибок нашел только whdd. Попытка разобраться с кодом whdd закончилась полным провалом. Для меня, ни разу не программиста, код показался очень запутанным. К тому же большую его часть занимает совсем не работа с железом.
import tcp_blackhole blackhole = tcp_blackhole.TcpBlackhole(host='localhost', port=9876, echo=False) blackhole.start()
Доктор физико-математических наук Андрей Грозин прочитал цикл лекций об использовании Python в целях ликвидации безграмотности среди студентов, аспирантов и прочих.
Django-nose – приложение упрощающее тестирование в django. Основными фишками является то, что: – позволяет запускать только твои тесты, и пропускать системные тесты в django – позволяет выполнять отдельные тесты в отдельных файлах и причем файл не обязан называться tests.py – позволяет создать визуальное покрытие тестами кода (создает html файлик, в котором отдельным цветом выделены участки кода покрытые тестами). Изменения описаны по ссылке https://allmychanges.com/p/python/django-nose/#1.4.3. Скачать можно по ссылке: https://pypi.python.org/pypi/django-nose
Сборник видео для различных языков (в том числе и Python).
В преддверии открытия python.ru появилось сообщество в Slack, где любой русскоговорящий python-разработчик может пообщаться в тематической обстановке
Количество кода - это некоторый критерий для ПО. Практика показывает, что чем больше кода - тем сложнее поддерживать и развивать продукт. А если в этом коде много copy-past'ы, то совсем плохо.
Для выявления повторяющихся кусков кода существуют различные инструменты. Один из них CloneDigger. Это старая разработка (еще в 2008 году автор выступал на EuroPython), однако, работает хорошо и на данный момент.
Коротко: all и any - встроенные методы, которые позволяют проверять все элементов списка на выполнение условия.
При валидации данных часто возникает задача проверить структуру на корректность. Например, пускай есть список словарей:
Python обладает широкими динамическими возможностями. Строгая динамическая неявная типизация позволяет не указывать типы, но при этом не бояться что в коде просуммируем строку и число. Однако за динамичность приходиться платить - памятью и скоростью.
Но что если хочется максимально уменьшить размер объектов (а в python все объекты) и при этом не потерять в функциональности? Для примера возьмем плоскость. На плоскости, пускай, надо разместить миллион точек (что не так много). При этом надо иметь возможность красить точку в разные цвета, расстояния подсчитывать и прочие действия.
Продолжаем предлагать различные задачи для практики. Кто заинтересуется решением этих задач, просим помогать друг-другу. Но при этом в течении недели не кидать ссылок на полностью готовое решение. А также, чтобы читать код было удобно - публикуйте его на https://gist.github.com/ или какой-то подобный сервис.
Описание задачи:
При парсинге возникают совсем странные ошибки - одна из них - не валидный HTML. Т.е. с ошибками. Верстальщик забыл закрыть таблицу или body. Еще бывает что вставляют HTML из Word, а там тааккккооооой код.
Чтобы очистить HTML от мусора можно применять инструмент Tidy.
Опыт показывает, что каждый проект обладает своими зависимостями (библиотеками), а если и одинаковыми, то версии не совпадают. Чтобы упростить запуск и настройку проекта разработчики пишутINSTALL.md, README.md, make-файлы и что более важно - requirements.txt.
Файл requirements.txt - это правило хорошего тона для Python проектов. Файл содержит список необходимых библиотек для запуска с указанием версий: