SlideShare a Scribd company logo
MochaとChaiでやる JavaScriptテスト 
株式会社FLECT 
小西俊司 
2014/09/11
Mochaとは 
JavaScript製のテストフレームワーク 
HTML内での実行とコマンド実行の両方をサポート 
非同期処理を同期化して順番に実行出来る 
BDDスタイルとTDDスタイルの両方の記法をサポート 
Assertionライブラリは含まれていないので自分で選択
Assertionライブラリ? 
Assert系、Should系、Expect系など複数の系統がある 
書き方が違うだけでやっていることは同じ 
assert.equal(a, 5); 
a.should.equal(5);//ObjectのPrototypeを拡張している 
Expect(a).to.equal(5); 
Assertだけでもライブラリ毎に多彩な書き方がある 
assert.ok 
assert.isObject 
assert.match
Chaiとは 
Assert、Shoud、Expectのすべてをサポートしたライブラ リ 
ただし実際に使用する場合は記法はどれかに統一した方が 良い 
多分既存のAssertionライブラリの中では一番多機能
インストール–HTML実行 
mocha.js、mocha.css、chai.jsを参照可能なところにコ ピー 
クライアントライブラリの取得はできるだけBowerを使 用した方が良い 
バージョン管理が楽になるので 
jQuery等のメジャーなライブラリはブラウザのキャッシュ を使うためにCDNを使うのもアリ 
bower install mocha --save-dev 
bower install chai --save-dev 
cpbower_components/mocha/mocha.* public/test 
cpbower_components/chai/chai.js public/test
インストール–コマンド実行 
npmでインストール 
mochaはコマンドを使用するのでグローバルインストー ルする 
npminstall –g mocha 
npminstall chai --save-dev
HTMLの書き方 
Mochaとchai 
それ以外に必要なJS 
(テスト対象のJS) 
BDDスタイル 
テストのJS 
テスト結果出力用のdiv(id=“mocha”) 
テストの実行 
(PhantomJSでも実行可能)
JSの書き方 
FizzBuzzサンプル 
ここではテスト対象のメソッドも 
同一ファイル内に書いてあるが 
本来はテスト対象は外部にある 
BDDで使用するキーワードは 
describeとitの2つ 
★describe 
単純なグループ化 
複数ネスとしても良い 
describe has some describes 
and some its. 
★it 
テストケース 
it has some asserts. 
assertを使用する
非同期サポート 
itのコールバック関数に 
引数が宣言されている場合、 
その引数に完了通知の 
コールバック関数が渡される 
その関数が実行されるまで 
次のテストは実行されない 
(デフォルトでは2秒で 
タイムアウトする)
before(after), beforeEach 
beforeはdescribe内で最初に一度だけ実行 
beforeEachはdescribe内の各itを実行する前に毎回実行 (ネストしたdescribe内でも有効) 
after、afterEachはその逆 
itと同様に引数を宣言することで非同期処理の完了待ち が可能
タイムアウト 
タイムアウト 
デフォルト2000ms 
コマンドラインオプション–tで設定可能 
スロー判定 
デフォルト75ms 
コマンドラインオプション–s で設定可能 
describeまたはitのコールバック内で個別に設定すること も可能 
this.timeout(5000); 
this.slow(3000);
コマンド実行 
テストの書き方はHTMLから実行する場合と同じ 
requireでNode.jsの各種モジュールが利用できる 
HTTPのエンドポイントのテストを全部これでできないか と実験中 
テストシナリオを決めて 
Http(s)モジュールでリクエストの実行とレスポンスの確認 
Pgモジュールで更新されたデータを確認 
Input, Output, Storageが検証可能なので多分良い感じ 
画面操作の検証はSeleniumじゃないと無理
Http(s)モジュール 
Node.js標準のhttpライブラリ 
びっくりするぐらいRaw 
Cookieを自分でセットしないとならない 
POST文字列を自分でURLEncodeして組み立て 
Content-TypeとかContent-Lengthの計算も自力 
何故かデフォルトでChunked 
ラッパーを開発中 
jQuery#ajaxライクなdata引き渡し 
レスポンス完了時のコールバック 
Cookie等のHTTPヘッダも空気読んで追加 
CSRFサポート
Pgモジュール 
Windowsだとそもそもインストールが辛い 
node-gypでインストール時にバイナリをコンパイル 
Python 2.7が必要 
Visual Studioのインストールが必要(Express版で良いので無 償) 
ていうかもはや開発者はMacを使うか、VMを使用するべき 
そこを乗り切ればそれなりに使いやすいがやはりラッ パーは必要 
HTMLテストからは実行不可
PhantomJS 
HTMLテストをブラウザなしでコマンドで実行できる 
Mochaのテストを実行するためには以下のインストール が必要 
PhantomJS 
mocha-phantomjs(グローバル) 
以降、mocha-phantomjsコマンドでテストが実行可能 
★注意 
PhantomJSでの実行は 
Fileプロトコルでの実行になるので 
JSやCSSの参照に「//」始まりや 
絶対パスを使用してはならない
さらに自動化したい場合 
Grunt 
grunt-mocha(Client side. 要PhantomJS) 
Grunt-mocha-test(Server side) 
各種CIツール 
phantomjsがあればなんとかなるはず
メール送信のテストも出来るかも 
メールテスト用のサーバをHeroku上に作成するというア イデアをちょっと思いついた 
例えば新規ユーザ作成時にメールでユーザの存在確認を するような処理 
Mochaからユーザ登録のURLをキック 
メールアドレスはSendGridのParseAPI宛にしておく 
テストサーバが受信メールをフックしてキャッシュに保存 
Mochaからはテストサーバのポーリング、またはWebSocket で完了待ち 
メールは数分以上遅延することがあるのが難点 
が、うまくすれば汎用的なものを作れる可能性はある 
HerokuButtonで公開するアプリとしてちょうど良いかも
まとめ 
周辺ツールを整備していけばかなり、汎用的なテスト ツールになる可能性はある 
エンドポイントを叩くテストはある程度自動生成できる と思う 
テストしやすいエンドポイント設計をすることも重要 
できるだけレスポンスはJSONにする 
Seleniumでのテストやサーバサイドの単体テストが不要 になるわけではない 
が、必要なテスト数は減らせる

More Related Content

What's hot

OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of Swagger
SmartBear
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
 
Deep dive into swift UI
Deep dive into swift UIDeep dive into swift UI
Deep dive into swift UI
OsamaGamal26
 
ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기
Suyeol Jeon
 
Swift in SwiftUI
Swift in SwiftUISwift in SwiftUI
Swift in SwiftUI
Bongwon Lee
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携Enpel
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
 
S92 Microsoft Azure SLA について
S92 Microsoft Azure SLA についてS92 Microsoft Azure SLA について
S92 Microsoft Azure SLA についてMicrosoft Azure Japan
 
Azure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれAzure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
 
Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
VMware Tanzu
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 
AOT(Ahead Of Time)
AOT(Ahead Of Time)AOT(Ahead Of Time)
AOT(Ahead Of Time)
Questpond
 
REST API
REST APIREST API
REST API
Tofazzal Ahmed
 
英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要
Tatsuo Kudo
 
Azure Automation 概要
Azure Automation 概要Azure Automation 概要
Azure Automation 概要
喜智 大井
 
Node.js & Express.js Unleashed
Node.js & Express.js UnleashedNode.js & Express.js Unleashed
Node.js & Express.js Unleashed
Elewayte
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
Orest Ivasiv
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Java女子部
 

What's hot (20)

OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of Swagger
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
Deep dive into swift UI
Deep dive into swift UIDeep dive into swift UI
Deep dive into swift UI
 
ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기
 
Swift in SwiftUI
Swift in SwiftUISwift in SwiftUI
Swift in SwiftUI
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(1)-仮想ホスト、Apache連携
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
S92 Microsoft Azure SLA について
S92 Microsoft Azure SLA についてS92 Microsoft Azure SLA について
S92 Microsoft Azure SLA について
 
Azure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれAzure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれ
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
 
Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
 
AOT(Ahead Of Time)
AOT(Ahead Of Time)AOT(Ahead Of Time)
AOT(Ahead Of Time)
 
REST API
REST APIREST API
REST API
 
英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要
 
Azure Automation 概要
Azure Automation 概要Azure Automation 概要
Azure Automation 概要
 
Node.js & Express.js Unleashed
Node.js & Express.js UnleashedNode.js & Express.js Unleashed
Node.js & Express.js Unleashed
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
 

Viewers also liked

JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所Koji Nakamura
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Teppei Sato
 
Jsテストツール 〜 sails.js×mochaでtest 〜 (1)
Jsテストツール 〜 sails.js×mochaでtest 〜 (1)Jsテストツール 〜 sails.js×mochaでtest 〜 (1)
Jsテストツール 〜 sails.js×mochaでtest 〜 (1)
Tomokatsu Iguchi
 
プロキシーを使ってテストを楽にする
プロキシーを使ってテストを楽にするプロキシーを使ってテストを楽にする
プロキシーを使ってテストを楽にする
Shunji Konishi
 
Heroku meetup 13_shuttlebus-heroku
Heroku meetup 13_shuttlebus-herokuHeroku meetup 13_shuttlebus-heroku
Heroku meetup 13_shuttlebus-heroku
masaoki_ohashi
 
HerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみたHerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみたmasaoki_ohashi
 
Herokuのログ解析ツール
Herokuのログ解析ツールHerokuのログ解析ツール
Herokuのログ解析ツール
Shunji Konishi
 
Salesforceのハッカソンに参加した話
Salesforceのハッカソンに参加した話Salesforceのハッカソンに参加した話
Salesforceのハッカソンに参加した話
Shunji Konishi
 
クラウド x IoT実践事例のご紹介
クラウド x IoT実践事例のご紹介クラウド x IoT実践事例のご紹介
クラウド x IoT実践事例のご紹介
masaoki_ohashi
 
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~Ayumu Aizawa
 
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるShunji Konishi
 
Salesforce連携のためのOData入門
Salesforce連携のためのOData入門Salesforce連携のためのOData入門
Salesforce連携のためのOData入門
Shunji Konishi
 
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
Hayashi Yuichi
 
TDDBC Fukuoka Day1
TDDBC Fukuoka Day1TDDBC Fukuoka Day1
TDDBC Fukuoka Day1
Takuto Wada
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
 

Viewers also liked (16)

JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
 
Jsテストツール 〜 sails.js×mochaでtest 〜 (1)
Jsテストツール 〜 sails.js×mochaでtest 〜 (1)Jsテストツール 〜 sails.js×mochaでtest 〜 (1)
Jsテストツール 〜 sails.js×mochaでtest 〜 (1)
 
プロキシーを使ってテストを楽にする
プロキシーを使ってテストを楽にするプロキシーを使ってテストを楽にする
プロキシーを使ってテストを楽にする
 
Heroku meetup 13_shuttlebus-heroku
Heroku meetup 13_shuttlebus-herokuHeroku meetup 13_shuttlebus-heroku
Heroku meetup 13_shuttlebus-heroku
 
HerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみたHerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみた
 
Herokuのログ解析ツール
Herokuのログ解析ツールHerokuのログ解析ツール
Herokuのログ解析ツール
 
Salesforceのハッカソンに参加した話
Salesforceのハッカソンに参加した話Salesforceのハッカソンに参加した話
Salesforceのハッカソンに参加した話
 
クラウド x IoT実践事例のご紹介
クラウド x IoT実践事例のご紹介クラウド x IoT実践事例のご紹介
クラウド x IoT実践事例のご紹介
 
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
 
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
 
Salesforce連携のためのOData入門
Salesforce連携のためのOData入門Salesforce連携のためのOData入門
Salesforce連携のためのOData入門
 
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
 
TDDBC Fukuoka Day1
TDDBC Fukuoka Day1TDDBC Fukuoka Day1
TDDBC Fukuoka Day1
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 

Similar to MochaとChaiでやるJavaScriptテスト

Awsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always OnAwsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always On
ssuser79e118
 
Awsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always OnAwsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always On
ShinodaYukihiro
 
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
stomita
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
Start chestnut
Start chestnutStart chestnut
Start chestnut
izy00466
 
Start chestnut
Start chestnutStart chestnut
Start chestnut
Ichise Masashi
 
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
Hiromasa Tanaka
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
Hiromi Ishii
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
 

Similar to MochaとChaiでやるJavaScriptテスト (10)

Awsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always OnAwsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always On
 
Awsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always OnAwsでのsql高可用構成 Always On
Awsでのsql高可用構成 Always On
 
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Start chestnut
Start chestnutStart chestnut
Start chestnut
 
Start chestnut
Start chestnutStart chestnut
Start chestnut
 
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 

More from Shunji Konishi

SendGridサンプルの紹介
SendGridサンプルの紹介SendGridサンプルの紹介
SendGridサンプルの紹介
Shunji Konishi
 
セキュリティの考え方
セキュリティの考え方セキュリティの考え方
セキュリティの考え方
Shunji Konishi
 
一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方
Shunji Konishi
 
WebSocketでリアルタイムクイズアプリを作ってみた
WebSocketでリアルタイムクイズアプリを作ってみたWebSocketでリアルタイムクイズアプリを作ってみた
WebSocketでリアルタイムクイズアプリを作ってみたShunji Konishi
 
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
 
Heroku tips1
Heroku tips1Heroku tips1
Heroku tips1
Shunji Konishi
 
Playframework1でSeleniumテスト
Playframework1でSeleniumテストPlayframework1でSeleniumテスト
Playframework1でSeleniumテスト
Shunji Konishi
 
Heroku Dyno再起動時の振る舞い
Heroku Dyno再起動時の振る舞いHeroku Dyno再起動時の振る舞い
Heroku Dyno再起動時の振る舞い
Shunji Konishi
 
Dyno cycling behavior of Heroku
Dyno cycling behavior of HerokuDyno cycling behavior of Heroku
Dyno cycling behavior of HerokuShunji Konishi
 
Herokuで使えるRDBMS管理者ツール
Herokuで使えるRDBMS管理者ツールHerokuで使えるRDBMS管理者ツール
Herokuで使えるRDBMS管理者ツールShunji Konishi
 
お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方
Shunji Konishi
 
Excel2 canvas
Excel2 canvasExcel2 canvas
Excel2 canvas
Shunji Konishi
 
特盛!Heroku
特盛!Heroku特盛!Heroku
特盛!Heroku
Shunji Konishi
 
文字コードのお話
文字コードのお話文字コードのお話
文字コードのお話
Shunji Konishi
 
High traffic questionnaire site
High traffic questionnaire siteHigh traffic questionnaire site
High traffic questionnaire site
Shunji Konishi
 

More from Shunji Konishi (16)

SendGridサンプルの紹介
SendGridサンプルの紹介SendGridサンプルの紹介
SendGridサンプルの紹介
 
セキュリティの考え方
セキュリティの考え方セキュリティの考え方
セキュリティの考え方
 
一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方
 
WebSocketでリアルタイムクイズアプリを作ってみた
WebSocketでリアルタイムクイズアプリを作ってみたWebSocketでリアルタイムクイズアプリを作ってみた
WebSocketでリアルタイムクイズアプリを作ってみた
 
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
 
Heroku tips1
Heroku tips1Heroku tips1
Heroku tips1
 
Playframework1でSeleniumテスト
Playframework1でSeleniumテストPlayframework1でSeleniumテスト
Playframework1でSeleniumテスト
 
Heroku Dyno再起動時の振る舞い
Heroku Dyno再起動時の振る舞いHeroku Dyno再起動時の振る舞い
Heroku Dyno再起動時の振る舞い
 
Dyno cycling behavior of Heroku
Dyno cycling behavior of HerokuDyno cycling behavior of Heroku
Dyno cycling behavior of Heroku
 
Herokuで使えるRDBMS管理者ツール
Herokuで使えるRDBMS管理者ツールHerokuで使えるRDBMS管理者ツール
Herokuで使えるRDBMS管理者ツール
 
Play1 to Play2
Play1 to Play2Play1 to Play2
Play1 to Play2
 
お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方
 
Excel2 canvas
Excel2 canvasExcel2 canvas
Excel2 canvas
 
特盛!Heroku
特盛!Heroku特盛!Heroku
特盛!Heroku
 
文字コードのお話
文字コードのお話文字コードのお話
文字コードのお話
 
High traffic questionnaire site
High traffic questionnaire siteHigh traffic questionnaire site
High traffic questionnaire site
 

Recently uploaded

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 

MochaとChaiでやるJavaScriptテスト