Доставка файлов из VCS на shared-хостинг с помощью sshfs 1 октября 09

В общем, понадобится sshfs – штука для монтирования ssh-каталогов в локальные. Конечно, она есть в репозитариях Ubuntu.

В смонтированном таким образом каталоге можно выполнять практически любые утилиты, имеющиеся на локальной машине. Например, git pull.

# Монтируем каталог
mkdir ssh-export
sshfs -o workaround=rename the.deploy.server:/the/deploy/path ssh-export
cd ssh-export
# Обновляем
git pull
# Отмонтировываем
cd ..
fusermount -u ssh-export
rm -rf ssh-export

Причина использования workaround=rename описана в Git FAQ.

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

Еще я пробовал использовать git через FTP с помощью curlftpfs, но, увы, git не хочет работать без возможности залочить файл.

Другие способы обойтись без системы контроля версий – в статье «Грамотное разворачивание сайта без VCS».

Know thy tools: Linux (операционная система) 28 сентября 09

Начинаю цикл обзора моих рабочих инструментов. На это меня натолкнул пост Джеймиса Бака про то, что свои инструменты надо не просто знать – в них нужно разбираться.

Будет ли это оффтопиком? Да нет, конечно! Я же о веб-разработке буду писать. Думаю, коллегам понравится.

Обзор будет из четырех частей: 1) преимущества предмета; 2) недостатки; 3) почему я использую именно его; 4) как узнать о нем что-то новое. Естественно, все это субъективно, прошу комментировать, критиковать и подвергать сомнению.

Начну я с операционки, то есть с Linux (клиентской операционки). Я работаю на Ubuntu Linux 9.04.
читать дальше →

Друзья друзей Вконтакте на Ruby 23 сентября 09

Захотелось мне написать нечто непосредственно полезное.

Немного логики

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

Реализация

На «Моем круге», например есть такое понятие, как «второй круг» – друзья твоих друзей. На Вконтакте «второй круг» просто так не посмотришь. То есть можно, конечно, лазить по друзьям и высматривать знакомые лица (если Лицо не поставило идиотскую аватарку) и имена (если Лицо не пытается анонимизироваться). У меня на это нет времени.

Задача: написать скрипт, который собирает «второй круг» автоматически и сортирует по числу общих знакомых.

Много букoв?

Можешь просто скачать работающий скрипт с Github. В него только нужно дописать свои собственные логин/пароль. Кроме того, пригодятся гемы: mechanize, json, haml.

Я бы сделал онлайн-версию, но, боюсь, паранойя помешает тебе им воспользоваться.
читать дальше →

Как произносится слово ruby 3 сентября 09

Специально для всех сомневающихся и режущих мой слух словом «рАби»:

ruby ['ruːbɪ]

Спасибо Яндексу за это.

Грамотное разворачивание сайта без VCS 3 сентября 09

Ситуация: есть сервер с доступом по SSH и без каких-либо дополнительных программных средств. Есть код в git-репозитарии (даже не важно, что в git, главное, что под системой контроля версий). Задача: поместить код на сервер и периодически его обновлять, да так, чтоб не руками, чтоб не стыдно было, чтоб не гонять полную копию каждый раз. Займемся.

Ну да, не совсем без системы контроля версий, а при наличии отсутствия ее на сервере.
читать дальше →

Хостинг Ruby on Rails от Hostpro.ua – первые впечатления 3 сентября 09

Коротко, основные технические моменты о переносе сайта с VPS от Slicehost на shared-хостинг от Hostpro.
Чтоб никого не путать, речь идет о хостинге ruby on rails на пакете Кластер от Hostpro.ua.
читать дальше →

«View Source» из Firefox в GVIM 1 сентября 09

Озаботился вопросом удобного просмотра исходников страниц в Firefox. То есть, конечно, есть Inspect в Firebug, но это не совсем то.

Сначала хотелось просто смотреть исходники не в новом окне, а во вкладке – чтоб соблюдался однооконный интерфейс.

Нашел расширение Source Viewer Tab – оно как раз и открывает исходники во вкладке. Однако, кроме того, оно может открывать их во внешнем редакторе.

Прописал в настройках расширения /usr/bin/gvim – исходники начали открываться в гвиме.

Остается одна проблема – каждый исходник плодит новое окно гвима, что есть неудобно. Потому, используем клиент-серверную модель гвима и указываем в качестве внешнего редактора:

/usr/bin/gvim --servername GVIM --remote-tab

Ура, теперь исходники страниц из Firefox открываются во вкладках одного и того же экземпляра Gvim!

Украинский хостинг с mod_rails 26 августа 09

Существует ли в Украине хостинг для Ruby on Rails на основе mod_rails/Passenger? Мне казалось, что так на shared-хостинге использовать Passenger удобнее, чем mongrel, но тем не менее все пересмотренные хостинги (hostpro.ua, tophost.com.ua, 1gb.ua) используют последний.

Задача – перевезти клиента с моего сервера. VDSки не предлагать.

Что можно делать с миграциями в Rails 7 августа 09

Миграции призваны заменить всякие графические SQL-менеджеры. Нет, серьезно: при работе с Ruby on Rails не нужны SQL-менеджеры, я гарантирую это. Зато нужно освоиться с механизмом миграций. И еще со script/console.

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

Конспект интервью twit.tv с DHH 28 июля 09

25 июля twit.tv провели интервью с DHH.

Я вообще решил не ретранслировать в блог всяких новостей и интервью, но это все-таки David Heinemeier Hansson, вряд ли кто-то переведет его на русский, а интервью довольно интересное.

Советую его послушать самому, если с английским нет проблем, а я законспектировал на русском основные мысли про Ruby и Ruby on Rails. читать дальше →