2011年6月28日火曜日

ヘビーローテーション

と言っても、AKB48ではありません(笑)

当社の位置する外神田(最寄り駅で言うならば末広町)は、町のイメージからは、サラリーマン向けの、そこそこ安くてお腹いっぱいになれる手頃なランチを出すお店、がたくさんあるように思えるのですが、意外に「ここはいいね」と思えるお店は少ないものです。

そんな、末広町界隈でも、社長とランチで良く行くお気に入り(?)のお店があります。それは「すし美」さん。そう、お寿司屋さんです。食べログでもこのように取り上げられているように、とにかくコストパフォーマンスが圧倒的に高い!!ランチに困ったときの鉄板な選択肢として、非常に重宝しております。一時期は週に3回も通うほどの、まさにランチのヘビーローテーション(笑)

今日のような蒸し暑さですと、なかなか寿司という気分になりにくいのですが、さすがに新鮮な寿司ネタを扱うお店だけあって店内はしっかり冷房が効いていました。涼むのにも、最高です。

2011年6月23日木曜日

カブトエビ

暑くなってきました。

弊社でも節電するためにエアコンの設定温度は28度厳守です。

すこし前までは窓を開けていればそれなりに涼しい風が入っていたものの、いま窓を開けるとジメジメして生暖かい空気が漂います。

少しでも涼しい気分にひたるにはどうしたらよいでしょうか。水槽で優雅に魚が泳いでいたら涼しげだな、と思いましたが、ポケットマネーでは荷が重いです。土日の休日もエサが不足しないか心配です。

もっとタフでお手頃にと考えてナリカでカブトエビを購入しました。

生まれて3日ほどですが、1cm強まで元気に成長して楽しませてくれています。


シーモンキーも飼っていまして、生まれてから20日ほどで2世も誕生しはじめる順調な成長具合です。ただこちらはあまりにも小さいので、オフィスに飾るのはあまりおすすめできないです。デスクに置くくらいの距離だと、よく見えていいかもしれません。

2011年6月20日月曜日

3大ニーズ

先週後半は、名古屋、大阪、神戸と久々の西日本ツアー(って、要は出張のことですが)に出かけました。

都内を動くのとは訳が違い、それなりに見込みのある案件を複数件集めなければなかなか出張しづらいこのご時世ですが、今回は極めて珍しいことに、SmartCompanyの導入の検討のきっかけとなる3大ニーズが連続した商談となりました。

その3大ニーズとは・・・

(1) 目標管理や人事評価、研修の管理など、それぞれのシステムが乱立してしまったのをすっきりさせたいという『人材情報の一元化』ニーズ(ちなみに名古屋のお客様のケース)
(2) 社内にどんな人材がいるのかを手軽にチェックしたい『人材情報の可視化』ニーズ(ちなみに大阪のお客様のケース)
(3) 目標管理や人事評価をシステム化したい『人材マネジメント業務の効率化・高度化』ニーズ(ちなみに神戸のお客様)

おおよそこれらの3つのニーズのいずれか、あるいは組み合わせがきっかけとなって、SmartCompanyへお問い合わせをいただくことがほとんどとなっています。ただ、どうしてもこの辺りには大きな投資ができない場合が多く、ITツールを諦めているケースが多いようです。

そんなお客様に、SmartCompanyをぜひ見つけていただきたいものです!

2011年6月15日水曜日

s:forEachとm:renderedとte:inputHiddenと

引き続きS2JSFのおはなしです。前の記事で二重のループを使った入力ができるようになりました。ところがm:renderedでinputタグのON/OFFを実装してみると、またまた更新ができなくなり呪いの言葉を吐く今日この頃です。

更新用のアクションは実行されますが、画面で入力した値がDTOのフィールドにセットされていません。

いろいろと試してみると、s:forEachとm:renderedの属性値に使うリストをte:inputHiddenで持っていることが原因のようです。試しにセッションに入れてみると、無事に更新されます。

そこを足掛りに調べてみれば、Teeda ExtensionのinputHiddenの仕様「Validationフェーズを正常終了すると、すぐにModelを更新する」にたどりつきました。


JSFでのリクエスト処理のライフサイクルは、
  1. Restore View
  2. Apply Request Values
  3. Process Validation
  4. Update Model Values
  5. Invoke Application
  6. Render Response
です。

te:inputHiddenで画面に持たせたリストは、仕様によれば3の「Process Validation」で復元されます。ところが画面で入力した値を扱うのは2の「Apply Request Values」です。この「Apply Request Values」でそのリストを使いたいのです。

そこで「m:immediate=true」ならば「Apply Request Values」のときに復元するように変更してみました。

--- javax/faces/component/html/HtmlInputHidden.java.orig
+++ javax/faces/component/html/HtmlInputHidden.java
@@ -45,12 +45,6 @@
         if (!isImmediate()) {
             executeValidate(context);
         }
-        try {
-            updateModelImmediately(context);
-        } catch (RuntimeException e) {
-            context.renderResponse();
-            throw e;
-        }
     }
 
     protected void updateModelImmediately(FacesContext context) {
@@ -73,4 +67,15 @@
             setValid(false);
         }
     }
-}
+    
+    public void validate(FacesContext context) {
+        super.validate(context);
+        try {
+            updateModelImmediately(context);
+        } catch (RuntimeException e) {
+            context.renderResponse();
+            throw e;
+        }
+    }
+    
+} 

目論見通りにte:inputHiddenだけで更新されています。これでセッションオブジェクトを大きくしてしまう罪悪感から逃れられそうです。

Teeda 1.0.13-rc4で試してみました。

2011年6月10日金曜日

S2JSFで二重のループを

表形式の入力欄をS2JSFで作りたいと思いました。



のようなイメージです。

s:forEachを二重で回して外側のループで行を、内側のループで列を作る、というのが素直な気がします。

描画は何も考えることなくできたのですが、データが更新されません。

調べてみると、ボタンを押したときのアクションメソッドに処理が到達していません。

さらに調べると、inputのバリデーションで入力値が許容できない形式と判定されて、元の画面に戻されているようです。

よくよく調べると、内側のループで列数を変えているのが問題のようです。最後の行、勤続年数が2列になっていますが、このために全ての行が2列だと勘違いをしてしまい、4列目のinput要素の初期化が行なわれていないようです。

そこでワークアラウンドを。

Index: org/seasar/jsf/component/ForEach.java
===================================================================
--- org/seasar/jsf/component/ForEach.java (revision 159)
+++ org/seasar/jsf/component/ForEach.java (revision 160)
@@ -59,4 +59,5 @@
 
     private int rowCount;
+    private int maxRowCount;
 
     private Object[] rows = EMPTY_ROWS;
@@ -242,4 +243,5 @@
         setupRows();
         rowCount = rows.length;
+        maxRowCount = (maxRowCount < rowCount)? rowCount : maxRowCount;
         for (int i = 0; i < rows.length; ++i) {
             setRowIndex(i);
@@ -322,5 +324,5 @@
         values[2] = varIndex;
         values[3] = descendantComponentStates;
-        values[4] = new Integer(rowCount);
+        values[4] = new Integer(maxRowCount);
         return values;
     }
@@ -333,4 +335,5 @@
         descendantComponentStates = (Map) values[3];
         rowCount = ((Integer) values[4]).intValue();
+        maxRowCount = rowCount;
     }
 
ご利用は計画的に。

S2JSFは、1.1.2を利用しています。

2011年6月9日木曜日

続・ネットで探さない?

6月7日のエントリで、もしかすると人事管理や人材マネジメントについて、人事部門の方々はネットであまり情報を探さないのでは? と書いたところ、社長から「こんなのがあったよ」と、『労政時報』第3798号の記事を教えてもらいました。

【人事担当者412人に聞く、人事の仕事、情報収集、能力、課題に関するアンケート】と題された記事で、人事担当者の仕事ぶりや課題への対応の実態を探る調査だったのですが、その中に、情報収集にまつわることとして、人事関係の情報誌の購読の割合と、インターネットを使った情報の検索についての調査結果がありました。

調査によると【人事労務に関する情報誌(雑誌)を定期購読している】のは34.7%と、想像していたよりも低い数値でした。一方【インターネットでの検索】については、ほぼ毎日が22.3%、週に数回が30.1%となっており、ある程度頻繁にチェックしている人が半数以上いるというのも、ある意味では意外でした。この結果からは(検索の対象はともかくとして)それなりにネットを利用しているということになります。

ということは、次の仮説として考えられるのは「情報システムに関する情報収集の頻度が小さい」というこでしょうか。謎は深まるばかりです・・・。

2011年6月7日火曜日

ネットで探さない?

ウェブサイトのリニューアルから1ヶ月が経過しました。

その間、クラウドコンピューティングEXPOへの出展(5/12~13)、HR戦略総合セミナーへのセミナー出講(6/1)と立て続けにイベントをこなし、会場ではたくさんのリーフレットを配布したのですが、その後ウェブサイトへのアクセスが増えているかというと…? もちろん、必ずしも皆さんが興味を持って資料をお持ち帰りになったとは言いませんが、それにしても反応が悪いような気がしています。

一方で、弊社のパートナー企業様からの案件の引き合いは着実に数が増えており、人事管理、人材マネジメントに対するニーズは確実に存在しているはずです。セールス活動としては、ウェブサイトの他にも地道な? 電話コールによるご紹介も続けておりますが、こちらも当たりは悪くなく、少なくともご紹介で訪問するところまではスムーズに進みます。

これらを総合して考えると、人事管理や人材マネジメントに関して、人事部門・人材開発部門の皆様は、ネットでは情報やソリューションを探していないのではないか? という疑問が頭をもたげてきます。ネットで探すよりも、専門誌の広告やお付き合いのあるコンサルティング会社、システム会社へ相談しているのではないか? そんな気がしてなりません。

まだリニューアルから1ヶ月ですので、この段階で結論づけるのは尚早ですし、ウェブサイトの内容など今後もブラッシュアップを続けていかなければならないので、悩むにしてもやることをやってからですね?!

確率マシン

何かの本の口絵で昔に見たprobability machineというのを思い出したのでググってみました。

パチンコのようなもので、玉が規則的に並んだピンにあたってみぎひだりにハジかれながら落ち、下の受け皿に溜めてみるとおなじみの釣鐘型になるというものです。





呼び方はいろいろあるようで、bean machine、Galton boardなどなど。

Wikipedia(英語)のBean Machineの項に簡単な説明がありました。

統計の話題はとかく数式だったり数字だったりと頭の中だけのものになりがちですが、この確率機械は動くモノとして見られるところがとても鮮やかな可視化だと感動したのを覚えています。

2011年6月2日木曜日

『HR戦略総合セミナー2011』 セッション終了!

5月のクラウドコンピューティングEXPOへの出展に続き、6月1日はHRプロ株式会社主催の『HR戦略総合セミナー2011』へ、セミナーの出講を行いました。

主催者ウェブサイトで告知が始まってから早々に、弊社のセッションへたくさんのお申し込みを頂き、早々と満員御礼となってしまったため、急遽6月22日に弊社主催で追加セミナーの開催を決定したほどです。当日は、いらっしゃらなかった方々、飛び込み参加の方々ありましたが、ほぼ満席状態ということで出講者としては一安心でした。毎度のことではありますが、事前にお申し込みが多数あっても、当日の出席者数は蓋を開けてみなければ分からないというドキドキには、慣れることはありません・・・。

さて、ニュースレターや弊社のウェブサイトでもご案内しておりましたとおり、「人事制度運用の効果と効率を上げるには」と題し、目標管理や人事考課の実務の効率化と実効性の向上を図るためのポイントに始まり、理屈だけではなく実践するための手段としてのITツールとして、SmartCompany [スマートカンパニー]とSmartScrum [スマートスクラム]もご紹介させていただきました。

幅広いテーマとなったために、60分では時間が少し不足気味だったかも知れません。そんな皆さまは、ぜひ6月22日の弊社主催のセミナーへお越しいただければと思います。もちろん、6月1日のセッションが締め切られていて申し込めなかった、という皆様も大歓迎です。

事前のお申し込みや当日のご参加状況から、人材マネジメントに関する興味・関心はどんどん高まっていると感じております。一方で、人事管理系のシステムには大きな投資がしにくいというお声も良く耳にします。弊社では、そんなお悩みへのひとつの解決策としてクラウド版もご用意しております。これまでは高くて手を出しにくかった人事のフロントシステムが、リーズナブルに導入できるチャンス。ぜひ一度、ウェブサイトへお越しいただければと思います。