2008年11月アーカイブ

[TIPS] TimeZoneInfo

さて、米国での今年のサマータイムが終わったようです。(今知った)

州によって使われてなかったり、2007年の改定で期間が変わったり

ややこしいねん

リニアに流れるシンプルな時間の概念をねじ曲げる制度だと思います。

日本でのサマータイム制導入には反対の気持ちです。

(ちなみに同様の理由で日本の和暦も嫌いです。)

 

まぁ、それはそうとして、導入されてる国の時刻を日本時刻(JST)に変換する必要がある場合にはどうするのが適当なのでしょうか・・。

つーことで.NETFrameworkでのタイムゾーンの扱いをお勉強してみます。

 

.NET2.0以前と.NET3.5では推奨される手順が異なるようですね。どうやら度重なる制度改定に柔軟に対応するためにTimeZoneクラスが改良されTimeZoneInfoとなったようです。

 

ここでは.NET3.5のTimeZoneInfoを使ってみます。

 

まずはタイムゾーンの一覧で使いたい地域を確認

For Each tzItem As TimeZoneInfo In TimeZoneInfo.GetSystemTimeZones
  Debug.WriteLine(tzItem.Id & vbTab & tzItem.DisplayName)
Next

アメリカ東部標準時間(EST)→日本時間(JST)への変換

Private Function ESTtoJST(ByVal d As Date) As Date
  Dim EST As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
  Dim JST As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")
  Return TimeZoneInfo.ConvertTime(d, EST, JST)
End Function

 

思ったより簡単にできましたね。でも、この仕様になるまで紆余曲折を思うと頭の下がる思いですね。過去にこんな記事もあったみたい。↓

ディベロッパー製品開発統括部 Blog
日本における時差のシナリオに関してご意見をお聞かせください
http://www.exconn.net/Blogs/team01/archive/2006/07/21/15292.aspx

11/04(火) -6,600円

部屋の模様替えをしつつ各マシンの場所移動とかしてます。

NASのファンがうるさいので交換しようとしたら壊しました。

PCの各ファンもうるさいものから順に交換していきます。

というわけでデジカメ写真とかも取り込めない状態。

しかも徹夜明けでもう落ちそうなほど眠いです。

てか寝ます、おやすみなさい・・。

11/05(水) -131,690円

AVアンプも気づいたら壊れてました。(挨拶)

 

神戸元町ドリア サンマルク系列らしいです。量が少なすぎ。

20081105 神戸元町ドリア.jpg
 
さて、PCのファンを交換してます。
 
8センチのファンを買いにいくと同じようなのがいくつかあって、とりあえず音の小さいやつ選べばいいんだろうと買ってみたら厚さも数種類あって高すぎてはまらなかったり。こういうのもトレーニングですよね。経験ですよね。と
 
部屋がだいぶ静かになりました。良い睡眠ができるように努力してるわけです。
 
寝るのが趣味ですから。(゜ _ ゜)

あさから

朝からトラブル。システム起動しません・・。

 

システムも壊れた。(゜ □ ゜; 

 

(いえ・・言ってみたかっただけです。壊れてません。)

 

さて、どうしたものか。

いんどまん

システム直りました。

Hyper-Vのゲストでメモリリークしてスナップショットが肥大してCドライブ圧迫してた。実マシンだとメモリリークしててもプログラム終了とともに解放されたのですが、このへんは仮想マシンの痛し痒しなところですね。

 

というわけで次にうるさめのCPUファンを交換すべく、お買いものがてら大須方面へ。

 

上前津 ビストロインドマン

0081106 インドマン1.jpg
 
ランチ780円 辛さひかえめなので 唐辛子パウダーで調節
0081106 インドマン2.jpg

 

インド料理屋さんのランチを攻めてみましょうか。

11/07(金) -32,100円

CPUファン交換はあまり効果がなかったみたい・・。

となるとあとは静音ケースかな・・。

 

昭和区 アイナ 高辻交差点付近の小さなお店

20081107 アイナ1.jpg

スペシャルランチ ヘルシー系?

20081107 アイナ2.jpg

 

さて、さすがに今日は振り落とされました。

ちょっとだけロジック調整します。

でもその前にメモリリークの問題をなんとかしないといけない。

めもりん

鶏のトマトソース煮(自作)

20081108 鶏トマト.jpg

 

さて、メモリ使用量とかのお話。

株価データの基本的な構成は「銘柄、日時、株価、出来高」ですね。

イメージ的に書くとこんなの↓

分足Item = { 銘柄="2753", 日時="2008/11/07 15:00", 株価=131900, 出来高=54 }

(↑実際は銘柄は銘柄Itemクラスへの参照、日時はKabuDate2クラスへの参照)

で、この分足Itemクラスのオブジェクト一個で何バイトのメモリを使用するん?それぞれ4バイトくらいとしても16バイト程度ちゃうん?と勝手に思ってました。

というわけで、List(Of 分足Item)に要素1000000個ほど確保してメモリ使用量を計測してみると、分足Itemいっこあたり140byteという結果が出てしまったわけです。(驚愕)

さて、どうしたもんか。(つづく)

めもりん2

雪見だいふく きな粉黒みつ

20081108 雪見きなこ.jpg
 
さて、前回の続きです。
 
とりあえず、何がメモリ食いなのかを調査してみた。
分足Itemクラスには株価などのメンバ変数以外に各種メソッドがあるのですがこれらが原因でした。
 
と、ここでクラスというものの成り立ちが思い出されます・・。
20年ほど昔。C言語からC++が派生した頃のクラスの実装はstructでした。
 
つまり。
typedef struct {
  int member;
  void (*method)();
} ClassA;
みたいな。
 
要するにインスタンスいっこには関数へのポインタの分もメモリ消費する・・と。今も同じなんですね。と。
 
今時の処理系は重複したメソッド部分については"うまいことやってくれる"んじゃないかって勝手に思ってました。(やればできそうだし)
 
まぁ、このへんを踏まえたうえで改良すればもっと省メモリ化できそうですね。

 

(追記)

その後の調査でメソッドがメモリ肥大の原因にはならないと判明しました。

やはりメンバ変数のみが原因であり、いかに必要最小限のメンバのみにするかが課題となりそうですよ。っと

さぶばあ

上前津 AKASH (アカース)

20081109 アカース1.JPG

ランチのナンは食べ放題

20081109 アカース2.JPG

 

さて、subversionに手を出してみるよ。

クライアントは仕事で使ってたけど、サーバも管理する手順を知っておく必要があるからね。

参考にするのはここ

Visual Studioと.NET開発者のためのSubversion/TortoiseSVN入門 :CodeZine
http://codezine.jp/article/detail/3114

11/10(月) -18,200円

メモリの件はかんちがいだったのであっさり訂正。→めもりん2

 

上前津 クミン

20081110 クミン.JPG
 
さて、 本格的に次期バージョン開発に着手。
 
まずはさらなる省メモリ化を目指します。

めもりん3

宮本むなし 鶏のコチジャン炒め定食

20081111 むなし.JPG
 
さて、省メモリ化をめざしてみたところ・・。
 
140バイトだった分足Itemクラスの使用サイズは28バイトになり、
 
動作が遅くなりましたとさ・・。(まぁそりゃそうだわな)
 
つまりは数ヶ月前に高速化をめざして改良した際にメモリ使用量を犠牲にして高速方向にチューンしたらしい。(といっても本人はすっかり忘れてますが)
 
もしくは小人さんが・・ごにょごにょ・・。

11/12(水) -11,200円

上前津 サンジュ 呼び込みのお兄ちゃんナイス笑顔

20081112 サンジュ1.JPG
 
ナンがほんのり甘くておいしい
20081112 サンジュ2.JPG

 

さて、Hyper-Vの性能にちょっと問題を感じます。

QuadCPUで速度の底上げはされていますが、結局1台のマシンなのでNICやハードディスクを共有しているのでそのへんがボトルネックとなるようです。

サーバもクライアントもHyper-Vに放り込んでみましたが、やはりクライアントはできるだけ速いほうがありがたいと思えるし、サーバは動いてさえいれば速度なんて気にならないわけです。

 

ようするに

QuadCPUにHyper-Vでサーバを詰め込み 旧CPUでクライアント

よりも

QuadCPUで最高速クライアント 旧CPUにVirtualPCでサーバ詰め込み

のほうが良さげじゃね?

と。

11/13(木) -39,327円

鶴舞 ムガルパレス

20081113 ムガルパレス1.jpg

 
ランチはナン食べ放題、ドリンク付きでタンドールチキンセットもあってお得
20081113 ムガルパレス2.jpg

 

さて、手仕舞い処理がバグってたようです。

バグというか、なんというか、んー。

おもしろいことに、作った頃と比べて状況が変わってくるんですね。

よく、ロジックとかが相場の変化で機能しなくなるとか、あれとは違うんです。

作ったときは慎重だったのが、慣れてくると

「なんだ、こんな心配いらないじゃん」みたいな?

・・いや、ちがうな。

「こんなマメにせんでも、てきとうでいいんちゃうん?」みたいな

 

まぁ、それはそれとして、

ツタヤで面白い説明のDVDがあったので借りてきました。

「マサチューセッツ工科大学の数学の天才学生たちが、 ラスベガスのカジノで荒稼ぎしたという実話を基にした大ベストセラーを映画化」

だそうです。タイトルは「ラスベガスをぶっつぶせ」

B級っぽさ満点でおらワクワクしてきたぞ。

11/14(金) -23,000円

藤一番 あつあつチャーシューとランチご飯は定番ですね

20081114 藤一番.jpg
 

さて、金融サミット直前ですが。

うちの子は買いをすべて手じまって売りのみになりました。

でもポジ少ないところから察するに弱気っぽいです。

 

ちょっと人間っぽいデスネ

ちゃっぷ

タイからやって来た辛~いケチャップ

20081115 ホットケチャップ.JPG

 

さて、せっかくなので64ビット版のWindows Vistaも評価してみます。

サクッとインストール・・と。思ったら、パーティションの切り方がわからない・・。

そういえばいつもは別PCにHDDつないでパーティション切ってからインストールしてたような気がする。標準的なやり方があるんだろか、それとも1ボリューム推奨になっちゃったんだろうか・・?

てなわけで調べたら、ディスクの管理画面でボリュームの圧縮でパーティション容量を動的に変えられるらしい。

で、やってみたけど、Cドライブ120GBくらいにしか圧縮できない・・。

まぁ・・最近はCドライブもこのくらいあったほうがいいだろうし・・(ごにょごにょ)

まいっか。と

ちりめん

ちりめん亭 昔から好きなチェーン店のひとつ

20081116 ちりめん亭1.jpg
 
餃子セット
20081116 ちりめん亭2.jpg
 
さて、Vista(x64)を評価してみてるわけですがおおむね良好です。(訂正デスw)
 
右クリックメニューなどシェル拡張を実行するソフトなどでx86と挙動の変わる部分も見受けられますが、その他は問題なく動作してるようです。
 
気になってた開発環境も問題なく(訂正デスw)、差異を.NET Frameworkが吸収してくれるためx64環境でビルドしたバイナリはそのままx86環境でも実行できますね。
 
バックテストがなかなか快適な速度で動いてます。
 
先にQuadコアCPUでのVista(x86)のほうの感触をみてからx64試せばよかったかも・・とは思いますが、高速で快適なのでしばらくこのままいってみよう。 
 
(追記)
x64環境でデバッグ時にちょっと問題がありました。
デバッグ中にコードを変更しようとしたところ、「エディットコンティニュー 64ビット アプリケーションへの変更は許可されていません。 」となり編集できない。
詳細オプションで32ビットコンパイルに設定することで回避できるようですが、VB2008ExpressEditionにはこのオプションが見あたらないようです。
 
(追記2)
すでにVista(x86)に戻しちゃったので確認はできていませんが、プロジェクトファイルの以下項目を直接編集でターゲットを32ビットに設定すれば動くらしいです。
<PlatformTarget>x86</PlatformTarget>

11/17(月) -14,300円

踏まれました・・。

明日はどっちだ。

 

宮元むなし 豚トロの蒲焼丼

20081117 むなし.jpg

 

さて、結局Vista(x86)に戻りました。

x64でのVisualStudioのデバッグコンティニューの設定は直接XMLファイルを編集すればできるらしいけど、特殊な手間がかかるってのは後々めんどいのでやめです。

きしめん

今日はちと飲みに出てました。幻のもつ鍋うまかったです。

デジカメ忘れて写真撮れてません。残念

 

ココイチ カレーきしめん+なすトッピング わりとおいしいので毎年食べる

20081118 カレーきしめん.jpg
 
さて、昨夜のチャットは液晶モニタ購入の話題やらASP.NETの質問やら荒らしさん登場やら、にぎやかでしたね。
 
チャットしつつもCME日経先物とダウのチャートとか作ってWEB経由で見れるようにしたりとか、いろいろやる事やってました。
 
次はこのチャートを携帯でも見られるようにしたりとか、細々としたユーザビリティを追求したりしてみてるわけです。
 

きしめん2

味ご露 江戸っ子(ミニ天丼&きしめん)

20081119 味ご露.jpg

 

さて、今日は保有銘柄の確認用ページをちょっと改良。

PC用と携帯用とか、まぁわりと当たり前のことやってます。

 

ヒミツの修正が多くなってるので、ブログで書くネタも無くなりつつありますね。

11/20(木) -20,900円

さて、グルメ写真もネタ切れになりました・・。

 

こういうときは画面写真でちゃちゃっとごまかすアルヨ。(ゼンジー北京で)20081120ss.png

うちで自分用に使ってる夜のお楽しみチャートです。(もちろん昼も)

ダウはCBOTダウ先物へと、日経平均はCME Globex N225へと。ついでにドル円も。

グローバルに連動した24時間の動きを1枚で楽しめます。

明日の動きが気になって眠れない時など、これを見ると安心できます。(または覚悟ができますw)

 

ちなみにブログの右上に貼ってあるやつはこれの縮小版っぽいただの飾りです。アートです。(大人の事情により・・)

11/21(金) -21,200円

期間限定のMOWメープル味を発見。(冷凍庫にて)

20081121 メープルMOW.jpg

 

さて、また3連休らしいですね。ヒマですね。HEROESの続き観たいのでちょうどいいか・・。

システムのほうはいろいろ修正を思いつくのですが、なくてもあまり困らないちょっとした改良なのでなかなか手が着けれません。

・・と書くと、天の邪鬼な自分がやる気出してくれるかも・・とか、一人フェイント状態を狙ったりもしてみるわけです。自己メンタルコントロールとかってのもむつかしいもんですね。

ぴのった

20081124 pino.png
 
星★型な個体がいっこ入ってた。
20081124 pino2.jpg
 
とまぁ、こんな休日。

じっぽ

ZIPPOハンディウォーマー

20081125 ZIPPO.jpg

 

さて、やっとHEROESシーズン1の最終話

11/26(水) -29,500円

建て増しの実験失敗。平均建値の計算処理を改良する必要がありそう・・。

 

さて、今日のネタはこれ

free Iq Test - take your online iq test
http://free.intershop.it/iqtest/freeiqtest.asp

 

知能指数テストです。30分程度で試験できます。

絵を推理して番号を選んでNextで進みます。全35問。

20081126 IQ1.png

 

やってみました。こんなんでました。

20081126 IQ2.png

参考リンク

職業別のIQの分布はどうなっているのか - GIGAZINE
http://gigazine.net/index.php?/news/comments/20081126_iq_by_occupation/

 

お医者のせんせいもぜひ!

ゆたぽん

レンジでゆたぽん 

20081127 ゆたぽん.jpg
 
これイイ!(゜ _ ゜)b
 
7時間って書いてあるけど、ぬるくなってきたらレンジで追加加熱できるので、冷めるまで使い切る必要がなくてステキ。作業中ひざの上に乗っけたり、たまに抱っこしてあたたまってます。
 
先日買ったZIPPOハンディウォーマーは昔あったハクキンカイロのOEM製品で、ZIPPOオイル入れてライター熱で化学反応を開始すると24時間暖かさが持続します。自転車で外出時にポケットに入れて手を温めてます。
 
エアコン暖房だと空気が乾燥してつらいので、この冬はエアコンなしで乗り切ってみようか。

けちゃっぱ

マクドナルドでケチャップもらってみた

20081128 ケチャップください.jpg

 

さて、そろそろ購入単位を増やしてみます。

購入可能な銘柄が増えるため、バックテストと調整をやり直し。

これが終わったら建値と損益率の計算処理を改良する予定。

たんたん

うどん(麺類):なか卯
http://www.nakau.co.jp/menu/cgi-bin/check.cgi?area=udon

新商品・季節メニュー:なか卯
http://www.nakau.co.jp/menu/cgi-bin/check.cgi?area=new

 

「はいからうどん」→「小うどん はいから」

「きつねうどん」→「小うどん きつね」

「ぶっかけおろしうどん」→「小うどん おろし」 ・・なのに、

「坦々うどん」→「小坦々うどん」 なんですょ・・。

 

このネーミングの統一感、どうよ。>なか卯御中

 

なか卯 親子丼&小坦々うどん ま、親子丼美味しいからいいけどね。

20081129 なか卯坦々.jpg

 

さて、購入可能金額を少し増やすと扱える銘柄も増えるわけですが、大きなロジック変更は必要なくて、ちょっと整える程度で済みます。

ただ、バックテストして想定外のシグナルを削る方向でちまちまとパラメータ調整していく作業なので意外に時間がかかったりします。



ミニブログ

メッセンジャー



モバイル