e0ne's comments

OpenStack + RHEL + iptables = buffer overflow detected

Published at December 30, 2011 ·  4 min read

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

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

Published at December 27, 2011 ·  1 min read

Сразу оговорюсь, что вопрос мобильной верстки сейчас затрагивать не буду. Исходя из этого списка, шаблоны, которые предназначенные для мобильных устройст будут выглядеть, примерно, так: {% if request.mobile %}Mobile{% else %}Not mobile{% endif %}  Или же наша view поменяет вид на такой: def index(request):if not request.mobile:return render_to_response(‘index.html’)else:return render_to_response(‘mobile_index.html’) Теперь дело за малым - сделать так, чтоб в объекте нашего запроса (request’а) появилось свойство mobile. Один из самых простых и достаточно эффективных способов - посмотреть какой USER_AGENT у браузера, который делает запрос....

Объекты в 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 - Falsea1 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

Качественного кода нельзя добиться в случае:...

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

Published at December 12, 2011 ·  1 min read

Качественного кода нельзя добиться в случае:...

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

Published at November 22, 2011 ·  3 min read

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

Первая встреча харьковского Python Community Kharkiv.Py

Published at November 9, 2011 ·  1 min read

В Киеве ежегодно проходит PyCon, переодически собираются встречи Kyiv.Py - жизнь python community по немного идет своим ходом. А вот в Харькове, к сожалению, ничего подобного не было (не считая DevTime прошедшей весной). Вот мне и хахотелось собрать харькоское python community для общения, обменом знаниями и опытом. Подробности на http://kharkivpy.org.ua/...

Установка компилятора gcc на Mac OS Lion

Published at October 28, 2011 ·  1 min read

При установке пакетов psycopg2 и lxml easy_install радостно падал с криками:  unable to execute gcc-4.2: No such file or directoryerror: command ‘gcc-4.2’ failed with exit status 1  Вполне логично, т.к. gcc у меня не стоял :(. Странно только что в Snow Leopard все работало. Немного полазив по инету нашел, что gcc ставится вместе с XCode, который ставится бесплатно из Mac App Store. Но и это не сразу помогло. Ниже привожу список шагов, которые понадобились для установки gcc и psycopg2 после этого....

Тестирование проекта: должны ли все тесты проходить успешно

Published at October 27, 2011 ·  2 min read

Хорошо когда код покрыт тестами. Хорошо когда кроме модульных тестов есть еще интеграционные, функциональные, UI-тесты и другие. Но должны ли тесты всегда проходить успешно? Казалось бы, очевидный ответ - да. Но не все так просто… Хороший тест должен выполняться успешно, когда все работает и показывать ошибку если где-то что-то не так. Он должен тестировать только то, что задумывалось и кричать(зчк) сообщать если ожидаемый результат (expetced result) отличается от того, что мы получили при выполнении нашей программы....

Tags

.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx k8s kharkivpy kiss kombu kubernetes kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os macos mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic oop open-source open-xml opensource openstack openvswitch os packages paraller-development patterns-practices performance php pika pip plugins pnp podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh static-site sublimetext svg tests tgt tipfy todo tornado typescript uapycon ui uneta unit-tests upgrades usability vim virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги

Recent posts

Go 1.18: new features

Всё будет Kubernetes

2022 Relaunch

Everyday Blogging

I don't want this CI


Archives

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