SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Apache Tapestry
-- Open-source framework for creating dynamic,
      robust, highly scalable web applications --
自己紹介
名前
   片山 暁雄
ID
   id:c9katayama
    c95029@gmail.com
所属
  株式会社キャピタルアセットプランニング
   http://www.cap-net.co.jp
  チームT2Framework
   http://code.google.com/p/t-2/
Agenda

Tapestryとは
基本的な仕組み
Pageとtml
Component・ Mixin
IoC ・Module
その他機能
利点欠点
まとめ
Tapestry




Tapestryとは
Tapestryとは

Apach傘下で開発中のWebフレームワーク
 トッププロジェクト
Servlet・JSPは使用しない
イベントドリブン
HTMLテンプレート・コンポーネント
JSFに似てる(?)
IoCコンテナ内臓
Tapestryとは

2001年ごろに開発開始
現在バージョン5
 後方互換性なし
JDK5以上
Apache2.0 License
Tapestry




基本的な仕組み
基本的な仕組み
                     Tapestry                        USER

                           Registry                  Service

                            Module                   Module

                                            URL

                          HttpServlet             Page
Browser   Tapestry      RequestHandler
           Filter
                          Filter                   .tml
                            Filter
                                Filter
                                                  Component
                                   Filter
パッケージ構成

    USERクラスの登録
      ルートパッケージをweb.xmlで指定
      他の設定ファイルなし
<context-param>
    param-name>tapestry.app-package</param-name>
   <param-value>org.apache.tapestry5.tutorial</param-value>
</context-param>
パッケージ構成
ルートパッケージ以下
 pages
 services
 components
 mixins
 base
  特別なフォルダ
  このフォルダからの
  パッケージ階層も重要
Tapestry




Pageとtml
Pageとtml

Pageクラス
 画面の情報を保持したり、画面からのアクショ
ンを受け取ったりするクラス
 URLと1対1でひも付け
tml(TapestryMarkupLanguage)ファイル
 HTMLテンプレートファイル
 Pageと1対1でひも付け

  URL = Page = tml
Pageとtml
 Pageクラス
public class GameStart{
  @Property
   private int guess;
  @Persist
  private int target;
  @InjectPage
  private GameOver gameOver;
  void initialized(int target){
    this.target = target;
  }
  @OnEvent(component=“ansLink”)
  Object handleAnsLink(int guess) {
    return target==guss ? gameOver. : null;
  }
}
Pageとtml

      tml
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
  <head>
     <title>Guess A Number</title>
  </head>
  <body>
     <p>Make a guess between one and ten:</p>
     <p>${message}</p>
     <t:loop source="1..10" value="guess" xml:space="preserve">
        <t:actionlink t:id=“ansLink" context="guess">${guess}</t:actionlink>
     </t:loop>
  </body>
</html>
Pageとtml

                      レンダリング時
Page(hoge/Foo.java)   にPageから値を   .tml(hoge/Foo.tml)
                          取得
@Property
String message                         ${message}

@OnEvent(
  component=“ansLink”)            <t:actionlink
Object handleAnsLiks(){}                  t:id=“ansLink“>
                           画面アクション時に
                           Pageのメソッドを
                             コールバック
Pageとtml

Pageクラス
 POJO(クラスアノテーションもなし)
 ${app-package}.pagesパッケージに格納
   自動登録
  URLと1対1のマッピング
例えば${rootpkg}/pages/hoge/Foo.javaの場合、
http://host/context_root/hoge/foo
とマッピングされる
Pageとtml

フィールドアノテーション
@Property
  アクセサを自動生成
  宣言しないで自分でアクセサをつけてもOK
@Persist
  他の画面に行っても持ち越す値に付与
  セッションに値が入る
@Retain
  リクエスト間で値を保持したい場合に付与
Pageとtml
@Inject
  コンテナからDIしてほしい場合に付与
@InjectService
  名前指定でサービスをDIしてほしい場合に付与
@InjectPage
  次の画面のインスタンスが欲しい場合に宣言
  イベントハンドラーから返すと、その画面に遷移
Pageとtml

メソッドアノテーション
@OnEvent
  「value=EventConstantsの定数」で、各イベント発
 生時のハンドル可能
  component=コンポーネントidで、指定のコンポーネ
 ントのアクションをハンドル可能

  ACTION    ACTIVATE    PASSIVATE
  PREPARE_FOR_RENDER PREPARE_FOR_SUBMIT
  PREPARE    SUBMIT     VALIDATE_FORM
  SUCCESS    FAILURE    SELECTED
  PARSE_CLIENT    TO_CLIENT
  VALIDATE    REMOVE_ROW      ADD_ROW
Pageとtml

@OnEventアノテーションは、
 onアクション
 onアクションFromコンポーネントid
でも代用可能
  @OnEvent(
          value=EventConstanst.ACTION,
          component=“ansLink”)
  public Object hoge(){}

  public Object onActionFromAnsLink (){
  }
Pageとtml

tml
 XHTML形式
 ドキュメントルート以下、もしくは
      ${pkgbase}.pagesパッケージに格納
 独自タグ、もしくはHTMLの要素で、コンポーネ
ントを記述
  <a t:type="pagelink" t:page="address/create">

  <t:pagelink page=“address/create”>

  いずれも同じ
Pageとtml
タグ部分はレンダリング時にHTMLに置き換わる
${value}を使って、Pageクラスから値を取得
リンク、フォームなどのクリックで発生する
リクエストを、Pageに通知
Tapestry




Component・Mixin
コンポーネント

Component
 Javaクラス、tmlファイル、リソース
(js,image,CSS)をひとまとめにしたもの。
 ${tapestry.app-package}.componentsパッケー
ジに格納
コンポーネント

作り方
  Javaクラスを作成
  必要ならtmlを作成
  画像・JavaScript・CSSなどが必要な場合は
Javaクラスに宣言
実際のコード
コンポーネント

 使い方
  tml内でコンポーネントを宣言

<t:hoge.foo.Component
          id=“mycmp” bar=“XXX” />
コンポーネント
コンポーネントツリー
  Pageをルートとしたツリー
  ツリーに従いレンダリングやイベント伝播を行う

                     Page



           layout           Page



pagelink            form
コンポーネント

組み込みComponent
 Form,Label,TextField
 PageLink,ActionLink,LinkSubmit
 If,Unless
 Grid
 BeanDisplay,BeanEditor
コンポーネント

Mixin
 既存のComponentに対して、機能を追加する
ためのもの
 Componentの各処理に割り込む
 作り方はComponentと一緒
 ただしtmlは使用不可
コンポーネント

 使い方
   コンポーネント宣言に使用するmixinを宣言

<t:TextField
    t:mixins=“autocomplete" id=“mytxt” />
コンポーネント

組み込みMixin
 Autocomplete
 RenderDisabled
 RenderInformals
Tapestry




IoC・ Module
IoC・Module

IoC
  Tapestry組み込みのIoCコンテナ
  tapestry5-ioc.jarで提供
      本体はtapestry5-core.jar
                                  bind
 Registry         ServiceBinder          Module
                                         Service1
Service1
 Service2
                                         Service2
IoC・Module

Registry
  Serviceの集合体
  インターフェースとその実装クラス、及び設定
  (contribute、decorate)の情報を保持
  コアコンポーネント・ユーザーコンポーネント
  すべてをこのRegistryから取り出す
  @Inject,@InjectServiceのついたフィールドに
  インジェクション
IoC・Module

Module
 Serviceと設定をRegistryに登録する役割
 ${app.package}/services/アプリ名Module.class
 がTapestryFilter初期化時に自動的に呼ばれる
 すべてstaticメソッド
   bind()で、サービスをbind
   contributeサービス名()で、そのサービスの設定
   decorateサービス名()で、サービスデコレーターの設
   定
Tapestry




その他機能
その他機能

オートリロード機能
 pages、components、mixins、baseパッケージ
 内のクラスやリソースをリロード
Ajax対応
 zone機能(指定の<div>の中身だけを書き換え)
詳細なエラーページ
Tapestry




利点・欠点
利点

HTMLテンプレートが利用できる
URLとクラス・テンプレートの位置関係
が明確
コンポーネント作成が容易・再利用が可
能
IoCコンテナ内臓 カスタマイズが柔軟
オートリロード機能でAPサーバ再起動な
しの開発が可能
欠点

学習コストが高い
 機能が多いので、すべて知るに時間がかかる
ソースが追いくい
 匿名クラスやエンハンスされたクラスが多い
ライフサイクルがわかりにくい
Seasar2,Guiceは使用不可
 今出ているのはHiveMindとSpringのアダプタ
 だけ
ORマッパー・トランザクションとの連携
 Hibernate連携以外は?
Tapestry




まとめ
まとめ

Tapestryは、イベントドリブン・コンポー
ネント指向・HTMLテンプレート
IoCコンテナ・リロード機能つき
結構すごいが学習コストが高め
とりあえず 抱かれてみよう Tapestry
まとめ

参考文献
 Apache Tapestry
   http://tapestry.apache.org/
 有志の日本語訳
   http://kuramo.ch/tapestry5/ja/
まとめ




ご静聴ありがとうございました

Mais conteúdo relacionado

Destaque

Tapestryin talentsanjose1977july3
Tapestryin talentsanjose1977july3Tapestryin talentsanjose1977july3
Tapestryin talentsanjose1977july3redthistle
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Marcelo Rodrigues
 
Tapestry 5: Java Power, Scripting Ease
Tapestry 5: Java Power, Scripting EaseTapestry 5: Java Power, Scripting Ease
Tapestry 5: Java Power, Scripting EaseHoward Lewis Ship
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング勲 國府田
 
REST and some Python (or 'Python "sinners" must REST')
REST and some Python (or 'Python "sinners" must REST')REST and some Python (or 'Python "sinners" must REST')
REST and some Python (or 'Python "sinners" must REST')Sabin Buraga
 

Destaque (6)

Apache Tapestry
Apache TapestryApache Tapestry
Apache Tapestry
 
Tapestryin talentsanjose1977july3
Tapestryin talentsanjose1977july3Tapestryin talentsanjose1977july3
Tapestryin talentsanjose1977july3
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5
 
Tapestry 5: Java Power, Scripting Ease
Tapestry 5: Java Power, Scripting EaseTapestry 5: Java Power, Scripting Ease
Tapestry 5: Java Power, Scripting Ease
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 
REST and some Python (or 'Python "sinners" must REST')
REST and some Python (or 'Python "sinners" must REST')REST and some Python (or 'Python "sinners" must REST')
REST and some Python (or 'Python "sinners" must REST')
 

Semelhante a Apache Tapestry

Android Architecture Componentsの新機能
Android Architecture Componentsの新機能Android Architecture Componentsの新機能
Android Architecture Componentsの新機能Damper Matsu
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へDevelopers Summit
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applicationstotty jp
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!Shohei Okada
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Hajime Fujimoto
 
Using the Fragments(Android)
Using the Fragments(Android)Using the Fragments(Android)
Using the Fragments(Android)Teruaki Kinoshita
 
CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8Akira Onishi
 
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 revWindows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 revShotaro Suzuki
 
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチクラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチTomoharu ASAMI
 
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会Jumpei Ogawa
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略takezoe
 
HTTPとサーブレット
HTTPとサーブレットHTTPとサーブレット
HTTPとサーブレットTakashi Makino
 
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 miso- soup3
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」Kohsuke Kawaguchi
 

Semelhante a Apache Tapestry (20)

Android Architecture Componentsの新機能
Android Architecture Componentsの新機能Android Architecture Componentsの新機能
Android Architecture Componentsの新機能
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
 
Vue入門
Vue入門Vue入門
Vue入門
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applications
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
20081003
2008100320081003
20081003
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本
 
Using the Fragments(Android)
Using the Fragments(Android)Using the Fragments(Android)
Using the Fragments(Android)
 
CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8
 
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 revWindows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
 
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチクラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチ
 
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
 
Dynamic Data
Dynamic DataDynamic Data
Dynamic Data
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
 
SimpleModeler
SimpleModelerSimpleModeler
SimpleModeler
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
20091207
2009120720091207
20091207
 
HTTPとサーブレット
HTTPとサーブレットHTTPとサーブレット
HTTPとサーブレット
 
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
 

Mais de Akio Katayama

Awsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-publicAwsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-publicAkio Katayama
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -Akio Katayama
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireAkio Katayama
 

Mais de Akio Katayama (7)

Awsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-publicAwsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-public
 
AWS SDK for Java
AWS SDK for JavaAWS SDK for Java
AWS SDK for Java
 
Amazon Web Services
Amazon Web ServicesAmazon Web Services
Amazon Web Services
 
Amazon EC2
Amazon EC2Amazon EC2
Amazon EC2
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
SpringMVC
SpringMVCSpringMVC
SpringMVC
 

Último

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Último (9)

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

Apache Tapestry