ringtaleの日記(仮) このページをアンテナに追加 RSSフィード

2008-02-04 21時間も連続睡眠してしまった・・・これ病気?

WTLでデスクトップアプリケーションを作ろう

・・・なんだか急にテキストエディタなぞを作りたくなりまして。今まで、いわゆるデスクトップアプリケーションなるものを作った経験がないので、道のりは長そうですが・・・地道にやっていこうかと思います。

さて、デスクトップアプリといえば、GUIです。このGUIが相当厄介で、(JavaのSwingのように)GUIが簡潔に書けるライブラリ、または(NetBeansにあるような)GUIエディタを使わなくては、それを開発するのには大変な労力を必要とします。しかし今回は、パフォーマンス等を重視すべく、あえてそれらを使わずにWindows標準のAPIであるWin32APIを利用します。

(リッチなGUIライブラリは、概して分厚い抽象化層(←ぐぐったらヒットした!)を持っているので、処理のオーバーヘッドが大きそうだし・・・)

とはいえ、C++でWin32APIを直接、、、ってのは、ちょっと・・・。ということで、色々探してみたら、Win32APIの薄いラッパであるWTL(Windows Template Library)という興味深いライブラリに行き着きました。

早速、WTLがどんなもんか見てみることに。本体はここからダウンロード出来ます。どういう違いがあるのかは良く分かりませんが、自分はWTL8.0を使うことにしました。ちなみにATLが必要です。Visual Studio 2008 Expressには含まれないようなので、注意してください。

サンプルも同梱されているので、動かしながら、その動作とコードを見比べていけば大体の概要は掴めるかと思われます。ただし入門用には少し複雑なので、最も基本的といえるサンプル、WikipediaのWTLの項にあるものから見ていくことをオススメします。

うーん、なんかマクロを多用してる部分がちょっと気持ち悪いですが、変なswitch文とcaseの羅列よりは幾分かマシでしょうか。

とりあえずWikipediaにあるサンプルを改変してちょっと作ってみました。三角形がうにょうにょ動きます。気持ち悪い。

f:id:ringtale:20080204132137p:image

疲れた。つづく。

2008-01-31 (祝)電気代とガス代が1万円を突破しました

Ruby認定試験に受かってました

受かるのは分かってたけど(←)どれ位正解が取れていたのか気になるところです。それにしても認定証届くの遅かったなぁ。楽しみにしていたせいで、そう感じたのかもですが。

2007-10-26 (-_-)

明日はRuby認定試験

申し込んでたの忘れてた。東京から松江まで6時間もかかるんですが・・・これは・・・。

駅検索:http://www8.ekitan.com/norikae/Norikae4Servlet?SF=2590-%93%8C%8B%9E&ST=6913-%8F%BC%8D%5D&SV1=&CV=0&MONTH=200710&DAY1=0&DAY2=1&HOUR=0&MIN1=0&MIN2=0&SR=0&RP=0&EP=0&AIR=0&TP=0&PN=5&JF=1&AN=0&x=80&y=54

飛行機は使えないし・・・。軽い気持ちで申し込むんじゃなかったorz

気を取り直して、こんなものを発見したので、早速やってみた。

Ruby認定試験対策模試http://projects.netlab.jp/ruby-test/

結果・・・。ひどすぎるww 14問も間違えてました。

致命的な間違い一覧:

2.3.変数/定数とスコープ - 2問目

ifとかcaseだとスコープは作られない。これを知らないで、よく今までRubyを普通に使えてたな。というか気付けよ俺。

2.9.ブロック - 1問目

ブロック内のスコープの変数は、Procオブジェクトと共に生き続けるとな。マジですかコレ。。

3.2.組み込みクラス - 4問目

if内の 式..式 の挙動。あぁ、ありましたね・・・こんなの。使ったことないから忘れてた・・・。今後、いざ使える場面に直面しても、絶対覚えていない自信がありますね!

4.2.継承 - 2問目

superの挙動(引用面倒くさい)。引数が足りないならともかく、多いときくらい見逃してくれー!



さて、合格する希望も潰えたところで明日に備えて眠るとしますか。

2007-10-21 生活のサイクルが狂った・・・。

始動!

ringtaleの日記(仮)、はじまるよ!

俺、楽天市場の落とし穴にハマる

今回のお話はオンラインショップ(特に楽天市場)を利用したことのない人には分かりづらいかもしれません。

机・・・。机が欲しい。机だ・・・。だっ、誰か、机をくれ!


そう。今、自分は机に飢えているのです。現在はお膳?みたいなショボい座卓しかなく、その上にノートPCのっけて長時間作業しているのですが、これが疲れる・・・。正座すると痺れるし、胡坐(あぐら)をかくのは苦手だし、座布団無しでフローリングだから足痛いし。そこで、新しい机とイスを買い揃えようと楽天市場アクセスしたわけです。

さぁて、「机」で検索すると沢山の机が出てきたぞ。ここで質問(何様だ(俺様だ))。オンラインショップで商品を選ぶとき、何を参考にしますか?今回は机の話から来てるので、家具を前提とします。

費用から商品の価格帯を絞って検索→写真を見て、外観が良さそうだったら取り合えず候補に入れる→他の商品にもそれを繰り返す→そして最終的に選んだものの中から最終候補を絞り出す・・・。という流れが自分の中では普通なのですが、誰でもこんなもんかと思います。で、最終候補を絞り出す必要があるわけですが、これが問題なわけです。

外観をさらに厳しくチェックしたり、細かい仕様やメーカー等にも目がいくと思います。しかし忘れてはいけないのが、購入者のレビュー。恐らく殆どのオンラインショップには備わっているであろうこの機能(機能と言ってよいものか?)は、商品の決定には欠かせない情報となっている筈です。今回、自分が机(とイス)を選ぶにあたっても、機能などよりもまずレビューを参考にしました。軽くスクロールすれば、内容など読まずとも評価点となる☆の数で良いか・悪いかの判断はつきます。それとレビュー数が多く付いていればそれだけ購入者が多いということですから、安心して買うことが出来るわけです。

しかし、ここに大きな(栗の)落とし穴があったのです。

早速自分は、レビュー数が多くて全体的に☆の数が多い商品を買い物かごに入れ、購入確定のボタンを連打したわけです。クレカはショッピング枠が小さすぎて使い物にならないので銀行振替を選択して、ウザいメールマガジンのチェックを外して、注文したわけです。そして数分後、ショップからメールが届きました。その内容は・・・。

レビューしてくれたら値引きます!(的なこと云々。)

(゜Д゜)ハァ?まだ商品も届いてないのにレビューだ?バーロー。値引きを餌にこの俺様を釣ろうってのかい。そのキレイな顔をフッ飛ばしてやる!・・・まぁ、要はそういうことです。ここで一つ重要なことを言い忘れていましたが、楽天ではデフォルトでレビュー数で商品がソートされています。どんなに残念な商品でも、レビュー数さえ多ければ、もっとも人目につく所に君臨することが出来るわけです。よくよく考えたらレビューなんて面倒くさいこと、相当時間を持て余してないとでもない限り、付けようとも思わない気が(俺だけか)。まぁ、少なくともレビューを書くことによる特典でもない限り、家具ごときに何百件ものレビューがつくわけもなく・・・。騙された・・・(泣)。つーかよくみたら異常にレビューついてんのこの販売元だけだし、レビューの内容も「到着が楽しみだよ、テヘ!」とかさ・・・え?それって「レビュー」になるの?少なくとも何の参考にもならないよ!オーマイガッ!

少し取り乱してしまいましたが・・・。安易なレビューの過信は、(何処とは言いませんが)このような悪徳業者の罠にハマる可能性があるということをよく覚えておけ!ということですな・・・。母さん、オレ、また一つ賢くなったよ。

ここでもう一歩深読みですが、楽天レビューのシステムには怪しい点がもう一つ(一つ目はデフォレビュー数によるソート)あり、それが「不適切なレビューを報告する」機能です。深くは調べていないので分かりませんが、さしずめ、コレをクリックすると、DB上の不適切レビュー報告テーブルみたいなものにレコードが追加され、バイト君がそれを一つ一つ対応していく形になるのでしょう・・・。当然、バイト君に厳密な不適切さの判断など出来るわけもなく、会社が設けた基準に沿って適当に消していく・・・そんなところでしょう。その基準と言えば、「行き過ぎた批判」や「罵声」「関係のない話」等がそれにあたるものと思われますが・・・、今回の自分のように、本当に残念な状況に恵まれたクレーマーさんは、多少頭に血が上って行き過ぎたことを書いてしまいがちなのではないでしょうか。というか自分はそうでした。レビューにやたらご関心の高い販売元さん(笑)はそんなレビューの存在を許すわけも無く、不適切なレビューを報告するを押さずにはいられない・・・。ええ、ええ。あくまで想像ですよ。

というわけで、今回の自分のような過ちを犯さぬよう、皆さんも十分に気をつけてください(笑)。あと関係ないですが、楽天の研究所にはRubyまつもとゆきひろさんがらっしゃるとか。ってことで、次はRubyの話でも書こうかな・・・。