Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE
В мире Django набирает популярность дополнение Django Channels. Эта библиотека должна принести в Django асинхронное сетевое программирование, которое мы так долго ждали. Артём Малышев на Moscow Python Conf 2017 объяснил, как это делает первая версия библиотеки (сейчас автор уже запилил channels2), зачем она это делает и делает ли вообще.
Вы когда-нибудь задумывались о том, как работают библиотеки виртуального окружения в Python? В этой статье я предлагаю ознакомится с главной концепцией, которую используют все библиотеки для окружений, такие как virtualenv, virtualenvwrapper, conda, pipenv.
Изначально, в Python не было встроенной возможности создавать окружения, и такая возможность была реализована в виде хака. Как оказалось, все библиотеки базируются на очень простой особенности интерпретатора питона.
Трекинг кода must-have в среде разработки. Но вот насколько нужен этот же инструмент в продуктиве? Тот, кто лишь кропотливо собирает логи скажет «ну его нафиг, мой ELK меня не подводит» и будет по-своему прав. До поры до времени.
В прошлых выпусках мы опирались на синтаксис классических версий Питона (2.7) и JS на основе ECMAScript 5. В этот раз мы будем использовать новые функции которые появились в Питоне 3.6 и JS стандарта ECMAScript 6.
ECMAScript 6 — относительно новый стандарт поддерживаемый большинством современных браузеров. Для использования стандарта 6 в старых браузерах вам понадобиться Babel для перевода современных конструкций JS6 на кросс-браузерную поддержку.
В сегодняшней статье: переменные в строках, распаковка списков, лямбда-функции, итерирование без индексов, генераторы и множества (sets).
Разбираемся, как работать с HTTP API без дополнительных библиотек на Python
Некоторые Python программисты сильно удивляются, когда узнают сколько временных объектов интерпретатор питона выделяет во время работы простого скрипта.
CPython позволяет получить статистику по выделяемым объектам, для этого его нужно скомпилировать с дополнительными флагами.
Организовать удаленный сбор показаний с электросчетчиков — задача вроде не сложная, счетчики с каждым годом все умнее и умнее и должны сами все отправлять, ан нет, информация конечно есть, но она разрозненная. Производители оборудования видимо тоже хотят зарабатывать на продаже своего ПО. Пишу эту статью чтобы сэкономить время всем, у кого есть похожие задачи.
Добавление протокола iec-104 в scadapy, предоставляет дополнительные возможности для расширения системы, как в домашней автоматизации, так и для локального применения на малых предприятиях.
Данный протокол довольно сложный в освоении, но в настоящий момент в интернете можно найти достаточно документации для ознакомления.
В Python, есть два похожих типа — список (list) и кортеж (tuple). Самая известная разница между ними состоит в том, что кортежи неизменяемы.
Здравствуйте, сегодня я хотел бы вам рассказать о том, как обновить проект с версии 1.9 до 2.0. Какие основные нюансы нужно учесть и переписать, дабы проект стартовал на новой версии Django.
В статье создадим проект используя шаблонизатор cookiecutter-django, настроим статическую типизацию, добавим автоматическое форматирование кода с помощью black, создадим скрипт, который запускает тесты, проверяет правильность типов через линтер mypy и стиль кода через black. Напоследок добавим пре-коммит хук, который автоматически запускает скрипт с проверками перед каждым коммитом.
Как правило, вам не нужно беспокоиться о сборщике мусора и работе с памятью когда вы пишете код на Python. Как только объекты больше не нужны, Python автоматически освобождает память из под них. Несмотря на это, понимание как работает GC поможет писать более качественный код.
В отличие от других популярных языков, Python не освобождает всю память обратно операционной системе как только он удаляет какой либо объект. Вместо этого, он использует дополнительный менеджер памяти, предназначенный для маленьких объектов (размер которых меньше чем 512 байт). Для работы с такими объектами он выделяет большие блоки памяти, в которых в дальнейшем будет хранится множество маленьких объектов.
За последние десятилетия с помощью машинного обучения создали самоуправляемые автомобили, системы распознавание речи и эффективный поиск. Сейчас это одна из самых быстроразвивающихся и перспективных сфер на стыке компьютерных наук и статистики, которая активно используется в искусственном интеллекте и data science. Методы машинного обучения используются в науке, технике, медицине, ритейле, рекламе, генерации мультимедиа и других областях.
Команда Университета ИТМО собрала десять курсов по машинному обучению, которые можно успеть пройти до конца лета. Одним они помогут войти в профессию, а другим — углубиться в нее.
Мы обожаем квизы, посвященные языкам программирования. В нашем блоге мы разместили уже целых три: первый — по Python, PHP, Golang, DevOps, второй — полностью по Go, третий — только по PHP. Сегодняшний квиз посвящен исключительно Python.
Предлагаем вам размяться в честь конца ещё одной летней недели и в преддверии PyCon Russia 2018. (Кстати, кто едет? Мы там будем).
Под катом — семь вопросов, советы от друга, Чапаев, отрывки из ABBA (что? да!) и крутой мерч.
Продолжаем публикацию перевода серии статей о схожести и различии двух языков. Сегодня поговорим о сериализации словарей, JSON, регулярках, об ошибках и исключениях.
Мы в отделе аналитики онлайн-кинотеатра Okko (Мама, привет, я теперь работаю на Rambler) любим как можно сильнее автоматизировать подсчёты сборов фильмов Александра Невского, а в освободившееся время учиться новому и реализовывать классные штуки, которые почему-то обычно выливаются в ботов для Телеграма. К примеру, перед началом чемпионата мира по футболу 2018 мы выкатили в рабочий чат бота, который собирал ставки на распределение итоговых мест, а после финала подсчитал результаты по заранее придуманной метрике и определил победителей. Хорватию в четвёрку не поставил никто.
Недавнее же свободное от составления ТОП-10 российских комедий время мы посвятили созданию бота, который находит знаменитость, на которую пользователь больше всего похож лицом. В рабочем чате идею все настолько оценили, что мы решили сделать бота общедоступным. В этой статье мы кратко вспомним теорию, расскажем о создании нашего бота и о том, как сделать такого самому.
На просторах интернета представлены различные реализации, но, на мой взгляд, все они достаточно простые. Хочу представить свой вариант голосового справочника под астериск.
Это второй шаг по поддержке аутентификации через социальные сети на моём сайте, который написан на Django. И хочу поделиться тем, как это делаю. На этот раз для Google+.
Два с половиной года назад я купил набор Lego Mindstorms EV3, чтобы сделать свои первые шаги в робототехнике. Вкатив на контроллер сборку ev3dev и наигравшись с управлением двигателями и сенсорами по SSH, я на два года охладел к покупке. Причина состояла в том, что мне не хватало фантазии по части того, что бы такое можно было собрать: после нескольких собранных моделей из Lego Technics (как коробочных, так и самодельных) я уже привык к чудесам наподобие дистанционно управляемых игрушек, а простые роботы наподобие представленных на Краковской выставке моделей из Lego у меня как у человека, работавшего в своё время над системой телемеханики, уже не вызывали достаточного вдохновения. Повторять чужой опыт тоже не особо хотелось.
В конце концов, меня осенило: моделью, достаточно сложной, интересной, практичной и при этом не слишком заезженной могли стать часы с кукушкой. Вдохновлённый этой идеей, я взялся за дело.