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
Yesod で Blog Engine つくってみた
Search
Hiromi Ishii
April 21, 2012
Technology
2
160
Yesod で Blog Engine つくってみた
Hiromi Ishii
April 21, 2012
Tweet
Share
More Decks by Hiromi Ishii
See All by Hiromi Ishii
大規模数値計算を支える Haskell ── Pragmatic Haskell in Large-Scale Numerical Computation──
konn
3
3.8k
The Great Power of newtypes
konn
3
3.9k
本当はすごい newtype
konn
11
9.7k
わかったつもりになる Gröbner 基底
konn
5
1.1k
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
290
20250913_JAWS_sysad_kobe
takuyay0ne
2
260
テストを軸にした生き残り術
kworkdev
PRO
0
230
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
130
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
130
slog.Handlerのよくある実装ミス
sakiengineer
4
500
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
130
メルカリIBISの紹介
0gm
0
960
組織規模に応じたPlatform Engineeringの実践
hacomono
PRO
0
110
Apache Spark もくもく会
taka_aki
0
150
Android Audio: Beyond Winning On It
atsushieno
0
5.6k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
36
6.9k
It's Worth the Effort
3n
187
28k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Balancing Empowerment & Direction
lara
3
630
Done Done
chrislema
185
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Context Engineering - Making Every Token Count
addyosmani
3
67
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Transcript
Yesod Ͱ Blog Engine Λͭͬͯ͘Έͨ @mr_konn 20124݄22༵
ࣗݾհ • @mr_konn • ֶՊࡾ • auehtnticate-oauth / yesod-auth-oauth ϝϯςφ
• ϒϩάɿhttp://blog.konn-san.com • Powered by Yesod & Mighty • ͜Ε࡞ͬͨͱ͖ͷ͠·͢ 20124݄22༵
Yablog: Yet Another Blog-engine 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ • ෳਓࣥච / ίϝϯτ
/ τϥοΫόοΫ / Real Time Preview / λά / ϑΟʔυ / ίϝϯτ௨ 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ • ෳਓࣥච / ίϝϯτ
/ τϥοΫόοΫ / Real Time Preview / λά / ϑΟʔυ / ίϝϯτ௨ • ΣϒαʔϏεͱͷ࿈ܞ 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ • ෳਓࣥච / ίϝϯτ
/ τϥοΫόοΫ / Real Time Preview / λά / ϑΟʔυ / ίϝϯτ௨ • ΣϒαʔϏεͱͷ࿈ܞ • SocialɿTwitter / ͯϒ / ͯελ / G+ / ͍͍Ͷʂ 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ • ෳਓࣥච / ίϝϯτ
/ τϥοΫόοΫ / Real Time Preview / λά / ϑΟʔυ / ίϝϯτ௨ • ΣϒαʔϏεͱͷ࿈ܞ • SocialɿTwitter / ͯϒ / ͯελ / G+ / ͍͍Ͷʂ • Google CSE / Google Analytics / Amazon Associates 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ • ෳਓࣥච / ίϝϯτ
/ τϥοΫόοΫ / Real Time Preview / λά / ϑΟʔυ / ίϝϯτ௨ • ΣϒαʔϏεͱͷ࿈ܞ • SocialɿTwitter / ͯϒ / ͯελ / G+ / ͍͍Ͷʂ • Google CSE / Google Analytics / Amazon Associates • ଟ͘ͷϚʔΫΞοϓݴޠɺ Syntax Colouring Λαϙʔτ 20124݄22༵
Yablog: Yet Another Blog-engine • ϒϩάͱͯ͠Ұ௨Γͷػೳ • ෳਓࣥච / ίϝϯτ
/ τϥοΫόοΫ / Real Time Preview / λά / ϑΟʔυ / ίϝϯτ௨ • ΣϒαʔϏεͱͷ࿈ܞ • SocialɿTwitter / ͯϒ / ͯελ / G+ / ͍͍Ͷʂ • Google CSE / Google Analytics / Amazon Associates • ଟ͘ͷϚʔΫΞοϓݴޠɺ Syntax Colouring Λαϙʔτ • MathJax ʹΑΔඒ͍ࣜ͠ 20124݄22༵
ཉ͍͠ػೳɺ Ұ௨Γɻ 20124݄22༵
ཉ͍͠ͷ ࡞Ζ͏ʂ 20124݄22༵
࡞Δͷ େม……ʁ 20124݄22༵
ͦΜͳ͜ͱͳ͍ʂ 20124݄22༵
͔ͭͬͨͷ 20124݄22༵
͔ͭͬͨͷ • Yesod 20124݄22༵
͔ͭͬͨͷ • Yesod • Google Analytics ࠷ॳ͔Βαϙʔτ 20124݄22༵
͔ͭͬͨͷ • Yesod • Google Analytics ࠷ॳ͔Βαϙʔτ • ඇಉظ൛ʹॻ͖͑·ͨ͠ɻ 20124݄22༵
͔ͭͬͨͷ • Yesod • Google Analytics ࠷ॳ͔Βαϙʔτ • ඇಉظ൛ʹॻ͖͑·ͨ͠ɻ •
Newsfeed ͷੜࠃࡍԽָνϯ 20124݄22༵
͔ͭͬͨͷ • Yesod • Google Analytics ࠷ॳ͔Βαϙʔτ • ඇಉظ൛ʹॻ͖͑·ͨ͠ɻ •
Newsfeed ͷੜࠃࡍԽָνϯ • ೝূػߏ͖ͳͷΛ͑Δ 20124݄22༵
͔ͭͬͨͷ • Yesod • Google Analytics ࠷ॳ͔Βαϙʔτ • ඇಉظ൛ʹॻ͖͑·ͨ͠ɻ •
Newsfeed ͷੜࠃࡍԽָνϯ • ೝূػߏ͖ͳͷΛ͑Δ • Yablog Ͱͦͷ·· Google ͔ BrowserId 20124݄22༵
͔ͭͬͨͷ • Yesod • Google Analytics ࠷ॳ͔Βαϙʔτ • ඇಉظ൛ʹॻ͖͑·ͨ͠ɻ •
Newsfeed ͷੜࠃࡍԽָνϯ • ೝূػߏ͖ͳͷΛ͑Δ • Yablog Ͱͦͷ·· Google ͔ BrowserId • HashDB ͱ͔ͷ͕Α͔͔ͬͨͳ͊ɻ 20124݄22༵
͔ͭͬͨͷʢଓʣ 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc • Markdown (+lhs) / ReST / HTML
/ TeX… 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc • Markdown (+lhs) / ReST / HTML
/ TeX… • ϚʔΫΞοϓͷύʔζ&HTMLܗʹ 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc • Markdown (+lhs) / ReST / HTML
/ TeX… • ϚʔΫΞοϓͷύʔζ&HTMLܗʹ • HTML Yesodͱڞ௨ͷ blaze Λར༻ 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc • Markdown (+lhs) / ReST / HTML
/ TeX… • ϚʔΫΞοϓͷύʔζ&HTMLܗʹ • HTML Yesodͱڞ௨ͷ blaze Λར༻ • highlighting-kate 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc • Markdown (+lhs) / ReST / HTML
/ TeX… • ϚʔΫΞοϓͷύʔζ&HTMLܗʹ • HTML Yesodͱڞ௨ͷ blaze Λར༻ • highlighting-kate • γϯλοΫεΧϥʔϦϯάɻ 20124݄22༵
͔ͭͬͨͷʢଓʣ • Pandoc • Markdown (+lhs) / ReST / HTML
/ TeX… • ϚʔΫΞοϓͷύʔζ&HTMLܗʹ • HTML Yesodͱڞ௨ͷ blaze Λར༻ • highlighting-kate • γϯλοΫεΧϥʔϦϯάɻ • Yablog Ͱୟ͍͍ͯ·͕͢ɺPandoc ͔Βୟ͚ Δɻ 20124݄22༵
Amazon Associates • Pandoc + SYB ͷҖྗ • URL Λݟ͚ͨΒ
Amazon ͔Ͳ͏͔ ఆɺࣗಈͰΞϑΟϦϯΫԽ 20124݄22༵
͔ͭͬͨͷ 20124݄22༵
͔ͭͬͨͷ • MongoDB 20124݄22༵
͔ͭͬͨͷ • MongoDB • όοΫΤϯυɻϞμϯʂ 20124݄22༵
͔ͭͬͨͷ • MongoDB • όοΫΤϯυɻϞμϯʂ • Day TimeOfDay Λͦͷ··Ͱอ
ଘͰ͖ͳ͍ͷͰҙʂ 20124݄22༵
͔ͭͬͨͷ • MongoDB • όοΫΤϯυɻϞμϯʂ • Day TimeOfDay Λͦͷ··Ͱอ
ଘͰ͖ͳ͍ͷͰҙʂ • auth ͷֻ͔ͬͨDBʹΞΫηεग़དྷͳ ͍ʁ 20124݄22༵
͔ͭͬͨͷ • Bootstrap • ͓खܰʹ Twitter ϞυΩͷWeb UI Λʂ •
࠷৽ͷ Yesod ͔Βಉࠝ……ʁ 20124݄22༵
͔ͭͬͨͷ 20124݄22༵
͔ͭͬͨͷ • Mighty • @kazu_yamamoto ͞ΜͷHTTPαʔό • Reverse Proxy ΛͬͯαϒυϝΠϯ
Ͱӡ༻͍ͯ͠Δ 20124݄22༵
ࠓޙͷ༧ఆ • τϥόඈ͢ػೳ • ໘ͳͷͰ࡞ͬͯͳ͔ͬͨʈʈʀ • ը૾ͷຒΊࠐΈ • Ͳ͜ʹͲ͏อଘ͖͢ʁ •
JavaScript ॏ͍ͷΛԿͱ͔͢Δ • దʹಥͬࠐΜͩΒಡΈࠐΈ͕ੌ͍͘……ɻ • USTҎ֎ͷ࣌ؒଳͷαϙʔτ 20124݄22༵
ॴ • ϨϙδτϦɿhttp://gitweb.konn-san.com/ repo/Yablog/tree/master • ͜ͷϨϙδτϦ Yesod ΞϓϦ • ·ͩൃల్্ͳͷͰɺཁ͕͋Ε
GitHub ͷํʹϨϙ࡞Γ·͢ 20124݄22༵
·ͱΊ • Haskell ʹࢁͷϥΠϒϥϦ͕͋Δ • Έ߹Θ͍ͤͯΔͱ͍ͭͷؒʹ͔ ͍ͯ͠Δ • ཉ͍͠ͷΛ࡞ΕΔʂ 20124݄22༵
Any Questions? 20124݄22༵
ޚਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ 20124݄22༵