Sponsored Link

トップページ > 目次 > 2004年08月 : 前月

スカンクワークス

あのー( ̄△ ̄; Last-Modified: Sat, 21 Aug 2004 23:14:49 JST

自社求人情報のRSS化

RSSって非常に便利な情報発信規格で、サイトの更新情報以外の利用も始まっている。すぐに思いつくのは広告発信なんだけど、そういう出し手の都合以外考えてなさそうな印象を受ける情報発信ではなく、求人に関する情報発信について思うところあって書いてみた。

本日のコンテンツ一覧

2004-08-01

PHP5のインストール

今年の春からデスクトップ用のOSをMac OS XからFedora Coreに移行したのだが、豊富にそろっているサーバ回りのツールをつかってXMLを遊ぶという当初の目的をなかなか遂行できていない。そこで今回Fedora Core環境でXSLTを使える環境が欲しいと思い、各種ツールのセットアップをおこなった。

このサイト用に借りているXREAの場合、SablotonというC言語ベースのXSLTプロセッサがある。こいつにPHPから元データとスタイルシートを投げてあげればサーバ側でのXSLT変換は驚くくらい簡単にできてしまう。

一方おいらの作業環境であるFedora Coreにも同様の仕組みを導入しようとしたのだが、あれやこれやと入れたり、コンパイルし直す必要があるなど、実に面倒くさいことがわかった。というわけで方針としてはXSL関数を採り入れたPHP5を入れることにした。

これにあたってApacheも入れ直した。Fedora標準のApacheがどういうセッティングになっているのか、いまいちわからないところがあったため、ソースを落してきて入れ直し。ダウンロードしたApacheはバージョン2.0.50。「WWWサーバの構築(Linux騙)」というページを見ながら、configureオプションに「--enable-so」のみを指定してmake、make installをおこなった。

次はPHP。「Do You PHP? - PHP 5.0.x以降のXSLTサポート手順」を参考にPHP 5.0を組込んだ。PHP5をつかうことで面倒なsablotnなどのツールの導入をしなくてすむなぁ、というのが発想の発端。指定したconfigureオプションは彼のページとは少しだけ異なり「./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable--xsl --enable-mbstring --enable-mbstr-enc-trans --enable-mbregrex --with-xsl=/usr/lib」となった。make、make install後に、php5のソースディレクトリからphp.ini-recommendedを/usr/local/lib/php.iniとしてコピー。

最後にhttpd.confの設定。PHPの組込み時に「LoadModule php5_module modules/libphp5.so」が自動的に書き込まれたようなので、「DirectoryIndex index.html index.php」と「AddType application/x-httpd-php .php」の設定を追加する。

どちらも特に問題がなく導入完了。Fedora標準の管理ツールとの整合性がいまいち心配だっだので、それも調整してみた。Apacheだが/etc/rc.d/init.d/httpdを今回組み込んだApacheのパスに併せて内容を修正。これでFedoraの管理ツールからも問題無くON/OFFできる。

実際にlibxsltに投げるPHPのソースは以下の様になる。

XSLT関数を使用したXSLTプロセッサの利用

  1. <?php
  2. /* Load the two XML sources */
  3. $xml = new DomDocument; // from /ext/dom
  4. $xml->load('04-04.xml');
  5. $xsl = new DomDocument;
  6. $xsl->load('grandweb.xsl');
  7. /* Configure the transformer */
  8. $proc = new xsltprocessor;
  9. $proc->importStyleSheet($xsl); // attach the xsl rules
  10. echo $proc->transformToXML($xml); // actual transformation
  11. ?>

とりあえずこれで、毎度毎度htmlファイルに書き出してからアップロードという手間が不要になる。とはいうものの、「Arielworks.net」の「XREAの公式見解」に書いてあった情報によればXREAのPHPは当面バージョン4とのことで、サーバ側とローカル側で違うスクリプトを使っていくことになる。

なお、PHP5で利用するlibxsltにはxsltprocという機能が付いており、「xsltproc sample.xsl sample.xml > result.html」と入力することで、簡単にhtmlファイルを生成できた。

8月13日追記:XREA側もPHPでリアルタイム変換の設定にしてみたのだが、その後両者とも読みこまれたXSLTファイルで指定したPHPスクリプトがうまく動作しないため、とりあえず従来どおりの設定に変更。うむむ、うまくいかないものだ。

2004-08-14

Mozilla Firefox 0.9.3のビルドに挑戦

Mozilla Firefoxは幸いなことに日本語によるビルドの手引きが存在する。よく読んでも分からない部分(コンフィギュアオプションなど)があるのは、おいらがFirefoxの機能をよく知らないからだと諦めることにして、ともかくせっかく手許にgmakeなどのツールがあるんだから、Firebird 0.9.3を自分でビルドしてみようと考えた。

ただ上記のページは、開発者が自分の機能を検証するためのビルドを作る意味合いが強いのかCVSへのアクセスなど、わからない人間には「なんのこっちゃ?」みたいな情報もある。おいらはCVSに関してはズブの素人だし実際「CVSルートを適切に」みたいにかかれていても、適切なサーバが何処なのかについてうまく情報に行きつけなかった。しかたないので、この部分は端折り、mozilla.orgのFTPサーバから0.9.3Releaseのソースコードをダウンロードした。

実はこのビルド、何回も失敗している。やり方が分からない以上仕方の無いことだが、最初はコンフィギュアオプションの指定ミス、次はハードディスクの容量オーバ、最後にメモリの容量オーバといった原因で失敗をくり返した。おいらの作業マシンのスペックはCeleron 800MHz(バスクロック100MHz)、メモリ容量384MB、ハードディスク容量10GB(swapに128MB、/homeに2.5GB、/bootに64MB、/に残りを割り当ててある、5400rpmのATA-66)といったもの。このような旧世代のPCを使っている場合、Firefoxのビルドはけっこうタフな仕事だと言える。

ビルド手順だが、1.ソース伸張、2.「.mozconfig」の作成、3.環境変数の設定、4.makefileの作成、5.make、6.gzipによるパッケージ化、となる。一連の作業はすべてユーザアカウントでの作業となる。

まずソース伸張。FTPサーバ(ちなみにGentooLinuxで運営されているようだ)からファイルを落して来て、「tar jxvf firefox-0.9.3-source.tar.bz2」というコマンドで作業用ディレクトリ中に伸張すると、新しく「mozilla」ディレクトリが現れる。こちらに移動して作業開始。

このディレクトリに「.mozconfig」ファイルというのを作るのだが、何を書き込めばいいのかよくわからん。先人の労をありがたく拝借しようとWebを徘徊するとあるある、「・KIM.Tec」というサイトの今年2月分「FireFoxビルド」に指定方法のサンプルが書いてある。だた、この方法で一度ビルドは成功したのだが、メニューのアンチエイリアスが効かない状態でプログラムができ上がってしまった。困った。

再びWebを徘徊すると、「about:buildconfig」とURL欄に入力することで、コンフィギュアで指定したオプションを確認できるという。既存のFirefox 0.9.1で確認したビルドオプションを見ながら作成した.mozconfigは以下の通り。

.mozconfig指定内容

  1. export MOZ_PHOENIX=1
  2. mk_add_options MOZ_PHOENIX=1
  3. ac_add_options --disable-ldap
  4. ac_add_options --disable-mailnews
  5. ac_add_options '--enable-extensions=cookie, xml-rpc, xmlextras, pref, transformiix, universalchardet, typeaheadfind, webservices, inspector, gnomevfs, negotiateauth'
  6. ac_add_options --enable-crypto
  7. ac_add_options --disable-composer
  8. ac_add_options --enable-single-profile
  9. ac_add_options --disable-profilesharing
  10. ac_add_options '--enable-optimize=-Os -freorder-blocks -fno-reorder-functions -gstabs+'
  11. ac_add_options --disable-debug
  12. ac_add_options --disable-tests
  13. ac_add_options --enable-official-branding
  14. ac_add_options --enable-default-toolkit=gtk2
  15. ac_add_options --enable-xft
  16. ac_add_options --enable-static
  17. ac_add_options --disable-shared

次に環境変数の指定。「export MOZILLA_OFFICIAL=1」「export BUILD_OFFICIAL=1」の2つを指定し、「gmake -f client.mk checkout」でmakeファイルの作成にはいる。

ここまではうまくいったのだが、次のビルドでメモリ不足やハードディスク不足に襲われた。メモリ不足はビルドプロセスがメインメモリおよびスワップすべてを使い果たしてしまい、またハードディスク不足は当初作業をしていたhda5の容量(/に割り当てている。残り1.5GB程度だった)を使いきってしまったため。そのためメモリ不足に対しては、ビルド作業の直前で一回PCを再起動し、gnomeを起動させずにSSH経由で作業して対処。ハードディスク容量不足に対しては2.1GBの空きがあるhda2(/homeに割り当てている)で作業をおこなうことで対処した。

Windowsマシンを起動し、FedoraにSSHでアクセス。「gmake -f client.mk build」でビルド開始。2時間強の作業でビルドは終了。ディスク空き容量が100MBを切っていたので、ビルド作業には2GB近く使う計算になる。次回作業するときにはハードディスクを交換しないとなさなさそうだ。

残り容量が100MBを切っているので、いったん自ホーム内の巨大ファイルを別ドライブに避難。「cd /xpinstall/packager」「make MOZILLA_BIN=../../dist/bin/firefox」と作業して、でき上がったバイナリをパッケージング化。見事「~/mozilla/dist/mozilla-i686-pc-linux-gnu.tar.gz」が生成されました。

できあがったファイルを/usr/localに展開して、ルートで起動。「*** eeeeeeee = [Exception... "Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIFile.remove]" nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)" location: "JS frame :: file:///usr/local/firefox/components/nsExtensionManager.js :: ensureExtensionsFiles :: line 245" data: no]」といったメッセージが出るが、自分ではどうしようもないので放置。なんどかビルドを重ねるうちに意味が分かって来るでしょう、ということでメモ描き。ユーザアカウントからの起動では「*** loading the extensions datasource *** ExtensionManager:checkForMismatches: no access privileges to application directory! *** loading the extensions datasource」と、エラーだか進捗だかわからんメッセージが出るのみ。とりあえず安心。

最初は失敗したアンチエイリアスも表示され、標準版と同等の性能を持つビルドを作ることができたようだ。何事も経験ですな。

……しかし、ここからどう発展させよう( ̄△ ̄;。ビルドオプションは相変わらず理解できていないし。

 

2004年8月21日追加-参考情報:サル並日記-.mozconfig

2004-08-19

Mozilla Japanのスタート

以前にMozilla.Party 5.0でアナウンスされていたMozilla Japanが活動を開始したそうだ。Linuxと同じようにどれだけMozillaのテクノロジをベースとしたビジネスの立ち上げを支援できるかが一つの評価のポイントになると思う。

ただ現在においてWebブラウザは何かに組み込まれて始めて使われる傾向があるようで、かつてのMosaicやNetscapeのような単体での華やかな活躍は望めないのかも知れない。そうなるとMozilla SuiteやFirefoxを販売したりサポートするようなビジネスは難しいだろう。現在のインターネット利用の潮流を考えれば、ネット上にあるアプリケーションを操作するためのラッパーのようなソフトをXULを使って開発したり、Mozillaのさまざまなメジャーモードで実現されているネットワークアプリケーションを作成するためのフレームワークとして利用されることになるのだろうと予想している。

こうしたことを考え始めると、果てはLinuxやBSDにMozillaを被せたクライアントOSとか逞しい妄想を言い始めてしまうので、今日はこの位にしたい。ただこの非営利法人には「ホームページ閲覧ソフトとしてのシェア」に拘ることなく、コンピュータやインターネットテクノロジの進歩のために、ひいてはコンピュータを通した社会の発展のために、Mozillaが貢献していく道筋をしっかりと作っていってくれることを期待しつつ、設立のお祝いの言葉とさせていただきます。

2004-08-21

自社求人情報のRSS化

以前に、うちのサイトのRSSがRSS 1.0に準拠していなくてWindows用の各種RSSリーダから読みこめないというお知らせを頂いていた。最近ようやく対処を完了したのだが、その際にいくつかのRSSリーダ(HeadlineReader、HepCat、RThReader、RabbitTickerなど)をご紹介頂いた。そのRSSリーダにプリセットされている情報を見ていたんだが、あるソフトにFind Jobの求人情報が掲載されている点に目が止まった。

知っての通り、Find Jobはとくに派遣や業務委託などの方面に強い求人情報サービスだ。現在職に困っているわけではないし、求人担当でもないので、真剣にサイトを眺めたこともなかったのでRSSの掲載は意外だったのだ。ただ、次期WindowsでもMac OSでもRSSリーダの統合はひとつの売りと見られている現在、プッシュ的に情報が配信されて来るRSSでの求人情報は、リクルート活動の効率化に有効な手段だと思える。

企業にとって求人情報の発信って結構重要なのではないのかなぁとは思うのだが、規模が大きくなればなるほどリクルートや毎コミなどに募集を外注してしまうので、自社サイトでの情報公開はあまり力が入っていないような気がする。だが、外資やベンチャー企業のようにマネーじゃの出入りの激しい・もしくは新設される機会が多い企業においては、そういった職を求める人にむけて募集履歴や募集内容をWebサイトに掲載している企業も多い。優れたマネージャの獲得は、業務効率の向上ひいては経営強化につながるのだから当然と言えば当然だ。

むろんキャリアアップを考えている人にサイトを毎回チェックしてもらうのも必要だが、RSSがいろんなサイトに捕捉され二次発信されている現状を考えると、より外部へのリレーションを強化するためにRSSやなんらかの専用規格(求人専用のRDFなんてあるのかどうかは知らないが)に則った情報を配信してもよいのではないのかと思う。

ただそうした情報を発信する前に、求めている人材像や職務能力を明確にしたり、毎回の募集内容と募集の終了といった履歴情報などをきちんと整理しなければならない会社は世の中にいっぱいあると思うけどネ。ただなんとなく「社員募集」とか書いてダラダラ載せつづけているところ多くありません?

最新記事一覧 | プロフィール