SlideShare a Scribd company logo
1 of 44
Download to read offline
河合 宜文 / Kawai Yoshifumi / @neuecc
Cysharp, Inc.
Cygames
C#大統一理論
C#
作ろう、公開しよう
なぜ?
・知識を深めるため => エンジニアとしての実力の向上
・キャリアを作るため => より高い地位や収入
両者が合わされば、更により大きなことができるようになります!
なにを、どうやって、どのように?
ということ、私自身を事例として紹介していければと思っています
#01 2009-04-04 linq.js
https://github.com/neuecc/linq.js
#02 2009-10-29 AnonymousComparer
https://github.com/neuecc/AnonymousComparer
#03 2010-04-07 DbExecutor
https://github.com/neuecc/DbExecutor
#04 2010-04-30 DynamicJson
https://github.com/neuecc/DynamicJson
#05 2010-07-15 XStreamingReader
https://github.com/neuecc/XStreamingReader
#06 2010-09-12 ReactiveOAuth
https://github.com/neuecc/ReactiveOAuth
#07 2011-02-22 ChainingAssertion
https://github.com/neuecc/ChainingAssertion
#08 2011-10-17 ReactiveProperty
https://github.com/runceel/ReactiveProperty
#09 2012-02-18 ImplicitQueryString
https://github.com/neuecc/ImplicitQueryString
#10 2012-04-02 HashMapper
http://hashmapper.codeplex.com/
#11 2012-12-03 MemcachedTranscoder
https://github.com/neuecc/MemcachedTranscoder
#12 2013-02-27 AsyncOAuth
https://github.com/neuecc/AsyncOAuth
#13 2013-04-05 CloudStructures
https://github.com/neuecc/CloudStructures
#14 2013-12-06 OwinRequestScopeContext
https://github.com/neuecc/OwinRequestScopeContext
#15 2013-12-08 Owin.RedisSession
https://github.com/neuecc/Owin.RedisSession
#16 2013-12-23 LightNode
https://github.com/neuecc/LightNode
#17 2013-12-23 RespClient
https://github.com/neuecc/RespClient
#18 2014-05-28 UniRx
https://github.com/neuecc/UniRx
#19 2014-09-24 LINQ to BigQuery
https://github.com/neuecc/LINQ-to-BigQuery
#20 2014-10-28 LINQ to GameObject
https://github.com/neuecc/LINQ-to-GameObject-for-Unity
#21 2015-01-14 Open on GitHub
https://github.com/neuecc/Open-on-GitHub
#22 2015-03-30 NotifyPropertyChangedGenerator
https://github.com/neuecc/NotifyPropertyChangedGenerator
#23 2015-11-03 EtwStream
https://github.com/neuecc/EtwStream
#24 2016-03-18 SerializableDictionary
https://github.com/neuecc/SerializableDictionary
#25 2016-05-23 MarkdownGenerator
https://github.com/neuecc/MarkdownGenerator
#26 2016-05-31 PhotonWire
https://github.com/neuecc/PhotonWire
#27 2016-06-07 ObserveEveryValueChanged
https://github.com/neuecc/ObserveEveryValueChanged
#28 2016-11-08 ZeroFormatter
https://github.com/neuecc/ZeroFormatter
#29 2017-01-09 MasterMemory
https://github.com/neuecc/MasterMemory
#30 2017-03-05 RuntimeUnitTestToolkit
https://github.com/neuecc/RuntimeUnitTestToolkit
#31 2017-03-13 MessagePack for C#
https://github.com/neuecc/MessagePack-CSharp
#32 2017-04-20 ReMotion
https://github.com/neuecc/ReMotion
#33 2017-04-24 DatadogSharp
https://github.com/neuecc/DatadogSharp
#34 2017-06-05 MagicOnion
https://github.com/Cysharp/MagicOnion
#35 2017-07-09 MicroResolver
https://github.com/neuecc/MicroResolver
#36 2017-08-18 MySqlSharp
https://github.com/neuecc/MySqlSharp
#37 2017-09-27 Utf8Json
https://github.com/neuecc/Utf8Json
#38 2018-02-16 HyperMapper
https://github.com/neuecc/HyperMapper
#39 2019-04-05 ConsoleAppFramework
https://github.com/Cysharp/ConsoleAppFramework
#40 2019-03-28 Ulid
https://github.com/Cysharp/Ulid
#41 2019-05-06 RandomFixtureKit
https://github.com/Cysharp/RandomFixtureKit
#42 2019-05-27 LitJWT
https://github.com/Cysharp/LitJWT
#43 2019-06-06 UniTask
https://github.com/Cysharp/UniTask
#44 2019-08-26 ValueTaskSupplement
https://github.com/Cysharp/ValueTaskSupplement
#45 2020-01-30 ProcessX
https://github.com/Cysharp/ProcessX
#46 2020-02-19 ZString
https://github.com/Cysharp/ZString
#47 2020-05-01 ZLogger
https://github.com/Cysharp/ZLogger
車輪の再発明をしよう
世の中、新しいものはない、全ては何かの再発明
そして自分で実装することが深くその領域を知ることになる
LINQをJavaScriptに移植(linq.js) → LINQについて
RxをUnityに移植(UniRx) → Rxについて, Unityについて
ORM作成(DbExecutor) → 低レベルDB操作(ADO.NET)について
MySQL Driver作成(MySqlSharp) → MySQLプロトコルについて
Webフレームワーク作成(LightNode) → HTTP/1について
gRPCフレームワーク作成(MagicOnion) → gRPCとHTTP/2について
小さくっても全然良い
AnonymousComparer DynamicJson XStreamingReader ChainingAssertion ImplicitQueryString
OwinRequestScopeContext RespClient SerializableDictionary ObserveEveryValueChanged Ulid
経験値を貯めよう
小さなライブラリでの経験が、大きなライブラリに繋がる
リリースを乗り越えていくことが大きな能力向上に繋がる
人に見せるものを意識する
「自分のために作ってる」ではなく、人が使うことを意識する
コードの書き方、見せ方、ウリを作るための機能の取捨、他人に
使ってもらうことを意識すると考え方の吸収がだいぶ違ってくる
機会はそんなに多くない!(10年間で、ある意味「たった」40回)
なので、一つ一つの機会を大事にして欲しい
人が使うものを意識して作る
多くの人が使うことで、多くの人の視点を得られる
(普通のOSSはコントリビュートは得られません!けれど、Issueを
報告してもらうと、自分とは違う別の視点を得ることができます)
なので、人が使って有益なものにするため差別化要素を設ける
・他言語からの移植 → その言語のエコシステムにはないもの
・単機能(シンプル/イージー)→ 複雑でない = 最高の機能
・ハイパフォーマンス → 性能 = 最高の機能
得られる体験を
LINQってJavaScriptでもできそうだね
やるからには勝ちたい
LINQってJavaScriptでもできそうだね
やるからには勝ちたい
枯れた技術の水平思考
「世の中、新しいものはない、全ては何かの再発明」
「小さなライブラリでの経験が、大きなライブラリに繋がる」
自分自身の経験からバリエーションを産む
経験を血肉にする
何度も似たようなテーマを重ねることで、
より、その領域で深い洞察を繰り出すことができる
そして完成度の高いライブラリを生み出すことができる
結果多くの支持を得られて多くのフィードバックが得られる
それが更に深い視点を得られて完成度が更に上がり能力も高まる
枯れた技術の水平思考
「世の中、新しいものはない、全ては何かの再発明」
「小さなライブラリでの経験が、大きなライブラリに繋がる」
自分自身の経験からバリエーションを産む
経験を血肉にする
何度も似たようなテーマを重ねることで、
より、その領域で深い洞察を繰り出すことができる
そして完成度の高いライブラリを生み出すことができる
結果多くの支持を得られて多くのフィードバックが得られる
それが更に深い視点を得られて完成度が更に上がり能力も高まる
AnonymousComparer
UniRx
LINQ to BigQuery
LINQ to GameObject
EtwStream
ReactiveProperty
linq.js
AnonymousComparer
UniRx
LINQ to BigQuery
LINQ to GameObject
EtwStream
ReactiveProperty
linq.js
LightNode
PhotonWire
MagicOnion
ConsoleAppFramework
DbExecutor
LightNode
PhotonWire
MagicOnion
ConsoleAppFramework
DbExecutor
ZeroFormatter
MessagePack-CSharp
Utf8Json
MySqlSharp
HyperMapper
MicroResolver
Ulid
DynamicJson
ZeroFormatter
MessagePack-CSharp
Utf8Json
MySqlSharp
HyperMapper
MicroResolver
Ulid
DynamicJson
むしろ小さくなければならない
むしろ小さくなければならない
むしろ小さくなければならない
自分自身の技術に拘泥しない
時代の変化で、当時良いものもいつか必ず老朽化する
永遠に良いソフトウェアなどない、作った瞬間から腐敗は始まる
レガシー化した自分の技術に拘ってるのは時間を無駄にすること
良いものには乗っかり、捨てるべきタイミングを誤らない
捨てるためにも小さく作る
小さければ小さいほど「捨てやすい」
これはOSSじゃなく会社の共通ライブラリを作るときなどもそう
薄く、小さく作り、捨てる時は躊躇なく捨てることがなにより大事
厚いライブラリは厚いというだけで大きなマイナスを背負っている
自分自身の技術に拘泥しない
時代の変化で、当時良いものもいつか必ず老朽化する
永遠に良いソフトウェアなどない、作った瞬間から腐敗は始まる
レガシー化した自分の技術に拘ってるのは時間を無駄にすること
良いものには乗っかり、捨てるべきタイミングを誤らない
捨てるためにも小さく作る
小さければ小さいほど「捨てやすい」
これはOSSじゃなく会社の共通ライブラリを作るときなどもそう
薄く、小さく作り、捨てる時は躊躇なく捨てることがなにより大事
厚いライブラリは厚いというだけで大きなマイナスを背負っている
キャリアパスと生存戦略
結果としてキャリアに繋がった
https://github.com/neuecc/Resume
2008 新卒入社
2011 Microsoft MVP for C#受賞
2012 gloops入社
2012 Grani設立, CTO
2018 Cysharp設立, CEO/CTO
結果としてキャリアに繋がった
https://github.com/neuecc/Resume
2008 新卒入社
2011 Microsoft MVP for C#受賞
2012 gloops入社
2012 Grani設立, CTO
2018 Cysharp設立, CEO/CTO
結果としてキャリアに繋がった
https://github.com/neuecc/Resume
2008 新卒入社
2011 Microsoft MVP for C#受賞
2012 gloops入社
2012 Grani設立, CTO
2018 Cysharp設立, CEO/CTO
結果としてキャリアに繋がった
https://github.com/neuecc/Resume
2008 新卒入社
2011 Microsoft MVP for C#受賞
2012 gloops入社
2012 Grani設立, CTO
2018 Cysharp設立, CEO/CTO
結果としてキャリアに繋がった
https://github.com/neuecc/Resume
2008 新卒入社
2011 Microsoft MVP for C#受賞
2012 gloops入社
2012 Grani設立, CTO
2018 Cysharp設立, CEO/CTO
最初は「LINQの人」として
linq.jsが名刺代わりの一品として機能した
継続的な情報発信をLINQ中心に展開して立ち位置を確立した
「Unity」で知名度を得るために
UniRxが名刺代わりの一品として機能した
Unityは(.NET Frameworkの)C#とは別の文化圏で、人も違う
知名度ゼロからスタートするのにUniRxが媒介になった
今は「パフォーマンスの人」として
MessagePack for C#が名刺代わりの一品として機能した
C#のエキスパートと認識されるためには性能は一番分かりやすい
linq.js, UniRx, LINQ to GameObject, LINQ to BigQuery
LINQとは何であるかの掲示
ReactiveProperty
MVVMへの異質なアプローチ
NotifyPropertyChangedGenerator
Roslyn時代のコーディング手法
LightNode, PhotonWire, MagicOnion
現代的な観点でのRPCの再評価
MessagePack for C#, Utf8Json
真に高速なシリアライザの証明
ライブラリは思想の塊であり、
言葉だけよりも、むしろずっと
流暢に語ってくれる
言葉に、より強い証明、よ
り強力な説得力をもたらす
ブログだけ、Qiitaだけ、講演だけで
は成し得ない立ち位置を作りやすい
C#大統一理論
現在のメインテーマで、MagicOnionがそれを表現する
クライアントとサーバーを、API通信とリアルタイム通信を
全てをC#で統合するという夢想を具現化
理想は、理想だけでは実現できない
現実に実現するためのフレームワークを作り提供する
世界中の人に使ってもらうような
ワールドスタンダードを自分が作るという気概でやっている
手触り駆動設計(Scenario First, API First)
ライブラリにおいて何が一番大事かというと、APIの手触り
私にとって設計とは良いPublic APIの手触りを考えることから
・最も頻度の高いユースケースで直感的で最短
・入力補完でガイドされ機能が想像つく
その後に
APIの手触りを損ねない拡張性を組み込んでいく
手触り駆動設計(Scenario First, API First)
ライブラリにおいて何が一番大事かというと、APIの手触り
私にとって設計とは良いPublic APIの手触りを考えることから
・最も頻度の高いユースケースで直感的で最短
・入力補完でガイドされ機能が想像つく
その後に
APIの手触りを損ねない拡張性を組み込んでいく
Conclusion
GitHubだけが全ての指標ではない
表に名前の出ていない凄腕の人はいっぱいいる
企業での大きな仕事でしか得られない経験もある
しかし近道ではある
全体的には、どんどんオープンな世界に近づいている
また、誰にでも平等にチャンスがある
(良い環境で良い仕事に恵まれていなくても、一発逆転できる)
未来の競合になる
作り出したものは、未来の誰かのリファレンスになる
それは、その領域を進化させる鍵になれるということ
そして自分のためになる
ただの社会貢献だけではなく
自分の実力向上に繋がり、キャリアの成功に繋がっていくでしょう
競合を調べまくって、他所より完璧に、最高の機能を載せる
何度も似たようなテーマを重ね完成度の高いライブラリを生み出す

More Related Content

What's hot

shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
 
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてUnity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
 

What's hot (20)

.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
 
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメントヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
 
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてUnity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
Memory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native CollectionsMemory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native Collections
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
 
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 

Similar to ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能

JavaScript on GitHub (#kyotojs)
JavaScript on GitHub  (#kyotojs)JavaScript on GitHub  (#kyotojs)
JavaScript on GitHub (#kyotojs)
y_uuki
 

Similar to ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能 (20)

Bot Builder V4 SDK + QnA Maker / LUIS
Bot Builder V4 SDK  + QnA Maker / LUISBot Builder V4 SDK  + QnA Maker / LUIS
Bot Builder V4 SDK + QnA Maker / LUIS
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
JavaScript on GitHub (#kyotojs)
JavaScript on GitHub  (#kyotojs)JavaScript on GitHub  (#kyotojs)
JavaScript on GitHub (#kyotojs)
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
 
React vtecx20170822
React vtecx20170822React vtecx20170822
React vtecx20170822
 
North Starアプリ作り,海外コミュニティ,Tips
North Starアプリ作り,海外コミュニティ,TipsNorth Starアプリ作り,海外コミュニティ,Tips
North Starアプリ作り,海外コミュニティ,Tips
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかSIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウCircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
 
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
 
RxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップRxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップ
 
4 Colors Othello’s Algorithm
4 Colors Othello’s Algorithm4 Colors Othello’s Algorithm
4 Colors Othello’s Algorithm
 
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 

More from Yoshifumi Kawai

Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
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の...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 

More from Yoshifumi Kawai (20)

A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
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
 
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#
Building the Game Server both API and Realtime via c#
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
 
Implements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNetImplements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNet
 
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)
Deep Dive async/await in Unity with UniTask(EN)
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
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
 
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)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
 
Binary Reading in C#
Binary Reading in C#Binary Reading in C#
Binary Reading in C#
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
How to make the Fastest C# Serializer, In the case of ZeroFormatter
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
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
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
 
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の...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
 
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 ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 

Recently uploaded

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: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...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
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
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能