index01d.com

Жизнь удалась, только не с той ноги и я счастлив!

Activity indicator

with 3 comments

http://neteye.github.com/activity-indicator.html
Простой и красивый индикатор загрузки для веб-приложения

Written by index01d

December 2nd, 2011 at 1:02 am

Posted in Uncategorized

Django-сервер – быстро и со вкусом

without comments

Установка

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/

Written by index01d

December 2nd, 2011 at 12:55 am

Posted in Uncategorized

Рецепты С++

with 121 comments

Хочу представить вам некоторый список рецептов для С++, найти которые было не очень просто.

Разбиение строки по некоторой подстроке с использованием 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!

Written by skayred

November 22nd, 2010 at 10:48 pm

[C++] Работа с xmlrpc

with 61 comments

Недавно потребовалось мне воспользоваться 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.

Использование библиотеки

Читать дальше

Written by index01d

July 29th, 2010 at 4:23 pm

Posted in Manuals

Tagged with , , , , , , ,

[Даешь экран!] Настройка удаленного управления с помощью VNC(vino)+настройка web-клиента.

with 56 comments

Привет!

Недавно я задался целью: настроить удаленное управление своим рабочим столом в GNOME так, чтобы доступ к нему можно было получить из браузера(как в SUSE Studio). Очевидным решением было установить vnc-сервер и найти для него клиент на java. Так я и поступил и все оказалось даже проще, чем я думал.

В качестве vnc-сервера я выбрал Vino вот за такой простой интерфейс:

vino screenshot

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-сервер ;)

Удачи!

Written by index01d

July 11th, 2010 at 12:02 pm

[c2m] Обещанный плагин для Google Chrome

with 74 comments

Плагин c2m для Google Chrome доступен по ссылке http://c2m.ath.cx/2wirhk

Скриншоты:

Written by index01d

June 19th, 2010 at 1:33 am

[c2m] Небольшой сервис обмена информацией:)

with 17 comments

Привет!

Не так давно(а точнее даже давно) зародилась в моей больной голове идея сделать несколько небольших сервисов для удобного обмена кодом, ссылками и картинками. Сначала я сделал простой вариант, а затем sk_ и mie помогли мне доделать недостающие части и дошлифовать их практически до блеска.

Результат можно посмотреть здесь: http://index01d.com/c2m/

Также у нас имеется плагин для fx, который можно скачать по ссылке: http://c2m.ath.cx/nx4m2v

В ближайшие дни кто-то из нас допилит и выложит плагин для chrome:)

Скриншоты:

Надеемся, что эти сервисы окажутся полезными не только для нас:) Удачи!

[Даешь поток!] Настройка вещания в сети при помощи icecast и ices.

with 40 comments

Привет!

Сегодня я хочу рассказать, о том как настроить вещание звука(музыки, голоса, чего угодно) в сеть. Описание, как и всегда, я буду вести относительно дистрибутива openSUSE, а если у вас другой дистрибутив, то вы без труда адаптируете этот мануал для него.

В качестве инструментов будем использовать следующие две программы:

  1. icecast 2.3.2(доступен здесь: icecast.org) – сервер потокового вещания звука в форматах Ogg Vorbis и MP3, который можно использовать для создания интернет-радиостанции. Распространяется под лицензией GNU GPL v2.
  2. ices 2.0.1(доступен здесь: icecast.org/ices.php) – клиент для icecast, позволяющий передать звуковой поток на сервер. Источником звука может являться плейлист или звук идущий в канал звуковой карты(например: с alsa или oss). Также поддерживает вещание в формате Ogg Vorbis и MP3 и распространяется по лицензии GNU GPL v2.
  3. Также в заключении представлено несколько flash-плееров потока(ffmp3, anogg, wimpy и minicaster) для проигрывания радиостанции прямо с сайта.

Читать дальше

Postgres-XC(eXtensible Cluster): Производительность и перспективы. Часть 2-я.

with 71 comments

В предыдущей части(здесь) я рассказал о том, что такое Postgres-XC и как он устроен. В этом посте я бы хотел рассказать об основных моментах связанных с текущим статусом проекта, а также ограничениями и производительностью текущей реализации.

Читать дальше

Postgres-XC(eXtensible Cluster): Кластер мульти-мастер. Часть 1-я.

with 53 comments

Недавно стал доступен для скачивания первый релиз Postgres XC – нового инструмента для создания мульти-мастер кластеров, работающих в синхронном режиме(все узлы кластера всегда содержат актуальные данные).  Продукт был разработан в недрах японской компании NTT и будет официально представлен публике 21 мая этого года на конференции PGCon 2010.

Postgres-XC предоставляет инструменты для обеспечения высокого уровня масштабируемости как при выполнении операций записи, так и при основной нагрузке на чтение данных.

Чуть подробнее про новый продукт