воскресенье, 21 октября 2012 г.

SSH, аутентификация по ключу

2 машины: local и server (пользователь: admin)

Подключаемся к серверу:

Проверяем /etc/ssh/sshd_config
Protocol 2
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    /home/admin/.ssh/authorized_keys
UsePAM yes

Устанавливал эти опции для увеличение скорости:
GSSAPIAuthentication no
GSSAPICleanupCredentials no

Создаём директорию: mkdir ~/.ssh/
Права: chmod 700 ~/.ssh/

суббота, 20 октября 2012 г.

PEP8 не забыть

используйте 4 пробела для отступа и не используйте табы, не смешивайте их
максимальная длина строки 79 символов; для разрыва строки используйте отступы или бэкслеш
функции верхнего уровня и определения классов отделяйте двумя пустыми строками
определения методов внутри класса отделяйте одной пустой строкой
дополнительные пустые строки используйте для логической группировки методов
кодировка файлов должна быть Latin-1, а в Питоне 3 и выше - utf-8
каждый импортируемый модуль с новой строки
порядок импортов: стандартные модули, third-party модули, локальные модули приложения
пустая строка между каждой группой импортов
избегайте лишних пробелов внутри скобок; перед запятыми, точкой с запятой и двоеточиями
избегайте лишних пробелов перед скобками с аргументами функций и скобками с индексами
избегайте больше чем одного пробела между операторами (= - + итд)
используйте одиночный пробел для выделения операторов
избегайте пробелов вокруг '=', который используется для параметров по-умолчанию и keyword аргументов
обновляйте комментарии вместе с кодом
пишите комментарии по-английски
избегайте имён из одиночных l, O, I
для модулей и пакетов используйте короткие всестрочные имена
для классов используйте СловаНачинаютсяЗаглавными имена
для функций используйте слова_с_подчёркиваниями (или смешанныйРегистр если так получилось исторически)
для методов используйте слова_с_подчёркиваниями имена
для внутренних методов и переменных _подчёркивание_перед_словом
для проверки на None используйте is или is not, не используйте операторы сравнения
используйте исключения основанные на классах -- наследованные от Exception
используйте методы класса string вместо строковых функций
используйте ''.startswith() и ''.endswith() вместо вырезки из строк для проверки префиксов и суффиксов
используйте isinstance() для проверки типа
не сравнивайте булевы переменные с True и False

Послушать на досуге

Yndi Halda, Codeine, Sigur Rós, Talk Talk, A Silver Mt. Zion, Bark Psychosis, Slint, Shora, Explosions In The Sky, The Evpatoria Report, Tortoise

пятница, 19 октября 2012 г.

Экспорт кода в HTML из Vim'a

:TOhtml
:w

В директории с редактируемым файлом, создастся файл с идентичным именем, с расширением html.

четверг, 18 октября 2012 г.

воскресенье, 14 октября 2012 г.

Paste time!

Пил я как-то со своим корешем Сеней, и произошёл такой разговор о деньгах и женщинах. Пили мы в кабаке, пили виски и в больших количествах. Я разведён, а Сеня не женат, и посреди встречи явилась кандидатка в его гёлфренд. Я сразу оскалился, поскольку за километр почувствовал «золотую молодёжь». И не прогадал. Девицу звали Ольга, и с ходу разговор уперся в бутичные тряпки. Потом пошли доходы бойфрендов, и Сенины 1200 баксов в месяц оказались не деньгами, а «девятка» — не машиной. Сеня был уже пьян в дупель и мало соображал, что несет его половинка. Я же завелся, и если бы на её месте был мужик, то он уже собирал бы зубы с пола. Бухать за чужой счет (коктейльчики по 300 р., между прочим) и гнать на хозяина стола (а ещё и его кошель критиковать!) — это хамство. Я сразу вспомнил случай… Когда-то мы бухали с Сеней в Царицино, в парке, на безнике нашего друга Кота. Пиво было из баклажек, а сосиски из палатки у метро, мы ещё не работали. Никакого кабака и виски. И левый чел, который погнал на Кота, хозяина стола, был бит, несмотря на крупные габариты. Есть вещи, которых делать нельзя! А Ольга гонит и гонит. Дальше:

суббота, 13 октября 2012 г.

Мессия

Главный критерий прихода мессии:
И перекуют все народы мечи свои на орала (плуги) и копья свои — на серпы; не поднимет меча народ на народ, и не будут больше учиться воевать
12 часть Ветхого завета 2:4.



понедельник, 8 октября 2012 г.

Python. Urllib2: "unknown url type: https"

Urllib2 выбрасывает экзепшн с таким сообщением:
 unknown url type: https
Причина: Python скомпилирован без поддержки SSL.

Решение: убедиться в том что пакет openssl установлен, установить openssl-devel, перекомпилировать Python.

SQLite objects created in a thread can only be used in that same thread

Объект соединения с базой данных использовался во всех потоках. В итоге получал данную ошибку:
ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id -1220073264 and this is thread id -1233679472

Решение:
conn = sqlite3.connect('checker.db', check_same_thread=False)
 

Замена Python 2.4 на Python 2.7. SQLite. CentOS

ИСПОЛЬЗУЙ VIRTUALENV!

-bash-3.2# uname -i
i386

-bash-3.2# cat /etc/redhat-release
CentOS release 5.7 (Final)

bash-3.2# python -V
Python 2.4

SQLite3 Autoincrement, schema, table_info

 Autoincrement
Тип данных не INT, а INTEGER
CREATE TABLE proxies (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, proxy VARCHAR(16), status VARCHAR(10) DEFAULT 'good', last_used_time DATETIME DEFAULT NULL);


sqlite> pragma table_info(proxies)

0|id|INTEGER|1||1
1|proxy|VARCHAR(16)|0||0
2|status|VARCHAR(10)|0|'good'|0
3|last_used_time|DATETIME|0|NULL|0



sqlite> .schema proxies
CREATE TABLE proxies (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, proxy VARCHAR(16), status VARCHAR(10) DEFAULT 'good', last_used_time DATETIME DEFAULT NULL);