スタッフブログ
aptitudeやsynapticなどのパッケージマネージャを利用してアプリケーションを
インストールすると、非常に簡単にインストール、アンインストールができるので
重宝しているのですが、常に最新版のものを使いたい場合は、
パッケージマネージャを利用するよりsvnから最新のソースをダウンロードして
自分でインストールしたほうが良いです。
プログラマにとってエディタは一番利用するツールですから常に最新版にしておくべきでしょう。
そこで今日はvimのインストール手順を紹介します。非常に簡単です。
また、今回はデフォルトのディレクトリではなくユーザディレクトリにインストールしてみます。>ユーザディレクトリにインストールする事でroot権限が必要なくなります。
アカウントは持っているが、root権限を持っていないサーバの上ではパッケージマネージャは利用>できません。そこで今回の方法を使えばvimが入ってないサーバでも自分だけは自由にvimを使う事>ができるようになります。
まず、svnからソースコードをダウンロードします。
cd /home/ユーザ名/src
svn co https://vim.svn.sourceforge.net/svnroot/vim/vim7
次に
cd vim7/src
して、vim7のsrcディレクトリに移動したら、以下のコマンドを入力します。
./configure --prefix=/home/ユーザ名/lib/vim7 \
--with-features=huge \
--enable-multibyte \
--enable-fontset \
configureオプションはおこのみにあわせて増減してください。./configure --helpで何を付ければ
いいのかわかります。
無事configureが終われば、
make
make install
すれば/home/ユーザ名/lib/vim7/binあたりにvimができています。直接PATHを通すか、$HOME/binに
symlinkしてPATHを通すかして使ってください。

この業界には同名(naoto)の先達が結構いて、何と名乗っていいいか考えてしまう、なおとです。
以前にも少し触れましたが、この春からEmacsに復帰しました。 特に最近、集中して開発できるよう訓練しつつ、便利機能の習得に勤しんでいます。 だんだんと、手が動くようになってきました。 それでもまだ、2ストロークがすんなり出てくるところまでは行けていないです。
使っているのは、VMware上のUbuntu8.04でEmacs22 GTKなのですが、カーソル移動に一部マウスも使います。 しかしスクロールマウスを有効にしていても、実際にはキーアサインが外れていて、機能しない状態でした。 それでも普段はC-v,M-vとか使うので問題はあまりないのですが、作業中の姿勢を少し変えたいときとか、ふとマウスで動かしたくなることがあります。 あとはブラウザと往復しながらコピペする時とか。
そこでちょっと暇を見つけて調べてみたら、簡単に見つかりました。
;; wheel mouse
(mouse-wheel-mode)
(global-set-key [mouse-4] 'previous-line)
(global-set-key [mouse-5] 'next-line)
(global-set-key [C-mouse-4] 'scroll-down)
(global-set-key [C-mouse-5] 'scroll-up)
これで快適です。CTRL押しながらだと速く移動します。
あとは、漢字変換はなかなか慣れないです。 いままでWindowsのIMEでは、モードの切り替え(変換)にFキーを使っていて、デスクトップの他のアプリはほぼ同じ操作感なのですが、Emacsの中だとAnthy.elで、それが違ってしまうのがしっくり来ません。
逆にEmacsでは様々なキーを使うので、そこでSCIMが有効になっているとぶつかることも多いので、起動時のオプションで
env XMODIFIERS=@im=none /usr/bin/emacs22-gtk
としてSCIMが反応しないようにしました。それで、英数字を書きたいときに同じ操作でできず、諦めて英数字を抜かして文章を書いて、あとで英数字を書き足すなどということをしたり……。
それも先ほど調べました。うーん、キーバインドは変えすぎても他でツブシが効かない体になっても困るし。これを覚える方がいいのかも。
- l :: 英数字モードに切り替える
- C-j :: かな漢字モードに切り替える
- q :: カタカナモードに切り替える
phpのマニュアルを見てると、下のほうに英語でBBSの投稿みたいなのがくっついています。
例えば、
http://jp.php.net/manual/ja/function.sha1.php#39492
のような感じです。
ここで、ここに書いてあるhmacsha1()関数をどこかで使いたいという場合、ライセンス的にどうなるのか調べてみました。
ユーザノートについて
http://jp.php.net/manual/ja/about.notes.php
注意: 著作権の適用範囲として、ユーザノートは PHP マニュアルの一部と見なされます。 それゆえ、このドキュメンテーションのライセンス(現状は Creative Commons Attribution License)が適用されます。 詳細は Manual's Copyright をご覧ください。
とのことなので、
Creative Commons Attribution 3.0
http://jp.php.net/manual/ja/cc.license.php
が適用されます。
これは、Creative Commonsライセンスの一種で、
・原著作者のクレジットを表示すれば
・作品を複製、頒布、展示、実演が可能
・二次著作物を作成することが可能
となります。
なので、利用する部分に著作者表示(作者名、メールアドレス、元のURLあたりを書いておくといいと思います)を書いて、その部分のライセンス(CC Attribution 3.0)を明記しておけば、自由に利用することができるようです。
ちなみに、例示で出したhmacsha1()関数は、PHP5.1.2以降であればhash_hmac関数が組み込みで存在します。

・NetCommons2.0ダウンロード開始!!
NetCommons2.0では、ブロック配置やメニューの並びかえが、ドラッグ&ドロップで直感的に操作できるので、サイト構築や設定がこれまでよりもわかりやすくなっていると思います。
というわけで、せっかくNetCommons2.0が正式にリリースされたので、長らく放置してあったNetCommons実験室をNetCommons2.0実験室として復活させることにしました。
・NetCommons2.0実験室
昨日はインストールで悪戦苦闘してしまって、デザイン変更までできなかったのですが、これからちょこちょこ手を加えながら、NetCommons2.0の使い勝手をしっかり確認していこうと思っています。
さて、そんなNetCommons2.0がどんな感じになってるのか手っ取り早く把握したいという人は、是非今週水曜(8月20日)に開催のCMSナイトへ来てみてください。今回のCMSナイトは、NetCommons2.0の解説とデモが予定されていますので。もちろん私も参加予定です。
・CMS Night 8/20(水)のお知らせ

結果的に今までずっと秀丸でコーディングしてきたのですが、今日久しぶりにVBAのエディタ(たぶんVisualStudioライク)を使ってコーディングしたらかなり快適だったので再挑戦してみようと思いました。そろそろVisualStudioの文字コード問題も解決しているのではないかと思って。とはいえ文字コードの件は伝聞なので「プロジェクトごとではなく一つ一つのファイルを開くごとに指定しないといけない」という問題は最初からなかったのかもしれません。
で、再挑戦するに当たってVisualStudioとVSPHPがセットになっているという
VS.Php 2.4 Standalone Edition
をダウンロードしてみました。
ダウンロードしてutf-8とEUCでできている別プロジェクトを開いてプロジェクトのプロパティでそれぞれの文字コードを指定したところ問題なくいけそうに見えます。この調子でしばらく使えるようならようやく念願のIDEを使う人の仲間入りができそうです。
デバッガも使えそうです。しかしデフォルトでは別phpで動くようなのでこれをxamppのphpで動くようにしたりとかできるように設定しないといけなさそう。
それと、JavaScriptエラーのあるページを開くとmsgboxが表示され、ややこしいことに…。きっとこれも何らかの解決方法があると思うのでググって解決していこうと思っています。
<?php
$data = 'ここにutf-8でdocomoの絵文字を入れる';
require './MobilePictogramConverter/MobilePictogramConverter.php';
$mpc =& MobilePictogramConverter::factory(
$data,
MPC_FROM_FOMA,
MPC_FROM_CHARSET_UTF8,
MPC_FROM_OPTION_RAW
);
$mpc->setImagePath('./MobilePictogramConverter/img/');
echo $mpc->Convert(MPC_TO_FOMA, MPC_TO_OPTION_IMG);
?>
こんにちわ2回目のなおとです。
今日はRYUSの伝統?に倣って、XOOPS Hackネタをご披露します。
とはいえ私も若輩の身、お手軽なHTMLテクニックで行きたいと思います。
題のとおりなのですが、google-code-prettifyを使った、プログラム・コードのシンタックス・ハイライトつまり色分けをします。
google-code-prettifyについては1年以上前のマイコミジャーナルの記事、「ハイライトもGoogle流 - "google-code-prettify"でソースコードに色付けを」が参考になります。
Javascriptでいろいろうまい具合にやってくれて、大変お手軽です。
これを組み込むと、フォーラムやブログで書いた、 some codes
それでは今回の肝になる部分ですが、以下のJavascript等の固まりを、HTMLの「できるだけ後のほう」に組み込めばミッション・クリアです。
その前に、外部jsと外部cssファイルは上記リンク先から入手して、サーバにアップロードしておいてくださいね。
<script src="/themes/prettify.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="/themes/prettify.css" />
<script type="text/javascript">
// fetch a list of nodes to rewrite
var preXCodeSegments = document.getElementsByTagName('pre');
for (var i = 0; i < preXCodeSegments.length; ++i) {
preXCodeSegments[i].className = 'prettyprint';
}
prettyPrint();
</script>
方法その1 テーマで
XOOPS_ROOT_PATH/themes/[mytheme]/theme.html
を書き換えます。詳細の説明は省きます。当サイトではこの手法でやっています。
方法その2 カスタム・ブロックで
管理メニューに入って、「互換モジュール >> ブロックの管理」画面の、「カスタムブロック追加」ボタンからはじめます。もちろんaltsysを使ってもかまいません。
で、上のカコミの中身をHTML(無変換)でコンテンツエリアに書きます。
タイトルは好きにしてかまいません。ただ、表示サイドは必ず「サイドブロック 右」で、並び順も99といったように、できるだけ後のほうになるように指定してください。この方法だと、ブロックのタイトルがどうしても表示されてしまうのが欠点です。。。
表示先のモジュールは「すべてのモジュール」、アクセス権はサイト管理者と登録ユーザとゲスト、つまり全部許可でいいと思います。このあたりは適宜調整してください。
ほかにも、フッターエリアを使う方法も考えられます。ただ、テーマによってはうまくいかないかも知れません。
さて。
ここでたとえば、上記のカスタマイズを一撃でクリアしてくれるようなモジュールを用意しました〜、と言えれば最高だったのですが、そこはそれ。今後の宿題ということで、皆さんもチャレンジしてはいかが?ということでお茶を濁らさせていただきます。
しまらない感じでしたが、じっさい、当ブログのように、頻繁にプログラムを書く人には効果は絶大ですよ。
PHP4でXMLのパースをする場合、あまりいいライブラリがないようです。
そこで、rhacoのXMLパーサであるSimpleTagを単体で利用してみようと思います。
まず、rhaco本体をダウンロードします。
http://rhaco.org/
の「RELEASED」からダウンロードできます。ただしrhacoはtrunk推奨なのでtrunkをsvn coしたほうがいいと思います。
rhacoを適当なパス(サンプルコード中では/path/to/rhaco)に設置し、以下のコードを実行します。
<?php
require_once('/path/to/rhaco/Rhaco.php');
require_once('/path/to/rhaco/tag/model/SimpleTag.php');
$xml = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<name>sato</name>
</user>
<user>
<name>ryuji</name>
</user>
<user>
<name>umoto</name>
</user>
<user>
<name>halt</name>
</user>
<user>
<name>naoto</name>
</user>
</users>
EOD;
$tag =& new SimpleTag();
$tag->set($xml);
foreach($tag->getIn("user") as $user) {
echo $user->f('name.value()'),PHP_EOL;
}
このように、簡単に使えます。
PHP5でも使えますし、XOOPSに組み込んで使うこともできるので(rhacoの全機能は無理なのですが)、是非お試しください。

最近、XOOPSについてお話させていただく機会が増えてきたので、「他のオープンソースCMSと比較したときにXOOPSの良さって何だろう?」ということを良く考えるようになりました。
だんだんとこういうときはXOOPSが良さそう。こういうときは、他のCMSの方がいいかもというのが少しずつ見えてきたような気がしてます。
さて、そんなことを思いながら参加してかたWebSig会議だったわけですが、「これいいんじゃない!」と思えるCMSがありましたので、それらのCMSとあわせて、私の注目してるCMSの紹介をしたいと思います。
■NetCommons
国立情報学研究所が中心となって開発されているCMSです。
現行のNetCommons1.xは、XOOPSがベースとなっています。
学校、教育分野では多数の導入実績があり、今後もこの分野では普及していくことでしょう。
私はこの夏にリリースされるといわれているNetCommons2.0に注目しています。
XOOPSベースだった1.x系と違い、NetCommons2.0では、mapleをつかって一から開発しなおしています。
ユーザグループごとにNetCommons内にグループ専用サイトがつくれるような形のCMSです。
現在は、XOOPS専門でやっているRYUSですが、今後NetCommonsを利用したサイト構築やモジュール開発、NetCommonsのテーマデザインも手がけていく予定です。
■MODx
DreamweaverライクなCMSです。
Dreamweaverで、テンプレート機能を利用してサイト構築された経験がある方なら非常になじみやすいと思います。
自由なサイト構築ができるのが特徴ですが、その反面、やや複雑すぎるところもあると思います。
XOOPSやBLOGでのサイト更新に慣れ親しんだ方には、MODxで構築されたサイトを更新するのは抵抗感じるんじゃないかなぁ。
コーポレートサイトなどには向いていると思います。
■SOYCMS
MODxと同様にコーポレートサイトなどに向くCMSですが、MODx以上に私は注目してます。
MODxよりも自由度は下がりますが、その分、インターフェースがシンプルです。
SOYCMSが一番活躍するだろうなぁと思うのは、既存静的HTMLサイトのCMS化だろうと思います。
既存サイトのHTMLをガシガシコピー&ペーストで、SOYCMS側にページを作成していって、日常更新をかけるところだけ、動的に更新できるようにしてやる。
そんな風に、既存静的HTMLサイトをCMS化できるんじゃないかなぁと感じてます。
■OpenPNE
mixiのようなSNSをつくれるCMSです。
XOOPSと同じく「コミュニティ」というのがひとつのキーワードになると思うのですが、切り口は異なります。
OpenPNEの場合、人と人とのつながりの表現やコミュニケーションの場をつくるツールだと思います。
一方XOOPSは、コミュニティ内での情報集約、情報の蓄積に向くCMSだと思います。
コミュニティの「人」に焦点をあてたOpenPNE
コミュニティの「情報」に焦点をあてたXOOPS
こういう違いがあるんじゃないかなぁと考えてます。
というわけで龍司の注目しているCMSをざっくりと紹介してみました。
今後RYUSでは、XOOPS以外のオープンソースCMSについても、サービス提供していくことを検討していますので、XOOPSにするか、他のCMSにするかお悩みでしたら是非ご相談ください。

ファイルの一覧を出力して管理などに使おうとしたとき、今まではdos窓からコマンドを打ってしてましたが面倒くさくてなかなかたくさんフォルダのあるものをやるのは大変でした。
で、ほしいモノはたいがいネットでフリーソフトになっていることを思い出し検索してみたらやはりたくさんあるのですね。他のものも試しましたがCSVに出力できるのが便利でこれを使ってみました。
ふなツリー
http://www.vector.co.jp/soft/cmt/win95/util/se193910.html
CSVの形で出力できるのでそのままファイルを管理することに使えます。
フォルダ部分も列に入ってくれるとよかったのですがそこまでするのはプログラムが大変ですね(><)。
ホダ塾ディストリビューションをツリーにしてみました。

今まで「たくさんあるなー」という感想だけだったのがこれですっきりです。
エクセルに読み込めるので管理系の仕事の時に便利に使えそうです。



