T2@java-ja#toyama

T2でつなごう!
   ~つなぐつながるWebフレームワーク
PHPからJavaへ移行する人向け機能も~




          富山勉強会 2009/04/04
自己紹介

名前
 米林 正明
ID
 id:yone098
所属
 株式会社Abby     代表取締役社長
自己紹介


出身
自己紹介


出身
富山
自己紹介


好きです
富山
自己紹介

カターレ富山
 初勝利おめでと
う!!!!!
一句


富山県
雷鳥 立山
ますのすし❤
Agenda

T2の概要
T2の仕組み
T2のスタイル
T2の目指す所
機能紹介
DIコンテナ非依存
今後の展開
デモ
T2 - The WEB Connector -




T2の概要
Webを取り巻く環境の進化
クライアント
             HTML                     Flex3
                        Ajax

         Param           XML           AMF3

フレームワーク
            Struts   Struts2     BlazeDS

サーバ
         Action         Action
                                       POJO
                       Support
Webを取り巻く環境

 無理なが
 無理なが
T2とは

T2とは
 シンプルなWebフレームワーク
  フィルタ指向
  アノテーションベース
 テーマ「つなぐ・つながる」
  ユーザと開発者を
  実案件と楽しさを
  あらゆるクライアントとサーバアプリを
 クライアントとユーザーコードの仲介役
T2とは

T2とは
 クライアント側は自由に選択可能
  フォームのサブミット
  Ajaxリクエスト/REST
  Flex/AIR/Silverlightなどのリッチクライアント
  Webサービス
 統一したプログラミングモデルの提供
  クライアントがどうであっても常に同じように作れ
  る。作り方が変わらない
  一貫したスキルセットで開発可能
T2とは



つなぐ
つながる
T2でつなごう!
クライアント




          T2!
サーバ
T2の仕組み




T2の仕組み
T2の基本的な仕組み
フィルタベースのWebフレームワーク
 URLとJavaオブジェクト(POJO)をマッチング
  アノテーションでマッチング
 マッチしたPOJOから適切なメソッドを選択
 メソッドを実行
  行き先と遷移方法を指定するNavigationインタ
  フェースの実装を返す
 T2がそれに従って遷移する
  テンプレートエンジンやレンダリングは任意で指定
  JSP、ZPT、Mayaaなんでも可能
T2の基本的な仕組み

                   リクエストURLと
                           と
                   リクエスト
       リクエスト           がマッチ?
                   POJOがマッチ?

                マッチした
                マッチしたPOJOのメソッド
                   した    の
                     マッチ?
                    とマッチ?


                   対象メソッドの
                   対象メソッドの実行
                     メソッド


                 Navigationによる次の遷
                           による次
                           による
       レスポンス
                   移先と方法の
                   移先と方法の決定
ブラウザ
T2 - The WEB Connector -




T2のスタイル
T2のスタイル

アノテーションドリブン
  エントリーポイントのPOJOにアノテーション付与
  エントリーポイントの分かりやすさ重視
  規約とアノテーションを適切に利用

              @GET
サーバ           @ActionPath(“/hoge”)
      @POST
T2のスタイル

基本はステートレス
T2のスタイル

基本はステートレス
特定のコンテナへ依存しない


                コンテナなくて
                コンテナなくて
                  もOK
T2のスタイル

ユーザーに介入してほしい
 コアはシンプルに。
 エクステンションで便利機能を提供
 プロジェクトごとに必要な機能を作るのも簡単
ユーザが制御可能だと自信をもって言え
    制御可能だと自信をもって言
    制御可能だと自信をもって
る事がとても重要。
 そのための徹底的なシンプルさ。
T2とは



つなぐ
つながる
T2 - The WEB Connector -




T2の目指す所
T2の目指す所
マルチビューをさばける
過渡期でも使える
依存が少ない
ユーザーが支配出来る・やりすぎない
Webクライアントの自由度を妨げない
 Formサブミット
 リッチクライアント
 Ajax
 Webサービス
T2 - The WEB Connector -




機能紹介
T2 - The WEB Connector -



リクエストとPOJOの
  マッピング
T2の基本的な仕組み

                   リクエストURLと
                           と
                   リクエスト
       リクエスト           がマッチ?
                   POJOがマッチ?

                マッチした
                マッチしたPOJOのメソッド
                   した    の
                     マッチ?
                    とマッチ?


                   対象メソッドの
                   対象メソッドの実行
                     メソッド


                 Navigationによる次の遷
                           による次
                           による
       レスポンス
                   移先と方法の
                   移先と方法の決定
ブラウザ
URLとPageのマッピング

STEP1:@Pageでクラス特定
           でクラス特定

  http://yoursite.com/t2app/hello/world


    @Page(“/hello”)
    public class MyHello {
    …
T2 - The WEB Connector -



 リクエスト内容と
アクションメソッドの
  マッピング
T2の基本的な仕組み

                   リクエストURLと
                           と
                   リクエスト
       リクエスト           がマッチ?
                   POJOがマッチ?

                マッチした
                マッチしたPOJOのメソッド
                   した    の
                     マッチ?
                    とマッチ?


                   対象メソッドの
                   対象メソッドの実行
                     メソッド


                 Navigationによる次の遷
                           による次
                           による
       レスポンス
                   移先と方法の
                   移先と方法の決定
ブラウザ
基本機能
STEP2:メソッドアノテーションでメソッド特定
    2 メソッドアノテーションでメソッド特定
      メソッドアノテーション
      http://yoursite.com/t2app/hello/world

 @Page(“/hello”)
 public class MyHello {

  @GET
  @ActionPath(“/world”)
  public Navigation helloworld(){
 …
メソッド特定方法


            のリクエストで
@GET GETのリクエストで かつ
                                 のパスの
@ActionPath(“/world”) /worldのパスの場合
 public Navigation helloworld(){
…


       全マッチの場合、呼び出される。
        マッチの場合、   される。
メソッドアノテーション

@GET,@POST
@ActionPath
@ActionParam
 リクエストパラメータのkey
 key-value指定も可能
@Ajax
@Amf (0.6から)
@Default
アノテーションマッチ
複数のメソッドがマッチした場合
 たくさんアノテーションがマッチした方を優先
同じ数のアノテーションがマッチした場合
 先に見つかったほうを使用
マッチするのがなかった場合
 @Defaultがついたメソッドを呼ぶ
 @Defaultつきがない場合、エラー
メソッド引数特定方法

引数のアノテーションを見て、適切なコン
ポーネントをインジェクト
 @RequestParam
 @RequestHeader
 @SessionAttr
 @Upload
 @Form
 @Index
 @Var
メソッド引数特定方法

引数の型を見て、インジェクト
 HttpServletRequest, HttpServletResponse
 HttpSession
 ServletContext
 Cookie/Cookie[]
 WebContext
 Request, Response
 UploadFile
 ErrorInfo
メソッド引数特定方法

@ActionPath(“/world/{id}”)
public Navigation helloworld(
 HttpSession session,
  @Var(“id”) String id,
  @RequestParam(“name”) String name){

…
T2とは



つなぐ
つながる
phpとつながる


PHPでの開発
5年やってます
phpとつながる


PHPといえば
phpとつながる

$_GET
$_POST
$_SESSION
$_FILES
phpとつながる

$_GET[“arg1”]
$_POST[“arg2”]
$_SESSION[“name”]
$_FILES[“sample”]
phpとつながる


わかりやすい
phpとつながる

PHPを知ってる人にJavaを教えると
 「Javaはクラス名長い><」
 「Javaはメソッド名長くない?><」
 「HttpServletRequestとか何?><」
 「$_POST[‘arg’]で取れないの><」
phpとつながる

PHPを知ってる人にJavaを教えたら
 「Javaはクラス名長い><」
 「Javaはメソッド名長くない?><」
 「HttpServletRequestとか何?><」
 「$_POST[‘arg’]で取れないの><」



        ごもっとも
一句


無いのなら
作ってしまおう
$_POST
PHPとつながる
public class $_POST {
  public static <T> T get(String key) {
    T ret = null;
    String[] params =
               WebContextUtil.getRequest().getParameters(key);
    if (params != null && params.length == 1) {
       ret = (T) params[0];
    } else {
       ret = (T) params;
    }
    return ret;
  }
}
PHPとつながる
  使い方
    PHP : $_POST[‘arg1’] Java : $_POST.get(‘arg1’)

@POST
public Navigation execute() {
  String value = $_POST.get(“arg1quot;);
  ….
}
PHPとつながる
対応クラス
$_POST
$_GET
$_SESSION
$_FILES
PHPとつながる
  使い方 $_FILES
     ファイルアップロードも熱い

@POST
@ActionParam
public Navigation upload() {
  UploadFile file = $_FILES.get(‘sample’);
  logger.debug(quot;file name: {}, size:{}quot;,
    file.getName(), file.getSize());
  ….
}
PHPとつながる
使い方
 sampleのlikephpを参照
手軽に試す方法
t2-samplesをチェックアウト
htmlを作成
対応するPageクラスで$_POST, $_FILES,
$_SESSION, $_GETを実際に使ってみる
PHPとつながる
今後
$_ENVやvar_dump関数を提供もしくは作って
ください
狙い
PHPに記述が似ててすぐ動いて嬉しい
$_POSTってどうなってるの?
そのままソースを追う事によりJavaに興味を持
ちつつHttpServletRequestの理解
 最後は自分で勉強することが大事
 $_ENVを作ることにより理解も深まる
T2とは



つなぐ
つながる
T2 - The WEB Connector -



レスポンス
T2の基本的な仕組み

                   リクエストURLと
                           と
                   リクエスト
       リクエスト           がマッチ?
                   POJOがマッチ?

                マッチした
                マッチしたPOJOのメソッド
                   した    の
                     マッチ?
                    とマッチ?


                   対象メソッドの
                   対象メソッドの実行
                     メソッド


                 Navigationによる次の遷
                           による次
                           による
       レスポンス
                   移先と方法の
                   移先と方法の決定
ブラウザ
レスポンス
戻り値として、Navigationインターフェースを
実装したクラスのインスタンスを返す
 Forward(フォワードする)
 Redirect(リダイレクトする)
 SimpleText(テキストデータを返す)
 Direct(ファイルなどを直接書き込む)
 Json(JSONにして返す)
 NoOperation(何もしない)
 PassThrough(次のServlet/Filterに委譲)
レスポンス
      に
//JSPにForward
@ActionPath(“/world/{id}”)
public Navigation helloworld(){
  return Forward.to(“/jsp/hoge.jsp”);
}

//画像ファイルを返す
   画像ファイルを
   画像ファイル
@ActionPath(“/worldImage”)
public Navigation helloworldImage(){
  File image = new File(“world.png”);
  return Direct.from(image);
}
レスポンス


マルチビューデモ
 Applet->T2
 JavaFX->T2
T2 - The WEB Connector -



DIコンテナ非依存
DIコンテナ非依存

T2は特定のDIコンテナなどのフレーム
ワークに依存しない
単体でも動作可能
主要DIコンテナとも連携可能
 アダプタ機能を配布
DIコンテナ非依存

T2が動作するDIコンテナ
 Guice
 Spring
 Lucy
DIコンテナ非依存


 今日は
 今日は
ひがさん
きとるにか
DIコンテナ非依存




         君
   Seasar君
どこ行ってしもたんや…
どこ行ってしもたんや
DIコンテナ非依存

T2が動作するDIコンテナ
 Seasar2
           あるよ!
           あるよ!
 Guice
 Spring
 Lucy
DIコンテナ非依存


  今日は
  今日は
  ひがさん
   Slim3
メインやないか
メインやないか
DIコンテナ非依存




    Slim3
どこ行ってしもたんや…
どこ行ってしもたんや
DIコンテナ非依存

T2が動作するDIコンテナ
 Seasar2
            未検証><
            未検証><
        ?
 Slim3?
 Guice
 Spring
 Lucy
DIコンテナ非依存

環境構築~Seasar2編~
 参照
  t2-employee
 構成
  S2.4 + S2Dao
DIコンテナ非依存

作成設定ファイル~Seasar2編~
 aop.dicon
 app.dicon
 dao.dicon
 jdbc.dicon
DIコンテナ非依存
           web.xml~Seasar2編~
<filter>
  <filter-name>t2</filter-name>
  <filter-class>org.t2framework.filter.T2Filter
  </filter-class>
  <init-param>
   <param-name>t2.rootpackage</param-name>
   <param-value>examples.employee.page</param-value>
  </init-param>
  <init-param>
   <param-name>t2.container.adapter</param-name>
   <param-value>org.t2framework.plugins.container.Seasar2Adapter</param-value>
  </init-param>
  <init-param>
   <param-name>t2.eagerload</param-name>
   <param-value>true</param-value>
  </init-param>
</filter>
DIコンテナ非依存
 Pageクラス~Seasar2編~

@RequestScope
@Page(quot;loginquot;)
public class LoginPage
DIコンテナ非依存
       PageクラスDI~Seasar2編~
protected FooService fooService;

@Binding(bindingType = BindingType.MUST)
public void setFooService(FooService fooService) {
  this.fooService = fooService;
}
DIコンテナ非依存

環境構築~Guice編~
 参照
 t2-guice
 構成
 Guice + JPA
DIコンテナ非依存

作成設定ファイル~Guice編~
persistence.xml
※Guice用のモジュール(Java
で)
DIコンテナ非依存
            web.xml~Guice編~
<filter>
  <filter-name>t2</filter-name>
  <filter-class>org.t2framework.t2.filter.T2Filter</filter-class>
  <init-param>
    <param-name>t2.rootpackage</param-name>
    <param-value>org.t2framework.samples.guice.page</param-value>
  </init-param>
  <init-param>
    <param-name>t2.container.adapter</param-name>
    <param-value>org.t2framework.t2.adapter.GuiceAdapter</param-value>
  </init-param>
  <init-param>
    <param-name>t2.exclude-resources</param-name>
    <param-value>css, js</param-value>
  </init-param>
 </filter>
DIコンテナ非依存
 Pageクラス~Guice編~

@RequestScoped
@Page(quot;addquot;)
public class AddPage
DIコンテナ非依存
    PageクラスDI~Guice編~
@Inject
private CalcService calcService;

@Inject
@RequestParameters
Map<String, String[]> params;
DIコンテナ非依存

環境構築~Spring編~
 参照
  t2-spring
 構成
  Spring2.5 + iBatis
DIコンテナ非依存

作成設定ファイル~Spring編~
 applicationContext.xml
 dao-ibatis.xml
 sql-map-config.xml
 XxxSqlMap.xml
DIコンテナ非依存
               web.xml~Spring編~
<filter>
  <filter-name>t2</filter-name>
  <filter-class>org.t2framework.t2.filter.T2Filter</filter-class>
  <init-param>
   <param-name>t2.rootpackage</param-name>
   <param-value>org.t2framework.samples.spring.page</param-value>
  </init-param>
  <init-param>
   <param-name>t2.config</param-name>
   <param-value>applicationContext.xml</param-value>
  </init-param>
  <init-param>
   <param-name>t2.container.adapter</param-name>
   <param-value>org.t2framework.t2.adapter.SpringAdapter</param-value>
  </init-param>
  <init-param>
   <param-name>t2.eagerload</param-name>
   <param-value>true</param-value>
  </init-param>
  <init-param>
   <param-name>t2.exclude-resources</param-name>
   <param-value>css, js</param-value>
  </init-param>
</filter>
DIコンテナ非依存
 Pageクラス~Spring編~

@Component
@Page(quot;addquot;)
public class AddPage
DIコンテナ非依存
     PageクラスDI~Spring編~
private CalcService calcService;

@Autowired(required=true)
public void setCalcService(
  CalcService calcService) {
   this.calcService = calcService;
}
DIコンテナ非依存
動作確認アプリケーションサーバ
 Tomcat5x/6x
 JBoss4x/5x
 Jetty6x
 WebLogic10x
  その他いろいろ… Yonexで確認
T2 - The WEB Connector -



T2の拡張性
拡張性の高さ
ユーザが制御可能=拡張性が高い
 メインフローの順序・実装
 ActionFilter
 例外ハンドリング部分
 ExceptionHandler
 プラグイン機能による機能追加
 Pluginによって処理を差し込める
T2 - The WEB Connector -




今後の展望
今後の展望

バージョン0.6
 Flex3対応
  どのフレームワークよりも簡単に
  Flex/AIRと通信できる
 AMF3の実装
バージョン0.7
 Atom、RSS、Webサービス対応
T2プロジェクトについて

T2プロジェクトとは
 Apacheライセンスのプロジェクト
  Javaだけに限っていない
 本当に現場で使えるものを作る
 自分達が実際に使い、コミュニティに還元し、
 洗練させていく
 ユーザを大事にし、継続してお互い成長する
 楽しく開発・コミュニケーション!
色々なプロダクト
Commons
  共通ユーティリティフレームワーク
Commons-ext
  JTAトランザクション実装、DataSet API
Lucy
  ライトウェイトDIコンテナ
  AOP機能
Daisy(開発中)
  2waySQLフレームワーク
  薄いJDBCラッパー
その他プロダクト

Yonex(仮)
 Hyper Integration Test Suite



 レポーティング
    とかも
  提供したい!
プロジェクトリソース

サイト
 http://code.google.com/p/t-2/
リリースアーカイブ、ドキュメント、ソース
コード
メーリングリスト
 T2-users
   http://groups.google.com/group/t2-users
 開発の話、仕様の話、なんでもOK。
T2 - The WEB Connector -




まとめ
まとめ

T2はマルチビュー対応なシンプルWebフ
レームワーク
あらゆるクライアントをつなぎます!
が
まだまだ発展途上。ご意見ください!
T2 - The WEB Connector -




エンドロール
T2 - The WEB Connector -




出演
T2 - The WEB Connector -




テツ
T2 - The WEB Connector -




テツ
T2 - The WEB Connector -




テツ
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -
T2 - The WEB Connector -




イーダ
T2 - The WEB Connector -




 designed by
カネウチカズコ
T2 - The WEB Connector -




コミッタ
T2 - The WEB Connector -




片山 暁雄
T2 - The WEB Connector -
T2 - The WEB Connector -




米林 正明
T2 - The WEB Connector -
T2 - The WEB Connector -




横田 健彦
T2 - The WEB Connector -
T2 - The WEB Connector -




大谷 晋平
T2 - The WEB Connector -
一句


おらっちゃ
富山人
富山、北陸
盛り上げよう
(※字余り)
T2 - The WEB Connector -


御静聴ありがとうございました
1 sur 122

Recommandé

About OSGeo.JP par
About OSGeo.JPAbout OSGeo.JP
About OSGeo.JPTaichi Furuhashi
490 vues46 diapositives
Namo Web Solution par
Namo Web SolutionNamo Web Solution
Namo Web Solutionbenson56
956 vues16 diapositives
Sentokyo Kansai(20070126) par
Sentokyo Kansai(20070126)Sentokyo Kansai(20070126)
Sentokyo Kansai(20070126)真 岡本
630 vues24 diapositives
Authoring Tools Comparision in Detail par
Authoring Tools Comparision in DetailAuthoring Tools Comparision in Detail
Authoring Tools Comparision in DetailTim Lu
850 vues13 diapositives
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流 par
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Yusuke Kawasaki
1.6K vues31 diapositives
中小企業E化最新趨勢與效益分析 par
中小企業E化最新趨勢與效益分析中小企業E化最新趨勢與效益分析
中小企業E化最新趨勢與效益分析Alex Lee
653 vues19 diapositives

Contenu connexe

Tendances

WebHookの調査と実装 par
WebHookの調査と実装WebHookの調査と実装
WebHookの調査と実装moai kids
8.6K vues10 diapositives
S8 par
S8S8
S8TH Schee
453 vues6 diapositives
S2 par
S2S2
S2TH Schee
583 vues12 diapositives
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール par
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツールはなずきん Hana
1.2K vues20 diapositives
ウェブ開発の次なる主戦場、Open Social par
ウェブ開発の次なる主戦場、Open Socialウェブ開発の次なる主戦場、Open Social
ウェブ開発の次なる主戦場、Open SocialFITEA
1.4K vues69 diapositives
5 13 Internet par
5 13 Internet5 13 Internet
5 13 InternetYuki Fujino Oita Univ.
3.2K vues132 diapositives

Tendances(20)

WebHookの調査と実装 par moai kids
WebHookの調査と実装WebHookの調査と実装
WebHookの調査と実装
moai kids8.6K vues
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール par はなずきん Hana
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
ウェブ開発の次なる主戦場、Open Social par FITEA
ウェブ開発の次なる主戦場、Open Socialウェブ開発の次なる主戦場、Open Social
ウェブ開発の次なる主戦場、Open Social
FITEA1.4K vues
25000社以上採用計測ソリューション par nishimizu
25000社以上採用計測ソリューション25000社以上採用計測ソリューション
25000社以上採用計測ソリューション
nishimizu821 vues
【13-B-3】 企業システムをマッシュアップ型に変えるには par devsumi2009
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには
devsumi2009933 vues
Sentokyo(20061012) par 真 岡本
Sentokyo(20061012)Sentokyo(20061012)
Sentokyo(20061012)
真 岡本569 vues
Cybozu Inc 10th anniversary event - developing section. par cydn.cybozu.co.jp
Cybozu Inc 10th anniversary event - developing section.Cybozu Inc 10th anniversary event - developing section.
Cybozu Inc 10th anniversary event - developing section.
PXI, LabVIEW事例集2 par nishimizu
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2
nishimizu2.6K vues
はてなブックマークのシステムについて par Naoya Ito
はてなブックマークのシステムについてはてなブックマークのシステムについて
はてなブックマークのシステムについて
Naoya Ito4.1K vues
Perlで圧縮 par Naoya Ito
Perlで圧縮Perlで圧縮
Perlで圧縮
Naoya Ito6.8K vues
Cloud for Enterprise IT (Japanese) par kurikiyo
Cloud for Enterprise IT (Japanese)Cloud for Enterprise IT (Japanese)
Cloud for Enterprise IT (Japanese)
kurikiyo1.2K vues
Sd Loader Seasar Con2009 White par Akio Katayama
Sd Loader Seasar Con2009 WhiteSd Loader Seasar Con2009 White
Sd Loader Seasar Con2009 White
Akio Katayama635 vues
Hyper Estraierの設計と実装 par Hiroshi Ono
Hyper Estraierの設計と実装Hyper Estraierの設計と実装
Hyper Estraierの設計と実装
Hiroshi Ono3.2K vues
Internet Ued Process par rex song
Internet Ued ProcessInternet Ued Process
Internet Ued Process
rex song2.9K vues

En vedette

JSF2.2で簡単webアプリケーション開発 par
JSF2.2で簡単webアプリケーション開発JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発Masuji Katoda
30.2K vues78 diapositives
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ... par
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...Yusuke Suzuki
11.6K vues41 diapositives
そろそろJavaみなおしてもええんやで par
そろそろJavaみなおしてもええんやでそろそろJavaみなおしてもええんやで
そろそろJavaみなおしてもええんやでなおき きしだ
26.8K vues18 diapositives
Java SE 再入門 par
Java SE 再入門Java SE 再入門
Java SE 再入門minazou67
19K vues128 diapositives
Javaプログラミングをスッキリ学ぶ10のコツ par
Javaプログラミングをスッキリ学ぶ10のコツJavaプログラミングをスッキリ学ぶ10のコツ
Javaプログラミングをスッキリ学ぶ10のコツKiyotaka NAKAYAMA
15.7K vues40 diapositives
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新 par
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Masatoshi Tada
15.5K vues61 diapositives

En vedette(7)

JSF2.2で簡単webアプリケーション開発 par Masuji Katoda
JSF2.2で簡単webアプリケーション開発JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発
Masuji Katoda30.2K vues
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ... par Yusuke Suzuki
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
Yusuke Suzuki11.6K vues
そろそろJavaみなおしてもええんやで par なおき きしだ
そろそろJavaみなおしてもええんやでそろそろJavaみなおしてもええんやで
そろそろJavaみなおしてもええんやで
なおき きしだ26.8K vues
Java SE 再入門 par minazou67
Java SE 再入門Java SE 再入門
Java SE 再入門
minazou6719K vues
Javaプログラミングをスッキリ学ぶ10のコツ par Kiyotaka NAKAYAMA
Javaプログラミングをスッキリ学ぶ10のコツJavaプログラミングをスッキリ学ぶ10のコツ
Javaプログラミングをスッキリ学ぶ10のコツ
Kiyotaka NAKAYAMA15.7K vues
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新 par Masatoshi Tada
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada15.5K vues
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall par Yusuke Suzuki
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki24.7K vues

Plus de Masaaki Yonebayashi

Go guide for Java programmer par
Go guide for Java programmerGo guide for Java programmer
Go guide for Java programmerMasaaki Yonebayashi
7.3K vues44 diapositives
HHVM Hack par
HHVM HackHHVM Hack
HHVM HackMasaaki Yonebayashi
5K vues47 diapositives
Android T2 on cloud par
Android T2 on cloudAndroid T2 on cloud
Android T2 on cloudMasaaki Yonebayashi
1.4K vues63 diapositives
JavaFX-with-Adobe par
JavaFX-with-AdobeJavaFX-with-Adobe
JavaFX-with-AdobeMasaaki Yonebayashi
980 vues35 diapositives
Guice2.0 par
Guice2.0Guice2.0
Guice2.0Masaaki Yonebayashi
1.4K vues73 diapositives
Flex's DI Container par
Flex's DI ContainerFlex's DI Container
Flex's DI ContainerMasaaki Yonebayashi
1.3K vues70 diapositives

T2@java-ja#toyama