Ускорение тестов в django

Posted by & filed under python.

Ускорения тестов django: используем sqlite (django.db.backends.sqlite3) используем tmpfs sudo mount -t tmpfs -o size=200m tmpfs /home/dmitry/tmpfs В итоге в settings настройки БД выглядят так: ‘default’: { ‘ENGINE’: ‘django.db.backends.sqlite3’, ‘TEST_NAME’: ‘/home/dmitry/tmpfs/test_db’, }, Эффективность: создание тестовой БД из 30 сек стало занимать 1 сек UPD: Нашелся даже еще проще вариант разместить БД в памяти. Не нужно работать… Read more »

mysqldump: unknown variable pager

Posted by & filed under python.

Проблема: mysqldump: unknown variable pager Решение: Нужно поместить pager в секцию mysql [mysql] #no-auto-rehash # faster start of mysql but no tab completition pager = less -n -i -S prompt =(\u@\h) [\d]>

Размышления о тестировании ПО

Posted by & filed under python.

Вот такие мысли появились. Сталкнулся с такой проблемой — написание тестов занимает большую часть времени, но не у всех тестов одинаковый приоритет. Есть тесты, которые обрабатываю такие ситуации, вероятность происхождения которых очень низка. Поэтому возникли мысли, а может стоит ввести понятия родов в тестах: тесты 1 рода, проверяют работоспособность системы когда данные введены все правильно,… Read more »

Compare two dicts in python

Posted by & filed under python.

Божественный и простой способ сравнения словарей: a={‘a’: 1, ‘b’: 2 } b={‘b’: 2, ‘a’: 1 } print(cmp(a,b))

Mysql backup every day (Ежедневный бекап в mysql)

Posted by & filed under python.

Скрипт ежедневного бекапа Mysql (основано на этом) #!/bin/bash # Created by Dmitry # based on solution from http://carrotplant.com/en/blog/how-to-dump-all-mysql-databases-into-separate-files USER=»root» PASSWORD=»root» OUTPUTDIR=»/home/dmitry/Backups/mysql_everyday_backup2/» GZIP_ENABLED=1 MYSQLDUMP=»/usr/bin/mysqldump» MYSQL=»/usr/bin/mysql» if [ ! -d «$OUTPUTDIR» ]; then mkdir -p $OUTPUTDIR fi OUTPUTDIR_CURRENT=$OUTPUTDIR/backup_$(date ‘+%Y-%m-%d_%T’) if [ ! -d «$OUTPUTDIR_CURRENT» ]; then mkdir -p $OUTPUTDIR_CURRENT fi # get a list of databases databases=`$MYSQL… Read more »

RabbitMQ. Heartbeat

Posted by & filed under python.

Суть heartbeat: RabbitMQ-cервер периодически отсылает heartbeat сигналы (frames) клиентам и ждет от них ответа. Если определенное количество сингналов теряется, то соединение закрывается. Hearbeat обычно используется для проверки, что клиент на другой стороне всё ещё живой, и не упал с незакрытым соединением (ИМХО, полезно если клиент выполняет времяемкие операции и может долго не отвечать)

RabbitMQ. Начало

Posted by & filed under python.

Настройка аутентификации на RabbitMQ сервере: Добавление пользователя sudo rabbitmqctl add_user myusername mypassword Добавление виртуального хоста sudo rabbitmqctl add_vhost /myvhost Настройка прав: sudo rabbitmqctl set_permissions -p /myvhost myusername «.*» «.*» «.*» UPD: Назначение админских прав: sudo rabbitmqctl set_user_tags myusername administrator Нужно для полноценного просмотра через web-интерфейс (http://localhost:55672/)

Перемещение git репозитория существующего проекта

Posted by & filed under python.

Задача: Переместить git репозиторий существующего проекта в другое место (Практический смысл: перемещение на другой физический носитель, с целью избежать потери данных) Исходное состояние: 1) проект 2) .git директория (расположена рядом) Решение: 1) перемещаем .git директорию в другое место 2) создаем файл .git со следующим содержанием: gitdir: /home/dmitry/another_path/.git Всё. Проверяем: git status Всё корректно работает.

.git to another place

Posted by & filed under python.

Задача: Разместить .git директорию в другой папке Решение: каталог «A» — место с исходниками каталог «B» — место где я хочу разместить git репозиторий Действия: cd /home/dmitry/Agit init —separate-git-dir=»/home/dmitry/B/.git»Initialized empty Git repository in /home/dmitry/B/.git/

pyjs

Posted by & filed under python, Мысли.

Наткнулся на этот сайт: http://pyjs.org/ идея хорошая — вместо js писать на python. Потом посмотрел примеры: http://pyjs.org/examples/ вот примеры меня оттолкнули. Не совсем интуитивно, придется учить эту библиотеку и на выходе все равно какие-то простые куски html и js. Сомневаюсь, что можно что-то отличное сделать в формате web2.0