Собрали в одном месте самые важные ссылки
консультируем про IT, Python
A Directed Acyclic Graph (DAG) is a common data structure used to contain a series of related items that must have certain order or dependency. Topological sorting is used to help find where you might start processing to get in order handling of the items in a DAG.
(20.06.2016 - 26.06.2016)
Под словами PyCon чего только не проводится. От шумных конференций с билетами за N сотен долларов до бесплатных заседаний зимбабвийского клуба питонистов в количестве 2-х голодных темнокожих разработчиков.
Портлендский PyCon этого года — мероприятие крупного калибра с крутыми докладчиками и действительно ценной информацией. Тут были и простые развлекательные презентации на 30 минут о будущем Python, и мастер-классы по популярным темам типа масштабирования Flask и упаковки приложений в Docker, и хардкорные многочасовые занятия по статистике и машинному обучению.
Организаторы не поскупились, все качественно записали и уже выложили на официальный канал конференции.
Все на английском языке, но довольно понятном. Мимо такой кучи ценных знаний просто нельзя пройти мимо.
Чего ждать Предыдущие мероприятия проходили в Екатеринбурге, а в этом году PyCon переезжает в Москву, точнее в Подмосковье — конференция состоится в отеле «Cronwell Яхонты Таруса» в 95 км от столицы. Как пишут организаторы, в программе конференции «20 докладов, 2 воркшопа, Lightning Talks, дискуссионная панель, Unconference, афтепати с костром и песнями».
В этом цикле статей мы реализуем службу поддержки для онлайн-чатов. Система должна уведомлять команду операторов о новом сообщении, делить нагрузку на команду любого размера, делегировать сообщения в зависимости от приоритета. Звучит жутко. Но без паники, я поделюсь нашим опытом построения такой системы, которая уместилась всего в пару сотен строк кода. Да, мы будем использовать Telegram-бота. Но не потому, что это модно, а потому что супер удобно.
Вдохновлено недавним Hola Javascript Challenge. Упаковывать алгоритм в 64кб не будем, но зато точность получим пристойную.
Если посмотреть на большинство third party утилит критически, окажется что стоящих из них единицы, однако это вовсе не мешает им обретать своих пользователей в том числе и среди системных администраторов. Сисадмины очень любят делать упор на то, дескать они ленивы, но это скорее более самоирония, нежели правда, хотя если учесть, что системное администрирование уже немыслимо без навыков программирования, все же доля правды в этом есть. Имея в своем распоряжении, скажем, всего лишь интерпретатор Python, можно вполне всего за пять-десять минут написать аналог какой-нибудь утилиты, что оказывается несомненным плюсом в случае, когда ошибки в последней не правятся годами, а помимо этого хотелось бы что-то исключить\дополнить из\в ее функционал[а|е]. Хотелось бы, например, подстроить вывод ListDlls и Handle (утилиты из набора Sysinternals Suite) под себя, и здесь видется два варианта решения: либо писать сценарий-обертку, перехватывающий и затем переопределяющий вывод, либо написать все самому с нуля. Последнее многие исключают по, в общем-то, банальной причине, мол, решение требуется здесь и сейчас (хотя такое тоже бывает), но, как уже было сказано выше, сисадмин без навыков программирования таковым уже не считается — нынешнии реалии.
Когда полгода назад я решил перейти с Vim на Emacs сначала я решил поискать статьи по настройке последнего на хабре. К моему удивлению нашлась всего одна статья в которой рассказывали, как настроить данный редактор для работы с Python. У меня было 2 года опыта работы с vim и имелись определенные требования, которые не были затронуты в данной статье. Вообще рускоязычных статей про работу в Emacs над Python очень мало на просторах интернета. Я не буду рассказывать про тонкости настройки самого Emacs, для этого не хватит даже отдельной статьи.
Зимой 2016 года у нас в Stepic.org возникла идея сделать для наших учащихся персонального помощника, поэтому мы позвали студента СПбАУ РАН Константина Чаркина на стажировку, результатом которой видели Telegram-бота. Это потом всё вышло из под контроля и появился набор стикеров и каналы по курсам… Но обо всём по порядку!
Как сделать текстовую игру? Да как угодно. Как сделать кроссплатформенную текстовую игру на русском с иллюстрациями, звуком, работающими сохранениями, без проблем с кириллицей, и с каким-никаким геймплеем? Да ещё и в свободное время, не отрываясь от основной работы? Вот это уже интересней и на самом деле — довольно несложно. Заинтересовавшихся прошу под кат.
Прошло много времени с моего последнего поста о Channels, и вместе с этим много чего случилось — API разработано и стабилизировано, добавился функционал вроде "контроля за переполнением" (backpressure), ситуация с бекендами выглядит гораздо лучше, особенно после того, как слой взаимодействия локальных и удаленных машин стал немного взрослее.
Серию интервью со спикерам PyCon Russia продолжает разговор с Александром Кошкиным, python-разработчиком в компании Positive Technologies. Последнее время Александр живет в Бостоне и занимается разработкой различных компонентов PT SIEM. Мы поговорили с Сашей про python и его жизнь в США. Александр — спикер многих конференций. Вот, например, его выступление «Знай и люби свой PyObject, ты же программист» на Python Meetup в Минске
Мартин Горнер (Martin Gorner) стоял у истоков зарождения электронных книг, начиная с запуска Mobipocket, который позже стал частью программного обеспечения на Amazon Kindle и его мобильных вариантов, а с 2011 года Мартин работает в Google, где активно занимается машинным обучением и TensorFlow — принципиально новой, быстрой, умной и гибкой системой машинного обучения, которая способна работать как на простом смартфоне, так и на тысячах узлов в центрах обработки данных.
Ниже — короткое интервью с Мартином о том, что из себя представляет TensorFlow, почему Google открыли TensorFlow для разработчиков в open source, и чем система может быть интересна разработчику, не знакомому с машинным обучением.
Интересная статья про автоматические алгоритмы поиска нужной части изображения.
Являясь большим фанатом Python и фреймворка Django постоянно искал решение, как сделать разработку новых веб-проектов быстрее и удобнее. Все, кто знаком с разработкой на Django знают насколько не удобно строить на нем интуитивно понятную админ.панель. До мегапопулярного WordPress очень далеко, что делает порог вхождения в разработку сайтов выше, чем у PHP-фреймворков и CMS. После долгого поиска и тестирования различных решений я нашел для себя оптимальный вариант — Wagtail CMS. Wagtail — это полноценная CMS написанная на Django компанией Torchbox. За что им большое спасибо. Проект с открытым исходным кодом, поддерживается сообществом энтузиастов и выпускается под BSD лицензией. Читать дальше →
Что такое глубинное обучение? С недавнего времени мы наблюдаем взрыв популярности этого сложного и необычайно мощного инструмента. Это выступление, в терминах доступных для новичков в машинном обучении, раскроет базовые идеи, лежащие в основе обучения глубинного. Вспомним немного математики, напишем простую нейронную сеть, а также узнаем, где можно использовать результаты глубинного обучения.
Будем использовать Flask, а хостить на Herkoru
Pydev - дебаггер для Python, теперь умеет хорошо работать с py.test
Модуль проверки форматирования кода. Изменения описаны по ссылке https://allmychanges.com/p/python/flake8/#2.6.0. Скачать можно по ссылке: None
PythonAnywhere это хостинг для Python проектов
Python модуль для синтаксического анализа. Изменения описаны по ссылке https://allmychanges.com/p/python/pyparsing/#2.1.6. Скачать можно по ссылке: None
Best Shift-Left Testing Tools to Improve Your QA
statsmodels: Statistical Modeling and Econometrics in Python
markitdown: Convert Files and Office Documents to Markdown
Царство грибов. Симуляция мицелия на p5py. Битвы гифов. Часть первая
SVG-виджеты для tcl/tk. Финальный аккорд. Часть IV
Implementing Approximate Nearest Neighbor Search with KD-Trees
Пишем свой PyTorch на NumPy. Часть 1
django-liveconfigs - управление настройками в django
Мэтчинг персонажей. Level Hard
Стратификация: как не облажаться с A/B тестами
Матрица ошибок confusion_matrix() в scikit-learn