SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
jQueryのようにWebテストが書ける
Geb Navigator APIの紹介
第一回Geb勉強会
2015/01/31
ふじさわゆうき
2
目次
1.自己紹介
2.プレゼン概要
3.なぜNavigator APIを紹介するのか
4.サンプルコード解説の楽しみ方
5.サンプルコード解説
公式マニュアル The Book Of Gebの「4章
Interacting with content 」をもとに説明します
3
自己紹介
4
自己紹介
名前
ふじさわゆうき
現在の仕事
部署全体を技術的に底上げするチームに所属
テスト自動化、FindBugsルール化、標準開発環境
の提供、ミドルウェア検証、OutOfMemory調査&解
決、社内WIKI導入&運用など幅広く担当
経歴
高校~大学~社会人とずっとプログラム書いてます
株式投資アルゴリズム(Java)のコンテストで優秀ア
ルゴリズム賞を受賞したことがあります
なぜかMBAホルダーです
5
プレゼン概要
6
プレゼン概要
対象
これからGebを始める人
Navigator APIについて改めて学びたい人
方針
公式サイトマニュアルに従った内容とする
GitHubでNavigator APIの例を提供し、参加者にそ
のコードを理解してもらうことで、明日から仕事
ですぐに使える知識を提供する
ゴール
「便利そうだし、サンプルもあるからGebをやっ
てみよう!」と参加した人がなってくれること
「Gebってこんな使い方もできるんだ」と発見が
あること
7
なぜNavigator APIを紹介す
るのか
8
なぜNavigator APIを紹介するのか
そもそもNavigator APIって??
Gebの大きな特徴の一つでjQueryのような文法で
HTML要素を取得できるAPIのこと
詳しくはこの後のスライドで説明します
なぜ紹介するのか
WebDriverと比較して、このAPIがGebの大きなメ
リットの一つになっていると感じるため
深く知っておくべきといえる機能の一つ
9
サンプルコード解説
の楽しみ方
10
サンプルコード解説の楽しみ方
公式マニュアル The Book Of Gebの「4章
Interacting with content 」を開きます
http://www.gebish.org/manual/current/navigator.html
#interacting_with_content
この章の順番通りに説明していきます
原文と突き合わせながらプレゼンを聞いて
ください!
GebStudyのテスト対象は以下のサイト
http://www.gebish.org/
https://account.edit.yahoo.co.jp/registration
11
サンプルコード情報
GitHub URL
https://github.com/gebjp/GebStudy
テストケース
GebStudy/src/test/groovy/jp/org/gebjp/manual/
chapter4
実行環境の構築方法
http://yfj2.hateblo.jp/entry/2015/01/20/012130
バージョン
Geb: 0.10.0
Groovy: 2.3.7
12
質問はツイッターで受け付けます
@ffggss
#gebjp
につぶやいてください
プレゼン終了後にどれかに答えます
13
サンプルコード解説
14
4. The $ Function
$関数は、jQueryのような記法でNavigatorオ
ブジェクトを返す関数
Navigatorオブジェクトは、seleniumの
WebElementインタフェースを実装している
$( css selector ,≪ ≫
≪index / range ,≫
≪attribute / text matchers )≫
$("h1", 2, class: "heading")
$("div p", 0)
$("div p", title: "something")
$(title: "something")
15
4.1.2 Indexes and Ranges
コンテンツを単一で取得できる
配列で複数取得することもできる
<p>a</p>
<p>b</p>
<p>c</p>
$("p", 0).text() == "a"
$("p", 2).text() == "c"
$("p", 0..1)*.text() = ["a", "b"]
$("p", 1..2)*.text() = ["b", "c"]
16
サンプルコード
Per01_InteractingWithContentTest.groovy
HTML
107行目
115行目
109行目
17
4.1.3 Attribute and Text Matching
HTMLのAttributeとTextにマッチさせること
ができる
<p attr1="a" attr2="b">p1</p>
<p attr1="a" attr2="c">p2</p>
$("p", attr1: "a").size() == 2
$("p", attr2: "c").size() == 1
$("p", attr1: "a", attr2: "b").size() == 1
$("p", text: "p1").size() == 1
$("p", text: "p1", attr1: "a").size() == 1
18
サンプルコード
Per01_InteractingWithContentTest.groovy
HTML
aタグ全部
19
4.1.3.1 Using Patterns
パターンマッチも可能
<p attr1="a" attr2="b">p1</p>
<p attr1="a" attr2="c">p2</p>
$("p", text: ~/p./).size() == 2
$("p", text: startsWith("p")).size() == 2
$("p", text: endsWith("2")).size() == 1
20
4.1.3.1 Using Patterns
Gebで指定可能なパターンリスト
Case Sensitive Description
startsWith 指定した文字列で開始する値とマッチする
contains 指定した文字列を含む値とマッチする
endsWith 指定した文字列で終了する値とマッチする
containsWord 指定した単語(前後に半角スペースを含む文字
列)を含む値とマッチする
notStartsWith 指定した文字列で開始しない値とマッチする
notContains 指定した文字列を含まない値とマッチする
notEndsWith 指定した文字列で終了しない値とマッチする
notContainsWord 指定した単語(前後に半角スペースを含む文字
列)を含まない値とマッチする
21
サンプルコード
Per01_InteractingWithContentTest.groovy
HTML
aタグ全部
22
4.1.4 Navigators are Iterable
Navigatorオブジェクトは、Iterableインタ
フェースを実装しているのでmax(),min()の
ようなGroovyの文法を使うこともできる
<p>1</p>
<p>2</p>
$("p").max { it.text() }.text() == "2"
$("p")*.text().max() == "2"
23
サンプルコード
Per01_InteractingWithContentTest.groovy
HTML
19-49行目
24
4.2 Finding & Filtering
“find”, ”$”は子要素を検索するための関数で
ある。“filter”, ”not”は、要素を減らすための
関数である
<div class="a">
<p class="b">geb</p>
</div>
<div class="b">
<input type="text"/>
</div>
$("div").find(".b").text() == “geb”
$("div").$(".b").text() == “geb”
$("div").filter(".b").text() == “”
$(".b").not("p").text() == “”
$("div").has("p").text() == “geb”
$("div").has("input", type: "text").text() == “”
25
4.2 Finding & Filtering
Finding & Filteringのメソッドリスト
Method Description
find 指定したContentのListに対して、指定した条件に合致した
それぞれのContentの子ContentのListを取得する
$ findと同様の機能
filter 指定したContentのListから、指定した条件に合致しない
Contentを除外したListを取得する
not 指定したContentのListにから、指定した条件に合致した
Contentを除外したListを取得する
has 指定したContentのListに対して、指定した条件に合致した
子を持つcontetを取得する
closest 指定したContentから一番近くの条件に一致したcontentを
取得する
nextUntil nextUntilは、指定したContentから条件に合致するまで
List取得する。指定したContentと条件は含まない
26
サンプルコード
Per02_InteractingWithContentTest.groovy
HTML
132行目
133行目
103行目
27
4.3 Traversing
検索したコンテンツ前後のコンテンツと
マッチさせることができる
<div class="a">
<div class="b">
<p class="c"></p>
<p class="d"></p>
<p class="e"></p>
</div>
<div class="f"></div>
</div>
$("p.d").previous() // 'p.c'
$("p.e").prevAll() // ['p.c' , 'p.d]
$("p.d").next() // 'p.e'
$("p.c").nextAll() // ['p.d' , 'p.e']
$("p.d").parent() // 'div.b'
$("p.d").siblings() // ['p.c' , 'p.e']
$("div.a").children() // ['div.b' , 'div.f]
28
4.3 Traversing
Traversingのメソッドリスト
Method Description
previous 指定したcontentの一つ前を取得する
prevAll 指定したcontentの前をListで全て取得する
next 指定したcontentの一つ後を取得する
nextAll 指定したcontentのをListで全て取得する
parent 指定したcontentの親contentを取得する
siblings 指定したcontent以外をListで全て取得する
children 指定したcontentの子contentを配列で取得する
29
サンプルコード
Per03_InteractingWithContentTest.groovy
HTML
131-185行目
30
4.4 Composition
複数のNavigatorを組み合わせることができ
る。PageObjectのcontentを利用すること
で汎用化することもできる
$($("div.a"), $("div.d")) // ['div.a','div.d']
static content = {
divElement { divClass -> $('div', 'class': divClass) }
}
$(divElement('a'), divElement('d'))
31
サンプルコード
Per04_InteractingWithContentTest.groovy
HTML
131-144行目
32
4.5 Clicking
Navigator objectsは、click()を実装している
click()は、最初にマッチした要素のみ実行さ
れる
click(Class)を実行するとクリック後、Class
がセットされる
$("input.loginButton").click(LoginPage)
33
サンプルコード
Per05_InteractingWithContentTest.groovy
GebTopPage.groovy
HTML
54行目
57行目
34
4.6 Determining Visibility
Navigator objectsには、displayedプロパ
ティが定義されている。displayed==falseの
場合は、マッチしても操作することができ
ない
“Navigator.isDisplayed() == false”の場合に
Navigator.click()を実行すると例外が発生す
る
ElementNotVisibleException
35
サンプルコード
Per06_InteractingWithContentTest.groovy
GebTopPage.groovy
HTML
54行目
57行目
36
4.7 Size and Location
PageのSizeとLocationを取得できる
LocationはPageの左上からのx , yプロパティ
でpixel指定する
$("div").height == 20
$("div").width == 40
$("div").x == 60
$("div").y == 80
$("div")*.height == [20, 30]
$("div")*.width == [40, 50]
$("div")*.x == [60, 70]
$("div")*.y == [80, 90]
37
サンプルコード
Per07_InteractingWithContentTest.groovy
HTML
divタグ全部
38
4.8 Accessing tag name, attributes, text
and classes
Navigator objectsのtag(), text(), @attribute
and classes()を使って値を取得できる
classes()は、class属性を java.util.List形式
で返す
<p title="a" class="a para">a</p>
<p title="b" class="b para">b</p>
<p title="c" class="c para">c</p>
$("p").text() == "a"
$("p").tag() == "p"
$("p").@title == "a"
$("p").classes() == ["a", "para"]
39
サンプルコード
Per08_InteractingWithContentTest.groovy
HTML
135行目
40
4.9 Css properties
cssメソッドでCSSプロパティを取得するこ
とができる
<div style="float: left">text</div>
$("div").css("float") == "left"
41
サンプルコード
Per09_InteractingWithContentTest.groovy
HTML
10行目
42
4.10 Sending keystrokes
leftShiftを使うことでどのコンテンツにも
キーストロークを送信することができる
$("div") << "abc"
$("input", name: "firstName") <<
Keys.chord(Keys.CONTROL, "c")
43
サンプルコード
Per10_InteractingWithContentTest.groovy
HTML
5行目
44
4.11 Accessing input values
Input, select, textarea など入力値は、value
メソッドでセットすることができる
checkbox は、booleanをセットすることも
できる
multiple select は配列をセットすることもで
きる
45
サンプルコード
Per11_InteractingWithContentTest.groovy
HTML
Yahoo!!
46
4.12 Form Control Shortcuts
Input, selectなどform要素への入力に対して
簡単に入力できるようにしている
<form>
<input type="text" name="geb" value="testing" />
</form>
$("form").geb == "testing"
$("form").geb = "goodness"
$("form").geb == "goodness"
47
4.12 Form Control Shortcuts
<select name="artist">
<option value="1">Ima Robot</option>
<option value="2">Edward Sharpe</option>
<option value="3">Alexander</option>
</select>
$("form").artist = "1" //Ima Robot
$("form").artist = 2 //Edward Sharpe
$("form").artist = "Alexander" //Alexander
selectタグは、value, textまたは順番の値を
渡すことで選択できる
48
4.12 Form Control Shortcuts
<select name="genres" multiple>
<option value="1">Alt folk</option>
<option value="2">Chiptunes</option>
<option value="3">Electroclash</option>
<option value="4">G-Funk</option>
<option value="5">Hair metal</option>
</select>
$("form").genres = ["2", "3"]
$("form").genres = [1, 4, 5]
$("form").genres = ["Alt folk", "Hair metal"]
$("form").genres = []
multiple Selectタグも同様に、value, textま
たは順番の配列を渡すことで選択できる
49
4.12 Form Control Shortcuts
<input type="checkbox" name="pet" value="dogs" />
<input type="checkbox" name="pet" value="cats" />
$("input", type: "checkbox", name: "pet").value("dogs")
$("input", type: "checkbox", name: "pet").value() ==
"dogs"
$("input", type: "checkbox", name: "pet").value() ==
false
if ($("input", type: "checkbox", name: "pet").value()) {
//petが選択されていれば実行される
}
checkboxは、valueで選択することができる
未選択の場合は、falseが返ってくる
50
4.12 Form Control Shortcuts
<label for="site-current">Search this site</label>
<input type="radio" id="site-current" name="site"
value="current">
<label>Search Google
<input type="radio" name="site" value="google">
</label>
$("form").site = "current" //Search this site
$("form").site = "Search this site" //Search this site
$("form").site = "Search Google" //Search Google
RadioButtonは、valueまたはlabelのtextで選択す
ることができる
51
4.12 Form Control Shortcuts
<input name="postcode" />
("form").postcode = "12345"
$("form").postcode() << Keys.BACK_SPACE
assert $("form").postcode == "1234"
Text Inputは、文字列を渡すことで入力できる
キーストロークもKeysクラスを使うことで入力
できる
52
4.12 Form Control Shortcuts
<input type="file" name="csvFile">
//絶対パスでファイルを指定する
$("form").csvFile = "/path/to/my/file.csv"
絶対パスを渡すことでファイルのアップロード
もできる
53
サンプルコード
Per12_InteractingWithContentTest.groovy
HTML
Yahoo!!
54
4.13.2 Using Actions
WebDriver driverのActionクラスを使うこと
で複雑な動作も実行することができる
def actions = new Actions(driver)
WebElement someItem = $('li.clicky').firstElement()
def shiftDoubleClickAction =
actions.keyDown(Keys.SHIFT).doubleClick(someItem).
keyUp(Keys.SHIFT).build()
shiftDoubleClickAction.perform()
55
4.13.3 Using Interact Closures
Interact Closuresを使うと、Actionよりも簡
単に実装できる
interact {
keyDown(Keys.SHIFT)
doubleClick($('li.clicky'))
keyUp(Keys.SHIFT)
}
interact {
keyDown(Keys.CONTROL)
click($('ul.multiselect li', text: 'Order 1'))
click($('ul.multiselect li', text: 'Order 2'))
click($('ul.multiselect li', text: 'Order 3'))
keyUp(Keys.CONTROL)
}
56
サンプルコード
Per13_InteractingWithContentTest.groovy
HTML
Yahoo!!

Weitere ähnliche Inhalte

Was ist angesagt?

Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
Shunji Konishi
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
Nobuhiro Sue
 
モテる JavaScript
モテる JavaScriptモテる JavaScript
モテる JavaScript
Osamu Monoe
 

Was ist angesagt? (20)

Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
 
JavaScriptことはじめ
JavaScriptことはじめJavaScriptことはじめ
JavaScriptことはじめ
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
覚醒!JavaScript
覚醒!JavaScript覚醒!JavaScript
覚醒!JavaScript
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
 
What makes Geb groovy?
What makes Geb groovy?What makes Geb groovy?
What makes Geb groovy?
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行
 
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
 
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
 
Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Groovy Shell Scripting 2015
Groovy Shell Scripting 2015
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
モテる JavaScript
モテる JavaScriptモテる JavaScript
モテる JavaScript
 
.NET Compiler Platform
.NET Compiler Platform.NET Compiler Platform
.NET Compiler Platform
 
JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説
 
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
 
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
 
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
 

Andere mochten auch

Andere mochten auch (20)

CCPMカレーワークショップ(共有版)
CCPMカレーワークショップ(共有版)CCPMカレーワークショップ(共有版)
CCPMカレーワークショップ(共有版)
 
アントレプレナー養成
アントレプレナー養成アントレプレナー養成
アントレプレナー養成
 
Docker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよDocker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよ
 
企画~実現までの体験学習
企画~実現までの体験学習企画~実現までの体験学習
企画~実現までの体験学習
 
College career readiness 2017 lesson #2
College career readiness 2017 lesson #2College career readiness 2017 lesson #2
College career readiness 2017 lesson #2
 
管理画面チラ見せナイト3 登壇資料
管理画面チラ見せナイト3 登壇資料管理画面チラ見せナイト3 登壇資料
管理画面チラ見せナイト3 登壇資料
 
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
 
Aero q307
Aero q307Aero q307
Aero q307
 
20%ivanguzman
20%ivanguzman20%ivanguzman
20%ivanguzman
 
JQUERY
JQUERY JQUERY
JQUERY
 
Literal g3 cedula gastos de noviembre del 2016
Literal g3 cedula gastos de noviembre del 2016Literal g3 cedula gastos de noviembre del 2016
Literal g3 cedula gastos de noviembre del 2016
 
07 03-2017-press-announcement-venloop
07 03-2017-press-announcement-venloop07 03-2017-press-announcement-venloop
07 03-2017-press-announcement-venloop
 
3Com 3C562-MODEM-CABLE
3Com 3C562-MODEM-CABLE3Com 3C562-MODEM-CABLE
3Com 3C562-MODEM-CABLE
 
Pasos para quemar un cd o dvd
Pasos para quemar un cd o dvdPasos para quemar un cd o dvd
Pasos para quemar un cd o dvd
 
RubyでRoombaをハックする
RubyでRoombaをハックするRubyでRoombaをハックする
RubyでRoombaをハックする
 
Project in-english-copy
Project in-english-copyProject in-english-copy
Project in-english-copy
 
Добробут в кожну оселю
Добробут в кожну оселюДобробут в кожну оселю
Добробут в кожну оселю
 
Periodization in functional training
Periodization in functional trainingPeriodization in functional training
Periodization in functional training
 
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
【公開版Vol1】論理的に考えよう!ロジックツリー&ブランチ
 
포인터
포인터포인터
포인터
 

Ähnlich wie 20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介

20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
 
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)
Nobuhiro Sue
 
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+BetamaxG*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
Nobuhiro Sue
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
 
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2
Nobuhiro Nakajima
 

Ähnlich wie 20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介 (20)

20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)
 
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+BetamaxG*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
 
Django Rest Frameworkでお手軽にREST APIを作る
Django Rest Frameworkでお手軽にREST APIを作るDjango Rest Frameworkでお手軽にREST APIを作る
Django Rest Frameworkでお手軽にREST APIを作る
 
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピングpi-15. カプセル化, MVCモデル, オブジェクトのマッピング
pi-15. カプセル化, MVCモデル, オブジェクトのマッピング
 
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話 Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
 
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
 
Web development fundamental
Web development fundamentalWeb development fundamental
Web development fundamental
 
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2SocialWeb Conference vol.5 OpenSocial Night #2
SocialWeb Conference vol.5 OpenSocial Night #2
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScriptマークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScript
 
IDEALIZE YOU
IDEALIZE YOUIDEALIZE YOU
IDEALIZE YOU
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

20150131_jQueryのようにWebテストが書けるGeb Navigator APIの紹介