SlideShare a Scribd company logo
2015.4.29
GDGKobe Tada Satoshi
ただ さとし
Twitter : @pinmarch_t
Bioinformatics関係の仕事しています
(Perl, R, RStudio, etc.)
日常(業務)では(まだ)jQuery使ってます
話すこと
• AngularJS 1.x系
(ご存知の方にはおさらい程度です)
話さないこと
• Angular2関連
(別の方が話しますので)
 https://angularjs.org からダウンロード
またはCDNへリンク(最新安定版は 4/29現在1.3.15)
入力した文字を表示する。
単純に表示するだけではおもしろくないの
で、塩基配列のreverse complement(逆相補配
列)を表示 : 「フィルター」を使う
GAATTC  GAATTC
入力した文字を表示する。
単純に表示するだけではおもしろくないの
で、塩基配列のreverse complement(逆相補配
列)を表示 : 「フィルター」を使う
GAATTC  GAATTC
(変わってない!でも正しい)
AGAATTC  GAATTCT
app.js
ここでrevcomp
フィルターを定義
index.html
Outputのところで
revcompフィルターを
使用
 デバッグ環境は入れていなくても、
”ある程度は親切”に表示してくれる。
(でもバージョンがちゃんと対応してないし・・・)
※ filter.jsなどに分けて記述することが可能
 二重置換のバグが存在
 バグを回避し、
ATGC以外は”N”を返すように変更
 匿名関数でフィルターを作成してもよい
Before
After
index.html
ng-app=“app”を指定
(今回の例では)
Controller
• 使っていない
View
• データバインディング
 {{}}(double-curly syntax interpolation)
 ng-bindディレクティブ
Model
• ng-modelディレクティブ
=
AngularJSの難解便利すぎる用語
• 「ディレクティブ」とついているものがたくさん
• 独自に定義できる要素や属性
• 挙動を設定することができる
Wikipedia: ディレクティブ
 PerlのTemplate Toolkitライブラリにも
ディレクティブはある
http://www.template-toolkit.org/docs/manual/Directives.html
INSERT INCLUDE PROCESS
 ng-view
WRAPPER BLOCK
 カスタムディレクティブ
IF  ng-if
FOREACH  ng-repeat
etc.
DOM操作
(ng-bind, ng-view, ng-if, ng-repeat …)
イベント
(ng-click, ng-mouseenter, ng-focus …)
Form
(ng-model, input[], ng-list, ng-options, ng-disabled …)
その他
(ng-app, ng-init, ng-include, ng-model-options …)
カスタムディレクティブ(のちほど)
グラフを作るライブラリ: Flotr2
http://www.humblesoftware.com/flotr2/
入力したら、
入力された塩基の
分布を表示するように
コントローラーと
イベントの追加
 フィルターをfilter.jsに移した
 Flotr2ライブラリ
 ng-changeイベント
ディレクティブ
 ng-controllerディレクティブ
 Flotr2グラフ表示領域
index.html
“change_inputsequence()”
 グラフのオプションなど
 Flotr2が描画する対象要素
 Flotr2グラフ描画メソッド
 Controllerの定義
“$scope”を引数で受ける関数
 change_inputsequence イベント用関数
※モジュールの取得をする場合、
後で読み込む側のjsでは引数を
angular.module(‘app’, []) ではなく
angular.module(‘app’)とすること
追加
 ディレクティブの定義
restrict : ‘E’で要素に限定
template : 置き換える中身のテキスト
Before
After
app.js
index.html
HTML5仕様ではカスタム属性名には
“data-”、カスタム要素名には”x-”を
接頭辞として付与できる。
ディレクティブの名前にmyDirective
(camel case)とすると、HTML上では
my-directive/my_directive/data-my-
directive/x:my-directiveのようになる。
 favico.js … ファビコンを変えられる。
 サンプルがある
http://lab.ejci.net/favico.js/example-angular/#/
フィルター・カスタムフィルター
ディレクティブ
UIライブラリの呼び出し
カスタムディレクティブ
コードはGitHubに置いていますのでご自由にお試しください
https://github.com/pinmarch/gdgkobe-20150429

More Related Content

What's hot

Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
 
Code Contracts の紹介
Code Contracts の紹介Code Contracts の紹介
Code Contracts の紹介
ゆぽ
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
 
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
Uehara Junji
 
JavaScript基礎勉強会
JavaScript基礎勉強会JavaScript基礎勉強会
JavaScript基礎勉強会
大樹 小倉
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」yoshiaki iwanaga
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggugkimukou_26 Kimukou
 
Kotlinにお触り
Kotlinにお触りKotlinにお触り
Kotlinにお触り
Shinobu Okano
 
Test like a team.
Test like a team.Test like a team.
Test like a team.
Sachirou Inoue
 
Study Swift
Study Swift Study Swift
Study Swift
Akihiro Urushihara
 
Kotlin vs TypeScript
Kotlin vs TypeScriptKotlin vs TypeScript
Kotlin vs TypeScript
Saiki Iijima
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
Uehara Junji
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
Yoshifumi Kawai
 
Code Contracts in .NET 4
Code Contracts in .NET 4Code Contracts in .NET 4
Code Contracts in .NET 4信之 岩永
 
FlexUnit4とMockitoFlex
FlexUnit4とMockitoFlexFlexUnit4とMockitoFlex
FlexUnit4とMockitoFlex
Yasuhiro Morikawa
 
GroovyServ concept, how to use and outline.
GroovyServ concept, how to use and outline.GroovyServ concept, how to use and outline.
GroovyServ concept, how to use and outline.
Uehara Junji
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
Takahiro Yoshimura
 
Rx java x retrofit
Rx java x retrofitRx java x retrofit
Rx java x retrofit
Shun Nakahara
 
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージLaravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Koichi Sakata
 

What's hot (20)

Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
Code Contracts の紹介
Code Contracts の紹介Code Contracts の紹介
Code Contracts の紹介
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
 
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
 
JavaScript基礎勉強会
JavaScript基礎勉強会JavaScript基礎勉強会
JavaScript基礎勉強会
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
Kotlinにお触り
Kotlinにお触りKotlinにお触り
Kotlinにお触り
 
Test like a team.
Test like a team.Test like a team.
Test like a team.
 
Study Swift
Study Swift Study Swift
Study Swift
 
Kotlin vs TypeScript
Kotlin vs TypeScriptKotlin vs TypeScript
Kotlin vs TypeScript
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
 
Code Contracts in .NET 4
Code Contracts in .NET 4Code Contracts in .NET 4
Code Contracts in .NET 4
 
FlexUnit4とMockitoFlex
FlexUnit4とMockitoFlexFlexUnit4とMockitoFlex
FlexUnit4とMockitoFlex
 
GroovyServ concept, how to use and outline.
GroovyServ concept, how to use and outline.GroovyServ concept, how to use and outline.
GroovyServ concept, how to use and outline.
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
 
Rx java x retrofit
Rx java x retrofitRx java x retrofit
Rx java x retrofit
 
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージLaravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
 

Viewers also liked

Angular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべるAngular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべる
Masashi Haga
 
AngularJSについて
AngularJSについてAngularJSについて
AngularJSについて
昌生 高橋
 
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
Takuro Wada
 
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
 
3D Modeling and Printing by Python
3D Modeling and Printing by Python3D Modeling and Printing by Python
3D Modeling and Printing by Python
Takuro Wada
 
AngularJSを浅めに紹介します
AngularJSを浅めに紹介しますAngularJSを浅めに紹介します
AngularJSを浅めに紹介します
nkazuki
 
Angular js 入門介紹
Angular js 入門介紹Angular js 入門介紹
Angular js 入門介紹
wantingj
 
AngularJS入門の巻2
AngularJS入門の巻2AngularJS入門の巻2
AngularJS入門の巻2
Toshio Ehara
 
AngularJS入門の巻
AngularJS入門の巻AngularJS入門の巻
AngularJS入門の巻
Toshio Ehara
 
AngularJS入門
AngularJS入門AngularJS入門
AngularJS入門
Kenji Shirane
 
AngularJS 入門
AngularJS 入門AngularJS 入門
AngularJS 入門
Kenichi Kanai
 
Angular2
Angular2Angular2
Angular2
Kenichi Kanai
 
株式会社カブク システム開発最前線
株式会社カブク システム開発最前線株式会社カブク システム開発最前線
株式会社カブク システム開発最前線
Takuro Wada
 

Viewers also liked (13)

Angular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべるAngular.jsについてちょっとしゃべる
Angular.jsについてちょっとしゃべる
 
AngularJSについて
AngularJSについてAngularJSについて
AngularJSについて
 
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~3Dプリント×Python ~コードからアプローチする3Dプリンティング~
3Dプリント×Python ~コードからアプローチする3Dプリンティング~
 
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
 
3D Modeling and Printing by Python
3D Modeling and Printing by Python3D Modeling and Printing by Python
3D Modeling and Printing by Python
 
AngularJSを浅めに紹介します
AngularJSを浅めに紹介しますAngularJSを浅めに紹介します
AngularJSを浅めに紹介します
 
Angular js 入門介紹
Angular js 入門介紹Angular js 入門介紹
Angular js 入門介紹
 
AngularJS入門の巻2
AngularJS入門の巻2AngularJS入門の巻2
AngularJS入門の巻2
 
AngularJS入門の巻
AngularJS入門の巻AngularJS入門の巻
AngularJS入門の巻
 
AngularJS入門
AngularJS入門AngularJS入門
AngularJS入門
 
AngularJS 入門
AngularJS 入門AngularJS 入門
AngularJS 入門
 
Angular2
Angular2Angular2
Angular2
 
株式会社カブク システム開発最前線
株式会社カブク システム開発最前線株式会社カブク システム開発最前線
株式会社カブク システム開発最前線
 

More from pinmarch_t Tada

Dockerことはじめ的なはなし
Dockerことはじめ的なはなしDockerことはじめ的なはなし
Dockerことはじめ的なはなし
pinmarch_t Tada
 
SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)
SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)
SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)
pinmarch_t Tada
 
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
 
AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)
AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)
AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)
pinmarch_t Tada
 
Google Prediction APIを使う前に知っておきたい統計のはなし
Google Prediction APIを使う前に知っておきたい統計のはなしGoogle Prediction APIを使う前に知っておきたい統計のはなし
Google Prediction APIを使う前に知っておきたい統計のはなし
pinmarch_t Tada
 
facebookアプリ開発あれこれ
facebookアプリ開発あれこれfacebookアプリ開発あれこれ
facebookアプリ開発あれこれpinmarch_t Tada
 
ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)
ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)
ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)
pinmarch_t Tada
 

More from pinmarch_t Tada (7)

Dockerことはじめ的なはなし
Dockerことはじめ的なはなしDockerことはじめ的なはなし
Dockerことはじめ的なはなし
 
SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)
SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)
SNPのオープンデータを覗き見る TokyoWebmining #47 (2015.06.27)
 
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)
 
AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)
AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)
AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)
 
Google Prediction APIを使う前に知っておきたい統計のはなし
Google Prediction APIを使う前に知っておきたい統計のはなしGoogle Prediction APIを使う前に知っておきたい統計のはなし
Google Prediction APIを使う前に知っておきたい統計のはなし
 
facebookアプリ開発あれこれ
facebookアプリ開発あれこれfacebookアプリ開発あれこれ
facebookアプリ開発あれこれ
 
ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)
ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)
ふぇいすぶっくをたしなむ(2011/5/13Facebook講義資料)
 

Angularを使ってみる実例いくつか (2015/4/29 GDGKobe)