Моя библиотека - социальная сеть любителей книг

Разукрасим SVN

Linux 09.02.2010

Интро

Новый год для меня начался хорошо - я сменил работу и переехал в столицу нашей родины. А вместе с работой решил сменить и основную рабочую систему - с Windows XP на Ubuntu 9.10 )

Теперь приходится использовать SVN в консоли, т.к. nautilussvn, мягко говоря очень ограничен в функциональности, либо у меня просто не хватило терпения с ним разбираться.

Установка

  1. sudo aptitude install colordiff
  2. nano ~/.subversion/config
  3. находим параметр diff-cmd и прописываем diff-cmd = colordiff

Все, теперь svn diff будет цветным.
При использовании less не забудьте параметр -R:

svn diff | less -R

иначе less удалит раскасску.

Django + Nginx + FastCGI

Linux, Программирование 14.04.2009

Интро

Уже пару месяцев я разбираюсь с Python & Django. И вот настало время выкладывать свои художества в сеть ) Правда, мой первый сайт на Django посвящен ведению отчетов по работе. Он довольно прост и хвалиться нечем. Вместо этого я расскажу как просто развертывается проект на Django + Nginx + FastCGI.
Читать полностью »

Sphinx и Django - замечательное рядом

Linux, Программирование 27.03.2009

Интро

Давненько я ничего не писал. Очень много работы. Вот выдалась свободная минуточка и хочется сказать еще пару слов за Django.

Пара слов

Я уже писал поисковом движке Sphinx:Sphinx - настоящее быстрого поиска и использовании его в php-проектах.

А вот как происходит работа с замечательным “поисковиком” в Django:
описываем модель, и добавляем пару строчек для менеджера поиска


from djangosphinx import SphinxSearch
class City(models.Model):
    name            = models.CharField(max_length=32)
    slug            = models.SlugField(blank=True)
    country         = models.ForeignKey(Country)
    state           = models.ForeignKey(State, blank=True, null=True)

    class Meta:
        unique_together = (('country', 'state', 'slug'), ('country', 'state', 'name'))
        db_table = 'cities'

    search = SphinxSearch(
        index='cities', # defaults to cities either way
        weights={ # individual field weighting, this is optional
            'name': 100,
            'aliases': 90,
        }
    )

И все!

Но на этом вкусности не заканчиваются. Нам даже конфиг для Сфинкса писать не нужно - мы его сгенерируем автоматом:


# ./manage.py generate_sphinx_config cities >> sphinx.conf

Собственно поиск будет выглядеть, так:


results = City.search.query('new york')

Более подробно можно почитать в блоге David Cramer’s: Setting up Django and Sphinx Full-text Search (django-sphinx).

Памятка по ffmpeg

Linux 12.09.2008

Интро

Этот пост, так сказать, запись в “склерозник”, но думаю будет полезна и читателям блога.

Конвертация AVI в FLV

ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320×240 video.flv

Создание “превьюшки”

ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320×240 movie.jpg

З. Ы.

Кстати, готов принимать поздравления - сегодня моему блогу ровно год )))

Sphinx - настоящее быстрого поиска

Linux, Программирование 09.04.2008

Интро

В наше время трудно представить хороший сайт без функции поиска. При чем не просто поиска, а с поддержкой морфологии. В большинстве случаев хватит поддержки русского и английского языка.

И вот при разработке очередного проекта стала проблема поиска. Таблицы в базе не маленькие (от 100 000 записей), да плюс искать еще нужно сразу по нескольким, так что вариант с обычным LIKE ‘%запрос%’ отпал сам собой.

Ранее я пользовался поисковым движком mnoGoSearch, но вспомнив корявость его API (иногда скаладывалось впечатление, что его писали индусы с 5-ю классами приходской школы) отбросил и этот вариант.

В итоге, осталось 2 варианта:

  1. написать поиск по основе построения своих индексов и хранить эти индексы, например, в BerkleyDB;
  2. не изобретать велосипед и воспользоваться одним из самых быстрых поисковых движков - Sphinx.

Я выбрал второй вариант :)
Читать полностью »


Copyright, 1983 – 2010