★★ よくわかる現代魔法 #12 「TMTOWTDI」

Posted on 2009/09/28 (月) 0:28
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]絵はきれいだった。
もっと幼弓子の吐いてない回があったらさらによかったのになー。

参考リンク: よくわかる現代魔法 第12話 TMTOWTDI (情報:しょぼいカレンダー)

★★★ 懺・さよなら絶望先生 #13

Posted on 2009/09/27 (日) 21:15
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]あいかわらず監督の天才ぶりがすごかった。
原作のおもしろさを見事に引き出していてすばらしい。

参考リンク: 懺・さよなら絶望先生 第13話 (情報:しょぼいカレンダー)

★★ プリンセスラバー! #12 「プリンセスラバー!」

Posted on 15:05
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]平和な感じで終わった。
オーソドックスで古風な感じもする良作だった。

参考リンク: プリンセスラバー! 第12話 プリンセスラバー! (情報:しょぼいカレンダー)

★★★ 化物語 #12 「つばさキャット 其ノ貮」

Posted on 2009/09/26 (土) 18:42
Filed Under アニメ感想 | 2 Comments | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]残り3話を残してオンエアは終わってしまった。
残り3話はネット配信らしいけどどうしたら見れるのか。

参考リンク: 化物語 第12話 つばさキャット 其ノ貮 (情報:しょぼいカレンダー)

D.C.II Imaginary Future 5 (卯花つかさ)

Posted on 15:54
Filed Under 今日読んだ本 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

今日見たマンガ。
この巻で最終巻。
こうなったかー、というような展開だった。

D.C.II Imaginary Future ~ダ・カーポII イマジナリーフューチャー~(5) (電撃コミックス)
D.C.II Imaginary Future ~ダ・カーポII イマジナリーフューチャー~(5) (電撃コミックス)
CIRCUS, 雨野 智晴, 卯花 つかさ
発売:アスキー・メディアワークス
発売日:2009-06-27
定価:¥ 578
ASIN:4048679295


Linux上のGPUでH.264エンコードできるのはいつの日か

Posted on 2009/09/23 (水) 18:59
Filed Under 日記 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

page thumbnail
・「【後藤弘茂のWeekly海外ニュース】 “デュアルコア”化によって2倍の性能になった「ATI Radeon HD 5800」

演算性能は2.72TFLOPSと、生パフォーマンスでは現状で世界最高速のGPUでもある。

さっとぐぐってみたところ各CPUの演算性能の目安はこのくらいらしい。

PowerPC G4 1GFLOPS
Pentium4 3.8GHz 15.2GFLOPS
Core i7-965 3.2GHz 43.7GFLOPS
Cell BE (PS3) 288GFLOPS

Cellは確かに速いが、GPU桁違いだよ!

なんとかこのGPUの演算性能をLinuxのx264あたりから使えるようにはならないか。
foltiaで録画した生TSをHDサイズ、SDサイズ、iPodサイズのH.264を3種類作成しても実尺ほども時間かからないのだろうなー。

★★★ ハヤテのごとく!! #25 「執事とお嬢様の話ですから」

Posted on 2009/09/22 (火) 2:53
Filed Under アニメ感想 | 1 Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]主にヒナギクがかわいい第二期だった。
第一期よりも面白くなった気がした。
第三期に期待。

参考リンク: ハヤテのごとく!! 第25話 執事とお嬢様の話ですから (情報:しょぼいカレンダー)

★★ 咲-Saki- #24 「夏祭り」

Posted on 2009/09/21 (月) 15:45
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

やはり衣はかわいい。
大和田秀樹の「立 -Ritz-」は単行本に収録されないものか。

参考リンク: 咲-Saki- 第24話 夏祭り (情報:しょぼいカレンダー)

★★★★ 化物語 #9 「なでこスネイク 其ノ壹」

Posted on 0:31
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

千石やばい。
超やばい。

参考リンク: 化物語 第9話 なでこスネイク 其ノ壹 (情報:しょぼいカレンダー)

★★★★ シャングリ・ラ #24 「理想郷土」

Posted on 2009/09/20 (日) 19:23
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]すげー絵がきれいでよく動いた高品質アニメだった。

参考リンク: シャングリ・ラ 第24話 理想郷土 (情報:しょぼいカレンダー)

★★★★ NEEDLESS #9 「第3シェルター」

Posted on 12:39
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

新たに金髪つり目キャラのセトとソルヴァってキャラが登場した!
NEEDLESSの女子キャラのストライクゾーンど真ん中ぶりは異常。

参考リンク: NEEDLESS 第9話 第3シェルター (情報:しょぼいカレンダー)

★★★★ 東京マグニチュード8.0 #11 「悠貴へ…」

Posted on 2:19
Filed Under アニメ感想 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

[最終回]最初、気楽な防災アニメかと思っていたけど、中盤かなりの重苦しい展開で、最後は感動的だった。
メールの演出は涙腺破壊のやばさ。

・「いよいよ最終回!『東京マグニチュード8.0』が描いたリアル(前編) - 日刊サイゾー
・「いよいよ最終回!『東京マグニチュード8.0』が描いたリアル(後編) - 日刊サイゾー

参考リンク: 東京マグニチュード8.0 第11話 悠貴へ… (情報:しょぼいカレンダー)

mixiからマイミク日記の画像入りRSSを作るmixirss

Posted on 2009/09/18 (金) 22:35
Filed Under 技術 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

mixirss screen shotmixiはRSSも吐いてなくて、とても巡回効率が悪いんでmixiのマイミク新着日記からRSSを吐くスクリプトをこしらえた。

【便利な機能】
・新着日記をRSSにする
・写真をローカルにミラーして、ミラー先のURLに書き換えるのでRSSでも写真が見れる

githubとか使ったことないんでそのままアーカイブ置いただけ。

2010-02-12 更新
http://www.dcc-jpl.com/soft/mixirss/mixirss_20100112.tar.gz

展開して自分のサーバにインストールしてあげればかなりらくちんに使えるようになるはず。
みきし日記には公開範囲限定してる人もあるようなんで、、RSSをそのままGoogle Readerに登録しちゃったりすると何かとめんどくさいことになるかもしれないんでご注意を。
ウチではmixirssスクリプトとRSSリーダーのfreshreaderを同じサーバで動かしてる。

追加モジュールを入れるんでConfig::Pitを使って書けばおしゃれだったかもしれない。

【使い方】
・WWW::Mixi::Scraperモジュールが入ってなかったらインストールする。
・getrss.plの$mixi_emailと$mixi_passwordを自分のアカウントにする
・getrss.plの$img_dir、$replaceurl、$mydbを所定のパスやURLにする。
・getrss.plをサーバに設置してcronで回す。
・diaryrss.cgiの$mydbをgetrss.plのpathと同じものに書き換える。
・diaryrss.cgiをwebサーバから見えるところにおいてRSSリーダに登録する。

以下、アーカイブと同じソース。

PERL:
  1. #!/usr/bin/perl
  2.  
  3. use WWW::Mixi::Scraper;
  4. #use strict;
  5. use utf8;
  6. use Encode;
  7. #use Data::Dumper;
  8. use XML::RSS;
  9. use LWP::Simple;
  10. use File::Basename;
  11. use File::Path;
  12. use DBI;
  13.  
  14. # ログイン情報
  15. my $mixi_email = 'yourmiximail@example.com'; # メールアドレス
  16. my $mixi_password = 'yourmixipassword'; # パスワード
  17. # 各種設定
  18. our $img_dir = "/home/path/public_html/cgi/mixirss/mirror/";
  19. our $replaceurl = "http://www.example.com/url/to/cgi/mixirss/mirror/";
  20. our $mydb = "/home/path/to/mixirss/diary.db";
  21. my $debug = -1 ;
  22. #my $eucjp = find_encoding('eucjp');
  23. #my $rssfile = "/home/jplcom/public_html/tmp/protect/cgi/mixirss/diary.rdf";
  24.  
  25. #DB初期化
  26. unless (-e "$mydb"){
  27. if ($debug == 0){
  28.     print "File not exist:$mydb\nCreate DB.\n";
  29. }
  30.     &initdb;
  31. }
  32. my $mixi = WWW::Mixi::Scraper->new(
  33.       email => $mixi_email, password => $mixi_password ,
  34.       mode  => 'HTML'
  35. );
  36. my @list$mixi->new_friend_diary->parse;
  37. my $diary = "";
  38.  
  39. my $timestump = `date  +%Y-%m-%dT%H:%M:%S`; chomp($timestump);
  40. my $description = "";
  41. my $title = "";
  42. my $thumurl = "";
  43. my $mixidescription = "";
  44. my $imageserver = "";
  45. my $now = `date "+%Y-%m-%d %H:%M:%S"`; chomp($now);
  46. my $id = "";
  47. my $owner_id = "";
  48. my $link = "";
  49.  
  50. #ヘッダ設定
  51.  my $rss = new XML::RSS (version => '1.0');
  52.  
  53.  $rss->channel(
  54.    title        => "mixi diary rss",
  55.    link         => "http://mixi.jp/new_friend_diary.pl",
  56.    description  => "マイミクシィ最新日記",
  57.    dc => {
  58.      date       => "$timestump+09:00",
  59.      subject    => "マイミクシィ最新日記",
  60.      creator    => 'sorshi@dcc-jpl.com',
  61.      publisher  => 'sorshi@dcc-jpl.com',
  62.      rights     => 'Copyright 2009, DCC-JPL Japan',
  63.      language   => 'ja',
  64.    },
  65.    syn => {
  66.      updatePeriod     => "hourly",
  67.      updateFrequency  => "1",
  68.      updateBase       => "1901-01-01T00:00+00:00",
  69.    },
  70.  );
  71.  
  72.  $rss->add_module(prefix=>'my', uri=>'http://purl.org/my/rss/module/');
  73.  
  74. # ここをループ
  75. #-------------------------------------------------------
  76. foreach $item (@list){
  77. #for ($j= 0; $j<3; $j++){
  78. #$item = $list[$j];
  79. $link = $item->{'link'} ;
  80.  
  81. if ($link ne ""){
  82. if(&isthisnewdiary("$link")){
  83.     if ($debug == 0){
  84.         print  encode("utf8", "Diary exist;ski@:$link \n");
  85.     }
  86. }else{
  87. $diary = $mixi->parse($item->{'link'});
  88.  
  89. $description = "";
  90. $title = "$diary->{'subject'} / $item->{'name'}"; # タイトル / 作者
  91.  
  92. #写真ミラー&挿入
  93. for ($i=0;$i&lt;3;$i++){
  94. if ($diary->{'images'}[$i]{'thumb_link'} ne ""){
  95.     get_mirror($diary->{'images'}[$i]{'thumb_link'});
  96.         $thumurl = $diary->{'images'}[$i]{'thumb_link'};
  97.         $thumurl =~ s|http://|$replaceurl|;
  98.     $description .= "<a href=\"$diary->{'images'}[$i]{'link'}\"><img src=\"$thumurl\"/></a>";
  99. }#if
  100. }#for
  101.  
  102. #本文画像ミラー処理
  103. $mixidescription = $diary->{'description'};
  104. while($mixidescription =~ m|http://ic.*?.mixi.jp/.*?\.jpg|){
  105.     $mixidescription =~ m|http://ic.*?.mixi.jp/.*?\.jpg|;
  106.     get_mirror($&);
  107.     $imageserver = $& ;
  108.     $imageserver =~ m/ic.*?.mixi.jp/;
  109.     $imageserver = $& ;
  110.     $mixidescription =~ s|http://ic.*?.mixi.jp|${replaceurl}$imageserver|;
  111. }
  112. $description .= $mixidescription;
  113.  
  114. if ($debug == 0){
  115. print  encode("utf8", $item->{'link'});
  116. print "\n";
  117. print  encode("utf8", $item->{'name'});
  118. print "\n";
  119. print  encode("utf8", $item->{'time'});
  120. print "\n";
  121. print  encode("utf8", $item->{'subject'});
  122. print "\n";
  123. print  encode("utf8", $diary->{'level'}->{'description'});
  124. print "\n";
  125. print  encode("utf8", $diary->{'subject'});
  126. print "\n";
  127. print  encode("utf8", $description);
  128. print "\n";
  129. }
  130.  
  131. #SQLite追加
  132. $link = $item->{'link'} ;
  133. ($id,$owner_id) = &getids("$link");
  134. if ($debug == 0){
  135.     print  encode("utf8", "IDs : $id,$owner_id\n");
  136. }
  137. $now = `date "+%Y-%m-%d %H:%M:%S"`;chomp($now);
  138. &sqlitedbadd("$id","$owner_id",$diary->{'subject'},$item->{'link'},"$description",$item->{'time'},$item->{'name'},"$now");
  139.  
  140. #RSS追加
  141.     $rss->add_item(
  142.          title       => $title ,
  143.          link        => $item->{'link'},
  144.          description =>  $description,
  145.          dc => {
  146.             date  =>$item->{'time'},
  147.             creator  => $item->{'name'},
  148.       },
  149.     );
  150. }#endif isthisnewdiary("$link"
  151. }#end if  $item->{'link'} ne ""
  152. }# end foreach
  153. #-------------------------------------------------------
  154.  
  155. $rss->add_item (title=>$title, link=>$link, slash=>{ topic=>$topic });
  156.  
  157. #rdfファイル書き込み
  158. my $rssdate ;
  159. $rssdate = $rss->as_string;
  160. #Jcode::convert(\$rssdate, 'utf8');
  161. $rssdate =  encode("utf8", $rssdate);
  162. #open(RSS,"> $rssfile") || die "File Cannot create!";
  163. #print RSS "$rssdate";
  164. #close (RSS);
  165. #
  166.  
  167. sub get_mirror{
  168.     my $url = shift;
  169.     my $localfile = $url;
  170.     my $base_name;
  171.     my $dir;
  172.    
  173.     $localfile =~ s|http://|$img_dir|;
  174.     #ファイルが既にあるか見る
  175.     if(-e $localfile){
  176.     #print "exist\n";
  177.     }else{
  178.     #なければ
  179.     #print "DL\n";
  180.     ( $base_name, $dir ) = fileparse( $localfile );
  181.         if (-d $dir){
  182.         }else{
  183.         mkpath($dir);
  184.         }
  185.     #げっと
  186.     getstore($url,$localfile);
  187.     }
  188. #print "$base_name \n$dir \n$url \n$localfile\n";
  189. }#end sub get_mirror
  190.  
  191.  
  192.  
  193.  
  194. sub sqlitedbadd{
  195. my $id = $_[0];
  196. my $owner_id = $_[1];
  197. my $title = $_[2];
  198. my $link = $_[3];
  199. my $description = $_[4];
  200. my $time = $_[5];
  201. my $name = $_[6];
  202. my $dataadded = $_[7];
  203. my $hst;
  204. my $hDB;
  205. my $retval;
  206.  
  207. if ($debug == 0){
  208.     print  encode("utf8", "SQLite INSERT: $id ; $owner_id ; $title; $link; $description; $time; $name; $dataadded  \n");
  209. }
  210.  
  211. $hDB = DBI->connect(
  212.   "dbi:SQLite:dbname=$mydb","","",{PrintError=>0}
  213.   );
  214. if(!$hDB){
  215.     print "$DBI::errstr \n";
  216.     exit;
  217. }
  218.  
  219. $hst = $hDB->prepare( "INSERT INTO diary VALUES(?,?,?,?,?,?,?,?)" ) or die "Cannot prepare:$!";
  220. if($hst){
  221.     $retval = $hst->execute($id,$owner_id , $title, $link , $description , $time , $name , $dataadded );
  222.     if(!$retval){
  223.         print $hDB->errstr . "\n";
  224.         #exit;
  225.     }
  226. }else{
  227.     # エラー処理
  228.     print $hDB->errstr . "\n";
  229. #   exit;
  230. }#end if
  231. }#endsub sqlitedbadd
  232.  
  233. sub getids($link){
  234. use URI;
  235. my $uri = URI->new($link);
  236. if ($debug == 0){
  237.     print  encode("utf8", $link ."\n");
  238.     print  encode("utf8", $uri->query ."\n");
  239. }
  240. #print $uri->query . "\n";
  241. my @param = "";
  242. @param = split(/&/,$uri->query);
  243. #print Dumper (\@param);
  244. my @ids = "";
  245. @ids = split(/=/,$param[0]);
  246. my $id = $ids[1];
  247. @ids = split(/=/,$param[1]);
  248. my $owner_id = $ids[1];
  249. #print "$link\n";
  250. if ($debug == 0){
  251.     print  encode("utf8", "$id,$owner_id \n");
  252. }
  253. return ($id,$owner_id)
  254. }#endsub getids
  255.  
  256.  
  257.  
  258. sub isthisnewdiary($link){
  259. my $hDB ;
  260. my $sql = "";
  261. my $id;
  262. my $owner_id;
  263. my $envph;
  264. my @ref;
  265. my $retval;
  266.  
  267. if ($link ne ""){
  268. ($id , $owner_id ) = &getids("$link");
  269.  
  270.  $hDB = DBI->connect(
  271.   "dbi:SQLite:dbname=$mydb","","",{PrintError=>0}
  272.   );
  273.  
  274. if(!$hDB){
  275.     print "$DBI::errstr \n";
  276.     exit;
  277. }
  278.  
  279. $envph = $hDB->prepare("SELECT name,title ,link ,time ,dataadded FROM diary  WHERE id = ? AND ownerid = ?");
  280. $retval = $envph->execute($id,$owner_id);
  281.     if(!$retval){
  282.         print $hDB->errstr . "\n";
  283.         #exit;
  284.     }
  285. while (@ref = $envph->fetchrow_array ){
  286. #print Dumper (\@ref);
  287.     if ($debug == 0){
  288.         print ( "$ref[0],$ref[0],$ref[1],$ref[2],$ref[3],$ref[4]\n");
  289.     }
  290. }#end while
  291.   if ($envph->rows == 0) {
  292.     return (0);
  293.   }else{
  294.     return (-1);
  295.   }
  296. }#end if
  297. }#end sub isthisnewdiary
  298.  
  299.  
  300. sub initdb(){
  301. my $hst;
  302. my $hDB;
  303.  
  304. unless (-e "$mydb"){
  305.     open DB, ">>$mydb" || die $!;
  306.     close DB;
  307. $hDB = DBI->connect(
  308.   "dbi:SQLite:dbname=$mydb","","",{PrintError=>0}
  309.   );
  310. if(!$hDB){
  311.     print "$DBI::errstr \n";
  312.     exit;
  313. }
  314. my $sql = "
  315. create table diary (
  316. id int8 PRIMARY KEY ,
  317. ownerid int8,
  318. title text,
  319. link text,
  320. description text,
  321. time DATETIME,
  322. name text,
  323. dataadded DATETIME
  324. );
  325. ";
  326. $hst = $hDB->do($sql);
  327. if(!$hst){
  328.     print $hDB->errstr . "\n";
  329.     exit;
  330. }
  331. }#unless
  332. }# end sub

PERL:
  1. #!/usr/bin/perl
  2.  
  3. use DBI;
  4. use strict;
  5. #use Data::Dumper;
  6. use utf8;
  7. use Encode;
  8. use CGI;
  9. use XML::RSS;
  10.  
  11. our $mydb = "/home/path/to/mixirss/diary.db";
  12.  
  13. #   test param
  14. my $debug = -1 ;
  15.  
  16.  
  17.  
  18. my $hDB;
  19. my $envph;
  20. my $retval;
  21. my @ref;
  22. my $timestump;
  23. my $rssdate ;
  24. my $rsstitle;
  25. #初期化
  26. my $rss = new XML::RSS (version => '1.0');
  27. print "Content-type: application/rdf+xml\n\n";
  28.  
  29. #DBread
  30.  $hDB = DBI->connect(
  31.   "dbi:SQLite:dbname=$mydb","","",{PrintError=>0}
  32.   );
  33. if(!$hDB){
  34.     print "$DBI::errstr \n";
  35.     exit;
  36. }
  37. $envph = $hDB->prepare("SELECT id,ownerid,name,title ,link ,time ,description,dataadded FROM diary ORDER by time DESC LIMIT 30");
  38. $retval = $envph->execute();
  39.     if(!$retval){
  40.         print $hDB->errstr . "\n";
  41.         #exit;
  42.     }
  43. while (@ref$envph->fetchrow_array ){
  44. # @ref = decode("utf8", @ref);
  45.  
  46. #print Dumper (\@ref);
  47.     if ($debug == 0){
  48.         print ( "$ref[0],$ref[0],$ref[1],$ref[2],$ref[3],$ref[4]\n");
  49.     }
  50.     $rsstitle = "$ref[3] / $ref[2]";
  51.         #RSS追加
  52.         $rss->add_item(
  53.          title       => decode("utf8", $rsstitle ),
  54.          link        => decode("utf8", $ref[4]),
  55.          description => decode("utf8", $ref[6]),
  56.          dc => {
  57.             date  =>decode("utf8", $ref[5]),
  58.             creator  => decode("utf8", $ref[2]),
  59.       },
  60.     );
  61.  
  62. }#end while
  63.  
  64.  
  65. # 最終更新日取得
  66. $envph = $hDB->prepare("SELECT time FROM diary ORDER by time DESC LIMIT 1");
  67. $retval = $envph->execute();
  68.     if(!$retval){
  69.         print $hDB->errstr . "\n";
  70.         #exit;
  71.     }
  72. while (@ref = $envph->fetchrow_array ){
  73. #print Dumper (\@ref);
  74.     if ($debug == 0){
  75.         print ( "$ref[0]\n");
  76.     }
  77.         $timestump = $ref[0];
  78. }#end while
  79.  
  80.  
  81. #build RSS
  82.  $rss->channel(
  83.    title        => "mixi diary rss",
  84.    link         => "http://mixi.jp/new_friend_diary.pl",
  85.    description  => "マイミクシィ最新日記",
  86.    dc => {
  87.      date       => "$timestump+09:00",
  88.      subject    => "マイミクシィ最新日記",
  89.      creator    => 'sorshi@dcc-jpl.com',
  90.      publisher  => 'sorshi@dcc-jpl.com',
  91.      rights     => 'Copyright 2009, DCC-JPL Japan',
  92.      language   => 'ja',
  93.    },
  94.    syn => {
  95.      updatePeriod     => "hourly",
  96.      updateFrequency  => "1",
  97.      updateBase       => "1901-01-01T00:00+00:00",
  98.    },
  99.  );
  100.  $rss->add_module(prefix=>'my', uri=>'http://purl.org/my/rss/module/');
  101.  
  102.  
  103.  
  104. #rdfファイル書き込み
  105. $rssdate = $rss->as_string;
  106. $rssdate =  encode("utf8", $rssdate);
  107. print  "$rssdate\n";
  108.  
  109. exit ;

奈々ちゃんも「ルンバ」ゲット

Posted on 1:26
Filed Under 日記, 水樹奈々 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

奈々ちゃんも超便利な自動掃除ロボット、iRobotルンバをゲットされた模様。
・「救世主現るっ!」(水樹奈々 公式ブログ)
おそろいモデルをゲットしたい人はこちら。

iRobot Roomba 自動掃除機 ルンバ 530J 白色
iRobot Roomba 自動掃除機 ルンバ 530J 白色

発売:iRobot (アイロボット)
発売日:2008-11-20
定価:オープンプライス
ASIN:B001KOT8SU



ただいま66,800円

ウチのルンバレビュー記事はこちら。
・「iRobot全自動掃除機ルンバが最高でござる :宗子時空

なにしろ便利。

Recently


Categories


Archives


Wish list

宗子さんのほしい物リスト2015/5-
Pages (152): « 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 ... Last »