2009/08 - 2010/07まで、ブログを1年間毎日更新する、という目標を掲げて、 365記事以上書き、アクセスを増やした中で一番感じたことは、
ブログを更新することは面倒である
ということだった。
自分で書きためたネタを、時間がたって忘れたときに自分で検索して思い出したり、 書くことで頭が整理された、などの多大なメリットがあったにも関わらず、 最終的には、 面倒 がメリットをうわまって更新を続けられなくなってしまった。
この 面倒 の原因をざっと分けると、
上記の2点。
1に関しては慣れの問題である程度解消したりもしたが、 2に関してはブログを書き続けても解消されるどころか、問題がどんどん深刻化した。
深刻化した問題とは、
の3つ。
以下でそれぞれ考察してみる。
まずは、ブログツールにログインして、ブラウザ上で編集する、という行為が面倒だった。
当然ログインが必要だし、ブラウザ上で編集するためいちいち煩わしい。 小さいテキストエリアでちまちま編集しなきゃいけないし、 各画面間の遷移も積み重なってくるとイライラする。
加えて、たとえWYSIWYGという補助ツールがあっても、 文書をちょっと装飾するためにHTMLを書くのはちょっと苦行すぎる。 HTMLで記事を書くと、全体デザインを変えたときに記事とのミスマッチが生じて、 結局気になって、記事のHTMLまで編集する羽目になる。
一番問題なのは、記事のバージョン管理ができないこと。 前回との差分をdiff形式で見れないなんて効率が悪すぎる。
記事ツールの問題と同様、たいていのブログサービスでは、 テンプレート中にCSSを埋め込む形式なので管理が煩雑。 Javascriptも同様の形で埋めこむので、デザインテンプレートを直接編集するのは至難の業。
で、必死こいて編集したテンプレートファイルはバージョン管理できないので、 以前の状態に戻すには自分でバックアップを取っておくしかない。
じゃあ、自分でブログサービス作ればいいじゃん、となるが、 ブログに対してそんな熱意はない。
ブログを書く本来の目的は、ブログを書いて知識をためることであって、 ブログ自体を作ることじゃないので、本末転倒はしたくない。
レンタルサーバに、WordPressやらMTやらを入れて、 最低限のカスタマイズをして運用する、という方法も、レンタルサーバ代がかかるし、 両方共Webツールなので、問題の解消にならない。
Bloggerなどは、記事の公開などのAPIが用意されているので、 ローカルで編集後にAPI経由で記事Uploadすることも可能だが、 プレビューするには、ツールにログインしてといった通常の手段を用いるしかなかった。
以上の考察を踏まえると、 自分が必要とするのは、以下のようなブログサービス
Google AppEngineで使い始めたのをきっかけにPythonにハマっている。 ハマった理由は以下の通り。
ただ、パッケージが充実しているのはいいが、 野良CPANパッケージをinstallすると環境が汚れたり、 ちょっとお試しでinstallしたい場合に躊躇してしまう(Perlも同様)
pythonの場合、virtualenvを使えば、pythonのバージョン違いも含めて、 複数のpython環境を自分のHOMEディレクトリ以下で簡単に管理できるので、 その設定手順をまとめる
% sudo aptitude install python-virtualenv virtualwrapper
% sudo aptitude install python3.2 python3.2-dev
% mkvirtualenv -p /usr/bin/python2.7 2.7.2
% mkvirtualenv -p /usr/bin/python3.2 3.2.2
パッケージをinstallできたら、 以下を.zshrcに追加
[ -f $HOME/.pythonbrew/etc/bashrc ] && source $HOME/.pythonbrew/etc/bashrc
[ -f /etc/bash_completion.d/virtualenvwrapper ] && source /etc/bash_completion.d/virtualenvwrapper
workon 2.7.2
これで準備は完了
後はterminal上で、"workon 2.7.2" や "workon 3.2.2" などと打てば (python versionが異なる)環境を瞬時に切り替えられる
これで環境ごとにパッケージを完全に別で管理できるので、 とりあえずインストールして使ってみるsandbox環境として別に1つ用意するのも、あり。
pythonbrewなどのwrapperも調べたが、自分の中では上記の手順で今のところ満足。 Pythonの強みは環境構築の簡単さだと思っている。特にUbuntuとは相性がいい。
ちなみに、Perlにはperlbrewが、RubyにはRVMがあり、それぞれ複数環境を管理できる。