SlideShare a Scribd company logo
アメーバ事業本部

フロントエンドディベロッパー 五藤 佑典
Componentization

with Gilgamesh
- Frontrend Conference Final 2015.02.21 -
  @ygoto3_
ygoto3.com
UIコンポーネント
最近は選択肢が多いです。(迷います)
コンポーネントを揃えて

UIのコードを綺麗にしたい
angular.module(‘demo’).directive(

‘postForm’,

function () {

return {

restrict: ‘E’,

templateUrl: ‘./template.html’,

link: function () {}

};

}

);
<post-form />
stockimages / FreeDigitalPhotos.net
<body>"
<global-header />"
<key-visual />"
<post-form />"
</body>
理想
でも現実は…
このページだけラベル変えたい。
👍
<post-form"
label=“まずは試してみる”

/>
これ、このタイミングは、
あんまり主張してほしくないなー
👍
<post-form"
label=“最初の投稿”

size=“small”"
/>
数字が下がってる。明日イベント打ちたい!
あそこで使ってるアレ、アレと同じで
大丈夫なんで、ちょっとテイスト変えて
明日までにお願いしますー
👍
<post-form"
label=“最初の投稿”

size=“small”"
skin=“dark”"
/>
…………………………………
……………………
……………………………
👍
<post-form"
label=“最初の投稿”

size=“small”"
skin=“dark”"
is-followed=“true”"
stars=“12”"
limit=“1000”"
…"
…"
/>
stockimages / FreeDigitalPhotos.net
最初は綺麗だった…
汎用性は必要
どこまで必要かは
予測が難しい
Gilgamesh
to the Rescue
Gilgamesh
to the Rescue
https://github.com/sskyy/Gilgamesh
Gilgamesh
JavaScript フレームワークを拡張するライブラリ集
• テンプレート拡張ライブラリ
• データソースライブラリ
• もっと増える?
Gilgamesh
JavaScript フレームワークを拡張するライブラリ集
• テンプレート拡張ライブラリ
• データソースライブラリ
• もっと増える?
予期できなかった必要な汎用性を
復活してくれるライブラリ
サポート対象
サポート済 サポート予定 サポート予定
Gilgamesh で

コンポーネント作成(w/ Angular)
directive component
angular.module(‘demo’).directive(

‘postForm’,

function () {

return {

templateUrl: ‘./template.html’,

link: function () {}

};

}

);
angular.module(‘demo’).directive(

‘postForm’,

function () {

return {

templateUrl: ‘./template.html’,

link: function () {}

};

}

);
angular.module(‘demo’).component(

‘postForm’,

function () {

return {

templateUrl: ‘./template.html’,

link: function () {}

};

}

);
<div post-form></div>
<div class="well">"
<form class="form-horizontal">"
<fieldset class="">"
<legend>Post Form Component</legend>"
<div class="form-group">"
<label for="user" class="control-label col-xs-2">名前:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.name" placeholder="名前" />"
</div>"
</div>"
<div class="form-group">"
<label for="E-mail" class="control-label col-xs-2">Eメール:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.email" placeholder="Eメール" />"
<div class="checkbox">"
<label><input type="checkbox">購読する</label>"
</div>"
</div>"
</div>"
<div class="form-group">"
<div class="col-xs-offset-2 col-xs-2">"
<button class="btn btn-primary btn-block" ng-click="user.save()" gm-role="save">登録</button>"
</div>"
<div class="col-xs-2">"
<button class="btn btn-block" ng-click="user.cancel()" gm-role="cancel">中止</button>"
</div>"
</div>"
</fieldset>"
</form>"
</div>"
<div post-form></div>
template.html
ラベルと色が弱いな。。
ここだけはボタンを強調したい!
<div class="well">"
<form class="form-horizontal">"
<fieldset class="">"
<legend>Post Form Component</legend>"
<div class="form-group">"
<label for="user" class="control-label col-xs-2">名前:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.name" placeholder="名前" />"
</div>"
</div>"
<div class="form-group">"
<label for="E-mail" class="control-label col-xs-2">Eメール:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.email" placeholder="Eメール" />"
<div class="checkbox">"
<label><input type="checkbox">購読する</label>"
</div>"
</div>"
</div>"
<div class="form-group">"
<div class="col-xs-offset-2 col-xs-2">"
<button class="btn btn-primary btn-block" ng-click="user.save()" gm-role="save">登録</button>"
</div>"
<div class="col-xs-2">"
<button class="btn btn-block" ng-click="user.cancel()" gm-role="cancel">中止</button>"
</div>"
</div>"
</fieldset>"
</form>"
</div>"
<div post-form></div>
template.html
<div class="well">"
<form class="form-horizontal">"
<fieldset class="">"
<legend>Post Form Component</legend>"
<div class="form-group">"
<label for="user" class="control-label col-xs-2">名前:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.name" placeholder="名前" />"
</div>"
</div>"
<div class="form-group">"
<label for="E-mail" class="control-label col-xs-2">Eメール:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.email" placeholder="Eメール" />"
<div class="checkbox">"
<label><input type="checkbox">購読する</label>"
</div>"
</div>"
</div>"
<div class="form-group">"
<div class="col-xs-offset-2 col-xs-2">"
<button class="btn btn-primary btn-block" ng-click="user.save()" gm-role="save">登録</button>"
</div>"
<div class="col-xs-2">"
<button class="btn btn-block" ng-click="user.cancel()" gm-role="cancel">中止</button>"
</div>"
</div>"
</fieldset>"
</form>"
</div>"
<div post-form></div>
template.html
<div class="col-xs-2">"
<button class="btn btn-block" ng-click=“user.cancel()""
gm-role="cancel">中止</button>"
</div>
<div class="well">"
<form class="form-horizontal">"
<fieldset class="">"
<legend>Post Form Component</legend>"
<div class="form-group">"
<label for="user" class="control-label col-xs-2">名前:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.name" placeholder="名前" />"
</div>"
</div>"
<div class="form-group">"
<label for="E-mail" class="control-label col-xs-2">Eメール:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.email" placeholder="Eメール" />"
<div class="checkbox">"
<label><input type="checkbox">購読する</label>"
</div>"
</div>"
</div>"
<div class="form-group">"
<div class="col-xs-offset-2 col-xs-2">"
<button class="btn btn-primary btn-block" ng-click="user.save()" gm-role="save">登録</button>"
</div>"
<div class="col-xs-2">"
<button class="btn btn-block" ng-click="user.cancel()" gm-role="cancel">中止</button>"
</div>"
</div>"
</fieldset>"
</form>"
</div>"
<div post-form></div>
template.html
<div class="col-xs-2">"
<button class="btn btn-block" ng-click=“user.cancel()""
gm-role="cancel">中止</button>"
</div>
<div post-form></div>
<div post-form gm-tpl-partial>"
<button class="btn btn-danger btn-block" ng-click=“user.cancel()""
gm-role="cancel">解除</button>"
</div>
<div post-form gm-tpl-partial>"
<button class="btn btn-danger btn-block" ng-click=“user.cancel()""
gm-role="cancel">解除</button>"
</div>
ここはユーザーにできるだけ登録させたい。
中止ボタンは見せたくない。
<div class="well">"
<form class="form-horizontal">"
<fieldset class="">"
<legend>Post Form Component</legend>"
<div class="form-group">"
<label for="user" class="control-label col-xs-2">名前:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.name" placeholder="名前" />"
</div>"
</div>"
<div class="form-group">"
<label for="E-mail" class="control-label col-xs-2">Eメール:</label>"
<div class="col-xs-10">"
<input type="text" class="form-control" ng-model="user.email" placeholder="Eメール" />"
<div class="checkbox">"
<label><input type="checkbox">購読する</label>"
</div>"
</div>"
</div>"
<div class="form-group">"
<div class="col-xs-offset-2 col-xs-2">"
<button class="btn btn-primary btn-block" ng-click="user.save()" gm-role="save">登録</button>"
</div>"
<div class="col-xs-2">"
<button class="btn btn-block" ng-click="user.cancel()" gm-role="cancel">中止</button>"
</div>"
</div>"
</fieldset>"
</form>"
</div>"
<post-form />
template.html
<div class="col-xs-2">"
<button class="btn btn-block" ng-click=“user.cancel()""
gm-role="cancel">中止</button>"
</div>
<div post-form></div>
<div post-form gm-tpl-exclude=“cancel”></div>
思いきって中止ボタンをコンポーネントの
外に出して差別化して目立たせたい。
<button class=“btn btn-danger btn-block”"
gm-import=“postForm”>"
<div post-form id=“postForm”></div>
通常の DOM 構造では Scope 外となる
場所にもボタンを配置できる
通常の DOM 構造では Scope 外となる
場所にもボタンを配置できる
<button class=“btn btn-danger btn-block”"
gm-import=“postForm”"
ng-click=“cancel()”>"
<div post-form id=“postForm”></div>
import 元コンポーネントの
scope を参照できる。
コンポーネントの拡張
angular.module(‘demo’).component(

‘postFormSubscribe’,

function () {

return {

extend: ‘postForm’,

templateUrl: ‘./template.html’,

link: function (iScope) {

iScope.user.subscription = true;

}

};

}

);
<div post-form-subscribe></div>
postForm の link で設定された
機能も継承されている。
そのほかにも機能が多々
触ってみて
• コンポーネントの再利用性を後から高めるための便利な機能が追加できる
• ドキュメントの不備が多い
• バグにいっぱいあたる
• パフォーマンス?
• プロダクトではまだ使えない

けど…
コンポーネント・ベース開発の
ヒントも多いのでゆるく追ってみたい
Reference
• Gilgamesh

http://sskyy.github.io/Gilgamesh/
• Gilgamesh: bring Angular to the next level

http://www.reddit.com/r/programming/comments/2s5exu/
gilgamesh_bring_angular_to_the_next_level/
• Bootswatch: Free themes for Bootstrap

http://bootswatch.com/
• ECOSAVE BOOTSTRAP ENVIRONMENT TEMPLATE

http://www.binarytheme.com/ecosave-bootstrap-environment-template/
ありがとうございました

More Related Content

What's hot

第5回 HTML5minutes! LT 「ねこでもできるWebGL」
第5回 HTML5minutes! LT 「ねこでもできるWebGL」第5回 HTML5minutes! LT 「ねこでもできるWebGL」
第5回 HTML5minutes! LT 「ねこでもできるWebGL」
Shinnosuke Morimoto
 
なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
Hayato Mizuno
 
0406web creators night_DeNA
0406web creators night_DeNA0406web creators night_DeNA
0406web creators night_DeNA
DeNA_open_events
 
HTML5, きちんと。
HTML5, きちんと。HTML5, きちんと。
HTML5, きちんと。
Masataka Yakura
 

What's hot (6)

jQuery Mobile入門
jQuery Mobile入門jQuery Mobile入門
jQuery Mobile入門
 
第5回 HTML5minutes! LT 「ねこでもできるWebGL」
第5回 HTML5minutes! LT 「ねこでもできるWebGL」第5回 HTML5minutes! LT 「ねこでもできるWebGL」
第5回 HTML5minutes! LT 「ねこでもできるWebGL」
 
なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
 
0406web creators night_DeNA
0406web creators night_DeNA0406web creators night_DeNA
0406web creators night_DeNA
 
Pyramid入門
Pyramid入門Pyramid入門
Pyramid入門
 
HTML5, きちんと。
HTML5, きちんと。HTML5, きちんと。
HTML5, きちんと。
 

Viewers also liked

5分で分るflexbox
5分で分るflexbox5分で分るflexbox
5分で分るflexboxAzusa Tomita
 
Inline Layout
Inline LayoutInline Layout
Inline Layout
Takazudo
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRM
Yusuke Goto
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTV
Yusuke Goto
 
Componentization for Reality
Componentization for RealityComponentization for Reality
Componentization for Reality
Yusuke Goto
 
Make Your Presentations More Effective
Make Your Presentations More EffectiveMake Your Presentations More Effective
Make Your Presentations More Effective
Yusuke Goto
 
Slides for Nonverbal Communication
Slides for Nonverbal CommunicationSlides for Nonverbal Communication
Slides for Nonverbal Communication
Yusuke Goto
 
社内LTネタ ReactNative
社内LTネタ ReactNative社内LTネタ ReactNative
社内LTネタ ReactNative
Oguri Toru
 
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発
Yusuke Goto
 
マークアップの最適解を
見つけ出す方法
マークアップの最適解を
見つけ出す方法マークアップの最適解を
見つけ出す方法
マークアップの最適解を
見つけ出す方法
Kasumi Morita
 
リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンド
Yusuke Goto
 
AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016
康洋 板敷
 
祭りから半年たったプロジェクトにジョインしてみた
祭りから半年たったプロジェクトにジョインしてみた祭りから半年たったプロジェクトにジョインしてみた
祭りから半年たったプロジェクトにジョインしてみた
Asuka Oizumi
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについて
dena_study
 
Atomic designで助かった人たち
Atomic designで助かった人たちAtomic designで助かった人たち
Atomic designで助かった人たち
Iida Yukako
 
Introduction to Resource Hints
Introduction to Resource HintsIntroduction to Resource Hints
Introduction to Resource Hints
Shogo Sensui
 
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考えるJavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
Yusuke Suzuki
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
Yoichi Toyota
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
cch-robo
 

Viewers also liked (20)

5分で分るflexbox
5分で分るflexbox5分で分るflexbox
5分で分るflexbox
 
Inline Layout
Inline LayoutInline Layout
Inline Layout
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRM
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTV
 
Componentization for Reality
Componentization for RealityComponentization for Reality
Componentization for Reality
 
Make Your Presentations More Effective
Make Your Presentations More EffectiveMake Your Presentations More Effective
Make Your Presentations More Effective
 
Slides for Nonverbal Communication
Slides for Nonverbal CommunicationSlides for Nonverbal Communication
Slides for Nonverbal Communication
 
社内LTネタ ReactNative
社内LTネタ ReactNative社内LTネタ ReactNative
社内LTネタ ReactNative
 
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発
 
マークアップの最適解を
見つけ出す方法
マークアップの最適解を
見つけ出す方法マークアップの最適解を
見つけ出す方法
マークアップの最適解を
見つけ出す方法
 
リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンド
 
AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016
 
祭りから半年たったプロジェクトにジョインしてみた
祭りから半年たったプロジェクトにジョインしてみた祭りから半年たったプロジェクトにジョインしてみた
祭りから半年たったプロジェクトにジョインしてみた
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについて
 
Atomic designで助かった人たち
Atomic designで助かった人たちAtomic designで助かった人たち
Atomic designで助かった人たち
 
Introduction to Resource Hints
Introduction to Resource HintsIntroduction to Resource Hints
Introduction to Resource Hints
 
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考えるJavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
 

Similar to Componentization with Gilgamesh

jQuery Mobileの基礎
jQuery Mobileの基礎jQuery Mobileの基礎
jQuery Mobileの基礎
Takashi Okamoto
 
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...SwapSkills
 
第3回 Magento Cafe Plus モジュール開発入門
第3回 Magento Cafe Plus モジュール開発入門第3回 Magento Cafe Plus モジュール開発入門
第3回 Magento Cafe Plus モジュール開発入門
Hirokazu Nishi
 
WordBech Osaka No.28
WordBech Osaka No.28WordBech Osaka No.28
WordBech Osaka No.28Kite Koga
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
Kazumich YAMAMOTO
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
yoshikawa_t
 
ディレクター・ノンプログラマー目線のMovable Type
ディレクター・ノンプログラマー目線のMovable Typeディレクター・ノンプログラマー目線のMovable Type
ディレクター・ノンプログラマー目線のMovable Type
Yasufumi Nishiyama
 
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイントa-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
Kasumi Morita
 
GoogleWebsiteOptimizerの使い方:非同期タグバージョン
GoogleWebsiteOptimizerの使い方:非同期タグバージョンGoogleWebsiteOptimizerの使い方:非同期タグバージョン
GoogleWebsiteOptimizerの使い方:非同期タグバージョンVOYAGE GROUP UIO strategies section
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
Tetsuji Hayashi
 
アプリコンテスト
アプリコンテストアプリコンテスト
アプリコンテストTomonori Yamada
 
GWOの使い方~非同期タグVer~
GWOの使い方~非同期タグVer~GWOの使い方~非同期タグVer~
GWOの使い方~非同期タグVer~
Kazumasa Harumoto
 
Try Jetpack
Try JetpackTry Jetpack
Try Jetpack
Hideaki Miyake
 
最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて
airtoxin Ishii
 
Inside Movable Type
Inside Movable TypeInside Movable Type
Inside Movable Type
純生 野田
 
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6 「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
Garyuten
 
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
 
a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」
Seiko Kuchida
 
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイトZend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
清水樹
 

Similar to Componentization with Gilgamesh (20)

jQuery Mobileの基礎
jQuery Mobileの基礎jQuery Mobileの基礎
jQuery Mobileの基礎
 
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
 
第3回 Magento Cafe Plus モジュール開発入門
第3回 Magento Cafe Plus モジュール開発入門第3回 Magento Cafe Plus モジュール開発入門
第3回 Magento Cafe Plus モジュール開発入門
 
WordBech Osaka No.28
WordBech Osaka No.28WordBech Osaka No.28
WordBech Osaka No.28
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
 
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
 
ディレクター・ノンプログラマー目線のMovable Type
ディレクター・ノンプログラマー目線のMovable Typeディレクター・ノンプログラマー目線のMovable Type
ディレクター・ノンプログラマー目線のMovable Type
 
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイントa-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
 
GoogleWebsiteOptimizerの使い方:非同期タグバージョン
GoogleWebsiteOptimizerの使い方:非同期タグバージョンGoogleWebsiteOptimizerの使い方:非同期タグバージョン
GoogleWebsiteOptimizerの使い方:非同期タグバージョン
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
 
アプリコンテスト
アプリコンテストアプリコンテスト
アプリコンテスト
 
GWOの使い方~非同期タグVer~
GWOの使い方~非同期タグVer~GWOの使い方~非同期タグVer~
GWOの使い方~非同期タグVer~
 
Try Jetpack
Try JetpackTry Jetpack
Try Jetpack
 
最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて最高のツイッタークライアントを求めて
最高のツイッタークライアントを求めて
 
Form libraries
Form librariesForm libraries
Form libraries
 
Inside Movable Type
Inside Movable TypeInside Movable Type
Inside Movable Type
 
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6 「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
 
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
 
a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」
 
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイトZend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
 

More from Yusuke Goto

RUM と STM で実現する動画視聴における信頼性エンジニアリング
RUM と STM で実現する動画視聴における信頼性エンジニアリングRUM と STM で実現する動画視聴における信頼性エンジニアリング
RUM と STM で実現する動画視聴における信頼性エンジニアリング
Yusuke Goto
 
Streaming Reliability Engineering
Streaming Reliability EngineeringStreaming Reliability Engineering
Streaming Reliability Engineering
Yusuke Goto
 
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
Yusuke Goto
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
Yusuke Goto
 
conte - ABEMA's Design System
conte - ABEMA's Design Systemconte - ABEMA's Design System
conte - ABEMA's Design System
Yusuke Goto
 
ABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組み
Yusuke Goto
 
ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術
Yusuke Goto
 
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Yusuke Goto
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向
Yusuke Goto
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
Yusuke Goto
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019
Yusuke Goto
 
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Yusuke Goto
 
AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場
Yusuke Goto
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Yusuke Goto
 
AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0
Yusuke Goto
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインする
Yusuke Goto
 
KPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティKPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティ
Yusuke Goto
 
Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術
Yusuke Goto
 
既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー
Yusuke Goto
 
UI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignUI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic Design
Yusuke Goto
 

More from Yusuke Goto (20)

RUM と STM で実現する動画視聴における信頼性エンジニアリング
RUM と STM で実現する動画視聴における信頼性エンジニアリングRUM と STM で実現する動画視聴における信頼性エンジニアリング
RUM と STM で実現する動画視聴における信頼性エンジニアリング
 
Streaming Reliability Engineering
Streaming Reliability EngineeringStreaming Reliability Engineering
Streaming Reliability Engineering
 
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
 
conte - ABEMA's Design System
conte - ABEMA's Design Systemconte - ABEMA's Design System
conte - ABEMA's Design System
 
ABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組み
 
ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術
 
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019
 
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
 
AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
 
AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインする
 
KPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティKPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティ
 
Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術
 
既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー
 
UI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignUI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic Design
 

Recently uploaded

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 

Recently uploaded (14)

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 

Componentization with Gilgamesh