Enviar pesquisa
Carregar
Yapcasia2012 ltthon
•
0 gostou
•
4,326 visualizações
turugina
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 13
Baixar agora
Baixar para ler offline
Recomendados
第8回KPF発表資料
第8回KPF発表資料
cryks
ParliamentでGeoSPARQL
ParliamentでGeoSPARQL
Teppei Inaba
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡
Aya Komuro
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
Masahiko Sawada
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
R以外の研究ツール
R以外の研究ツール
弘毅 露崎
パケット解析ノススメ
パケット解析ノススメ
彰 村地
Recomendados
第8回KPF発表資料
第8回KPF発表資料
cryks
ParliamentでGeoSPARQL
ParliamentでGeoSPARQL
Teppei Inaba
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡
Aya Komuro
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
Masahiko Sawada
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
R以外の研究ツール
R以外の研究ツール
弘毅 露崎
パケット解析ノススメ
パケット解析ノススメ
彰 村地
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
Mysql casial01
Mysql casial01
matsuo kenji
Openresty
Openresty
ogawatti
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Takashi Hoshino
OCaml でデータ分析
OCaml でデータ分析
Akinori Abe
My misstake on Ansible’s lineinfile module
My misstake on Ansible’s lineinfile module
Yukiya Hayashi
PHP matsuri 2013 Windows Azure Storage SDK for PHP
PHP matsuri 2013 Windows Azure Storage SDK for PHP
Takeshi Sakurai
エコなWebサーバー
エコなWebサーバー
emasaka
Nuxt.js + microCMS + netlify
Nuxt.js + microCMS + netlify
ogawatti
ファイルサーバ構築
ファイルサーバ構築
Takashi Noboru
分散データベース gun について調べた
分散データベース gun について調べた
keisunagawa
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
C++のビルド高速化について
C++のビルド高速化について
AimingStudy
フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門
彰 村地
10分で分かるデータストレージ
10分で分かるデータストレージ
Takashi Hoshino
Sphinx/reST
Sphinx/reST
Ryo Maruyama
データベースのお話
データベースのお話
Hidekazu Tanaka
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
静的サイトどこにする?
静的サイトどこにする?
ogawatti
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
OpenNebula on Ubuntu
OpenNebula on Ubuntu
autumnalsky
Mais conteúdo relacionado
Mais procurados
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
Mysql casial01
Mysql casial01
matsuo kenji
Openresty
Openresty
ogawatti
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Takashi Hoshino
OCaml でデータ分析
OCaml でデータ分析
Akinori Abe
My misstake on Ansible’s lineinfile module
My misstake on Ansible’s lineinfile module
Yukiya Hayashi
PHP matsuri 2013 Windows Azure Storage SDK for PHP
PHP matsuri 2013 Windows Azure Storage SDK for PHP
Takeshi Sakurai
エコなWebサーバー
エコなWebサーバー
emasaka
Nuxt.js + microCMS + netlify
Nuxt.js + microCMS + netlify
ogawatti
ファイルサーバ構築
ファイルサーバ構築
Takashi Noboru
分散データベース gun について調べた
分散データベース gun について調べた
keisunagawa
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
C++のビルド高速化について
C++のビルド高速化について
AimingStudy
フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門
彰 村地
10分で分かるデータストレージ
10分で分かるデータストレージ
Takashi Hoshino
Sphinx/reST
Sphinx/reST
Ryo Maruyama
データベースのお話
データベースのお話
Hidekazu Tanaka
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
静的サイトどこにする?
静的サイトどこにする?
ogawatti
Mais procurados
(20)
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
Mysql casial01
Mysql casial01
Openresty
Openresty
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
OCaml でデータ分析
OCaml でデータ分析
My misstake on Ansible’s lineinfile module
My misstake on Ansible’s lineinfile module
PHP matsuri 2013 Windows Azure Storage SDK for PHP
PHP matsuri 2013 Windows Azure Storage SDK for PHP
エコなWebサーバー
エコなWebサーバー
Nuxt.js + microCMS + netlify
Nuxt.js + microCMS + netlify
ファイルサーバ構築
ファイルサーバ構築
分散データベース gun について調べた
分散データベース gun について調べた
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
C++のビルド高速化について
C++のビルド高速化について
フレッシャーズのためのパケット解析入門
フレッシャーズのためのパケット解析入門
10分で分かるデータストレージ
10分で分かるデータストレージ
Sphinx/reST
Sphinx/reST
データベースのお話
データベースのお話
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
静的サイトどこにする?
静的サイトどこにする?
Semelhante a Yapcasia2012 ltthon
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
OpenNebula on Ubuntu
OpenNebula on Ubuntu
autumnalsky
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
maebashi
Docker実践入門
Docker実践入門
hiro nemu
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
たのしいNode.js
たのしいNode.js
ishiki-takai
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
OpenStack + Common Lisp
OpenStack + Common Lisp
irix_jp
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
Masahito Zembutsu
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
Taro Matsuzawa
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Izumi Tsutsui
20121115 fukuoka sublime0_kuroneko
20121115 fukuoka sublime0_kuroneko
Kohki Nakashima
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
Kenichiro MATOHARA
DockerでAlmaLinux(web, php, pukiwiki)環境構築
DockerでAlmaLinux(web, php, pukiwiki)環境構築
Yoshihiro Mizoguchi
Semelhante a Yapcasia2012 ltthon
(20)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
OpenNebula on Ubuntu
OpenNebula on Ubuntu
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
Docker実践入門
Docker実践入門
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
たのしいNode.js
たのしいNode.js
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
OpenStack + Common Lisp
OpenStack + Common Lisp
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
20121115 fukuoka sublime0_kuroneko
20121115 fukuoka sublime0_kuroneko
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
WindowsでMySQL入門
WindowsでMySQL入門
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
DockerでAlmaLinux(web, php, pukiwiki)環境構築
DockerでAlmaLinux(web, php, pukiwiki)環境構築
Último
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Último
(11)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Yapcasia2012 ltthon
1.
「画像ダウンローダー」を作る際に 気をつけたいいくつかのこと
2012-09-28 LT-thon@YAPC::Asia2012 発表者:@ turugina
2.
What is 「画像ダウンローダー」 ●
NOT 「画像検索システム等用のクローラー」
3.
What is 「画像ダウンローダー」 ●
BUT 個人で愉しむために画像をダウンロードする ツール – ex) 某巨大掲示板の二次元画像板のスレから
4.
code
5.
●
画像ダウンロードツールを作る過程で色々な知 識・技術が身に付く – HTTP 関連 (LWP::UserAgent, HTTP::Lite,...) – ファイル関連 (File::Spec, Path::Class, ...) – コマンドラインオプション解析 (Getopt::*,...) – 永続化 / データベース (Tie::Persistent, Storable, DBI, DBD::SQLite, …) – 並行処理 / 排他制御 (threads, Coro, AnyEvent)
6.
Agenda ●
① 汝、紳士たれ ● ② 画像だと思ったら HTML だった、しにたい ● ③ \ Be on your guard! / ● ④ 貪欲に、貪欲に ● その他細々したもの
7.
① 汝、紳士たれ ●
ダウンロード先のサイトに迷惑をかけない – 同じ URL から何度もダウンロードしない ● → Tie::Persistent によるなんちゃって KVS でダウンロード 済み URL を永続化 ● → でも量が増えてきたら素直に DBI/DBD::SQLite – コネクションをキャッシュする ● → $ua->conn_cache( LWP::ConnCache->new ( total_capacity => undef ) ); – できれば1サイト 1 コネクションで済ませる ( 古い? )
8.
② 画像だと思ったら(以下略 ●
ヘッダをチェックする – my $res = $ua->mirror($url, $file); unlink($file) if $res->header('Content-Type') =~ m/text/i; ● たまに image/jpeg とか言いつつ HTML を返し てくる奴が ... – → Imager に食わせてエラーになったら消すとか
9.
③Be on your
guard! ● 見たくない画像から身を守る – サイトのブラックリスト( Og**sh とか Ro**en とか ) – もしダウンロードしてしまったら ● →URL とファイルのハッシュ (md5/SHA1 等 ) をブラックリス トに登録して削除 – Digest::MD5 、 Digest::SHA1 – ダウンロード前に URL チェック、ダウンロード後にハッ シュチェックで 2 重のガード
10.
④ 欲望に忠実に貪欲に、貪欲に ●
並行処理 – fork() ...? – use threads; use Thread::Queue; ● 固定数のワーカスレッドを立てて Queue から URL を流し込 む – use POE; …? – use Coro; use Coro::LWP; – use AnyEvent; use AnyEvent::HTTP; use Coro; use Coro::AnyEvent;
11.
細々 ●
use Clipboard; で「画像 URL を含むテキストを コピー&ペースト」の「ペースト」の部分を自動化 ● コマンドラインオプションを付けたい→ Getopt::* ● win32perl ではファイル操作時の文字コードに注 意 – 「 . ニーソ フォルダを作ってその中に画像をダウンロー ドしようとしたらカレントフォルダに変な名前のファイル が!!」
12.
おまけ ●
use threads; 版と同じ処理内容のスクリプトを Python で書いてみたら – コードは若干短く – 処理速度は若干速く – – – なりました ...orz ● くやしい!でも ..( ビクンビクン
13.
ご清聴ありがとうございました
Baixar agora