スタッフブログ
・XOOPS Cubeオフィシャルサイト(β)
このサイトで特におすすめなのが次の2つのコンテンツです。
・ノウハウとヘルプ
・XOOPS Cube Legacy日本語コミュニティガイド
■ノウハウとヘルプ
このコーナーでは、いろんなサイトに書かれたXOOPS CubeのTIPSなどへのリンク集になっています。
ざっとどんな解説へのリンクがあるのかだけでも時間のあるときに眺めておけば、いざというときに助かるかもしれませんよ。
■コミュニティガイド
現在XOOPS Cubeユーザのためのコミュニティサイトは国内にいくつかあります。このページを見るだけで、各サイトのスタンスをおおざっぱに把握できますので、是非一度ご覧ください。
会社ではノートを使っている人が大多数なのですが、22インチの液晶画面をもらっているので気づくとみんなノートにキーボードをつなげているようです。
やはりノートだと猫背になるし、これは肩こりの原因かもと思ったので私もキーボードをつないでみようかと思いました。
できればトラックポイント付きのものがよかったのですが、店頭にはなかったのでタッチパッド付きキーボードを購入しました。
SANWA SUPPLY SKB-TP01SV タッチパッド付キーボード
使わないテンキーがついていないこと、マウスを使わなくても使用できることというところがよい感じです。しかしながらタッチパッドの機能が変えられないため、よくわからないのですが知らないうちにダブルクリックしたことになってしまったりスクロールしてしまったりという困ったところもあります。また、クリックキーが固いため結構力がいります。
ということでやっぱりこれ、かなぁと思うキーボードを見つけました。
Lenovo ThinkPlus USBトラベルキーボード ウルトラナビ付
本体のノートと同じキーボードなので少しだけ「何の為に…」という気もしますが、やっぱり使いやすそうです。あとちょっと気になったのが、
ぷらっとホーム Mini Keyboard III-R 日本語版 HMB633PJP/R
です。なんとなく、ですが軽快で使いやすそうなイメージ。
どこかでクリック感とか試せれば使い比べてみたいです。
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の全機能は無理なのですが)、是非お試しください。