開発方針変更(cocoa 2 unix)

ここ数日、HPをみたり、自分で考えをまとめてみる。
結果、
「 MacはMacでもUNIXよりのシステムを構築する。」
と、いうことに落ち着いた。
(cocoaなシステムのみでの構築は時間がかかりすぎて飽きそうが本音(^^;)
大まかなシステムは、
1 ユーザインターフェイス(Cocoa or Java)
2 情報の取得(Perl)
3 情報の保管、管理(MySQL)
4 注文処理(Perl)
を、分離してそれぞれを独立したシステムとして運用することにする。
母国語(?)である、CやC++でコーディングしたいのは、やまやまなんですが、
Macな場合、Cで組んでしまうと、他のプラットフォームに移植するのが、
結構、大変そうな感じがするので、どこにでもある言語を使うことにする。

webkitでのやり方不明

いろいろと調べるけど、Macのcocoaなプログラムで、webへsubmitする方法が、
わからないです。
どう考えても、できないはずはないんですが、2日探して、見つからないので、
このまま、時間が過ぎていくのはもったいないので、別の方法を考えないといけないのか・・・
Automatorや、AppleScriptなんかを、使えば、
自動運転ができることは、間違いないんですけど、
これをつかってしまうと、他の環境への移行がめんどそうですからね。
もうすこし、UNIXよりにしようか・・・。

自動運転にはsubmit

日足データの取得ができれば、
その応用で、銘柄の個別情報、会社名、上場市場、売買単位、純資産、配当なんかの情報を
取得することは、難しくない見込み。
見栄えの問題や、チャートの表示(ローソク足、出来高、移動平均線とか)も、力業と微調整で
時間さえかければ、なんとかなる。
あと、買いタイミングや売りタイミングで、注文を発注するシステムで必要な、submitを考える。
証券会社のHPにアクセス、IDとパスワードを入力し、submit(ボタンを押す)。
注文条件などを設定して、submitする。
よく考えると、webkitって、表示関係や解析関係は充実しているけど、
プログラムからのアクションってできるんだろうか・・・。
サーーーーー(血の気が引く)

漢字コード問題解決!

先日から悩んでいる、漢字コード問題。
HPを見ていると、Xcodeでソースの中に漢字を直書きするのは、御法度だとか・・・
妙に動いたりするので、お気軽に書いてたけど、やっぱりだめだったんですね。
Windowsな環境やUNIXな環境でコーディングするときは、ちゃんと外部定義するんですけどね。
ついつい、Xcodeに甘えてしまいました。
いろいろと試行錯誤した結果、
Localizable.strings
というテキストファイルをプロジェクトに追加して、
そのファイルには、
“tyouseigo” = “調整後終値*”;
みたいに、ソース内で使う内容を定義していきます。
あとは、普通にif文などで、
if( [[aValue objectAtIndex:iCnt] isEqualToString:NSLocalizedString(@”tyouseigo”,@””)] )
みたいに判定すれば、無事判定してくれます。
ほんとに、これにははまったなぁ・・・(–;
そんでもって、実行・・・
Xcodeok
うっし、無事取得できたぞ。(ほんとはこんなに簡単には取得できてなくて試行錯誤してます(^^;)
これで、なんとか日足は取得できるぞ。

webkitなんとなくわかってきた

引き続きwebkitの使い方を研究。
流れとしては、ボタンを押した時のイベントを取得。
– (IBAction)syutoku:(id)sender
と、いう名前にしとく、その中で、
NSMutableStringで宣言したString型の変数に、URLを生成、
ここは、ヤフーファイナンスから、過去の日足データを取得できるURLがあるので、
そこから取得することにする。
WebFrame* frame = [vWebview mainFrame];
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:str]];
[frame loadRequest:request];
みたいな感じで、webviewにとりあえず取得したページを表示させてみる。
表示(ページの取得)が完了したら、
– (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
に通知があるので、
DOMNode
を、使ってhtmlをDOMで、解析する。
必要な項目、日付、始値、高値、安値、終値、出来高を、取得する。
次のページがあれば、リクエストしなおし・・
と、こんな感じでいけそう。
Photo
では、実行・・・・
うごかん・・・。
なんでか、DOMでうまく拾えないみたい。
漢字コードはUnicodeで統一されているはずだし・・・。
文字によってはうまくひっかかるようだけど、肝心の「調整後終値*」などのキーワードははじかれる。
これはもしかしてはまってしまったか・・・。(–;
HPをさがしてもうまくみつからない、前に買った本にヒントは書かれているけど、
なかなかうまくはまらない。
まーー時間が解決してくれるでしょう。(^^;

webkitを使ってみる

webkitを使ってみる。
webkitは、Mac OS Xの標準ブラウザのSafariのレンダリングエンジンで、
これを、自分のプログラムで使うと、Safariでみれるページは、基本的にはそのまま取り込むことができます。
めんどくさがり屋の私はこれをつかうことにします。
これも高機能すぎて、使う機能を絞るのが大変です。
とりあえず、やりたいことは、
・ URLを生成する。
・ URLをリクエストする。
・ 取得したhtmlを解析する。
・ 必要な情報を配列に取り込む。
・ 数ページに情報がわたるときは、URL生成から繰り返す。
  (ページ内に、次のページへのリンクがあればそのリンクを使う)
・ 銘柄数だけ繰り返す。
基本は、こんな流れですね。
webkitには、この辺の作業に便利な関数が用意されれいるので、
比較的、スムーズに開発できそう。

Xcodeを使ってみる

先日、Interface Builderで、テスト用の画面を作りました。
そこで、いろんなイベント関係の設定をすると、Xcodeにひな形を作ってくれます。
そこに、適切なコードを書いていけばいいんですけど・・・
Objective-C が、わかりにくい(–;
いや、きっとわかりやすいはずだけど、今までPureC(要は普通のC)しか使ってこなかった私には難解すぎる・・。
抽象的すぎて、なんとも・・・。
Appleのデベロッパーページで、サンプルソースがあるので、
手当たり次第にダウンロードして、ソースに慣れる。
とりあえず、webkitの用法を調べよう・・・

まずは、Interface Builderでデザイン

まずは、株価情報をHP上から取得するのが先決。
取得にはいろいろと方法があるようですが、たいそうなシステムを作るつもりもないので、
とりあえず、日足データを、「ヤフーファイナンス」から、
取得することにする。
今日のところは、とりあえず、これを表示する部分を、Interface Builderで作ることにする。
Ib1_1
こんな、感じでいいかな。
疲れたので、続きはまた・・・

Xcodeにしとこ

いろいろとHPを調べてみる。
AppleのHPとか、みてみると、
「Xcode」ってのが、かっちょいい開発環境のようだ。
早速、Amazonでこの本をGetしてみる。
結構、わかりやすく説明されている。
昔、System7の頃にプログラムをしていたけど、だいぶ違いますな・・・。
Apple純正の開発ツールだけど、非常に良くできているよう。
こんな開発環境を無償で提供してくれるAppleってば、ほんとに太っ腹です。
Interface Builder で、ボタンなどの配置をして、
Xcode でコーディング、デバッグまでできる。
これで、しばらく開発していこうかな。

どうやって、開発しようか・・

Macで株取引ツールを作りにしても、どうやって作ろうか・・。
ちなみに、私はごく普通のMac好きな事務系サラリーマン、開発時間も限られているし、
できることはしれてるので、スタンダードな方法で行きたいところです。
私のMac遍歴はおいおいふれるとして、現在の環境は、
Mac mini !!(PowerPC G4/1.25GHz/1GB/40GB)
そうです、普通のMacminiです。
メモリは増やしてますけど、256MBではすこし重いらしいので、
ここは贅沢しておきました。
ちょっと、HPで開発環境を勉強しよっと・・・