Forwarded from Хекслет
Простой минималистичный шаблон странички «обо мне» для разработчиков http://amp.gs/eQkI
Легко сделать свою страничку на github'е за пару минут.
Легко сделать свою страничку на github'е за пару минут.
Forwarded from new world
Большую часть времени я разрабатываю бэкэнд. Часто после выключения локальный сервер продолжает занимать порт. Приходится убивать процесс сервера вручную.
Стандартный процесс убийства такой:
— Ищу какой процесс занял порт через
— Вручную убиваю через
При одном процессе это нормально, но когда воркеров несколько, то начинает напрягать.
Сегодня наткнулся на утилиту fkill, которая сильно упрощает этот процесс. Можно просто ввести
Стандартный процесс убийства такой:
— Ищу какой процесс занял порт через
lsof -i :8000— Вручную убиваю через
kill -9 pidПри одном процессе это нормально, но когда воркеров несколько, то начинает напрягать.
Сегодня наткнулся на утилиту fkill, которая сильно упрощает этот процесс. Можно просто ввести
fkill :8000 и она убивает все процессы на порту. Также можно ввести fkill и откроется удобный поиск по названию процесса с автодополнением🔥Forwarded from new world
Как я перешел на pipenv🔮
Когда я только учился Python, процесс создания виртуальной среды выглядел одинаково: я cоздавал ее через virtualenv, явно указывал там версию Python и путь к ней. Затем активировал и устанавливал зависимости через pip. Зависимости в файл приходилось выносить вручную.
Через время я узнал про virtualenvwrapper. Теперь мне не нужно было запоминать путь к среде и вручную ее активировать. Достаточно было запомнить несколько команд. Я думал, что удобнее процесс работы со средами уже не сделать, когда накткнулся на pipenv.
Это обертка одновременно над virtualenv и pip. Напоминает собой пакетные менеджеры, к которым привыкли разработчики на JS. Вот некоторые преимущества:
— Не нужно вручную создавать виртуальную среду, она создается автоматически, если ее нет в проекте.
— Файл зависимостей создается автоматически.
— Версия Python передается с помощью аргументов
— Есть возможность построить график зависимостей.
У pipenv хорошая документация и можете легко начать ее использовать. Работает, как магия.
Когда я только учился Python, процесс создания виртуальной среды выглядел одинаково: я cоздавал ее через virtualenv, явно указывал там версию Python и путь к ней. Затем активировал и устанавливал зависимости через pip. Зависимости в файл приходилось выносить вручную.
Через время я узнал про virtualenvwrapper. Теперь мне не нужно было запоминать путь к среде и вручную ее активировать. Достаточно было запомнить несколько команд. Я думал, что удобнее процесс работы со средами уже не сделать, когда накткнулся на pipenv.
Это обертка одновременно над virtualenv и pip. Напоминает собой пакетные менеджеры, к которым привыкли разработчики на JS. Вот некоторые преимущества:
— Не нужно вручную создавать виртуальную среду, она создается автоматически, если ее нет в проекте.
— Файл зависимостей создается автоматически.
— Версия Python передается с помощью аргументов
--two или --three— Есть возможность построить график зависимостей.
У pipenv хорошая документация и можете легко начать ее использовать. Работает, как магия.
Forwarded from new world
Парсинг HTML
Разработчик самой популярной Python-библиотеки для запросов — requests выпустил библиотеку для парсинга HTML — requests_html.
https://github.com/kennethreitz/requests-html
Она легковесная и простая — там всего 200 строк. Внутри она использует обычную библиотеку requests и lxml — и работает скорее как удобное API для них.
Раньше для парсинга HTML я использовал связку bs4 + requests. Теперь можно обходиться одной библиотекой.
Когда я только учился программированию — я очень не любит парсить сайты: для этого приходилось почти что писать регулярки. Ни о какой автоматизации речи и не шло. Но благодаря таким библиотекам порог вхождения снизился. И процесс работы с HTML уже не сильно уступает работе с API.
Разработчик самой популярной Python-библиотеки для запросов — requests выпустил библиотеку для парсинга HTML — requests_html.
https://github.com/kennethreitz/requests-html
Она легковесная и простая — там всего 200 строк. Внутри она использует обычную библиотеку requests и lxml — и работает скорее как удобное API для них.
Раньше для парсинга HTML я использовал связку bs4 + requests. Теперь можно обходиться одной библиотекой.
Когда я только учился программированию — я очень не любит парсить сайты: для этого приходилось почти что писать регулярки. Ни о какой автоматизации речи и не шло. Но благодаря таким библиотекам порог вхождения снизился. И процесс работы с HTML уже не сильно уступает работе с API.
GitHub
GitHub - kennethreitz/requests-html: Pythonic HTML Parsing for Humans™
Pythonic HTML Parsing for Humans™. Contribute to kennethreitz/requests-html development by creating an account on GitHub.
Forwarded from PythonDigest
Соревнование Kaggle Home Credit Default Risk — анализ данных и простые предсказательные модели
https://habr.com/post/414613/?utm_campaign=414613
Цель соревнования — создать методику оценки кредитоспособности заемщиков, не имеющих кредитной истории. Что выглядит довольно благородно — заемщики этой категории часто не могут получить никакой кредит в банке и вынуждены обращаться к мошенникам и микрозаймам. Интересно, что заказчик не выставляет требований по прозрачности и интерпретируемости модели (как это обычно бывает в банках), можно использовать что угодно, хоть нейросети.
https://habr.com/post/414613/?utm_campaign=414613
Цель соревнования — создать методику оценки кредитоспособности заемщиков, не имеющих кредитной истории. Что выглядит довольно благородно — заемщики этой категории часто не могут получить никакой кредит в банке и вынуждены обращаться к мошенникам и микрозаймам. Интересно, что заказчик не выставляет требований по прозрачности и интерпретируемости модели (как это обычно бывает в банках), можно использовать что угодно, хоть нейросети.
Forwarded from PythonDigest
Введение в Web Scraping на lxml и Python
https://pythontips.com/2018/06/20/an-intro-to-web-scraping-with-lxml-and-python/
https://pythontips.com/2018/06/20/an-intro-to-web-scraping-with-lxml-and-python/
Forwarded from PythonDigest
Ситнтаксис: Как написать iterator
http://treyhunner.com/2018/06/how-to-make-an-iterator-in-python/
http://treyhunner.com/2018/06/how-to-make-an-iterator-in-python/
Forwarded from PythonDigest
Для чего применять Python? 3 варианта
https://medium.freecodecamp.org/what-can-you-do-with-python-the-3-main-applications-518db9a68a78
https://medium.freecodecamp.org/what-can-you-do-with-python-the-3-main-applications-518db9a68a78
Forwarded from PythonDigest
Что вы можете делать на Python?
https://realpython.com/what-can-i-do-with-python/
https://realpython.com/what-can-i-do-with-python/
Forwarded from PythonDigest
Медленные и быстрые методы генерации случайных целых чисел в Python
https://eli.thegreenplace.net/2018/slow-and-fast-methods-for-generating-random-integers-in-python/
https://eli.thegreenplace.net/2018/slow-and-fast-methods-for-generating-random-integers-in-python/
Forwarded from PythonDigest
Python 3 в Facebook
https://lwn.net/SubscriberLink/758159/f1f631e1535ab9d6/
https://lwn.net/SubscriberLink/758159/f1f631e1535ab9d6/
Forwarded from PythonDigest
Fast Python. В поисках медленного кода при помощи стандартного профайлера
http://feedproxy.google.com/~r/djangonaut/~3/fWoJZrtThk0/fast-python-cprofile.html
http://feedproxy.google.com/~r/djangonaut/~3/fWoJZrtThk0/fast-python-cprofile.html
Forwarded from PythonDigest
Рисуем гистограмм с помощью NumPy, Matplotlib, Pandas и Seaborn
https://realpython.com/python-histograms/
https://realpython.com/python-histograms/
Forwarded from PythonDigest
Элегантный код генератора цепей Маркова
https://eli.thegreenplace.net/2018/elegant-python-code-for-a-markov-chain-text-generator/
https://eli.thegreenplace.net/2018/elegant-python-code-for-a-markov-chain-text-generator/
Forwarded from PythonDigest
Как использовать HDF5-файлы в Python
https://habr.com/post/416309/?utm_campaign=416309
HDF5 позволяет эффективно хранить большие объемы данных
При работе с большими объемами данных, будь то экспериментальные или имитируемые, их хранение в нескольких текстовых файлах не очень эффективно. Иногда вам нужно получить доступ к конкретному подмножеству данных, и вы хотите сделать это быстро. В этих ситуациях формат HDF5 решает обе проблемы благодаря очень оптимизированной надстроенной библиотеке. HDF5 широко используется в научных средах и имеет отличную реализацию в Python, предназначенную для работы с NumPy прямо из коробки.
https://habr.com/post/416309/?utm_campaign=416309
HDF5 позволяет эффективно хранить большие объемы данных
При работе с большими объемами данных, будь то экспериментальные или имитируемые, их хранение в нескольких текстовых файлах не очень эффективно. Иногда вам нужно получить доступ к конкретному подмножеству данных, и вы хотите сделать это быстро. В этих ситуациях формат HDF5 решает обе проблемы благодаря очень оптимизированной надстроенной библиотеке. HDF5 широко используется в научных средах и имеет отличную реализацию в Python, предназначенную для работы с NumPy прямо из коробки.
Forwarded from PythonDigest
Нейробугу́рт. Как мы научили нейросеть придумывать мемы на год раньше Стэнфорда
https://habr.com/post/416379/?utm_campaign=416379
К написанию статьи меня подтолкнула вот эта новость (https://motherboard.vice.com/en_us/article/gyk3dq/stanford-researchers-trained-a-neural-network-to-make-these-memes) (+исследование (https://arxiv.org/abs/1806.04510)) про изобретение генератора мемов учеными из Стэнфордского университета. В своей статье я попытаюсь показать, что вам не нужно быть ученым из Стэнфорда, чтобы делать с нейросетями интересные вещи. В статье я описываю, как в 2017 году мы обучили нейронную сеть на корпусе из примерно 30 000 текстов и заставили ее генерировать новые интернет-мемы и мемы (коммуникационные знаки) в социологическом смысле слова. Описан использованный нами алгоритм машинного обучения, технические и административные трудности, с которыми мы столкнулись.
https://habr.com/post/416379/?utm_campaign=416379
К написанию статьи меня подтолкнула вот эта новость (https://motherboard.vice.com/en_us/article/gyk3dq/stanford-researchers-trained-a-neural-network-to-make-these-memes) (+исследование (https://arxiv.org/abs/1806.04510)) про изобретение генератора мемов учеными из Стэнфордского университета. В своей статье я попытаюсь показать, что вам не нужно быть ученым из Стэнфорда, чтобы делать с нейросетями интересные вещи. В статье я описываю, как в 2017 году мы обучили нейронную сеть на корпусе из примерно 30 000 текстов и заставили ее генерировать новые интернет-мемы и мемы (коммуникационные знаки) в социологическом смысле слова. Описан использованный нами алгоритм машинного обучения, технические и административные трудности, с которыми мы столкнулись.
Forwarded from PythonDigest
Извлекаем уровни из Super Mario Bros с помощью Python
https://habr.com/post/416241/?utm_campaign=416241
Для нового проекта мне понадобилось извлечь данные уровней из классической видеоигры 1985 года Super Mario Bros (SMB) (https://ru.wikipedia.org/wiki/Super_Mario_Bros.). Если конкретнее, то я хотел извлечь фоновую графику каждого уровня игры без интерфейса, подвижных спрайтов и т.п.
Разумеется, я просто мог склеить изображения из игры и, возможно, автоматизировать процесс с помощью техник машинного зрения. Но мне показался более интересным описанный ниже метод, позволяющий исследовать те элементы уровней, которые нельзя получить с помощью скриншотов.
На первом этапе проекта мы изучим язык ассемблера 6502 и написанный на Python эмулятор. Полный исходный код выложен здесь (https://gist.github.com/matthewearl/733bba717780604813ed588d8ea7875f).
https://habr.com/post/416241/?utm_campaign=416241
Для нового проекта мне понадобилось извлечь данные уровней из классической видеоигры 1985 года Super Mario Bros (SMB) (https://ru.wikipedia.org/wiki/Super_Mario_Bros.). Если конкретнее, то я хотел извлечь фоновую графику каждого уровня игры без интерфейса, подвижных спрайтов и т.п.
Разумеется, я просто мог склеить изображения из игры и, возможно, автоматизировать процесс с помощью техник машинного зрения. Но мне показался более интересным описанный ниже метод, позволяющий исследовать те элементы уровней, которые нельзя получить с помощью скриншотов.
На первом этапе проекта мы изучим язык ассемблера 6502 и написанный на Python эмулятор. Полный исходный код выложен здесь (https://gist.github.com/matthewearl/733bba717780604813ed588d8ea7875f).
Розв'язок завдання про „дешифруванню“ кожного другого слова зі стрічки. https://github.com/Searge/Solutions/blob/master/PythonKids/each_2_word_in_str.py
Forwarded from PythonDigest
Аналоги в Python и JavaScript. Часть первая
https://habr.com/post/416617/?utm_campaign=416617
Несмотря на то что Python и Javascript довольно сильно отличаются, существует много схожего, о чем должен знать любой фулстек разработчик. В этой серии (https://djangotricks.blogspot.com/2018/06/equivalents-in-python-and-javascript-part-1.html) из 4-х статей мы увидим что есть общего в обоих языках, и рассмотрим ряд известных проблем а также способы их решения.
https://habr.com/post/416617/?utm_campaign=416617
Несмотря на то что Python и Javascript довольно сильно отличаются, существует много схожего, о чем должен знать любой фулстек разработчик. В этой серии (https://djangotricks.blogspot.com/2018/06/equivalents-in-python-and-javascript-part-1.html) из 4-х статей мы увидим что есть общего в обоих языках, и рассмотрим ряд известных проблем а также способы их решения.
Forwarded from PythonDigest
teen - manual для статус кодов HTTP
http://github.com/shobrook/teen
http://github.com/shobrook/teen