自分自身のための ものづくり / 自分自身のためのものづくりメモ

* いわゆる公開プロキシからのアクセスを弾く

掲示板へのspamが激しくなりつつあるので対策。
(ReadMore...)

* RandomNote 作成日を表示+年月日のみで時分秒は非表示

def print_leaf(fname, view=nil, anchor=1)
内を改造
      s = "%s\n\n%s\n%s" % [mes.chomp, Time.at(fname.gsub(/\D/,'').to_i).strfti\
me('create : %Y/%m/%d (%a)'), File.mtime(fname).strftime('update : %Y/%m/%d (%a\
)')] # modified by bakuchikujuu

#RandomNote #Web

* RP2C05-03, RP2C05-04

VS Top GunのPPUはファミコンのRGB化には使えない…?orz

MAMEのvsnes.c http://www.mameworld.net/maws/mamesrc/src/machine/vsnes.c より
/* VS Top Gun: ROMs bankings at $8000-$ffff, plus some protection */
static READ_HANDLER( topgun_security_r )
まだ眺めただけなのでよくわからないけど、なんか特別扱いしてるし…。

Nintendo Vs. Series - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Nintendo_Vs._Series
Several of the later Vs. games employed further measures of protection by using special PPUs which swapped pairs of I/O registers and/or returned special data from normally unimplemented regions of memory - attempts to run these games in other Vs. systems would result in the game failing to even start.

 他のPPUじゃ動かないのに加えて、他のROMを持ってきても動かないのかな…。現に、RP2C03BでRGB化したファミコンのと差し替えて動かないし。

#RGB #ファミコン

* カテゴリ情報のデータが時々変

 ヘッダは200OKを返してくるのに、中身が"1\r\n"だけだったり、<childCategory>内の<categoryName>だけが抜けてたりする。
 検査して変だったらもう一回データを読み直すか?

#Ruby #REXML #ヤフオク #YAH! #途中経過

* 掲示板spam対策 (英語圏からのspam用)

 近頃猛威をふるっている、海外からのURL羅列spam等に対する対策。

 本文に多バイト文字が入っていなければエラーとして弾く。
 安直で簡単な対策ながら、効果絶大・副作用極小。
(ReadMore...)

* Yahoo!オークションWebサービスとRSSとを併用

 これまでは、役に立たないと思っていたヤフオクのRSSは結構使えるかもしれん。
 特に、Yahoo!オークションWebサービスのAPIでは検索できないけど、RSSの方なら検索結果が得られるのはありがたい。
http://search3.auctions.yahoo.co.jp/search_rss?p=mobilegear&auccat=23336&alocale=0jp&acc=jp

#Ruby #REXML #ヤフオク #YAH! #途中経過

* YAH!X試験中

 Yahoo!オークションWebサービスにより提供されるXMLデータを使うYahoo!AuctionHelperを作成中。

↓とりあえずの実験バージョン
http://baku.homeunix.net/program/yahX/yahX_test01.rb?category=2084045752&pic=true
categoryを書き換えれば他のカテゴリを見れる。
pic=trueで画像表示。それ以外で非表示。

 YAH!の特徴である各種NG機能は、とりあえず「NGキャラクタ」のみ実装。
 「次の25件」をいちいちクリックしなくてもいいので、現状でもとりあえずそこそこ役立つと思う。

 YAH! Ver.3としようかと思っていたけど、Yahoo!オークションWebサービスでは今のところキーワード検索ができないっぽいなどの理由で、Ver.Xとして別物としての扱い。

#Ruby #REXML #ヤフオク #YAH! #途中経過

* REXMLを使ってヤフオクのXMLデータを読む

 楽だ…。機械で読みやすいデータが提供されてるというのはこんなにもありがたい物だったとは。
 また、便利なREXMLに感謝。

#!ruby -Ku

require 'jcode'
require 'nkf'
require "rexml/document"

file = File.new( "y.xml" )
y = REXML::Document.new file

y.root.each_element('item') do |item|
  p item.elements['auctionID'].text
  p item.elements['title'].text
  item.each_element('seller') do |s_item|
    p s_item.elements['itemlist'].text
    p s_item.elements['rating'].text
  end
  p item.elements['url'].text
  p item.elements['img'].text
  p item.elements['price'].text
  p item.elements['bids'].text
  p item.elements['endtime'].text
end

Yahoo!デベロッパーネットワーク - オークションWebサービス
http://developer.yahoo.co.jp/auctions/

REXML - Home
http://www.germane-software.com/software/rexml/index.html

私家版REXML APIリファレンス
http://www.cozmixng.org/~kou/ruby/rexml/reference

REXML Tutorial - Home
http://www.germane-software.com/software/rexml/docs/tutorial.html

REXML であそぶ
http://www.namikilab.tuat.ac.jp/~sasada/prog/rexml.html


#Ruby #REXML #ヤフオク #YAH! #途中経過

* Ruby関連参考ページ


Rubyで画像ファイルのサイズ取得:生活活用形−ちょよて・ちゃよて
http://tociyuki.cool.ne.jp/clife/comp/rubyimagesize.html

Ruby/PureImage
http://cappuccino.jp/keisuken/ruby/pureimage/

backup_mixi
http://d.hatena.ne.jp/kusigahama/19700831#pl

Exerb Project
http://exerb.sourceforge.jp/
backup_mixiはexe化されたのが用意されてる。
Ruby環境を用意していない大多数の人にとっては便利だな。
用意してても便利。

RAA - http-access2
http://raa.ruby-lang.org/list.rhtml?name=http-access2
backup_mixiで使われているようだけど、やっぱ標準のhttp.rbより便利なのかな?


#プログラミング #Ruby

* slashdotted


 スラッシュドットジャパンへの書き込みで、参考資料としてbaku.homeunix.netに写真をアップロードしてリンクを張ったら、(普段に比べると)ものすごい量のアクセスがあった。

$ head -1 /var/log/apache/access.log
xxx.xxx.xxx.xxx - - [15/Jan/2006:06:28:02 +0900] (略)

$ cat /var/log/apache/access.log | grep slash | cat -n | tail -1
 822  xxx.xxx.xxx.xxx - - [16/Jan/2006:23:15:26 +0900] "GET /loft/CADAM_FKbd.jpg
HTTP/1.1" 200 55719 "http://slashdot.jp/articles/06/01/15/0750208.shtml"

$ ruby -e "p (Time.local(2006,1,16,23,15,26).to_i-Time.local(2006,1,15,6,28,2).
to_i)/822"
178

というわけで、3分に1アクセスぐらい。

 たいして大きくもない静止画一枚だからいいものの、メガバイト単位の動画データとかだと大変なことになりそうだ。
 また、コメントだからまだいいものの、タレコミ本文からのリンクだとアクセス量は半端じゃないだろう。

 スラド/jpではslashdottedは発生しないという人もいるけど、弱小回線の弱小サーバなら十分にあり得るだろうな。


#Web #雑記 #2006年1月

* RandomNoteを試してみる

RandomNoteを試してみる。


面白くて簡潔なシステムだ。でも、画像をインライン貼り付けする術がない?

画像インライン貼り付け機能付与

def inline(mes)内を改造。
    case $1
    when /(\[\[(.*?)\]\])/
      case $1
      when /\[\[img:(.*?)\|(.*?)\]\]/ # add by bakuchikujuu
        %|<img src="#$1" alt='#$2' />|
      when /\[\[img:(.*?)\]\]/ # add by bakuchikujuu
        %|<img src="#$1" alt='' />|
[''''''[img: ../photoxp/image/photoxp/f3/M_1.JPG]'''''']
とすることで、以下のようにインライン画像となる。

altを明記する場合は、
[''''''[img: ../photoxp/image/photoxp/f3/M_1.JPG|基板穴開け補助]'''''']
とすることで、以下のようにインライン画像となる。
基板穴開け補助

記法はWikipedia:編集の仕方を参考にした。

画像掲示板

画像アップロード用として、Rubyで組まれたPhotoXPを設置。
http://baku.homeunix.net/WiKi/photoxp/photoxp.cgi
にてアクセス可能。