HTML::AAFind in Yokohama.pm #4

  • 1,051 views
Uploaded on

http://yokohama.pm.org/2009/03/yokohamapm-4.html

http://yokohama.pm.org/2009/03/yokohamapm-4.html

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,051
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. HTML::AAFind ID:komoriya
  • 2. about me - ID komoriya - 名前 小森谷 一生 - 所属 livedoorでMobile関連 - Work HTTP::MobileJpCSS
  • 3. about HTML::AAFind HTML内のアスキーアートを探します
  • 4. アスキーアートといえば?! ____ / \ /─ ─\ / (●) (●) \ | (__人__) | ________ \ ` ⌒´ ,/ | | | ノ \ || | /´ || | | l || | ヽ -一ー_~、⌒)^),-、 | |_________| ヽ ____,ノγ⌒ヽ)ニニ- ̄ || | やる夫で学ぶHTML::AAFind
  • 5. ____ ) やる夫で学ぶスレを2chコピペブログに投稿だお! /⌒ ⌒\ ) これで今日もホッテントリ入り間違い無しだお! /( ●) (●) \ )/⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y丶 / ::::::⌒(__人__)⌒::::: \ | |r┬-| | \ `ー'´ / ノ \ /´ ヽ カ | l l||l 从人 l||l l||l 从人 l||l カ タ ヽ -一''''''quot;~~``'ー--、 -一'''''''ー-、. タ ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐ ,. - ''quot;| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ
  • 6. ___ /⌒ ⌒\ ホジホジ /( ●) (●)\ そういえばAAって携帯から見るとどうなってるんだお? /::::::⌒(__人__)⌒::::: \ 最近は携帯からBlog見る人も多いお。 | mj |ー'´ | \ 〈__ノ / ノノ
  • 7. ____ /::::::─三三─\ せっかくのポルナレフがケータイの /:::::::: ( ○)三(○)\ 液晶に収まりきれずにガタガタだお! |::::::::::::::::::::(__人__):::: | _____ \::::::::: |r┬-| ,/ .| | 超スピードだとか催眠術とか ノ:::::::: `ー‘´ \ | | そんなチャチなもんじゃ断じてないお
  • 8. Mobile PC
  • 9. ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ AAを画像に変換して横幅を240px以下に | |r┬-| | 収めれば携帯でも見れるお! \ `ー'´ /
  • 10. / ̄ ̄\ / _ノ \ | ( ●)(●) Blogの記事の中からAAのみを動的に判別して .| (__人__) 抜き出す必要があるだろう。 | ` ⌒ノ .ヽ } ヽ ノ \ / く\ \ | \ \ 旦~ .\ | |ヽ、二⌒)、 \
  • 11. _,..:.:-:.:―:-:....、 ,.r:':./:.:.:.:.:.:.:.:.:.:.:.:.:.:.::`丶、 /:.:./:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.ヽ、 /:.:.:.:/:.:.:.:,r:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:ト:.:.:.:.:.\ /:.:.:.:.!:.:.:./:.:/:.:.:.:./:.:.:.:.:.:l:.:.:.:.:!:.ヽ:.ヽ:.:.;ヽ /:.:.:.:.:l:.:.:/:./l:.://:,:イ:.:/l:.:.:.:ハ:.jl:.:.:i:.:l:.、ヽ /:.:.:.:.:.:l:.:.:l:/:.レ_/'´/シ !:.ツ′.V ';.:.l.:.!:.:l:.:', /:.ィ:.:.:.:.:i:.:.:':.:.:.:!__```¬ ' ´ , --l:.、/:/:l:.:l ´ l;‘;.:.:.:.’,:.:.:.:.<7:::::::`ヽ _ レ/:‘:ノ!/ ';l:.:f ';.:.:.:.:.l::::::::r'′ r'::::::lヽ// '´/' Vヽ ',:.:.:.:lー- ' l::::::メ /:;'! ヾl、',:.:.:.! ` ´ /::/ AAの法則を解析すればできるはず ';ハ:.:ト,、 - ノ;.:.;' >:〈/丶、 _ -v' ´V l:,' / ヾ、 _ヽヽ、 l;' イヽ ヽ'´ `', `l:ヽ、 l:.:.ヽ\ _ヽ___', リr ´_二ュ _ ,':.:.:.:.:ヽ .Y´,........---..ミ二y::´::::::::::::::;' ,':.:.:.:.:.:.:.〉Y::::::::::::::::::::::;':::::::;'::::::::::::r 、' /:.:.:.:.:.:.:.l:.;'-、::::::::::::::::::;'::::::;':::::::::::::/ 7 /:.:.:.:.:.:/Y 〈::::::::::::::::::;'::::::;'::::::::::::ヽ.._ノ! l:.:.r:.:.:.:.:.:.:.l f:::::::::::::::::;'::::::;':::::::::::::::::;':.:.:.!
  • 12. スペースが スペースが多い ┌─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐ ┌ ___ <- 10 │ / \ <- 13 │ /ノ \ u. \ <- 11 │ / (●) (●) \ <- 11 │ | (__人__) u. | どうやるんだお? <- 13 <br>区切り │ br>区切り \ u.` ⌒´ / <- 13 │ ノ \ <- 19 │ /´ ヽ <- 16 │| l \ <- 18 │ヽ -一''''''quot;~~``'ー--、 -一'''''''ー-、. <- 9 │ ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) <- 5 └
  • 13. sub maybe_aa { my $buf = shift; return unless $buf; $buf =~ s/<.*?>//g; return unless $buf; # force delimit return - 1 if $buf =~ /ID:[a-zA-Z0-9]/; my @char = $buf =~ /$euc_reg/g; return unless @char; my @symbol; my @space = $buf =~ /$space_reg/g; if (scalar @space / scalar @char > 0.23) { return 1; } elsif (scalar @space / scalar @char > 0.18) { @symbol = $buf =~ /$symbol_reg/g; return 1 if scalar @char > 30 && scalar @symbol / scalar @char > 0.3; } @symbol = $buf =~ /$symbol_reg/g unless @symbol; return 1 if scalar @char > 30 && scalar @symbol / scalar @char > 0.7; return; }
  • 14. /) ///) /,.=゙‘’“/ / i f ,.r=‘”-‐'つ____ 細けぇことはいいんだよ!! / / _,.-‐'~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ / ノ il゙フ::::::⌒(__人__)⌒::::: \ ,イ「ト、 ,!,!| |r┬-| | / iトヾヽ_/ィquot;\ `ー'´ /
  • 15. ____ / \ /─ ─\ / (●) (●) \ | (__人__) | そんな訳で完成したのが、 \ ` ⌒´ / HTML::AAFindです。 ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
  • 16. SYNOPSIS use HTML::AAFind; my $finder = HTML::AAFind->new(sub { my $aa = shift; return sprintf(‘<font color=“#FF0000”>%s</font>’, $aa); }); my $new_html = $finder->find($html);
  • 17. 抽出したAAを画像に変換 / ̄ ̄\ / ヽ_ .\ ( ●)( ●) | ____ (__人__) | / \ l` ⌒´ | /─ ─\ .{ |/ (●) ( ●) \ { /| (__人__) | ,-、 ヽ ノ、\ ` ⌒´ ,/_ / ノ/ ̄/ ` ー ─ '/>< ` ー─ ' ┌、 ヽ ヽ, / L_  ̄/ _l__( { r-、 .ト _,,二) /・ ・ 〔― ‐} Ll | l) ) >_,フ / }二 コ\ Li‐' __,,,i‐ノ l × └―イ ヽ | l i ヽl また改めて
  • 18. REPOSITORY CodeRepos: lang/perl/HTML-AAFind
  • 19. _ -───- _ , '´ `ヽ / / \ / __, ィ_,-ァ__,, ,,、 , 、,,__ -ァ-=彡ヘ ヽ ヽ '「 ´ {ハi′ }l || || |! || |│ 〈! | |/ノ二__‐──ァ ヽニニ二二二ヾ } ,'⌒ヽ やら・・・ /⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ ! ! ハ!| ー─ ' i ! `' '' quot; ||ヽ l | ご清聴ありがとうがとう | | /ヽ! | |ヽ i ! ございました。 ヽ{ | ! |ノ / ヽ| _ ,、 ! ,′ \! '-゙ ‐ ゙ / レ' /| `! |\ ,′! ヽ ゙  ̄  ̄` |\ | ー ─‐ _ -‐┤ ゙、 \ / ! l |`ーr─- _ / _ -‐ 'quot; / | ゙、 ヽ ____ '´ '│ ! | ゙''‐- 、,_