SlideShare a Scribd company logo
1 of 35
Download to read offline
みんなで同時プレイする
クイズWebアプリで
CodeQuizに挑戦!
― オープンソースライブラリで実現するリアルタイムWebアプリ ―
オープンソースカンファレンス 2013 Hokkaido
CLR/H プレゼンツ
At first...
• Twitter, facebook 等への SNS投稿歓迎
• ハッシュタグは #clrh84でよろしくおねがいします。
Let me
introduce myself.
自己紹介させていただきます
勉強会コミュニティ
CLR/H
Why
CodeQuiz?
なぜコードクイズ?
勉強会コミュニティ & 宿泊イベント
Code 2013 in 定山渓
QUIZ WEBAPP
Let’s Play!
早速プレイ!
http://goo.gl/Do4RLU
https://github.com/jsakamoto/quiz-webapp
GNU GPL v2 License
How does it
work?
仕組み
ASP.NET
SignalR
https://github.com/SignalR/SignalR
Apache 2.0 License
SignalR
Supported Transport
•WebSoket
•Server-Sent Events
•Forever Frame
•Long polling
Let’s build it!
作ってみよう!
Express 2012 for Web
http://www.microsoft.com/visualstudio/jpn/
downloads#d-express-web
How to
implementation?
実装
Browser Server
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
Browser Server
public class Hub1 : Hub
{
public void Foo(bool newState)
{
}
}
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
hub1.on('Bar', function (newState) {
alert(newState);
});
conn.start();
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
hub1.on('Bar', function (newState) {
alert(newState);
});
conn.start();
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
hub1.on('Bar',
function (newState) {
alert(newState);
});
conn.start();
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
Browser Server
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
hub1.on('Bar',
function (newState) {
alert(newState);
});
conn.start();
});
public class Hub1 : Hub
{
public void Foo(bool newState)
{
Clients.All.Bar(newState);
}
}
$(function () {
var conn = $.hubConnection();
var hub1 = conn.createHubProxy('Hub1');
conn.start();
var state = false;
$('#button').click(function(){
state = !state;
hub1.invoke('Foo', state);
});
});
Browser Server
https://github.com/sample-by-jsakamoto/SampleOfSignalR
GNU GPL v2 License
Let’s Publish It!
ネットに公開してみよう!
AppHarbor
https://appharbor.com/
Git
Conclusion
まとめ
SignalR is useful & wonderful!
• Webアプリで、Webサーバー側からブラウザへ呼び出しを発射できる
• Long Poling から Websocket まで、通信技術を意識しないでできる
• サーバー側環境とか相手先デバイスとか関係なくできる
• 通信のための設定とか不要でできる
• すべてSignalRが実行時に環境に応じて最適にやってくれる
Learn, Practice, Share.
&
Fork, Commit, Pull request.
Thank you!

More Related Content

What's hot

Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHubPuppet
 
Playing With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.jsPlaying With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.jsMike Hagedorn
 
Chat bot-automation-hubot
Chat bot-automation-hubotChat bot-automation-hubot
Chat bot-automation-hubotEueung Mulyana
 
Composer 經典食譜
Composer 經典食譜Composer 經典食譜
Composer 經典食譜Shengyou Fan
 
Kotlin 在 Web 方面的应用
Kotlin 在 Web 方面的应用Kotlin 在 Web 方面的应用
Kotlin 在 Web 方面的应用Shengyou Fan
 
TDC2016SP - Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
TDC2016SP -  Esqueça Grunt ou Gulp. Webpack and NPM rule them all!TDC2016SP -  Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
TDC2016SP - Esqueça Grunt ou Gulp. Webpack and NPM rule them all!tdc-globalcode
 

What's hot (6)

Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHub
 
Playing With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.jsPlaying With Fire - An Introduction to Node.js
Playing With Fire - An Introduction to Node.js
 
Chat bot-automation-hubot
Chat bot-automation-hubotChat bot-automation-hubot
Chat bot-automation-hubot
 
Composer 經典食譜
Composer 經典食譜Composer 經典食譜
Composer 經典食譜
 
Kotlin 在 Web 方面的应用
Kotlin 在 Web 方面的应用Kotlin 在 Web 方面的应用
Kotlin 在 Web 方面的应用
 
TDC2016SP - Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
TDC2016SP -  Esqueça Grunt ou Gulp. Webpack and NPM rule them all!TDC2016SP -  Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
TDC2016SP - Esqueça Grunt ou Gulp. Webpack and NPM rule them all!
 

Viewers also liked

一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方Shunji Konishi
 
Windows 8 ストア アプリ 開発 Tips
Windows 8 ストア アプリ 開発 TipsWindows 8 ストア アプリ 開発 Tips
Windows 8 ストア アプリ 開発 TipsFujio Kojima
 
OWIN って何?
OWIN って何?OWIN って何?
OWIN って何?miso- soup3
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んでShumpei Shiraishi
 
HTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクトHTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクトShumpei Shiraishi
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...Akira Inoue
 
20140823 LL diver Angular.js で構築した note に関して
20140823 LL diver Angular.js で構築した note に関して20140823 LL diver Angular.js で構築した note に関して
20140823 LL diver Angular.js で構築した note に関してShoei Takamaru
 
Introduction of "MarkdownPresenter"
Introduction of "MarkdownPresenter"Introduction of "MarkdownPresenter"
Introduction of "MarkdownPresenter"Jun-ichi Sakamoto
 
AngularJS 2.0 Jumpstart
AngularJS 2.0 JumpstartAngularJS 2.0 Jumpstart
AngularJS 2.0 JumpstartFilipe Falcão
 
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトークMore Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトークJun-ichi Sakamoto
 
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んでイラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んでShumpei Shiraishi
 
CLR/H#74 LT IT勉強会発表用イチオシツール
CLR/H#74 LT IT勉強会発表用イチオシツールCLR/H#74 LT IT勉強会発表用イチオシツール
CLR/H#74 LT IT勉強会発表用イチオシツールJun-ichi Sakamoto
 
はじめにことばありき
はじめにことばありきはじめにことばありき
はじめにことばありきShumpei Shiraishi
 
最近、リアルタイムWebが面白い
最近、リアルタイムWebが面白い最近、リアルタイムWebが面白い
最近、リアルタイムWebが面白いNarami Kiyokura
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んでShumpei Shiraishi
 
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦![予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!Jun-ichi Sakamoto
 

Viewers also liked (20)

一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方
 
Windows 8 ストア アプリ 開発 Tips
Windows 8 ストア アプリ 開発 TipsWindows 8 ストア アプリ 開発 Tips
Windows 8 ストア アプリ 開発 Tips
 
OWIN って何?
OWIN って何?OWIN って何?
OWIN って何?
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで
 
HTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクトHTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクト
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
 
Gulp ことはじめ
Gulp ことはじめGulp ことはじめ
Gulp ことはじめ
 
20140823 LL diver Angular.js で構築した note に関して
20140823 LL diver Angular.js で構築した note に関して20140823 LL diver Angular.js で構築した note に関して
20140823 LL diver Angular.js で構築した note に関して
 
Introduction of "MarkdownPresenter"
Introduction of "MarkdownPresenter"Introduction of "MarkdownPresenter"
Introduction of "MarkdownPresenter"
 
AngularJS 2.0 Jumpstart
AngularJS 2.0 JumpstartAngularJS 2.0 Jumpstart
AngularJS 2.0 Jumpstart
 
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトークMore Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
 
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んでイラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
 
CLR/H#74 LT IT勉強会発表用イチオシツール
CLR/H#74 LT IT勉強会発表用イチオシツールCLR/H#74 LT IT勉強会発表用イチオシツール
CLR/H#74 LT IT勉強会発表用イチオシツール
 
20130921レジュメ2
20130921レジュメ220130921レジュメ2
20130921レジュメ2
 
はじめにことばありき
はじめにことばありきはじめにことばありき
はじめにことばありき
 
最近、リアルタイムWebが面白い
最近、リアルタイムWebが面白い最近、リアルタイムWebが面白い
最近、リアルタイムWebが面白い
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで
 
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦![予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
 

Similar to ASP.NET SignalR によるクイズWebアプリ 「みんなで同時プレイするWebアプリでCodeQuizに挑戦!」

All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.ioSteven Cooper
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with ExamplesGabriele Lana
 
Nodejsexplained 101116115055-phpapp02
Nodejsexplained 101116115055-phpapp02Nodejsexplained 101116115055-phpapp02
Nodejsexplained 101116115055-phpapp02Sunny Gupta
 
Firefox os-introduction
Firefox os-introductionFirefox os-introduction
Firefox os-introductionzsoltlengyelit
 
The Ring programming language version 1.5 book - Part 30 of 31
The Ring programming language version 1.5 book - Part 30 of 31The Ring programming language version 1.5 book - Part 30 of 31
The Ring programming language version 1.5 book - Part 30 of 31Mahmoud Samir Fayed
 
OpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossOpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossEric D. Schabell
 
Introducere in web
Introducere in webIntroducere in web
Introducere in webAlex Eftimie
 
How to Build a Serverless Chatbot for $0?
How to Build a Serverless Chatbot for $0?How to Build a Serverless Chatbot for $0?
How to Build a Serverless Chatbot for $0?Mobile Monday Srbija
 
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...KAI CHU CHUNG
 
CP3108B (Mozilla) Sharing Session on Add-on SDK
CP3108B (Mozilla) Sharing Session on Add-on SDKCP3108B (Mozilla) Sharing Session on Add-on SDK
CP3108B (Mozilla) Sharing Session on Add-on SDKMifeng
 
Developing and Deploying Apps with the Postgres FDW
Developing and Deploying Apps with the Postgres FDWDeveloping and Deploying Apps with the Postgres FDW
Developing and Deploying Apps with the Postgres FDWJonathan Katz
 
Beyond MVC: from Model to Domain
Beyond MVC: from Model to DomainBeyond MVC: from Model to Domain
Beyond MVC: from Model to DomainJeremy Cook
 
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Codemotion
 
Building serverless application on the Apache Openwhisk platform
Building serverless application on the Apache Openwhisk platformBuilding serverless application on the Apache Openwhisk platform
Building serverless application on the Apache Openwhisk platformLucio Grenzi
 
Writing a slack chatbot DrupalCampLA
Writing a slack chatbot DrupalCampLAWriting a slack chatbot DrupalCampLA
Writing a slack chatbot DrupalCampLAJesus Manuel Olivas
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...DevClub_lv
 
Tests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and TestacularTests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and TestacularPaulo Cesar Ortins Brito
 
Cross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorCross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorFokke Zandbergen
 

Similar to ASP.NET SignalR によるクイズWebアプリ 「みんなで同時プレイするWebアプリでCodeQuizに挑戦!」 (20)

All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with Examples
 
Nodejsexplained 101116115055-phpapp02
Nodejsexplained 101116115055-phpapp02Nodejsexplained 101116115055-phpapp02
Nodejsexplained 101116115055-phpapp02
 
Firefox os-introduction
Firefox os-introductionFirefox os-introduction
Firefox os-introduction
 
The Ring programming language version 1.5 book - Part 30 of 31
The Ring programming language version 1.5 book - Part 30 of 31The Ring programming language version 1.5 book - Part 30 of 31
The Ring programming language version 1.5 book - Part 30 of 31
 
OpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossOpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBoss
 
Introducere in web
Introducere in webIntroducere in web
Introducere in web
 
How to Build a Serverless Chatbot for $0?
How to Build a Serverless Chatbot for $0?How to Build a Serverless Chatbot for $0?
How to Build a Serverless Chatbot for $0?
 
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...Dev fest 2020 taiwan   how to debug microservices on kubernetes as a pros (ht...
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
 
CP3108B (Mozilla) Sharing Session on Add-on SDK
CP3108B (Mozilla) Sharing Session on Add-on SDKCP3108B (Mozilla) Sharing Session on Add-on SDK
CP3108B (Mozilla) Sharing Session on Add-on SDK
 
Developing and Deploying Apps with the Postgres FDW
Developing and Deploying Apps with the Postgres FDWDeveloping and Deploying Apps with the Postgres FDW
Developing and Deploying Apps with the Postgres FDW
 
Beyond MVC: from Model to Domain
Beyond MVC: from Model to DomainBeyond MVC: from Model to Domain
Beyond MVC: from Model to Domain
 
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
 
Building serverless application on the Apache Openwhisk platform
Building serverless application on the Apache Openwhisk platformBuilding serverless application on the Apache Openwhisk platform
Building serverless application on the Apache Openwhisk platform
 
Writing a slack chatbot DrupalCampLA
Writing a slack chatbot DrupalCampLAWriting a slack chatbot DrupalCampLA
Writing a slack chatbot DrupalCampLA
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
 
Writing a slack chatbot mxlos
Writing a slack chatbot mxlosWriting a slack chatbot mxlos
Writing a slack chatbot mxlos
 
Tests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and TestacularTests in Javascript using Jasmine and Testacular
Tests in Javascript using Jasmine and Testacular
 
About Clack
About ClackAbout Clack
About Clack
 
Cross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorCross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met Appcelerator
 

More from Jun-ichi Sakamoto

C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へC# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へJun-ichi Sakamoto
 
Pre-render Blazor WebAssembly on static web hosting at publishing time
Pre-render Blazor WebAssembly on static web hosting at publishing timePre-render Blazor WebAssembly on static web hosting at publishing time
Pre-render Blazor WebAssembly on static web hosting at publishing timeJun-ichi Sakamoto
 
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来Jun-ichi Sakamoto
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LTAzure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LTJun-ichi Sakamoto
 
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点Jun-ichi Sakamoto
 
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを 開発できる Blazor ― その魅力Jun-ichi Sakamoto
 
Azure App Service Authentication
Azure App Service AuthenticationAzure App Service Authentication
Azure App Service AuthenticationJun-ichi Sakamoto
 
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」Jun-ichi Sakamoto
 
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編Jun-ichi Sakamoto
 
Ohotech特盛#14 セッション4 予告編
Ohotech特盛#14 セッション4 予告編Ohotech特盛#14 セッション4 予告編
Ohotech特盛#14 セッション4 予告編Jun-ichi Sakamoto
 
CLR/H 第99回勉強会ライトニングトーク
CLR/H 第99回勉強会ライトニングトークCLR/H 第99回勉強会ライトニングトーク
CLR/H 第99回勉強会ライトニングトークJun-ichi Sakamoto
 
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―Jun-ichi Sakamoto
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!Jun-ichi Sakamoto
 
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみたJun-ichi Sakamoto
 
One horror stories around NuGet
One horror stories around NuGetOne horror stories around NuGet
One horror stories around NuGetJun-ichi Sakamoto
 
How to automated test a web application with sending e mail feature
How to automated test a web application with sending e mail featureHow to automated test a web application with sending e mail feature
How to automated test a web application with sending e mail featureJun-ichi Sakamoto
 
セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!Jun-ichi Sakamoto
 
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!Jun-ichi Sakamoto
 
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-Jun-ichi Sakamoto
 

More from Jun-ichi Sakamoto (20)

C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へC# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
 
Pre-render Blazor WebAssembly on static web hosting at publishing time
Pre-render Blazor WebAssembly on static web hosting at publishing timePre-render Blazor WebAssembly on static web hosting at publishing time
Pre-render Blazor WebAssembly on static web hosting at publishing time
 
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LTAzure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
 
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
 
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
 
Azure App Service Authentication
Azure App Service AuthenticationAzure App Service Authentication
Azure App Service Authentication
 
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
 
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
 
Ohotech特盛#14 セッション4 予告編
Ohotech特盛#14 セッション4 予告編Ohotech特盛#14 セッション4 予告編
Ohotech特盛#14 セッション4 予告編
 
CLR/H 第99回勉強会ライトニングトーク
CLR/H 第99回勉強会ライトニングトークCLR/H 第99回勉強会ライトニングトーク
CLR/H 第99回勉強会ライトニングトーク
 
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
 
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
 
One horror stories around NuGet
One horror stories around NuGetOne horror stories around NuGet
One horror stories around NuGet
 
How to automated test a web application with sending e mail feature
How to automated test a web application with sending e mail featureHow to automated test a web application with sending e mail feature
How to automated test a web application with sending e mail feature
 
セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!
 
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
 
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
 

Recently uploaded

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

ASP.NET SignalR によるクイズWebアプリ 「みんなで同時プレイするWebアプリでCodeQuizに挑戦!」