28 янв. 2013 г.

Ubuntu: VirtualBox и kernel driver not installed

После обновлений пакетов в Ubuntu, достаточно часто слетает драйвер VirtualBox. Для устранения проблемы пишем в терминал:

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox

25 янв. 2013 г.

PyMongo: Способ выбора случайной записи

Возможно не самый оптимальный способ, но пока не вкурил лучше - использую его :)
import pymongo
from random import randrange
 
collection = pymongo.Connection()[SERVER][BASE]
set = randrange(1, collection.count())
random_data = collection.find().skip(set).limit(10)

set - выводит рандомное число, исходя с подсчетов записей в документе.
skip - срезает документ на нужное количество записей.
limit - устанавливает дальнейший диапазон получения данных.

Как вариант, теперь мы можем обработать данные через цикл:
for line in random_data:
    print line["название_поля"]
Если вам нужна только одна строка, мы можем изменить random_data примерно так:
random_data = collection.find().skip(set).limit(1)[0]["название_поля"]

24 янв. 2013 г.

Ubuntu и MongoDB: mongodb.lock

При запуске сервера, в директории с нахождением БД - MongoDB создает файл mongodb.lock

При окончании работы - эта СУБД удаляет его.

При некорректном завершении работы файл зачастую остается и потом при запуске shell выпадает что-то вроде этого:
Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
Проблему можно устранить удалением файла mongodb.lock в директории /var/lib/mongodb/

P.S. Этот файл - своеобразная защита. Потому желательно найти причину некорректного завершения работы.

17 янв. 2013 г.

Ubuntu и MongoDB: Изменяем путь хранения данных

Изменить стандартный путь, для хранения баз данных можно через терминал и:
mongod --dbpath <путь>
Если вы хотите сделать сделать изменения не только на одну сессию, а на дефолтную загрузку, тогда перейдите в файл /etc/mongod.conf и измените переменную dbpath.


16 янв. 2013 г.

Ubuntu: Добавляем наши модули в PYTHONPATH

Иногда хочется иметь отдельную директорию, для содержания своих библиотек.
В принципе, все наработки можно помещать в уже прописанные папки PYTHONPATH.

Посмотреть их вы можете с помощью:

import sys  
print sys.path

К тому же можно добавить новые пути:

import sys 
sys.path.append( ' путь ... ' )

Но это локальное добавление и они стираются после окончания сессии с интерпретатором.

Потому, для жесткого указания, пишем в терминале:
export PYTHONPATH=$PYTHONPATH:<Путь>

6 янв. 2013 г.