LightNode - Micro RPC/REST Framework

Yoshifumi Kawai
Yoshifumi KawaiCTO at Cysharp
LightNode - Micro RPC/REST Framework

2014/01/18
Yoshifumi Kawai - @neuecc
Self Introduction
@仕事
株式会社グラニ 取締役CTO

C# 5.0 + .NET Framework 4.5 + ASP.NET MVC 5
最先端C#によるハイパフォーマンスWebアプリケーション

@個人活動
Microsoft MVP for Visual C#

Web http://neue.cc/
Twitter @neuecc
linq.js - http://linqjs.codeplex.com/ とか作ってます
OWIN

Open Web Interface for .NET
HttpApplication Pipeline

BeginRequest イベントを発生します。
AuthenticateRequest イベントを発生します。
PostAuthenticateRequest イベントを発生します。
AuthorizeRequest イベントを発生します。
PostAuthorizeRequest イベントを発生します。
ResolveRequestCache イベントを発生します。
PostResolveRequestCache イベントを発生します。
MapRequestHandler イベントを発生します。
PostMapRequestHandler イベントを発生します。
AcquireRequestState イベントを発生します。
PostAcquireRequestState イベントを発生します。
PreRequestHandlerExecute イベントを発生します。
要求に対応する IHttpHandler クラスの ProcessRequest メソッド (または非
同期バージョンの IHttpAsyncHandler.BeginProcessRequest) を呼び出します。
PostRequestHandlerExecute イベントを発生します。
ReleaseRequestState イベントを発生します。
PostReleaseRequestState イベントを発生します。
UpdateRequestCache イベントを発生します。
PostUpdateRequestCache イベントを発生します。
LogRequest イベントを発生します。
Owin Pipeline
Request

OWIN Middleware

Framework

Response
Middleware
// Middleware = AppFunc のコードイメージ
try
{
// 実行前アクション(外側から円の中央へ向かう)
// AppFunc = Func<IDictionary<string, object>, Task>;

await next(env); // 一つ円の内側へ

OWIN Middleware

Framework

// 実行後アクション(円の中央から外側へ向かう)
}
catch
{
// 例外時アクション
}
finally
{
// Middleware終了時アクション
}
Middleware
// Middleware = AppFunc のコードイメージ
try
{
// 実行前アクション(外側から円の中央へ向かう)
// AppFunc = Func<IDictionary<string, object>, Task>;

await next(env); // 一つ円の内側へ

OWIN Middleware

// 実行後アクション(円の中央から外側へ向かう)

}
catch
{
// 例外時アクション
Framework
}
finally
FramworkとMiddlewareの間に特に違い
{
はない、処理内容が大きなものや、後続
// Middleware終了時アクション
にチェーンしないものを、便宜的にフ
}

レームワークと呼んでいる(私は)
LightNode

.NET’s Fastest REST Framework
LightNodeとは
Micro RPC/REST Framework
http://neuecc.github.io/LightNode/
ASP.NET Web APIとかと同種の代物
超絶Lightweight、超簡単にサーバーAPIが作れる
パフォーマンスも超絶凄い、.NET最速
クライアントサイドのコード自動生成機能付き

OWIN上で構築されている
最先端!

開発した理由は主にここ
サーバーとクライアント、両方開発する時
最大のネックとなるから
(自動生成でもSOAP/WCFは嫌だお)
Demo...

Create API Server and Upload to Azure Web Sites in 5 Minutes
Fastest!
フレームワークでは最速!
これより速いのは生ハンドラのみ
Conclusion
まとめ
未だかつてない簡単さ、しかも超高速
http://neuecc.github.io/LightNode/
Give Me Star!
簡単なの超大事、ASP.NET Web APIイラね

Azure Web Sitesイイね
超絶スピードで公開可能
勿論、ふつーのWindows Serverにもデプロイできますよ
1 of 13

Recommended

C#の強み、或いは何故PHPから乗り換えるのか by
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
142.7K views27 slides
RespClient - Minimal Redis Client for PowerShell by
RespClient - Minimal Redis Client for PowerShellRespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShellYoshifumi Kawai
2.9K views12 slides
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践 by
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践Yoshifumi Kawai
191.4K views62 slides
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery by
LINQPad with LINQ to BigQuery - Desktop Client for BigQueryLINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQueryYoshifumi Kawai
5.2K views14 slides
The History of Reactive Extensions by
The History of Reactive ExtensionsThe History of Reactive Extensions
The History of Reactive ExtensionsYoshifumi Kawai
60.8K views23 slides
How to Make Own Framework built on OWIN by
How to Make Own Framework built on OWINHow to Make Own Framework built on OWIN
How to Make Own Framework built on OWINYoshifumi Kawai
38.1K views54 slides

More Related Content

What's hot

.NET最先端技術によるハイパフォーマンスウェブアプリケーション by
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーションYoshifumi Kawai
49.8K views55 slides
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例 by
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Yoshifumi Kawai
125.1K views42 slides
20140329 modern logging and data analysis pattern on .NET by
20140329 modern logging and data analysis pattern on .NET20140329 modern logging and data analysis pattern on .NET
20140329 modern logging and data analysis pattern on .NETTakayoshi Tanaka
5.9K views58 slides
A Framework for LightUp Applications of Grani by
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of GraniYoshifumi Kawai
51.8K views45 slides
Implements OpenTelemetry Collector in DotNet by
Implements OpenTelemetry Collector in DotNetImplements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNetYoshifumi Kawai
42.6K views21 slides
OWIN って何? by
OWIN って何?OWIN って何?
OWIN って何?miso- soup3
24.9K views39 slides

What's hot(20)

.NET最先端技術によるハイパフォーマンスウェブアプリケーション by Yoshifumi Kawai
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
Yoshifumi Kawai49.8K views
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例 by Yoshifumi Kawai
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai125.1K views
20140329 modern logging and data analysis pattern on .NET by Takayoshi Tanaka
20140329 modern logging and data analysis pattern on .NET20140329 modern logging and data analysis pattern on .NET
20140329 modern logging and data analysis pattern on .NET
Takayoshi Tanaka5.9K views
A Framework for LightUp Applications of Grani by Yoshifumi Kawai
A Framework for LightUp Applications of GraniA Framework for LightUp Applications of Grani
A Framework for LightUp Applications of Grani
Yoshifumi Kawai51.8K views
Implements OpenTelemetry Collector in DotNet by Yoshifumi Kawai
Implements OpenTelemetry Collector in DotNetImplements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNet
Yoshifumi Kawai42.6K views
OWIN って何? by miso- soup3
OWIN って何?OWIN って何?
OWIN って何?
miso- soup324.9K views
Pythonで始めるWebアプリケーション開発 by Takahiro Kubo
Pythonで始めるWebアプリケーション開発Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発
Takahiro Kubo18.7K views
MagicOnion~C#でゲームサーバを開発しよう~ by torisoup
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup25.9K views
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方 by Yuta Matsumura
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
Yuta Matsumura4.7K views
Multipeer connectivityを使った 動画のリアルタイム端末間共有 by Imajin Kawabe
Multipeer connectivityを使った 動画のリアルタイム端末間共有Multipeer connectivityを使った 動画のリアルタイム端末間共有
Multipeer connectivityを使った 動画のリアルタイム端末間共有
Imajin Kawabe6.5K views
True Cloud Native Batch Workflow for .NET with MicroBatchFramework by Yoshifumi Kawai
True Cloud Native Batch Workflow for .NET with MicroBatchFrameworkTrue Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
Yoshifumi Kawai33.1K views
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能 by Yoshifumi Kawai
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai42.8K views
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践 by Yoshifumi Kawai
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai253.5K views
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現 by Yoshifumi Kawai
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai4.8K views
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー by Yoshifumi Kawai
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai42.9K views
Write slides and books in VSCode + Markdown by ロフト くん
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
ロフト くん738 views
React NativeでTwitterクライアントを作ってみよう by dcubeio
React NativeでTwitterクライアントを作ってみようReact NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
dcubeio6K views
今から始める、Windows 10&新.NETへの移行戦略 by 信之 岩永
今から始める、Windows 10&新.NETへの移行戦略今から始める、Windows 10&新.NETへの移行戦略
今から始める、Windows 10&新.NETへの移行戦略
信之 岩永2.2K views
Idcfクラウド 初心者の事始め(2)資料 by Takako Miyagawa
Idcfクラウド 初心者の事始め(2)資料Idcfクラウド 初心者の事始め(2)資料
Idcfクラウド 初心者の事始め(2)資料
Takako Miyagawa1.6K views

Similar to LightNode - Micro RPC/REST Framework

~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション by
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーションAkira Inoue
3.9K views38 slides
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像 by
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像Akira Inoue
2.8K views51 slides
Spring BootでHello Worldのその先へ by
Spring BootでHello Worldのその先へSpring BootでHello Worldのその先へ
Spring BootでHello Worldのその先へMasatoshi Fujino
6.4K views44 slides
VSCodeで始めるAzure Static Web Apps開発 by
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
986 views36 slides
ASP.NET WEB API 開発体験 by
ASP.NET WEB API 開発体験ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験miso- soup3
44.3K views33 slides
Mvc conf session_1_osada by
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osadaHiroshi Okunushi
9.7K views58 slides

Similar to LightNode - Micro RPC/REST Framework(20)

~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション by Akira Inoue
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Akira Inoue3.9K views
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像 by Akira Inoue
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
Akira Inoue2.8K views
Spring BootでHello Worldのその先へ by Masatoshi Fujino
Spring BootでHello Worldのその先へSpring BootでHello Worldのその先へ
Spring BootでHello Worldのその先へ
Masatoshi Fujino6.4K views
VSCodeで始めるAzure Static Web Apps開発 by Yuta Matsumura
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura986 views
ASP.NET WEB API 開発体験 by miso- soup3
ASP.NET WEB API 開発体験ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
miso- soup344.3K views
jQuery と MVC で実践する標準志向 Web 開発 by Akira Inoue
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue1.9K views
Hands on PhotoBlog App with WordPress REST API and App Inventor by Hong Chen
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen6.3K views
Kubernetes Operator for vSphere VM by Masanori Nara
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VM
Masanori Nara2K views
ボット開発でも DevOps! BotBuilder のテスト手法 by Kenichiro Nakamura
ボット開発でも DevOps! BotBuilder のテスト手法ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法
Kenichiro Nakamura695 views
マイクロソフトWeb開発の今と今後 by Akira Inoue
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue6.5K views
OpenStack APIを使った新しいアプリケーションモデル by API Meetup
OpenStack APIを使った新しいアプリケーションモデルOpenStack APIを使った新しいアプリケーションモデル
OpenStack APIを使った新しいアプリケーションモデル
API Meetup 1.3K views
Asp.net core mvc の core な話 by Masuda Tomoaki
Asp.net core mvc の core な話Asp.net core mvc の core な話
Asp.net core mvc の core な話
Masuda Tomoaki242 views
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える by david9142
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david91422.2K views
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります by fukuoka.ex
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますElixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
fukuoka.ex3K views
Webrtc bootcamp handson by mganeko
Webrtc bootcamp handsonWebrtc bootcamp handson
Webrtc bootcamp handson
mganeko1.5K views
.NET Coreから概観する.NETのOSSへの取り組み by Kouji Matsui
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui5.7K views
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21 by Takakiyo Tanaka
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka4.7K views

More from Yoshifumi Kawai

A quick tour of the Cysharp OSS by
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSYoshifumi Kawai
60.3K views20 slides
A Brief History of UniRx/UniTask, IUniTaskSource in Depth by
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthYoshifumi Kawai
1.9K views19 slides
Building the Game Server both API and Realtime via c# by
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Yoshifumi Kawai
53.8K views67 slides
Deep Dive async/await in Unity with UniTask(EN) by
Deep Dive async/await in Unity with UniTask(EN)Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)Yoshifumi Kawai
36.4K views61 slides
The Usage and Patterns of MagicOnion by
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
46.9K views53 slides
Memory Management of C# with Unity Native Collections by
Memory Management of C# with Unity Native CollectionsMemory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native CollectionsYoshifumi Kawai
64.6K views36 slides

More from Yoshifumi Kawai(20)

A quick tour of the Cysharp OSS by Yoshifumi Kawai
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai60.3K views
A Brief History of UniRx/UniTask, IUniTaskSource in Depth by Yoshifumi Kawai
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai1.9K views
Building the Game Server both API and Realtime via c# by Yoshifumi Kawai
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai53.8K views
Deep Dive async/await in Unity with UniTask(EN) by Yoshifumi Kawai
Deep Dive async/await in Unity with UniTask(EN)Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)
Yoshifumi Kawai36.4K views
The Usage and Patterns of MagicOnion by Yoshifumi Kawai
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai46.9K views
Memory Management of C# with Unity Native Collections by Yoshifumi Kawai
Memory Management of C# with Unity Native CollectionsMemory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native Collections
Yoshifumi Kawai64.6K views
Deep Dive async/await in Unity with UniTask(UniRx.Async) by Yoshifumi Kawai
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai105.6K views
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する by Yoshifumi Kawai
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai74.7K views
RuntimeUnitTestToolkit for Unity(English) by Yoshifumi Kawai
RuntimeUnitTestToolkit for Unity(English)RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)
Yoshifumi Kawai17.5K views
RuntimeUnitTestToolkit for Unity by Yoshifumi Kawai
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai70.2K views
NextGen Server/Client Architecture - gRPC + Unity + C# by Yoshifumi Kawai
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai78.8K views
How to make the Fastest C# Serializer, In the case of ZeroFormatter by Yoshifumi Kawai
How to make the Fastest C# Serializer, In the case of ZeroFormatterHow to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai8K views
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法 by Yoshifumi Kawai
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai54.1K views
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC by Yoshifumi Kawai
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai48.7K views
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの... by Yoshifumi Kawai
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai56.5K views
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ... by Yoshifumi Kawai
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Yoshifumi Kawai4.6K views
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用 by Yoshifumi Kawai
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai52K views
Clash of Oni Online - VR Multiplay Sword Action by Yoshifumi Kawai
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
Yoshifumi Kawai37.6K views

Recently uploaded

概念モデリングワークショップ 基礎編 by
概念モデリングワークショップ 基礎編概念モデリングワークショップ 基礎編
概念モデリングワークショップ 基礎編Knowledge & Experience
19 views71 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
217 views33 slides
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
185 views63 slides
01Booster Studio ご紹介資料 by
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料ssusere7a2172
220 views19 slides
概念モデリングワークショップ 設計編 by
概念モデリングワークショップ 設計編概念モデリングワークショップ 設計編
概念モデリングワークショップ 設計編Knowledge & Experience
10 views37 slides

Recently uploaded(8)

マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
01Booster Studio ご紹介資料 by ssusere7a2172
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料
ssusere7a2172220 views
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之83 views

LightNode - Micro RPC/REST Framework

  • 1. LightNode - Micro RPC/REST Framework 2014/01/18 Yoshifumi Kawai - @neuecc
  • 2. Self Introduction @仕事 株式会社グラニ 取締役CTO C# 5.0 + .NET Framework 4.5 + ASP.NET MVC 5 最先端C#によるハイパフォーマンスWebアプリケーション @個人活動 Microsoft MVP for Visual C# Web http://neue.cc/ Twitter @neuecc linq.js - http://linqjs.codeplex.com/ とか作ってます
  • 4. HttpApplication Pipeline BeginRequest イベントを発生します。 AuthenticateRequest イベントを発生します。 PostAuthenticateRequest イベントを発生します。 AuthorizeRequest イベントを発生します。 PostAuthorizeRequest イベントを発生します。 ResolveRequestCache イベントを発生します。 PostResolveRequestCache イベントを発生します。 MapRequestHandler イベントを発生します。 PostMapRequestHandler イベントを発生します。 AcquireRequestState イベントを発生します。 PostAcquireRequestState イベントを発生します。 PreRequestHandlerExecute イベントを発生します。 要求に対応する IHttpHandler クラスの ProcessRequest メソッド (または非 同期バージョンの IHttpAsyncHandler.BeginProcessRequest) を呼び出します。 PostRequestHandlerExecute イベントを発生します。 ReleaseRequestState イベントを発生します。 PostReleaseRequestState イベントを発生します。 UpdateRequestCache イベントを発生します。 PostUpdateRequestCache イベントを発生します。 LogRequest イベントを発生します。
  • 6. Middleware // Middleware = AppFunc のコードイメージ try { // 実行前アクション(外側から円の中央へ向かう) // AppFunc = Func<IDictionary<string, object>, Task>; await next(env); // 一つ円の内側へ OWIN Middleware Framework // 実行後アクション(円の中央から外側へ向かう) } catch { // 例外時アクション } finally { // Middleware終了時アクション }
  • 7. Middleware // Middleware = AppFunc のコードイメージ try { // 実行前アクション(外側から円の中央へ向かう) // AppFunc = Func<IDictionary<string, object>, Task>; await next(env); // 一つ円の内側へ OWIN Middleware // 実行後アクション(円の中央から外側へ向かう) } catch { // 例外時アクション Framework } finally FramworkとMiddlewareの間に特に違い { はない、処理内容が大きなものや、後続 // Middleware終了時アクション にチェーンしないものを、便宜的にフ } レームワークと呼んでいる(私は)
  • 9. LightNodeとは Micro RPC/REST Framework http://neuecc.github.io/LightNode/ ASP.NET Web APIとかと同種の代物 超絶Lightweight、超簡単にサーバーAPIが作れる パフォーマンスも超絶凄い、.NET最速 クライアントサイドのコード自動生成機能付き OWIN上で構築されている 最先端! 開発した理由は主にここ サーバーとクライアント、両方開発する時 最大のネックとなるから (自動生成でもSOAP/WCFは嫌だお)
  • 10. Demo... Create API Server and Upload to Azure Web Sites in 5 Minutes
  • 13. まとめ 未だかつてない簡単さ、しかも超高速 http://neuecc.github.io/LightNode/ Give Me Star! 簡単なの超大事、ASP.NET Web APIイラね Azure Web Sitesイイね 超絶スピードで公開可能 勿論、ふつーのWindows Serverにもデプロイできますよ