WMPが見られる日も近いか?

2006年4月25日火曜日 0 コメント
Macworld UK - NAB 2006: Windows Media goes native on Intel Macs

次期四半期にUniversal Binary版Flip4Macが出るってことらしいです。秋のGIまでにはJRAのVideo InteractiveもMacで見られるようになるかなー(今いちいちWindowsマシン立ち上げてるし・・・)


Thunderbird 1.5.0.2

2006年4月22日土曜日 0 コメント
Thunderbird - 迷惑メールにお別れを

Thunderbirdがアップデートしてたので、ダウンロードしたのですが、あれ、これってUniversalじゃないかも・・・?私がダウンロードしたところが間違ってる?Firefoxと同じかと思って、ソフトウェアアップデートではなく、ホームページから本体ダウンロードしたのですが・・・。

最初の頃使えなかった(すぐ落ちた)Apple Mailが、ソフトウェアアップデートのおかげか問題なく使えるようになったので、最近はそっちを使ってます。いまのところ問題起きてないし、迷惑メールもほぼ判定してくれてるし、何より動きが速いので、Thunderbirdには戻らないかもなぁ・・・



delegateとNSTabView

2006年4月20日木曜日 0 コメント
どーしても理解できないので避けて通っていたdelegate。しかしTabViewを使うにはそのdelegateとやらを使わなくてはならないようで、がっくり。Tabが変更されたことを通知するには、TabViewからコントローラーへoutletのdelegateと接続し(なんか日本語になってない)ておいて、コントローラー(rb)ファイルに、tabView_didSelectTabViewItemというメソッドを作る模様。すると、TabViewが変更されたときにそのメソッドが起動されるらしいです。

def tabView_didSelectTabViewItem(tabView, tabViewItem)
ここに変わったときに行われる内容を書けばいい。
end

TableViewのときはdataSourceにリンクしましたし、PopUpButtonの場合はActionにリンクすればOKでした。。。うーん、分からないなりに分かったような、いや分かってないような。。手探りで進行中。

ポップアップボタンで選択を変更すると、テーブルの表示も変わる

2006年4月17日月曜日 0 コメント
CocoaDev: HowCanITellIfNSPopupButtonHasChanged

昨日ひっかかってたのが、NSPopUpButtonで選択をAからBへ変更すると、それに合わせてテーブルに表示されている内容も変更されるにはどうしたらいいかということ。NSPopUpButtonが変わったら起動してくれるアクションがあれば良いんだろうけど・・・。いよいよbindingとか、真剣に解読しなければならないのか、と思ってたところで見つけたのが上の書き込み。

すごく簡単でした。質問者のお礼回答に親近感を抱いてしまいました。IB側だけでほぼ実装できました。Contorollerにpopup_changedとか適当な名前でactionを付け足して、それとPopUpButtonをconnectすればいいだけ。それでそのactionの定義をすればOK・・・

次行ってみよう・・・


Amazonを検索して、ファイルを作る

0 コメント
amazon_new.png

「椰子の実通信」のページでトップの新刊情報だったところがちょっと変わったのですが、少しづつ作っていたソフトウェアができたからなのです。今までISBNのリストを作っておいて、それをターミナル上からrubyでAmazon検索してファイルを作成し、最後はFTPソフトでアップロードして作っていた新刊情報とトップの新刊案内ですが、それにインターフェースを付けてみました。画面に情報が出る分、もう少しいろいろできたので、自分で選んだ数件をトップのファイルにし、FTPするところまでソフトウェアでやってもらうことに。ファイル作成ボタンにFTP機能まで付けるか迷ったのですが、のちのちアップロード先(サーバー)を選べる機能とか付けてみたかったので、とりあえず別のボタンに。いかにも素人臭くて、あかぬけないインターフェースなのですが、とりあえずできたからよし。FTP機能が思ったより簡単についたのが驚き。これならFTPクライアントも簡単にできそう?

次はキーチェーン対応かな。。。

Firefox Universalキター

2006年4月15日土曜日 0 コメント
Firefox - Web の再発見

昨日GoogleカレンダーがSafariで使えない、FirefoxならOKだから、早くUniversal化しないか、なんて表ページに書いていたら、今日さっそくUniversal版が出ましたよ。

なんでもFirefoxの自動ソフトウェアアップデートを使うとPPC版になっちゃうみたいなので、今本体ごとダウンロード中。さすがみんながダウンロードしてるのか、ちょっと重い・・・。

ダウンロード完了。さっそく入れてみます。

うぉーやっぱり起動速い〜。やっぱりUBは良いなあ。実際のところUnivesalじゃなくてIntel nativeでビルドしてくれたほうがファイルが小さくなって良いのですが。とにかくUniversal化してくれたことに感謝。

あとはIPAT使ってるときとかに思わぬ落とし穴がないと良いですね。Googleカレンダーは問題なさそうです。


各値がハッシュの配列をハッシュのある値でソート

2006年4月12日水曜日 2 コメント
TableViewに値を埋め込む場合、列名をキーにしたハッシュを配列にすると簡単にできるのでそうしているのですが、
ここで引っかかったのが、ある列の値でソートをすること。

@files = [{date => "2006/04/12", title => "A"}, {date => "2005/12/10", title => "B"}, {date => "2006/03/01" title => "C"}]

という配列があった場合、日付(date)でソートして、

[{date => "2005/12/10", title => "B"}, {date => "2006/03/01" title => "C"},{date => "2006/04/12" title => "A"}]

にするには?ということです。

結局解決方法は簡単でした。

@files.sort{|a, b|
 a['date'] <=> b['date']
}

昇順の場合。降順は、b['date'] <=> a['date']

a, b に配列のインデックスが入るのかと勘違いしていろいろ試した私は、最終的にむりやりaの値をprintさせてみたら、「なんだ、配列の値(ハッシュそのもの)が入ってるじゃん」(よく考えたら当たり前)と、なんか頭に電灯が点った気分。検索してもPerlのやり方(しかも結構複雑だったり)しか出てこないし、案外質問してる人もいるので、メモとして書いておきます。



ATOK for Mac Universalベータテスト

0 コメント
次期ATOK for Mac OS X 試用ベータ版テスト/ベータ版テストにご協力ください

やっぱりことえりちゃんはあまり頭が良くないというか、たまーに「えーこれが変換できない?」と思うときがあるので、今はegbridge Universalを試用してみてます。でもやっぱりWindowsのときに使っていたATOKも使ってみたいんですよね。早くできないかなー。

文字コードはここでも問題に

2006年4月10日月曜日 0 コメント
「椰子の実通信」のトップと新刊情報で使っているHTML(トップの表示にはPHPを使用)は、予め新刊情報などから得たISBNをリスト化しておき、rubyを使ってAmazonに検索に行かせ、24時間以内になった時点で既刊、それまでのは予約として整形する方法で生成しています。Mac OS Xには最初からrubyがついてて、しかもnet/httpもOKなヴァージョンだったので、Windowsで使っていたrubyファイルをそのままMacに移植。フォルダ名だけいじってほぼいけるか、と思ったのですが、ひっかかったのが文字コード。というか、Uconv。

コンパイルできないんです。

ネットを検索してもよくわかんないし、しかもintelMacときたからさらに情報少ない。仕方なくrbuconvを持ってきて使うことにしました。

で、それにXcodeとRubyCocoaでインターフェースをつけようと、小遣い帳とは別に作っているのです。ruby自体にもftpがついているし、Xcodeからシェル?機能を使うこともできるらしいから、ワンクリックでFTPまでできるといいなーと思ってるのですが、またしても最初にひっかかるのが文字コード。コードはUnicodeで書いてるし、Macの入力コードもUnicode、XMLは基本的にUnicodeなはずなので、問題ないかと思いきや、何故か表示はUnicodeのままじゃ出来ず、rbuconvをrequireしてu8tosjisしたら表示できるのです(単純にrequireしたらuconv変換テーブルが相対パスでは通らず、rbuconvのソースをいじって、フルパス指定にしちゃいました。もう少しスマートに出来るようにちょっと考えよう・・・)。どうしてなんだろう。

うーん、日本語って難しい。。。見た目が違うわけじゃないから余計に。

NSDatePickerでつまづく

2006年4月8日土曜日 0 コメント
nyuryoku.png

この解説のおかげで、Tableへの表示方法とか、更新方法とかわかったので、そこまでは良いとして、とりあえず上のような入力画面を作ってみました(ここまではドラッグアンドドロップだけで作れる。すごい)。ここではまったのが、NSDatePicker。比較的新しい機能らしく、カレンダーとか簡単に表示できるのですが、ここにディフォルトで今日の日付を表示させる、ところでつまづいたのです。

NSDatePickerには、setDateValueというメソッド?があるようで、これでいけるかと思って、

date = Time.now
@date.setDateValue(date)

としても何も入れてくれない。dateの部分に"2006-04-01 00:00:00 +0900"とかしてもダメ。NSDatePickerのドキュメントを見ると、NSDateオブジェクトを入れろ、とあるので、Time.now使ってるじゃん、とかやつあたり。

今度はRubyCocoaのドキュメントを見ると・・・


Cocoa派生クラスのインスタンスをRubyスクリプト中で生成する必要がある場 合には、既存のCocoaクラスの場合と同様に

AppController.alloc.init # use this

のように書きます。


と書いてあって、あーこれかーと思いました。そうだよ、NSDateオブジェクトとrubyのTimeオブジェクトは全く別物なんだよキミ。NSDateオブジェクトを生成するには、NSDate.initを使う必要があったのでした。

というわけで、awakeFromNibのところに

date = NSDate.init.date
@Date.setDateValue(date)

としたら、ばっちり。バンザーイ。dateじゃなくてdateWithStringとかも使えるので、思った日付を表示できそうです。

XcodeとrubyCocoa

3 コメント
何がきっかけだったか、MacにはCocoaという開発環境?みたいなものがあって、それを使えば簡単なソフトウェアなら自分で作れる、と知ったのです。さっそく検索してみて

Cocoaでいこう!Macらしく

というページを発見。WindowsでいうAccessの豪華版という感じで、確かに簡単にできそうな雰囲気。いろいろ検索した結果、私が使っているMac OSXにはXcode2.2という最新版の統合開発環境が入っていて(ディフォルトではインストールされないので、付属DVD-ROMから追加インストールする)、それを使えばいいということがわかりました。ただ、シェアの圧倒的に少ないMacのさらに開発環境ということで、日本語で解説しているページは少なく、そういう意味で学ぶのは壁が高そう。英語で解説書があるようですが、開発環境自体のアップデートに追いついていないようで、古いものが多いのです。そしてコードを書くための言語はObjective-C。何それ?C言語と違うの?と思ったのですが、Macで使われるC言語の変異版のようで、これまた解説書が少ない・・・。いくつか見てみましたが、C言語入門の入門くらいのレベル程度の知識しかない私としては、序文に「C言語の知識がある程度あることを前提として」と書かれた時点で門前払いです。

どうにかならないかといろいろ回っているとRubyCocoaというrubyでCocoaプログラミングができるようにしてくれているフレームワーク?を発見しました。ここでまたUBの壁があったりしたのですが、開発者(日本人!)の方が出しているベータ版のUB版を拾ってきてインストール(人柱だから)。そっちだとちゃんとExampleも動くし、いまのところ問題なさそう。そして

An Introduction to RubyCocoa, partI

というの見ながら、実際にどういう動きをするのかを確認。ちなみに上記記事は、最終的にはtarその他のアーカイバができ上がるようになってるので、とっても便利ですよ。ある程度知識のあるRubyで書かれていれば、Objective-Cの使われ方も分かってきて、おーなるほどーという面もいくつかあり。

とりあえずBindingとか、CoreDataは後回しにして、Rubyで書いたコードにインターフェースを付ける、というところまでガンバローと少しづついじっています。それに、いろいろ落としてきた家計簿の中で、「あなたの家計簿」だったか、データをテキストタブ区切りで持っているソフトがあったんですよね。この方式までなら私もどうにかなるか、と思って、ちまちま書いてます。実行してみて落ちては、エラーを読んでその部分を直す、という危険な?方法を使うので、いつかぶっ壊れるのではないかと不安はあるのですが(笑)。

このrubyCocoaカテゴリは、そんな私の奮闘メモです。。。Objective-Cという言葉自体を初めて聞いたレベルの初心者ですので、何か勘違いしてる点があったら、是非教えていただけるとありがたいのです。

参照:RubyCocoa

MacでWindows

2006年4月6日木曜日 0 コメント
アップル、「Boot Camp」を公開--Intel MacでWindows XPが利用可能に - CNET Japan

30周年を迎えたApple、ものすごいソフトウェアを出してきました。Intel CPUのMacに無理矢理ではなく、正式サポートとしてWindows OSを入れられるとか。パーテーションを区切らなくちゃいけないとかはありますが、Switchはしやすくなるのでは。

うーん、でも私WindowsのソフトウェアをMacの上で使いたいんですよね。特に家計簿。Windowsで使ってた頃の家計簿が使いやすくて、どうにかこの機能をMacのソフトウェアで実現できないか、今Xcodeと格闘中です(笑)

(4/6追記)

パソコン史に残る一大事件! MacでWindowsが“快適”に動く『Boot Camp』の秘密に迫る

うぉーFFBench Lowで6000って...。今隣にあるPentium 2.8GHzのWindowsPCだとLowで3500程度でした。単純に考えると倍くらい速いんだ。そりゃ快適に感じるわけだ。。。。

Mac OSX 10.4.6アップデート

2006年4月4日火曜日 0 コメント
MacNN | Apple releases Mac OS X 10.4.6

記事見てダウンロードしようと思ったら、途中で落ちちゃった。みんながアクセスしてるのかしら。また今度やってみよう。。。

思った以上に頻繁にアップデートされるんですね<Mac OS X。
Windowsの感覚だと、とりあえずセキュリティアップデートだけはしておけ、なんですが、Macもそうなんでしょうか。