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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
19k
アニメから得た学びを発表会 in 関西 はてな スポンサーLT
onishi
1
96
大吉祥寺.pm 基調講演
onishi
4
9.6k
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
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
440
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
150
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
150
XHTMLが残したもの
yosuke_furukawa
PRO
2
680
Intent as Code
shoppingjaws
6
840
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
270
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building AI with AI
inesmontani
PRO
1
1.2k
Test your architecture with Archunit
thirion
2
2.4k
Facilitating Awesome Meetings
lara
57
7.1k
Faster Mobile Websites
deanohume
310
32k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
From π to Pie charts
rasagy
0
360
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
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͍ͭͰʹͯͳϒϩάਖ਼ࣜԽ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠