BPHBQP2012
 LIGHTING TALKS
     toshiaki baba( @netmarkjp )
http://netmark.jp / http://heartbeats.jp
• 馬場   俊彰(ばば としあき) twitter: @netmarkjp

• 株式会社ハートビーツ         技術統括責任者(CTO)


• 現職: 	

 インフラエンジニア

前職: 	

 Webシステム開発(Java)
前々職:	

 インフラエンジニア

• インフラエンジニア勉強会          hbstudy 主催
• 得意分野


• Webシステムのアーキテクチャ全般


• Webシステムのインフラ全般の構築・設定・チュー

 ニングなど
 (ハードウェア、ネットワーク、OS、ミドルウェア)

• インターネットサービスに関わる技術要素全般


• スペシャリストというよりはゼネラリスト


• 最近の趣味は飲み会・ビール・写真・自転車等
覚えて帰ってください
突然ですが
いま
クラウドが
  熱い
CLOUD MANAGEMENT CONSOLE
CLOUD MANAGEMENT CONSOLE
INSTANCE
INSTANCE
     IS NOT
VIRTUAL SERVER
• Instance
• Instance

• →object    oriented programming
• Instance

• →object    oriented programming

• →design    pattern
いまさら
デザインパターン入�門
デザインパターン

• ソフトウェア開発におけるデザインパターン

(型紙(かたがみ)または設計パターン、英: design pattern)とは、

過去のソフトウェア設計者が発見し編み出した設計ノ
ウハウを蓄積し、名前をつけ、再利用しやすいように
特定の規約に従ってカタログ化したものである。
from wikipedia
(http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29)
デザインパターン

                          要するに
• ソフトウェア開発におけるデザインパターン
   •車輪の再発明防止
(型紙(かたがみ)または設計パターン、英: design pattern)とは、

   •ベストプラクティス活用
過去のソフトウェア設計者が発見し編み出した設計ノ
ウハウを蓄積し、名前をつけ、再利用しやすいように
特定の規約に従ってカタログ化したものである。
from wikipedia
(http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29)
PROXY


• 関連するインスタンス群を生成するための API                                                         を集約
することによって、複数のモジュール群の再利用を効
率化することを目的とする。
from wikipedia
http://ja.wikipedia.org/wiki/Proxy_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
PROXY




• from            wikipedia
 http://ja.wikipedia.org/wiki/Proxy_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
PROXY

                          browser                                            APIInterface




                                                    ProxyInstance                     AppInstance



• from            wikipedia
 http://ja.wikipedia.org/wiki/Proxy_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY


• 関連するインスタンス群を生成するための API                                                            を集約
することによって、複数のモジュール群の再利用を効
率化することを目的とする。
from wikipedia
http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY




• from            wikipedia
 http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY

                                                                                      engineer




• from            wikipedia
 http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY

 MachineImage ConfigRepo ProgramRepo                                                   engineer




• from            wikipedia
 http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY
                                                     <<< User Data
 MachineImage ConfigRepo ProgramRepo                                                   engineer




• from            wikipedia
 http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY
                                                     <<< User Data
 MachineImage ConfigRepo ProgramRepo                                                   engineer



  XXXInstance




• from            wikipedia
 http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ABSTRACT FACTORY
                                                     <<< User Data
 MachineImage ConfigRepo ProgramRepo                                                             engineer



  XXXInstance                                                      Config              Program




• from            wikipedia
 http://ja.wikipedia.org/wiki/Abstract_Factory_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
CLOUD
     IS
PROGRAMMABLE
INFRASTRUCTURE ENGINEER
           IS
      PROGRAMMER
• デザインパターン適用の理解に間違いがあっ

たらごめんなさい

• 話のネタになればと思ったのですが、

じつはそんなに詳しくないのです

• 詳しいひとコメントください
オブジェクト指向に
おける再利用のため
のデザインパターン
エリック ガンマ (著), ラルフ ジョンソン (著), リチャー
ド ヘルム (著), ジョン ブリシディース (著), Erich Gamma
 (原著), Ralph Johnson (原著), Richard Helm(原著), John
 Vlissides (原著), 本位田 真一 (翻訳), 吉田 和樹 (翻訳)




    http://www.amazon.co.jp/gp/product/4797311126/ref=as_li_ss_tl?ie=UTF8&tag=netmarkjp-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4797311126
増補改訂版JAVA
言語で学ぶデザ
インパターン入門
            結城 浩 (著)




http://www.amazon.co.jp/gp/product/4797327030/ref=as_li_ss_tl?ie=UTF8&tag=netmarkjp-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4797327030
まとめ
• インフラをプログラミングする時代が

もうきてます

• 常識をつくりなおす覚悟はできてますか


• 境界が溶けました。世界は広がりました


• あなたの世界も広げましょう
インフラしませんか?
 http://heartbeats.jp/recruit/
1/27(FRI) ENGINEER CROSS PARTY
      http://tech.nifty.co.jp/party/2012/
1/27(FRI) ENGINEER CROSS PARTY
      http://tech.nifty.co.jp/party/2012/

L tbaba@bphbqp2012公開用