SlideShare uma empresa Scribd logo
1 de 80
Baixar para ler offline
第7章 いつまでたっても
変更作業が終わりません


              Takahiro Okada
      レガシーコード改善ガイド読書会
変更は
素早く行えるほど
 よいという話
そもそも、
変更の理由とは?
•変更の理由
 –バグ修正
 –機能追加
 –仕様変更
 –リファクタリング
•変更の理由
 –バグ修正
 –機能追加   日々の業務
 –仕様変更
 –リファクタリング
われわれの
日々の業務は、
コードの変更である。
仕事を速く行うには?
仕事を速く行うには?
→ 変更を速く行う。
変更は
素早く行えるほど
   よい
小休止
(ここまでOK?)
変更は
素早く行えるほど
   よい
現実には…
「いつまでたっても
 変更作業が
 終わりません」
なぜ?
なぜ?

1. コードの内容が
   理解出来ない。
2. 変更を行なってから、
   結果を得るまでに時間がかかる。

            他にあるかな・・・?
1. コードの内容が
   理解出来ない。
1. コードの内容が理解出来ない
• 変更方法を調査するのに時間がかかる。
 – ある程度はしかたないこと。
 – ただし、整理されたコードのほうが時間は短い。
• 変更自体に時間がかかる。
 – レガシーコード特有の問題
1. コードの内容が理解出来ない
• 変更方法を調査するのに時間がかかる。
 – ある程度はしかたないこと。
 – ただし、整理されたコードのほうが時間は短い。
• 変更自体に時間がかかる。
 – レガシーコード特有の問題


→「小さく、理解しやすく、適切なパーツに分割
 されたシステム」
1. コードの内容が理解出来ない
• 変更方法を調査するのに時間がかかる。
 – ある程度はしかたないこと。
 – ただし、整理されたコードのほうが時間は短い。
• 変更自体に時間がかかる。
 – レガシーコード特有の問題


→「小さく、理解しやすく、適切なパーツに分割
 されたシステム」
→どうすればいい?
詳細は後日
→第16章「変更できるほど十分に私
 はコードを理解していません」

→第17章「私のアプリケーションには
 構造がありません」
2. 変更作業を行なって
   から、結果を得るま
   でに時間がかかる

         今日はこっちが本題
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!

コンパイル

リンク

パッケージング

インストール

テスト
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!    フルビルドして   40分

コンパイル

リンク

パッケージング

インストール

テスト
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!    フルビルドして          40分

コンパイル
          Flash image作って    10分
リンク

パッケージング

インストール

テスト
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!    フルビルドして          40分

コンパイル
          Flash image作って    10分
リンク
             Boardに焼いて           10分
パッケージング

インストール

テスト
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!    フルビルドして          40分

コンパイル
          Flash image作って      10分
リンク
             Boardに焼いて           10分
パッケージング

インストール        Manual testして         30分


テスト
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!    フルビルドして          40分

コンパイル
          Flash image作って      10分
リンク
             Boardに焼いて           10分
パッケージング

インストール        Manual testして         30分


テスト            やっぱりダメだった!
2. 変更作業を行なってから、結果を得
     るまでに時間がかかる
変更できた!

コンパイル

リンク

パッケージング
          10秒以内に!
インストール

テスト
でも、どうやって?
小休止
(ここまでOK?)
どうやって
確認作業を早くする?
どうやって
確認作業を早くする?


依存関係を排除する
コンパイル・リンク範囲の減少
差分パッケージング/インストール
    テスト範囲の減少
   テストハーネスの使用



依存関係を排除する
コンパイル・リンク範囲の減少
差分パッケージング/インストール
    テスト範囲の減少
   テストハーネスの使用



      速い
まとめると




  依存関係を排除する


        速い
依存関係を排除する 1



テストにおける
依存関係を排除する。
テスト時の依存関係を排除する

• テストハーネスで必要なクラスのインスタンス
  化を試みる。

• すなわち、テストに必要な周辺のクラスはす
  べて、テストハーネスで作成する。
テストハーネスで必要なクラスの
  インスタンス化を試みる。
• 速度向上ポイント1
 – コンパイル・リンクの速度が向上する。


• 速度向上ポイント2
 – テストの速度が向上する。
 – 外部リソース(DB / Network / HW etc)の呼び出し
   時間を短縮できる。
テストハーネスで必要なクラスの
  インスタンス化を試みる。



インスタンス化できない?
テストハーネスで必要なクラスの
  インスタンス化を試みる。


インスタンス化できない?
→第9章
 「このクラスをテストハーネスに入れることができません」
→第10章
 「このメソッドをテストハーネスで動かすことができません」
依存関係を排除する 2



ビルドにおける
依存関係を排除する。
そのまえに、小休止
 (ここまでOK?)
依存関係を排除する 2



ビルドにおける
依存関係を排除する。
ビルド時の依存関係を排除する



インターフェースを
抽出する。
インタフェースの抽出(1/3)




              Before
インタフェースの抽出(2/3)




              After
インタフェースの抽出(3/3)
1. 適切な名前のインターフェースを作成する。
2. 抽出対象のクラスで、インタフェースを実装
   する
3. 変更対象オブジェクトの使用箇所を変更して、
   クラスの代わりにインターフェースを呼び出
   すようにする。
4. コンパイルする。コンパイルで出たエラーを
   取り除く。
ビルド時の依存関係を排除する



実装を
抽出する。

        名前を変えたくない場合など
実装の抽出(1/2)




             Before
インタフェースの抽出(2/2)




              After
小休止
(次はちょっと長い)
実践してみよう
こいつをビルドしたいだけなのに
こいつをビルドしたいだけなのに




依存しているこいつもビルドしないと
こいつをビルドしたいだけなのに




依存しているこいつもビルドしないと
しかも、テストの際にDB接続必要?
こいつをビルドしたいだけなのに




依存しているこいつもビルドしないと
しかも、テストの際にDB接続必要?
さらに、こいつが別クラスに
依存してて・・・
これは遅い。
実装を抽出する。
これで、ビルドが速くなった




ココ

           ちなみに、Implっていう
            名前はどうなの?
これで、テストも速くなった
これで、




ココ
もっとやりたい?




                  ココ


           やりすぎはほどほどに。
コンパイラのファイアウォール
コンパイラの
ファイアウォール
コンパイラの
           ファイアウォール




素早く変更し放題
コンパイラの
           ファイアウォール




素早く変更し放題
これでおわり?
よく見ると
まだ依存が。
依存を取り除く
小休止
(ここまでOK?)
ひとことででまとめると
具象クラスに
依存するよりも
インタフェースや
抽象クラスに
依存すべし
いいかえると
変更の少ないものに
依存すべし
確かに
全体をビルドする時間は
 増えるかもしれない
けど、部分を
ビルド/テストする時間は
  大幅に減るはず
構造が見えにくく
なるかもしれないが
妥当なオーバーヘッド
   である。


       ほんとかな
パッケージ間の
インターフェースを
すべて抽象型に
すると、何が起こる
だろう?
おわり



         しかし、この本、
  章と章の間の依存が強すぎて、
      読むのがちょっと辛い。

Mais conteúdo relacionado

Mais procurados

JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践JustSystems Corporation
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターンKuniteru Asami
 
DebianとWordPressでハッピーになろう!
DebianとWordPressでハッピーになろう!DebianとWordPressでハッピーになろう!
DebianとWordPressでハッピーになろう!Jun Nogata
 
Hudson 勉強会
Hudson 勉強会Hudson 勉強会
Hudson 勉強会InfraDNA
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座Hiroko Tamagawa
 
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年Kuniteru Asami
 
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanJenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanAkihiko Horiuchi
 
Functional Testing in #YAPCASIA
Functional Testing in #YAPCASIAFunctional Testing in #YAPCASIA
Functional Testing in #YAPCASIAkyon mm
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門You&I
 
はじめてのTeam foundation server執筆裏話
はじめてのTeam foundation server執筆裏話はじめてのTeam foundation server執筆裏話
はじめてのTeam foundation server執筆裏話Kazushi Kamegawa
 

Mais procurados (10)

JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践JustTechTalk#10 React開発における自動テスト実践
JustTechTalk#10 React開発における自動テスト実践
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
DebianとWordPressでハッピーになろう!
DebianとWordPressでハッピーになろう!DebianとWordPressでハッピーになろう!
DebianとWordPressでハッピーになろう!
 
Hudson 勉強会
Hudson 勉強会Hudson 勉強会
Hudson 勉強会
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
 
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年
 
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanJenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
 
Functional Testing in #YAPCASIA
Functional Testing in #YAPCASIAFunctional Testing in #YAPCASIA
Functional Testing in #YAPCASIA
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門
 
はじめてのTeam foundation server執筆裏話
はじめてのTeam foundation server執筆裏話はじめてのTeam foundation server執筆裏話
はじめてのTeam foundation server執筆裏話
 

Destaque

オープントースター 2015 06-07おうちハック
オープントースター 2015 06-07おうちハックオープントースター 2015 06-07おうちハック
オープントースター 2015 06-07おうちハックTakahiro Okada
 
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーションレガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーションMasanori Satoh
 
美味しいトーストが食べたいです #おうちハック
美味しいトーストが食べたいです #おうちハック美味しいトーストが食べたいです #おうちハック
美味しいトーストが食べたいです #おうちハックTakahiro Okada
 
「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組みMasahiro Nishimi
 
どうしてコードはレガシーになるのか
どうしてコードはレガシーになるのかどうしてコードはレガシーになるのか
どうしてコードはレガシーになるのかHiroshi Kikuchi
 
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツShunji Konishi
 
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組みMasahiro Nishimi
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 
レガシーコード改善のススメ
レガシーコード改善のススメレガシーコード改善のススメ
レガシーコード改善のススメAkira Hirasawa
 
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューMoriharu Ohzu
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 

Destaque (12)

Gdd2011 ADK
Gdd2011 ADKGdd2011 ADK
Gdd2011 ADK
 
オープントースター 2015 06-07おうちハック
オープントースター 2015 06-07おうちハックオープントースター 2015 06-07おうちハック
オープントースター 2015 06-07おうちハック
 
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーションレガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
 
美味しいトーストが食べたいです #おうちハック
美味しいトーストが食べたいです #おうちハック美味しいトーストが食べたいです #おうちハック
美味しいトーストが食べたいです #おうちハック
 
「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み
 
どうしてコードはレガシーになるのか
どうしてコードはレガシーになるのかどうしてコードはレガシーになるのか
どうしてコードはレガシーになるのか
 
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
 
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
レガシーコード改善のススメ
レガシーコード改善のススメレガシーコード改善のススメ
レガシーコード改善のススメ
 
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 

Semelhante a レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません

2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクションTakahiro Okumura
 
Aurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpAurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpTakafumi Nakahara
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストOhishi Mikage
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストTsutomu Chikuba
 
kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事Cybozu, Inc.
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1Y Watanabe
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~Tomomi Kajita
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編株式会社 NTTテクノクロス
 
継続的デリバリー読書会資料 #1
継続的デリバリー読書会資料 #1継続的デリバリー読書会資料 #1
継続的デリバリー読書会資料 #1Yusuke HIDESHIMA
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~InnovationSprint2011
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsShuhei Eda
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料Yasui Tsutomu
 
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラインフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラsusumu tanaka
 
Google APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブGoogle APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブHagiwara takayuki
 
MicroServiceArchitecture
MicroServiceArchitectureMicroServiceArchitecture
MicroServiceArchitectureKaseya Hiroshi
 

Semelhante a レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません (20)

Stac2014 石川
Stac2014 石川Stac2014 石川
Stac2014 石川
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
Aurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUpAurora MySQL HandMade Major VersionUp
Aurora MySQL HandMade Major VersionUp
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
 
Openshift 20191128
Openshift 20191128Openshift 20191128
Openshift 20191128
 
kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事kintoneの新機能を開発するお仕事
kintoneの新機能を開発するお仕事
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
 
継続的デリバリー読書会資料 #1
継続的デリバリー読書会資料 #1継続的デリバリー読書会資料 #1
継続的デリバリー読書会資料 #1
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラインフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
 
Google APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブGoogle APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブ
 
MicroServiceArchitecture
MicroServiceArchitectureMicroServiceArchitecture
MicroServiceArchitecture
 

Mais de Takahiro Okada

201807 BIoTLT presentation - Socket, IoT and Blockchain
201807 BIoTLT presentation - Socket, IoT and Blockchain201807 BIoTLT presentation - Socket, IoT and Blockchain
201807 BIoTLT presentation - Socket, IoT and BlockchainTakahiro Okada
 
Maker Faire Shenzhen 2014 report
Maker Faire Shenzhen 2014 reportMaker Faire Shenzhen 2014 report
Maker Faire Shenzhen 2014 reportTakahiro Okada
 
2014 Shenzhen Visiting Factory Tour
2014 Shenzhen Visiting Factory Tour2014 Shenzhen Visiting Factory Tour
2014 Shenzhen Visiting Factory TourTakahiro Okada
 
tapioka-eng portfolio 2013
tapioka-eng portfolio 2013tapioka-eng portfolio 2013
tapioka-eng portfolio 2013Takahiro Okada
 
Kopanitsa portfolio 2013_09
Kopanitsa portfolio 2013_09Kopanitsa portfolio 2013_09
Kopanitsa portfolio 2013_09Takahiro Okada
 
Tizen developer conference 2013 report 5
Tizen developer conference 2013 report 5Tizen developer conference 2013 report 5
Tizen developer conference 2013 report 5Takahiro Okada
 
Tizen developer conference 2013 report 4
Tizen developer conference 2013 report 4Tizen developer conference 2013 report 4
Tizen developer conference 2013 report 4Takahiro Okada
 
Tizen developer conference 2013 report 3
Tizen developer conference 2013 report 3Tizen developer conference 2013 report 3
Tizen developer conference 2013 report 3Takahiro Okada
 
Tizen developer conference 2013 report 2
Tizen developer conference 2013 report 2Tizen developer conference 2013 report 2
Tizen developer conference 2013 report 2Takahiro Okada
 
Tizen developer conference 2013 report 1/5
Tizen developer conference 2013 report 1/5Tizen developer conference 2013 report 1/5
Tizen developer conference 2013 report 1/5Takahiro Okada
 
US electronics shop report
US electronics shop reportUS electronics shop report
US electronics shop reportTakahiro Okada
 
Hackerspace(Biocurious), TechShop, Stanford report
Hackerspace(Biocurious), TechShop, Stanford reportHackerspace(Biocurious), TechShop, Stanford report
Hackerspace(Biocurious), TechShop, Stanford reportTakahiro Okada
 
Maker faire bay area 2013 report
Maker faire bay area 2013 reportMaker faire bay area 2013 report
Maker faire bay area 2013 reportTakahiro Okada
 
ハードウェアをスマホ経由で世界につなぐ
ハードウェアをスマホ経由で世界につなぐハードウェアをスマホ経由で世界につなぐ
ハードウェアをスマホ経由で世界につなぐTakahiro Okada
 
ガジェットナイト2012 - 大リーグボール養成スマホ
ガジェットナイト2012 - 大リーグボール養成スマホガジェットナイト2012 - 大リーグボール養成スマホ
ガジェットナイト2012 - 大リーグボール養成スマホTakahiro Okada
 
Theo Jansen BeastをADKで動かす
Theo Jansen BeastをADKで動かすTheo Jansen BeastをADKで動かす
Theo Jansen BeastをADKで動かすTakahiro Okada
 

Mais de Takahiro Okada (18)

201807 BIoTLT presentation - Socket, IoT and Blockchain
201807 BIoTLT presentation - Socket, IoT and Blockchain201807 BIoTLT presentation - Socket, IoT and Blockchain
201807 BIoTLT presentation - Socket, IoT and Blockchain
 
Maker Faire Shenzhen 2014 report
Maker Faire Shenzhen 2014 reportMaker Faire Shenzhen 2014 report
Maker Faire Shenzhen 2014 report
 
2014 Shenzhen Visiting Factory Tour
2014 Shenzhen Visiting Factory Tour2014 Shenzhen Visiting Factory Tour
2014 Shenzhen Visiting Factory Tour
 
Smapon introduction
Smapon introductionSmapon introduction
Smapon introduction
 
tapioka-eng portfolio 2013
tapioka-eng portfolio 2013tapioka-eng portfolio 2013
tapioka-eng portfolio 2013
 
Kopanitsa portfolio 2013_09
Kopanitsa portfolio 2013_09Kopanitsa portfolio 2013_09
Kopanitsa portfolio 2013_09
 
Tizen developer conference 2013 report 5
Tizen developer conference 2013 report 5Tizen developer conference 2013 report 5
Tizen developer conference 2013 report 5
 
Tizen developer conference 2013 report 4
Tizen developer conference 2013 report 4Tizen developer conference 2013 report 4
Tizen developer conference 2013 report 4
 
Tizen developer conference 2013 report 3
Tizen developer conference 2013 report 3Tizen developer conference 2013 report 3
Tizen developer conference 2013 report 3
 
Tizen developer conference 2013 report 2
Tizen developer conference 2013 report 2Tizen developer conference 2013 report 2
Tizen developer conference 2013 report 2
 
Tizen developer conference 2013 report 1/5
Tizen developer conference 2013 report 1/5Tizen developer conference 2013 report 1/5
Tizen developer conference 2013 report 1/5
 
US electronics shop report
US electronics shop reportUS electronics shop report
US electronics shop report
 
Hackerspace(Biocurious), TechShop, Stanford report
Hackerspace(Biocurious), TechShop, Stanford reportHackerspace(Biocurious), TechShop, Stanford report
Hackerspace(Biocurious), TechShop, Stanford report
 
Maker faire bay area 2013 report
Maker faire bay area 2013 reportMaker faire bay area 2013 report
Maker faire bay area 2013 report
 
ハードウェアをスマホ経由で世界につなぐ
ハードウェアをスマホ経由で世界につなぐハードウェアをスマホ経由で世界につなぐ
ハードウェアをスマホ経由で世界につなぐ
 
ガジェットナイト2012 - 大リーグボール養成スマホ
ガジェットナイト2012 - 大リーグボール養成スマホガジェットナイト2012 - 大リーグボール養成スマホ
ガジェットナイト2012 - 大リーグボール養成スマホ
 
Ltfes1009
Ltfes1009Ltfes1009
Ltfes1009
 
Theo Jansen BeastをADKで動かす
Theo Jansen BeastをADKで動かすTheo Jansen BeastをADKで動かす
Theo Jansen BeastをADKで動かす
 

Último

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Último (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません