<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Fastladder / Drkcore</title><link>http://blog.kzfmix.com/entry/Fastladder</link><description>Programming, Music, Snowboarding</description><atom:link href="http://blog.kzfmix.com/rss/" rel="self"></atom:link><language>ja</language><lastBuildDate>Wed, 16 Mar 2011 17:02:20 +0900</lastBuildDate><item><title>サーバー起動時にFastladderが一緒に立ち上がるようにする(途中)</title><link>http://blog.kzfmix.com/entry/1300262412</link><description>&lt;p&gt;うちの&lt;a href="http://blog.kzfmix.com/tag/Fastladder"&gt;職場のFastladder&lt;/a&gt;の延べユーザーは7割を超えていて、サーバーが落ちてるとすぐに苦情がくるような状況だ。このアクティブユーザー率にすんのに3年以上の地味な努力と啓蒙活動があったわけだが。&lt;/p&gt;
&lt;p&gt;で、そもそもこういったインフラは僕の仕事じゃないので障害対応しても給料に反映されるわけじゃなくて、むしろ時間を奪われるので、&lt;a href="http://blog.kzfmix.com/entry/1234571509"&gt;クローラーをdaemontools&lt;/a&gt;で動かしたりして手間を減らした。おかげで、一回起動させればサーバーが安定に動いている限りなにもしなくても良くなった(ここ一年くらいは障害対応ほとんどしてない)んだけど、今週から始まった計画停電で毎日起動してシャットダウンをしてというの繰り返しつつ、mongrel立ち上げて、クローラー動かしてっていうのはだるいのできちんと起動、停止するようにしようとした。&lt;/p&gt;
&lt;p&gt;けど、いまのとこうまくいってないのでやっつけスクリプトでしのいでいる。&lt;/p&gt;
&lt;h4&gt;mongrel&lt;/h4&gt;
&lt;p&gt;rc.localで/usr/local/fastladder/tmp/pids/mongrel.pidが存在したらrmするように書いておいて以下のシェルスクリプトをcronで実行するようにしている。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/bin/sh&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; ! -e /usr/local/fastladder/tmp/pids/mongrel.pid &lt;span class="o"&gt;]&lt;/span&gt;;
&lt;span class="k"&gt;then&lt;/span&gt;
&lt;span class="k"&gt;  &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /usr/local/fastladder; script/server -d -e production
&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ほんとは&lt;a href="http://blog.kzfmix.com/entry/1294913600"&gt;Shapado&lt;/a&gt;のようにpassengerで動かせれば楽なんだろうけどFedoraCore6だからなぁ。インストール出来んのかな？明日調べてみるか。&lt;/p&gt;
&lt;h4&gt;crawler&lt;/h4&gt;
&lt;p&gt;シャットダウン時に&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;svc&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fastladder&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;するようにしてみたんだけど、どうもうまくいってないので&lt;a href="http://www.emaillab.org/djb/daemontools/daemontools-howto.html"&gt;ドキュメント読みなおす&lt;/a&gt;。あと&lt;a href="http://www.emaillab.org/djb/tools/daemontools/top.html"&gt;日本語訳&lt;/a&gt;も。&lt;/p&gt;
&lt;p&gt;とりあえず、リブートするとプロセスが即落ちする（svstatで継続時間が1秒以内に落ちてプロセスがどんどん大きくなる状況になる）ので、この場合に&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;svc&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dx&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fastladder&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fastladder&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;を適当な感覚でまわし続けるcronを動かしておいた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/usr/bin/python&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;commands&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;re&lt;/span&gt;
&lt;span class="n"&gt;reup&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;compile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;(\d+) seconds&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_uptime&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
  &lt;span class="n"&gt;uptime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
  &lt;span class="n"&gt;svresult&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;commands&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getoutput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;svstat /service/fastladder&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;reup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;svresult&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;uptime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;uptime&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;get_uptime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="k"&gt;break&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
      &lt;span class="n"&gt;commands&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getoutput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;svc -dx /service/fastladder /service/fastladder/log&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;</description><pubDate>Wed, 16 Mar 2011 17:02:20 +0900</pubDate><category>Fastladder</category></item><item><title>fastladderのクローラーをdaemontoolsで動かす</title><link>http://blog.kzfmix.com/entry/1234571509</link><description>&lt;p&gt;クローラーがたまに落ちるのでモダンperl入門にあったdaemontoolsを使ってみることにした。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798119172/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41W6wTHDSzL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;モダンPerl入門 (CodeZine BOOKS)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    牧 大輔&lt;br /&gt;
    翔泳社 / 2940円 ( 2009-02-10 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;srpmは&lt;a href="http://www.qmailtoaster.org/"&gt;ここ&lt;/a&gt;からダウンロードしてきて&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;rpmbuild&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;rebuild&lt;/span&gt; &lt;span class="n"&gt;daemontools&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;toaster&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;0&lt;span class="p"&gt;.&lt;/span&gt;76&lt;span class="o"&gt;-&lt;/span&gt;1&lt;span class="p"&gt;.&lt;/span&gt;3&lt;span class="p"&gt;.&lt;/span&gt;3&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;src&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;できたrpmをインストール。&lt;/p&gt;
&lt;p&gt;fastladderのあるディレクトリ(僕の場合は/usr/local/fastladder)でdaemonとdaemon/logっていうディレクトリを作ってそれぞれのディレクトリにrunという実行ファイルを用意&lt;/p&gt;
&lt;p&gt;daemon/run&lt;/p&gt;
&lt;table class="codehilitetable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/bin/sh&lt;/span&gt;
&lt;span class="nb"&gt;exec &lt;/span&gt;2&amp;gt;&amp;amp;1
&lt;span class="nb"&gt;exec &lt;/span&gt;setuidgid root /usr/local/fastladder/script/crawler -e production
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;daemon/log/run&lt;/p&gt;
&lt;table class="codehilitetable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/bin/sh&lt;/span&gt;
multilog
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;リンク&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;chmod&lt;/span&gt; 1755 &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;local&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fastladder&lt;/span&gt;
&lt;span class="n"&gt;ln&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;local&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fastladder&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;daemon&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;fastladder&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;あとはdaemontoolsで動かす。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href="http://labs.unoh.net/2008/07/daemontools.html"&gt;daemontoolsでデーモン管理 &lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 14 Feb 2009 09:34:54 +0900</pubDate><category>Fastladder</category></item><item><title>fedora8にfastladderを入れた</title><link>http://blog.kzfmix.com/entry/1202390028</link><description>&lt;p&gt;&lt;a href="http://fastladder.org/"&gt;fastladder&lt;/a&gt;素晴らしい。早速インストールしてみた。rubyは普段使わないのでrubygemsから。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;$ &lt;span class="n"&gt;ruby&lt;/span&gt; &lt;span class="o"&gt;./&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rb&lt;/span&gt;
&lt;span class="o"&gt;./&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rubygems&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;custom_require&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;27&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt; `&lt;span class="n"&gt;gem_original_require&lt;/span&gt;&lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;no&lt;/span&gt; &lt;span class="n"&gt;such&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;load&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt; &lt;span class="n"&gt;rdoc&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rdoc&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;LoadError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="o"&gt;./&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rubygems&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;custom_require&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;27&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt; `&lt;span class="n"&gt;require&lt;/span&gt;&lt;span class="o"&gt;&amp;#39;&lt;/span&gt;
        &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="o"&gt;./&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;39
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;どうもruby-docが足らない。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;$ &lt;span class="n"&gt;yum&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rdoc&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;これで、gem installでmongrelとかrailsが入る。&lt;/p&gt;
&lt;p&gt;あと、&lt;a href="http://freeimage.sourceforge.net/index.html"&gt;freeimage&lt;/a&gt;を入れとかないとエラーが出て動かない。なんで&lt;a href="http://www.nitenichiryu.org/archives/2008/02/07/1710.php"&gt;ここ&lt;/a&gt;で解決。ただしyumでは入らなさげだったのでソースから入れた。&lt;/p&gt;
&lt;p&gt;&lt;img alt="fastladder" src="http://www.kzfmix.com/images/blog/fastladder.png" /&gt;&lt;/p&gt;
&lt;p&gt;やー超快適。サーバーとかいじってる暇なさげだけど、隙をみて職場のRSSリーダー入れ替える計画を立てなきゃ。&lt;/p&gt;</description><pubDate>Tue, 21 Oct 2008 19:47:18 +0900</pubDate><category>Linux</category><category>Fastladder</category></item><item><title>Fastladderを触っている</title><link>http://blog.kzfmix.com/entry/1213189726</link><description>&lt;p&gt;職場に入れたかったのでproxyに対応させる必要があった。というわけで作業メモ。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;trunkをsvn coしたらenvironment.rbで&lt;a href="http://groups.google.com/group/fastladder-discuss-ja/browse_thread/thread/df853f5a4508d421"&gt;設定をする&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tsukamoto.tumblr.com/post/25954593"&gt;rfeedfinderに手を入れる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;trunkにタイポがあったので二カ所ほど修正した気がする。&lt;/p&gt;

&lt;p&gt;あと、addする際に登録できないフィードがあってなんでかな?と思ってみたら、urlが全部小文字になってた。これもrfeedfinderの仕業だった。&lt;/p&gt;

&lt;p&gt;16行目くらいの&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;uri = uri.grep.sub(/^feed(.*)/,'http\1'/.downcase
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;のdowncaseが邪魔なので、ここを修正。&lt;/p&gt;

&lt;p&gt;今日の作業はここまでだけど、RSSとAtomだったらAtomのほうを購読したほうがよさげな感じがしたりとかするので、そこらへんのコードも見てみながらrubyの勉強もする。&lt;/p&gt;

&lt;p&gt;というか、&lt;a href="http://d.hatena.ne.jp/secondlife/20051026/1130319610"&gt;rubyのシンボル&lt;/a&gt;でちょっと悩んで&lt;a href="http://www.google.co.jp/search?q=ruby+%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB&amp;amp;lr=lang_ja&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:ja-JP-mac:official&amp;amp;client=firefox-a"&gt;ググったり&lt;/a&gt;とかした。&lt;/p&gt;
</description><pubDate>Sun, 10 Aug 2008 19:51:58 +0900</pubDate><category>Ruby</category><category>Fastladder</category></item><item><title>opensource版fastladderのリダイレクトの処理</title><link>http://blog.kzfmix.com/entry/1216297934</link><description>&lt;p&gt;これを10冊ぐらい買って、さりげなく職場に撒いておきたい今日この頃&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4844324683/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/51DGlrGZRwL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;できるポケット+ RSSリーダーで毎朝の情報収集力が10倍アップする本 (できるポケット+)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
小林 祐一郎,できるシリーズ編集部 &lt;br /&gt;
インプレスジャパン / ￥ 998 ()&lt;br /&gt;
通常24時間以内に発送&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;はじめてのRubyのおかげで、Rubyのコードを読むのが楽しくなってきたので、opensource版のfastladderで&lt;a href="http://abcnews.go.com/"&gt;ABC&lt;/a&gt;のフィードがブックマークレットから登録できなかった理由を調べた。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://fastladder.googlecode.com/svn/trunk/fastladder/lib/fastladder.rb"&gt;fastladder.rb&lt;/a&gt;がリダイレクトに対応してないっぽいので&lt;a href="http://www.ruby-lang.org/ja/man/html/net_http.html"&gt;こんな感じ&lt;/a&gt;でレスポンスのチェックをすればよさそうなんだけどBasic認証用の処理とか入ってるから、どういう風に書いておけばよいのかわからん。&lt;/p&gt;

&lt;p&gt;あと、RSSのURIをブックマークレットで登録しようとしてもフィードが見つからないとかいうのも直しておきたい。&lt;/p&gt;
</description><pubDate>Thu, 17 Jul 2008 21:35:25 +0900</pubDate><category>Ruby</category><category>Fastladder</category></item></channel></rss>
