Инструкция по работе с DoubleClick

Сервисы Google порой мне кажутся примером того как не нужно создавать пользовательский интерфейс, так сказать анти-паттерном проектирования UX. Именно поэтому я сегодня хочу написать небольшую заметку о том, как работать с рекламным сервисом DoubleClick от компании Google, чтобы в будущем не приходилось всё заново вспоминать.

Что такое DoubleClick?

DoubleClick это рекламная сеть Google, позволяющая веб-мастерам встраивать в свои веб-проекты рекламные объявления (баннеры, Adsense), используя возможности этого сервиса. Проще говоря, в определённые места своего сайта вы встраиваете специальный JavaScript код, отвечающий за показ объявлений. Читать далее «Инструкция по работе с DoubleClick»

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

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

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

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

Как писать повторяемый код

Я долго думал как бы перевести на русский язык термин reusable code. Ничего лучше не придумал как использовать банальное выражение — повторяемый код. В конце концов ведь он действительно повторяемый, например, библиотека ничто иное как набор кода, который повторно используется во многих проектах.

В мире программирования есть одна очень важная аксиома суть которой заключается в том, что для того чтобы писать грамотный код, необходима практика. Постоянная практика. Практика написания кода, а также чтения своего/чужого кода. Никто сразу не может написать грамотный и красивый код. Сначала мы пишем плохой код, учимся, анализируем свои ошибки, возвращаемся к своему коду и начинаем его рефакторить до тех пор, пока он не будет соответствовать нашему внутреннему стандарту качества. Когда этот стандарт повышается, то цикл повторяется снова.

Из этой аксиомы следует, что нам необходим источник знаний из которого мы будем питаться. Читать далее «Как писать повторяемый код»

Рецензия на книгу Проект Феникс. Роман о том, как DevOps меняет бизнес к лучшему

Проект Феникс

Около двух месяцев назад в книжном магазине мне случайно на глаза попалась книга под интригующим названием Проект Феникс. Роман о том, как DevOps меняет бизнес к лучшему. Не скрою, я попался на модное нынче слово DevOps. Немного почитав предисловие к книге, я понял что она меня заинтересовала, тем более что цена на неё была «смешной». Всё это время после покупки я даже не притрагивался к книге. 1 января 2016 года я всё же решил её начать читать. И знаете, не мог оторваться от чтения всё это время. Совокупно, мне потребовалось 2 дня, чтобы осилить эту книгу. Хорошее начало года. Читать далее «Рецензия на книгу Проект Феникс. Роман о том, как DevOps меняет бизнес к лучшему»

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

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

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

Vagrant: что за зверь и как с ним работать?

Vagrant logo

За последнее время обилие инструментов для разработчиков неуклонно растёт: Ansible, Otto, Vagrant, Nomad, Consul, Puppet, Chef… Что это всё? Дабы немного прояснить ситуацию, сегодня я бы хотел рассказать о таком замечательном инструменте как Vagrant, который сам использую практически каждый день.

Что такое Vagrant?

Vagrant это инструмент, позволяющий унифицировать среду разработки и среду в которой этот код будет разворачиваться, используя технологию виртуализации. Проще говоря, если вы как и я любитель делать проекты в среде Windows, но в будущем разворачивать их на *nix машинах, то Vagrant вам в помощь 🙂 Читать далее «Vagrant: что за зверь и как с ним работать?»

Бесплатные SSL сертификаты от Let’s Encrypt

В прошлом году Google явно дал всем понять, что пора бы уже подключать SSL сертификаты к своим сайтам. Теперь же по-умолчанию предпочтение будет отдаваться сайтам, использующим защищенное соединение. В связи с этим с недавних пор появилась шумиха вокруг бесплатных SSL сертификатов (давно уже пора). При поддержке Linux Foundation, а также Mozilla, Facebook, Akamai, Cisco и многих других именитых гигантов IT индустрии, свет увидел проект под названием Let’s Encrypt.

Проект в первую очередь призван обезопасить Читать далее «Бесплатные SSL сертификаты от Let’s Encrypt»

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

ALA Py

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

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

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

Руководство по работе с HTTP в Python. Библиотека requests.

Стандартная библиотека Python имеет ряд готовых модулей по работе с HTTP.

Если уж совсем хочется хардкора, то можно и сразу с socket поработать. Но у всех этих модулей есть один большой недостатокнеудобство работы.

Во-первых, большое обилие классов и функций. Во-вторых, код получается вовсе не pythonic. Многие программисты любят Python за его элегантность и простоту, поэтому и был создан модуль, призванный решать проблему существующих и имя ему requests или HTTP For Humans. На момент написания данной заметки, последняя версия библиотеки — 2.9.1. С момента выхода Python версии 3.5 я дал себе негласное обещание писать новый код только на Py >= 3.5. Пора бы уже полностью перебираться на 3-ю ветку змеюки, поэтому в моих примерах print отныне является функцией, а не оператором 🙂

Что же умеет requests?

Для начала хочется показать как выглядит код работы с http, используя модули из стандартной библиотеки P Читать далее «Руководство по работе с HTTP в Python. Библиотека requests.»

Ещё одна попытка начать писать в блог

Приветствую, уважаемый читатель!

Честно говоря, я уже давно забыл какой это по счёту блог, вернее попытка начать вести его. Так уж получилось, что более-менее успешный блог у меня был в далеком 2009 году, но из-за «кривизны» моих рук его уникальный контент бесследно канул в лету. Позже были многочисленные попытки возродить его, но каждый раз всё заканчивалось неудачей, проще говоря, мне было лень снова что-то начинать писать. Необходимость ведения блога есть, причём острая. В первую очередь она связана с родом моей деятельности. Я разработчик ПО, в простонародье программист, а ввиду нашей динамичной сферы деятельности, где технологии устаревают и появляются столь стремительно, не делать заметки грех. Мы, программисты, по своей природе ленивый народ, и именно этот факт частенько доставляет нам массу неудобств и страданий. Помимо того что мы ленимся комментировать свой код и писать к нему документацию, мы не делаем банальных заметок при изучении тех или иных вопросов, связанных с технологиями и их смежными областями. Стоит лишь отнестись к данному вопросу чуточку серьёзней, это помогло бы нам сэкономить массу времени и нервов в будущем. Поэтому данный блог я рассматриваю в первую очередь как записную книжку для моих мыслей, идей и размышлений. Если уж так получится, что кто-то из вас найдёт здесь для себя что-нибудь полезное, то я буду только этому рад.

Тематика блога узконаправленная, в основном тут будут записки на тему софтостроения и смежные области.

Контактную информацию можно посмотреть на странице Обо мне.