SlideShare a Scribd company logo
1 of 106
Download to read offline
佐藤 竜之介(Ryunosuke SATO)
Sapporo.jsRuby勉強会@札幌-27
はじめる
Ember.js!!
~ Getting started with Ember.js ~
2013.09.28
もっと!
提供
Sapporo.js
Community for people who like JavaScript.
自己紹介
@tricknotes
I am a software developer who
love JavaScript and Ruby.
http://tricknotes.hateblo.jp/
I love OSS
I am a contributer
of Ember.js
/*
* advertising
* about Ember.js
*
* !!Important!!
*
2013.11.11
Ember.js ハンズオン
http://www.deos.co.jp/SK010.html
https://idobata.io
Idobata
東京Node学園祭2013
2013.10.26
http://nodefest.jp/2013/
Comming soon...
札幌市中央区Ruby会議01
2014.02.08 13:00
*/
よろしく
お願いします
佐藤 竜之介(Ryunosuke SATO)
Sapporo.jsRuby勉強会@札幌-27
はじめる
Ember.js!!
~ Getting started with Ember.js ~
2013.09.28
もっと!
http://emberjs.com/
Ember.js 1.0 released!
今日の目標
* Ember.js が何かわかる
* Ruby と一緒に使うことができる
Ember.js について...
今日の話
* Ember.js って何?
* Ember.js と Ruby
今日の話
* Ember.js って何?
* Ember.js と Ruby
最近の web アプリでは、
画面遷移がなく一画面でリア
クティブに操作できるアプリ
ケーションを見る機会が増え
ました
例えば...
Travis CI
Discourse
Idobata
なんでこんなリッチなアプリ
ケーションを作るのか?
ユーザ体験
でも、作るのは大変...
jQuery でのアプローチ
* HTML + CSS + JS の密結合
* データの多重管理問題
* DOM based architecture
* global な jQuery 関数による view の密結合
* Event の開放漏れ
* DOM の開放漏れ
などなど...
大変なところ
破綻した経験があるでのは?
jQuery based
architecture
そう、とても変更に弱いのです
責務による分割
メンテナンス性!!
TodoMVC
http://todomvc.com/
Ember.js のアプローチ
Router
Controller
View
Template
Model
URL とアプリケーションの対応づけ
アプリケーションコンテキストを保持
画面表示
ブラウザに表示される部分
永続化されているオブジェクト
Router
Controller
View
Template
Model
URL
ブラウザ
1. オブジェクトを取得
2. コントローラを用意
4. テンプレートを描画
ユーザ入力
遷移
3. オブジェクトとテンプレートをバインド
Router
Controller
View
Template
Model
URL
ブラウザ
1. オブジェクトを取得
2. コントローラを用意
4. テンプレートを描画
ユーザ入力
遷移
3. オブジェクトとテンプレートをバインド
開発者は
必要な部分だけを作る
Ember.js がやっていること
必ず必要になる処理をサポート
強力な命名規約
オブジェクトと表示のバインド
DOM 管理
-> フレームワーク
オブジェクトの監視
-> フレームワーク
使ってて気持ちいいか
-> 開発者
適切な役割分担
プログラマがアプリの本質に
集中できるよう、それ以外の
部分をサポートしてくれる!!
ここまでが、Ember.js の
基本的な考え方
チェックポイント
* すごいアプリケーションを作るための
フレームワークです
* プログラマーが快適に開発することを
サポートしてくれます
「Ember.js って何?」
今日の話
* Ember.js って何?
* Ember.js と Ruby
さぁ、ここからは実際に
Ember.js をはじめてみよう!
Ruby
と一緒に
対象バージョン
Ember.js 1.0.0
2013.09.28 現在、最新の安定版
ざっくりと基礎について
-- ここから --
http://emberjs.com/
Starter kit
関連ライブラリのセットアップ
前準備
jQuery 1.10.2
Handlebars 1.0.0
Ember.js 1.0.0
アプリケーションの初期化
Account = Ember.Application.create();
http://emberjs.com/
続きは demo を
ざっくりと基礎について
-- ここまで --
http://tricknotes.github.io/demo-for-osc2013do/
Demo アプリケーション
一から始める方はこちらを!!
http://www.slideshare.net/tricknotes/getting-started-with-emberjs
はじめる Ember.js
今日は Ruby と一緒に始めます
なんで Ruby と??
コミュニティ
文化
今日は、このデモアプリをさらに
実践的にしていきましょう
ファイルを適切に分割したい
case 1
1 ファイルだとちょっと...
https://gist.github.com/tricknotes/6556505
ファイル数が増え過ぎるのも...
コンポーネントが分割されていて
も、ファイルを分けられないと、
あんまり嬉しくない
とくに template !!
ember-rails
https://github.com/emberjs/ember-rails
for rails application
Asset Pipeline
$ tree
.
!"" application.js
!"" controllers
#   !"" sheet_index_controller.js
#   $"" sheet_new_controller.js
!"" models
#   !"" order_line.js
#   $"" sheet.js
!"" router.js
!"" routes
#   !"" sheets_index.js
#   $"" sheets_new.js
$"" templates
$"" sheets
!"" index.js.handlebars
$"" new.js.handlebars
Asset Pipeline
$ tree
.
!"" application.js
!"" controllers
#   !"" sheet_index_controller.js
#   $"" sheet_new_controller.js
!"" models
#   !"" order_line.js
#   $"" sheet.js
!"" router.js
!"" routes
#   !"" sheets_index.js
#   $"" sheets_new.js
$"" templates
$"" sheets
!"" index.js.handlebars
$"" new.js.handlebars
自動で全部のファイルが結合される
(application.js)
//= require_tree .
Asset Pipeline
$ tree
.
!"" application.js
!"" controllers
#   !"" sheet_index_controller.js
#   $"" sheet_new_controller.js
!"" models
#   !"" order_line.js
#   $"" sheet.js
!"" router.js
!"" routes
#   !"" sheets_index.js
#   $"" sheets_new.js
$"" templates
$"" sheets
!"" index.js.handlebars
$"" new.js.handlebars
<scripe src=”application.js”></script>
HTML からは 1 ファイルを読むだけ
(application.js)
//= require_tree .
Asset Pipeline
$ tree
.
!"" application.js
!"" controllers
#   !"" sheet_index_controller.js
#   $"" sheet_new_controller.js
!"" models
#   !"" order_line.js
#   $"" sheet.js
!"" router.js
!"" routes
#   !"" sheets_index.js
#   $"" sheets_new.js
$"" templates
$"" sheets
!"" index.js.handlebars
$"" new.js.handlebars
handlebars はファイル
(+ディレクトリ)名を
テンプレート名としてコンパイル
Asset Pipeline
$ tree
.
!"" application.js
!"" controllers
#   !"" sheet_index_controller.js
#   $"" sheet_new_controller.js
!"" models
#   !"" order_line.js
#   $"" sheet.js
!"" router.js
!"" routes
#   !"" sheets_index.js
#   $"" sheets_new.js
$"" templates
$"" sheets
!"" index.js.handlebars
$"" new.js.handlebars
<h1>帳票一覧</h1>
{{#unless this}}
まだ帳票は作成されていません
{{/unless}}
<ul>
{{#each}}
<li>
#{{id}}:
{{date createdAt}}
{{#link-to 'sheet' this}}
内容を見る
{{/link-to}}
</li>
{{/each}}
</ul>
テンプレート単位でファイルに分割できる
ember-middleman
for static site
https://github.com/tricknotes/ember-middleman
だいたい同じ感じ
途中で飽き 作成中なので
一緒にやりたいひと募集中
Asset pipeline 強力ですね!!
ここからは Rails 前提で
進めていきます
関連ライブラリの
バージョンを管理したい
case 2
ember-source
handlebars-source
(jquery-rails)
ember-rails に含まれている!!
(application.js)
//= require jquery
//= require handlebars
//= require ember
//= require_tree .
application.js に追記するだけ
アップデートが簡単!!
bundle update で
Ember.js が更新される
Asset pipelin ++
handlebars 以外の
選択肢がほしい
case 3
「HTML のタグ書くのが面倒!!」
というひと向けに...
haml で handlebars を記述
hamlbars
https://github.com/jamesotron/hamlbars
<h1>帳票一覧</h1>
{{#unless this}}
まだ帳票は作成されていません
{{/unless}}
<ul>
{{#each}}
<li>
#{{id}}:
{{date createdAt}}
{{#link-to 'sheet'
this}}
内容を見る
{{/link-to}}
</li>
{{/each}}
</ul>
%h1 帳票一覧
= hb ‘unless this’ do
まだ帳票は作成されていません
%ul
= hb ‘each’
%li
#{hb ‘id’}:
= hb ‘date createdAt’
= hb ‘link-to “sheet” this’ do
内容を見る
jade 風に handlebars を記述
emblem-rails
https://github.com/alexspeller/emblem-rails
<h1>帳票一覧</h1>
{{#unless this}}
まだ帳票は作成されていません
{{/unless}}
<ul>
{{#each}}
<li>
#{{id}}:
{{date createdAt}}
{{#link-to 'sheet'
this}}
内容を見る
{{/link-to}}
</li>
{{/each}}
</ul>
h1 帳票一覧
unless this
まだ帳票は作成されていません
ul
each
li
#{id}:
#{date createdAt}
#{link-to “sheet” this’}
内容を見る
erb 派は
handlebars のままで!
Backend サーバを
rails で作りたい
case 4
Ember.js と API をつなぐ部分
Ember Data
Ember.Model
(他にもいろいろあるけど...)
Ember Data
空前の魔改造ブーム
生まれ変わっている途中
これからに期待!!
https://github.com/emberjs/data
API とのやりとりで、
JSON の scheme と JS の
scheme をいちいち考えるのは
けっこう手間
ActiveModel::Serializers
https://github.com/rails-api/active_model_serializers
Ember Data
+
ActiveModel::Serializers
=
なんとなくいい感じに JSON の
scheme を扱ってくれる
class SheetSerializer < ActiveModel::Serializer
attributes :id, :created_at
has_many :order_lines,
embed: :objects,
include: true
end
Account.SheetSerializer =
DS.ActiveModelSerializer.extend({
attrs: {
orderLines: {embedded: 'always'}
}
});
Ruby 側のシリアライザ
JS 側のシリアライザ
{
“sheet”: {
“id”: 6,
“created_at”: "2013-09-21T15:59:24.001Z",
“order_lines”: [{
“id”: 10,
“product_name”: "ガラナ",
“unit_price”: 120,
“count”: 10
}, {
“id”: 11,
“product_name”: "豆乳",
“unit_price”: 98,
“count”: 30
}]
}
}
やりとりされる JSON の scheme
JS 側でのオブジェクトの保存
var sheet = Account.Sheet.createRecord();
sheet.save();
Ember Date が backend サーバに
リクエストを投げて保存する
Ember アプリをテストしたい
case 5
Capybara
.
├── capybara-webkit
├── Poltergeist
│ └── teaspoon
├── selemiun-webdriver
└── (konacha)
Ruby の JS テストツールたち
Capybara
.
├── capybara-webkit
├── Poltergeist
│ └── teaspoon
├── selemiun-webdriver
└── (konacha)
Ruby の JS テストツールたち
Poltergeist
https://github.com/jonleighton/poltergeist
Poltergeist
* PhantomJS の Capybara driver
* JS の debugger が使える
* テスト実行時に JS のエラーを検知できる
* スクリーンショットが撮れる
feature 'sheet を管理できる', js: true do
scenario 'sheet を作成できる' do
visit root_path
expect(page).to have_css('h1', text: '帳票登録')
within all('#new-sheet tr')[1] do
fill_in 'productName', with: 'ガラナ'
fill_in 'unitPrice', with: '120'
fill_in 'count', with: '3'
end
expect(page).to have_css('.total', text: '360')
click_button '登録する'
expect(page).to have_css('h1', text: '帳票一覧')
expect(page).to have_css('li', text: '#1')
end
end
単体テストは...?
konacha
teaspoon
ember-testing
うーん、よくわかりません
rails 版のソースコードはこちらに
https://github.com/tricknotes/ruby-sapporo-workshop-27-demo
今日のまとめ
* Ember.js はすごいアプリケーションを
作るためのフレームワークです
* 快適に開発する手助けをしてくれます
* Ruby のツールと相性がいいです
* 開発ツールはかなり整っているで、
この機会に始めてみましょう!
今日話さなかったこと
* Ember.js 自体について
* サーバからエラーのハンドリング
* Ember Data の闇
難しいところ
* 学習コストが高い
* 日本語の情報が少ない
* そもそも 1.0 の情報が少ない
for more information...
http://emberjs.com/guides/
http://stackoverflow.com/tags/ember.js/
http://discuss.emberjs.com/
ぜひみなさんも、
Ember.js を使った
快適なアプリケーション開発を
体感してみてください!!

More Related Content

What's hot

Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話leverages_event
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Kohei Asai
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発Tatsumi Naganuma
 
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介kamiyam .
 
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」Shunsuke Watanabe
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~Ryunosuke SATO
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようYuusuke Takeuchi
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Nobuhiro Nakashima
 
jQueryで気をつけてほしいこと
jQueryで気をつけてほしいことjQueryで気をつけてほしいこと
jQueryで気をつけてほしいこと良太 増子
 
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript FrameworkNode.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Frameworkkamiyam .
 
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料Koichi Uchimura
 
Introduction for Browser Side MVC
Introduction for Browser Side MVCIntroduction for Browser Side MVC
Introduction for Browser Side MVCRyunosuke SATO
 
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルMaaya Ishida
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)pinmarch_t Tada
 

What's hot (20)

Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
 
Nodeについて
NodeについてNodeについて
Nodeについて
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Rails あるある
Rails あるあるRails あるある
Rails あるある
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発
 
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介
 
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
 
Node.js Hands-On
Node.js Hands-OnNode.js Hands-On
Node.js Hands-On
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
 
jQueryで気をつけてほしいこと
jQueryで気をつけてほしいことjQueryで気をつけてほしいこと
jQueryで気をつけてほしいこと
 
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript FrameworkNode.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
 
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料
 
Introduction for Browser Side MVC
Introduction for Browser Side MVCIntroduction for Browser Side MVC
Introduction for Browser Side MVC
 
Node js 入門
Node js 入門Node js 入門
Node js 入門
 
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
 

Similar to もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~

Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話KEISUKE KONISHI
 
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkToshiaki Maki
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発emasaka
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表Fukui Osamu
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜Yuki Minakawa
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionSatomi Tsujita
 
CSS Design and Programming
CSS Design and ProgrammingCSS Design and Programming
CSS Design and ProgrammingTaku AMANO
 
お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~Che Renkov
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925Yu Ito
 
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractTakeshi Ogawa
 
RESTとRailsスタイル
RESTとRailsスタイルRESTとRailsスタイル
RESTとRailsスタイルToru Kawamura
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法decode2016
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008Yoichiro Tanaka
 
WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話Hidetaka Okamoto
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24Kazuhiro Sera
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespacesIssei Hiraoka
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京Yu Ito
 

Similar to もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~ (20)

Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
 
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
 
CSS Design and Programming
CSS Design and ProgrammingCSS Design and Programming
CSS Design and Programming
 
お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
 
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
 
RESTとRailsスタイル
RESTとRailsスタイルRESTとRailsスタイル
RESTとRailsスタイル
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
 
scala-kaigi1-sbt
scala-kaigi1-sbtscala-kaigi1-sbt
scala-kaigi1-sbt
 
WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京
 

More from Ryunosuke SATO

Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景Ryunosuke SATO
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活をRyunosuke SATO
 
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへSocial coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへRyunosuke SATO
 
Node.jsってどうなの?
Node.jsってどうなの?Node.jsってどうなの?
Node.jsってどうなの?Ryunosuke SATO
 
アジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたことアジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたことRyunosuke SATO
 
脱レガシー化計画
脱レガシー化計画脱レガシー化計画
脱レガシー化計画Ryunosuke SATO
 
Pusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフPusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフRyunosuke SATO
 

More from Ryunosuke SATO (12)

Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
gem の探し方
gem の探し方gem の探し方
gem の探し方
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
Testable JavaScript
Testable JavaScriptTestable JavaScript
Testable JavaScript
 
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへSocial coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへ
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
Node.jsってどうなの?
Node.jsってどうなの?Node.jsってどうなの?
Node.jsってどうなの?
 
アジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたことアジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたこと
 
脱レガシー化計画
脱レガシー化計画脱レガシー化計画
脱レガシー化計画
 
Pusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフPusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフ
 
ServerSideJavaScript
ServerSideJavaScriptServerSideJavaScript
ServerSideJavaScript
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~