2011/05/22までにやったこと

進捗報告2011/05/22

2011/05/22までの進捗

一番大きなことはDOIR用のダンオニッター作りました。ソース見ると分かるように非常に単純な作りですが、まあ使えるんじゃないかなぁと。

DOIRのシステムの方は相も変わらずquery_renderいじりです 最近あんまり進んでいませんがまあ気長に。

広告

2011/05/04のやったこと

進捗報告2011/05/04

今日の進捗

またまたDOIR関連です。

クエリ用の関数を分割しています。query_parserとquery_keyとquery_joinsクラスに。まあ、まだまだ増えると思いますが、さすがに機能が大きいですね。徐々に見やすくして行ってますがなかなかキリが見えません。

まあ、この作業が終われば大きな機能追加に歩を進める予定だけれどいつになるやら。

2011/05/01のやったこと

進捗報告2011/05/01

今日の進捗

今回もDOIRの機能増強ですね2011/04/29でも触れた機能クエリの表結合のサポートをxmlのみで実装しました。

そろそろ、クエリ用の関数の大きさが尋常でない感じなのでリファクタリングがしたくなってきました。その上あんまりドメインの言葉で書かれてないのもめんどくさいというか。

クラス化も考えましたけど、「クエリを処理する」という1機能しかないのでクラス化する手間しかできないので取りやめました。

あと、表結合もグルーピングも基本的にテーブルの行数が大きいと非常に重くなるので、最近のスコアみたいな物では利用不可にする予定です。

2011/04/29のやったこと

進捗報告2011/04/29

趣旨

ずっと何にも書かないというのも何か寂しいという感じなので、何かやったときに進捗報告を兼ねてブログを書こうかなと。基本的に、プログラム関連です。私生活に関しては記録しない方針です。

付記事項

カテゴリが複数個つけれるようなので、いろんなタグをつけていきたいと思います。今回つけたカテゴリは

    • 進捗報告
      進捗報告に関する記事につけます。
    • 雑記
      自分の日常報告など、資料としてではなく、記録として残すことを目的とします。通常は前置きを入れずに、本題に入って投げ後書きも書かず投げっぱなしにする予定です。
      (この記事は、初めての分類のため前置き、後書きをつけています)
    • カテゴリ解説
      新しくカテゴリを作ったときにそれの解説が含まれている記事です。

今日の進捗

DOIRのシステムの機能増強を考えプログラミングしてました。具体的な機能は、

  1. クエリのグルーピングサポート(現状ではurl直接入力,xmlのみ)
  2. クエリの表結合サポート(設計のみ)

というぐらいです。

IE9,10が本気を出してきた(GPUサポート)したので、そろそろHTML5版のJavascriptダンおにを作ろうかなと、ライブラリ作成中。ただし、こっちはやる気をなくす可能性アリ(HTML5自体まだWorkingDraftだし)

後書き

まあ、雑記系の記事はこんな感じにしたいと思います。基本的に量は少なめ。数は多めでいければいいな。

jruby on rails3 + JavaEE Server + WindowsでUnknown Error(20047)

JavaEE Server(tomcatしかりglassfishしかり)でUnknown Error

サーバーログが以下の通り

2011/01/02 13:52:35 org.apache.catalina.core.ApplicationContext log
致命的: Application Error
org.jruby.rack.RackInitializationException: Unknown error – Unknown Error (20047) – C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\dosaf\WEB-INF\classpath:
    from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p’
    from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215:in `reverse_each’
    from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p’
    from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201:in `each’
    from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p’
    from C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:259:in `configure_gem_home_and_path’
    from C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:72:in `configure’
    from C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:126:in `definition’
     … 9 levels…
    from classpath:/vendor/rack-1.2.1/rack/builder.rb:46:in `initialize’
    from <script>:2:in `new’
    from <script>:2

    at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:183)
    at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:60)
    at org.jruby.rack.PoolingRackApplicationFactory.getApplication(PoolingRackApplicationFactory.java:94)
    at org.jruby.rack.DefaultRackDispatcher.process(DefaultRackDispatcher.java:28)
    at org.jruby.rack.RackFilter.doFilter(RackFilter.java:63)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:310)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:575)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1555)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.jruby.exceptions.RaiseException: Unknown error – Unknown Error (20047) – C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\dosaf\WEB-INF\classpath:
    at (unknown).new(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:243)
    at FileUtils.fu_mkdir(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:217)
    at FileUtils.mkdir_p(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215)
    at Array.reverse_each(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215)
    at FileUtils.mkdir_p(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201)
    at Array.each(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201)
    at FileUtils.mkdir_p(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:259)
    at #<Class:01x359ad71f>.configure_gem_home_and_path(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:72)
    at #<Class:01x359ad71f>.configure(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:126)
    at #<Class:01x359ad71f>.definition(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:116)
    at #<Class:01x359ad71f>.load(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:100)
    at #<Class:01x359ad71f>.setup(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/config/boot.rb:8)
    at (unknown).(unknown)(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/config/boot.rb:165)
    at Kernel.require(classpath:/jruby/rack/rails.rb:165)
    at JRuby::Rack::RailsBooter::Rails3Environment.load_environment(classpath:/jruby/rack/rails.rb:173)
    at JRuby::Rack::RailsBooter::Rails3Environment.to_app(classpath:/jruby/rack/rails.rb:194)
    at #<Class:01x4a30db6d>.new(<script>:2)
    at (unknown).(unknown)(classpath:/vendor/rack-1.2.1/rack/builder.rb:46)
    at Kernel.instance_eval(classpath:/vendor/rack-1.2.1/rack/builder.rb:46)
    at Kernel.instance_eval(classpath:/vendor/rack-1.2.1/rack/builder.rb:46)
    at Rack::Builder.initialize(<script>:2)
    at (unknown).new(<script>:2)
    at (unknown).(unknown)(:1)

対処法

WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:259の
FileUtils.mkdir_p bundle_path.to_sをコメントアウトする

※ただし、この対処法はあんまり検証してないので注意。たぶん問題はないと思うけれど。

Microsoft Natural Ergonomics Keyboard 4000を買った

Microsoft Natural Ergonomics Keyboard 4000 を買ってみて使ってみた感想

数日前にMicrosoft Natural Ergonomics Keyboard 4000を買ったので現状でのこのキーボードへの感想を述べてみたいと思う。

 

このキーボードの概説と使用状況

このキーボードはエルゴノミクス(人間工学)に基づいて設計されたキーボードで、画像の通りの傾斜やキー配置になってあり、キーボードを長時間使用しても疲れにくいデザインがとられているキーボードです。使用状況によりパームリフトが装着できるが自分の場合そんなに身長が高くないので、取り外しています。また、パームレストは革張り仕様で高級感があります。使用状況としては、買ってから3日ぐらであり、ようやく慣れてきたといった感じです。

キーボードの評価

鍵打感について

パンタグラフ方式を長年使ってきたこともあり、キーが若干重めに感じます。ゆっくり押すと押し込みはじめに少し緩やかな抵抗の山があり、そこからすっと落ち、キーの押し込み終わりにまた抵抗が大きくなるところがあるといった感じですが、自分のキーの打ち方はそれなりに力を入れて撃ってしまうので、最初の抵抗の山があまり感じられず、一定の力でどんどん落ち込んでいき、最後のところで抵抗が大きくなるといったフィーリングです。このフィーリングに関して言えば自分はそこまで好きというわけではないですが、無難な感じはします。

キー配置について

見ての通りかなり異様な配置です。最初エンターキーが押しにくいなといった感じでしたが慣れればそうでもなく、普通に文章入力する上では問題ないと思われます。ただ、いろいろなレビューを見るとスペースが引っかかるとか、Ctrlキーが小さいといったことが書かれてありますが、スペースキーは自分の場合それなりの力でキーボードを押すため特に問題は感じず、Ctrlキーに関して言えば自分の場合しっくりくるような配置になっているので、それなりの個人差はあると思います。ただ、見ての通りゲームやCAD等で、ホームポジション以外でキー入力を行う必要がある場合にはおすすめしません。キーボード自体がキー入力に特化されてあるためです。

機能性について

いろんなボタンがついてますが、基本的に自分はショートカットキーで済ませてしまうのであんまり考えることはないのですが、とりあえずキーボードをカスタマイズしたい場合はこのキーボードは非常に有用でしょう。パームレストが革張りというのは比較的良い加工だったと思います。パームレストのカーブもそれなりに考えられているのか、さすがに人間工学に基づいて作られているといった感じです。たぶん、長時間鍵打を行う人にとっては非常に優れているのではないのでしょうか。

総評

自分としては、エルゴミクスのデザインは非常によいと思います。また、パームレストもこのデザインに合っており、感じは良好。ただ、もうちょっと高くしてでも鍵打感をよくしてもらいたかったかなと言うのが実感です。

終わりに

キーボードやマウスなどのインプットデバイスは結構安く済ませる人も多いと思いますが、PCの操作性にも大分大きく関わってくるところなので、一度ぐらいは量販店のキーボードやマウス売り場に行ってみて、どんなデバイスがありどんな感じなのか見てもらえればいいと思います。