Почему Python?

Python programming
Python programming

С некоторого времени в голове крутилась мысль о том, а не написать ли мне небольшую заметку на тему почему язык программирования Python стоит изучать, и более того, создавать на нём программные проекты.

Некоторые из вас знают, что совсем недавно я посетил крупнейшее событие в сообществе Python программистов — PyCon US 2016. Полностью все расходы были покрыты мною самостоятельно без привлечения спонсоров и работодателей. Пожалуй, чтобы посетить такое мероприятие, нужно иметь некоторую эмоциональную привязанность к предмету, и это правда.

Что такое Python?

Python это язык программирования общего назначения, нацеленный в первую очередь на Читать далее «Почему Python?»

Поездка на PyCon US 2016 в Портленд

PyCon US 2016 @ Portland, OR

Совсем недавно закончилась самая масштабная конференция в мире Python — PyCon US 2016 в городе Портленд. В этом году мне посчастливилось быть среди её участников. В этой заметке расскажу о своих впечатлениях о поездке, о самой конференции и немного о докладах, прочитанных там.

Портленд небольшой городок на западе США. Он носит неофициальное название Rose Читать далее «Поездка на PyCon US 2016 в Портленд»

Python-RQ: очередь задач на базе Redis

Не так давно я рассказывал о том как лучше всего работать с очередью задач Celery. Бесспорно, Celery является наиболее продвинутым инструментом в экосистеме Python с массой возможностей для работы и управления выполнением ваших задач, включая кастомизацию брокеров и бэкэндов. Но Python мир не им един.

В этой заметке я расскажу об инструменте под названием Python RQ. Аббревиатура RQ обозначает Redis Queue. Из названия можно догадаться, что инструмент создан вокруг системы Redis. Она в данном случае выступает в качестве брокера и бэкэнда. RQ следует философии UNIX, то есть является маленьким инструментом, решающим одну задачу очень хорошо.

Установка

Тут всё просто и обыденно. Устанавливаем Читать далее «Python-RQ: очередь задач на базе Redis»

Django Channels: работа с WebSocket и не только

Эпоха перемен

За последнее время благодаря активному развитию технологий, веб значительно преобразился. Буквально один десяток лет назад, всё что у нас было это несложные динамические веб-страницы с перезагрузкой при каждом запросе к серверу. Позже пришел Ajax, принёсший немало головной боли для программистов и пользователей (в основном из-за слабого канала, разных браузеров и кривых рук самих программистов). Идут годы, а тем временем запросы пользователей растут, инструменты находятся в постоянном режиме совершенствования с целью удовлетворения растущих потребностей конечных пользователей. Сейчас диву даёшься — веб-сайты превращаются в полноценные интерактивные приложения, способные практически полностью заменять своих настольных собратьев (Microsoft Word против Google Docs, например), появляются 3D-игры, мощности браузерных движков растут как на дрожжах. Современный браузер способен определять геолокацию, работать со  звуком, камерой, 3D изображением и многое-многое другое. Не за горами время, когда единственным полезным приложением внутри операционной системы будет браузер.

Фреймворк Django появился в далёком 2003 году, то есть 13 лет назад. За эти годы многое изменилось. Сейчас Django является самым Читать далее «Django Channels: работа с WebSocket и не только»

Разворачиваем Django приложение в production на примере Telegram бота

Данная заметка это продолжение статьи про написание telegram бота, в ней я постараюсь максимально подробно осветить тему разворачивания (deploy) полноценного, хотя и маленького, Django приложения в production среде на ОС Linux, Ubuntu 14.04 LTS. К концу статьи у нас будет полноценный telegram бот, крутящийся в вебе и принимающий команды от пользователей этого мессенджера.

Чему вы научитесь после прочтения Читать далее «Разворачиваем Django приложение в production на примере Telegram бота»

Как написать Telegram бота: практическое руководство

TelegramВ последнее время Telegram у всех на слуху. Нужно отдать должное отделу маркетинга этого приложения, шумиху подняли на славу. Одной из основных «фишек» Telegram является его якобы защищённость — по словам Павла Дурова вся переписка между пользователями шифруется. Более того, ни одна спец.служба мира не будет иметь доступ к вашим сообщениям. Но в данной статье речь не об этом. Сегодня хотелось бы поговорить о не менее крутой фишке в Telegram, а именно о ботах. Помимо того, что в сети уже полно информации о различного рода Telegram ботах (github бот, например), мессенджер открыл своё API для разработчиков, и теперь каждый может создать своего собственного бота с блэкджеком и плюшками.

В статье я приведу пример написания онлайн бота с использованием Python и Django фреймворка. То есть мы «запилим» полноценное веб-приложение, которое будет крутиться на удалённом хосте и принимать команды от пользователей. Весь исходный текст доступен Читать далее «Как написать Telegram бота: практическое руководство»

Celery: начинаем правильно

Python Celery
В этой статье мне хотелось бы поделиться с читателями своим опытом работы с таким замечательным инструментом в Python как Celery.

Celery это ничто иное как распределённая очередь заданий, реализованная на языке Python. На момент написания этой статьи, самой последней версией является 3.1.20. Неосведомлённый читатель может не знать для чего вообще нужна система очередей задач наподобие Celery, поэтому кратко поясню этот момент.

Что такое Celery и зачем оно нам?

Часто ли вам приходилось сталкиваться с типовыми задачами в веб-приложениях вроде отправки электронного письма посетителю или обработки загруженных данных. Чаще всего такого рода манипуляции не требуют участия конечного пользователя вашего проекта, то есть их можно выполнять в фоновом режиме. Те из нас, кто реализует выполнение этих задач в одном из процессов веб-сервера, «тормозят» тем самым его работу, увеличивая время отклика и ухудшают user experience.

В данной заметке я опущу вводную информацию по установке и настройке Celery в вашем проекте. Кстати, Celery из коробки умеет работать с Django. Ранее был отдельный python пакет, соединяющий Django и Celery, Читать далее «Celery: начинаем правильно»

Участие в подкасте TalkPython

12 января вышел очередной выпуск подкаста TalkPython в котором мне посчастливилось принять участие. Тема дискуссии была посвящена найму людей на работу без опыта на должность программиста (речь в частности шла о Python). Среди участников были специалисты из таких компаний как Netflix и Paypal. По большей части речь шла о навыках, необходимых новичку-программисту для того, чтобы получить своё первое приглашение на работу. Гости делились собственным опытом и взглядами на то, чем же должен выделяться кандидат.

Я принимал участие во втором выпуске. В первой же части шоу участники рассказывали о своём первом опыте программирования на Python, а также ощущениями после получения первого job offer.

Послушать обе части подкаста можно по следующим ссылка:

Pyenv: удобный менеджер версий python

Появлялась ли у вас хоть когда-нибудь надобность в разделении версий python на одной машине? Думаю ответ вероятнее всего будет положительным. В своей практике программирования я нередко сталкиваюсь с ситуациями, когда мне необходимо иметь под рукой сразу несколько версий Питона, да желательно ещё и самых последних. Обычно в Windows среде с этим никогда не возникает проблем, основная сложность для неподготовленного разработчика появляется при работе в unix-like операционных системах, где собственно и разворачивается большинство python-приложений (будь то веб-приложение или новомодный скрипт, автоматизирующий рутинную работу).

Сегодня я хочу кратко рассказать и показать возможности работы такого замечательного инструмента как pyenv. Данный скрипт ни что иное как удобный менеджер версий для языка программирования Python. Лучше всего сразу всё увидеть на конкретных примерах. Читать далее «Pyenv: удобный менеджер версий python»

Итоги первой встречи Python программистов в Алматы

ALA Py

В середине сентября 2015 года мы в Алматы провели первую встречу Питонистов — ALA Py.

На этой встрече было порядка 120 человек (успех). Встреча была организована нашей компанией Aviata.kz. Было прочитано 3 доклада:

Видео с митапа можно посмотреть ниже
Читать далее «Итоги первой встречи Python программистов в Алматы»