Archive for October, 2008

Заглушка на сайт во время обновления

Задача: обновить веб приложение. Сложность: пользователи не должны работать в момент обновления с приложением, чтобы не нарушить целостностью базы данных .

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

Если вебсервер apache и к нему прикручен mod_rewrite, то это элементарно реализуется с помощью двух файлов:

.htaccess

RewriteEngine on
RewriteBase /
RewriteRule .* index.html

index.html

Сервер на техобслуживании. Пожалуйста обратитесь позже.

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

Friday, October 31st, 2008 Uncategorized Comments Off

План яндекса

Цитирую яндекс: “Возможно, такой подход поможет нам к началу весны … все-таки завоевать мир. ” http://company.yandex.ru/blog/index.xml?&msg=104430&month=10

Thursday, October 30th, 2008 Uncategorized Comments Off

Михаил Донской на Радио Свобода

Очень рекомендую прослушать запись радиопередачи с участием Михаила Донского: http://itblogs.ru/blogs/pod/archive/2007/12/16/24195.aspx. Тема передачи — образование для программистов. Очень интересно, несмотря на то, что этой записи более года.

PS мега жаль, что подкасты на itblogs.ru уже год не обновлялся.
PPS а вот еще статьи Михаила Донского: http://itblogs.ru/blogs/donskoy/default.aspx

Tuesday, October 28th, 2008 Uncategorized Comments Off

Мой первый скринкаст

Я записал свой первый скринкаст! Он рассказывает про то, что такое irc и как этим пользоваться. Посмотреть его можно вот тут: http://bessarabov.ru/screencast/.

История повяления скринкаста такова: на работе мне задали вопрос по перлу (нечто сложное про регулярные выражения). Ответа я не знал, но очень быстро получил ответ на канале #perl сервера irc.perl.org. Как оказалось, irc умеют пользоваться не все и для того, чтобы показать что это за штука я и записал этот скринкаст. Писал его без всякой подготовки, то есть все что можно увидеть - это полный экспромт.

Строго не судите, это первый блин (но все-таки не очень комом), но мне понравилось, так что будут еще выпуски =)

Thursday, October 23rd, 2008 Uncategorized Comments Off

Eclipse vs Vim

С большим удовольствием посмотрел скринкаст Eclipse: знакомство, плагины. Большое спасибо лектору Сергею Чикуеноку, а так же Студии, которая выложила эту вещь в открытый доступ.

Для веб разработки (perl, html, css, javascript, xml, xsl) я всегда иполььзую редактор Vim.

Vim мне очень нравится так:

  • как он существует практически везде
  • очень быстро работает в консоле на удаленной машине
  • безумно удобен
  • главное - он мне очень нравится

Во время просмотра видео про Eclipse, я записывал все фичи, которые мне нравились. Сделал я это, чтобы найти возможность делать то же самое и в виме.

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

Special thanks goes to rafl, perl hacker, how helped me much with writing this post.

TODO’s

В Эклипсе есть очень удобная штука: в коде можно оставить специальный коммент (например TODO или FIXME), Эклипс в отдельном окне показывает список этих пометок, и можно очень просто перейти на этот файло на эту позицию.

Как реализовать в VIM: пока не ясно.

Форматирование

Эклипс умеет, с помощью специальной команды из неотформатированного текста делать очень и очень красивый код.

Перловый код в виме можно отформатировать с помощью perltidy:

:set equalprg=perltidy\ -pbp

Вводится команда выше, выделяется текст, который нужно отформатировать и нажимается на кнопку “=”.

Как в виме форматировать html/css/javascript/… пока не ясно.

Автодополнение

В эклипсе есть достаточно интеллектуальное авто дополнение. В виме есть автодополнение по ctrl+p и, вроде как, еще что-то (искать по слову “omni”). Вот ссылка на скрипт omniperl.

Документация

Например в JavaScript есть такая штука как JSDoc. С помощью нее в комментарии записывается описание кода. Так вот, Эклипс отображает документацию на функцию при написании названия функции (например). Очень удобно, так как в доке можно описать как она вызывается, что делает и что возвращает.

Как сделать в виме: пока не ясно.

Версионность файлов

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

Существуют svn и другие системы контроля верий, но иногда удобно иметь историю изменений и в svn и локально.

Аналог в виме: неизвестно.

Полоска overview

У эклипса существует удобный элемент управление, который называется overview. Это необльшая полоска, которая находится справа от вертикальной полосы прокрутки кода. Она логически соответствует файлу который редактируется - на ней отображаются разые метки (например, все найденое при поиске, строки с ошибками, etc). При клике на меке, происходит переход на стрку, которая соотвествует этой метке.

Подбная штука есть в chrome, а так же Артем Горбунов нечто подобное делал.

Как реализовать в vim: no idea.

Remote System Explorer

Отличная штука в Эклипс, с помощью которой возможно работать с кодом, который расположен вне локальной машины. Т.е. есть сервер на котором расположен код, к нему есть доступ (telnet, ssh, ftp). С помощью Remote System Explorer можно подключится к этому серверу и работать с кодом, как будно бы он расположен локально.

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

Monday, October 20th, 2008 Uncategorized 1 Comment

Зачем создаются сайты?

Я сейчас дочитываю книгу по google analytics и у меня возник вопрос, на который я сходу не смог ответить — “зачем создаются сайты?”. Для того, чтобы найти ответ, я решил структурировать свои мысли в виде этого поста.

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

Итак, зачем же создаются сайты?

Продержать людей как можно дольше на сайте/привязать людей к сайту

Цель этого — заработать денег на показе рекламы. Примеры: это всякие баши, одноклассники, атипичные хомяки, гугл, яндекс и иже с ними.

Продать что-нибудь

Цель этой группы — заработать денег на продаже товаров/услуг/сервисов. Особая прелесть, когда продается воздух (улучшенный аккаунт в игрушке, или же какой-нибудь доступ к online crm системе). Примером масса, например: амазон, травиан, яндекс деньги и еще многие-многие тысячи.

Создать общественное мнение

Цель — влиять на мысли человечества. Бабло на этом получают от тех, кто “заказывает музыку”.
Примеры, как новостные сайты, так и корпоративные сайты и сайты визитки, к этому же пункту я причисляю блоги.

Вспомнилась чудесная цитата из Дюны Френка Герберта “Люди должны знать, как я хорошо ими управляю. Как же они об этом узнают, если мы сами не скажем им?”

Предоставить информацию

Несколько пересекается с предыдущей группой (главное не перепутать). Дать драйвера для скачки — это предоставить информацию, а вот распиарить насколько будет лучше работать девайс именно с этим драйвером — это уже влияние на общ. мнение.

Поучится/развлечься

Цель — понять, что такое сайты и как их делать. Подавляющее большинство таких сайтов создаются в одиночку и никому кроме создателя нафинг не нужны (достаточно часто они не интересны и создателю тоже). Примеров приводить к этому пункту не буду =)

Уф… Пока больше не придумывается (но скорее всего я что-то забыл).

PS этот пост относится ко всем группам, кроме группы “продать что-нибудь” =)

Tags: ,

Wednesday, October 8th, 2008 Uncategorized Comments Off