Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
oEmbed と Text::Hatena
Search
Yasuhiro Onishi
March 18, 2012
Programming
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
oEmbed と Text::Hatena
Yasuhiro Onishi
March 18, 2012
More Decks by Yasuhiro Onishi
See All by Yasuhiro Onishi
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
18
20k
アニメから得た学びを発表会 in 関西 はてな スポンサーLT
onishi
1
96
大吉祥寺.pm 基調講演
onishi
4
9.9k
YAPC::Kyoto 2023 Keynote
onishi
3
11k
2016 Devsumi Kansai
onishi
3
1.6k
Hatena-Camp
onishi
2
4.6k
Hatena Blog for Engineer
onishi
2
3.2k
Hatena Blog Development Flow
onishi
34
38k
hatena-diary-blog-xss
onishi
5
1.2k
Other Decks in Programming
See All in Programming
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
4k
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
270
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
setup-vp GitLab対応の裏側
naokihaba
0
130
一人だけ、Kiroが静止する日
hideg
0
130
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
690
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
230
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
130
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
260
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
A Soul's Torment
seathinner
8
3.6k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
770
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
It's Worth the Effort
3n
188
29k
Documentation Writing (for coders)
carmenintech
77
5.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Evolving SEO for Evolving Search Engines
ryanjones
0
300
Everyday Curiosity
cassininazir
0
330
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Transcript
P&NCFEͱ5FYU)BUFOB JEPOJTIJ גࣜձࣾͯͳେ߁༟
ࣗݾհ wJEPOJTIJେ߁༟ wגࣜձࣾͯͳ wνʔϑΤϯδχΞ wͯͳμΠΞϦʔϒϩάσΟϨΫλʔ w%FWFM,:51SPG w5FYU)BUFOB wਖ਼نදݱ͚ͩͰԿͱ͔͠Α͏ͱ͗͢͠Δ
ಈըຒΊࠐΈ
ຒΊࠐΈλά
ͯͳه๏ [http://www.youtube.com/watch?v=XDB9-‐TUrzc0:movie]
ͦͷ࣮ wಈըαʔϏεຖʹݸผରԠ wਖ਼نදݱΓͩ͘͞Μ wαΠτͷมߋʹै͢Δͷ͍ͨΜ wNPWJFJNBHFTPVOE
P&NCFE w63-ຒΊࠐΈ༷ wࣸਅಈըίϯςϯπΛαʔυύʔ ςΟʹຒΊࠐΉͨΊͷ"1* wIUUQPFNCFEDPN
P&NCFETQFD w63-TDIFNF w"1*FOEQPJOU http://www.flickr.com/photos/* http://www.flickr.com/services/oembed/
P&NCFESFRVFTU wVSM wNBYXJEUI PQUJPOBM wNBYIFJHIU PQUJPOBM wGPSNBU PQUJPOBM +40/PS9.-
P&NCFESFTQPOTF { "version": "1.0",
"type": "photo", "width": 240, "height": 160, "title": "ZB8T0193", "url": "http://farm4.static.flickr.com/3123/2341623661_7c99f48bbf_m.jpg", "author_name": "Bees", "author_url": "http://www.flickr.com/photos/bees/", "provider_name": "Flickr", "provider_url": "http://www.flickr.com/" }
8FCP&NCFE IUUQTNFUBDQBOPSHNPEVMF8FCP&NCFE use Web::oEmbed; my $consumer = Web::oEmbed-‐>new({
format => 'json' }); $consumer-‐>register_provider({ url => 'http://*.flickr.com/*', api => 'http://www.flickr.com/services/oembed/', }); my $response = $consumer-‐>embed("http:// www.flickr.com/..."); print $response-‐>render; #=> <img />
P&NCFEQSPWJEFS
P&NCFEEJTDPWFSZ <link rel="alternate" type="application/json+oembed" href="http://flickr.com/services/oembed?url=...&format=json" title="..."
/> <link rel="alternate" type="text/xml+oembed" href="http://flickr.com/services/oembed?url=...&format=xml" title="..." />
5FYU)BUFOB&NCFE [http://www.youtube.com/watch?v=XDB9-‐TUrzc0:embed]
w8FCP&NCFEʹϓϩόΠμΛϓϦηοτ wFOEQPJOU"VUP%JTDPWFS 5FYU)BUFOB&NCFE
͍
ϦΫΤετͨ͘͠ͳ͍ <script src="https://gist.github.com/$GIST_ID.js"></script> <iframe width="420" height="315" src="http://www.youtube.com/embed/$VIDEO_ID"></iframe>
wఆٛࡁͷมΛਖ਼نදݱͰߦ͏ w8FCP&NCFEʹϓϩόΠμΛϓϦηοτ wFOEQPJOU"VUP%JTDPWFS 5FYU)BUFOB&NCFE
JOTUBHSBNషΕΜͷʁ
P&NCFEඇରԠαΠτ wࣸਅڞ༗αΠτͰP&NCFEରԠαΠ τগͳ͍ wP&NCFEʹରԠ͍ͯ͠ͳͯ͘ΞϨ ʹରԠ͍ͯ͠Δʂʂ
None
wఆٛࡁͷมΛਖ਼نදݱͰߦ͏ w8FCP&NCFEʹϓϩόΠμΛϓϦηοτ wFOEQPJOU"VUP%JTDPWFS wPHJNBHFΛऔಘͯ͠ը૾λάΛग़ྗ 5FYU)BUFOB&NCFE
5FYU)BUFOB&NCFE IUUQTHJUIVCDPNPOJTIJ5FYU)BUFOB&NCFE my $embed = Text::Hatena::Embed-‐>new; print $embed-‐>render($url);
·ͱΊ wP&NCFEΜΓ wΜΓϞδϡʔϧެ։͠·ͨ͠ʔ w&NCFEؚΜͩ5FYU)BUFOBϑϧηοτ ࠷৽൛Λࠓय़ϦϦʔε༧ఆ w͍ͭͰʹͯͳϒϩάਖ਼ࣜԽ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠