SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
OWIN-.NETにおけるPSGI - 
2014/12/13 -#nds39 
TAKANO Sho(高野将)/ @masaru_b_cl
自己紹介 
プログラマー兼業家政夫 
お父さん業も取り扱っております 
CodeZine等で執筆業も 
懐かしのLTSV祭りのときのC#実装”DynamicLTSV”の中の人 http://rebuild.fm/1https://gist.github.com/akiyan/5010610#ltsv--0004526 
#nds39 2
Agenda 
OWINとは? 
OWINの概要 
OWINの実装 
OWINのホスティング 
そしてASP.NET 5へ 
#nds39 3
OWINとは? 
#nds39 4
OWINとは? 
OWIN—Open Web Interface for .NEThttp://owin.org/ 
“OWIN defines a standard interface between.NET web servers and web applications.” 
”OWINは.NET WebサーバーとWebアプリケーション間の 標準インターフェースを定める。” 
#nds39 5
どういうことか? 
旧来の.NET Webアプリケーション構成 
IIS 
.NET Webアプリ 
IIS(Internet Information Service)*と不可分 * Windows Serverに搭載されたWebサーバーコンポーネント 
#nds39 6 
HTTP(S)
どういうことか? 
IISと密に結合していることで…… 
リクエストパイプライン処理などが重い 
ポータブルでない 
Windows以外で動かない 
#nds39 7
OWINでどうなるか? 
OWINのWebアプリケーション構成 
IIS等の 
Webサーバー 
.NET 
Webアプリ 
IISから解放される 
#nds39 8 
OWIN 
HTTP(S)
OWINでどうなるか? 
したがって…… 
Windows 
サービス* 
or コンソール アプリ 
.NET 
Webアプリ 
IIS以外でセルフホストすることもできる 
* POSIX環境でいうdaemon 
#nds39 9 
OWIN 
HTTP(S)
OWINでどうなるか? 
さらに…… 
コンソール アプリ 
.NET 
Webアプリ 
Mac、Linux上のMono*でもホストできる * .NET FrameworkランタイムのOSS実装 
#nds39 10 
OWIN 
HTTP(S) 
Mono 
on 
Mac, Linux
OWINの概要 
#nds39 11
OWINの概要 
OWINは先述の通りインターフェース定義 
つまり、あくまで仕様 
OWIN 1.0 Specificationhttp://owin.org/spec/spec/owin-1.0.0.html 
#nds39 12
OWINの概要 
PerlでいうPSGI、PythonでいうWSGIにあたる 
PSGI -search.cpan.orghttp://search.cpan.org/~miyagawa/PSGI-1.102/PSGI.pod 
WSGI —WSGI.orghttp://wsgi.readthedocs.org 
#nds39 13
OWINの仕様 
OWINでは以下のapplication delegate(AppFunc)にて パイプライン処理を行う 
#nds39 14 
using AppFunc= Func< 
IDictionary<string, object>, // Environment 
Task>; // Done
OWINの仕様 
Enviromment 
型: IDictionary<string, object> 
OWINのパイプラインに必要なすべての情報を格納する ハッシュテーブル 
文字列をキーとして、最も汎用的な型であるobject型で 各情報を持つ 
キーの値はOWINの仕様で定められた他、 独自のキーを使用することもできる 
#nds39 15
OWINの仕様 
Done 
型: Task 
OWINのパイプラインの次の処理を呼び出す非同期動作 
呼び出すことでパイプライン処理を次に進める 
呼び出さなければパイプライン処理を打ち切る 
#nds39 16
OWINの処理イメージ 
AppFuncの一つ一つがOWINミドルウェアと呼ばれる 
OWINミドルウェアではEnvironmentの情報の出し入れを行う 
Doneタスクでコアに向かってパイプラインを進める 
#nds39 17 
“owin.RequestMethod” 
“GET” 
“owin.RequestHeaders 
ハッシュテーブル 
: 
: 
Environment 
AppFunc1 
AppFunc2 
AppFuncCore 
… 
Request 
Response 
Done 
Done
OWINの処理イメージ 
OWINミドルウェアのそれぞれは小さな一つの処理を担当する 
エラーハンドリング、キャッシュ、ルーティング、セッション、etc… 
このミドルウェアを柔軟に組み合わせることで、拡張性に優れた Webアプリケーションを構築する 
WSGIのタマネギのイメージ 
#nds39 18 
※イメージはここから参照 
Concepts of Pylons —Pylons Framework 1.0.1 documentationhttp://docs.pylonsproject.org/projects/pylons- webframework/en/latest/concepts.html#wsgi-middleware
OWINの実装 
#nds39 19
OWINの実装 
OWINは仕様でありその実装が必要 
PSGIにおけるPlack等 
WSGIにおけるPylons等 
Owinのインターフェース定義はOwin.dll 
#nds39 20
OWINの実装 
アプリケーションフレームワークの デファクトスタンダードはKatanaプロジェクト 
その他の実装 
Nowin 
サーバー、ホスト環境 
Freya 
F#実装 
#nds39 21
Katanaプロジェクト 
Microsoftによるリファレンス実装 
Owin.dllをラップするMicrosoft.Owin名前空間 
素のOwin.dllではやはりつらい 
生のキーを使ったダウンキャストの嵐 
Microsoft.Owinを使うことで簡単に実装できる 
型安全 
ミドルウェア基底型 
#nds39 22
コード例(Hello World) 
Plack 
#nds39 23 
my$app = sub{ 
return[ 
200, 
[ 'Content-Type'=> 'text/plain'], 
[ 'Hello World'] 
]; 
}; 
※PlackHandbook | Day 2: Hello World より 
https://github.com/miyagawa/plack-handbook/blob/master/ja%2F02_hello_world.md
コード例(Hello World) 
Microsoft.Owin 
#nds39 24 
publicclassStartup 
{ 
publicvoidConfiguration(IAppBuilderapp) 
{ 
app.Run(asynccontext => 
{ 
varresponse = context.Response; 
response.StatusCode= 200; 
response.ContentType= "text/plain"; 
awaitresponse.WriteAsync("Hello World"); 
}); 
} 
} 
※Getting Started with OWIN and Katana | The ASP.NET Site より 
http://www.asp.net/aspnet/overview/owin-and-katana/getting-started-with-owin-and-katana
コード例(Hello World) 
DEMO 
#nds39 25 
•Hello World
コード例(ミドルウェア) 
Plack 
#nds39 26 
usePlack::Builder; 
my$app = sub{ ... }; 
builder{ 
enable"SomeMiddleware"; 
$app; 
}; 
※PlackHandbook | Day 10: Plackミドルウェアの利用より 
https://github.com/miyagawa/plack-handbook/blob/master/ja%2F10_using_plack_middleware.md
コード例(ミドルウェア) 
Microsoft.Owin 
#nds39 27 
publicclassStartup 
{ 
publicvoidConfiguration(IAppBuilderapp) 
{ 
app.Use(async(context, next) => 
{ 
... 
awaitnext(); 
}); 
app.Run(asynccontext => ...); 
} 
} 
※neuecc -OWINのパイプラインとMiddleware作成ガイドより 
http://neue.cc/2014/01/06_442.html
コード例(ミドルウェア) 
Microsoft.Owin 
#nds39 28 
publicclassStartup 
{ 
publicvoidConfiguration(IAppBuilderapp) 
{ 
... 
app.Use<SomeMiddleware>(someOption); 
app.Run(asynccontext => ...); 
} 
} 
※neuecc -OWINのパイプラインとMiddleware作成ガイドより 
http://neue.cc/2014/01/06_442.html
コード例(ミドルウェア) 
DEMO 
#nds39 29 
•インラインでのミドルウェア記述 
•独立したミドルウェアの使用 
•Basic認証ミドルウェアの使用
OWINのホスティング 
#nds39 30
OWINのホスティング 
IISホスト 
開発IIS Express 
テストIIS 
運用IIS / Azure Web Site 
セルフホスト 
Console App 
Herokuwith Mono 
Windows Service 
#nds39 31
IISホストAzure Web Site 
DEMO 
#nds39 32 
•http://nds39-owin.azurewebsites.net/
セルフホストHerokuwith Mono 
DEMO 
#nds39 33 
•https://nds39-owin.herokuapp.com/
そしてASP.NET 5へ 
#nds39 34
次のASP.NET 
2系統に分かれる 
ASP.NET 5新たな実装によるASP.NET 
ASP.NET 4.6現行ASP.NETの進化版 
ASP.NET 5は.NET Coreでも動作する 
#nds39 35
.NET Core 
.NET Frameworkのサーバーサイド部分のサブセット 
デスクトップ開発用のライブラリを含まない 
オープンソース化が決定 
.NET Core がオープンソースに http://blogs.msdn.com/b/visualstudio_jpn/archive/2014/11/13/net-core-is-open-source.aspx 
Mac、Linux向けのランタイムも提供される 
#nds39 36
.NET 2015 
#nds39 37 
http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx
ASP.NET 5でどうなるか? 
ASP.NET 5のアプリケーション構成 
IIS 
(Winのみ) 
or 
kestrel, 
セルフホスト (Win,Mac,Linux) 
.NET 
Webアプリ 
すべての主要プラットフォーム上で動作し、 ランタイムの差し替えもできる 
#nds39 38 
ASP.NET 5 
HTTP(S) 
.NET 4.6(Winのみ) or 
.NET Core 5, 
Mono(Win,Mac,Linux)
ASP.NET 5でどうなるか? 
ASP.NET 5のアプリケーション構成 
IIS 
(Winのみ) 
or 
kestrel, 
セルフホスト (Win,Mac,Linux) 
.NET 
Webアプリ 
すべての主要プラットフォーム上で動作し、 ランタイムの差し替えもできる 
#nds39 39 
ASP.NET 5 
HTTP(S) 
.NET 4.6(Winのみ) or 
.NET Core 5, 
Mono(Win,Mac,Linux) 
OWINじゃない!?
The OWIN is dead!? 
ASP.NET 5ではOWINをASP.NETのコア部分に再実装 
Microsoft.AspNet.Http名前空間 
Owin.dllへの依存はなく互換性はない 
OwinIAppBuilder 
ASP.NET 5IApplicationBuilder 
#nds39 40
Long livethe OWIN! 
OWINの概念は継承されているので、 同じようにミドルウェアを作成できる 
既存のOWINミドルウェアは互換レイヤーを使えば利用可能 
ASP.NET 4.6では現行のOWIN実装しか使えない 
#nds39 41
ASP.NET 5 Preview 
DEMO 
#nds39 42 
•Basic認証ミドルウェアの使用
Conclusion 
#nds39 43
Conclusion 
OWINはWebサーバーとWebアプリ間の インターフェース定義 
PerlでいうPSGIにあたる 
ミドルウェアを組み合わせて柔軟でプラガブルな構成 
OWINはIISに囚われない 
セルフホストが可能 
Monoでも動作する 
#nds39 44
Conclusion 
リファレンス実装はKatanaプロジェクト 
Microsoft.Owin 
ASP.NET5ではKatanaプロジェクトではなく一から再実装 
Microsoft.AspNet.Http 
Windows、Mac、Linux向けの.NET Coreでも動く 
The OWIN is dead. Long live the OWIN. 
#nds39 45
Ask me any questions! 
#nds39 46

Weitere ähnliche Inhalte

Was ist angesagt?

そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?Yuta Matsumura
 
Xamarinでも有能な .NET Core
 Xamarinでも有能な .NET Core  Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core Yuta Matsumura
 
Database tools for .NET Core
Database tools for .NET CoreDatabase tools for .NET Core
Database tools for .NET CoreYuta Matsumura
 
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)WESEEKWESEEK
 
保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計についてTomomitsuKusaba
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指してAkira Inoue
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdownロフト くん
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project TyeYuta Matsumura
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCodeYuki Igarashi
 
改めて C# でできることを振り返る
改めて C# でできることを振り返る改めて C# でできることを振り返る
改めて C# でできることを振り返るYuta Matsumura
 
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】Mitsuhito Ishino
 
いつでもどこでも .NET
いつでもどこでも .NETいつでもどこでも .NET
いつでもどこでも .NETYuta Matsumura
 
これさえあれば大丈夫!Visual Studio Code 徹底解説
これさえあれば大丈夫!Visual Studio Code 徹底解説これさえあれば大丈夫!Visual Studio Code 徹底解説
これさえあれば大丈夫!Visual Studio Code 徹底解説Saki Homma
 
Windowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろうWindowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろうkeitasudo1
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ慎一 古賀
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CDYuta Matsumura
 
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Akira Inoue
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏Yuta Matsumura
 

Was ist angesagt? (20)

そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?
 
Xamarinでも有能な .NET Core
 Xamarinでも有能な .NET Core  Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core
 
Database tools for .NET Core
Database tools for .NET CoreDatabase tools for .NET Core
Database tools for .NET Core
 
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
あなたもできる!GASで勤怠入力Slack App構築【WESEEK Tech Conf #14】 (pert1)
 
保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
 
DevOps、その前に
DevOps、その前にDevOps、その前に
DevOps、その前に
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
改めて C# でできることを振り返る
改めて C# でできることを振り返る改めて C# でできることを振り返る
改めて C# でできることを振り返る
 
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】
 
いつでもどこでも .NET
いつでもどこでも .NETいつでもどこでも .NET
いつでもどこでも .NET
 
これさえあれば大丈夫!Visual Studio Code 徹底解説
これさえあれば大丈夫!Visual Studio Code 徹底解説これさえあれば大丈夫!Visual Studio Code 徹底解説
これさえあれば大丈夫!Visual Studio Code 徹底解説
 
Windowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろうWindowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろう
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 

Ähnlich wie OWIN - .NETにおけるPSGI -

.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説Akira Inoue
 
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像Akira Inoue
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた日本マイクロソフト株式会社
 
OWIN って何?
OWIN って何?OWIN って何?
OWIN って何?miso- soup3
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみたYasuhiro Yoshimura
 
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~Akira Inoue
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用de:code 2017
 
はじめての Azure 開発
はじめての Azure 開発はじめての Azure 開発
はじめての Azure 開発Yoshitaka Seo
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!Minoru Naito
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Akira Inoue
 
build 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめbuild 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめSunao Tomita
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascriptTakayoshi Tanaka
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsTadahiro Ishisaka
 

Ähnlich wie OWIN - .NETにおけるPSGI - (20)

.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
 
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
 
OWIN って何?
OWIN って何?OWIN って何?
OWIN って何?
 
About .Net vNext
About .Net vNextAbout .Net vNext
About .Net vNext
 
About .Net vNext
About .Net vNextAbout .Net vNext
About .Net vNext
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
はじめての Azure 開発
はじめての Azure 開発はじめての Azure 開発
はじめての Azure 開発
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
 
Using Windows Azure
Using Windows AzureUsing Windows Azure
Using Windows Azure
 
VM 基盤運用チームの DevOps
VM 基盤運用チームの DevOpsVM 基盤運用チームの DevOps
VM 基盤運用チームの DevOps
 
build 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめbuild 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめ
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
 

Mehr von 将 高野

新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57将 高野
 
新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55将 高野
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet将 高野
 
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51将 高野
 
仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40将 高野
 
設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35将 高野
 
Lightweight C#
Lightweight C#Lightweight C#
Lightweight C#将 高野
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)将 高野
 
Tddのすゝめ
TddのすゝめTddのすゝめ
Tddのすゝめ将 高野
 
効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法将 高野
 
Lets Enjoy C#!
Lets Enjoy C#!Lets Enjoy C#!
Lets Enjoy C#!将 高野
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World将 高野
 

Mehr von 将 高野 (15)

新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
 
新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
 
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
 
仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40
 
設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35
 
Lightweight C#
Lightweight C#Lightweight C#
Lightweight C#
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)
 
git-svn
git-svngit-svn
git-svn
 
GTD on RTM
GTD on RTMGTD on RTM
GTD on RTM
 
Tddのすゝめ
TddのすゝめTddのすゝめ
Tddのすゝめ
 
効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法
 
Choi LINQ
Choi LINQChoi LINQ
Choi LINQ
 
Lets Enjoy C#!
Lets Enjoy C#!Lets Enjoy C#!
Lets Enjoy C#!
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World
 

Kürzlich hochgeladen

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: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...Toru Tamaki
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介: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 UnderstandingToru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: 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 Gamesatsushi061452
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Kürzlich hochgeladen (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
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日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: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...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: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
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: 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
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

OWIN - .NETにおけるPSGI -