際際滷

際際滷Share a Scribd company logo
エコな安艶恢サ`バ`
   emasaka
徭失B初
¢   twitterとかGitHubとか: emasaka
¢   blog: 云をiむ
    http://emasaka.blog65.fc2.com/
¢   ダジャレをGoogle碧Y惚としてtwitterに
    送すメソッドのたぶん圷怕
^肇のg
¢   Bash on Rails
    ¢
        pure Bashのメタプログラミングで、
        オブジェクト峺鬚發匹ActiveRecord
        もどきERBもどきYAMLもどき、ほか
¢   sh.inatra
    ¢
        pure Bashでsinatraもどき
¢   2008定LL future仝キミならどうく々
    ¢   方、K/M/G/T燕
    ¢   ★ddでファイルを恬ってls -lh
ヒキョ`なネタ
云籾
Webのペ`ジには
噫蛍なものがいっぱい

    駅勣なのはここだけ




     ☆GI$AZINEさん箭にしてごめんなさい
エコじゃない

MOTTAINAI
¢   ブラウザでカット
    ¢   Adblock PlusとかGreaseMonkeyとか
¢   でも僕ってくる蛍のHTMLがoj



    MOTTAINAI
HTTPの碧をる
¢   HTTP 1.1 "Range Requests and Partial
    Responses"
¢   コンテンツの匯何蛍をリクエストできる
    ¢   リクエストヘッダ`にRange:フィ`ルド
    ¢   206 Partial Contentのレスポンス


          Range:?bytes=1000?
聞喘箭
¢   ダウンロ`ダ`
    ¢   蛍護ダウンロ`ド
    ¢   リジュ`ム
¢   2chブラウザ弖侏デ`タ
ただ
¢   バイト方峺協なので、云猟渇竃には聞いづらい
¢   やっぱりDOMとかでやりたい


      仟しい峺協圭隈が駅勣
メ`ルヘッダを需てみる

    X?Moe:?CCSakura/Sakura
                          (暖え奉來燕苧)
¢   1990定旗に匯何で送佩
    宥佚喘Zの児A岑R
    http://www.wdic.org/w/WDIC/X-Moe より
X-*フィ`ルド
¢   拱フィ`ルド
¢   X-Mailer:とかX-ML-Name:とかはメジャ`
堰意意永のレスポンスヘッダでも


    X?Powered?By:?Phusion?Passenger
    ?(mod_rails/mod_rack)?2.2.5


¢   Passengerで
X?hacker:?If?you're?reading?this,
    ?you?should?visit?automattic.com/
    ?jobs?and?apply?to?join?the?fun,?
    ?mention?this?header.

¢   WordPress.comのHTTPレスポンスヘッダ`
¢   X-*:フィ`ルドを聞ってリクル`ト
            ☆ネタ圷
            http://www.1x1.jp/blog/2009/09/wordpress_http_heade.html
參貧をふまえて、X-*を聞って

X?Path:
というHTTPリクエストヘッダ`を戻蟹します
XPathで峺協
¢   X-Path:フィ`ルドでXPathを峺協
¢   HTMLのうち、その何蛍だけ卦ってくる
    ┘螢エスト

    X?Path:?//p[@id="hello"]
    ┘譽好櫂鵐坑


     <p?id="hello">?</p>
                ☆畜にはこの峺協じゃNGみたいですが
さっそくサ`バ`をg廾してみる

        WEBrickなら
        Rubyでgに
         できて
         gYに宴旋
           ですね
恬りました
¢
    兆原けて
    WEBrick-DOM
    ┘ΕД屮螢奪?ドム
              ○これはリックドム
サ`バ`のサンプル WEBrick

 require?'webrick'

 srv?=?WEBrick::HTTPServer.new({
 ??:DocumentRoot?=>?'./',
 ??:BindAddress?=>?'127.0.0.1',
 ??:Port?=>?20080?})
 trap('INT'){?srv.shutdown?}
 srv.start
            ☆ほぼRubyのリファレンスマニュアルから
サ`バ`のサンプル WEBrick-DOM

 require?'webrick/dom'

 srv?=?WEBrick::HTTPServer.new({
 ??:DocumentRoot?=>?'./',
 ??:BindAddress?=>?'127.0.0.1',
 ??:Port?=>?20080?})
 trap('INT'){?srv.shutdown?}
 srv.start
やってること
¢   WEBrickのDefaultFileHandlerをラップす
    るサブクラスを恬る
    ¢   X-Path:フィ`ルドがあればnokogiriでI尖
    ¢   それ參翌はsuper来誘げ
¢   FileHandler.add_handler()で、.html
    と.htmの
    ハンドラ`に峺協
¢   50佩ぐらいのごくgなコ`ドです
             ☆歌深
             http://jp.rubyist.net/magazine/?0002-WEBrickProxy
諒籾泣

      ☆恬ってから欷兇い
わざわざ
 レ御カットの
   APIを
徭蛍で戻工する
  サイトって
 ないだろJK
それ參念に



これキャッシュ燭なくない
エコじゃない

MOTTAINAI
噫ったrgで




DEMO
Ad

Recommended

Web室g茶氏 及26指
Web室g茶氏 及26指
匯 弥嶄
?
Chiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for Perl
Hideaki Ohno
?
及8指悪永酷k燕彿創
及8指悪永酷k燕彿創
cryks
?
Introduction to MongoDB
Introduction to MongoDB
moai kids
?
安艶恢スライスから兵める馨庄界姻看韓看姻馨温岳壊
安艶恢スライスから兵める馨庄界姻看韓看姻馨温岳壊
Koji Ishimoto
?
WebSocketでリアルタイム宥佚 (及13指僥伏LTY創)
WebSocketでリアルタイム宥佚 (及13指僥伏LTY創)
stmkza
?
Yapcasia2012 ltthon
Yapcasia2012 ltthon
turugina
?
房い宥りにいかないのがWebなんて 護り俳りたくないから (Gunma.web #4 2011/02/12)
房い宥りにいかないのがWebなんて 護り俳りたくないから (Gunma.web #4 2011/02/12)
parrotstudio
?
粥稼艶馨看稼艶によるクロ`ラ`秘壇
粥稼艶馨看稼艶によるクロ`ラ`秘壇
Tasuku Nakano
?
BMXUG つきじ#4
BMXUG つきじ#4
K Kimura
?
珂看稼乙看禽京ではじめるカジュアルなタイムラインシステム
珂看稼乙看禽京ではじめるカジュアルなタイムラインシステム
Hitoshi Asai
?
来の坪MongoDB茶氏#20LT 2.8のストレ`ジエンジン咾してみました
来の坪MongoDB茶氏#20LT 2.8のストレ`ジエンジン咾してみました
Ryuji Tamagawa
?
安艶恢扮旗の寄源裟議プログラミングのススメ
安艶恢扮旗の寄源裟議プログラミングのススメ
Hideyuki Takeuchi
?
(きっと)あなたにも竃栖るHyperledger composer でブロックチェ`ンアプリを咾してみた
(きっと)あなたにも竃栖るHyperledger composer でブロックチェ`ンアプリを咾してみた
K Kimura
?
Mongo db聞ってみよう
Mongo db聞ってみよう
Oda Shinsuke
?
遺温壊顎温鉛な珂看稼乙看禽京のサ`ビス塰喘意庄沿壊
遺温壊顎温鉛な珂看稼乙看禽京のサ`ビス塰喘意庄沿壊
Naoki Sega
?
RubyLSwift NSOperation
RubyLSwift NSOperation
Hisakuni Fujimoto
?
BestGems.org -RubyGemsランキングサイトのごB初-
BestGems.org -RubyGemsランキングサイトのごB初-
Misao X
?
USP 嗔の氏 LT Y創 20130413
USP 嗔の氏 LT Y創 20130413
鴬猟 徒
?
Using SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JS
Kazuhiro Kotsutsumi
?
Tiny server
Tiny server
komem3
?
ちゃんとWeb氏hスライド〆Coffee script〇
ちゃんとWeb氏hスライド〆Coffee script〇
H2O Space. Co., Ltd.
?
防臭Ruby氏h05 dxruby
防臭Ruby氏h05 dxruby
mirichi_
?
Lightweight C#
Lightweight C#
繍 互勸
?
Rails と Rack と HTTP と宥佚の
Rails と Rack と HTTP と宥佚の
Progate, Inc.
?
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
?

More Related Content

What's hot (20)

房い宥りにいかないのがWebなんて 護り俳りたくないから (Gunma.web #4 2011/02/12)
房い宥りにいかないのがWebなんて 護り俳りたくないから (Gunma.web #4 2011/02/12)
parrotstudio
?
粥稼艶馨看稼艶によるクロ`ラ`秘壇
粥稼艶馨看稼艶によるクロ`ラ`秘壇
Tasuku Nakano
?
BMXUG つきじ#4
BMXUG つきじ#4
K Kimura
?
珂看稼乙看禽京ではじめるカジュアルなタイムラインシステム
珂看稼乙看禽京ではじめるカジュアルなタイムラインシステム
Hitoshi Asai
?
来の坪MongoDB茶氏#20LT 2.8のストレ`ジエンジン咾してみました
来の坪MongoDB茶氏#20LT 2.8のストレ`ジエンジン咾してみました
Ryuji Tamagawa
?
安艶恢扮旗の寄源裟議プログラミングのススメ
安艶恢扮旗の寄源裟議プログラミングのススメ
Hideyuki Takeuchi
?
(きっと)あなたにも竃栖るHyperledger composer でブロックチェ`ンアプリを咾してみた
(きっと)あなたにも竃栖るHyperledger composer でブロックチェ`ンアプリを咾してみた
K Kimura
?
Mongo db聞ってみよう
Mongo db聞ってみよう
Oda Shinsuke
?
遺温壊顎温鉛な珂看稼乙看禽京のサ`ビス塰喘意庄沿壊
遺温壊顎温鉛な珂看稼乙看禽京のサ`ビス塰喘意庄沿壊
Naoki Sega
?
RubyLSwift NSOperation
RubyLSwift NSOperation
Hisakuni Fujimoto
?
BestGems.org -RubyGemsランキングサイトのごB初-
BestGems.org -RubyGemsランキングサイトのごB初-
Misao X
?
USP 嗔の氏 LT Y創 20130413
USP 嗔の氏 LT Y創 20130413
鴬猟 徒
?
Using SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JS
Kazuhiro Kotsutsumi
?
Tiny server
Tiny server
komem3
?
ちゃんとWeb氏hスライド〆Coffee script〇
ちゃんとWeb氏hスライド〆Coffee script〇
H2O Space. Co., Ltd.
?
防臭Ruby氏h05 dxruby
防臭Ruby氏h05 dxruby
mirichi_
?
Lightweight C#
Lightweight C#
繍 互勸
?
房い宥りにいかないのがWebなんて 護り俳りたくないから (Gunma.web #4 2011/02/12)
房い宥りにいかないのがWebなんて 護り俳りたくないから (Gunma.web #4 2011/02/12)
parrotstudio
?
粥稼艶馨看稼艶によるクロ`ラ`秘壇
粥稼艶馨看稼艶によるクロ`ラ`秘壇
Tasuku Nakano
?
BMXUG つきじ#4
BMXUG つきじ#4
K Kimura
?
珂看稼乙看禽京ではじめるカジュアルなタイムラインシステム
珂看稼乙看禽京ではじめるカジュアルなタイムラインシステム
Hitoshi Asai
?
来の坪MongoDB茶氏#20LT 2.8のストレ`ジエンジン咾してみました
来の坪MongoDB茶氏#20LT 2.8のストレ`ジエンジン咾してみました
Ryuji Tamagawa
?
安艶恢扮旗の寄源裟議プログラミングのススメ
安艶恢扮旗の寄源裟議プログラミングのススメ
Hideyuki Takeuchi
?
(きっと)あなたにも竃栖るHyperledger composer でブロックチェ`ンアプリを咾してみた
(きっと)あなたにも竃栖るHyperledger composer でブロックチェ`ンアプリを咾してみた
K Kimura
?
Mongo db聞ってみよう
Mongo db聞ってみよう
Oda Shinsuke
?
遺温壊顎温鉛な珂看稼乙看禽京のサ`ビス塰喘意庄沿壊
遺温壊顎温鉛な珂看稼乙看禽京のサ`ビス塰喘意庄沿壊
Naoki Sega
?
BestGems.org -RubyGemsランキングサイトのごB初-
BestGems.org -RubyGemsランキングサイトのごB初-
Misao X
?
USP 嗔の氏 LT Y創 20130413
USP 嗔の氏 LT Y創 20130413
鴬猟 徒
?
Using SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JS
Kazuhiro Kotsutsumi
?
Tiny server
Tiny server
komem3
?
ちゃんとWeb氏hスライド〆Coffee script〇
ちゃんとWeb氏hスライド〆Coffee script〇
H2O Space. Co., Ltd.
?
防臭Ruby氏h05 dxruby
防臭Ruby氏h05 dxruby
mirichi_
?

Similar to エコな安艶恢サ`バ` (20)

Rails と Rack と HTTP と宥佚の
Rails と Rack と HTTP と宥佚の
Progate, Inc.
?
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
?
ゲット`の弍め貧をゆく安艶恢アプリケ`ションフレ`ムワ`クの蝕k
ゲット`の弍め貧をゆく安艶恢アプリケ`ションフレ`ムワ`クの蝕k
emasaka
?
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
?
Restful Web Service Ch2
Restful Web Service Ch2
kunit
?
エンジニアという岼匍について
エンジニアという岼匍について
Hisatoshi Kikumoto
?
サ`バ`の兜i議な三セミナ`栖點20120901
サ`バ`の兜i議な三セミナ`栖點20120901
Masayuki Abe
?
Beginning Java EE 6 茶氏(7) #bje_study
Beginning Java EE 6 茶氏(7) #bje_study
ikeyat
?
晩云 GNU AWK ユ`ザ`氏チラシ - OSC2012 Tokyo/Fall
晩云 GNU AWK ユ`ザ`氏チラシ - OSC2012 Tokyo/Fall
鴬猟 徒
?
安艶恢とは採か
安艶恢とは採か
teracchi
?
HTTPと Webクロ`リングについて
HTTPと Webクロ`リングについて
Tomoya Kawanishi
?
珂看逮看鉛庄界庄看顎壊をウェブ崙恬岾,琶垢辰討澆討
珂看逮看鉛庄界庄看顎壊をウェブ崙恬岾,琶垢辰討澆討
jamadam
?
仝Webサ`ビスのつくり圭々 のつくり圭
仝Webサ`ビスのつくり圭々 のつくり圭
Yusuke Wada
?
Tottoruby 20110903
Tottoruby 20110903
Takashi SAKAGUCHI
?
皆庄稼温岳姻温で敬艶恢アプリケ`ション蝕kを僥ぶ
皆庄稼温岳姻温で敬艶恢アプリケ`ション蝕kを僥ぶ
Hiroshi Oyamada
?
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (a晩云Z井)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (a晩云Z井)
Toru Kawamura
?
OSC2008 Tokyo/Spring REST茶匚氏
OSC2008 Tokyo/Spring REST茶匚氏
Siena. N
?
芙坪茶氏Y創Varnish Module
芙坪茶氏Y創Varnish Module
Iwana Chan
?
PIC RoR Heroku
PIC RoR Heroku
mgwsuzuki
?
Rails と Rack と HTTP と宥佚の
Rails と Rack と HTTP と宥佚の
Progate, Inc.
?
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
?
ゲット`の弍め貧をゆく安艶恢アプリケ`ションフレ`ムワ`クの蝕k
ゲット`の弍め貧をゆく安艶恢アプリケ`ションフレ`ムワ`クの蝕k
emasaka
?
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
?
Restful Web Service Ch2
Restful Web Service Ch2
kunit
?
エンジニアという岼匍について
エンジニアという岼匍について
Hisatoshi Kikumoto
?
サ`バ`の兜i議な三セミナ`栖點20120901
サ`バ`の兜i議な三セミナ`栖點20120901
Masayuki Abe
?
Beginning Java EE 6 茶氏(7) #bje_study
Beginning Java EE 6 茶氏(7) #bje_study
ikeyat
?
晩云 GNU AWK ユ`ザ`氏チラシ - OSC2012 Tokyo/Fall
晩云 GNU AWK ユ`ザ`氏チラシ - OSC2012 Tokyo/Fall
鴬猟 徒
?
安艶恢とは採か
安艶恢とは採か
teracchi
?
HTTPと Webクロ`リングについて
HTTPと Webクロ`リングについて
Tomoya Kawanishi
?
珂看逮看鉛庄界庄看顎壊をウェブ崙恬岾,琶垢辰討澆討
珂看逮看鉛庄界庄看顎壊をウェブ崙恬岾,琶垢辰討澆討
jamadam
?
仝Webサ`ビスのつくり圭々 のつくり圭
仝Webサ`ビスのつくり圭々 のつくり圭
Yusuke Wada
?
皆庄稼温岳姻温で敬艶恢アプリケ`ション蝕kを僥ぶ
皆庄稼温岳姻温で敬艶恢アプリケ`ション蝕kを僥ぶ
Hiroshi Oyamada
?
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (a晩云Z井)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (a晩云Z井)
Toru Kawamura
?
OSC2008 Tokyo/Spring REST茶匚氏
OSC2008 Tokyo/Spring REST茶匚氏
Siena. N
?
芙坪茶氏Y創Varnish Module
芙坪茶氏Y創Varnish Module
Iwana Chan
?
Ad

More from emasaka (10)

庄恢顎壊-壊一一をなんとかすっぺ氏咏
庄恢顎壊-壊一一をなんとかすっぺ氏咏
emasaka
?
彷泣の三
彷泣の三
emasaka
?
赫看京看晦庄稼顎恰を編した
赫看京看晦庄稼顎恰を編した
emasaka
?
さくらのクラウドで鞄2看のベンチマ`ク
さくらのクラウドで鞄2看のベンチマ`ク
emasaka
?
みおぽん for CLI
みおぽん for CLI
emasaka
?
GNU make 4.0に採かいる
GNU make 4.0に採かいる
emasaka
?
メタメタプログラミング檎顎恢霞
メタメタプログラミング檎顎恢霞
emasaka
?
繁薦
繁薦
emasaka
?
Bash on Railsの剃u
Bash on Railsの剃u
emasaka
?
庄恢顎壊-壊一一をなんとかすっぺ氏咏
庄恢顎壊-壊一一をなんとかすっぺ氏咏
emasaka
?
彷泣の三
彷泣の三
emasaka
?
赫看京看晦庄稼顎恰を編した
赫看京看晦庄稼顎恰を編した
emasaka
?
さくらのクラウドで鞄2看のベンチマ`ク
さくらのクラウドで鞄2看のベンチマ`ク
emasaka
?
みおぽん for CLI
みおぽん for CLI
emasaka
?
GNU make 4.0に採かいる
GNU make 4.0に採かいる
emasaka
?
メタメタプログラミング檎顎恢霞
メタメタプログラミング檎顎恢霞
emasaka
?
Bash on Railsの剃u
Bash on Railsの剃u
emasaka
?
Ad

エコな安艶恢サ`バ`