社内勉強会
土曜なのに社員が集まってお勉強会♪
1.J2EE超入門 いわもとっち
只今RedHatとJBossをお勉強して頑張っている
・J2EEってWebコンテナーとEJBコンテナー
・Webコンテナーは、JSP,Seavletコンテナー
・EJBコンテナーは、EJB
2.EJB3 id:bose999な人
・EJBはO/Rマッパーとして使われてしまったが
本当は、分散化が目的だった
・EJB1,2の暗黒時代は、各設定が煩雑だったから
流行らなかった・・・
・EJB2では、EJB1の反省を活かし、ローカルアクセスを可能にした
・EJB3では、まっとうに成長し、JPAに昇華した
各設定もアノテーションで行う
⇒アンチテーゼとして、DIコンテナ、ORマッパー
・EntityBean
ただのPOJOがJPAの元、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.JavaScriptでOOP id:kacchi123な人
・EJB3と違ってJavaScriptはコワい><
・JSでオブジェクト指向
・JSDocも書きなさい!
・再利用が可能になる
・実装上のルールを作る
・UIと疎結合
・配列とオブジェクトを意識して作ることでパフォーマンス向上
・テストもかける:JSUnit
ブラウザで実行可能
6.入門iPhone開発 ふじたん+ばばちん
・開発環境は、MacのXCodeのみ
・iPhoneシミュレータは、CPU、メモリの違いから実機とは違うものとなってしまう
・言語は、Objecive-C
C言語ライクに書ける
特徴としては、いくつかある
動的結合型:実行時に型チェックを行われる
カテゴリ:既存クラスにメソッドを追加できる
メモリ:ガベージできるが、iPhone開発ではできない
・[]で囲まれた中が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アプリとかクラウドのサーバー
・Mobile+Cloud
iPhone,Androidがインターフェース
Cloudで処理
※課題もあるのでこれからの技術
⇒信頼性
・Cloudは4社程度
ということで、その後懇親会へ!!!!!