Сегодня публикуем вторую часть перевода материала о том, как в Dropbox организовывали контроль типов нескольких миллионов строк Python-кода.
Рубрика «python» - 99
Путь к проверке типов 4 миллионов строк Python-кода. Часть 2
2019-09-27 в 9:00, admin, рубрики: python, Блог компании RUVDS.com, облачные сервисы, отладка, разработка, Разработка веб-сайтов
Продолжаем тему как вызывать C/C++ из Python3. Теперь используем C API для создания модуля, на этом примере мы сможем разобраться как работает cffi и прочие библиотеки упрощающие нам жизнь. Потому что на мой взгляд это самый трудный способ.Читать полностью »
Путь к проверке типов 4 миллионов строк Python-кода. Часть 1
2019-09-26 в 9:30, admin, рубрики: python, Блог компании RUVDS.com, облачные сервисы, отладка, разработка, Разработка веб-сайтовСегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода.
В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентских приложений. Ещё мы в больших объёмах применяем Go, TypeScript и Rust, но Python — это наш главный язык. Если учитывать наши масштабы, а речь идёт о миллионах строк Python-кода, оказалось, что динамическая типизация такого кода неоправданно усложнила его понимание и начала серьёзно влиять на продуктивность труда. Для смягчения этой проблемы мы приступили к постепенному переводу нашего кода на статическую проверку типов с использованием mypy. Это, вероятно, самая популярная самостоятельная система проверки типов для Python. Mypy — это опенсорсный проект, его основные разработчики трудятся в Dropbox.
Dropbox оказалась одной из первых компаний, которая внедрила статическую проверку типов в Python-коде в подобном масштабе. В наши дни mypy используется в тысячах проектов. Этот инструмент бесчисленное количество раз, что называется, «проверен в бою». Нам, для того, чтобы добраться туда, где мы находимся сейчас, пришлось проделать долгий путь. На этом пути было немало неудачных начинаний и провалившихся экспериментов. Этот материал повествует об истории статической проверки типов в Python — с самого её непростого начала, которое было частью моего научного исследовательского проекта, до сегодняшнего дня, когда проверки типов и подсказки по типам стали привычными для бесчисленного количества разработчиков, которые пишут на Python. Эти механизмы теперь поддерживаются множеством инструментов — таких, как IDE и анализаторы кода.
Читать полностью »
Играемся с комплексными числами
2019-09-25 в 8:57, admin, рубрики: Matlab, matplotlib, python, красота, очерк, юморПривет!
Очередной очерк. На этот раз поиграемся с комплексными числами, с формулами и их визуализацией.
Загрузка музыки ВКонтакте
2019-09-24 в 15:06, admin, рубрики: python, python 3, vk_api, Вконтакте, музыка, Социальные сети и сообществаДоброго времени суток всем.
Захотелось мне скачать всю мою музыку со ВКонтакте на флешку, как в старые добрые времена. Немного погуглив и не найдя практически ничего более менее приемлемого, я решил действовать своими силами. Спустя пол часа получился вполне себе рабочий скрипт. Итак, начнём.
Для работы нужно скачать модули vk_api и request!
Для начала подключим необходимые модули и объявим некоторые переменные:
import os
import pickle
import vk_api
import requests
from vk_api import audio
from time import time
vk_file = "vk_config.v2.json"
REQUEST_STATUS_CODE = 200
path = 'vk_music/'
Робот-танк на Raspberry Pi с Intel Neural Computer Stick 2
2019-09-24 в 1:51, admin, рубрики: artificial intelligence, computer vision, Movidus Neural Compute Stick, opencv, OpenVINO Toolkit, python, Raspberry Pi, robotics, искусственный интеллект, машинное обучение, обработка изображений, Разработка на Raspberry PiВот и наступил новый этап в развии Raspberry-танка.
В предыдущей серии оказалось, что семантическая сегментация из коробки не по зубам Raspberry.
Мозговой штурм и комментарии позволили определить следующие направления развития:
- обучить собственную E-net сеть под нужный размер картинок
- передать запуск нейросети с самой Raspberry на специальную железку, из которых наиболее часто упоминался Intel Movidius (он же Neural Compute Stick aka NCS).
Приделать к роботу новую железку — это же самое интересное в роботехнике, поэтому кропотливая работа по обучению нейросети оказалась отложенной до лучших времен.
Несколько дней — и интеловская чудо-железка у меня в руках.
Она довольно большая, и в нижний USB разъем малинки ее не воткнешь. Учитывая, что правые USB порты были заслонены штативом камеры, а верхний левый занят GPS модулем, вариантов оставалось не то, чтобы много.
В итоге, GPS был посажен на кабель, переведен вниз, и кабель обернут вокруг штатива, а на его место зашел NCS.
На этом hardware часть была завершена.
Кармическое проклятье Хабра
2019-09-23 в 11:18, admin, рубрики: pandas, python, оценки, Социальные сети и сообщества, статистика, Управление сообществом, хабр, хаброметр, хабросообщество
Непредвиденные последствия
«Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум
Тема про карму на «Пикабу»
Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал бы так: «я давно читаю статьи с Хабра» — но не интересовался тем, что происходит внутри сообщества, когда этой весной решил наконец-то зарегистрироваться. Это типичная ошибка человека, который приходит на Хабр из поисковика читать полезные статьи о тонкостях программирования или интересные новости из мира технологий. Пока ты видишь портал только с этой, положительной стороны, ты не задаёшься вопросами о том, что происходит под капотом. Конечно, в комментариях или статьях время от времени проскальзывали упоминания кармы — но ведь карма есть почти на всех крупных порталах (наивно полагал я), это нормально для саморегулирующихся интернет-сообществ.
Мне пришлось всерьёз задуматься об этом после того, как я неожиданно потерял возможность писать больше одного комментария в пять минут.
При этом внешне всё шло отлично: мои комментарии всё время плюсовали, мой рейтинг рос — и вдруг оказалось, что у меня отрицательная карма. Весь мой длительный опыт интернет-общения, все пользовательские привычки, да и банальный здравый смысл кричали мне, что это какая-то ошибка: показатель одобрения пользователя сайта другими пользователями сайта не может одновременно расти и падать! Но я решил не рубить сплеча, а провести небольшое исследование, как аналитическое (в виде изучения мнений пользователей о карме), так и статистическое (в виде анализа показателей аккаунтов). Читать полностью »
Список полезных книг по анализу данных, математике, data science и machine learning
2019-09-23 в 7:42, admin, рубрики: big data, data mining, python, искусственный интеллект, машинное обучение, полезные книгиНаписал пост, который идет строго в закладки, он со списком полезнейших книг по анализу данных, математике, data science и machine learning. Они будут полезны как новичкам, так и профессионалам. Для удобства можете читать здесь или использовать удобный google docs, в нем книги разбиты по столбцам и категориям. Пользуйтесь и прокачивайте скиллы сами + делитесь с коллегами.
Конечно, весь список книг неполный. Поэтому добавляйте в комментарии свои полезные ссылки на крутые книги, самые топовые из них я добавлю в список.
Книги по анализу данных, математике, data science и machine learning:
50 оттенков matplotlib — The Master Plots (с полным кодом на Python)
2019-09-21 в 10:38, admin, рубрики: Matlab, matplotlib, python, анализ данных, графики, машинное обучениеТе, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.
Встретимся «внутри»!
Читать полностью »
Хабрастатистика: анализируем комментарии читателей. Часть 2, ответы на вопросы
2019-09-19 в 20:34, admin, рубрики: matplotlib, pandas, python, веб-аналитика, Инфографика, Программирование, Социальные сети и сообщества, статистика, Статистика в IT, хабрВ предыдущей части были проанализированы сообщения пользователей этого сайта, что вызвало достаточно оживленную дискуссию на тему различных параметров (числа сообщений, рейтинга, «кармы» и пр). Таких вопросов накопилось достаточно, чтобы сделать вторую часть.
Тех кому интересно, какова длина самой большой дискуссии в комментариях за этот год, какая может быть максимальная и минимальная «карма» у пользователей, и другая статистика, прошу под кат.
Читать полностью »