Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
oEmbed と Text::Hatena
Search
Yasuhiro Onishi
March 18, 2012
Programming
160
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
11k
アニメから得た学びを発表会 in 関西 はてな スポンサーLT
onishi
1
90
大吉祥寺.pm 基調講演
onishi
4
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
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.6k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.1k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
700
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
280
Inside Stream API
skrb
1
730
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
240
ふつうのFeature Flag実践入門
irof
7
4k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.2k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Speed Design
sergeychernyshev
33
1.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Embracing the Ebb and Flow
colly
88
5.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Agile that works and the tools we love
rasmusluckow
331
21k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
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͍ͭͰʹͯͳϒϩάਖ਼ࣜԽ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠