e0ne's comments

OpenStack и Quantum: начало

Published at September 11, 2012 ·  4 min read

Из wiki.openstack.org: Quantum is an OpenStack project to provide “network connectivity as a service” between interface devices (e.g., vNICs) managed by other Openstack services (e.g., nova). Из описания можно предположить, что в будущем это станет заменой nova network, что не далеко от правды. Ниже я расскажу об установки OpenStack + Quantum и немного о самом Quantum. Установка OpenStack c помощью скриптов devstack является одной из самых простых и быстрых. В простейшем случае, это выглядит так:...

Создание своего локального PyPI репозитория

Published at June 12, 2012 ·  3 min read

Создать свой PyPI репозиторий для рабочего проекта мне пришлось сразу по нескольким причинам: начиная от архитектурных особенностей, заканчивая простотой удобством такого решения. Началось все с того, что наше приложение состоит из набора независимых между собой частей, packages. Соответственно, каждый такой пакет может зависить от любого числа других - как самописных так и нет. В таком случае создавать для каждого пакета свой файл pip-requirements для разворачивания окружения стало сложно и неудобно....

Пролемы с компиляцией (Xcode) после перехода на Mac OS Lion

Published at April 30, 2012 ·  1 min read

После перехода на Mac OS X Lion многие приложения, которые нужно устанавливать с исходноков перестали компилироваться с примерно такой ошибкой:  error trying to exec ‘cc1plus’: execvp: No such file or directory В список таких приложений попали macports, MacVim, питоновские библиотеки, которые имели расширения на C и т.д. Суть проблемы заключается в том, что Xcode 4.3 или предыдущая версия (Xcode’ом не польщуюсь, поэтому особо не слежу за апдейтами) начал ставиться со всеми зависимостями и тулами в другую папку, а именно в */Applications/Xcode....

Отключение кеширования статических файлов в Tornado

Published at April 5, 2012 ·  2 min read

Статические файлы (картинки, скрипты, css), как правило кешируются для более быстрой работы сайтов (уменьшение трафика - это уже скорее побочное явление). И в этом, казалось бы, нет ничего плохого. За исколючением одного - когда это самое кеширование мешает разработке. В моем случае используется стандартная связка nginx для статики + Tornado для всего остального. Но так как создавать вторую версию конфигурации nginx’а с отключенным кешированием мне не хотелось, да и в процессе разработке во многих случаях можно обойтить самим лишь Tornado, то я решил отключить кеширование в Tornado....

CPython: bytecode - что, где, зачем?

Published at April 3, 2012 ·  3 min read

Хотя python и является интерпретируемым языком программирования, но все-же какае-то компиляция в нем есть. Это не такая компиляция, которую многие привыкли в C/C++. Скорее это нечно похожее на JVM (java virtual machine) и CLR (Common Language Runtime). Это компиляция в bytecode - низкоуровневый платформонезависимый язык, который выполняется внутри Python Virtual Machine (PVM). Более полное и официалное определение с сайта python.org: Python source code is compiled into bytecode, the internal representation of a Python program in the CPython interpreter....

Восстанавливаем работу Mercurial и MacOS Lion + Python 2.7

Published at March 21, 2012 ·  1 min read

Уже не помню когда у меня перестал ратотать клиент к mercurial (hg) - после перехода на Python 2.7 или апгрейда дла Lion. Но так, как я им не пользовался, то решил не тратить время на восстановлние работоспособности. Но тут на проекте решили использовать Mercurial в качестве source control. Соответственно пришлось разбираться с hg. Сразу скажу что установка последней версии проблему не решила. Шаг 1. Выполняем команду hg и получаем ошибку:...

Интересная особенность типа bool

Published at March 6, 2012 ·  1 min read

На днях узнал об одной интересной особенности типа bool в python: >>> b = True >>> b + 1 2 Поведение достатчно логичное, если учесть, что: >>>> isinstance(b, int) True Всё дело в том, что тип bool - это всего-лишь синтаксический сахар и наследник от типа int, который, для удобства использования, может иметь всего два значения - 0 (False) и 1 (True). Пример выше врядли встретится в коде, но зать об этом стоит на случай если где-то случайно поменяется тип переменной с bool на int или наоборот....

Материалы доклада про XSS на QAClub (Харьков)

Published at March 6, 2012 ·  1 min read

Сама презентация: Невоторые полезные ссылки   http://en.wikipedia.org/wiki/Cross-site_scripting http://ha.ckers.org/xss.html http://www.amazon.com/XSS-Attacks-Scripting-Exploits-Defense/dp/1597491543/ref=sr_1_1?ie=UTF8&qid=1331027707&sr=8-1 https://www.owasp.org/index.php/Cross-siteScripting(XSS) http://www.ibm.com/developerworks/tivoli/library/s-csscript/ http://support.microsoft.com/kb/252985 http://css-tricks.com/what-is-xss/ http://habrahabr.ru/blogs/infosecurity/139453/   ...

Доклад про XSS на QAClub (Харьков)

Published at February 27, 2012 ·  2 min read

Уже послезавтра (ну ладно, почти послезавтра) я буду делать доклад на очередной встрече харьковских QA - QAClub‘е. И все было бы ничего, если б в анонсе встречи не были добавлены следующие строчки: “Докладчики постараются рассказать на уровне, который будет доступен и для людей, только знакомящихся с темой безопасности web-приложений. Для понимания доклада про XSS (cross site scripting) знание JavaScript не обязательно”. После этого некоторые самые вкусные интересные вещи о XSS решил не рассказывать....

Тестирование в Python: nose vs pytest

Published at February 25, 2012 ·  2 min read

Продолжаю сравнивать различные python-библиотеки. На этот раз выбор пал на два тест-фреймворка: nose и pytest. Первый позиционирует себя как unit test framework, второй - как для модульных, так и для функциональных и других тестов. Но так, как грань между модульными, интеграционными и функциональными тестами достаточно тонкая, то ее часто не замечают. Поэтому, эти библиотеки можно использовать для всех вышеперечисленных тестов. Краткое сравнение функциональности фреймворков (тут я выбрал наиболее важные для меня вещи): | |nose|pytest |Репозиторий |https://github....

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 kharkivpy kiss kombu 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 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 интернет-магазин книги


Archives

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