e0ne's comments

Переквалификация программиста - так ли это просто?

Published at January 25, 2012 ·  3 min read

Так как периодически сталкиваюсь с этой темой решил высказать свое мнение и заодно поспорить на тему “Насколько легко программисту выучить новый язык и писать на нем”. Я неоднократно слышал утверждения о том, что хорошему программисту выучить новый язык и писать на нем качественный софт/код не составит труда. Со своей стороны, я уже второй раз поменял основной язык, на котором пишу/зарабатываю на хлеб с маслом. Сначала был C#/.NET, как правило, это был веб, ASP....

virtualenv + pip как альтернатива buildout

Published at January 4, 2012 ·  2 min read

Мне всегда казалось, что для небольших проектов использование buildout - это как с пушки по воробьям: долго, сложно и неудобно. Хотелось чего-то более простого и понятного. И таким оказалась связка virtualenv + pip. Про virtualenv я уже писал тут. pip - это замена easy_install, менеджер пакетов для python, который позволяет быстро и удобно устанавливать, обновлять и удалять пакеты. Более подробно можно почитать на официальном сайте. Сейчас же меня интересует возможность быстрого развертывания необходимого окружения для запуска проекта....

Мысли в влух о модульности Django

Published at January 3, 2012 ·  2 min read

Все сказанное ниже является личным мнением автора и не является объективной точкой зрения и/или истиной последней инстанции. Я всегда считал и продолжаю это делать, что Django - не очень-то и модульный фреймворк. Он расширяемый, но не модульный, IMHO. В моем понимании модульный фреймворк, это фреймворк, который состоит из ядра (core), и каких-то модулей, которые можно к нему подключать при желании/необходимости. Но и без них будет доступна минимальная функциональность. В случае же Django - выкинуть из него некоторые модули (e....

2012-й: успеть до конца света

Published at January 1, 2012 ·  1 min read

 Небольшой список того, что хотелось бы сделать в этом году: дочитать книги Learning Python & Prorgamming Python; опрделиться до конца с форматом блога; вывести со статуса beta notacash.com и доделать там всё, что планировал; разобраться с CQRS и дописать брошенное django-cqrs; ещё больше перейти на лицензионный контент (в первую очередь софт, книги, музыка); прочитать всё из http://www.etnogenez.ru/; сделать регулярными встречи KharkivPy; закончить начатое в 2011-м.  ...

OpenStack + RHEL + iptables = buffer overflow detected

Published at December 30, 2011 ·  4 min read

Никогда не знаешь, где упадет OpenStack©  Я, в процессе очередного дебагга. Те, кто читает мой твиттер (@e0ne), должны знать, что в последнее время я работаю с OpenStack’ом, а именно занимаюсь(конечно, не один я) попытками его запуска на Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux, etc. Т.к. все это построено на базе полной и непросветной enterpise в виде RHEL, то сборка нового дистрибутива, как правило, у меня начинается со сборки именно под эту ОС....

Мобильные сайты на Django

Published at December 27, 2011 ·  2 min read

Как правило, адаптация сайтов под мобильные устройства заключается в выполнении одного или нескольких пунктов из следующего списка: - подключения специальной версии CSS; - подключения нужных JavaScript’ов; - создание мобильных шаблонов (templates) с версткой (html). Сразу оговорюсь, что вопрос мобильной верстки сейчас затрагивать не буду. Исходя из этого списка, шаблоны, которые предназначенные для мобильных устройст будут выглядеть, примерно, так: {% if request.mobile %} Mobile {% else %} Not mobile...

Объекты в Python: equals or not equals

Published at December 22, 2011 ·  2 min read

Рассмотрим задачу сравнения двух инстансов простого класса A в Python. Сам класс A выглядит так: class A(object): def init(self, int_param): self.int_value = int_param В данном случае, если мы выполним такой код: a1 = A(1) a2 = A(1) то инстансы этого классы не будут равны между собой: a1 == a2 - False a1 is a2 - False Чтобы понять как это все работает и почему получается такой результат рассмотрим функцию id(object). Функция id() возвращает идентификатор объекта, который будет уникальным и неизменным на протяжении времени жизни объекта....

Git: создаем branch из tag'а

Published at December 21, 2011 ·  2 min read

Любая source control система (TFS, SVN, Git и т.д.) умеет работать с такими вещами, как branch (ветка) и tag (метка). Ветки нужны для разработки каких-то фич, исправления багов и т.д., что бы в это время не ломать уже работающий код. Тэги, в свою очередь, нужны для заморозки какой-то версии кода без возможности последующих исправлений. Грязные хаки вроде залезть в базу данных source control чтобы поменять файл с каким-то тэгом я не рассматриваю по понятным причинам....

Качество кода

Published at December 12, 2011 ·  1 min read

Качественного кода нельзя добиться в случае: - нет code review; - code review проводит один и только один человек; - нету guidelines; - проверка кода не происходит на Continius Integration сервере; - хотя бы один из членов команды не заинтересован в качественном коде; - время на уменьшение технического долга не закладывается при планировании следующей итерации. ...

Form submit: что может быть проще? Часть 1

Published at November 22, 2011 ·  3 min read

Казалось бы, отправить (засабмитить) HTML форму на сервер - стандартная задача, которая не должна вызывать никаких проблем и/или вопросов. Но так, как мы не занимаемся сферическим программированием в вакууме, то время от времени появляются трудности, вопросы, проблемы. Сегодня на повестки для такая задача: Есть страница для бронирования мест в театре/кино и т.д. Выглядит она, примерно, так: Можно выбрать несколько мест и нажать кнопку “Зарезервировать”. При этом данные на странице постоянно обновляются (ajax) для отображения актуальной информации о свободных местах....



Archives

2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)