Александр Сапронов @axsapronov
CTO https://sapronov.me/
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Chief Technology Officer (CTO), Chief information officer (CIO)
Lead
From 650,000 ₽
People management
Project management
Development of tech specifications
Building a team
Organization of business processes
Planning
Development management
Information Technology
Сначала неизвестно какие версии поддерживают необходимый Python. Обычно при повышении версии пакетов обрезают старые версии Python.
Поэтому пока идет ручное обновление и просмотр changelog ставил <=. Тем самым контролировал что не сломается лишнего.
Когда до нужной версии Python поднял, но можно отбросить "старые" версии пакетов и наоборот ставится >=. И обновляются все пакеты. Если что-то сломалось - то индивидуально эти версии меняются на <=
ngrok - классика, когда стоил 5$ было совсем приятно пользоваться и custom domain, и прочим.
Сейчас перешел на localtunnel написанный на nodejs, который без платы дает домен, который не меняется. И не требуется больше
ALLOWED_HOSTS обновлять/держать в wildcard режиме.
Для локальной разработки хватает.
У меня настроено два перерыва
— каждые 20 минут на 30 секунд
— каждый час на 10 минут
Обновил пост — добавил видео докладов.
Еще про киви был доклад на 11 встрече, возможно заинтересует — https://habrahabr.ru/post/319658/
andrewnester спрашивал нас, против ли мы или нет — не против. Мощности текущего агрегатора легко предоставим Андрею, как созреет.
Большинство инструментов аналитики, обучения и прочего в Python базируются на numpy, а numpy почти полностью написан на C.
Есть биндинги к системам анализа, который могут работать кластерами — например для Spark — PySpark
Интеграция с GPU тоже есть — через CUDA или NumbaPRO.
Есть куча библиотек для Deep Learning, например, Caffe
Но вы можете придти без регистрации. Думаю как-то разместимся.
Только учитывайте, что Самовар — анти-кафе, со всей ценовой политикой подобных заведений.
uwsgi часто используется в стеке с Python.
Давно уже заметил, что различные рекомендации по оформлению кода на разных языках программирования, это не скорее не рекомендации, а опыт выработанный кровью. И если 80-90% кода человек может оформить за 20% времени, то остальные моменты пусть доделывает автоматика.
Для справки, у PyCharm по умолчанию весьма глупая проверка на нарушение правил — подсвечивает не все.
Вообще, что для первого, что для второго, стоит ответить на вопросы:
От этого и станет ясно какие технологии стоит использовать. Может так сложиться, что программой пользуются по принципу «Запустил один раз и весит в фоне — обрабатывает данные», тогда консольного хватит за глаза
GUI почти не разрабатываю, однако, если требуется desktop GUI, то беру PyQt. Потому что, давно писал на Qt/C++ и привычка осталась. Сам интерфейс на 90% руками в коде, на 10% (каркас) делаю с QtDesigner, который потом конвертирую в py файл, а затем редактирую под реальные свои нужны.
Достаточно сказать, что в большинстве Linux'ов стоит именно CPython. А к использованию других реализаций питонов прибегают не так часто и в реальных проектах это скорее исключение, чем правило.
Да, получалось вполне успешно читать такие проекты. Если проект больше 10к строк кода, то уже не важно существование pep8 или каких-то других стандартов для языка(если смотрим на на другие языки программирования), то никто не будет переписывать весь продакшн код для удовлетворения каких-то там стандартов. Иначе говоря «работает — не трогай».
Если пишем web-app с javascript, css, шаблонами, то здесь flask, а если только web API к сервису, который живет в вечном loop'e, то зачем тащить flask.
По-моему опыту, в flask удобней сделаны все эти frontend вещи, в bottle они как-то каким-то магическими взмахами делаются. Однако, как раз все в одном файле (для bottle), позволяет его пихать в проекты, где используется чистый python и не беспокоится о версиях библиотек. Во flask такой свободы не ощущается.
Резюмируя, для прототипов, а также не требующих web gui приложений, bottle смотрится более удачным решением, чем flask.
Хотя выбор между микрофреймворками, это как выбор между зеленым и красным, т.е. сути не меняется, сиравно там нет никакой асинхронности.