SlideShare a Scribd company logo
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Work
C#
Unity
Private
http://neue.cc/
@neuecc
https://github.com/neuecc/UniRx
Message Format
XML
JSON
Protocol Buffers
MsgPack
Thrift
Avro
FlatBuffers
Cap’n Proto
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
パフォーマンス #とは
その他
遅い、(特に)(古い)Android遅い...
遅い、(特に)(古い)Android遅い...
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
秘訣は...
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
無限大高速なシリアライザ
https://github.com/neuecc/ZeroFormatter/
シリアライズも速い
無限大高速なシリアライザ
https://github.com/neuecc/ZeroFormatter/
シリアライズも速い
アクセサーとしてのオブジェクト
全部は必要ない
C#自体をスキーマとみなす
継承みたいなやつをネイティブサポート
[Union(typeof(Human), typeof(Monster))]
public interface ICharacter
{
[UnionKey]
int TypeId { get; }
}
public class Human : ICharacter
{
public int TypeId => 0;
}
public class Monster : ICharacter
{
public int TypeId => 1;
}
Welcome to contribute!
Ruby
https://github.com/aki017/zero_formatter
Swift
https://github.com/yaslab/ZeroFormatter.swift
RPC
言語の違うREST
Response型を別々
に書く
APIクライアント
を手書きする
(ザ・マイクロ
サービスみたいな
構成)
言語の違うREST
Response型を別々
に書く
APIクライアント
を手書きする
(ザ・マイクロ
サービスみたいな
構成)
中間IDLを書く
そこからクライア
ント・レスポンス
型自動生成
(←を嫌う時によ
くある構成、一番
メジャー)
自動生成はダルい
自動化は(必ずしも)よくない
言語の違うREST
Response型を別々
に書く
APIクライアント
を手書きする
(ザ・マイクロ
サービスみたいな
構成)
中間IDLを書く
そこからクライア
ント・レスポンス
型自動生成
(←を嫌う時によ
くある構成、一番
メジャー)
サービスを普通に
書く、そこからク
ライアントを自動
生成、リクエス
ト・レスポンス型
はC#のDLLとして
共有
言語の違うREST
Response型を別々
に書く
APIクライアント
を手書きする
(ザ・マイクロ
サービスみたいな
構成)
中間IDLを書く
そこからクライア
ント・レスポンス
型自動生成
(←を嫌う時によ
くある構成、一番
メジャー)
サービスを普通に
書く、そこからク
ライアントを自動
生成、リクエス
ト・レスポンス型
はC#のDLLとして
共有
サービスを普通に
書く、クライアン
トはそのプロジェ
クト参照から実行
時動的生成
gRPC based C# Network Framework
gRPCの性能や安定性 + C#的な使いやすさ
public class TestService : MagicOnionService
{
// ふつーにpublicメソッドを定義するだけ
public async Task<int> Sum(int x, int y)
{
return x + y;
}
public async Task<string> Download(string url)
{
// 非同期もasync/await構文で同期的にOK
var result = await new HttpClient().GetStringAsync(url);
return result;
}
}
// ふつーのgRPCのコネクション
var channel = new Channel("127.0.0.1:12345");
// .Service<T>でクライアントが実行時動的生成されてシームレスに呼び出し可能
var result = await new MagicOnionClient(channel).Service<TestService>().Sum(100, 200);
struct ZeroFormatter$AutoGenerate$1
{
public int x;
public int y;
}
gRPC IN(byte[])
gRPC OUT(byte[])
RPC Method
Middleware
IDL Less HandlerSelector
HTTP1 Gateway
Swagger
SerializerSelector(ZeroFormatter, JSON)
機能
Conclusion
C#で統一することの強み
言語単体で優劣を語ってもそこまで意味はない
XはY言語だから出来た!という話は、大抵は別にPHPでもCでもな
んでも、普通に出来る次元の話がほとんど。特に関数型言語の人に多い話な気もしますが
が、システム全体で統一していくことにより、強みを乗算する
単一であることの弱みは当然ある(No Silver Bullet)が、それを遥か
に勝る強みを作っていくことで最高の環境にしていきたい
(Windows Serverに対するコダワリはないのでLinuxでは動かしたい!)
パフォーマンスは最大の機能
ZeroFormatterもMagicOnionも、それを最も強く意識してる
using
Ad

Recommended

ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
 
Mono is Dead
Mono is Dead
melpon
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
 
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
Yuto Takei
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
 
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
Yoshifumi Kawai
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
 
Inside FastEnum
Inside FastEnum
Takaaki Suzuki
 
QtとC++でGUIプログラミング
QtとC++でGUIプログラミング
seanchas_t
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
 
C# 8.0 非同期ストリーム
C# 8.0 非同期ストリーム
信之 岩永
 
Rxに入門しようとしている
Rxに入門しようとしている
onotchi_
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
 
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
 
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
 
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
Masahiro Wakame
 
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
 
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
Yoshifumi Kawai
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
 
Binary Reading in C#
Binary Reading in C#
Yoshifumi Kawai
 

More Related Content

What's hot (19)

Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
 
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
Yoshifumi Kawai
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
 
Inside FastEnum
Inside FastEnum
Takaaki Suzuki
 
QtとC++でGUIプログラミング
QtとC++でGUIプログラミング
seanchas_t
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
 
C# 8.0 非同期ストリーム
C# 8.0 非同期ストリーム
信之 岩永
 
Rxに入門しようとしている
Rxに入門しようとしている
onotchi_
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
 
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
 
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
 
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
Masahiro Wakame
 
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
 
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
Yoshifumi Kawai
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
 
QtとC++でGUIプログラミング
QtとC++でGUIプログラミング
seanchas_t
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
 
C# 8.0 非同期ストリーム
C# 8.0 非同期ストリーム
信之 岩永
 
Rxに入門しようとしている
Rxに入門しようとしている
onotchi_
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
 
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
 
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
 
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
Masahiro Wakame
 
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
 

Viewers also liked (20)

Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
Yoshifumi Kawai
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
 
Binary Reading in C#
Binary Reading in C#
Yoshifumi Kawai
 
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
Unity Technologies Japan K.K.
 
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
Takaaki Suzuki
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
Akira Inoue
 
DeclarativeSql
DeclarativeSql
Takaaki Suzuki
 
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
 
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Yoshifumi Kawai
 
History & Practices for UniRx(EN)
History & Practices for UniRx(EN)
Yoshifumi Kawai
 
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
Yoshifumi Kawai
 
linq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScript
Yoshifumi Kawai
 
linq.js ver.3 and JavaScript in Visual Studio 2012
linq.js ver.3 and JavaScript in Visual Studio 2012
Yoshifumi Kawai
 
RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)
Yoshifumi Kawai
 
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
慎一 古賀
 
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
Insight Technology, Inc.
 
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
 
LINQ in Unity
LINQ in Unity
Yoshifumi Kawai
 
Introduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGenerator
Yoshifumi Kawai
 
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
Yoshifumi Kawai
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
 
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
Unity Technologies Japan K.K.
 
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
Takaaki Suzuki
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
Akira Inoue
 
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
 
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Yoshifumi Kawai
 
History & Practices for UniRx(EN)
History & Practices for UniRx(EN)
Yoshifumi Kawai
 
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
Yoshifumi Kawai
 
linq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScript
Yoshifumi Kawai
 
linq.js ver.3 and JavaScript in Visual Studio 2012
linq.js ver.3 and JavaScript in Visual Studio 2012
Yoshifumi Kawai
 
RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)
Yoshifumi Kawai
 
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
慎一 古賀
 
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
Insight Technology, Inc.
 
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
 
Introduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGenerator
Yoshifumi Kawai
 
Ad

Similar to ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC (20)

Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
 
C#勉強会
C#勉強会
hakugakucafe
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
 
真Drone入門
真Drone入門
Yutaka Matsubara
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
 
Drone.io のご紹介
Drone.io のご紹介
Uchio Kondo
 
Metahub for github
Metahub for github
Suguru Oho
 
「AROW」お披露目(実用編)
「AROW」お披露目(実用編)
Drecom Co., Ltd.
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
 
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
 
Drone.io のご紹介
Drone.io のご紹介
Uchio Kondo
 
Metahub for github
Metahub for github
Suguru Oho
 
「AROW」お披露目(実用編)
「AROW」お披露目(実用編)
Drecom Co., Ltd.
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
 
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
 
Ad

More from Yoshifumi Kawai (9)

A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
 
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
 
Implements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNet
Yoshifumi Kawai
 
Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)
Yoshifumi Kawai
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai
 
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
Yoshifumi Kawai
 
Memory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native Collections
Yoshifumi Kawai
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
 
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
 
Implements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNet
Yoshifumi Kawai
 
Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)
Yoshifumi Kawai
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai
 
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
Yoshifumi Kawai
 
Memory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native Collections
Yoshifumi Kawai
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
 

Recently uploaded (7)

Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
Takuma Oda
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
 
色について.pptx .
色について.pptx .
iPride Co., Ltd.
 
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
Takuma Oda
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
 

ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC