既存ブログサービスの問題に対する考察

背景

2009/08 - 2010/07まで、ブログを1年間毎日更新する、という目標を掲げて、 365記事以上書き、アクセスを増やした中で一番感じたことは、

ブログを更新することは面倒である

ということだった。

自分で書きためたネタを、時間がたって忘れたときに自分で検索して思い出したり、 書くことで頭が整理された、などの多大なメリットがあったにも関わらず、 最終的には、 面倒 がメリットをうわまって更新を続けられなくなってしまった。

考察

この 面倒 の原因をざっと分けると、

  1. ネタの問題、記事のクオリティの問題
  2. 環境やツールの問題

上記の2点。

1に関しては慣れの問題である程度解消したりもしたが、 2に関してはブログを書き続けても解消されるどころか、問題がどんどん深刻化した。

深刻化した問題とは、

  1. ブログ記事を書くためのツール問題
  2. ブログのデザインを設定するツール問題
  3. ブログを公開する環境の問題

の3つ。

以下でそれぞれ考察してみる。

ブログ記事を書くためのツール問題

まずは、ブログツールにログインして、ブラウザ上で編集する、という行為が面倒だった。

当然ログインが必要だし、ブラウザ上で編集するためいちいち煩わしい。 小さいテキストエリアでちまちま編集しなきゃいけないし、 各画面間の遷移も積み重なってくるとイライラする。

加えて、たとえWYSIWYGという補助ツールがあっても、 文書をちょっと装飾するためにHTMLを書くのはちょっと苦行すぎる。 HTMLで記事を書くと、全体デザインを変えたときに記事とのミスマッチが生じて、 結局気になって、記事のHTMLまで編集する羽目になる。

一番問題なのは、記事のバージョン管理ができないこと。 前回との差分をdiff形式で見れないなんて効率が悪すぎる。

ブログのデザインを設定するツール問題

記事ツールの問題と同様、たいていのブログサービスでは、 テンプレート中にCSSを埋め込む形式なので管理が煩雑。 Javascriptも同様の形で埋めこむので、デザインテンプレートを直接編集するのは至難の業。

で、必死こいて編集したテンプレートファイルはバージョン管理できないので、 以前の状態に戻すには自分でバックアップを取っておくしかない。

ブログを公開する環境の問題

じゃあ、自分でブログサービス作ればいいじゃん、となるが、 ブログに対してそんな熱意はない。

ブログを書く本来の目的は、ブログを書いて知識をためることであって、 ブログ自体を作ることじゃないので、本末転倒はしたくない。

レンタルサーバに、WordPressやらMTやらを入れて、 最低限のカスタマイズをして運用する、という方法も、レンタルサーバ代がかかるし、 両方共Webツールなので、問題の解消にならない。

Bloggerなどは、記事の公開などのAPIが用意されているので、 ローカルで編集後にAPI経由で記事Uploadすることも可能だが、 プレビューするには、ツールにログインしてといった通常の手段を用いるしかなかった。

まとめ

以上の考察を踏まえると、 自分が必要とするのは、以下のようなブログサービス

  1. Webツールベースではなく、emacsなどで編集したファイルをuploadする形式であること
  2. HTMLで記事は書かない。wikiやrestructuredText形式など、 後からでもHTMLに変換可能な形式で書けること
  3. svnやgitを用いて記事やデザインをバージョン管理できること
  4. 本番反映前に事前にページを確認できる環境があること
  5. 無料であること(無料のサービス、またはそれらを組み合わせて環境構築できること)
  6. 環境を構築するための開発は必要最低限であること
Read and Post Comments

Ubuntu11.10のPython開発環境を整備

背景

Google AppEngineで使い始めたのをきっかけにPythonにハマっている。 ハマった理由は以下の通り。

  • 標準で備わってる機能が多い(CSV parserなど)
  • Cのライブラリ連携が楽そう(ctypesなど)
  • PyPI(PerlにおけるCPAN)パッケージが充実している
  • など

ただ、パッケージが充実しているのはいいが、 野良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があり、それぞれ複数環境を管理できる。

Read and Post Comments

« Previous Page


© 2011 tanarky