SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Backboneの
Model と Collection
ryuma tsukano
jsCafe8
目次
● MV*の振り返り
● localstorage
● Model
○ extend
○ メソッド
○ 初期化/初期値
○ 属性操作
○ CRUD
○ id/cid/id attribute
○ validate
○ event
● Collection
○ modelとの関連
○ ソート
○ 基本操作
○ underscoreから委譲されたメソッド
○ chain
○ CRUD
○ event
BackboneのMV*
BackboneのMV* (公式page+補足)
● Model
○ ビジネスロジックに必要なデータの集まり
○ rails等のmodelと同じイメージ。
● Collection
○ クライアント側のモデルのグループ。
○ ソートやフィルターや集計ロジックを書く。
● Router
○ URLと関数を繋ぐ
○ railsのroutes.rb + controller action
● View
○ ロジック込みで再利用できるUIの小片。
○ 玉に、(常ではないが)modelと関連付く
● Template(client side)
○ HTMLの固まり
○ railsの .html.erb view
今日はlocalstorageを使う
html5のlocalstorage
自分自身のPC内にdata(Key&Value)を蓄積する仕組み
Backbone.localstorage
backboneでlocalstorage使う為のplugin有り
https://github.com/jeromegn/Backbone.localStorage
■HTML
<script type="text/javascript" src="backbone.js"></script>
<script type="text/javascript" src="backbone.localStorage.js"></script>
■JS
SomeCollection = Backbone.Collection.extend({
localStorage: new Backbone.LocalStorage("SomeCollection")
});
また手を動かしましょう
html作るの面倒臭いので、
既にlocalstorage+Backbone有る環境で
chrome devtoolsのconsloleで試そう
=>Backboneのtodo
適宜ソース試してみてね。
model
Backboneのmodel
基本文法
//クラスのようなもの ※以降クラスと略
var MyModel = Backbone.Model;
//インスタンスのようなもの ※以降インスタンスと略
var model = new MyModel;
※var model = new MyModel({ name : "test" })のように初期値を指定できる。
extend
extend関数に独自のメソッドを入れて独自のクラスを作る
● Backboneのextend inspired by google closure
○ = underscoreの_.extend
■ = JS継承パターン、プロパティのコピー
var MyModel = Backbone.Model.extend({ 独自の処理 });
var model = new MyModel;
メソッド
● インスタンスメソッド:インスタンスで使える
● スタティックメソッド:クラスで使える
● インスタンス変数、スタティック変数も同じ
var MyModel = Backbone.Model.extend(
{インスタンスメソッド : function () { ... } } ,
{スタティックメソッド : function () { ... } }
);
MyModel.スタティックメソッド
var my_model = new MyModel;
my_model.インスタンスメソッド
初期化
● インスタンス時のnew Model(attr, opt)
● =>クラスの
○ initialize内関数()
var Human = Backbone.Model.extend({
initialize : function () {
console.log('initialize now! ');
}
});
var human = new Human;
// => initialize now !
初期値
default : デフォルト値を入れる
● newの引数内の初期値に無い項目を埋めてくれる
● ※objectを入れる場合、関数にしないと他のinstanceにも影響
●
●
●
● initialize と defaultの違い★
○ initialize : parameter自体を元に処理書ける(動的なデフォルト値)
○ default : default値=>与えたparamで上書き(静的なデフォルト値)
var Human = new Backbone.Model.extend({
defaults : {
"name" : "taro",
"age" : "20"
}
});
var defaultman = new Human;
defaultman.attributes // =>{"name": "taro", "age":20}
var yamada = new Human({"name":"yamada"})
yamada.attributes // => {"name":"yamada", age:20}
var hanako = new Human({"name":"hanako", "age":18})
hanako.attributes // {"name":"hanako", "age":18}
属性
● get/set:取得/格納
● has:確認
● attributes:全体の値の取得
var human = new Backbone.Model;
human.set('name', 'Yamada');
human.set('age', 18);
// ちなみに、human.set({"name":"Yamada", "age":18})とも書ける
human.get('age'); // 18
human.has('age'); // true
human.attributes; // {"age": 18}
CRUD:
● 作成更新:save(=>jqueryの$.ajax通信)
○ isNew(※後述)で作成/更新(post/put)分けてる ※Rest詳細は次回
● 読み込み:fetch
● 削除:destroy
var Human = Backbone.Model.extend({
localStorage : new Backbone.LocalStorage("ACollection")
//この書き方間違ってます。本来 collectionで使うべき。あくまで説明用に使ってます。
})
var human = new Human;
human.set({"name":"taro"});
human.save(); // この2行をhuman.save({"name":"taro"})でもいける
var another = new Human({"id": human.id});
another.fetch();
another.attributes; // => name:taro
id
● id : データのID
○ isNew()は、このidの有無で判別(id無ければisNew=true)
● cid : モデル作成時にbackboneが発番。
○ 保存してないのでid無いが、Viewに存在する場合扱い易くする為
● idAttribute : サーバーから提示されたIDがどれか示す。
○ デフォルトはid。例えば、mongodbなら_idにする。
var Human = Backbone.Model;
var human = new Human({"name":"taro"});
console.log("id : " + human.id);
console.log("cid : " + human.cid); // c1
console.log("isNew : " + human.isNew() ); // true idが無いから
human.set("id":123)
console.log("isNew : " + human.isNew() ); // false idが有るから
validation
model.validate(attr, opt)=値のチェック
戻り値
● 正常:戻り値なし
● 異常:戻り値あり(エラーobj/msg等)
validateするtiming
● save前に必ず
● set時に{validate:true}付けた時に
○ ※Parseはsave内でvalidate無い?
エラー時の動作
● saveしない
○ setでvalidateした時はsetしない
● invalidイベントの引き金を引く
● validationErrorプロパティが着く
複数ある時はerr msg等1つのobjにまとめて最後にreturnしないと全部出ない
var Human = Backbone.Model.extend({
validate : function (attrs, options) {
if (!attrs.age) {
return "you need write age";
}
}
})
var noage = new Human;
noage.set({"name": "yamada"},
{"validate":"true"});
console.log(noage)
// => validateErrorプロパティがある
model間の参照関係
1:n等の関連付けの方法が一番気になりますよね。
=>Backboneには、この仕組み無い。
選択肢
● 1の方にnの内容も埋める
○ メリット:扱い楽チン
○ デメリット:階層が深くなると管理が大変
● RDBみたいに、nの方にid入れる
○ メリット:再利用性高い
○ デメリット:取得処理が冗長/煩雑になる可能性
使うstorageによっても制約条件が異なるのでcase by case
(ex. mongodbはjoinが無い)
plugin有るみたい
● backbone-relational
● 他にも幾つか類似plugin有り
ModelのEvent
※Event自体の詳細は次の回にお任せ
元々Modelに以下のイベントが仕込まれている
● add : collectionに追加された時
● remove :
● change : [attr] 値が変わった時
● destroy :
● request :
● sync :
● error :
● invalid : validateして失敗した時
赤=よく使う
var Human = Backbone.Model.extend({
initialize : function () {
this.on('change', this.show_msg, this);
},
show_msg : function() {
console.log('Human is now changing');
}
});
var human = new Human({"age":31});
human.set("age",18);
collection
Backboneのcollection
コレクション=複数のデータが入る
基本的な使い方はmodelと一緒
● extendする
● クラスとインスタンスがある
var MyCollection = Backbone.Collection.extend({ ... }) // この中に独自処理書く
collection = new MyCollection([
{ id:1, "name":"a"},
{ id:2, "name":"b"}
])
collection.models; // {id:1, "name":"a", id:2, "name":"b"}
基本操作
● 追加 : add
● 取得 : get(id or cid) / where({key:value}) / at(index)
● 全部取得:models
● 削除:remove(target)
var People = Backbone.Collection.extend();
var japanese = new People;
japanese.add({"id":1, "name":"taro"});
japanese.add({"id":2, "name":"hanako"});
japanese.get(1); // {"id":1, "name":"taro"}
japanese.where({"name":"taro"}); // {"id":1, "name":"taro"}
japanese.models(); // {"id":1, "name":"taro"}, {"id":2, "name":"hanako"}
var yamada_taro = japanese.at(0);
japanese.remove(yamada_taro);
modelとの関係付け
modelに指定
var Person = Backbone.Model;
var People = Backbone.Collection.extend({
model : Person
});
var japanese = new People;
japanese.add(new Person({"name":"yamada"}));
japanese.add([
new Person({"name":"tanaka"}),
new Person({"name":"yoshida"})
]);
japanese.models
ソート
3通り書き方あり
● model.get(カラム)
● 1 / -1を返して並び替え
● カラムを指定
var People = Backbone.Collection.extend({
// 3通りの書き方あり(全部一緒)
comparator : function(model){
return model.get("id");
}
comparator : function(a,b){
return a.get('id') < b.get('id') ? -1 : // aがbより前の時-1
a.get('id') > b.get('id') ? 1 : 0 // bがaより前の時1
}
comparator : 'id'
});
underscoreから委譲された関
数
● forEach : よくあるイテレータ
● map/pluck/find等役立つ関数いっぱいある
○ rubyと同じ感覚で操作できる
var People = Backbone.Collection;
japanese = new People([
{"name" : "yamada"},
{"name" : "tanaka"}
]);
japanese.forEach(function(model){
console.log(model.get('name'));
})
chainメソッド
.chain. ... .value() : underscoreからのメソッドチェーン(無いとArray)
var People = Backbone.Collection;
var people = new People([
{"name":"yamada", "age":31, blood : "A"},
{"name":"tanaka" , "age": 18, blood : "B"},
{"name":"yoshida" , "age" : 25, blood : "A"}
])
// =======================================
var a_person = people.chain()
.filter(function(person) {
return person.get('blood') == "A"; // A型のデータを抽出
})
.max(function(person){
return person.get("age"); // ageが最大のものを抽出
})
.value(); // 2つの条件を満たしたyamadaさんがとれるはず
console.log(a_person.attributes);
CRUD
● 追加:create
● 取得:fetch
○ ※ちなみに、syncは次回!Restと一緒に見ます!
var People = Backbone.Collection.extend({
localStorage : new Backbone.LocalStorage("PeopleCollection")
})
var people = new People;
people.create({"name":"taro"});
people.create({"name":"hanako"});
var another = new People;
people.fetch(); // {"name": "taro"},{"name": "hanako"}
console.log(people.models)
collectionのevent
● add :
● remove :
● reset :
● sort :
● destroy :
さっきのmodelのイベントと一緒。
使い方含め、次のEvent参考。
model/collectionは終わり
お次はview/event

Más contenido relacionado

La actualidad más candente

EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトEWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトKiyoshi Sawada
 
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019Masaru Mizuochi
 
Html canvas shooting_and_performanceup
Html canvas shooting_and_performanceupHtml canvas shooting_and_performanceup
Html canvas shooting_and_performanceupYohei Munesada
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnKoji Ishimoto
 
Canvas de shooting 制作のポイント
Canvas de shooting 制作のポイントCanvas de shooting 制作のポイント
Canvas de shooting 制作のポイントYohei Munesada
 
EWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクト
EWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクトEWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクト
EWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクトKiyoshi Sawada
 
三角関係になったときの対処法
三角関係になったときの対処法三角関係になったときの対処法
三角関係になったときの対処法Yachiyo Suzuki
 
IaaS を活用した 情報セキュリティ演習環境の設計と実装
IaaS を活用した情報セキュリティ演習環境の設計と実装IaaS を活用した情報セキュリティ演習環境の設計と実装
IaaS を活用した 情報セキュリティ演習環境の設計と実装Daisuke Kotani
 
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいAngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいYosuke Onoue
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングAtsushi Tadokoro
 
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトEWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトKiyoshi Sawada
 
enchant.jsでゲーム制作をはじめてみよう
enchant.jsでゲーム制作をはじめてみようenchant.jsでゲーム制作をはじめてみよう
enchant.jsでゲーム制作をはじめてみようRyota Shiroguchi
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BAtsushi Tadokoro
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話Moriyoshi Koizumi
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回Noritada Shimizu
 
Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回Ryo Suzuki
 

La actualidad más candente (20)

EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトEWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
 
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
 
Actor&stm
Actor&stmActor&stm
Actor&stm
 
機械学習
機械学習機械学習
機械学習
 
Arctic.js
Arctic.jsArctic.js
Arctic.js
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Html canvas shooting_and_performanceup
Html canvas shooting_and_performanceupHtml canvas shooting_and_performanceup
Html canvas shooting_and_performanceup
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
 
Canvas de shooting 制作のポイント
Canvas de shooting 制作のポイントCanvas de shooting 制作のポイント
Canvas de shooting 制作のポイント
 
EWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクト
EWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクトEWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクト
EWD 3トレーニングコース#21 GlobalストレージのJavaScript用抽象化-(b) JavaScriptの永続オブジェクト
 
三角関係になったときの対処法
三角関係になったときの対処法三角関係になったときの対処法
三角関係になったときの対処法
 
IaaS を活用した 情報セキュリティ演習環境の設計と実装
IaaS を活用した情報セキュリティ演習環境の設計と実装IaaS を活用した情報セキュリティ演習環境の設計と実装
IaaS を活用した 情報セキュリティ演習環境の設計と実装
 
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいAngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトEWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
 
enchant.jsでゲーム制作をはじめてみよう
enchant.jsでゲーム制作をはじめてみようenchant.jsでゲーム制作をはじめてみよう
enchant.jsでゲーム制作をはじめてみよう
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回
 
Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回
 

Similar a Backbone model collection (jscafe 8)

Parse.comと始めるBackbone.js入門(jscafe7)
Parse.comと始めるBackbone.js入門(jscafe7)Parse.comと始めるBackbone.js入門(jscafe7)
Parse.comと始めるBackbone.js入門(jscafe7)Ryuma Tsukano
 
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会Yukihiro Kitazawa
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングkunihikokaneko1
 
Angular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべるAngular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべるMasashi Haga
 
怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミングnagoya313
 
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.Yuki Higuchi
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話infinite_loop
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
PL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database AnalyticsPL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database AnalyticsKohei KaiGai
 
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」  hokuriku.net vol.11 (2013年1月26日)「Windows 8 ストア アプリ開発 tips」  hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)Fujio Kojima
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-Takakiyo Tanaka
 
Tide - SmalltalkでSPA
Tide - SmalltalkでSPATide - SmalltalkでSPA
Tide - SmalltalkでSPAMasashi Umezawa
 

Similar a Backbone model collection (jscafe 8) (20)

Parse.comと始めるBackbone.js入門(jscafe7)
Parse.comと始めるBackbone.js入門(jscafe7)Parse.comと始めるBackbone.js入門(jscafe7)
Parse.comと始めるBackbone.js入門(jscafe7)
 
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
 
Teclab3
Teclab3Teclab3
Teclab3
 
emc++ chapter32
emc++ chapter32emc++ chapter32
emc++ chapter32
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
 
Angular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべるAngular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべる
 
怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミング
 
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
Map
MapMap
Map
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
PL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database AnalyticsPL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database Analytics
 
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」  hokuriku.net vol.11 (2013年1月26日)「Windows 8 ストア アプリ開発 tips」  hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
 
Try Jetpack
Try JetpackTry Jetpack
Try Jetpack
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
 
IgGrid 入門編
IgGrid 入門編IgGrid 入門編
IgGrid 入門編
 
Tide - SmalltalkでSPA
Tide - SmalltalkでSPATide - SmalltalkでSPA
Tide - SmalltalkでSPA
 

Más de Ryuma Tsukano

最近のTDDネタをカジュアルに
最近のTDDネタをカジュアルに最近のTDDネタをカジュアルに
最近のTDDネタをカジュアルにRyuma Tsukano
 
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決までRyuma Tsukano
 
関数型プログラミング in javascript
関数型プログラミング in javascript関数型プログラミング in javascript
関数型プログラミング in javascriptRyuma Tsukano
 
end to end testing(jscafe15)
end to end testing(jscafe15)end to end testing(jscafe15)
end to end testing(jscafe15)Ryuma Tsukano
 
introduction to Marionette.js (jscafe14)
introduction to Marionette.js (jscafe14)introduction to Marionette.js (jscafe14)
introduction to Marionette.js (jscafe14)Ryuma Tsukano
 
Sass introduction (jscafe 10)
Sass introduction (jscafe 10)Sass introduction (jscafe 10)
Sass introduction (jscafe 10)Ryuma Tsukano
 
公式page改ざんで学ぶjQuery入門 (jscafe7)
公式page改ざんで学ぶjQuery入門 (jscafe7)公式page改ざんで学ぶjQuery入門 (jscafe7)
公式page改ざんで学ぶjQuery入門 (jscafe7)Ryuma Tsukano
 
BDD by Jasmine (jscafe 13)
BDD by Jasmine (jscafe 13)BDD by Jasmine (jscafe 13)
BDD by Jasmine (jscafe 13)Ryuma Tsukano
 
Rails A/B testing by split gem
Rails A/B testing by split gemRails A/B testing by split gem
Rails A/B testing by split gemRyuma Tsukano
 

Más de Ryuma Tsukano (9)

最近のTDDネタをカジュアルに
最近のTDDネタをカジュアルに最近のTDDネタをカジュアルに
最近のTDDネタをカジュアルに
 
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
 
関数型プログラミング in javascript
関数型プログラミング in javascript関数型プログラミング in javascript
関数型プログラミング in javascript
 
end to end testing(jscafe15)
end to end testing(jscafe15)end to end testing(jscafe15)
end to end testing(jscafe15)
 
introduction to Marionette.js (jscafe14)
introduction to Marionette.js (jscafe14)introduction to Marionette.js (jscafe14)
introduction to Marionette.js (jscafe14)
 
Sass introduction (jscafe 10)
Sass introduction (jscafe 10)Sass introduction (jscafe 10)
Sass introduction (jscafe 10)
 
公式page改ざんで学ぶjQuery入門 (jscafe7)
公式page改ざんで学ぶjQuery入門 (jscafe7)公式page改ざんで学ぶjQuery入門 (jscafe7)
公式page改ざんで学ぶjQuery入門 (jscafe7)
 
BDD by Jasmine (jscafe 13)
BDD by Jasmine (jscafe 13)BDD by Jasmine (jscafe 13)
BDD by Jasmine (jscafe 13)
 
Rails A/B testing by split gem
Rails A/B testing by split gemRails A/B testing by split gem
Rails A/B testing by split gem
 

Último

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
 
論文紹介: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
 
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
 
論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (9)

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」の紹介
 
論文紹介: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
 
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
 
論文紹介: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...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Backbone model collection (jscafe 8)