Activity indicator
http://neteye.github.com/activity-indicator.html
Простой и красивый индикатор загрузки для веб-приложения
Django-сервер – быстро и со вкусом
Установка
sudo apt-get install python-django libapache2-mod-wsgi python-mysqldb python-setuptools
Виртуальные хосты
ServerName tang.local
WSGIDaemonProcess snake display-name=%{GROUP}
WSGIProcessGroup snake
WSGIScriptAlias / /mnt/host/snake/apache/django.wsgi
Alias /static /mnt/host/snake/static
WSGI-скрипт
import os
import sys
sys.path.append('/mnt/host')
sys.path.append('/mnt/host/snake')
os.environ['DJANGO_SETTINGS_MODULE'] = 'snake.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
from http://coder.kidsreturn.org/2011/11/django-production-server/
Рецепты С++
Хочу представить вам некоторый список рецептов для С++, найти которые было не очень просто.
Разбиение строки по некоторой подстроке с использованием boost:
std::string tmp_string = "qwe-->rty-->asd";
std::vector<std::string> tmp_vector; // Создаем хранилище для продуктов разбиения
boost::algorithm::iter_split(tmp_vector, tmp_str, boost::algorithm::first_finder("-->")); // собственно разбиение
Параметризованный запрос с использованием библиотеки pqxx (PostgreSQL C++ API):
#include <pqxx/pqxx>
int main(){
pqxx::connection conn("host=127.0.0.1 user=usr password=pwd dbname=usr");
pqxx::work cursor(C, "test");
conn.prepare("test", "SELECT word_count FROM mutation_pool WHERE word=$1")("varchar", pqxx::prepare::treat_string);
pqxx::result res = cursor.prepared("test")("elseword").exec();
}
Не забываем указать линковщику использование библиотек pq и pqxx!
[C++] Работа с xmlrpc
Недавно потребовалось мне воспользоваться http://api.sape.ru/ в своем приложении на языке C++. API это реализовано с использованием протокола xmlrpc(для справки: является прародителем SOAP). Разумеется, моя природная лень не позволила мне потратить пару дней на реализацию этого протокола для C++ и я отправился на поиски готового решения.
Вариантов оказалось несколько:
- QXmlRpc – Реализация с использованием фреймворка Qt4, автором которой является Dmitry Poplavsky(большое ему спасибо).
- Libiqxmlrpc – Реализация с использованием boost.
- Libmaia – Ещё один вариант на Qt4, основанный на QuteXR и KRPC.
- xmlRpc++ – библиотека, основанная на py-xmlrpc
Из всего вышеперечисленного я выбрал QXmlRpc по следующим причинам:
- В моем проекте уже использовался Qt;
- Библиотека успешно завелась и на Linux, и на Windows;
- Код написан достаточно качественно(снабжен комментариями и документацией, обрабатываются ошибки);
- Является достаточно полной и в то же время простой в использовании реализацией протокола xmlrpc.
- Прекрасно работает и с python.
Использование библиотеки
[Даешь экран!] Настройка удаленного управления с помощью VNC(vino)+настройка web-клиента.
Привет!
Недавно я задался целью: настроить удаленное управление своим рабочим столом в GNOME так, чтобы доступ к нему можно было получить из браузера(как в SUSE Studio). Очевидным решением было установить vnc-сервер и найти для него клиент на java. Так я и поступил и все оказалось даже проще, чем я думал.
В качестве vnc-сервера я выбрал Vino вот за такой простой интерфейс:

vino
Далее оказалось, что на сайте tightvnc уже есть готовый java-апплетик, который можно скачать здесь: tightvnc-1.3.10_javabin.zip
После скачивания распаковываем архив в любую директорию нашего веб-сервера и редактируем index.html:
<APPLET CODE="VncViewer.class" ARCHIVE="classes/VncViewer.jar" WIDTH="1280" HEIGHT="800"> <!-- Размер апплета --> <PARAM NAME="HOST" VALUE="localhost"> <!-- Хост --> <PARAM NAME="JPEG image quality" VALUE="0"> <!-- Качество картинок --> <PARAM NAME="Compression level" VALUE="9"> <!-- Уровень сжатия --> <PARAM NAME="Restricted colors" VALUE="yes"> <!-- Ограничение на цвета --> <PARAM NAME="Defer screen updates" VALUE="0"> <!-- Задержка обновления экрана --> <PARAM NAME="Cursor shape updates" VALUE="Disable"> <!-- Показывать реальную позицию курсора на сервере --> <PARAM NAME="PORT" VALUE="5901"> <!-- Порт -->
Выше указаны оптимальные настройки, весь список можно найти в Readme.txt прилагающемся к java-апплету.
После настройки откройте страницу в браузере, если все прошло хорошо, то вы увидите ваш стол:) И ещё: плохая идея пытаться подсоединиться с того же компьютера, на котором установлен vnc-сервер
Удачи!
[c2m] Обещанный плагин для Google Chrome
[c2m] Небольшой сервис обмена информацией:)
Привет!
Не так давно(а точнее даже давно) зародилась в моей больной голове идея сделать несколько небольших сервисов для удобного обмена кодом, ссылками и картинками. Сначала я сделал простой вариант, а затем sk_ и mie помогли мне доделать недостающие части и дошлифовать их практически до блеска.
Результат можно посмотреть здесь: http://index01d.com/c2m/
Также у нас имеется плагин для fx, который можно скачать по ссылке: http://c2m.ath.cx/nx4m2v
В ближайшие дни кто-то из нас допилит и выложит плагин для chrome:)
Скриншоты:
Надеемся, что эти сервисы окажутся полезными не только для нас:) Удачи!
[Даешь поток!] Настройка вещания в сети при помощи icecast и ices.
Привет!
Сегодня я хочу рассказать, о том как настроить вещание звука(музыки, голоса, чего угодно) в сеть. Описание, как и всегда, я буду вести относительно дистрибутива openSUSE, а если у вас другой дистрибутив, то вы без труда адаптируете этот мануал для него.
В качестве инструментов будем использовать следующие две программы:
- icecast 2.3.2(доступен здесь: icecast.org) – сервер потокового вещания звука в форматах Ogg Vorbis и MP3, который можно использовать для создания интернет-радиостанции. Распространяется под лицензией GNU GPL v2.
- ices 2.0.1(доступен здесь: icecast.org/ices.php) – клиент для icecast, позволяющий передать звуковой поток на сервер. Источником звука может являться плейлист или звук идущий в канал звуковой карты(например: с alsa или oss). Также поддерживает вещание в формате Ogg Vorbis и MP3 и распространяется по лицензии GNU GPL v2.
- Также в заключении представлено несколько flash-плееров потока(ffmp3, anogg, wimpy и minicaster) для проигрывания радиостанции прямо с сайта.
Postgres-XC(eXtensible Cluster): Производительность и перспективы. Часть 2-я.
В предыдущей части(здесь) я рассказал о том, что такое Postgres-XC и как он устроен. В этом посте я бы хотел рассказать об основных моментах связанных с текущим статусом проекта, а также ограничениями и производительностью текущей реализации.
Postgres-XC(eXtensible Cluster): Кластер мульти-мастер. Часть 1-я.
Недавно стал доступен для скачивания первый релиз Postgres XC – нового инструмента для создания мульти-мастер кластеров, работающих в синхронном режиме(все узлы кластера всегда содержат актуальные данные). Продукт был разработан в недрах японской компании NTT и будет официально представлен публике 21 мая этого года на конференции PGCon 2010.
Postgres-XC предоставляет инструменты для обеспечения высокого уровня масштабируемости как при выполнении операций записи, так и при основной нагрузке на чтение данных.





