Download - スクリプト言語で重要な事はエロ画像集取で学んだ
![Page 1: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/1.jpg)
スクリプト言語で重要な事は
エロ画像集取で学んだ
@shokai大人のYAPC2013
![Page 2: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/2.jpg)
![Page 3: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/3.jpg)
私•@shokai (しょうかい)
•趣味:料理、glitch、Ruby
•Perl書けないけど•LT応募したら通った…
![Page 4: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/4.jpg)
Perl勉強した
![Page 5: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/5.jpg)
![Page 6: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/6.jpg)
Perl2.0の薄い本
簡潔でわかりやすい!
![Page 7: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/7.jpg)
正規表現とか配列だけでもだいぶ色々できる
![Page 8: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/8.jpg)
今日のお話
![Page 9: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/9.jpg)
画像いっぱい集めたいという欲求で
いつのまにかRuby書けるようになってた話をします
![Page 10: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/10.jpg)
ぜんぜんPerlでてこないけど
![Page 11: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/11.jpg)
たぶんPerlでもだいたい同じ感じでプログラミング学習できると思うから許して
![Page 12: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/12.jpg)
2008年ごろ
![Page 13: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/13.jpg)
![Page 14: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/14.jpg)
Yahoo Pipesで画像掲示板からRSS作りまくった
![Page 15: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/15.jpg)
Web系やったことなかったけど欲望のまま100個以上Pipes作った
![Page 16: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/16.jpg)
正規表現リファラDOMを学んだ
![Page 17: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/17.jpg)
1年経過
![Page 18: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/18.jpg)
Pixiv、Danbooru、Tumblrとの出会い
ログインしないと見れない大量のメタデータ
![Page 19: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/19.jpg)
Danbooru•オープンソースな画像アップローダ• https://github.com/r888888888/danbooru•地球上に何個か設置されてる• Rails 3.2•アカウント作ったり、点数つけたり•よくできてる
![Page 20: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/20.jpg)
![Page 21: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/21.jpg)
![Page 22: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/22.jpg)
人力セマンティックに感動
![Page 23: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/23.jpg)
PixivもDanbooruもRSSリーダーで見るのに適して
いなかった↓
Rubyでなんとかしよう
![Page 24: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/24.jpg)
画像収集はスクリプト言語に重要な事がだいたい入ってると思う
![Page 25: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/25.jpg)
cookie、文字コード、DOM、配列やハッシュ、DBやファイルへの保存、
memcache、md5で重複防げる、tumblrに流す、非同期IO、crontab、エラー処理
![Page 26: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/26.jpg)
HTTPヘッダを見る、exifで画像サイズ確認、
OpenCVで肌色画像だけ通すGearman worker
・・など
![Page 27: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/27.jpg)
画像収集でよかったこと
![Page 28: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/28.jpg)
どんどん動かなくなるから直さないとならない
↓強制リファクタリング
![Page 29: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/29.jpg)
スクレイピングなので変化に弱い↓
ライブラリ整備せざるえない↓
非公開なRubygem作成
![Page 30: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/30.jpg)
公開できるクオリティじゃなくても、ローカル用のRubygemにする
↓取り回しが良い
![Page 31: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/31.jpg)
GemやCPANなどのフォーマットに従ってライブラリ作ってみると、理解
深まるのでは
![Page 32: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/32.jpg)
最近の動向
![Page 33: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/33.jpg)
肌色画像フィルタで誤爆してくる奴らどうにかしたい
![Page 34: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/34.jpg)
![Page 35: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/35.jpg)
あとグロ画像とかもなえるわ・・
![Page 36: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/36.jpg)
人力でどうにかする
Amazon Mechanical Turkにエロ画像流すとBANされそう
![Page 37: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/37.jpg)
仲間内で使えるクラウドソーシング的なものがほしい
![Page 38: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/38.jpg)
% gem install babascriptコンピュータが得意な事はコンピュータが、
人間が得意な事は馬場くん がやってくれる言語
https://github.com/masuilab/babascript
@takumibaba
![Page 39: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/39.jpg)
% baba -e 'この画像エロい?("http://example.com/hoge.jpg")'
baba -e ’コード’
もしくはbaba ファイル名
![Page 40: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/40.jpg)
結果
![Page 41: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/41.jpg)
url_list.each do |url| if この画像エロい?(url) == "はい" ## 画像保存する else ## 画像捨てる endend
画像確認.bb
% baba 画像確認.bb
実行
ぱっと見、Rubyに見えるけどメタプログラミングにより
日本語で書いた部分を馬場君が実行してくれる
返り値も取れる
![Page 42: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/42.jpg)
module BabaScript class Baba
def self.method_missing(name, *args) ## (略) AndroidにnameとargsをLindaで送信する end
endend
Rubyの関数名には日本語が使える→ method_missingで全部取れる
![Page 43: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/43.jpg)
Lindaで実装してるから複数人で並列実行
もできる
![Page 44: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/44.jpg)
人間を関数のように扱えるようになるスマホアプリ
+人間に命令を送る構文を追加したプログラム言語
→ 人間とプログラム言語の新しい関係
![Page 45: スクリプト言語で重要な事はエロ画像集取で学んだ](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547ed444b4af9f246e8b46dd/html5/thumbnails/45.jpg)
画像収集は総合芸術なので勉強の題材にいいと思いますおわり