プログラムソースのutf8化

最近はプログラムの作成より、開発環境の整備に時間が取られている。
理由は先日からの流れのとおり、MacでCrypt::SSLayがつかえなくなり、
Perl5.8.8にUpgradeしたことを発端としている。
その後、Eclipseの3.2.2へのUpgrade、Eclipseのモジュールの追加、
Perlソースのutf8化などを行っている。
今日は株式シグナル用のプログラムソースをみなおしている。
見直しといっても、nkfでソースをShiftJISからutf8に変換して、
PerlのModuleで不足しているものを、インストールしている。
その中で、GD::Graph系のモジュール不足が表示されていた。
いつものように、CPANでinstallする・・
GD.xs:7:16: error: gd.h: No such file or directory
などのエラーを吐いて、止まる・・。
5.8.6の時に入れといたGDがどこかにいったようである。
そこでPortでp5-gdをいれるとあっさり入ってくれた。
ただ、うちのPPC1.25なminiでは、コンパイルなどに紅茶一杯飲めてしまう。
まー、休憩しろということか・・・と思いつつ待てばよいだけだけど・・

utf8でのコーディング

先日、FXの秒足履歴取得システムは、
暫定的に漢字コードを使わずに判定するように修正し、
とりあえず、停止当日中に再稼働させることができた。
しかし、根本的な解決には遠く、株式の取引シグナルを出す方は手つかずである。
ここは、すこし腰を据えて基本を勉強することにした。
現在のシステムの修正がてらなれるのも良いが、
あまりに修正項目が多くなると、修正作業自体が嫌になりそうなので、
サンプルシステムを作ることにした。
・ ヤフーニュースの要約を、携帯にメールで配信する。
・ マイヤフーに登録されているファイナンス情報を、携帯にメールで配信する。
の、二つをつくることにした。
実際の作業は一日もかからずに作成することができた。
実際の流れは、
・ ヤフーニュースの要約を、携帯にメールで配信する。
ヤフーのニュースサイト http://dailynews.yahoo.co.jp/fc/rss.xml などから、
RSSでニュースを取得して、タイトル部分を蓄積する。
蓄積した情報を、Perlからメール配信する。
技術的には Net::SMTP XML::RSS モジュールを利用した。
非常に良くできたモジュールで、苦もなく実装することができた。
・ マイヤフーに登録されているファイナンス情報を、携帯にメールで配信する。
マイヤフーに登録されている、株価情報を定時に携帯にメールする。
マイヤフーは当然に認証が必要だし、その後登録されている情報を解析して、
銘柄名、現在価格、前日比を抜き出して送信する。
マイヤフーをターゲットにしたのは、
・ 複数の証券会社での保有銘柄をまとめて閲覧できるように管理している。
・ 銘柄の追加削除が容易である。
・ 自分だけでなく、他の人も利用できる。(証券会社ごとのモジュール作るのは面倒ですし)
と、いうことである。
こちらは目新しい技術的な話はないが、
LWPのCookieをファイルに保存するようにして、ヤフー側のロボット規制にかかりにくくした。
(現実に数回テストをしたときに、画像認証になってしまった)
この二つのプログラムを書きつつ、utf8での文字列の扱いを覚えた。
やってみると非常にシンプルで、
外部からの文字列を、 decode で、utf8化
外部に文字列を出す時に、 encode で、非utf8化
と、いうことだけである。
あと、開発環境の問題(Eclipse + EPIC in MacOSX mini)で、
ソース上で直接漢字を判別などをさせると、
Malformed UTF-8 character
と、怒られる。
既知の問題でもないようであるが、一旦スカラーるか、エラーを無視すればいいので、
環境が改善されるまでは、しばし我慢することにする。
この二日くらいは、いろいろと実験をしていたが、
今後はPerlをする限りはさけてとおることができないutf8を、
さわれるようになったので良しとする。
あとは大量のファイルの修正が・・・
また、それはおいおいということで(^^;

シグナルテスト一時停止

今日、シグナルが出ずにシステムを見直すと、
どうも昨日のUpdateでPerlのバージョンの関係で、
今までファジー(?)なコーディングをしていたため、
動かなくなってしまった。
LWP関係で漢字の扱いが厳密になったようである。
いよいよutf8なコーディングをしなくていはいけない。
今、FX系のシステム構築に集中しているので、
株の方はしばし停止して、時間ができれば順次修正していきたい。
ヤフファイは過去の取引履歴がでるので、取り返しはつくと思う。
もし、うちのシグナルを毎日の株取引の参考にされている方がおられれば、
コメントいただければ幸いです。
m(__)m
とりあえず状況がわかればUPいたします。

レート情報取得できず・・なぜ・・・

今日は月曜日、いつものように朝一番のFXレート取得システムのご機嫌を確認。
いつもは・・・「GetRateOK…」と出ている表示が「Error…..」と・・
出勤前で時間がないことから、プログラムソースにログをはかせて原因を探る・・
どうもひまわりのHPに接続しているSSLがうまくいっていないようだ。
今日一日の取得はあきらめRate取得システムは止めで出勤する。
原因をさぐると、やはりLWPでのSSL通信がうまくいっていない。
週末に久しぶりにMacminiを再起動できるタイミングがあったことから、
SoftwareUpdateをかけた・・・
その時になにやらセキュリティ関係のUpdateをしていた。
SSL関係のPerlモジュールは、システムのSSL関係と連携しているので、
当然に影響があってもおかしくない・・
・ CPANでモジュールをUpdateする。
  Perl5.8.8のモジュールが増えてきれいに最新にUpdateされない・・
・ FinkをUpdate
  とりあえずPerlの前に久しぶりにFinkをUpdate・・時間がかかる・・・
  なぜか、dpkgのUpdateでAbend・・・。
  仕方がないので、手作業で削除して、再インストール・・
  削除の段階ですべてを悟りました。
  再インストールするにもdpkgなくなったら、aptもFinkも使ない(;;)
(結構途方にくれる・・・(--;)
・ MacPortを入れる。
  dpkgを入れる  => 無事はいる
  MacPortの方が対応しているバージョンなど新しいことを発見。
  Finkやaptは使わないことにする。
・ MacPortでPerl5.8.8を入れる
  ソースから入れてる割には結構素早く入った。
  でも、よく考えると、5.8.6を消してくれてない(;;)
  仕方がないので、/usr/binのperlを、lnでリンクをつける。
  モジュールも移行するのが面倒なので、必要そうなものをCPANで入れる。
  最近は便利な移行ツールがあるように聞いたが、うちのminiでも
  すべて入れ直しても1時間はかからない。
・Webminがおかしい・・
  WebminでSSL接続できない。
  モジュールがたらなかったようで、とりあえず思いつく物を入れまくる。
  =>動いた。
と、以上のような作業をして、とりあえず、Rate取得システムは動くはず・・・
が・・また動かない(;;)
今度は新しいモジュールを入れたために、2バイトコードの扱いが厳密になったようだ。
これは5.8.8の仕様でもあるし、覚悟はしていたが、utfをさけて通っていたバチがあたった。
今までWindowsでの動作も考えて、ShiftJISでコーディング、htmlソースをShiftJISに変換して
処理をしていたが、やはり2バイト文字を厳密に扱い出すと弊害がでてくる。
とりあえず、今はFXのレートを取得するのが最優先であることから、
応急処置を行い、動作を再開した。
次の休みには、miniでの作業を継続するか。
この間ヤフオクで購入した、Pen4なDOSVにサーバを移行するか考えたい。

Todays Signal(Test)07-03-19

本日のシグナルです。
この投稿は自動投稿ですので、カテゴリーの設定をする夜まで
不正確な場合がありますので、ご理解ください。
また、この情報を基に取引をされる場合は、
ご自身の責任でお願いいたします。
BUY(KAI) Signal —————>

code date point_max point_avg point_min rieki kikan
1766 2007-03-16 100 100 100 255 11
8303 2007-03-16 100 97 93 11 9
7445 2007-03-16 100 100 100 327 7
6796 2007-03-16 100 100 100 15 8
5342 2007-03-16 100 100 100 3 5
4768 2007-03-16 100 100 100 227 18
4506 2007-03-16 100 100 100 64 12
3734 2007-03-16 100 88 86 22028 2
8703 2007-03-16 100 100 100 10234 5
2415 2007-03-16 100 100 100 20779 6
2448 2007-03-16 100 98 96 66760 1
2761 2007-03-16 100 90 75 208 22
3399 2007-03-16 100 93 90 10285 5
2330 2007-03-16 97 96 96 3242 1
3762 2007-03-16 97 96 95 5500 5
6932 2007-03-16 96 94 93 47 9
1868 2007-03-16 96 92 84 45 24
8306 2007-03-16 96 96 96 54071 13
4797 2007-03-16 95 93 91 6400 1
code 1766 8303 7445 6796 5342 4768 4506 3734 8703 2415 2448 2761 3399 2330 3762 6932 1868 8306 4797
YahooFinance

SELL(URI) Signal —————>

code date point_max point_avg point_min rieki kikan
7705 2007-03-16 -100 -100 -100 69 10
code 7705
YahooFinance

Todays Signal(Test)07-03-16

本日のシグナルです。
この投稿は自動投稿ですので、カテゴリーの設定をする夜まで
不正確な場合がありますので、ご理解ください。
また、この情報を基に取引をされる場合は、
ご自身の責任でお願いいたします。
BUY(KAI) Signal —————>

code date point_max point_avg point_min rieki kikan
1766 2007-03-16 100 100 100 255 11
8303 2007-03-16 100 97 93 11 9
7445 2007-03-16 100 100 100 327 7
6796 2007-03-16 100 100 100 15 8
5342 2007-03-16 100 100 100 3 5
4768 2007-03-16 100 100 100 227 18
4506 2007-03-16 100 100 100 64 12
3734 2007-03-16 100 88 86 22028 2
8703 2007-03-16 100 100 100 10234 5
2415 2007-03-16 100 100 100 20779 6
2448 2007-03-16 100 98 96 66760 1
2761 2007-03-16 100 90 75 208 22
3399 2007-03-16 100 93 90 10285 5
2330 2007-03-16 97 96 96 3242 1
3762 2007-03-16 97 96 95 5500 5
6932 2007-03-16 96 94 93 47 9
1868 2007-03-16 96 92 84 45 24
8306 2007-03-16 96 96 96 54071 13
4797 2007-03-16 95 93 91 6400 1
code 1766 8303 7445 6796 5342 4768 4506 3734 8703 2415 2448 2761 3399 2330 3762 6932 1868 8306 4797
YahooFinance

SELL(URI) Signal —————>

code date point_max point_avg point_min rieki kikan
7705 2007-03-16 -100 -100 -100 69 10
code 7705
YahooFinance

Todays Signal(Test)07-03-15

本日のシグナルです。
この投稿は自動投稿ですので、カテゴリーの設定をする夜まで
不正確な場合がありますので、ご理解ください。
また、この情報を基に取引をされる場合は、
ご自身の責任でお願いいたします。
BUY(KAI) Signal —————>

code date point_max point_avg point_min rieki kikan
1766 2007-03-15 100 100 100 255 11
4506 2007-03-15 100 100 100 64 12
6796 2007-03-15 100 100 100 15 8
3399 2007-03-15 100 100 100 10285 5
2791 2007-03-15 100 100 100 132 8
2761 2007-03-15 100 90 75 208 22
7445 2007-03-15 100 100 100 327 7
2448 2007-03-15 100 100 100 66760 1
2415 2007-03-15 100 100 100 20779 6
8303 2007-03-15 100 97 93 11 9
1868 2007-03-15 99 98 96 45 24
5342 2007-03-15 99 99 99 3 5
6291 2007-03-15 99 95 85 91 12
3762 2007-03-15 97 96 95 5500 5
6816 2007-03-15 96 94 92 44 16
2731 2007-03-15 95 95 95 -5642 4
6932 2007-03-15 93 92 90 47 9
8306 2007-03-15 93 93 93 54071 13
2330 2007-03-15 92 91 89 3242 1
code 1766 4506 6796 3399 2791 2761 7445 2448 2415 8303 1868 5342 6291 3762 6816 2731 6932 8306 2330
YahooFinance

SELL(URI) Signal —————>

YahooFinance

Todays Signal(Test)07-03-14

本日のシグナルです。
この投稿は自動投稿ですので、カテゴリーの設定をする夜まで
不正確な場合がありますので、ご理解ください。
また、この情報を基に取引をされる場合は、
ご自身の責任でお願いいたします。
BUY(KAI) Signal —————>

code date point_max point_avg point_min rieki kikan
9766 2007-03-14 100 96 95 99 9
8303 2007-03-14 100 97 93 11 9
7445 2007-03-14 100 100 100 327 7
4506 2007-03-14 100 100 100 64 12
3399 2007-03-14 100 100 100 10285 5
2802 2007-03-14 100 100 100 28 40
2415 2007-03-14 100 100 100 20779 6
2448 2007-03-14 100 90 84 66760 1
5342 2007-03-14 99 99 99 3 5
1766 2007-03-14 98 93 87 255 11
5204 2007-03-14 98 96 92 8 9
2791 2007-03-14 97 96 96 132 8
6869 2007-03-14 96 93 83 180 9
3865 2007-03-14 95 87 68 28 26
6291 2007-03-14 93 82 70 91 12
3762 2007-03-14 92 89 87 5500 5
7476 2007-03-14 91 91 91 3 14
code 9766 8303 7445 4506 3399 2802 2415 2448 5342 1766 5204 2791 6869 3865 6291 3762 7476
YahooFinance

SELL(URI) Signal —————>

code date point_max point_avg point_min rieki kikan
5905 2007-03-14 -100 -100 -100 4 5
code 5905
YahooFinance

Todays Signal(Test)07-03-13

本日のシグナルです。
この投稿は自動投稿ですので、カテゴリーの設定をする夜まで
不正確な場合がありますので、ご理解ください。
また、この情報を基に取引をされる場合は、
ご自身の責任でお願いいたします。
BUY(KAI) Signal —————>

code date point_max point_avg point_min rieki kikan
2415 2007-03-13 100 100 100 20779 6
5342 2007-03-13 100 100 100 3 5
9975 2007-03-13 100 100 100 8 16
3399 2007-03-13 100 100 100 10285 5
2802 2007-03-13 100 100 100 28 40
2791 2007-03-13 100 100 100 132 8
2731 2007-03-13 100 100 100 -5642 4
3762 2007-03-13 97 96 95 5500 5
3865 2007-03-13 95 92 87 28 26
4506 2007-03-13 93 92 90 64 12
6291 2007-03-13 93 82 70 91 12
6932 2007-03-13 93 92 90 47 9
2448 2007-03-13 91 84 79 66760 1
code 2415 5342 9975 3399 2802 2791 2731 3762 3865 4506 6291 6932 2448
YahooFinance

SELL(URI) Signal —————>

code date point_max point_avg point_min rieki kikan
5964 2007-03-13 -100 -100 -100 8 6
8141 2007-03-13 -100 -100 -100 75 14
9678 2007-03-13 -96 -97 -97 37 24
code 5964 8141 9678
YahooFinance

Todays Signal(Test)07-03-12

本日のシグナルです。
この投稿は自動投稿ですので、カテゴリーの設定をする夜まで
不正確な場合がありますので、ご理解ください。
また、この情報を基に取引をされる場合は、
ご自身の責任でお願いいたします。
BUY(KAI) Signal —————>

code date point_max point_avg point_min rieki kikan
2731 2007-03-12 100 100 100 -5642 4
2791 2007-03-12 100 100 100 132 8
3399 2007-03-12 100 100 100 10285 5
3865 2007-03-12 100 100 100 28 26
4656 2007-03-12 100 100 100 116 14
9975 2007-03-12 100 100 100 8 16
5342 2007-03-12 99 99 99 3 5
4506 2007-03-12 93 92 90 64 12
6932 2007-03-12 91 89 87 47 9
code 2731 2791 3399 3865 4656 9975 5342 4506 6932
YahooFinance

SELL(URI) Signal —————>

code date point_max point_avg point_min rieki kikan
8141 2007-03-12 -100 -100 -100 75 14
8933 2007-03-12 -100 -100 -100 56250 13
9324 2007-03-12 -100 -100 -100 16 16
9006 2007-03-12 -96 -97 -98 75 70
code 8141 8933 9324 9006
YahooFinance