20091003

MySQLのバージョンアップ

本番機の64bit化を行った。大失敗の巻だった。[Snow Leopard の問題点]]で試したので大丈夫と思い粛々とコンパイル/インストールを行ったのだが、mysqlのgemがエラーで入らない。Google先生に聞くと[暴想の記事が見つかった。

Snow LeopardにしたらRailsが動かなくなった。

MySQLをインストールし直す必要があるようだ。 http://journal.mycom.co.jp/news/2009/09/01/033/index.html

によると Mac OS X 10.5 (x86_64)

と64ビット版のMySQLクライアントをインストールしないといけないらしい。

と、ここで慎重になれば良かったのだが、最新の5.1.39の64bit版をダウンロードしてインストールしてしまったのだ。データベースのバックアップを取る前に。。

さて、それからが大変。元のバージョンは5.0.45だったので、5.0系の最新版である5.0.86をダウンロードしてインストールしようとするのだが、インストールできません、というつれないお言葉。5.1.39のフォルダを消してみたりしたのだが、どこか他に情報が残っているらしくダメ。

しばらくGoogle先生と話を続けたのだが良い記事が見つからない。私のような間抜けは他に居ないようだ。しばらくあちこち見学。これまでのインストールはパッケージ形式のインストラーを使っていたのだが、ふと、tarもあることに気が付いた。tarファイルを展開し、元のフォルダにあるdataフォルダをコピーしmysqld_safeを起動すると何とか動いているようだ。後は普通にmysqldumpでダンプし、新しい方でデータベースを作成し、mysqlでインポート。

何とか復旧。一時はどうなるかとも思ったが、最悪はTime Machineから戻せば良いので気楽ではある。バックアップは大切だ。

@ upfile:1254560737-64bit.jpg|400|300

RubyによるMac OS Xデスクトップアプリケーション開発入門

書店で見かけて衝動買いしてしまった。職場への行き帰りでさらっと眺めただけだが、ちょっと失敗だったかも。

本書は、Rubyでのプログライング経験があり、これからMac OS Xのデスクトップアプリケーションの開発について学習するといった読者を想定しています。

とのことで、私はこの読者像から少し、ほんの少しだが外れていたのだ。本書にはRubyでのプログラミングの解説は無いので、Rubyの知識は必須だ。これは合っている。もう一方のMac OS Xでのデスクトップアプリケーションの学習の方が合ってなかった。決して経験豊富という訳ではないが、Interface Builderについて過去に学習したことがあったのだ。Java&Cocoaプログラミングバイブル(掌田 津耶乃)という、やはりMac OS X標準であるObjective-C以外の言語のCocoaのバインディングの本を買って読んだことがある。この本でInterface Builderの使い方を学んでいたので、第2部が少しくどかった。

一方、Interface Builderで使える各種コンポーネントの説明が足りない。電車の中では出来ない実際に試しながらあれこれいじることを試したみたのだが、PopUpButtonのアイテムの増やし方が分からない。仕方が無いのでJava&Cocoaプログラミングバイブルを参照した。こっちはJavaの説明が少ないんじゃないかと思えるほどコンポーネントの解説が充実している。RubyCocoaの勉強をするのにCocoa-Javaの本を買ってもしようがない。なんでもいいので、Cocoaの解説が充実している本を買うと良いだろう。Objective-Cの本になってしまうかもしれないが。

あと、Snow Leopardに付属のXcodeにはCocoa-Rubyのテンプレートがインストールされていない。書籍サポートページを参考に、自分でインストールする必要がある。

とまあ、いろいろ苦言を呈したが、この本によりMac OS Xのデスクトップアプリケーションの数が増えると嬉しい。そのためには自分で作るのが一番良いのだが、かなり面倒くさい。本書を買った元々の目的はAmazon Product Advertising APIを使ってBlog用のリンクを作成することだ。不十分とは云え目的を達成できてしまっているのが意欲を減退させる大きな要因だ。これを使い易くしたいという欲求と、作るのが面倒くさいという怠惰と、どちらが優勢かというと今は怠惰が優勢。

あと心配がひとつ。本書では、私が試したRubyCocoaと、もうひとつMacRubyについて紹介している。Ruby CocoaはRubyとCocoaの橋渡しをするものなのでMRIから使える。一方、MacRubyはというと、新しいRubyの実装だ。MRIとは相容れない。MacRubyの方が便利なのかも知れないが、Cocoaに密着しすぎという気がする。RubyCocoaのような微妙な距離感が私は好きだ。あくまでもRubyが主役。MacRubyに負けずに開発を続けて欲しい。

RubyによるMac OS Xデスクトップアプリケーション開発入門 ~Ruby×RubyCocoa/MacRuby×HotCocoa~(高尾 宏治)