2009/10/31

Snow Leopard Server搭載Mac mini (2)

 第一回目の投稿から10日、その間アップルストアのカートにはこれが入ったまま。そして、今朝、やはりと言うべきかついにと言うべきか、ポチッとしてしまいました。届いたら、セットアップがてらレポートをしようと思います。

 でも、最終的にはSnow Leopard Server上で、VMware Fusionを使う事になりそうな気がします(--;。



2009/10/29

iPhoneアプリをリリース (3)


 2ヶ月前にリリースした、PuchiPuchiですが趣向を凝らして有料版を作成中です。画像ではなく描画に変更しようかとも考えたのですが、他の同様のアプリを見ても描画したものはリアリティーにかけるような気がします。と言う訳で画像はそのままで、色を増やしたり、シェイク・スワイプジェスチャーを使える様にしようと考えています。

 この写真とるの実は大変なんですよ。色を変えて撮影するのですが、距離を少しでもずらすと(各色の)画像間の気泡のサイズが変わってしまい不自然になります。プログラム書くより、この方が時間がかかるのではないかと思う事もしばしば。今月中にAppStoreにリリース依頼をする予定です。



2009/10/27

OS X Server on VMware Fusion (5)


 もう購入出来る様になっているのでダウンロード中ですが、Snow Leopard対応のVMware Fusion 3が 2009/10/27 から販売されます。また、先週案内した技術情報の移行も兼ねて、OS X Serverの各機能についてを投稿します。(Version 3の使用感ついては、次回投稿します。)

ここから移行技術情報です。一部の内容は最新版に変更しています。

 スケジュール管理、運用状況の報告、ソースコードのメンテナンス等、プロジェクトを立ち上げるにあたって、どうしてもサーバーは必要ですよね。OS X Serverを導入する前に、半年ほどAmazon EC2+CentOSベースで仮運用をしてみましたが、まったくもって問題はありませんでした(--;。
じゃあ、そのままで良いではないかと思うのは当然ですが、以下の理由により自前でサーバーを持つ事にしました。
  1. 1ヶ月運用した時にかかる費用(EC2+S3)と、自前で持った時の費用がそれほど変わらない。
  2. サーバーへのソースコードコミットが地理的条件により遅い。
  3. 支払い方法がクレジットカードのみ。

 1.については、毎日1回S3側にバックアップをとりながら、redmine+Subversionの運用で$74.61。2009-10-27の為替で計算すると、74.61*92.02=¥7,031ってところでしょうか。年間だと¥84,374になるので、Power Mac G5 1台分位の値段になります。勿論、データの容量(転送含む)が大きくなるにつれて更に費用はかかりますね。中古のPower Mac G5がどれだけの確率でご臨終するかは分かりませんが、¥80,000払っても今ならおつりが十分戻ってきます。2.については、そんなに気にならないものの、Subversion以外の利用も考えると速い方が快適です。以下はpingの結果です、200msecって以外と効きます。
Amazon EC2
64 bytes from gunjou.net: icmp_seq=0 ttl=47 time=193.230 ms
64 bytes from gunjou.net: icmp_seq=1 ttl=47 time=193.401 ms
64 bytes from gunjou.net: icmp_seq=2 ttl=47 time=191.902 ms
64 bytes from gunjou.net: icmp_seq=3 ttl=47 time=210.782 ms
64 bytes from gunjou.net: icmp_seq=4 ttl=47 time=196.436 ms
ローカルサーバー
64 bytes from gunjou.net: icmp_seq=0 ttl=64 time=0.575 ms
64 bytes from gunjou.net: icmp_seq=1 ttl=64 time=0.328 ms
64 bytes from gunjou.net: icmp_seq=2 ttl=64 time=0.381 ms
64 bytes from gunjou.net: icmp_seq=3 ttl=64 time=0.340 ms
64 bytes from gunjou.net: icmp_seq=4 ttl=64 time=0.313 ms
 3については、クレジットカードが使えなくなった場合の事と考慮した為です。でも、クレジットカードが無いと、シェアウエアが買えなくってとても困るんですけど。

 とココまで書きましたが、Amazon EC2自体はとっても良かったです。自宅にうるさいサーバーをおく必要も無いし、グローバルIPもすぐに取れるし、使った分だけ払えば良いし。他のサイトを運用する機会があれば、確実にこちらを選択しますね。

アップル - Mac OS X Server

が1番分かりやすいのですが、まぁ書かれている通りでした。CentOSを使うという選択肢も考えましたが、リモートでサーバー設定が出来るGUIがついていて非常に重宝します。詳細設定でインストールし、apacheの1部設定を除いてはそれで済みます。無制限クライアント版で¥114,800(Snow Leopard Serverは\53,800ですが、Intel Mac専用)なので、あーでもないこーでもないと言いながら設定に時間をかけるよりは安上がりな様に感じます。ただし、web上で設定例があまり見かけないのでハマると大変です。

 インストールはDVDでもネットワーク越しでも可能です。NIC等を後付けする際にも、起動時に自動的に認識してくれるので安心です。ただし、Apple純正のもの以外はある程度の覚悟をして使う必要がありそうです。

…やっと本題ですね。以下からは各サービスの設定に関しての設定例を記載します。

AFP (Apple Filing Protocol)
 Finderの共有からサーバーを参照しファイルのやり取りをする為には、このサービスを有効にします。サーバー管理 => AFP => AFPを開始 で起動します。私はゲストアクセスを無効にしました。

DHCP
 ネットワーク上の各クライアントにプライベートIPアドレスを割り当てる為には、このサービスを有効にします。サーバー管理 => DHCP => DHCPを開始 で起動します。サブネットの設定が出来ればすぐに済みます。NATとDNSの設定については、後の項目を参照してください。

DNS (Domain Name System)
 ネットワーク上の各コンピュータに対して、IPアドレスではなく固有の名前にてアクセス出来る様にする為には、このサービスを有効にします。通常はローカルネットワーク上での運用が主かと思われますが、インターネット側からサーバーを名前で参照する際にも使用されます(web閲覧やmail配信時)。サーバー管理 => DNS => DNSを開始 で起動します。

  NS,MX等の資源レコードにはCNAMEではなくAレコードを記述する。

がポイントです、www等はCNAMEで構いません。他のサービスもここで設定されたホスト名を参照する筈なので、設定を間違えると後で大変です。

iCal (CalDAVサービス)
 OS X 用のiCalやFirefox(Mozilla)等でカレンダーを共有する為には、このサービスを有効にします。設定項目はホスト名くらいですね。サーバー管理 => iCal => iCalを開始 で起動します。

iChat (Jabberサービス)
 iChat,Google等のXMPP準拠システムと連係する、インスタントメッセージサービスです。設定項目はホストドメイン名くらいですね。サーバー管理 => iChat => iChatを開始 で起動します。Skype派なのですが、もう全部まとめて欲しいような気がします。

MySQL
 解説するまでもないDBサービスです。サーバー管理 => MySQL => MySQLを開始 で起動します。5からはトランザクション処理に対応したので、ある程度の商用ベースでも遜色無く使えます。Railsを使う際にも必要ですので、ほぼ必須です。ルートパスワードは忘れずに設定しておきましょう。標準でインストールされているものには、ライブラリとヘッダが1部同梱されていません、開発用にビルドをする際には追加のインストール作業が必要になります。

NAT (Network Address Translation)
 ルーターを構築する際にDHCPと合わせて必要なサービスです。サーバー管理 => NAT => NATを開始 で起動します。外部ネットワークインタフェースを選択すれば、後はお任せでDHCP側とインターネット側とのアドレス変換をしてくれます。1部のアプリケーションで機能が制限される可能性がありますが、このご時世では心配しなくても良いと思います。

Open Directory
 ユーザー認証を管理するサービスです。サーバー管理 => Open Directory => Open Directoryを開始 で起動します。何かの(ファイル等の)ディレクトリを提供するものではなく、ユーザー認証をディレクトリ的に管理をすると言う意味です。例えばPC.Aにて管理されている一般社員用の認証情報と、PC.Bで管理されている会社役員の認証情報を情報的に管理する場合、社内の機密文章にはPC.Bに登録されている人間しか閲覧出来ない様に設定が可能です。このケースでは、2つの階層しか存在しませんでしたが、大きな組織で階層的にユーザー管理をし、かつその情報を分散配置させる事が可能となります。
 大きな組織を例として挙げましたが、個人ベースでも使用可能です。OS X Serverの各サービスもOpen Directoryを参照するように作られており、認証情報の一元管理に役立ちます。

Web
 webサービスを提供します。単刀直入に言うと、apache2。サーバー管理 => Web => Webを開始 で起動します。基本的な設定はGUIから行う事が出来ますが、SubversionやRailsと連携させる為には設定ファイルの編集が必要です。場所は、

/etc/apache2/httpd.conf,
/etc/apache2/sites/*.conf <= httpd.confから参照される追加ファイル

がそれぞれありますので、必要に応じて追記可能です。webフォルダ(ルート)自体は/Library/WebServer/Documentsから変更しない方が良いみたいです。自前のルート証明書しか用意出来ないので、httpsでの警告はしょうがないですね。

ファイアウォール
 NIC毎にポートの開閉が可能です。サーバー管理 => ファイアウォール => ファイアウォールを開始 で起動します。ローカルネットワーク側は全て解放して、インターネット側は不必要なポートのみ閉じる様にしました。

メール
 メールサービスです。サーバー管理 => メール => メールを開始 で起動します。SMTPを有効にするのであれば、最低限認証を必要にしておいた方が、後々踏み台にされなくて良いでしょう。各ユーザーのメールアカウントを有効にするかしないかは、ワークグループマネージャ等から設定が可能です。OS X Server に付属するWebメールはUIが貧相なので、グループwikiやプロジェクト管理サービスとの連携程度と考えておいた方が良いかもしれません。私自身、Gmailだけで事足りてますので。

2009/10/22

ホテル青森様 からお手紙


 2回目の投稿は無いかと思い、前回は番号をつけなかったのですが、 ホテル青森様 からお手紙(封書)が。

Masao Miura 様


謹啓、秋冷の候ますますのご清栄のこととお喜び申し上げます。

この度は当ホテルをご利用頂き心より御礼申し上げます。

また、お忙しい中、お時間を頂戴しアンケートへご協力を頂き重ねて御礼申し上げます。全体的に良い評価を頂き安心しております。

これから更にお客様のご意見・ご要望を参考に、ホスピタリティマネジメントホテルとして「快適さ・心地良さ・素晴らしい空間」を提供出来る様 努めて参ります。

今後も皆様に喜んで頂けるサービスを心掛け、努力して参りますので引き続き私共ホテル青森をご指名賜りますようお願い申し上げます。

最後になりましたが、Miura様が今後も益々ご健勝でご活躍されますようスタッフ一同お祈り申し上げます。


謹白


と取締役支配人のサインを添えていただきました(私の名前の部分は一部変えてあります)。遠足は家に帰るまでが遠足と言います(?)が、宿泊は家に帰ってからお礼の手紙を読むまでが宿泊だなんて思いました。安さを求めればもっとホテルは沢山有りますが、折角のご縁なのでお手紙頂けると嬉しいですよね。

次回、必ず泊まりますね。応用情報技術者試験もなんとか合格出来そうです。




2009/10/21

Snow Leopard Server搭載Mac mini

 Appleから新製品の発表がありましたね。iMac,MacBook,Magic Mouse等の魅力的な製品もさることながら、あえてSnow Leopard Server搭載Mac miniを取り上げます。


 VMware Fusionを使用したLeopard Serverを参照していただきたいのですが、Power Mac G5での運用コストが高すぎる為、この様な構成にしています。ただし、メインマシンであるMacBook Pro内で運用する為、


  1. RAID1構成(物理ミラーリング出来ない)
  2. 内部DNS(パケットが通る度、ディスクにアクセスするみたい)
  3. 出張出来ない(Macが移動するから)


等々、色々我慢していて、特に3)はきついですね。


 Snow Leopard Serverが発売された時は、その安さからMac miniを買って本気で運用しようと思っていたのですが、本体(\100,000)+OS(\50,000)くらいかかるので見送っていました。それが、


  • HDD 500GB 2基
  • 4GBメモリ
  • Snow Leopard Server付き
  • 光学ドライブは無し
  • 合計 \104,900 (税込み)


で発表されました。OSの再インストールは別のMacのドライブをネットワーク経由で使用出来るので、光学ドライブは無くてもなんとかなりますよね。VNC経由で確認出来ますので、一応モニタもいりません。


 ちなみに、Appleストアでカートに入れると、Snow Leopard Server搭載のMac miniってでます(汗。これからボタンをクリックするかどうかで1日悩みそうです。


Apple : Snow Leopard Server搭載Mac mini


>> 第2回


2009/10/20

詳解 Objective-C 2.0 (1)


 やはり買ってしまいました。PuchiPuchiを改良しようと思ったのですが、前回の様に力技ではなく(汗、仕様をじっくり確認して作った方が今後拡張しやすいかと。

 3分の1位まで読みましたが、結論から言うと読んだ方が良いです。文法の解説については勿論ですが、動的結合やリファレンスカウンタを用いたメモリ管理の解説は必読です。Cocoa Touchでは、今のところガーベジコレクションが使えないので、iPhoneでの開発をする上で後者の事は理解しておくべきです。

 自分でクラスを作成してみて気づいたのですが、C++のコンストラクタとデストラクタに対応する部分がちゃんとあるんですね。やはり、こういう事も知っていないと現実にはプログラムしにくいと感じます。残り3分の2を読む間、気になった点をを投稿したいと思います。

2009/10/19

ホテル青森


 昨日(10/18)、青森市で応用情報技術者試験を受けてきました。先週辺り更新が遅かったのは、これが原因です。午後の解答例がまだ発表になっていませんので、合否についてはなんとも言えませんが、解放はされたのでblogもいつもどおり更新出来ます。

 約1日集中しなければならない為、当日の長距離移動は厳禁。と言う事で、宿をとりました。宿泊したのは ホテル青森 だったのですが、素晴らしく良かったので感想を。

 私自身沢山のホテルに宿泊した事はありませんが、一般的に5つ星と言われる所(海外でした)で1,2週間程お世話になった事があります。確かにホテルの内装は豪華ですし、サービスも素晴らしいのですが、気が利いているかと問われると答えにつまってしまいます。

 で、何が良かったかというと、その気が利いている部分です。具体的に言うと、バスルームの鏡(一部)にしっかり曇り止めがしてあった事です。"また鏡が曇っていてるんだろうなぁ" と思いながら風呂から上がり、鏡を見た時に曇っていない時のあの感動ったら言葉に出来ません。

 最高級の内装より、こういう所を押さえているホテルに泊まりたいですね。勿論、ホテル内は内装も設備もしっかりしていますし、部屋からは陸奥湾or青森市内が見渡せますので景色も素晴らしいです。雪が積もった辺りに行くと寒いですが、もっと良い景色が見えそうなのが容易に想像出来ます。

是非、次回も利用したいです。

2009/10/16

引っ越し


 今週末まで時間が取れなく更新が遅れているのですが、来週以降コンテンツを移行予定です。

移行内容
 wiki内の技術情報をbloggerに移行。

情報へのアクセス頻度・保守を考慮すると、その方が便利な為です。サーバーのメンテナンス中にどうしても必要だったりするものの、サーバー自体がメンテナンス中で情報にアクセス出来ないオチがあったりするんですね。一部古くなっている部分もありそうなので、そこも修正したいと思います。

2009/10/08

Qtで言語を作る (6)


 更新が遅くなって申し訳ないです。gunou ビルド 00001からの改良案が多めになりそうで、そこに力を使っています。第6回目の話題ですが、国際化を延期してTextMateについて短くお話をしようと思います。

 日本語が使えないという致命的な欠点をオフィシャルで解決しないままのTextMateですが、Xcode以外でコードを編集する時は私も使っています。Qtのクラスもシンタックスハイライトしてくれると嬉しいのですが、と思っていたところにもの凄く素晴らしいものが。


これを適用すると、画像の様になります。QString, QObjectがハイライトされているのが分かると思います。その他にもforeachキーワード等もハイライトしてくれます。subversionでの導入はこの様にしました。
$ cd Library/Application\ Support/TextMate/Bundles/
$ svn co http://svn.textmate.org/trunk/Bundles/C++%20Qt.tmbundle/ ./Qt.tmbundle
この様に、TextMateでは各言語によってシンタックスハイライトを追加出来ます。実はgunjou用にもこっそり用意してあるのですが、もうちょっとまとまったら公開する様にします。



2009/10/01

gunjou ビルド 00001 をリリース


 Liquitexのアクリル絵の具には ぐんじょう って書いていないので、サクラクレパスの絵を拝借しました。gunjou用のアイコンが出来たら置き換えたいと思います。

 少し時間がかかりましたが、gunjou ビルド 00001をリリースしました。取扱説明書については、数日のうちに完成させますのでもう少々お待ちください。

ダウンロード

Mac OS X (Snow Leopardで動作確認済み)
Windows (Windows XPで動作確認済み)
Linux (ソースからのビルドで動くのですが...)

実装済みの機能
  1. 対話型のコマンド実行( ./gunjou -i で起動 )
  2. Stringクラスをサポート
  3. While, If文のサポート
となります。

実行サンプル (Snapshotはここではズレて見えます...)

$ ./gunjou -i
>> x@String assign gunjou.
>>
=> Snapshot for x@String.
address : 0x2f08df8
-----+-------------------------------
key | value
-----+-0----5----0----5----0----5----
0 | gunjou
<=
>> x@String insert "This is " at 0.
>>
=> Snapshot for x@String.
address : 0x2f08df8
-----+-------------------------------
key | value
-----+-0----5----0----5----0----5----
0 | This is gunjou
<=
>> exit
Gunjou will be missing you (ioi). See you again.
$

まだまだ実装すべき機能が残っていますので、長い目で見てもらえると嬉しいです。

Powered By Blogger