Собрали в одном месте самые важные ссылки
консультируем про IT, Python
Вы наверняка слышали о книге Майкла Доусона (Michael Dawson), в которой он учит языку программирования Python тем же самым путем, то есть через программирование несложных игр. Учиться, создавая свои собственные развлекательные программы.
Несмотря на развлекательный характер примеров, демонстрируется вполне серьезная техника программирования. Ниже приведен отрывок из главы «Объектно-ориентированное программирование. Игра «Блек-джек»»
У компании есть веб-сайт, на котором есть красная кнопка в форме прямоугольника с закругленными краями. Если пользователь нажимает на эту кнопку, то где-то в мире мурлычет от радости один котенок. Задача компании — максимизация мурлыкания. Также есть отдел маркетинга, который усердно исследует формы кнопок и то, как они влияют на конверсию показов в клико-мурлыкания. Потратив почти весь бюджет компании на уникальные исследования, отдел маркетинга разделился на четыре противоборствующие группировоки. У каждой группировки есть своя гениальная идея того, как должна выглядеть кнопка. В целом никто не против формы кнопки, но красный цвет раздражает всех маркетологов, и в итоге было предложено четыре альтернативных варианта. На самом деле, даже не так важно, какие именно это варианты, нас интересует тот вариант, который максимизирует мурлыкания. Маркетинг предлагает провести A/B/n-тест, но мы не согласны: и так на эти сомнительные исследования спущено денег немерено. Попробуем осчастливить как можно больше котят и сэкономить на трафике. Для оптимизации трафика, пущенного на тесты, мы будем использовать шайку многоруких байесовских бандитов (bayesian multi-armed bandits). Вперед.
В статье использованы возможности пакета SymPy совместно с пакетом NumPy. Всё сводиться к преобразованию символьных выражений в функции способные работать с другими модулями Python.
Процесс решения дифференциальных уравнений становиться наглядным и хорошо контролируемым на каждом этапе вычислений. Следует отметить, что колебательное звено в разных интерпретациях обсуждается в сетях [1,2]. Например, в [3] приводиться модель колебательного звена с подробным исследованием переходных процессов.
Надеюсь, что подобные исследования колебательного звена на Python найдут своих сторонников.
В рамках сегодняшней статьи хочется обзорно описать три похожих, но разных задачи:
Отдельно отмечу, что в этой статье почти не будет формул, зато будет относительно много кода.
В моей статье [1] рассмотрен метод гармонической линеаризации для исследования систем управления, содержащих нелинейные элементы.
Этот метод может быть использован в том случае, когда линейная часть системы является низкочастотным фильтром, т.е. отфильтровывает все возникающие на выходе нелинейного элемента гармонические составляющие, кроме первой гармоники [2]. Поэтому логическим продолжением моей первой статьи будет гармонический анализ рассмотренных нелинейных элементов. Кроме этого нужно рассмотреть аппаратную альтернативу методу гармонической линеаризации.
Что gdb можно как-то улучшать на питоне, знает каждый, кто хоть раз заглядывал в документацию. А кто хоть раз просматривал ее по диагонали, знает про такую штуку, как «Pretty Printers» — которые вроде позволяют gdb красиво печатать разные сложные структуры. Я документацию по диагонали просматривал, хотя особо и не вникал. Но однажды, набирая в очередной раз что-то вроде (все примеры из исходников MariaDB, которые я дебажу по много раз каждый божий день, иногда исключая выходные):
Год назад Microsoft представила платформу для создания ботов под Skype. Платформа предоставляет удобный формат сообщений, можно отправлять карточки с кнопками, как в телеграмме, одним словом, выглядит все очень круто.
Недавно мне потребовалось написать бота для Skype. И несмотря на то, что тема подымалась на хабре ( например), я столкнулся с некоторыми сложностями, мне очень не хватало step-by-step гайда по работе с REST API.
Использует распознавание и синтез речи от Google. Программа слушает через микрофон ваши команды и выполняет их.
9 апреля в 12-00 в офисе AgoraDoxa пройдет 13-ая встреча сообщества PyNSK. На встрече будет 3 доклада.
Подробности по ссылке
20-го апреля в 19:00 в Rambler&Co состоится 44-я встреча MoscowPython
13-го апреля в 19:00 cостоится встреча Python Junior Meetup #2. Это – митап для начинающих программистов на Python. Встречу организует команда Python.ru. Митап пройдёт в офисе Rambler&Co, в десяти минутах ходьбы от станции метро Тульская.
Для лингвистического исследования мне понадобился корпус прямой речи, порожденной одним человеком. Я решил, что для начала удобнее всего использовать собственную переписку в ВК. Это статья о том, как скачать все сообщения, которые Вы когда-либо отправляли своим друзьям, используя программу на Python и API ВКонтакте. Для работы с API будем использовать библиотеку vk.
Третью часть про Wagtail CMS я решил посветить тем моментам, которые помогли мне снова полюбить Django. Благодаря большому сообществу, которое развивает эту CMS, любой найдет в ней что-то для себя.
В заключительной части будут затронуты следующие моменты:
Данное занятие мы посвятим простым методам композиции: бэггингу и случайному лесу. Вы узнаете, как можно получить распределение среднего по генеральной совокупности, если у нас есть информация только о небольшой ее части; посмотрим, как с помощью композиции алгоритмов уменьшить дисперсию, и таким образом улучшим точность модели; разберём, что такое случайный лес, какие его параметры нужно «подкручивать» и как найти самый важный признак. Сконцентрируемся на практике, добавив «щепотку» математики.
16 марта закончилось соревнование по машинному обучению ML Boot Camp III. Я не настоящий сварщик, но, тем не менее, смог добиться 7го места в финальной таблице результатов. В данной статье я хотел бы поделиться тем, как начать участвовать в такого рода чемпионатах, на что стоит обратить внимание в первый раз при решении задачи, и рассказать о своем подходе.
Не секрет, что SQLAlchemy — самая популярная ORM на Python. Она позволяет писать куда более продвинутые вещи, чем большинство Active Record собратьев. Но плата за это — более сложный код, и в простых задачах вроде CRUD это напрягает.
О том, как я сделал Алхимию удобной, воспользовавшись опытом лучших Active Record ORM, читайте под катом.
Добрый день, читатель! Данная статья расскажет о пути получения второго места на соревновании MLBootCamp III. Для тех, кто не в курсе — это соревнование по машинному обучению и анализу данных от Mail.Ru Group, проходило с 15 февраля по 15 марта.
В статье будет коротко про историю построения решения, немного советов про то, на чем набил шишек и благодарности) Итак, поехали.
За последние несколько лет Python, как язык программирования и технология, шагнул так далеко, что люди, которые видели его лет 5 назад, уже безнадежно отстали. Возможности использования Python сейчас сильно преобразились. Senior Developer DataArt Сергей Матвеенко на встрече IT talk в Петербурге рассказывает об эволюции от Python 2 к Python 3.6, статической типизации в разных вариантах и о других современных возможностях разработки на Python. Получилось "с юморком":)
Сегодня я поделюсь очередной болью в поддержке проекта на 0.7 милионов строчек кода на Python'е. Кажется, с этим багом в разных формах мы сталкиваемся уже несколько лет, и он приводит в совершенное замешательство даже опытных разработчиков.
Александр Мокров (Positive Technologies) - Асинхронный RPC с помощью Gevent и RabbitMQ
Слайды: https://www.slideshare.net/AleksandrMokrov/gevent-rabbit-rpc
Я расскажу о том, как мы начали путь постепенного ухода от Celery и о причинах такого решения. Поведаю о первом шаге, в котором мы для более гибкого управления задачами отказались от встроенного workflow и отвязались от БД, используемой для обмена данными между задачами. Более подробно остановлюсь на библиотеке gevent и RabbitMQ, как на их основе построить асинхронный RPC и долгоживущие управляющие задачи, которые помогли нам на этом этапе.