kuniku’s diary

はてなダイアリーから移行(旧 d.hatena.ne.jp/kuniku/)、表示がおかしな箇所はコメントをお願いします。記載されている内容は日付およびバージョンに注意してください。直近1年以上前は古い情報の可能性が高くなります。

2009年(平成21年)なにやったか、どうだったか

2009年総括

  • 昨年(今年もだけど)は、不況の影響がけっこう出ていると思う。
    • 仕事ないし。
    • 出稼ぎあるし。
  • PCの環境(スペックやディスプレイ)で作業量がかなり変わることを改めて痛感。
    • 開発効率が落ちる、落ちる。数値化できないけど、もろに実感。手が止まることが多い。
      • windowsのサービスを停止したり、メモリ使用量を減らすためにアプリを終了させたり、メモリを割り当てる量を減らしたり。
    • 開発効率が良かった状況のとき
      • デュアルディスプレイ(ディスプレイが2台あるとかなり便利、作業が楽になる。解像度が高いと尚更良い)
      • メモリをたくさん搭載(eclipseに756MB以上割り当ててもスワップさせない、ページファイルは0にする、XPなら4GB)
      • CPUをcore2duoE8000番台以降(L2キャッシュが3より6MBのが良い、3GHz以上は欲しいけどさ)

2008.1-5

昨年の11月から参入した、見積もり甘い&仕様膨れ上がり&過重労働となったプロジェクトを引き続き行った。リリースまでは何とかもっていった。

2008.5

形成外科で手術。腫瘍切除術。結果は良性腫瘍。lipod。
もう半年くらい経過するけど、たまに突っ張った(ピンと張った)ような感じがある。

2008.5-8

プログラムは作成はされていて、当時の仕様であれば納品していたというプロジェクトがあった。
まったくリリースされずに長いこと放置されていたが、動き始めることになり運用上の問題点とシステムの利用面を考慮し、いろいろな箇所で改修。
修正していないソースもあるけど全面的に手を入れた感触。

  • 使った主なFW:Spring1.2+struts1.3+iBatis
  • 環境:centos4.8?+java1.5+tomcat5.5+oracle10g(6RAC)
  • 問題
    • oraclejdbcドライバのコネクションプールだと、fireWall等でコネクションが切断された場合に切断されたコネクションでSQLを実行してしまい、応答が全然返って来ない現象が発生。
      • コネクションプール上はコネクションが生きている状態であるが、実態は切断されているという状態。
  • 回避(解決)策
    • oraclejdbcドライバでSQL実行前に、validationQueryを実行しているのでは?と思ったが、そうでもないのか、それとも、validationQuery実行で応答が返って来ないのか不明であるがoraclejdbcドライバのコネクションプールでなく、commons-dbcp,commons-poolを利用するようにし、一定時間おきにコネクションのidleをチェックするように変更。
    • コネクションの取得のたびにvalidationQueryを実行するとわずかながら遅くなるかもしれない(validationQuery が指定されていないと、testWhileIdle が無効になるので注意)。fireWallで切断される前にアイドル状態のコネクションをチェックさせれば切断されないので、それで対応する。
    • 設定
      • アイドルをチェックする際の間隔
      • 一度にどれだけの数をチェックするか


パラメータの説明とか
http://www.limy.org/program/java/commons_dbcp.html
testWhileIdle、
timeBetweenEvictionRunsMillis(プール内のアイドル接続を一定時間毎に監視するスレッドを開始、監視処理を実施する間隔)、
numTestsPerEvictionRun(1回の監視処理でチェックするアイドル接続数の最大値)
minEvictableIdleTimeMillis(アイドル接続の生存期間)、
maxActive(プールから貸し出すコネクションの最大数)、
maxIdle(プール内のコネクション数をmaxIdle以下に保つ,未使用の接続を保持する最大数)、
minIdle(プール内のコネクション数をminIdle以上に保つ,未使用の接続を保持する最小数 )
上記の設定値を計算して調整


2008.8-9

  • 新たな試みを行った。有名なところの無料のものを使っていろいろとごにょごにょ。
  • 技術的にいろんなパターンでの実装(サンプル実装や試し実装)の参考になるであろうとのことで、Seasar系、Spring系ともに使った。
  • java1.6からのjavaのオブジェクト(エンティエィ)をXMLに変換できるということを知った(JAXB2)。
  • Spring2.5でDI(インジェクション)をアノテーションで指定できるので、少しは楽になるのかなと思った。
  • 環境:開発環境WinXP(deployはWin2003WE)+java1.6+tomcat6.0+postgres8.3
  • 使ったFW
    • サーバーサイド
      • Sesar2.4+SAStrutsS2JDBC・・・簡易なJSP用、クライアントにXMLのレスポンスを返却する用
      • Sesar2.4+S2Flex2S2JDBC・・・Flex3と連動させるため用、内包されているAMF3も利用、
      • Spring2.5+Struts1.3+iBatis・・・strutsを利用してActionでhttpリクエストを受け、レスポンスにXMLを返却


2008.10-12

とあるところへ。
畑違いな感じがしまくり。
自分も違和感ありまくりだけど、周りからも違和感あるのでは。
構成管理???という頭の中。
どこまでやるのか、どこまでやらないといけないのかが未知過ぎ。

    • 慣れないlinux系OS(centso5.3)を触る。
    • 業務
      • 構成管理
      • インフラとか
    • プログラミング
      • shellをちょこっと書く。
      • ちょっとだけjavaのソースを眺める(プログラミングはしていないよ、畑違い