2006年12月

2006/12/19 12:23

links for 2006-12-19

2006/12/19 16:07

Movable Typeの改行を変換するって機能

小粋空間: 2005年12月27日 アーカイブより

Movable Type がエントリーに改行を付与する制御の仕組み上、先頭行(その前が空行であること)が下記のいずれかのタグに該当すれば、そのタグが含まれる行から次に空行が現れるまで改行タグおよび段落タグを挿入しない仕組みになっています。

h1 h2 h3 h4 h5 h6 table ol dl ul menu dir p pre center form fieldset select blockquote address div hr

つまり、table タグの直前行に文章を書かなければ、1項の作業を行わなくても正常に表示されるようになります。これも手っ取り早い方法ですが、直前行を空けるという制約があります。

へー、しらなかったー(ぉぃ

これから、モリモリタグ付けをしっかりやっていこうと思われます。

2006/12/19 22:40

スムルースもっているひとー?!

スムルース

いらっしゃいましたらご感想のほどをお願いします。

あわよくば、ごにょごにょごにょ・・・

そういえば、話が全然違うけど、3/12のMUSEの東京公演になんだか行けそうな雰囲気ですわよ :)

2006/12/20 00:02

夢の中で夢を見る

17日の出来事です。ものすごく不思議な体験をしました。

17日は夕方から家を出て、19時からライブでした。見事に晴れた日だったっけ?なんかとても気持ちよい日でうつろうつろしていた気がします。

家を出るまで中途半端に時間が余ってしまい、何をするでもなくソファにちょこんと座っていたら、睡魔に襲われてしまいました。

で、まぁ、髪の毛とか整えた後だったから、ああぐちゃぐちゃになったら嫌だなぁと思いつつもソファの肘掛けに横たわってました。座った状態でね。

なんかでも、起きてなくちゃ起きてなくちゃって思っていたのかな。必死で寝ないように寝てた。

で、まぁ、ハっ!とするわけですよ。時間がやばい!って。

で、時計を見たら、17:30。18時には下北沢にいようと思ったのに、この有様。あーあーあーあー、と大急ぎで洗面台の鏡の前へ行くの。髪の毛がぐちゃぐちゃだったら大変だからね。

そしたら、ね。なんか鏡には自分の顔が映っていなくて自分の寝ている姿が映っているの。もう、びっくりしたよー。え?何これ?って。

で、そしたら、洗面所にはいなくてまだソファに横たわっていることに気がついたんだよね。

時計は16:00過ぎを指してた。まだ余裕だったよ。

なんなんだろ、理解するまでにものすごく時間がかかって起きることにこんなに時間がかかったのは初めてだと思う。やや混乱してたし。夢の中の夢の世界は、あまりにも非現実な世界だったのさ。ナイスの森みたいな(知らないって?DVD出てるよ)。でも、夢の中の夢の世界から目覚めた夢の世界が、あまりにも現実的すぎて・・・。

いやぁ、おもしろい体験だったなぁ。目覚ましを夢の中で止めるのとちょっと近い感じがするけど、なんか違うのさ。言葉には表せないけど、あきらかに、夢の中で夢を見ていたんだよね。

ドラえもんで、のび太が夢の中で寝ている夢を見ているシーンがあったけど、僕はのび太か?

2006/12/20 12:24

links for 2006-12-20

2006/12/20 20:48

skEdit + SCM(Subversion)

1. 前書き

skEditは、Mac OS Xのみで動作可能な素晴らしいWeb用テキストエディタです。skEditには、SCM(Source Code Management)と呼ばれる、バージョン管理システムをサポートしています。このことはとても有名ですが、実際にskEditでSCM機能を有効に使用している人はほとんどいないのではないでしょうか。(いや、実はみんな水面下で使用していたりして・・・)

今回は、skEditでSCMを利用するためのインストール方法を記述していきます。日本語の文献としてはたぶん初、英語でもここまでしっかりしているのはないのかなぁ、なんて思ってみたり。そもそも、作者のSean Kelly氏が、1) Install the Subversion plugin 2) Open a working copy directory in skEditと語るくらい、簡単に動作が可能です。(だから、みんな書かないのかな)

パソコンの扱いは何でもそうですが理解してしまえばとても簡単です。理解するまでがなかなか難しいのです。そう、数学と似ています。

余談はさておき、skEditが現在動作していることが前提条件です。Mac OS X 10.4.8 + skEdit 3.6.1です。

あと、SCM独特の用語が出てきます。その単語をそのまま辞書引きしたものとほとんど同一です。リポジトリとは、格納庫みたいなもの。コミットはリポジトリに登録する作業のこと。ワークスペースは作業ディレクトリ。リビジョンは個々のファイルのバージョン。チェックアウトはリポジトリ上からダウンロードすること。などです。SVNはSubversionのことですよう。

2. skEdit用のSVNプラグインのダウンロード・インストール

Download skEdit (http://www.skti.org/download.php)のページから、Download Subversion Plugin (SVN Pluginと同じ)をみつけ、Subversion Pluginをダウンロードします。

デスクトップにskEdit SVN Plugin.mpkgが展開されていることに気がつくと思います(英語風いいまわし:)。無心にダブルクリックして、インストールしてしまいましょう。

終わってしまうと何事もなかったかのように、静まりかえります。何となく、ここで再起動をしてしまた僕がいます。再起動の必要はたぶんないかも・・。

3. SCM(Subversion)本体のダウンロード・インストール

SubversionはApacheとセット、とかたまに書いてありますけど、一人でSCMする人は別に必要ないかも。。Subversion+Apacheはグーグルさんに聞いてください。今回は、Subvesion単体で考えます。

3.1 SCM(Subversion)本体のダウンロード

Subversion Packages (http://subversion.tigris.org/project_packages.html)から、Mac OS X用のバイナリをダウンロードします。Subversionのためだけに、Fink経由もばからしいので、dmgファイルをダウンロードします。ダウンロード先はMetissian - Projects - Mac OS X Packages - Subversion (http://metissian.com/projects/macosx/subversion/)にあったりします(先に言えよ)。

「1.3 Stableの Version 1.3.1 - Released 4/3/2006 * Universal Binaries *」をダウンロードしましょう。

2006/12/23 変更
Martin Ott : Subversion 1.3.2 (http://www.codingmonkeys.de/mbo/articles/2006/06/05/subversion-1-3-2)が1.3系の最新バージョンのバイナリでした。Martin Ottさんは顔写真が載っていてなんだか愉快です(ぇ。ということで、1.3.2をダウンロードしましょうう。

3.2 余談

ちなみに、執筆現在(06/12/20)の最新バージョンは、1.4.2ですが、skEditの作者Sean Kelly氏は「The Subversion plugin does not yet work with v1.4. There is not an easy way to get around this. I'll be working to update the plugin sometime soon.」と言っているので、1.3を使用します。本当に動作しないのかは検証していません。検証したい人は、Martin OttさんがMac OS X用のバイナリをリリースしています(Martin Ott : Subversion 1.4.2 (http://www.codingmonkeys.de/mbo/articles/2006/11/08/subversion-1-4-2))。こちらで、どうぞ。

3.3 SCM(Subversion)本体のインストール

今回もSVNプラグイン同様に、無心にパッケージをダブルクリックして、インストールしてしまいましょう。

4. .bash_profileの設定

MySQLをインストールしたときと一緒ですが、Terminalの操作をします。特に難しくないというか、しっかり解説しますので、がんばってくださいぬ。

まず、Terminalを起動しましょう。アプリケーション>ユーティリティの中にターミナルがいます。行頭が「$」の時は一般ユーザー、「#」の時はrootだと思ってくださいませ。

SVNをインストールしただけでは、TerminalでSVNコマンドが動作しません。その為にいろいろ書いていきます。

ターミナルを起動します

一応、ホームディレクトリに移動(最初はここにいると思うけど)
$ cd ~

言い忘れました。tcshではなく、bashの使用が前提でした。というか、tcsh用に書き直せばいいだけだけど・・。
$ vi .bash_profile

New Fileになったら、「i」を押して、以下をコピペ「cmd+v」しましょう。----------------
PATH=/usr/local/bin:$PATH
export PATH
MANPATH=/usr/local/man:$MANPATH
export MANPATH
INFOPATH=/usr/local/info:$INFOPATH
export INFOPATH
----------------

New Fileではない人は、うまい具合に追記してください。と言うか、作ったことがある人はそれなりに知識があるでしょ。。というか、SCM使用としているだけでも知識がありそうですが。。いやいや、skEditの時点で、、(略

コピペが終わったら、[esc][:][w][q]です。viはすこし使いにくいですが、とりあえず、viはこれで終わり。

とりあえず、
$ exit
と[Process completed]して、新規シェルを開いてみてください。そこで、
$ svn
を入力して見ましょう。もちろんEnterを押してね。
Type 'svn help' for usage.
となれば、とりあえず問題ない感じです。Subversionのインストールは終わりです。

5. リポジトリの作成とか

リポジトリを保存するディレクトリを作成します。
UNIXの世界にならって/var以下にしますが、もちろんホームディレクトリとかでも問題なしです。ただ、実際に作業するフォルダは別ですので、アクセスしやすいところにある必要はないです。

リポジトリ用のディレクトリ作成
$ sudo mkdir /var/svn

そのディレクトリのアクセス権限を自分にします。
USERとGROUP名は両方とも自分のユーザーIDで問題ないハズです。
$ sudo chown -R USER:GROUP /var/svn

プロジェクトごとにリポジトリを作成します。
svnadminを使用し、リポジトリを作成します。MYHOMEPAGE部分はお好きにどうぞ。プロジェクト名だったり分かりやすいのにするべきです。
$ svnadmin create /var/svn/MYHOMEPAGE

リポジトリの削除は
$ svnadmin dump /var/svn/MYHOMEPAGE
(07/01/01変更)$ rm -fr /var/svn/MYHOMEPAGE
ですが、あんまり使わないかなぁ、たぶん。svn経由ではなく、ディレクトリをそのまま削除してしまう感じです。

リポジトリを作成したら、実作業に使うファイル達を登録します。
シングルコーテーションで囲まれた部分(COMMENTのところ)はコメントです。日本語はたぶんはじかれますので、英語で書きましょう。コミットする度にコメントを付けるアレと一緒です。その次の「/Library/WebServer/Documents/」は実ファイルのディレクトリです。以下のファイル・フォルダの全てが登録されます。登録したくないものをどうしたらいいかは、グーグルさんに聞いてください。次の「file:///var/svn/MYHOMEPAGE」はSubvesion上での表記になります。先ほど作成したリポジトリを指定してください。
$ svn import -m 'COMMENT' /Library/WebServer/Documents/ file:///var/svn/MYHOMEPAGE

これを実行すると
------------------
Adding /Library/WebServer/Documents/wp-config.php
Adding /Library/WebServer/Documents/wp-pass.php
Adding /Library/WebServer/Documents/wp-rss.php
Adding /Library/WebServer/Documents/wp-comments-post.php
Adding /Library/WebServer/Documents/wp-login.php
Adding /Library/WebServer/Documents/wp-blog-header.php
Adding /Library/WebServer/Documents/wpj-wizard.php
Adding /Library/WebServer/Documents/wp-rdf.php
・・・(略)・・・
Adding /Library/WebServer/Documents/wp-admin/upgrade-schema.php
Adding /Library/WebServer/Documents/wp-admin/edit-form-comment.php
Adding /Library/WebServer/Documents/wp-admin/edit-form.php
Adding /Library/WebServer/Documents/wp-feed.php
Committed revision 1.
------------------

の様になります。ちなみに上記例はWordpressのディレクトリでした。もし、何もなければそんなメッセージが出るかもしれません。

登録されたファイル・フォルダを確認してみましょう
$ svn ls file:///var/svn/MYHOMEPAGE
------------------
changelog.txt
favicon.ico
index.php
・・・(略)・・・
wp-trackback.php
wpj-wizard.php
xmlrpc.php
------------------

のように、表示されます。

最後に自分のワークスペースに移動して、チェックアウトしましょう。
このチェックアウトしたフォルダがskEditで使用するフォルダになります。
作者のSean Kelly氏が、言っていた2) Open a working copy directory in skEditにあたります。

作業ディレクトリに移動します。
もちろんお好きなところで作業してください。
$ cd ~/Documents/Subversion

ワーキングコピー、チェックアウトの実行です。
$ svn checkout file:///var/svnt/MYHOMEPAGE
------------------
A MYHOMEPAGE/wp-config.php
A MYHOMEPAGE/wp-pass.php
A MYHOMEPAGE/info.php
・・・(略)・・・
A MYHOMEPAGE/wp-admin/upgrade-schema.php
A MYHOMEPAGE/wp-admin/edit-form-comment.php
A MYHOMEPAGE/wp-admin/edit-form.php
A MYHOMEPAGE/wp-feed.php
Checked out revision 1.
------------------

importと逆ベクトルの作業にあたります。これで、チェックアウトは完了です。

Terminalも終了してしまって問題ないです。新しいプロジェクトを登録するなどをしない限りはもうTerminalのお世話にはなりません。新しいプロジェクトを登録する際は、「リポジトリを作成します。」のところからやる感じです。もちろん違う名前のリポジトリにしてください。

そして、5. リポジトリの作成は終了です。

6. skEditでの作業

ここからは特に難しいことはありません。先ほど、作業ディレクトリをFinderで表示します。

そうすると、なんら変わりのない、いままで作業していたものと同じようなフォルダが出来ています。上記の例ですと、Document/SubvesionにMYHOMEPAGEというフォルダがあり、中身がみたことがあるものだと思います。

そのMYHOMEPAGEのフォルダをskEditにドラッグアンドドロップしましょう。すると、サイトビューの横にSCMカラムが出来ていると思います。

ファイルを更新すると「M」とついたりします。

「M」がついたファイルは変更されたファイルです。これがSCMステータスになります。意味は、以下にあるとおりです。
------------------
空白。このファイルは、リポジトリにある最新のバージョンと同じ状態です。ローカルコピーのファイルを変更していません。
?(不明)。ファイルはリポジトリに格納されていません。
★(黒星)。フォルダ内にSCMステータスが変更になったもの(たぶん、U, C, M, A, R)があります。
-(ハイフン)。ファイルはリポジトリ内にないディレクトリの中にあるか、またはこの項目そのものがリポジトリ内にないディレクトリです。
U(アップデート)。リポジトリ内にあるファイルの最新バージョンの方が、作業中のバージョンより新しいものです。
C(競合)。加えた変更が最新バージョンの変更と競合する可能性があります。
M(変更済み)。次にファイルへの変更をコミットするときに、ファイルを選択してSCM>変更をコミットと選択する必要があります。
A(追加予定)。次に変更をコミットするときに、このファイルはリポジトリに追加されます。
R(削除予定)。次に変更をコミットするときに、このファイルはリポジトリから取り除かれます。
------------------

詳しくは、SCMステータスでグーグルさんに聞いてみてください。

ファイルを選択して、SCM>更新>リビジョンで更新履歴がみれ、任意のバージョンに戻すことも可能です。あとは、もういじり倒す感じなので、がんばってSCMを使いこなしてください。

あと、コミットする際は、コメントを付けられますが、日本語で入れるとエラーになります。英語で入れましょう。このコメントはあとあとリビジョンを見るときの手がかりになりますので、しっかりとつけたほうがいい感じですよう。もう一つの考えられるエラーは、プロジェクト内のファイルのエンコードがバラバラの場合かな。UTF-8とShift_JISが混在しているとsvn importでエラーが出るかも。そんなことをしている人は少ないかもだけど、僕は移行期に付き遭遇してしまった。。そして、ワーキングコピーをskEditのサイトマネージャーなんかに追加しておくと便利です。

以上です。
何か分からないこととかございましたら、コメントでどうぞ。

あと、付録として、僕が参考にしたskEditのドキュメントと、その翻訳(僕がやったので稚拙です)をおつけします。ご参考までに。これからも、skEditのTipsを載せていきたいと思っています。いつかわからないけど。

付録

「skEdit Help: SCM」原文

ドキュメント自体は以下にあります

SCM: An Introduction

SCM (Source Control Management) applications are designed to provide version control and other source control functionality to software developers. Example applications include Subversion, CVS, and Perforce. skEdit supports basic SCM operations via a plugin architecture. skEdit v3.6 ships with a plugin for Subversion. See the Subversion Plugin section for more information. See the SCM Plugins section for information about using other plugins, including 3rd-party plugins.

SCM: SCM Plugins

skEdit can support various SCM applications via a plugin architecture. Each plugin must support certain common SCM operations by conforming to a specific interface. skEdit then exposes this interface via the SCM menu.

SCM Plugins are Mac OS X bundles. To add a plugin to skEdit, copy it into the ~/Library/Application Support/skHTML/SCMPlugins directory and restart skEdit. The plugins will automatically turn themselves on if they detect the availability of SCM when editing a site.

When a plugin is active, two things will happen:

  1. An SCM column will be added to the Site View to the left of the file listing. This column will display a one-letter representation of the SCM status of the file. This status will be updated when files are saved, when directories are expanded for the first time, or when the status is manually updated by using the SCM > Refresh SCM Status menu item.
  2. The SCM menu will become active. From this menu, you can (where appropriate) perform common SCM operations, including:
    • Refreshing the SCM status of a file
    • Performing an update operation
    • Performing a diff and displaying the results
    • Performing a comparision using the FileMerge application included with the Developer Tools
    • Displaying line annotations for a file
    • Viewing the changelog for a file
    • Adding a file to the repository
    • Committing changes to the repository
    • Discarding changes (restoring the file to its original state)

Plugins may implement all or some of this functionality. Please see the documentation for the specific plugin for more details.

SCM: The Subversion Plugin

This page describes the specifics of the Subversion plugin bundled with skEdit. For general details describing SCM plugins, see the SCM Plugins page of the documentation.

The Subversion plugin uses the Subversion libraries, which are bundled with the plugin. Therefore, it is not dependent on the version of Subversion installed on your computer. It should work with local repositories, repositories using the svn:// protocol, the svn+ssh:// protocol, and the http:// protocol. It does not yet work with the https:// protocol. The plugin will become active if a .svn directory is found when opening a directory for editing.

The Subversion plugin supports all functionality as described in the SCM Plugins section. Annotations are provided using “svn blame”, and diff is provied using “svn diff”.

「skEdit Help: SCM」翻訳

・・・英語レベルは中学生です(;

SCM: An Introduction

SCM(Source Control Management)アプリケーションは、バージョンコントロールと他のソースコントロールの機能性をソフトウェア開発者に提供するように設計されます。アプリケーションとしては、Subversion、CVS、Perforceなどが挙げられます。skEditは、プラグインアーキテクチャにより基本的なSCM操作をサポートしています。skEdit3.6には、Subversion用のプラグインが同梱されています。詳しい情報に関しては、Subversionプラグインセクションを参照してください。サードパーティプラグインを含む、他のプラグインの使用に関する情報はSCM Pluginsセクションを参照してください。

SCM: SCM Plugins

skEditは、プラグインアーキテクチャにより様々なSCMアプリケーションをサポートしています。各プラグインは、特定のインタフェースに従い、一般的なSCMオペレーションをサポートしています。skEditはSCMメニューでこのインタフェースが使用できます。

SCMプラグインはMac OS Xにバンドルされています。skEditにプラグインを加えるには、~/Library/Application Support/skHTML/SCMPlugins ディレクトリにそれをコピーし、skEditを再起動してください。サイトを編集する際にSCMの有効性を検出すると、プラグインは自動的に動作します。

プラグインがアクティブの際、下記の2つことが起こるでしょう:

  1. サイトビューのファイルリスト左側にSCMコラムが加わります。このコラムはファイルのSCMステータスの1文字で表現を表示します。ファイルを保存するとき、初めてディレクトリを開いたとき、また、SCM > Refresh SCM Statusメニューアイテムを使用することによって手動で状態をアップデートしたときに、このステータスをアップデートします。
  2. SCMメニューがアクティブになります。このメニューから、以下に示すような一般的なSCM操作を実行することができます。
    • ファイルのSCMステータスを更新します。
    • 更新を実行します。
    • diffを実行して、結果を表示します。(差分を確認できます)
    • Xcode(Developer Tools)に含まれているFileMergeアプリケーションを使用することで比較できます。
    • ファイルの注釈を表示します。
    • ファイルのログを閲覧できます。
    • リポジトリにファイルを追加できます。
    • リポジトリへ変更をコミットできます。
    • 変更を破棄できます。(ファイルの復旧します)(バージョンを戻せることが出来ます)

Pluginsは機能のすべてか、もしくは、いくつかを実行できるでしょう。特定のプラグインに関しての詳細はドキュメンテーションを参照してください。

SCM: The Subversion Plugin

このページはskEditにバンドルされたSubversionプラグインの詳細を説明します。一般的なSCM Pluginsの詳細に関しては、ドキュメンテーションのSCM Pluginsページを参照してください。

Subversionプラグインは、プラグインにバンドルされているSubversionライブラリを使用します。したがって、あなたのコンピュータにインストールされたSubversionのバージョンに依存していません。ローカルリポジトリ、また、svn://プロトコル、svn+ssh://プロトコル、およびhttp://プロトコルを使用するリポジトリで動作します。ttps://プロトコルではまだ動作しません。編集するためにディレクトリを開いたときに.svnディレクトリが見つかればプラグインはアクティブになります。

SubversionプラグインはSCM Pluginsセクションで説明しているすべての機能をサポートしています。「svn blame」で注釈、「svn diff」で差分を提供します。

2006/12/21 12:20

links for 2006-12-21

2006/12/21 21:32

mixi station iPodに対応

mixi station

ああ、なんか危険な香りがする・・・。

と言うか、会社で聴いている曲もアップロードされるんだよね。波乱のランキングが生成されるかも(←投稿しなきゃいいじゃん

なんだろ、今日現在、約15,000曲送信しているわけですけどー、これがすごい勢いで伸びていきそうな予感。mixiのDBを逼迫してやろう。

まー、家で聴いている曲、車で聴いている曲、会社で聴いている曲、それぞれ違うから、なんだかいいかもしれませんね。

2006/12/22 12:18

links for 2006-12-22

2006/12/23 12:22

links for 2006-12-23