SlideShare ist ein Scribd-Unternehmen logo
1 von 113
Downloaden Sie, um offline zu lesen
Java における
    モジュラリティ元年



                            近藤寛喜
                            株式会社チェンジビジョン
                            開発部




1
          QCon Tokyo 2010
謝辞

    •   参加を認めてくれた平鍋さん始め
    •   Change Visionのみんな
    •   講演させてくださったInfoQ Japanの皆様
    •   事前にレビューしてくださった
    •   原田さん、安井さん、河村さん、
    •   雄介さん、北條さん
    •   ありがとうございました!
2
                QCon Tokyo 2010
自己紹介
アジェンダ

    •   モジュラリティの重要性
    •   Project Jigsaw と OSGi
    •   モジュール設計の勘どころ



4
               QCon Tokyo 2010
アジェンダ

    •   モジュラリティの重要性
    •   Project Jigsaw と OSGi
    •   モジュール設計の勘どころ



5
               QCon Tokyo 2010
InfoQ でも記事多数 !!

    •   Neil Bartlett氏
         –   Introduction of OSGi
         –   Neil Bartlett on OSGi(インタビュー)
    •   Alex Bletwitt氏
         – Modular Javaシリーズ
         – Bundle.updateシリーズ


6
                    QCon Tokyo 2010
日本では・・・


       未だ
      情報少ない
7
          QCon Tokyo 2010
なぜモジュール化が
    重要になってきたか?


8
       QCon Tokyo 2010
ソフトウェアは
複雑
   http://www.flickr.com/photos/15928286@N07/2168229708/
Q :自動車の場合?
    http://www.flickr.com/photos/cytech/4386280055/
A:1 億 LOC
   http://www.flickr.com/photos/cytech/4386280055/
1990




                  1200億
            (原文)http://users.jyu.fi/~koskinen/smcosts.htm
12                          http://www.flickr.com/photos/royalport/416330036/
                     QCon Tokyo 2010
2000




              2500億
        (原文)http://users.jyu.fi/~koskinen/smcosts.htm
13                        http://www.flickr.com/photos/listener42/3665881441/
                     QCon Tokyo 2010
7年毎に2倍
     (原文)http://users.jyu.fi/~koskinen/smcosts.htm




14
                    QCon Tokyo 2010
毎年11%↑
15
       QCon Tokyo 2010
2010




            5000億
                     http://www.flickr.com/photos/thelastminute/4371562997/
16
             QCon Tokyo 2010
2017




                              1兆
                 http://www.flickr.com/photos/15928286@N07/2168229708/
17
            QCon Tokyo 2010
大変
規模の拡大から
来る複雑性を軽
減する仕組みが
必要
構造化指向も
  オブジェクト指向も
複雑性を軽減させる仕組み


  http://www.flickr.com/photos/procsilas/39287750
  9/
見通しよく
整理する


 http://www.flickr.com/photos/cheltenham/410034118
 8/
システムの中に
     いくつかの境界を作り、
          分ける
       → モジュール化

22
         QCon Tokyo 2010
モジュラリティとは、
      モジュールを使って
     システムを構成すること

23
         QCon Tokyo 2010
モジュール化のレイヤ

        システム                    SOA

        APP                     ???

                                マイクロ
24
        OS    QCon Tokyo 2010
                                カーネル
モジュール化の利点 (1)
情報隠蔽の促進
http://www.flickr.com/photos/8011986@N02/2681415971/
モジュール化の利点 (2)
依存関係の整理
   http://www.flickr.com/photos/oddwick/1765661986/
モジュール化の利点 (3)
再利用を促進
  http://www.flickr.com/photos/comedynose/4012525634/
再利用の二つの軸



        機能軸
       ( 機能 : ライブラリ等 )



                   時間軸
                  ( 使いつづける )

28
                    QCon Tokyo 2010
モジュール化の利点のまとめ

     •   情報隠蔽の促進
     •   →実装を公開しないでもよい
     •   依存関係を定義
     •   →システムの動作に必須のものが分かる
     •   再利用を促進
     •   →実装量を削減と継続利用の促進


29
              QCon Tokyo 2010
Java だったら・・・
  http://www.flickr.com/photos/morberg/3146874095/
JAR で運用
http://www.flickr.com/photos/alexkerhead/3123914969/
Q.JARだけで
     モジュールシステムを構成
        できないの?


32
         QCon Tokyo 2010
A.JARだけでは
     モジュールシステムとし
     て運用するのは厳しい

33
         QCon Tokyo 2010
Java のクラスロードモデル
        依存          拡張                   ブート
                  クラスローダ               クラスローダ
       JAR


             アプリケーションクラスローダ

             A               B         C


                                           G
             D
                             E     F

34
                 QCon Tokyo 2010
中身を展開
http://www.flickr.com/photos/shareski/3481154470/
ごちゃ
 ごちゃ
http://www.flickr.com/photos/joiseyshowaa/2402764792/
Visibility と Accessibility
     参照性とアクセス可能性


              参照
 タイプ=
 interface+
              可能
 class

        参照可能とは、あるタイプが他のタイプを参照できるか?
        JARがVMに読み込まれた状態
37
                   QCon Tokyo 2010
Visibility と Accessibility
     参照性とアクセス可能性


              参照 利用 アクセス
                      
 タイプ=
 interface+
              可能 可能 可能
 class

      アクセス可能とは、モジュールの公開範囲を指す。

38
                QCon Tokyo 2010
アクセス可能範囲で整理
 http://www.flickr.com/photos/joiseyshowaa/2402764792/
モジュール化の欠点

     •   開発コスト
          –   意識しない時の3倍
               •   独立性の担保
               •   依存関係の整理
     •   規模が小さい時は×
         →例:設計したら1モジュール


         使うべき場所を
         見誤らないように                      宮本武蔵・五輪書より
40                                     武器や流派にこだわるな
                     QCon Tokyo 2010
既存システムの
モジュール化
  http://www.flickr.com/photos/tanaka_juuyoh/429440983
       1/
難しい
http://www.flickr.com/photos/tanaka_juuyoh/4294409831/
モジュール化は
早い時期から検討を
  http://www.flickr.com/photos/alaina_marie/4377282773
         /
アジェンダ

     •   モジュラリティの重要性
     •   Project Jigsaw と OSGi
     •   モジュール設計の勘どころ



44
                QCon Tokyo 2010
Project Jigsaw を一言で



     •   次世代Java標準の
     •   モジュールシステム

45
             QCon Tokyo 2010
OSGi を一言で言うと



     モジュールシステムの
     デファクトスタンダード

46
            QCon Tokyo 2010
OSGi vs
Project Jigsaw
    http://www.flickr.com/photos/laurelfan/46009085/
協力
 http://www.flickr.com/photos/aidan_jones/1234618279/
EclipseCon 2010 にて

     Project JigsawとOSGiの相互運用
     →OSGiのモジュールがJigsawでも使える
     Oracleの Steve Harris氏とJeet Kaul 氏




49
                  QCon Tokyo 2010
Project Jigsaw


50
          QCon Tokyo 2010
Project Jigsaw とは

      問題:Javaプロセスの起動が遅い
      →起動時間・メモリフットプリントの改善したい

      •   JDKクラスライブラリをモジュール化
      •   Java SEもモジュールで分割
          –   起動時に必要なモジュール構成で
      •   Java7の目玉の一つ!

51
                  QCon Tokyo 2010
Visibility と Accessibility
     参照性とアクセス性


                参照 利用 アクセス
                        
 タイプ=
 interface+
                可能 可能 可能
 class

      アクセス可能とは、モジュールが公開しているか?
      識別子public/protected/default/privateにmodule追加
      publicとmoduleはmodule外への公開/非公開の区分
52
                        QCon Tokyo 2010
メタデータに必要なもの

                       •     名前
                       •     依存関係
                             –   必要なもの
                             –   公開範囲
                       •     バージョン




53
           QCon Tokyo 2010
Java 言語拡張
     メタデータ
     module M1 @ 1.0 {
     •   requires M2 @ 2.0, M3 @ 3.0;
     •   provides M4 @ 4.0, M5 @ 5.0;
     •   permits M6;
     •   class com.foo.bar;
     • }
                   module-info.java     JSR294
54
                     QCon Tokyo 2010
複雑に絡みあう JDK




55                       http://www.flickr.com/photos/adc/411821495/
           QCon Tokyo 2010
大変
Pr oject Jigsaw
                        絶賛開発中
http://www.flickr.com/photos/tanaka_juuyoh/429440983
1/
OSGi


58
     QCon Tokyo 2010
OSGi とは

     •   Open Service Gateway initiativeの略
     •   直訳「オープンなサービスゲートウェイの推進」


     •   OSGi Allianceで標準化

     •   Dynamic Module Systems for Java
     •   Javaのための動的なモジュールシステム

59
                    QCon Tokyo 2010
増える利用例




60
          QCon Tokyo 2010
astah* の事例




            • 既存機能のカスタマイズや拡張
        •   モジュールによるプラグインシステム
61
                QCon Tokyo 2010
Linked in の事例




     •   約2ヶ月かけて自社サービスをモジュール化
             複数バージョンのモジュールを利用
62       http://www.springsource.com/files/uploads/datasheets/Linkedin-Case-Study.pdf
                               QCon Tokyo 2010
OSGi の 3 大要素
モジュールシステム
サービス連携
動的 ( Dynamic )
      http://www.flickr.com/photos/yourdon/29217341
      52/
OSGi の 3 大要素
モジュールシステム
サービス連携
動的 (Dynamic)
     http://www.flickr.com/photos/yourdon/29217341
     52/
OSGiを使って
     モジュールシステムを構築すると、
     クラスローダの関係はこうなります。




65
           QCon Tokyo 2010
OSGi のクラスロードモデル
                                System       G




                  A                 B        C


 JAR+メタデータ
 • Bundle(バンドル)   D                 E    F



66
                      QCon Tokyo 2010
クラスローダにより区分け
   http://www.flickr.com/photos/joiseyshowaa/240276479
          2/
バージョンの異なる
     JAR への依存
     •   java -cp a.jar;b.jar;c.jar;a_v2.jar
     •   (通常フラットなクラスパスの場合)

          app                Ext            Boot




            a          b                c      a2



68
     先に見つけた JAR で解決   QCon Tokyo 2010
バージョンの異なる
     Bundle への依存
      •   OSGi環境下の場合
     System           app                 Ext       Boot



                  a                      a2


              b                                 c

     宣言された Bundle で解決
69
                            QCon Tokyo 2010
Bundle =   JAR               + メタデータ




70
                QCon Tokyo 2010
JARとして
      使える
71          http://www.flickr.com/photos/suewaters/2011571473/
       QCon Tokyo 2010
欠点

     •   独自のクラスロード構造
          –   ContextClassLoaderを頼ったライブラリの
              利用が困難
     •   対処法:
     •   →クラスローダの入れ替え                     System       G
     •   →ライブラリ側で順次対応
                                      A     B          C
     •   →OSGi実装での拡張
                                      D     E      F
72
                    QCon Tokyo 2010
メタデータに必要なもの

                       •     名前
                       •     依存関係
                             –   必要なもの
                             –   公開範囲
                       •     バージョン




73
           QCon Tokyo 2010
OSGi のメタデータの書き方

     META-INF/MANIFEST.MFに記述
      シンボル名:Bundle-SymbolicName
      バージョン:Bundle-Version
      依存関係
       必要なパッケージ:Import-Package
       公開パッケージ:Export-Package
     • ローカルクラスパス:Bundle-ClassPath
74
                QCon Tokyo 2010
Visibility と Accessibility
     参照性とアクセス性


              参照 利用 アクセス
                      
 タイプ=
 interface+
              可能 可能 可能
 class

      アクセス可能とは、モジュールが公開しているか?

      MANIFEST.MFでアクセス可能範囲を宣言
75
                 QCon Tokyo 2010
OSGi の 3 大要素
モジュールシステム
サービス連携
動的 (Dynamic)
          http://www.flickr.com/photos/yourdon/2921734152/
Declarative Service
      •   Consumer(要求側)とProvider(供給側)
      •   Consumerは、必要なIFを宣言
      •   Providerは供給できるIFと、実装を宣言




                 POJO 
77
                   QCon Tokyo 2010
DI コンテナ→ OSGi コンテナ




         サービスはDIパターンが非常に有効
                →テスト容易性の向上
          インタフェースと実装を明確に分離

                    http://www.flickr.com/photos/danielspils/58586596/
78
             QCon Tokyo 2010
Whiteboard-model




79
             QCon Tokyo 2010
Extender パターン




     •   Declarative Seriviceには内部互換性
80
                   QCon Tokyo 2010
Declarative Service
     実装
      •   Equinox DS
      •   Felix DS
      •   iPOJO
      •   Google Guice peaberry
      •   Blueprint Service系
           –   Eclipse Gemini(Spring DM)
           –   Apache Aries

81
                       QCon Tokyo 2010
OSGi の 3 大要素
モジュールシステム
サービス連携
動的 (Dynamic)

          http://www.flickr.com/photos/yourdon/2921734152/
Dynamic

     VM稼働中にBundleの構成を変更
     →install,update,uninstall,start,stop,refresh
     実行中のBundleの状態が見える




                        http://www.flickr.com/photos/clearlyambiguous/165316414/
83
                        QCon Tokyo 2010
OSGi の実装
  http://www.flickr.com/photos/yourdon/29217341
  52/
OSGi の実装

     •   オープンソースプロジェクトが4種類




      スタンスが異なる
85
               QCon Tokyo 2010
Equinox

     • よみ:いくいのっくす
     • 開発元:Eclipse Foundation
     • Eclipseの基盤
     OSGi Core Spec R4.2 の参照実装

     •   実践主義(仕様へフィードバック)
     •   アプリケーションの基盤向け
86
                QCon Tokyo 2010
Equinox の特徴

     •       Eclipse-BuddyPolicy
         –   境界を制御する宣言
         –   例:スクリプト言語、log4j
     •       Bundle-ActivationPolicy
         –   Bundleが必要になるまでロードせず。
         –   →起動時間の改善



87
                     QCon Tokyo 2010
Eclipse-BuddyPolicy
                                System       Script
                                             Engine



                  A                 B         C


 JAR+メタデータ
                                  E
 • Bundle(バンドル)   D                      F
                                 Model


88
                      QCon Tokyo 2010
Felix

     • よみ:ふぇりっくす
     • 開発元:Apache Foundation
     OSGi Service Spec R4を実装



     •   仕様への互換性を重視
     •   既存アプリケーションへの組み込みを視野

89
                 QCon Tokyo 2010
Felix の特徴

     •   既存のアプリとFelix内のBundleで連携




90
                QCon Tokyo 2010
knopflerfish

     •   よみ:ノプラフィッシュ
     •   開発元:makewave
     •   OSGi R3を実装済み R4を実装中

     商用サポートあり



91
                QCon Tokyo 2010
Concierge OSGi

     •   よみ:コンシェルジュ
     •   開発元:Sourceforge.netのプロジェクト
     •   OSGi R3を実装

     •   組込向けに特化
         –   ファイルフットプリント等


92
                  QCon Tokyo 2010
Pax Runner




     •   Equinox,Felix,knopflerfish,Conciergeの
     •   切り替えをサポート
93
                    QCon Tokyo 2010
OSGi の導入効果
     http://www.flickr.com/photos/yourdon/2921734152/
OSGiはすべてのメンバーでのソリュー
         ション作成を強力に支援。
     その力のいくらかはシステムエンジニ
     アリングを越えて拡大し、ソーシャルエ
       ンジニアリングに及んでいます。



            Equinoxのリード開発者
            Jeff McAffer氏の言葉
95
              QCon Tokyo 2010
ソーシャルエンジニアリングとは
     チーム開発が変わっていく事



     プラットフォームチーム             アプリ開発チーム

      •   開発チーム毎にBundleを担当
      •   プロセスや実装を独自に改善
                            http://www.flickr.com/photos/jragon/299011871/

96
                   QCon Tokyo 2010
ソーシャルエンジニアリングとは
     チーム開発が変わっていく事



     プラットフォームチーム             アプリ開発チーム

      •   プラットフォームチームの提供IFで
      •   アプリケーションを開発
                            http://www.flickr.com/photos/jragon/299011871/

97
                   QCon Tokyo 2010
ソーシャルエンジニアリングとは
     チーム開発が変わっていく事



     プラットフォームチーム             アプリ開発チーム

      •   アプリチームは提供IFを拡張して
          開発を進める事もできる
                            http://www.flickr.com/photos/jragon/299011871/

98
                   QCon Tokyo 2010
ソーシャルエンジニアリングとは
     チーム開発が変わっていく事



     プラットフォームチーム             アプリ開発チーム

      •   提供IFの拡張はプラットフォームに
          フィードバック
                            http://www.flickr.com/photos/jragon/299011871/

99
                   QCon Tokyo 2010
インテグレーションの手違いを
      撲滅


      PFチーム    アプリAチーム              アプリBチーム




              インテグレーション環境
       集めたバイナリの間違いを実行時に確認できる。
                          http://www.flickr.com/photos/jragon/299011871/

100
                 QCon Tokyo 2010
Polyglot( 多言語 )OSGi
                               System        G




                 A                 B         C


      JVM上の言語も
      モジュール対応    JRuby          Scala   Groovy
      進行中


101
                     QCon Tokyo 2010
Bundle のテスト
   http://www.flickr.com/photos/yourdon/29217341
   52/
単体テストと統合テスト
                                System       G




                  A                 B        C


 JAR+メタデータ
 • Bundle(バンドル)   D                 E    F



103
                      QCon Tokyo 2010
Mock Service の注入




                 Mock Serviceをコンテナに注入
                          動作の大まかな確認
                  Mockito (http://mockito.org/)
          http://www.flickr.com/photos/takuma104/43113749
104
          34/         QCon Tokyo 2010
Pax Exam




      •   統合テスト用のツール
      •   Bundleの構成やOSGiコンテナの変更
105
                 QCon Tokyo 2010
アジェンダ

      •   モジュラリティの重要性
      •   Project Jigsaw と OSGi
      •   モジュール設計の勘どころ



106
                 QCon Tokyo 2010
良い垣根は良い隣人を育む
   by Jef f McAf fer
 http://www.flickr.com/photos/tambako/3451214734/
依存関係を小さく
http://www.flickr.com/photos/tambako/3451214734/
まとめ:
      複雑なシステム
      →小さく・独
      立・組み合わせ
110
         QCon Tokyo 2010
参考文献




111
             QCon Tokyo 2010
何か質問は
      ございますか?
112
        QCon Tokyo 2010
質問は
      Kompiro@
      gmail.com
113
        まで
         QCon Tokyo 2010

Weitere ähnliche Inhalte

Ähnlich wie Javaにおけるモジュラリティ元年

デブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通すデブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通すYusuke Suzuki
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)shojiro-tanaka
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Toshiaki Maki
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureTsukasa Kato
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京Kohsuke Kawaguchi
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスChen Dominique
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Hirofumi Iwasaki
 
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみたNobuyuki Matsui
 
Enterprise Redmine
Enterprise RedmineEnterprise Redmine
Enterprise RedmineDai FUJIHARA
 
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)Keizo Tatsumi
 
AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話kumatch kumatch
 
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpYuji Kubota
 
SGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリーSGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリーYukei Wachi
 
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~Sunao Tomita
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_patternyusuke shibui
 
「オープンなジオデータを考える」資料
「オープンなジオデータを考える」資料「オープンなジオデータを考える」資料
「オープンなジオデータを考える」資料Fumihiro Kato
 

Ähnlich wie Javaにおけるモジュラリティ元年 (20)

デブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通すデブサミ2010 これからのアーキテクチャを見通す
デブサミ2010 これからのアーキテクチャを見通す
 
第11回しゃちほこオラクル倶楽部
第11回しゃちほこオラクル倶楽部第11回しゃちほこオラクル倶楽部
第11回しゃちほこオラクル倶楽部
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on Azure
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
 
大江戸Ruby会議
大江戸Ruby会議大江戸Ruby会議
大江戸Ruby会議
 
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
【第5回東京SoftLayer勉強会】LT7 SoftLayerでOpenStackを動かしてみた
 
Enterprise Redmine
Enterprise RedmineEnterprise Redmine
Enterprise Redmine
 
PHP framework Phalcon
PHP framework PhalconPHP framework Phalcon
PHP framework Phalcon
 
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
 
AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話AngularJSからReactに移ったケースの話
AngularJSからReactに移ったケースの話
 
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jp
 
SGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリーSGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリー
 
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_pattern
 
「オープンなジオデータを考える」資料
「オープンなジオデータを考える」資料「オープンなジオデータを考える」資料
「オープンなジオデータを考える」資料
 

Mehr von Hiroki Kondo

Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Hiroki Kondo
 
Coderetreat in KIT 資料/
Coderetreat in KIT 資料/Coderetreat in KIT 資料/
Coderetreat in KIT 資料/Hiroki Kondo
 
Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料Hiroki Kondo
 
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtipsEclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtipsHiroki Kondo
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTracHiroki Kondo
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTracHiroki Kondo
 
10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディング10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディングHiroki Kondo
 
JRubyでカードアプリを作ろう
JRubyでカードアプリを作ろうJRubyでカードアプリを作ろう
JRubyでカードアプリを作ろうHiroki Kondo
 
モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-Hiroki Kondo
 
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic ModulesHiroki Kondo
 
Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版Hiroki Kondo
 
どこでもTrac Wiki
どこでもTrac WikiどこでもTrac Wiki
どこでもTrac WikiHiroki Kondo
 
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)Hiroki Kondo
 
HELP ME! 説明書
HELP ME! 説明書HELP ME! 説明書
HELP ME! 説明書Hiroki Kondo
 
Rodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜRodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜHiroki Kondo
 
斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)Hiroki Kondo
 
斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)Hiroki Kondo
 
5分で分かるSpringDMとS2AP
5分で分かるSpringDMとS2AP5分で分かるSpringDMとS2AP
5分で分かるSpringDMとS2APHiroki Kondo
 

Mehr von Hiroki Kondo (20)

Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料
 
Coderetreat in KIT 資料/
Coderetreat in KIT 資料/Coderetreat in KIT 資料/
Coderetreat in KIT 資料/
 
Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料
 
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtipsEclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTrac
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTrac
 
10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディング10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディング
 
JRubyでカードアプリを作ろう
JRubyでカードアプリを作ろうJRubyでカードアプリを作ろう
JRubyでカードアプリを作ろう
 
モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-
 
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules
 
Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版
 
どこでもTrac Wiki
どこでもTrac WikiどこでもTrac Wiki
どこでもTrac Wiki
 
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
 
HELP ME! 説明書
HELP ME! 説明書HELP ME! 説明書
HELP ME! 説明書
 
Help Me!
Help Me!Help Me!
Help Me!
 
Rodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜRodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜ
 
斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)
 
斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)
 
5分で分かるSpringDMとS2AP
5分で分かるSpringDMとS2AP5分で分かるSpringDMとS2AP
5分で分かるSpringDMとS2AP
 
EclipSky200712
EclipSky200712EclipSky200712
EclipSky200712
 

Kürzlich hochgeladen

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Kürzlich hochgeladen (9)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

Javaにおけるモジュラリティ元年