e0ne's comments

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....

Сравнение библиотек pika и kombu на примере работы с RabbitMQ

Published at February 21, 2012 ·  2 min read

RabbitMQ - одна из реализаций сервера для обмена сообщениями на базе протокола AMPQ(http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol, http://amqp.org/). Подробно описывать его работу, достоинства и недостатки я сейчас не буду. Цель этого поста - сравнить две библиотеки для работы с ним с помощью Python. На самом деле, этих библиотек значительно больше, краткий список их доступен на сайте RabbitMQ: http://www.rabbitmq.com/devtools.html#python-dev. Сравнивал по принципу “нужно это, это и еще вооон то”. Детальное описание фич на сайте - ниже только те, которые были критичные для меня....

Конфигурация сетевых интерфейсов в RHEL-based операционных системах

Published at February 15, 2012 ·  1 min read

Еще один пост из серии “чтоб не забыть и знать где искать”. По умолчанию, RHEL 6.x и любой другой, основанный на нём (CentOS, Scientific Linux), кроме Fedora, дистрибутив в минимальной установки (в других не проверял) после запуска не поднимает доступные ему сетевые интерфейсы. Для их работоспособности необходимо сделать следующее: ifup eht0 # dhclient eth0 Первая команда включает сетевой интерфейс eth0, вторая - запускает DHCP Client. Рабочую сеть мы получили, но теперь прийдется выполнять данные команды после каждой перезагрузки, что не есть хорошо....

Избавляемся от ошибки socket.error: [Errno 98] Address already in use в python

Published at February 8, 2012 ·  1 min read

Время от времени, при разработке очередного API, которое работает поверх HTTP или создается Socket-сервер после остановки и попытки запуска сервера получаю ошибку: socket.error: [Errno 98] Address already in use Проблема заключается в том, что при аварийном (Ctrl+Z) завершении сервера в операционной системе остается запущенным процесс, который слушает нужный мне порт. В разных ОС время жизни такого процесса разное: в RHEL это около двух минут, в Ubuntu - больше. Решение достаточно простое....

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

Published at January 25, 2012 ·  3 min read

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

Tags

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

Recent posts

Docker Image Collection

Not a DNS Server for Libvirt

Diskimage-builder in Docker

Everything as a Code

Vue.js, global variables and TypeScript


Archives

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