SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
C#とAOP
F# C#の素晴らしさを語る会
@Posaune
自己紹介
Posauneです。@Posauneです。まえかわです。
C#ラブ、F#すげえ、Ruby好き、Python素敵、
Powershellもっと流行れ
京都アジャイル勉強会(#京アジャ)やってま
す。
最近はテストとか品質とかUXとかも好きで
す。節操がない系エンジニア。
Microsoft MVP for VisualStudio ALM
(2013/10 〜)
資料はさっき作りました
適宜ツッコミをすることにより初めて成立す
るセッションです
僕もAOPはまだまだなので、一緒に勉強しまし
ょう!
今日話さないこと

Reflectionと遅延Bindingまわり
ついでにILとの連携の話をして
それからそれの応用としてのAOPとDI
f

今日話さないこと

Of

Reflectionと遅延Bindingまわり

90
%

ついでにILとの連携の話をして
それからそれの応用としてのAOPとDI
Reflectionと遅延バインディング
Reflectionの説明は誰かがしてるはず
あおおにくんさん?
いしかわさん?

遅延バインディング
Activator.CreateInstance
あおおにくんさんもここに
自作DIの友
DI:
Dependency Injection
これ読め。
Jolt Award 2013 !
さて。
AOP
Aspect Oriented Programming
アスペクト指向、と呼ばれます

aspect/ǽspekt/
語源は「目に見えるもの(spect)」〗
(物事の)側面, 局面, 面; 様相; (物事を見
る)観点, 角度
アスペクト指向
プログラミング
オブジェクト指向ではうまく分離できない特
徴(クラス間を横断 (cross-cutting) するよ
うな機能)を「アスペクト」とみなし、アス
ペクト記述言語をもちいて分離して記述する
ことでプログラムに柔軟性をもたせようとす
る試み。
(wikipediaより http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%B9%E3%83%9A
%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD
%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
要するにアスペクトって?

複数のクラスやメソッドにまたがる
横断的感心事
オブジェクト指向で分析すると、どうしても
コードクローンを生んだりしやすくなってし
まう。
例えば

class ClassA
{
public void MethodA()
{
Console.Write("Enter Class A - Method A");

}

class ClassB
{
public void MethodC()
{
Console.Write("Enter Class B - Method C");

// Do Something

// Do Something

Console.Write("Exit Class A - Method A");

Console.Write("Exit Class B - Method C");

}

}

public void MethodB()
{
Console.Write("Enter Class A - Method B");
// Do Something
Console.Write("Exit Class A - Method B");
}

}

オブジェクト分析をしても
切り出すのは難しい
アスペクト指向だと…
主機能
class ClassA
{
[LoggingTarget]
public void MethodA()
{
// Do Something
}
[LoggingTarget]
public void MethodB()
{
// Do Something
}
}
class ClassB
{
[LoggingTarget]
public void MethodC()
{
// Do Something
}
}

アスペクト
class LoggingIntercepter : Intercepter
{
public override void OnEnter(MethodInfo info)
{
Console.Write("Enter {0} - {1}", info.DeclaringType.Name, info.Name);
}
public override void OnExit(MethodInfo info)
{
Console.Write("Exit {0} - {1}",info.DeclaringType.Name, info.Name);
}
}
C#とAOP
AOPを実現するために必要なこと
メタプログラミング
アセンブリへの介入
ビルドプロセスへの介入
ランタイムでやってもいいけど遅い
メタプロといえば
怖いのでライブラリに
逃げましょう
商用
PostSharp
OSS
Fody
Fody
オープンソースのAOPフレームワーク
ビルドプロセスに介入し、PostBuildイベント
でバイナリを書き換える
どう書き換えるか、の実装は自分次第
Mono.Cecilを使ったIl.Emit祭り
ILSpyとお友達♪
今日はやりませんが、ここまで低レベルに
落ちれるのもC#の魅力ではあります
XXX.Fody
Fodyにはすでにいくつも補助ライブラリが
出ている
メソッドの実行時間ロギング
IDataErrorの自動実装
IDisposableに自動実装
デモ

誰もが面倒くさいと思っていることの
自動実装
まとめ
C#でもAOPできます
簡単にやるならFodyのありあわせを使うか
PostSharp
こるならFodyは楽しい
C#は低レベル実装もかなり自在に触れる
意外にメタプロ耐性あるんですよ
C#

Weitere ähnliche Inhalte

Was ist angesagt?

Django 製 CMS Wagtail で Blog を作ってみる
Django 製 CMS Wagtail で Blog を作ってみるDjango 製 CMS Wagtail で Blog を作ってみる
Django 製 CMS Wagtail で Blog を作ってみるIosif Takakura
 
PEGで構文解析をする
PEGで構文解析をするPEGで構文解析をする
PEGで構文解析をするjiro4989
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Takafumi ONAKA
 
シリコンバレーでエンジニア就職する前に知りたかったこと
シリコンバレーでエンジニア就職する前に知りたかったことシリコンバレーでエンジニア就職する前に知りたかったこと
シリコンバレーでエンジニア就職する前に知りたかったことTatsuya Nanjo
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
SQLインジェクション総”習”編
SQLインジェクション総”習”編SQLインジェクション総”習”編
SQLインジェクション総”習”編Yasuo Ohgaki
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!道化師 堂華
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法潤司 渡部
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchYasuhiro Murata
 
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜SFDG ROOKIES
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールdcubeio
 

Was ist angesagt? (20)

Django 製 CMS Wagtail で Blog を作ってみる
Django 製 CMS Wagtail で Blog を作ってみるDjango 製 CMS Wagtail で Blog を作ってみる
Django 製 CMS Wagtail で Blog を作ってみる
 
PEGで構文解析をする
PEGで構文解析をするPEGで構文解析をする
PEGで構文解析をする
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
シリコンバレーでエンジニア就職する前に知りたかったこと
シリコンバレーでエンジニア就職する前に知りたかったことシリコンバレーでエンジニア就職する前に知りたかったこと
シリコンバレーでエンジニア就職する前に知りたかったこと
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
SQLインジェクション総”習”編
SQLインジェクション総”習”編SQLインジェクション総”習”編
SQLインジェクション総”習”編
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
 
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 

Ähnlich wie C#とaop

Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirlsHello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirlsHikari Fukasawa
 
PHPerがJava屋になるために乗り越えたこと
PHPerがJava屋になるために乗り越えたことPHPerがJava屋になるために乗り越えたこと
PHPerがJava屋になるために乗り越えたことKazuhiro Serizawa
 
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろうAtsushi Harada
 
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由Kohei Taniguchi
 
目黒スタートアップ勉強会
目黒スタートアップ勉強会目黒スタートアップ勉強会
目黒スタートアップ勉強会gaooh
 
わかると楽しいInfrastructure as code
わかると楽しいInfrastructure as codeわかると楽しいInfrastructure as code
わかると楽しいInfrastructure as codeShohei Kobayashi
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話Shohei Tai
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたHiroshi Maekawa
 
(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#ssusera3d157
 
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Ouka Yuka
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドkeroyonn
 
伝えるための試行錯誤というか道草。
伝えるための試行錯誤というか道草。伝えるための試行錯誤というか道草。
伝えるための試行錯誤というか道草。irof N
 
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へオブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へEverforth Co., Ltd.
 
Raspberry piで初めるopenFrameworks生活
Raspberry piで初めるopenFrameworks生活Raspberry piで初めるopenFrameworks生活
Raspberry piで初めるopenFrameworks生活Hitsuji Kaji
 
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzupAsami Nakano
 
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発いまどき(これから)のPHP開発
いまどき(これから)のPHP開発Kenjiro Kubota
 
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるPHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるRyo Shibayama
 
プログラマがデザインをがんばってみた
プログラマがデザインをがんばってみたプログラマがデザインをがんばってみた
プログラマがデザインをがんばってみただいすけ ふるかわ
 

Ähnlich wie C#とaop (20)

Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirlsHello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
 
PHPerがJava屋になるために乗り越えたこと
PHPerがJava屋になるために乗り越えたことPHPerがJava屋になるために乗り越えたこと
PHPerがJava屋になるために乗り越えたこと
 
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
 
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
 
目黒スタートアップ勉強会
目黒スタートアップ勉強会目黒スタートアップ勉強会
目黒スタートアップ勉強会
 
わかると楽しいInfrastructure as code
わかると楽しいInfrastructure as codeわかると楽しいInfrastructure as code
わかると楽しいInfrastructure as code
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
 
(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#
 
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
 
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイドYAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
 
伝えるための試行錯誤というか道草。
伝えるための試行錯誤というか道草。伝えるための試行錯誤というか道草。
伝えるための試行錯誤というか道草。
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へオブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ
 
Raspberry piで初めるopenFrameworks生活
Raspberry piで初めるopenFrameworks生活Raspberry piで初めるopenFrameworks生活
Raspberry piで初めるopenFrameworks生活
 
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup
 
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発いまどき(これから)のPHP開発
いまどき(これから)のPHP開発
 
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるPHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
 
プログラマがデザインをがんばってみた
プログラマがデザインをがんばってみたプログラマがデザインをがんばってみた
プログラマがデザインをがんばってみた
 

Mehr von Hiroshi Maekawa

新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜Hiroshi Maekawa
 
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間Hiroshi Maekawa
 
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ーHiroshi Maekawa
 
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CIHiroshi Maekawa
 
Visual Studio Online as a CI Service
Visual Studio Online as a CI ServiceVisual Studio Online as a CI Service
Visual Studio Online as a CI ServiceHiroshi Maekawa
 
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0Hiroshi Maekawa
 
Getting Start with React Native
Getting Start with React NativeGetting Start with React Native
Getting Start with React NativeHiroshi Maekawa
 
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆 「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆 Hiroshi Maekawa
 
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜Hiroshi Maekawa
 
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜Hiroshi Maekawa
 
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』ドメイン『駆動』『開発』
ドメイン『駆動』『開発』Hiroshi Maekawa
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略Hiroshi Maekawa
 
iOSのCI as a Service事情
iOSのCI as a Service事情iOSのCI as a Service事情
iOSのCI as a Service事情Hiroshi Maekawa
 
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -Hiroshi Maekawa
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践Hiroshi Maekawa
 
ホントは楽しいエイブンポー
ホントは楽しいエイブンポーホントは楽しいエイブンポー
ホントは楽しいエイブンポーHiroshi Maekawa
 
テスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osakaテスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour OsakaHiroshi Maekawa
 
雑食系エンジニアの作りかた
雑食系エンジニアの作りかた雑食系エンジニアの作りかた
雑食系エンジニアの作りかたHiroshi Maekawa
 

Mehr von Hiroshi Maekawa (20)

新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
 
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間
 
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
 
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
 
Visual Studio Online as a CI Service
Visual Studio Online as a CI ServiceVisual Studio Online as a CI Service
Visual Studio Online as a CI Service
 
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
 
Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
 
Getting Start with React Native
Getting Start with React NativeGetting Start with React Native
Getting Start with React Native
 
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆 「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆
 
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
「価値探索」がつないだ
クライアントと開発者の絆
 〜Craful開発チームの60日〜
 
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
 
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
 
なれる!IL
なれる!ILなれる!IL
なれる!IL
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
iOSのCI as a Service事情
iOSのCI as a Service事情iOSのCI as a Service事情
iOSのCI as a Service事情
 
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践
 
ホントは楽しいエイブンポー
ホントは楽しいエイブンポーホントは楽しいエイブンポー
ホントは楽しいエイブンポー
 
テスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osakaテスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osaka
 
雑食系エンジニアの作りかた
雑食系エンジニアの作りかた雑食系エンジニアの作りかた
雑食系エンジニアの作りかた
 

C#とaop