Suche senden
Hochladen
MTDDC Meetup NAGOYA 2014-01-18 Seiichiro Hazama
•
0 gefällt mir
•
2,827 views
Seiichiro Hazama
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 245
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
MTDDC2014 Nagoya_Makino
MTDDC2014 Nagoya_Makino
Ken Makino
MTとAzureの素敵な関係 '14名古屋
MTとAzureの素敵な関係 '14名古屋
Masaki Takeda
MTDDC Meetup NAGOYA 2014 Keynote
MTDDC Meetup NAGOYA 2014 Keynote
Daiji Hirata
コンテンツとCMSの上手な付き合い方
コンテンツとCMSの上手な付き合い方
Yasuhisa Hasegawa
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
MTDDC Meetup NAGOYA 2014_LT資料
MTDDC Meetup NAGOYA 2014_LT資料
Yasufumi Nishiyama
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法
Hajime Fujimoto
ロフトワークが実践する「CMSを導入したい人とCMSを導入する人とのギャップの埋め方」の秘訣!
ロフトワークが実践する「CMSを導入したい人とCMSを導入する人とのギャップの埋め方」の秘訣!
loftwork
Empfohlen
MTDDC2014 Nagoya_Makino
MTDDC2014 Nagoya_Makino
Ken Makino
MTとAzureの素敵な関係 '14名古屋
MTとAzureの素敵な関係 '14名古屋
Masaki Takeda
MTDDC Meetup NAGOYA 2014 Keynote
MTDDC Meetup NAGOYA 2014 Keynote
Daiji Hirata
コンテンツとCMSの上手な付き合い方
コンテンツとCMSの上手な付き合い方
Yasuhisa Hasegawa
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
MTDDC Meetup NAGOYA 2014_LT資料
MTDDC Meetup NAGOYA 2014_LT資料
Yasufumi Nishiyama
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法
Hajime Fujimoto
ロフトワークが実践する「CMSを導入したい人とCMSを導入する人とのギャップの埋め方」の秘訣!
ロフトワークが実践する「CMSを導入したい人とCMSを導入する人とのギャップの埋め方」の秘訣!
loftwork
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Weitere ähnliche Inhalte
Empfohlen
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Empfohlen
(20)
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
MTDDC Meetup NAGOYA 2014-01-18 Seiichiro Hazama
1.
Movable Type 6
で できること(仮) SixApart KK Movable Type Engineer Seiichiro Hazama
2.
改め
3.
Data API で 遊ぼう(仮) SixApart
KK Movable Type Engineer Seiichiro Hazama
4.
発表させて 頂きます。
5.
はじめまして。
6.
間(はざま) 誠一郎と 申します。
7.
Movable Type エンジニア です。
8.
ネットでは 太鉄(たいてつ) という名前で 活動しています。
9.
MT4i の 中の人です。 (MT4i については 後述)
10.
まずは 自己紹介 がわりに、
11.
私と Movable Typeの 出会いの話を させてください。
12.
私が Movable Type と 出会ったのは
13.
2002年11月頃
14.
カテゴリ分けの できる 日記スクリプトを 探していて、
15.
Movable Typeと 出会う
16.
まだ 「ブログ」という 言葉も 無い頃
17.
「ウェブログ」 なのか 「ブログ」 なのか
18.
そんな議論が なされていた 時代のこと。
19.
version は確か 2.51 とか
2.52 とか
20.
そしてこの頃の Movable Type には
21.
日本語版など 存在せず
22.
日本語化 する為には
23.
有志による パッチを 適用する必要が ありました。
24.
Japanese Language Pack http://uva.jp/dh/mt/archives/000190.html
25.
daiji hirata
26.
そして 2003年7月
27.
バレーボールの ブログを 始める
28.
翌年が アテネ五輪
29.
女子バレーの 復興ムードに乗り
30.
そこそこの PVを 稼ぎ
31.
なんとなく ブログブームに 乗っかった
32.
その年末
33.
その年の ベストblogを 選出する
34.
blog of the
yeah! 2003 が開催され、
35.
その スポーツ部門に
36.
何故か私の ブログが ノミネートされる という事故発生。
37.
のこのこと 会場へ でかけ、
38.
惜しくも(?) 受賞は 逃すが
39.
ここで 人生を変える 出会いをする
40.
誰に会ったのか というと
41.
daiji hirata
42.
Japanese Language Packで お世話になって いたので
43.
挨拶して 名刺交換させて 頂いた
44.
これが 縁で
45.
その約2年半後の
46.
2006年6月
47.
シックス・アパートへ 転職
48.
Movable Typeが 縁で 転職したので
49.
当然
50.
Movable Type を 担当することに なる
51.
と 思うじゃ ないですか
52.
履歴書にも
53.
「MovableType やりたい」
54.
って 書きましたし。
55.
ところが その履歴書を 見た 面接担当者
56.
daiji hirata
57.
「Movable Type じゃなきゃ だめですか?」
58.
とか 言うんですよ。
59.
咄嗟に
60.
「いや かまいません。 なんでも やります!」
61.
って 応えたん ですけど、
62.
内心、
63.
「え」
64.
って感じでした。
65.
そんな経緯で、
66.
2006年~2010年
67.
TypePad (現Lekumo Business Blog) 担当でした。
68.
そして 2011年~2012年
69.
Lekumo キャンペーン ビルダー を担当。
70.
そして 2012年10月
71.
遂に
72.
満を持して
73.
Movable Type 担当へ。
74.
使う側から
75.
作る側に。
76.
文句 言う側から
77.
言われる側に なりました。
78.
しかし 開発担当 エンジニア である前に
79.
一ユーザーでも あるわけなので、
80.
自分でも より 使いたく なるような
81.
そんな 魅力的な製品に
82.
皆さんと一緒に 育てて 行けたらなと 思っております。
83.
閑話休題
84.
さて本題へ
85.
Movable Type の 長所と言えば 長らく
86.
静的コンテンツの 生成
87.
と 言われてきました
88.
もちろん、 それは MT6 に おいても 顕在で
89.
それに対する 一つの回答が
90.
2014年01月15日に リリースされた
91.
新しい Movable Type Advanced の
92.
サーバー 配信機能です。
93.
MT で生成された 静的コンテンツを 外部のサーバーへ 配信して 公開できる機能
94.
95.
公開サーバーと アプリケーション サーバーを 分離したり、
96.
その公開サーバーを ロード バランシング したり、
97.
ステージング 環境として 使ったり、
98.
コンテンツの バックアップ元 として 利用したり。
99.
静的コンテンツ としての長所を 最大活用する 機能が、
100.
サーバー配信 機能なんです。
101.
これがまず、 CMSプラットホーム としての MT6 の 回答の一つ。
102.
そして もう一つの 回答が、
103.
Data API です。
104.
Web を 取り巻く環境は
105.
日々変化 しています。
106.
ユーザーの 環境は
107.
PC スマートフォン タブレット 携帯電話 etc...
108.
様々。
109.
これまでは 必死に
110.
それらの環境に 最適な コンテンツを
111.
サーバーサイドで 用意しようと 躍起になっていた
112.
昨今のトレンド
113.
サーバーサイド では
114.
REST API などで
115.
データを 配信する だけ
116.
コンテンツの 生成は
117.
データを 受け取った
118.
クライアント (Web ブラウザ) 側で
119.
デバイスに 合わせて 構築する
120.
それに対する 回答が
121.
Data API なんです
122.
さて、
123.
皆さんは
124.
MT4i
125.
って ご存知でしょうか
126.
MT4i を 知ってる人は 挙手 ノシ
127.
知らない 人の為に ざっくり 説明すると
128.
MT = Movable
Type 4 = for i = i-mode
129.
当時 主流だった i-mode
130.
しかし前述の
131.
Japanese Language Pack http://uva.jp/dh/mt/archives/000190.html
132.
daiji hirata
133.
UTF-8 or EUC-JP を選択する 必要があり
134.
EUC-JPを 選択していた
135.
i-modeは
136.
Shift_JISしか 理解できない
137.
さて どうしよう
138.
無いなら
139.
作ってしまえ
140.
で できたのが MT4i でした
141.
なにを しているかというと
142.
MT::Objectで データを取得
143.
文字コードを Shift_JISに変換
144.
全角カタカナを 半角カタカナに 変換 (データ量削減)
145.
指定バイト数で ページネーション
146.
絵文字の 入出力
147.
なんか それっぽい レイアウトで 出力
148.
コメントも 投稿 できるよ
149.
適用すると
150.
これが
151.
こんな風に
152.
結構 色んな方に 使って頂きました
153.
で、
154.
Data API で 何か作ると 考えた時に
155.
まず最初に 思いついたのが
156.
Data API を 使って MT4i
を 作り直すこと
157.
実は過去、
158.
XML-RPC API で チャレンジ したことがあった
159.
しかし XML-RPC API は あくまで 編集用
160.
Entryの Statusが 取れない (公開or下書)
161.
コメントが 投稿できない
162.
など、
163.
様々な 問題に直面し 断念
164.
でも
165.
Data::APIなら できるよね
166.
できるんじゃ ないかな
167.
ということで 作ってみた
168.
DEMO
169.
AngularJS + Bootstrap で開発
170.
当初は jQuery Mobile で チャレンジ
171.
動的コンテンツに 向いてないかも…
172.
そこで なにやら 流行ってるらしい AngularJS
173.
所謂 Javascript の MVC フレームワーク
174.
長所は
175.
Model View Controller が分離できて
176.
比較的 見通しの良い コードが 書けること
177.
かつ
178.
非エンジニアでも 使える (分かり易い)
179.
と 言われている模様
180.
そして
181.
Data API との 相性も 良い
182.
さて
183.
開発中に Data API の 問題を 一つ発見
184.
Entries: get で 取って来た body(本文)及び more(続き)に
185.
Text Filter (フォーマット)が 適用されていない
186.
リッチテキストで 書いていれば 問題ないが
187.
MarkDown や 改行を変換、 独自の Filter
など 使っていると
188.
Filter 適用前の 素の Text
が 帰ってくる
189.
これは困る
190.
こう表示して 欲しいのに
191.
改行が 無視されちゃう
192.
そこで
193.
callback ですよ
194.
Data API は callback
を 使って
195.
カスタマイズが 可能です
196.
post_run_data_api. get_entry にて、
197.
API が値を返す前に Filter を適用する
198.
すると
199.
さて、 どのように 表示されるか。
200.
こうだった 戻り値が
201.
<p>さて、</p> <p>どのように</p> <p>表示されるか。</p>
202.
こうなって 返ってくるように なりました
203.
また、
204.
Entries: get の 返す Object
には
205.
next や previous が 無く
206.
Newer や Older の ボタン
207.
これ
208.
が 実装できない
209.
ので、
210.
これも callback を 使用し、
211.
nextId と previousId という field
を
212.
Entries: get の 戻り値に 追加しました。
213.
このように Data API は
214.
callback を 駆使して
215.
様々な用途に 柔軟に対応 できる
216.
実は、
217.
独自の Endpoint も 生やせる?
218.
まだ 試してない けど。
219.
ではまとめ。
220.
サーバーサイドで なんでもかんでも コンテンツを生成 するのではなく、
221.
サーバーは データを 返すだけ、
222.
コンテンツの構築は クライアント サイドで、
223.
というのが 今のトレンド というのは 前述の通り。
224.
だからこそ、 AngularJS のような Javascript の フレームワーク が
225.
重宝がられて いる。
226.
そんな時代に
227.
Movable Type が
228.
Data API を 実装したのは
229.
まさに時代の 要求であり、
230.
これからの Movable Type の 歴史は
231.
Data API の歴史と なって行くのだ ろうなと、
232.
エンジニアとしても ユーザーとしても ファンとしても、
233.
感じている 次第です。
234.
そんな Data API
で 皆さん、
235.
是非是非 遊んで みてください。
236.
作るのは、 なんでも 良いと思います。
237.
最初は 個人で 欲しいなと 思ったもので。
238.
MT4i も 最初は そうでした。
239.
そうやって 色んな人の 色んな何かが、
240.
たくさん 出てくることを 願っています。
241.
以上、 ご清聴 ありがとう ございました。
242.
ちなみに さっきの アプリは
243.
MT4i の 焼き直しと 言いつつ
244.
携帯電話では 動きません。
245.
おしまい
Jetzt herunterladen