忘備録1.0 RSSフィード

2010-01-13

[][] TomcatのJNDI設定は5.0と5.5で変わってる 13:49  TomcatのJNDI設定は5.0と5.5で変わってるを含むブックマーク

The Apache Tomcat 5.5 Servlet/JSP Container - JNDI Datasource HOW-TO

Please note that JNDI resource configuration has changed somewhat between Tomcat 5.0.x and Tomcat 5.5.x.

ということで、JNDI使用時はバージョンに注意。


2009-12-03 このエントリーを含むブックマーク

RFP完全マニュアル 実践編 - RFP完全マニュアル 実践編(目次):ITpro

Amazon.co.jp: RFP&提案書完全マニュアル

Amazon.co.jp: RFP入門―はじめての提案依頼書




[指南役の提言]コスト削減を目的としたERP導入は成功しない:ITpro

” 業務プロセス標準化は、業務の担当者が主導して進めるべきだ。その作業には2年はかかると考えた方がよい。ERPパッケージと一緒に提供される BPM(ビジネス・プロセスマネジメント)ソフトがある。これを利用する場合も、ERPの導入と業務プロセス標準化は明確に分けて考えるべきだ。 ”



IBM Rational AppScan Source Edition (Ounce Labs), AppScan and Policy Tester の発表

RationalがOunce LabsをM&Aですかww

2009-10-22

2009-10-13

[] MOONGIFT: » 今使っているWindowsを仮想化する「Disk2vhd」 10:06  MOONGIFT: » 今使っているWindowsを仮想化する「Disk2vhd」を含むブックマーク

開発環境統一とかに使えそう。

2009-09-18

2009-09-14

[][] 組織選択ウィンドウのレンダリングを遅延させて表示速度改善 21:09  組織選択ウィンドウのレンダリングを遅延させて表示速度改善を含むブックマーク

組織選択ウィンドウやグループ選択ウィンドウは、組織選択ボタンとかを押したらすぐに使えるように、

一番最初(mainとか)でレンダリングしておく必要があるが普通にやろうとすると、

組織選択ウィンドウをレンダリングするまで全体も描画されず非常に表示が遅かった。


そこで、組織選択ウィンドウのレンダリングをAjaxUpdaterで非同期に実施するようにしたところ

初期画面表示に約5秒かかっていたところ、1秒程度に改善された。


(修正前) main.rhtmlにそのまま記述


c<div id="search_result_area"></div>
<script type="text/javascript">
  <%# 初期表示用検索実行 %>
  <%= remote_function(
        :url => {:controller => '/sample/hoge', :action => 'search'}, 
        :update => 'search_result_area') %>
</script>

<%# 組織選択ウィンドウ %>
<%=
  render_organization_select_window({
    :element_id => 'hoge_organization_select_window',
    :options    => {
      :prefix   => 'hoge_org_select_',
    },
    :title      => '組織選択',
    :variable   => 'rubricks.sample.hoge_org_select_window',
  })
%>
・・(以下略)・・



(修正後) main.rhtmlから別rhtmlに切り出して、Ajaxで読み込み


=== main.rhtml ===
<div id="search_result_area"></div>
<script type="text/javascript">
  <%# 初期表示用検索実行 %>
  <%= remote_function(
        :url => {:controller => '/sample/hoge', :action => 'search'}, 
        :update => 'search_result_area') %>
</script>

<%# 組織選択ウィンドウ用 %>
<div id="hoge_window_org_select_area"></div>
<script type="text/javascript">
  new Ajax.Updater($("hoge_window_org_select_area"), 
    "<%= url_for(:controller => "/sample/hoge", :action => "main_window_org_select") %>",
    {evalScripts:  true}
  );
</script>



=== main_window_org_select.rhtml ===
<%# 組織選択ウィンドウ %>
<%=
  render_organization_select_window({
    :element_id => 'hoge_organization_select_window',
    :options    => {
      :prefix   => 'hoge_org_select_',
    },
    :title      => '組織選択',
    :variable   => 'rubricks.sample.hoge_org_select_window',
  })
%>
・・(以下略)・・

初期画面での検索処理が終わるとすぐその画面は表示されて、

組織選択ウィンドウのレンダリングは非同期で裏で実行される。

勿論、非同期でレンダリングしている最中は組織選択ウィンドウは使えないが

初期画面表示直後に組織選択ボタンを使わせるようなケースでなければ有効と思う。


ちなみに、非同期レンダリング中に組織選択ボタンを押した場合、モーダル状態+ウィンドウなしになるが、レンダリングが終わるとモーダルが解けるので、もう一度組織選択ボタンを押せばOKであった。

2009-09-09

[][] RubyWorld Conference 2009 メモ(1) 10:20  RubyWorld Conference 2009 メモ(1)を含むブックマーク

RubyWorld Conference

特に印象に残った話


GWebLink-Neo CMS : 富士通四国システムズ

2001年からやってて2009年4月現在318システム稼働中とのこと。

CMS(ブラウザUI)だけじゃなくて、デジタルサイネージ(データ配信)でイオンモールとかみずほ銀行金利ボードなんかもやっているとのこと。

直近の50案件(商談)の内容を見てみると、言語やプラットフォーム指定は減少傾向・OSS利用できる機会は増加傾向ということで、特にASPSaaS案件では機能のみに注目しているとのこと。

課題

  • Word/Excelの読み込み/出力(連携指定ありが30〜40%で増加傾向)
  • 帳票用のPDF出力
  • Windows認証、ActiveDirectory連携

Rails用の高機能帳票PDFプラグイン作れば商売になるかも?w


楽天

楽天Rubyを推している理由=「日本発世界へ」という理念が共通。Rubyの信念に楽天の経営層が共感したそうな。

トップダウンで適用指示してもらえるといいよね^^;

Ruby適用範囲広がってるとのこと。

my Rakuten - 楽天が提供するmyポータル

楽天では、どのページにどの言語を使っているとか基本的には公表できないそう。(複数の言語で開発しているということですね)

画面編集のツールをRailsで作成。

ROMA=分散データストア

Fairly=分散処理システム

楽天=ユーザ数4600万人、商品数3千万、日商30億 →分散のシステムは必須。

→分散システムがここでできると他のエンタープライズ分野にも広がるかも?

楽天技術研究所では、1/3がRuby、2/3は他の技術の研究。






どうでもいいけど、Ruby "World Conference"じゃなくて、"RubyWorld" Conferenceなのよねww (多分)

2009-07-27

[][] component_initでActiveRecord関連のエラー(load_missing_constant) 16:55  component_initでActiveRecord関連のエラー(load_missing_constant)を含むブックマーク


以下のようなエラーが発生してた。

C:\work\NetBeans65\bizca>ruby script\component_init hoge
C:/work/NetBeans65/bizca/vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:263:in 
`load_missing_constant': uninitialized constant Hoge::HogeReviewBugCount (NameError)
        from C:/work/NetBeans65/bizca/vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependenc
        ies.rb:452:in `const_missing'
        from ./script/../config/../install/hoge/_install/db/101_hoge_schema_101.rb:312:in `real_up'
(以下略)

該当ソースは、モデルをcreateするところ。

Hoge::HogeReviewBugCount.create(
  :dts_pjdata_project_id => pj.id, 
  :dts_pjdata_review_bug_category_id => tmp_id, 
  :count => rbc_count[i]
)

間違っているように見えないけど。。。 モデルの関連とかも間違ってないようだし。。



結論:modelのファイル名が間違ってた。

(正)hoge_review_bug_count

(誤)hoge_reviewe_bug_count


......orz

2009-07-23

[][] RailsMySQLで日付指定 17:27  Rails+MySQLで日付指定を含むブックマーク

こんな感じのフォームがあったとして、年月とか日付を指定してDBから値を取ると。

f:id:otao:20090723170952j:image


画面側からわたってくるパラメータはこんなかんじ

"conditions"=>{"trails_select"=>"month", "select_year"=>"2009", "select_month"=>"7"}
"conditions"=>{"trails_select"=>"term", "to_date"=>"2009/07/31", "from_date"=>"2009/07/01"}

方法は大きく分けて、DBの型をDateでやるか文字列にするか2通りあるっぽい。

(1)Date型

SQL的にはこんなかんじ。7/23以降のレコードを取得。

 select * from hoge where created_at >= '2009-07-23';

ruby側は、パラメータからDate型を作ってあげる。

ちなみにnewするときの日に-1を指定すると、その月の最終日が取れる。

Date型そのままでもOKだけど、conditionsを(デバッグとかで出力して)

見やすいようにstrftime掛けている。

(これならDate型にしないでStringで連結の方がいいかも)

      current_year = params[:conditions][:select_year].to_i
      current_month = params[:conditions][:select_month].to_i
      from_date = Date.new(current_year, current_month,1).strftime("%Y-%m-%d")
      #日付指定だと00:00:00扱いになるので、翌月1日(00:00)未満という指定にする
      to_date = Date.new(current_year, current_month + 1,1).strftime("%Y-%m-%d")
      #最終日を指定すると含まれなくなってしまう
      #to_date = Date.new(current_year, current_month, -1).strftime("%Y-%m-%d")
      conditions = [""]
      conditions[0] += " created_at >= ? AND created_at < ?"
      conditions << from_date
      conditions << to_date

(2)文字列

MySQLのdate_format関数を使って、DB側を文字列にする方法。

 select * from hoge where date_format(created_at,'%Y-%m-%d') >= '2009-07-23';

今回の場合は、パラメータが「2009/07/23」という形式で渡ってくるので、date_formatの方も

/区切りにしてあげる。

        to_date = params[:conditions][:to_date]
        conditions = [""]
        conditions[0] += " date_format(created_at,'%Y/%m/%d') <= ? "
        conditions << to_date


参考リンク

http://private.ceek.jp/archives/002738.html