SlideShare a Scribd company logo
1 of 18
C++のtemplate特殊化的な
ことをC#でやった話
自己紹介
神原 淳史 (33歳♂)
@atsukanrock
Sansan 開発部 部長
❤DDD, C#
部長のお仕事
コード書く時間がなかなかない
プロジェクトに入ると足手まとい
(velocity稼げない & 進捗の計算が立たない)
でもコード書きたい
そこで目をつけたのがSansan.LinqPad
Sansan.LinqPad
とは何ぞや
1
Sansan.LinqPad
水平分散 (sharding) された
Sansanデータベースの全shardに
SQLをぶち込む機能を提供する
NuGet privateパッケージで、
LINQPad標準装備なSansan開発部
エンジニアに日々、愛用されている
こんな感じ
プルリク出した
2
どりゃ
優しい
目的
伝えたいこだわり
BroadcastResult<TResult>クラスはこう
伝えたいこだわり
BroadcastResultExtensionsクラスがこうじゃ…!
どういうことかと言うと
ジェネリック型引数が特定の型の場合のみ
メソッドを提供するという、
C++におけるtemplate特殊化的な発想で、
BroadcastResult<TResult>のTResultが
IEnumerable<T>の時だけメソッドを生やすのを、
拡張メソッドを使って実現したった話でした
(C++忘れたので合ってるかどうか微妙ですが)
普通かも…

More Related Content

Viewers also liked

Viewers also liked (15)

JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
 
つながりを加速させる、Eightのリアルタイムリコメンデーション技術
つながりを加速させる、Eightのリアルタイムリコメンデーション技術つながりを加速させる、Eightのリアルタイムリコメンデーション技術
つながりを加速させる、Eightのリアルタイムリコメンデーション技術
 
Latest Status of Identity Federation
Latest Status of Identity FederationLatest Status of Identity Federation
Latest Status of Identity Federation
 
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftSwift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
 
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkanリーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
リーンスタートアップと顧客開発とアジャイル開発を一気通貫するッ #devlove #devkan
 
My deck from Guardian Changing Media Summit - London March 16th 2017
My deck from Guardian Changing Media Summit - London March 16th 2017My deck from Guardian Changing Media Summit - London March 16th 2017
My deck from Guardian Changing Media Summit - London March 16th 2017
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
グローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのかグローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのか
 
What is Deep Learning?
What is Deep Learning?What is Deep Learning?
What is Deep Learning?
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)
 
AGWO | A Giggles Welfare Organization | All About NGO
AGWO | A Giggles Welfare Organization | All About NGOAGWO | A Giggles Welfare Organization | All About NGO
AGWO | A Giggles Welfare Organization | All About NGO
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
z/OSMF Workflow Editor Lab - Try it out on your z/OSMF system
z/OSMF Workflow Editor Lab - Try it out on your z/OSMF systemz/OSMF Workflow Editor Lab - Try it out on your z/OSMF system
z/OSMF Workflow Editor Lab - Try it out on your z/OSMF system
 
WordPress translation & Localisation : Avoid common mistakes by Makarand Mane
WordPress translation & Localisation : Avoid common mistakes by Makarand ManeWordPress translation & Localisation : Avoid common mistakes by Makarand Mane
WordPress translation & Localisation : Avoid common mistakes by Makarand Mane
 

Recently uploaded

Recently uploaded (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス