社内勉強会

土曜なのに社員が集まってお勉強会♪


1.J2EE超入門 いわもとっち
 只今RedHatJBossをお勉強して頑張っている
 ・J2EEってWebコンテナーとEJBコンテナー
 ・Webコンテナーは、JSP,Seavletコンテナー
 ・EJBコンテナーは、EJB


2.EJB3 id:bose999な人
 ・EJBはO/Rマッパーとして使われてしまったが
  本当は、分散化が目的だった

 ・EJB1,2の暗黒時代は、各設定が煩雑だったから
  流行らなかった・・・

 ・EJB2では、EJB1の反省を活かし、ローカルアクセスを可能にした

 ・EJB3では、まっとうに成長し、JPAに昇華した
  各設定もアノテーションで行う
  ⇒アンチテーゼとして、DIコンテナ、ORマッパー

 ・EntityBean
  ただのPOJOJPAの元、DBとひもづく

 ・SeatelessSession
  複数のクライアントから、複数のスレッドから呼ばれるので
  クラス変数に値を持ってはいけない
  ⇒Staticな使い方

 ・StatefullSession
  単一のクライアントから呼ばれる
  クラス変数に値を持つ

 ・MessageDriven
  JMSを利用した非同期処理を行う
  Tomcatのみでは非同期処理が難しいがこれを使うことで簡易に実装できる

 ・EJBはよりEasyにEODを目指した
  アノテーション、コンテナが煩雑な処理を担う

 ・SessionBeanの管理
  Setateful:JNDIから取得されるたびにnewされていんすたんすが生成される
   使う状態:活性化状態⇒タイマー管理で非活性化となり、メモリ空間を大事に利用される
  Stateless:シングルトンではないが、複数コンテナ上にインスタンスされている
   ⇒JIDIから利用されるたびにプールされたものを受け取る
   なければ増やす
  ※自動管理されている

 ・EJB3トランザクション管理
  アノテーションで指定することで、コンテナ管理か手動で管理することも可能
   ⇒手動で行う場合は、EntityManegerを利用する

 ・自動で管理するトランザクションレベル
  Required:
  RequiresNew:
  Mandatory:
  NotSupported:
  Supported:
  Never:
  ※通常の業務アプリでは、これらの設定は行わず大抵Required


3.単体テスト id:ykhr-yukkoな人
 ・固い

 ・やりたくてしかたないようにしたい

 ・単体テストができない人≒試験項目が挙げられない

 ・試験項目を挙げるにはコードを見る前に仕様を前提に挙げる

 ・試験観点一覧を用意してメンバーに配る

 ・試験項目レビューも重要w


4.Dependency Injection with Seasar2 id:daisuke-mな人
 ・最近お仕事で忙しかった・・・ゆるぅく

 ・実装に依存するな、仕様に依存しろ
  実装がなくてもコンパイルできる

 ・仕様は、インターフェース
  interfaceを使うと実装に依存しない・・・interfaceClass hoge = new HogeImpl()・・・実装に依存されてんじゃん

 ・DIすることで実装を気にすることなく仕様に依存できる
  そこでSeasar2

 ・地豆話をせずにSeasar2の超入門


5.JavaScriptOOP id:kacchi123な人
 ・EJB3と違ってJavaScriptはコワい><

 ・JSでオブジェクト指向

 ・JSDocも書きなさい!

 ・再利用が可能になる

 ・実装上のルールを作る

 ・UIと疎結合

 ・IEで動かなくなる可能性があるのでIEで稼動確認しよう

 ・配列とオブジェクトを意識して作ることでパフォーマンス向上

 ・テストもかける:JSUnit
  ブラウザで実行可能


6.入門iPhone開発 ふじたん+ばばちん
 ・開発環境は、MacXCodeのみ

 ・iPhoneシミュレータは、CPU、メモリの違いから実機とは違うものとなってしまう

 ・言語は、Objecive-C
  C言語ライクに書ける
  特徴としては、いくつかある
   動的結合型:実行時に型チェックを行われる
   カテゴリ:既存クラスにメソッドを追加できる
   メモリ:ガベージできるが、iPhone開発ではできない

 ・Cocoaフレームワークを利用する

 ・[]で囲まれた中がObjective-Cの記述

 ・ClipCrowってのを作ったらしい
  ブックマークリーダー&ブラウザ

 ・あまり詳細に説明するとMDAにひっかかるので省略w


7.バージョン管理システム KingKazu
 ・お仕事の上で今後SVNについて講師をするらしい

 ・SCM:Software Configration Management
  ソフトウェアの成果物の構成と変更を管理する

 ・SCMをおろそかにするな!
  リカバリに時間がかかる
  等々
  

8.Myオープンソース活動 GAEの松尾さん
 ・社内にキューリグ買ったYOw
  飲みたいときは100円ぐらいでカートリッジ

 ・Djangoのカタログ日本語訳やってます
  翻訳はツールとやり方さえできれば誰でもできる
  英語の勉強になる
   django.poを日本語化
 
 ・gdata-python-clientのコードを書いている
  これのおかげでGoogle Apps API Guruになった
   サンフランシスコのGoogleにランチにいけるw

 ・Google App Engine API Expertをやってます
  Googleグループをホストしている
  英語のグループのニュースをお知らせしている
  Google App Engine Hack-a-thonを開催した
   渋谷のGoogle社食でやった

 ・GHeimdallをつくりますた。
  SAML-2.0 Identity Provider
  認証とかプラグインかけるようになっている

 ・OSSの活動は楽しいので皆やろうYO
  SIで利用するものをOSSとして作っている
  通常は難しいが、時間を見つけてやってみよう

 # 彼のしゃべりの雰囲気好きですねぇ
 # こういう方とお話すると刺激になります^^


9.Irenkaと静的解析技術 特別参加のid:ashigeruさん
 ・Itenkaとは
  ユーザー定義プログラムでコンパイラに介入
   Javaコンパイル時にソースに手を加えて新しいJavaファイルを生成したりできる
  
 ・得意なところ
  Irenkaクエリー:特定の構造を探し出す
   SQLのような言語で探せる
  IrenkaDOM:プログラムの構造を変更する
   意味構造をモデル化
   標記の違いを無視できる

 ・DOMの操作がソースコードに羽意される
  たまに正しくもどせない

 ・Irenkaの機能
   テンプレート
   インライン展開

 ・Irenkaはコンパイラではなく、コンパイラ周辺の機能を使っている


10.「近未来」アプリ id:yousukeharaな人
 ・歴史は繰り返す
  メインフレーム時代は、単一サーバー
  クラサバ系の複数サーバー
  Webアプリとかクラウドのサーバー

 ・グリッドからクラウド
  Saas>PaaS>IaaS

 ・Mobile+Cloud
  iPhone,Androidがインターフェース
  Cloudで処理
  ※課題もあるのでこれからの技術
   ⇒信頼性

 ・Cloudは4社程度


ということで、その後懇親会へ!!!!!