2006-08-01
_ もう 8 月か…
早いものでもう 8 月ですか….なんか 7 月って何やってったけ?っていうくらいあっという間だったんですが.ここ 1 ヶ月ほどは毎日 Java のコードをがんがん書いては,テストという感じ.自分でちゃんと書くのは研修以来ずっとなかった(ちょろっとした程度なら書いてたけど)ので,リハビリにそこそこ時間をとられてしまった.
2006-08-02
_ GIGAZINE のロゴを小さくする CSS
GIGAZINEのロゴを小さくするGreasemonkey を見て,Firefox ユーザーで Stylish を使ってる人は CSS でロゴを小さくしたりもできますよ,という話.
GIGAZINE はサイトを訪れるといつもあの大きなロゴが「ばーん」と目に入ってくるのですが,慣れてしまうとちょっと邪魔に思えてしまったり…(いや,サイトの看板みたいなもんだから目立つのは当然なのですが…)
そんなわけで,私の場合は下記の CSS でロゴを小さく表示しています,
@namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("gigazine.net") { img[src*="logo.png"] { width: 100px; } }
Stylish を使ってなくても,userContent.css でも可能です.
2006-08-05
_ 飲み会
金曜はお客さんと飲み会…というか,接待っていうのかな?久々に定時に会社を出たような気がするなぁ.家に着いたら 22 時過ぎで,いつもはまだ会社にいる時間.
0 時前には就寝して,朝の 7 時前に,朝日を浴びて起床…と書くと,さわやかな感じがするが,実際はアルコールの分解に水分を使ったためか,のどは渇くは,直射日光直撃で暑くて目が覚めたという最悪な状態なのでした.
2006-08-07
_ CSS のデバッグの小技
新しいスタイルシートを書いたりするときは,たいていデバッグ用にボーダーを入れたりなんかしたりするのですが,これを構造を階層ごとに色分けして表示すると,よりデバッグしやすくなるかも.そんな小技が A Handy CSS Debugging Snippet で,デバッグ用の CSS が紹介されていました.
ためしにこのサイトでも表示させてみたのですが,うーん,どうだろう.スタイルシートを定義する初期段階では結構役立ちそうな気もします.
リンク先では,CSS に記述してコメントアウトしておいて,構造を確認したいときにコメントをはずしてるよ,って書いてたけど,自分の場合は,それをやるとうっかり忘れて放置とかはずかしいことをしてしまいそうなので,Bookmarklet にしてみたり.
javascript:(function(){var newSS, styles='* { outline: 2px dotted red } * * { outline: 2px dotted green } * * * { outline: 2px dotted orange } * * * * { outline: 2px dotted blue } * * * * * { outline: 1px solid red } * * * * * * { outline: 1px solid green } * * * * * * * { outline: 1px solid orange } * * * * * * * * { outline: 1px solid blue }'; if(document.createStyleSheet) { document.createStyleSheet(%22javascript:'%22+styles+%22'%22); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.documentElement.childNodes[0].appendChild(newSS); } })();
2006-08-09
_ Zaurus SL-C860 が起動しなくなった
pdaXrom 1.1.0 beta4 が公開されたので,久々に入れ替えてみるかとか思ったら,電源が入らない….今までも何回か起きてはいたけど,今回は重症?っぽい.
AC アダプタをつけても電源ランプが点灯しないし,バッテリー抜いてしばらく放置しても状況はかわらず(今まではこれでなんとか起動してた).とりあえずしばらく様子をみてみるか….
たいてい,サスペンド状態で長期間放置してバッテリーが切れてしまうとこの現象が発生しているような気もするけど,あまり関係ないかな.
2006-08-11
_ Zaurus が復活したので pdaXrom 1.1.0 beta4 をいれてみた
先日,起動しなくなった Zaurus ですが,一晩寝かせたら復活しました.というわけで pdaXrom 1.1.0 beta4 をインストールしてみました.これまでとは手順が異なっていたのですが,とりあえず起動はした…けど,ネットワークがつながらないなぁ.電源ケーブルを抜くと落ちてしまうとか,ちょっと実用には耐えがたい感じなので,ひとまず beta1 くらいに戻すことにします.
ちなみに NAND バックアップからリストアを行う場合,Service Menu から実施するわけですが,beta4 を導入したあとは, + を押しながら AC 電源をつなぐ方法だと起動しなくなってしまうみたい(たぶん).この場合, + + を押しながら AC 電源をつなぐと Service Menu が表示されました.
2006-08-12
_ 夏休み
例年だとこの時期は普通に仕事して,9 月か 10 月あたりにまとめて休みをとってたけど,今年はその時期に休みがとれなさそうなスケジュールなので,所謂「お盆休み」をとることに.
で,初日は毎年恒例となった,高校の同窓会.年に 2 回ほどあういつものメンバーと再会.普段は集合時間にほとんど集まらない人たちが,今回はなぜか集合時間前にほぼ集まってるし.珍しい!!
後半から参加者 6 人中,男 3 人,女 1 人で焼酎のボトルを 2 本あけたけど,今までの同窓会で一番飲んだんじゃないかなぁ.店員さんに,ボトルもう 1 本とかいったら,ちょっとひいてたような…
よくよく考えてみたら,高校卒業してもう 7 年以上たつのに,こうして定期的に集まれるってのは,やっぱいいなぁとかしみじみと思う,幹事なのでありました.
2006-08-14
_ pdaXrom で Ruby on Rails
通勤時間がわりと中途半端な時間で,たいていぼーっと過ごすことが多いのですが,手元にある Zaurus に Rails を入れてちょっとした時間に,Ruby や Rails の勉強ができる環境を構築してみた.
といっても,この Zaurus SL-C860 はすでに pdaXrom をインストールしているので,特にこれといって難しいことはないのですが…
まずは Ruby のインストールですが,とりあえず http://www.pdaxrom.org/contrib/fabian/ のパッケージを利用してインストールしました.
# ruby -v ruby 1.8.4 (2005-12-24) [armv5tel-linux]
続いて RubyGems のインストール.ここからは 「Ruby on Rails開発環境の構築 Debian GNU/Linux with RubyGems」 を参考にインストール.基本的に書いてあるとおりに進めていけば問題なくインストールできます.今回はインストール先を SD カードにするよう変更しました.
まず,RubyGems のソースファイルをダウンロードし,解凍しておきます.次にインストール先ですが,今回は SD カード上の opt 以下に導入してみることにします.
# mkdir /mnt/card/opt/rubygems # export GEM_HOME=/mnt/card/opt/rubygems/ # ruby setup.rb config --prefix=/mnt/card/opt/ ---> bin <--- bin ---> lib ---> lib/rbconfig <--- lib/rbconfig ---> lib/rubygems <--- lib/rubygems <--- lib # ruby setup.rb setup ---> bin <--- bin ---> lib ---> lib/rbconfig <--- lib/rbconfig ---> lib/rubygems <--- lib/rubygems <--- lib root@zau # ruby setup.rb install rm -f InstalledFiles ---> bin mkdir -p /mnt/card/opt/bin install gem /mnt/card/opt/bin/ install gem_mirror /mnt/card/opt/bin/ install gem_server /mnt/card/opt/bin/ install gemlock /mnt/card/opt/bin/ install gemri /mnt/card/opt/bin/ install gemwhich /mnt/card/opt/bin/ install index_gem_repository.rb /mnt/card/opt/bin/ install update_rubygems /mnt/card/opt/bin/ <--- bin ---> lib mkdir -p /mnt/card/opt/lib/ruby/site_ruby/1.8 install gemconfigure.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/ install rubygems.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/ install ubygems.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/ ---> lib/rbconfig mkdir -p /mnt/card/opt/lib/ruby/site_ruby/1.8/rbconfig install datadir.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rbconfig <--- lib/rbconfig ---> lib/rubygems mkdir -p /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install builder.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install cmd_manager.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install command.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install config_file.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install custom_require.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install dependency_list.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install doc_manager.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install format.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install gem_commands.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install gem_openssl.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install gem_runner.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install incremental_fetcher.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install installer.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install loadpath_manager.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install old_format.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install open-uri.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install package.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install remote_installer.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install rubygems_version.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install security.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install source_index.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install specification.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install timer.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install user_interaction.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install validator.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems install version.rb /mnt/card/opt/lib/ruby/site_ruby/1.8/rubygems <--- lib/rubygems <--- lib As of RubyGems 0.8.0, library stubs are no longer needed. Searching $LOAD_PATH for stubs to optionally delete (may take a while)... ...done. No library stubs found. Successfully built RubyGem Name: sources Version: 0.0.1
インストールが済んだら必要な環境変数を設定しておきます./etc/profile に下記を追記.
export RUBYLIB=/mnt/card/opt/lib/ruby/site_ruby/1.8/ export GEM_HOME=/mnt/card/opt/rubygems/ export PATH=/mnt/card/opt/bin:/mnt/card/opt/rubygems/bin:$PATH
インストールした環境が正しいかどうか確認.
# gem environment Rubygems Environment: - VERSION: 0.9.0 (0.9.0) - INSTALLATION DIRECTORY: /mnt/card/opt/rubygems/ - GEM PATH: - /mnt/card/opt/rubygems/ - REMOTE SOURCES: - http://gems.rubyforge.org
RubyGems のインストールが済んだら,次は Rails のインストール.デフォルトではインストール時に,RI や Rdoc もインストールされますが,RI,RDoc のインストールがやたらと時間がかかったので,RI だけにしたほうがいいかもしれません.
# gem install rails --no-rdoc --include-dependencies Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed rails-1.1.4 Successfully installed rake-0.7.1 Successfully installed activesupport-1.3.1 Successfully installed activerecord-1.14.3 Successfully installed actionpack-1.12.3 Successfully installed actionmailer-1.2.3 Successfully installed actionwebservice-1.1.4 Installing ri documentation for rake-0.7.1... Installing ri documentation for activesupport-1.3.1... Installing ri documentation for activerecord-1.14.3... Installing ri documentation for actionpack-1.12.3... Installing ri documentation for actionmailer-1.2.3... Installing ri documentation for actionwebservice-1.1.4...
オプションを毎回書くのが面倒なので,$HOME/.gemrc を作成しておく..gemrc についてはドキュメントを参考に.
gem: --remote --no-rdoc
最後にテスト用のアプリケーションを作成して動作確認です.
# mkdir -p work/rails # cd work/rails # rails test # script/server => Booting WEBrick... => Rails application started on http://0.0.0.0:3000 => Ctrl-C to shutdown server; call with --help for options [2006-01-08 21:09:39] INFO WEBrick 1.3.1 [2006-01-08 21:09:39] INFO ruby 1.8.4 (2005-12-24) [armv5tel-linux] [2006-01-08 21:09:39] INFO WEBrick::HTTPServer#start: pid=20300 port=3000
これで,http://localhost:3000 にアクセスし,「Welcome aboard」が表示されれば,ひとまずインストールは完了です.
若干もたつくところはあるけれど,手軽に持ち歩ける環境としては,それなりにいい感じ.
2006-08-15
_ 甥っ子と再会
数ヶ月ぶりに甥っ子と再会.いつの間にかはいはい(というか匍匐前進)ができるようになっていて,部屋中をずりずりと動き回る.どうも「コード」が気になるらしく,携帯充電器のコードやら電化製品のコード,とりあえず目に付くとそこめがけて動き回る,動き回る.
とにかくよく動き回るので,汗をやたらとかいてます.今日はもう 4 度目の入浴だとか.動く割にはあまり寝ないらしいので,弟夫婦は結構お疲れな感じ.
そんなわけで,動き回れるようになって僕につかまってきたので,7 ヶ月を経過して,おじさんは初めてこの子を抱いてみた,そんなお盆休み.
2006-08-19
_ Rails 勉強会@関西 第 5 回参加
Rails 勉強会@関西 第 5 回に参加してきました.60 席以上ある座席はすでにほぼ満席状態で,空いている席を探すのも大変な感じでした.
セッションその 1 は渡辺幸三さんによる「アジャイルにデータモデリング」.Rails が盛り上がりを見せているけど,営業管理システムなどの基幹システムを構築するには,まずは押さえておかなきゃいけないことがあるよね,という話.
基幹システムを構築するために必要なものとして,3 つのキーワードがあげられた.
- 簿記(3 級)
- モデリング
- 個々の業務知識
基幹システムを構築するのに,個々の業務知識が必須なのはもちろんですが,「簿記 3 級」.このあたりの知識が必要,と.2 級までの高度な知識までは必須ではないらしい.そういえば,会社で簿記の勉強会があったときも,3 級は取れるくらいの知識は必要ですよって話があったなぁ.
モデリング支援ツールとして「XEAD」というツールが出てきたので,これはあとでサンプルをながめてみようと思う.
セッションその 2 は moriq さんの「Rails Chat の仕組みを読み解く」で,Rails Chat がどのような仕組みで動いているのか,Juggernaut(ジャガーノート),TigerBaumKuchen(タイガーバームクーヘン)について.
前日に,Rails Chat がどんなものか,実際にインストールしてみて使ったみたのですが,どういう仕組みで動作しているのか,わかりやすく解説されてよく理解できた.
セッションその 3 は,かずひこさん・あゆさんによる「Rails 初心者レッスン第 2 回 − ActiveRecord 入門」.渡辺さんのセッションでもふれられた,O/R マッピングツール ActiveRecord の基本的な使い方を理解しようという内容.DB の内容を Ruby のオブジェクトとして扱い,CRUD 操作が簡単に行えるというもの.
前回も結構なハイペースでしたが,今回もハイペースだと事前に宣言.今回は,自分で手を動かすのは極力避けて,話を聞くことにしてみた.気になるところは自分でちょこちょこっと試してみる程度で.あとは帰ってから資料を読みながら復習しよう.
モデルの定義で,created_at や updated_at をカラムに定義しておくと便利.ちなみに,created_on,updated_on で定義しても同様の効果があるみたい.これらのカラムを定義しておくことで,insert/update 時に更新日時を入れてくれるものです.
Ruby 勉強会,Rails 勉強会ともに,60 人以上の参加者で Ruby , Rails 盛り上がってるなぁってのをひしひしと感じた勉強会でした.
2006-08-21
_ tDiary の更新時に mixi の日記も更新するプラグイン
【注意】mixi の仕様変更のためこのプラグインは現在正常に動作しません
だいぶ前に,mixi の日記を携帯メールを使って外部日記から更新するツールを作って,mixi と外部日記の連携をしていたのですが,夏休みを利用して tDiary のプラグインとして利用できるように作り直してみました.
外部の日記にコメントをいれるのはちょっと…という人でも,mixi に同じエントリがあればコメントしやすいかなってのがこのプラグインを作ったそもそもの動機.
このプラグインでは,日記更新時に,サブタイトルをメールの件名,日記本文をメール本文としてメールを送信します.最初,メール送信部分もプラグインに含めようかとも思ったけど,ツコッミメール系プラグインが使えそうだったので,実装しませんでした.ちなみにツッコミメールプラグインを利用していますが,ツッコミメールを送信しない設定 (@options['comment_mail.enable']=false) でも,mixi 日記更新はされるようになっています.
mixi の日記をメールを利用して更新した場合,送信したメールはすべて新規の日記となるので,一度送信したセクションは再送信しないようになっています.したがって,日記の内容を変更しても,mixi の日記は自動で変更できません.修正したい場合は直接 mixi の日記を修正してください.
送信する日記の内容は,全文を送信するか,冒頭の 500 バイトを送信するかを設定できます.mixi の日記を更新するかどうかは,日記更新画面に,「mixi 日記を更新する」のチェックボックスがあるので,チェックをいれると更新されます.また,「この日の日記を隠す」にチェックが入っている場合は更新されません.デフォルトでは,「mixi 日記を更新する」はチェックが off になっていますが,設定でデフォルト on にすることも可能です.
mixi_update.tar.gz(mixi の仕様変更により現在利用できません)
プラグインファイルの構成は以下のようになります.
- mixi_update
- mixi_update.rb
- ja
- mixi_update.rb
- skel
- miximail.rtxt
mixi_update.rb はプラグイン,言語リソースそれぞれ配置してください.また skel 以下の,miximail.rtxt は,tDiary インストールディレクトリの skel 以下に配置してください.
設定項目は,必要に応じて以下を tdiary.conf に記述してください.
- 更新用 mixi のメールアドレス(必須)
- @options['mixi_update.send_address'] = '[email protected]'
- mixi 日記を更新する(必須,デフォルト false)
- @options['mixi_update.enable'] = true
- 「mixi 日記を更新する」のチェックをいれる(デフォルト false)
- @options['mixi_update.checked'] = true
- 送信する本文を省略する(デフォルト false)
- @options['mixi_update.shorten'] = true
送信するメールアドレスは別に mixi でなくても送信できるので,別のアドレスを利用して送信テストも可能です.
なお,mixi_update プラグインとあわせてツッコミメール系のプラグイン (comment_mail-xxx) をどれか有効にしておいてください.ツッコミメールプラグインがどれも選択されていなかったり,mixi_update.enable が false になっている場合は,日記更新画面で,「mixi 日記を更新する」は表示されず,「mixi 日記更新プラグインを実行できません」と表示されます.
mixi の日記と tDiary を連携させてみたい方はどうぞご利用くださいませ.
2006-08-23
_ esmtp でメール送信
このサーバでは今まで MTA は導入していなかったのですが,tDiary の日記更新時に mixi の日記も更新するプラグインで,ツッコミメールプラグインを利用するのにどうしようかと考えていました.
Gmail や ISP の SMTP サーバを直接利用する方法も考えたのですが,ローカルに esmtp というリレーのみ行う MTA を導入し,ISP の SMTP サーバへメールをリレーさせるようにしてみました.
設定はとても簡単.インストールは Debian なら,
# apt-get install esmtp
インストール時に,リレーする SMTP サーバのホスト名,ユーザーID,パスワードを設定します.設定ファイルは,/etc/esmtprc に記述されます.tDiary の comment_mail-sendmail プラグインで,
@options['comment_mail.sendmail'] = '/usr/bin/esmtp'
と指定することで,メール送信が可能になりした.
ちなみに Gmail を SMTP サーバとして利用する場合は,STARTTLS 用の設定が必要になります.
2006-08-27
_ ゴーヤは熟すとオレンジ色
ゴーヤって緑色のイメージしかもっていなくて,実家に帰ったときにオレンジ色のゴーヤを見せられたときには,ちょっと驚き.普段食べているのは熟す前の状態で,熟したゴーヤはオレンジ色なんですね.
ちなみに,熟したゴーヤは中がルビー色をしていて,種の周りにあるゼリー状のものがちょっと甘い感じでした.
2006-08-28
_ Debian に Plagger をインストール
Plagger をインストールしたので覚え書き.CPAN でのモジュールインストールを挫折した人なので,ここはちょっと楽して公開されているレポジトリを使ったお手軽環境構築について.
まず,レポジトリを利用するに当たっては,stable な環境では利用できないんで,unstable な環境を,sarge 上に作ることから.これも別に難しいこともなく,debootstrap を利用して簡単に構築できる.今回は,いったん stable な環境を作ってから,unstable に dist-upgrade する手順で.
まずは,debootstrap コマンドで環境を作ります.コマンド一発であとはおまかせ.
# mkdir /debian-sid # debootstrap sarge /debian-sid
インストールが完了したらとりあえず,chroot してみる.
# chroot /debian-sid
これで,既存の環境の中に,新たに stable な環境を作ることができた.インストール直後はいろいろと余計なパッケージもあるので,ひとまずディスク容量の節約も考えて最小構成に.最初,127 のパッケージがインストールされているうちの,下記のパッケージをさっくり削除してみた.残ったパッケージは 30 ちょっとくらいになった.
# dpkg -P adduser apt-utils aptitude at base-config bsdmainutils console-common console-data console-tools cpio cron debconf debconf-i18n dhcp-client ed exim4 exim4-base exim4-config exim4-daemon-light fdutils gettext-base groff-base ifupdown info ipchains iptables iputils-ping klogd libconsole libdb4.2 libgcrypt11 libgdbm3 libgnutls11 libgpg-error0 liblocale-gettext-perl liblockfile1 liblzo1 libnewt0.51 libopencdk8 libpcap0.7 libpcre3 libpopt0 libsigc++-1.2-5c102 libssl0.9.7 libtasn1-2 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libtextwrap1 libwrap0 logrotate mailx makedev man-db manpages modutils nano net-tools netbase netkit-inetd pciutils ppp pppconfig pppoe pppoeconf procps psmisc sysklogd tasksel tcpd telnet wget whiptail
次に Plagger をインストールするために,環境を unstable に変更.apt-line を unstable 用に書き換えて,update して,dist-upgrade.
# apt-get update # apt-get dist-upgrade
これで,unstable な環境が出来上がりました.実に簡単.この時点か,unstable に変更する前の状態で,アーカイブして残しておくと,再度環境を構築する際に便利かも.アーカイブを解凍すれば,それで chroot 可能な状態になるので.
で,ここからが Plaggerのインストール.apt-line に以下を追加して,update して install.
deb http://debian.hansode.org/ ./ # apt-get update # apt-get install libplagger-perl
とりあえず沢山インストールされるので,すべてお任せ.インストールが完了したら,下記のコマンドでバージョンを確認してみる.
# plagger -v Plagger version 0.7.3
とりあえずこれで Plagger が使えてしまう.思った以上にあっさりすんでしまった.インストールはすんだけど,ちゃんと動くかな.簡単なサンプルで試してみる.
サンプルの定義ファイルを記述.
plugins: - module: Subscription::Config config: feed: - url: http://www.smallstyle.com - module: Publish::Debug
動かしてみると,フィードが取得されていることが確認できる.大丈夫そーだな.
# plagger -c sample.yaml Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded. Plagger [info] plugin Plagger::Plugin::Publish::Debug loaded. Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded. Plagger::Plugin::Aggregator::Simple [info] Fetch http://www.smallstyle.com Plagger::Cache [debug] Cache MISS: Aggregator-Simple|http://www.smallstyle.com Plagger::Plugin::Aggregator::Simple [debug] 200: http://www.smallstyle.com Plagger::Plugin::Aggregator::Simple [info] Fetch http://feeds.feedburner.com/smallstyle Plagger::Cache [debug] Cache MISS: Aggregator-Simple|http://feeds.feedburner.com/smallstyle Plagger::Plugin::Aggregator::Simple [debug] 200: http://feeds.feedburner.com/smallstyle Plagger::Plugin::Aggregator::Simple [info] Aggregate http://feeds.feedburner.com/smallstyle success: 15 entries. Plagger [debug] $VAR1 = bless( { 'source_xml' => '<?xml version="1.0" encoding="UTF-8"?> ...
Gmail に送ったりもできるか試してみる.まず,plugin を Plagger の subversion repository からチェックアウトしておく.
# apt-get install subversion # svn co http://svn.bulknews.net/repos/plagger/trunk/plagger/assets assets
example にある rss2email.yaml をベースに定義ファイルを作成.
# Fetch RSS and send HTML emails for each feed global: plugin_path: - /home/hoge/plagger/assets/plugins assets_path: /home/hoge/plagger/assets # Set timezone to your local one timezone: Asia/Tokyo # this make logger logs important information log: level: info plugins: - module: Subscription::Config config: feed: - http://www.smallstyle.com # Send HTML email to your Gmail account using external SMTP server - module: Publish::Gmail config: mailto: [email protected] mailfrom: [email protected] mailroute: via: smtp_tls host: smtp.gmail.com:587 username: example password: *******
あとは,実行すればメールが届いている…はず.
# plagger -c rss2email.yaml Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded. Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded. Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded. Plagger::Plugin::Aggregator::Simple [info] Fetch http://www.smallstyle.com/ Plagger::Plugin::Aggregator::Simple [info] Fetch http://feeds.feedburner.com/smallstyle Plagger::Plugin::Aggregator::Simple [info] Aggregate http://feeds.feedburner.com/smallstyle success: 15 entries. Plagger::Plugin::Publish::Gmail [info] Sending SmallStyle to [email protected]
送信した Gmail のアカウントを確認すると,確かにフィードがメールで届いてる.
Plagger 使ってみたいけどなんかインストールが大変そう…ってな感じだったのですが,リポジトリを使ってしまえば,何の苦労もせずにインストールできてしまった.chroot 環境であれば既存の環境にも影響ないし.とりあえずどんなもんか見てみたいって人にはおすすめかも.
さて,次は Plagger 使って何したいか,だな.
2006-08-30
_ 少しずつ秋の気配…のはずが
朝,晩は少しずつ過ごしやすい感じになってきて,秋も近づきつつあるなぁとか思いながら,窓の外から聞こえる,虫の音と,警報機の音…?警報機の音!?
なんか近くの店の警報機が誤作動したのかなんなのか,やかましくベルをならしているみたい.20 分くらいしたところで,パトカーが到着.警官が周りを見て回っているようだけど,特に変わったことはないみたい(ベルが鳴っている以外は).
10 分ほどして,音の発生元がわかったらしく無理矢理警報を止めたのかな.店の隣に住んでる人が家から脚立を持ってきたり,なんやかしてようやく静かになりました.
そんな様子を部屋から眺めていたりしたら,あっという間に 1 時間もたってしまっていた…
_ このサイトを見てる人の 8 割以上が男性...らしい
Microsoft adCenter Labs Demonstration で,サイトの訪問者の性別と年齢層の割合がわかるというもの.このサイトではどんなものかなと調べてみたところ,右のような結果に.
2006-08-31
_ Filter::EntryFullText の設定ファイルを書いてみる
Plagger を使いたかった目的の一つにフィードの全文配信をしていないサイトや,そもそもフィードの配信をしていないとこも,なんとかしたいなぁとか思ってたから.これが Plagger のプラグイン,Filter::EntryFullText を使えば HTML から文章を切り出し,フィードを作成することができます.
というわけで,今日は試しに「街の灯」を対象に全文入りフィードを出力するようにしてみました.(9/1追記:日付取得部分がうまくとれないようなので,title と body を取得するように変更)
author: smallstyle custom_feed_handle: http://www\.matino-akari\.com/linksyu custom_feed_follow_link: /news\.cgi\?mode=vew&resno=\d+.*? handle: http://www\.matino-akari\.com/linksyu/news\.cgi\?mode=vew&resno=\d+.*? extract: <h1>.*?<a href=.*?>(.*?)</a>.*?<div class=o>(.*?)<br></div> extract_capture: title body
これだけ.記述した設定ファイルは,assets/plugins/Filter-EntryFullText 以下に配置.あとは,config.yaml などに,
- module: Filter::EntryFullText - module: Subscription::Config config: feed: - url: http://www.matino-akari.com/linksyu/
と定義をしておいて Publish::Feed で出力すると,全文入りのフィードの完成.
ちなみに,chroot 環境で動かしている Plagger は,sarge 環境から cron で呼び出して動かしています.
*/60 * * * * /usr/sbin/chroot /debian-sid /usr/bin/plagger -c /hoge/config.yaml > /dev/null 2>&1
_ Kohei [That's 社会人ですわ!!!!]
_ hb [めずらしく社会人っぽいネタにしてみましたよ]