Показаны сообщения с ярлыком Software Engineering. Показать все сообщения
Показаны сообщения с ярлыком Software Engineering. Показать все сообщения

пятница, 30 апреля 2010 г.

Тестирование web сайтов

http://browsershots.org/ - Онлайн сервис, делает скриншоты сайта в разных версиях браузерах

http://www.my-debugbar.com/wiki/IETester/HomePage объединяет в себе движоки разных версий IE

http://finalbuilds.edskes.net/iecollection.htm коллекция IE (ставится скопом на одну машину)

http://litmusapp.com/pricing похож на browsershots, но за деньги

http://crossbrowsertesting.com/pricing

пятница, 5 марта 2010 г.

вторник, 5 января 2010 г.

Переход Ubuntu 9.10 Karmic Pulseaudio Alsa и другие "особенности"

Борьба со склерозом, или шаги которые нужно сделать для установки моего ноутбука.
Очень может быть они будут полезны остальным.

=== Переезд на Ubuntu 9.10 ===
(x86 или 64 будет уточнятся по ходу дела)

===
=== Освобождения винта от данных ===
===

Решил слить все нужные данные на второй винт и сделать "чистую" установку.

Для гарантированного сливания 100+G пробовал использовать sbackup, опыт печальный,
когда архив получился 70G, и я его в целях проверки стал распаковывать на третий винт,
после 30 минут распаковки - выдал ошибку "неожиданный конец архива".

Итог: для переноса данный использовать rsync.
$ rsync --progress -luogthvr --delete-after from to

Плюс в том, что даже если чтото "оборвалось", можно быстрее "докачать" остатки.

===
=== Выбор 64 или 32 ===
===
Сначала я выбрал 64, про№;%?*(; со звуком, я решил поставить 32, но выяснилось что тут теже яйца.
Поэтому победа и тесты были проведены на 32, а на чистую я буду ставить 64 (пишу этот документ как
финишный 32 и как помятку по которой буду устанавливать 64).

===
=== Устанавливаем систему, избавляемся от Pulse, выбираем Alsa ===
===
Установить систему с LiveCD, применить все обновления.
Если коротко то проблема звука вылезла с Skype. Микрофон работал очень, тихо практически не слышно.
Также "тихо слышно" работала стандартная "Звукозапись".
Еще одни грабли вылезли на внешней звуковой карте, просто в 9.10 нет аналога gnome-sound-properties из 8,
и выбрать по человечески куда играть музыку в штатные колонки или стационартные я не могу.

Просто писец... Шаг назад в человечности.

===
=== Избавляемся от Pulse, выбираем Alsa ===
===
По материалам:
[1] Как избавиться от pulseaudio в Karmic (Ubuntu 9.10)
http://forum.ubuntu.ru/index.php?topic=69589.0
Спасибо Psy[H[] и Демагог, за их дельные посты.

[2] Re: Ubuntu's switch to pulseaudio broke accessibility for the blind
http://n2.nabble.com/Re-Ubuntu-s-switch-to-pulseaudio-broke-accessibility-for-the-blind-td3886061.html

Итак по порядку, что делал чтобы заработало у меня:
== из источника [1] ==
1. Собсвтенно урбать pulseaudio не сложно:
$ sudo apt-get remove pulseaudio gstreamer0.10-pulseaudio
это потянет соответсвтующие пакеты, ничего жизненно важного.
$ killall pulseaudio

2. NEW - не удалять потому что подменим gnome-volume-control Подтираем остатки мусора
$ gnome-session-properties
ищем там gnome-volume-control-applet и выключаем/удаляем. Он бесполезен, так как ничего не умеет кроме как в фоне ругаться на отсутствие pulseaudio.
еще прибиваем его в текущей сессии, чтобы не ныл:
$ killall gnome-volume-control-applet

3. Идем в
$ gstreamer-properties
известный в народе как "выбор мультимедийной системы" cтавим везде где можно ALSA,
в [1] 3тим пунктом указано еще одно не обязательное телодвижение, у меня заработало без него.

4. теперь нам нужен микшер. Выбор тут есть. И консольный alsamixer и кучка гуев к нему. Но самостоятельно парящие гуи в основном кривые. Поэтому автор скромно советует
$ sudo apt-get install xfce4-mixer
микшер качественный, без глюков и ничего особо серьезного по зависимостям за собой не тянет. Ставим, размещаем лончер команды xfce4-mixer на панели по вкусу.
При первом запуске микшер будет пуст - необходимо выбрать карту и видимые каналы.

5. Самое коварное - управление с клавиатуры
Обойтись можно тремя командами:
amixer sset Master 5+
amixer sset Master 5-
amixer sset Master toggle
соответственно увеличить, уменьшить, включить/выключить.
Данные команды можно повесить на на исполнение нужными кнопками через стандартную гномовскую утилиту,
"Добавить" новую команду.
$ gnome-keybinding-properties
также можно повесить как лончеры на панель.

6. последний шртих:
$ sudo apt-get install alsa-oss
чтобы приложения, написанные под oss тоже могли выводить звук через ALSA.

После этих шагов остались не приятные последствия: gnome-volume-control перестал работать (при запуске Система\Параметры\Звук, получаем "Ожидание ответа звуковой подсистемы").
И нет возможности менять звуковуй карту (слушать через внешнею USB TerraTec Aureon 5.1), что в предыдущей версии делалось через gnome-sound-properties.

Выход:
1) заменить gnome-volume-control (Ubuntu 9.10 Karmic) на его же из jaunty (из соответсвующей 32bit или 64bit).
2) добавить отсутвующий gnome-sound-properties.
Для обоих случаев - качаем пакеты содержащие их из предыдущей Ubuntu, разархивируем, берем нужные файлы, ложим их на нужные места к себе.

Установим 1):
Скачаем нужное (i386 или amd64 в зависимости от вашей платформы):
gnome-volume-control лежит в пакете gnome-media (/usr/bin/gnome-volume-control)
http://packages.ubuntu.com/jaunty/amd64/gnome-media/download
http://packages.ubuntu.com/jaunty/i386/gnome-media/download

$ sudo cp /usr/bin/gnome-volume-control /usr/bin/gnome-volume-control2
заменим на взятый из предыдущей версии
$ cd old_gnome-media_path/usr/bin/
$ sudo cp gnome-volume-control /usr/bin/
до кучи заменим и gnome-sound-recorder ("Звукозапись"), им мы сможем проверить правильную работу микрофона
$ sudo cp /usr/bin/gnome-sound-recorder /usr/bin/gnome-sound-recorder2
$ cd old_gnome-media_path/usr/bin/
$ sudo cp gnome-sound-recorder /usr/bin/

Установим 2):
Тут кроме копирования файла нужно скопировать sound-properties.glade, возмем его с ветки форума
http://www.4front-tech.com/forum/viewtopic.php?f=3&t=3324
http://www.4front-tech.com/forum/download/file.php?id=1
в этом же архиве лежит исполняемый файл и можно взять его
(не тянуть из пакетов, хотя если ты параноик.. то официальные ссылки ниже)
gnome-sound-properties лежит в пакете gnome-control-center (/usr/bin/gnome-sound-properties)
http://packages.ubuntu.com/jaunty/amd64/gnome-control-center/download
http://packages.ubuntu.com/jaunty/i386/gnome-control-center/download
копируем
$ sudo cp gnome-sound-properties /usr/bin/
$ sudo mkdir /usr/share/gnome-control-center/glade/
$ sudo cp sound-properties.glade /usr/share/gnome-control-center/glade/


=== Все теперь должно работать, удобно ===
Для быстрого переключения звуковой карты выведем команды на панель
gnome-sound-properties


=== Проверим скайпом ===
установим
для 32bit можно воспользоватся репозиторием
$ sudo gedit /etc/apt/sources.list
add line:
deb http://download.skype.com/linux/repos/debian/ stable non-free
$ sudo apt-get update
$ sudo apt-get install skype

для 64bit ставим из пакета
$ wget http://www.skype.com/go/getskype-linux-beta-ubuntu-64
и устанавливаем.
skype-ubuntu-intrepid_2.1.0.47-1_amd64.deb


В skype в настройке, убрать галку с "Устройства\Позволить skype автоматически подстраивать громкость".
Проверить что микрофон не выключен, что для input истойства volume не на нуле.
Сделать тестовый звонок, должно все работать.


=== Дальше идут обычные шаги, по установке софта которым я пользуюсь ===


# medibuntu
sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update


sudo apt-get install nautilus-gksu nautilus-open-terminal

суббота, 2 января 2010 г.

Rsync - способ синхронизации файлов

http://blog.jphoude.qc.ca/2007/12/01/simple-incremental-backup-rsync-ssh/
http://www.webnext.ru/blog/2007/07/02/rsync-howto.html

Разберём на примере:

rsync -e ssh --progress -lzuogthvr --compress-level=9 \
--delete-after root@:/home/ /home/

или

rsync -e ssh --progress -lzuogthvr --compress-level=9 \
--delete-after /home/ root@:/home/

зависит от того, в какую сторону синхронизируем файлы

Обратите внимание на последний слеш, так как он имеет значение для rsync. Если на конце исходной директории стоит «/», то это означает копирование содержимого директории; отсутствие слеша означает копирование директории и ее содержимого.

Ключи:

* e — заменяет протокол с rsh на ssh

* progress — вывод хода процесса работы на терминал
* l — пересоздание symlinks, это значит, что символические ссылки будут так же переноситься

* z — использовать сжатие
* u — update. Обновление, он будет пропускать файлы которые новей, чем на удалённом сервере

* o — установить владельца конечного файла таким же, как и у исходного
* g — установить группу конечного файла таким же, как и у исходного

* t — передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
* h — вывод информации на терминал в удобном для чтения (human-readable) виде

* v — verbose. Вывод сообщений в терминал.
* r — рекурсивный режим

* n — отладочный режим
* compress-level — уровень сжатия

понедельник, 7 декабря 2009 г.

nginx vps and related

http://www.youtube.com/watch?v=DB-ikoCnjvk

понедельник, 14 сентября 2009 г.

Интересные материалы

***
Верхом на облаке в 21 век. Статья для журнала Хакер.
http://abrdev.com/?p=962

вторник, 28 июля 2009 г.

Установка svn на Windows и конфигурирование для доступа через windows аутентификацию

Доп. литература: http://blog.pengoworks.com/index.cfm/2007/11/1/Configuring-Windows-Authentication-with-Apache-22x-and-Subversion

*
*
Установить
apache_2.2.11-win32-x86-openssl-0.9.8i.msi
настройки берем по умолчанию.

*
*
Установить в c:\InstalledApps\subversion\ (игнорируем точто в пути инсталяции по умолчанию прописано x86)
Setup-Subversion-1.6.2.msi


В c:\InstalledApps\subversion\bin\svn-book.chm лежит документация по настройке.

*
*
Остановим httpd
Скопируем c:\InstalledApps\subversion\bin\*.so в "c:\Program Files\Apache Software Foundation\Apache2.2\modules\"
Скопируем c:\InstalledApps\subversion\bin\*.dll в "c:\Program Files\Apache Software Foundation\Apache2.2\bin\" с заменой всех.


В "c:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf"
в конец секции загрузки модулей добавим

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

проверим что модули загрузились: запустим httpd - должен стартануть успешно.

*
*
Создадим директорию d:\svn\ и в ней репозиторий yenisei
svnadmin create --fs-type fsfs d:\svn\yenisei


*
*
Пропишем репозиторий в httpd.conf ("c:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf")
добавим в самом низу

DAV svn
SVNParentPath d:\svn



*
*
презапустим httpd, зайдем по адресу http://localhost/svn/yenisei/
должны видеть:
yenisei - Revision 0: /


* теперь нужно сделать чтобы репозиторий был доступен только по windows аутентификацией
*
делаем руководствуясь TortoiseSVN: 3.1.9. Securing the server with SSL:
В httpd.conf РАСКоментировать строки:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

Зайдем в "c:\Program Files\Apache Software Foundation\Apache2.2\" и создадим SSL сертификат, для сервера с именем melissa.
выполним:
bin\openssl req -config conf\openssl.cnf -new -out conf\melissa.csr
PEM prase, я указал свой доменный пароль

выполняем по порядку, по ходу дела отвечая на вопросы
bin\openssl rsa -in privkey.pem -out conf\server.key
bin\openssl req -new -key conf\server.key -out conf\server.csr -config conf\openssl.cnf
bin\openssl x509 -in conf\server.csr -out conf\server.crt -req -signkey conf\server.key -days 4000
bin\openssl x509 -in conf\server.crt -out conf\server.der.crt -outform DER

*
*
Перезапускаем httpd, Попробуем зайти на: https://localhost/svn/yenisei/
должны получить "yenisei - Revision 0: /" по протокулу https

Если сервер не стартует (на WinXP стартовал, на Win2000 нет): смотрим в журнал событий, там ошибка вида:
The Apache service named reported the following error:
>>> Syntax error on line 62 of C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/extra/httpd-ssl.conf
идем в этот файл и комментарим 62 строку, после чего сервер запускается.


*
* Оставим доступ только по ssl и добавим возможность windows аутентификации
*
Скачаем (http://sourceforge.net/projects/mod-auth-sspi) или возмем в инсталлах (\\heracle\Install\ASU\SoftwareDev\Web server and environment\SetupSVN\mod_auth_sspi-1.0.4)
Копируем mod_auth_sspi.so добавляем
LoadModule sspi_auth_module modules/mod_auth_sspi.so
ДО !!! LoadModule dav_module modules/mod_dav.so
т.е. получается:
LoadModule sspi_auth_module modules/mod_auth_sspi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

*
*
Изменяем в httpd.conf


DAV svn
SVNListParentPath on
SVNParentPath d:\svn

AuthName "Subversion Authentication"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
# set the domain to authorize against
SSPIDomain Домен
SSPIOmitDomain On # keep domain name in userid string
SSPIOfferBasic On # let non-IE clients authenticate
SSPIBasicPreferred Off # should basic authentication have higher priority
SSPIUsernameCase lower

# require the SVN Users group
Require group "Домен\группа"

вторник, 19 мая 2009 г.

Setup developer toolbox on Linux

####
# Komodo IDE
####

# in /tmp
tar -xvzf Komodo-IDE-5.1.3-28369-linux-libcpp6-x86.tar.gz
cd Komodo-IDE-5.1.3-28369-linux-libcpp6-x86
./install.sh -I /usr/local/Komodo-IDE-5

понедельник, 30 марта 2009 г.

Setup postgresql on Ubuntu for using from django

# how to prepare clean Ubuntu for developmetn and testing

sudo apt-get -y install mc

# database engine
sudo apt-get -y install postgresql

# client tools
sudo apt-get -y install pgadmin3

sudo apt-get -y install python-psycopg2
sudo apt-get -y install python-setuptools
sudo apt-get -y install subversion

# create dir for third parthy
mkdir ~/apps

# django
svn co http://code.djangoproject.com/svn/django/trunk ~/apps/django-trunk
cd ~/apps/django-trunk
sudo python setup.py install

# db-templates
sudo easy_install django-dbtemplates

# filebrowser
svn co http://django-filebrowser.googlecode.com/svn/trunk/filebrowser/ ~/apps/filebrowser
sudo ln -s ~/apps/filebrowser /usr/lib/python2.6/dist-packages/filebrowser

# django-tinymce
cd /tmp
wget http://django-tinymce.googlecode.com/files/django-tinymce-1.5.tar.gz
tar xzvf django-tinymce-1.5.tar.gz
cd django-tinymce-1.5
sudo python setup.py install


# copy install folder to ~/tmp

# install Komodo ide
cd ~/tmp/install/komodo
tar -xvzf Komodo-IDE-5.1.3-28369-linux-libcpp6-x86.tar.gz
cd Komodo-IDE-5.1.3-28369-linux-libcpp6-x86
sudo ./install.sh -I /usr/local/Komodo-IDE-5
mkdir ~/.ActiveState
cp ~/tmp/install/komodo/ActiveState.lic ~/.ActiveState


# my projects
mkdir ~/projects
svn co file:////media/disk/projects/svn/web-projects ~/projects/web-projects
sudo ln -s ~/projects/web-projects/trunk/apps/showcase /usr/lib/python2.6/dist-packages/showcase
sudo ln -s ~/projects/web-projects/trunk/apps/hpages /usr/lib/python2.6/dist-packages/hpages



# create user for postgres
sudo su - postgres
createuser -S -d -R -E -P pguser

# Modify /etc/postgresql/8.2/main/pg_hba.conf to require password authentication for local connections:
# Comment or remove any existing lines at the end of the file, then append this:
#local all all password

sudo /etc/init.d/postgresql-8.3 restart

# create database:
createdb --encoding=UTF-8 --username=pguser --password db_name

понедельник, 23 февраля 2009 г.

Steps for setup python2.5 django and satchmo on CentOS

# This post is HOW TO Install python2.5 and django and satchmo on CentOS
# You can copy this post to file and run: $ sudo sh this-post-text-file
# See also:
# http://www.perplexedlabs.com/2008/11/10/setup-python-25-mod_wsgi-and-django-10-on-centos-5-cpanel/


### Setup Python2.5 and setuptools
# Install gcc
yum -y install gcc

# Python2.5 + CentOS + ziplib, fix error: zipimport.ZipImportError: can’t decompress data; zlib not available
# for fix
# See also: http://brichotomy.com/post/49322472/python-2-5-zlib-on-centos-5
yum -y install zlib-devel

# fix: django.core.exceptions.ImproperlyConfigured: Error loading sqlite3 module: No module named _sqlite3
yum -y install sqlite-devel

# Setup python2.5.4 (before MUST setup zlib-devel). To avoid static link by python modules(e.g. mod_python) you should run configure script with "--enable-shared" option
cd /tmp
wget http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz
tar xvfz Python-2.5.4.tgz
cd Python-2.5.4
./configure --enable-shared
make
make install

# Enable to find your dyamic link liblary
echo /usr/local/lib > /etc/ld.so.conf.d/python2.5.conf
ldconfig


# Setup easy_install (setuptools)
cd /tmp
wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py2.5.egg
sh setuptools-0.6c9-py2.5.egg


### Setup Django
# See also: http://docs.djangoproject.com/en/dev/topics/install/
yum -y install subversion
mkdir /home/apps
svn co http://code.djangoproject.com/svn/django/trunk/ /home/apps/django-trunk
ln -s /home/apps/django-trunk/django /usr/local/lib/python2.5/site-packages/django
ln -s /home/apps/django-trunk/django/bin/django-admin.py /usr/local/bin


### Setup Dependencies for Satchmo
# See also:http://www.satchmoproject.com/docs/svn/new_installation.html
easy_install-2.5 pycrypto
easy_install-2.5 http://code.enthought.com/enstaller/eggs/rhel/3/Reportlab-2.1.0001-py2.5.egg
easy_install-2.5 django-registration

cd /tmp
wget http://www.satchmoproject.com/snapshots/trml2pdf.tar.gz
tar xvfz trml2pdf.tar.gz
cp -R /tmp/trml2pdf/trml2pdf /usr/local/lib/python2.5/site-packages

easy_install-2.5 PyYAML
easy_install-2.5 --find-links=http://download.zope.org/distribution PILwoTk

cd /temp
wget http://banjo.assembla.com/spaces/threaded_multihost/documents/cN9MkM2jyr3Aayab7jnrAJ/download/django_threaded_multihost-1.3_0-py2.5.egg
easy_install-2.5 django_threaded_multihost-1.3_0-py2.5.egg

svn checkout http://django-app-plugins.googlecode.com/svn/trunk/ /home/apps/django-app-plugins
ln -s /home/apps/django-app-plugins/app_plugins /usr/local/lib/python2.5/site-packages/app_plugins

svn co http://sorl-thumbnail.googlecode.com/svn/trunk/sorl/ /home/apps/sorl
ln -s /home/apps/sorl /usr/local/lib/python2.5/site-packages/sorl

### Setup Satchmo
svn co svn://satchmoproject.com/satchmo/trunk /home/apps/satchmo-trunk
cd /home/apps/satchmo-trunk
python2.5 setup.py install

# setup compleeted, test correct
# first test:
# step 4 in http://www.satchmoproject.com/docs/svn/new_installation.html#installing-satchmo-into-your-path
# second test:
# cd /home/apps/satchmo-trunk/satchmo/projects/simple
# python2.5 manage.py runserver
# go to: http://localhost:8000, you can see simple shop

#
#if django running by mod_python we need upgrade mod_python for work with python2.5
#

# "apxs" is extension development framework for Apache web server. mod_python requires apxs
yum -y install httpd-devel

# mod_python; IMPORTANT: you must specify "--with-python"
cd /tmp
wget http://apache.mirrors.redwire.net/httpd/modpython/mod_python-3.3.1.tgz
tar xvfz mod_python-3.3.1.tgz
cd mod_python-3.3.1
./configure --with-python=/usr/local/bin/python2.5
make
make install

# add mod_python to Apache config and restart web server
echo LoadModule python_module /usr/lib/httpd/modules/mod_python.so\ > /etc/httpd/conf.d/python.conf

service httpd restart


# setup sqlite for python2.4

cd /tmp
wget http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.5/pysqlite-2.5.5.tar.gz
tar xvfz pysqlite-2.5.5.tar.gz
cd pysqlite-2.5.5
python setup.py

# setup sqllite via easy_install for python2.4
uname -a

yum -y install python-devel
yum -y install sqlite-devel

cd /tmp

wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c9-py2.4.egg
sh setuptools-0.6c9-py2.4.egg
easy_install pysqlite


# alternative install setuptools
yum -y install python-setuptools

# install PIL
easy_install --find-links http://www.pythonware.com/products/pil/ Imaging


setup postgre
http://www.postgresonline.com/journal/index.php?/archives/45-An-Almost-Idiots-Guide-to-PostgreSQL-YUM.html