26.04.2010
30.03.2010
20.03.2010
Введение в патерны программирования в питоне
Короткий обзор от Google. Введение в паттерны и базовые примеры на python. Рекомендуется для новичков.
18.03.2010
Производительность веб-серверов написанных на питоне
Очень подробное и интересное исследование: http://nichol.as/benchmark-of-python-web-servers
16.03.2010
Устанавливаем Oracle XE в Ubuntu и подключаем ее к python
Поставить XE в Ubuntu проще простого, поскольку добрые люди уже создали необходимый репозиторий. Поэтому просто добавляем его адрес в apt и инсталируем средствами системы:
После выполнения вышеперечисленных процедур открываем браузер по адресу http://localhost:8080 и заходим в систему управления используя логин: system и пароль который вы задали во время первоначального конфигурирования.
Здесь стоит сделать небольшое отступление, дело в том, что у меня oracle категорически отказывался принимать пароль. Возможно я действительно 2 раза перепутал его во время ввода, возможно это какой то баг. В любом случае действия на случай если система ваш пароль не принимает:
1) Добавляем пользователя производившего установку XE в группу dba (ее создает oracle);
2) Подключаемся к базе через sqlplus: sqlplus /nolog;
3) Подключаемся к системе: SQL> conn /as sysdba;
4) Меняем пароль пользователя system: SQL>alter user system identified by;
5) Profit!
Отлично, допустим установка у вас прошла успешно и в систему вы заходите. Заставим oracle работать для python.
1) Идем на домашнюю страничку Oracle instant client и скачиваем версию CentOS для вашей системной архитектуры и версии python;
2) Используя alien раскатываем rpm-пакет(если не установлен, то поставьте: sudo install alien) sudo alian -i <имя вашего пакета>
3) Идем в директорию вашего python (в моем случае /usr/lib/python2.6) и создаем симлинк на cx_Oracle.so: ln -s site-packages/cx_Oracle.so
4) Проверяем: python -c 'import cx_Oracle', ошибок быть не должно.
sudo vim /etc/apt/sources.list
# Добавляем в конец файла строчку:
# deb http://oss.oracle.com/debian unstable main non-free
# Импортируем ключ:
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
apt-get update
apt-get install oracle-xe
# Ставим пакет
sudo apt-get install oracle-xe
# И конфигурируем его
/etc/init.d/oracle-xe configure
# добавляем в ваш .bashrc (или .profile) следующие строки
# ---------------
# ORACLE SETTING
if [ -d /usr/lib/oracle/xe/app/oracle/product/10.2.0/server ]; then
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_SID=XE
export PATH=$ORACLE_HOME/bin:$PATH
fi
После выполнения вышеперечисленных процедур открываем браузер по адресу http://localhost:8080 и заходим в систему управления используя логин: system и пароль который вы задали во время первоначального конфигурирования.
Здесь стоит сделать небольшое отступление, дело в том, что у меня oracle категорически отказывался принимать пароль. Возможно я действительно 2 раза перепутал его во время ввода, возможно это какой то баг. В любом случае действия на случай если система ваш пароль не принимает:
1) Добавляем пользователя производившего установку XE в группу dba (ее создает oracle);
2) Подключаемся к базе через sqlplus: sqlplus /nolog;
3) Подключаемся к системе: SQL> conn /as sysdba;
4) Меняем пароль пользователя system: SQL>alter user system identified by
5) Profit!
Отлично, допустим установка у вас прошла успешно и в систему вы заходите. Заставим oracle работать для python.
1) Идем на домашнюю страничку Oracle instant client и скачиваем версию CentOS для вашей системной архитектуры и версии python;
2) Используя alien раскатываем rpm-пакет(если не установлен, то поставьте: sudo install alien) sudo alian -i <имя вашего пакета>
3) Идем в директорию вашего python (в моем случае /usr/lib/python2.6) и создаем симлинк на cx_Oracle.so: ln -s site-packages/cx_Oracle.so
4) Проверяем: python -c 'import cx_Oracle', ошибок быть не должно.
13.03.2010
Understanding python (Введение в питон)
Cтарое, но все еще актуальное видео от Google:
В краткой и доступной форме рассказывается про синтаксис питона, классы, методы, объекты, дескрипторы, генераторы, метаклассы и прочее. Рекомендуется к просмотру для новичков. Требует среднего знания английского языка, но я с минимальными навыками в нем, прекрасно все понял.
В краткой и доступной форме рассказывается про синтаксис питона, классы, методы, объекты, дескрипторы, генераторы, метаклассы и прочее. Рекомендуется к просмотру для новичков. Требует среднего знания английского языка, но я с минимальными навыками в нем, прекрасно все понял.
07.03.2010
Pip, virtualenv, virtualenvwrapper
Pip — это набор скриптов для быстрой установки python пакетов. Virtualenv — в свою очередь позволяет создавать виртуальную среду для работы с проектами требующими различные зависимости. А VirtualenvWrapper небольшой bash скрипт для комфортного переключения виртуальных окружений.
Как поставить Pip можно прочитать например здесь: http://ye-e-ep.blogspot.com/2010/02/easyinstall-pip-cygwin.html
Virtualenv ставиться уже с помощью Pip:
Ставим прямо из транка.
VirtualenvWrapper я устанавливать не стал, а просто положил скрипт из репозитория http://bitbucket.org/dhellmann/virtualenvwrapper/src/tip/virtualenvwrapper_bashrc в свой домашний BIN и добавил пару строк в .bashrc:
Директорию $HOME/.virtualenvs тоже необходимо создать. В ней будут храниться наши виртуальные окружения.
Дальше полезно будет посмотреть скринкаст с примерами:
В итоге у нас появляется возможность с легкостью переключать зависимости для разных проектов. Ну и напоследок еще две команды Pip:
Как поставить Pip можно прочитать например здесь: http://ye-e-ep.blogspot.com/2010/02/easyinstall-pip-cygwin.html
Virtualenv ставиться уже с помощью Pip:
pip install hg+http://bitbucket.org/ianb/virtualenv/
Ставим прямо из транка.
VirtualenvWrapper я устанавливать не стал, а просто положил скрипт из репозитория http://bitbucket.org/dhellmann/virtualenvwrapper/src/tip/virtualenvwrapper_bashrc в свой домашний BIN и добавил пару строк в .bashrc:
# --------------- # Virtualenv Wrapper settings export WORKON_HOME=$HOME/.virtualenvs source $HOME/bin/virtualenvwrapper_bashrc
Директорию $HOME/.virtualenvs тоже необходимо создать. В ней будут храниться наши виртуальные окружения.
Дальше полезно будет посмотреть скринкаст с примерами:
virtualenvwrapper from richard leland on Vimeo.
В итоге у нас появляется возможность с легкостью переключать зависимости для разных проектов. Ну и напоследок еще две команды Pip:
# Сохранить список зависимостей в файл pip freeze > requirements.txt # Установить зависимости по списку из файла pip install -r requirements.txt
05.03.2010
Выделение xml блоков в Vim
Обнаружил, что в новых версиях появился новый объект выделения: at/it - "a tag block / inner tag block". Т.е. для изменения текста внутри HTML/XML тага можно использовать: cit
Также в таких документах работает Omni completition:
<table> </<C-X><C-O>
<C-X><C-O> закроет table
Также в таких документах работает Omni completition:
<table> </<C-X><C-O>
<C-X><C-O> закроет table
28.02.2010
Собираем свой vim под cygwin
VIM в пакетах Cygwin по умолчанию идет без поддержки python. В нем не доступно omni дополнение и много прочих вкусных штук. В частности нельзя писать плагины к VIM на питоне. Ну почти нельзя, всегда можно вызвать питоний скрипт из шелла. Я уже год как то с этим жил, но начав углубленное изучение питона решил, что дальше так продолжаться не может. В интернете есть статьи по компиляции Vim для Windows с использованием cygwin, но все подразумевают компиляцию VIM как отдельной программы. Такой редактор в cygwin шелле у вас работать не будет.
Итак, скачиваем исходники VIM, свеженькие из транка:
svn co https://vim.svn.sourceforge.net/svnroot/vim/vim7
Нужно убедиться, что в cygwin установлены пакеты:
Devel/gcc-g++, Devel/make, System/man и Devel/gcc-mingw, Shells/bash, Utils/bzip2 и Devel/mingw-runtime, ncurses, cscope
Идем в src и редактируем Makefile
CONF_OPT_GUI = --disable-gui
CONF_OPT_PYTHON = --enable-pythoninterp
CONF_OPT_CSCOPE = --enable-cscope
CONF_OPT_MULTIBYTE = --enable-multibyte
CONF_OPT_INPUT = --enable-xim
CONF_OPT_OUTPUT = --enable-fontset
CONF_OPT_FEAT = --with-features=huge
CONF_OPT_X = --without-x
Все, делаем make и после успешного окончания make install
Наслаждаемся
Итак, скачиваем исходники VIM, свеженькие из транка:
svn co https://vim.svn.sourceforge.net/svnroot/vim/vim7
Нужно убедиться, что в cygwin установлены пакеты:
Devel/gcc-g++, Devel/make, System/man и Devel/gcc-mingw, Shells/bash, Utils/bzip2 и Devel/mingw-runtime, ncurses, cscope
Идем в src и редактируем Makefile
CONF_OPT_GUI = --disable-gui
CONF_OPT_PYTHON = --enable-pythoninterp
CONF_OPT_CSCOPE = --enable-cscope
CONF_OPT_MULTIBYTE = --enable-multibyte
CONF_OPT_INPUT = --enable-xim
CONF_OPT_OUTPUT = --enable-fontset
CONF_OPT_FEAT = --with-features=huge
CONF_OPT_X = --without-x
Все, делаем make и после успешного окончания make install
Наслаждаемся
Подписаться на:
Сообщения (Atom)