SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
 
Code Contracts in .NET 4
Code Contracts in .NET 4Code Contracts in .NET 4
Code Contracts in .NET 4
信之 岩永
 

Was ist angesagt? (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言語を作ってみる
 

Andere mochten auch

Andere mochten auch (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
 
株式会社カブク システム開発最前線
株式会社カブク システム開発最前線株式会社カブク システム開発最前線
株式会社カブク システム開発最前線
 

Mehr von pinmarch_t Tada

facebookアプリ開発あれこれ
facebookアプリ開発あれこれfacebookアプリ開発あれこれ
facebookアプリ開発あれこれ
pinmarch_t Tada
 

Mehr von 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)