2011年01月26日

引き続き「Cocoa Fundamentals Guide」を読む

今日も電車の中で、iPadに入れた「Cocoa Fundamentals Guide」を読んでいました。
眠気と闘いながらですが…。

Cocoaの概要を読み終え、今はObjective-Cの概要を読んでいるところです。

CocoaってNeXTStepが改名したものだったんですね。

昔、NeXTのCubeが発売された頃、私はちょうど大学生でした。
30台くらいのNeXTが部屋に並んでいたのを遠目に見た記憶があります。

残念ながらNeXTStepを使う機会はこれまでありませんでした。
OpenStepになったり、PCに移植されたり、という経緯も、そういえばそういうニュースを見て、使ってみようかなと思ったけれども結局は手を出さずじまいで。

Objective-Cは全く初めてですが、記法を見ていると好感を持ちました。
Smalltalkっぽい書き方なのが、けっこう好きです。
Cと同居しているというのが、なんだか不思議な感じですが。

私はSmalltalk-80でオブジェクト指向言語を学びました。
学生の頃、Macintosh Plusを使っていましたが、当時Appleのデベロッパの会員になると、書籍やツールを安く買えるという制度があり、それを利用してMacに移植されたSmalltalkを、たぶん50ドルだか100ドルだかで入手したのです。

それを使って、Smalltalk-80の入門書を読みながら、一通りの文法を文法を覚えました。
Macに移植されたSmalltalkは、かろうじて動くという代物で、本当に小さなプログラムしか書けませんでしたが、サンプルを動かし、そのソースコードを読むことが、けっこう勉強になりました。

その知識は卒論のとき役に立って、Sunの上で、ちゃんとしたSmalltalkを使って、10,000行程度のCADシステムを開発できました。
三次元の点、線、面、立方体、といった幾何学要素から、ソリッドモデル、マウスで操作する図形入力ツール、ソリッドモデルの編集機能、三次元モデルの表示機能、といったものを全部自分で書きました。

冬の夜にカップラーメンとモスバーガーを買い込んで研究室に泊まり込み、明け方までコーディングをしていた、あの夜の大学の空気を今でも覚えています。

まあ、今ではもうできないですね。
posted by boochow at 23:42| Comment(0) | Mac | このブログの読者になる | 更新情報をチェックする

2011年01月24日

Seesaaブログの独自ドメイン運用

このブログは、Seesaaブログを使わせていただいて、独自ドメインで運用しています。

独自ドメインの設定を、備忘録として書いておきます。

要件は以下の通りです。

(1)ブログは、http://blog.boochow.com/ でアクセスする。
(2)http://boochow.com/ は、ブログへ転送する。
(3)存在しないサブドメイン(http://*.boochow.com/)は、http://blog.boochow.com/ へ転送する。

まず、ブログは今後もずっと(1)のドメインで運用したいと思っています。
しかし、boochow.comのドメインの下には、blog以外のサブドメインも、後から付けるかもしれません。
たとえばwww.boochow.comとか。

で、(2)のように、http://boochow.com/にアクセスされた場合は、サブドメインの中で最も代表的なものへ転送する、ないしはその別名とすることになると思います。
たとえば、www.boochow.comが表玄関なら、そこへ転送するか、あるいはhttp://boochow.com/はhttp://www.boochow.com/ の別名扱いにする、という感じですね。

最後の(3)については特に説明の必要は無いでしょう。


上記を実現するための設定ですが、DNSの設定とblogサービスの設定の両方が必要です。

ドメインは、Value-Domainで取得しました。
以前から使っているサービスですので、他のドメイン取得サービスと比較はしていませんが、特に不便なところもありませんでした。
今回の目的に必要充分な機能が提供されています。

Value-Domain側で行った設定は、以下の通りです。

(1)メニュー→「ネームサーバの変更」で、「当サービス標準のネームサーバー(ENOM)」を選択する。
(2)メニュー→「DNSレコード/URL転送の変更」で、以下のように設定する。
dns2.jpg

これは1行目が要件(1)、2行目が要件(2)、3行目が要件(3)に対応しています。

次に、Seesaaブログ側での設定です。
こちらは、自分のSeesaaブログのFQDNと、対応させたい独自ドメインのFQDNを投入して保存させるだけです。

dns1.jpg

結果が反映されて独自ドメインで運用できるようになるまで、数時間程度かかりました。


以下、もう少し細かい解説です。

まず、ネームサーバの変更でENOMを選択すると、eNom社のドメイン管理サービスを使うことになります。
eNom社のサービスでは、URL転送のメニューがあります。
Value-DomainのDNSサーバはこのサービスを提供していませんので、今回の設定のためにはeNom社のサービスを利用する必要があります。

DNSの設定を行うと、eNom社のDNSサーバにblog.boochow.comはc.seesaa.netの別名であることが登録されます。
eNomのDNSサーバはdns1.name-services.com(数字は1〜5)になっていますので、この設定を行った後でnslookupなどでserverを上記に指定して、blog.boochow.comの名前解決をしてみれば、設定の確認ができます。

% nslookup
> server dns1.name-services.com
Default server: dns1.name-services.com
Address: 98.124.192.1#53
> blog.boochow.com
Server: dns1.name-services.com
Address: 98.124.192.1#53

blog.boochow.com canonical name = c.seesaa.net.
> exit


こんな感じですね。

で、blog.boochow.comはc.seesaa.netの別名(Canonical Name)となりますので、DNSクエリの結果はc.seesaa.netのアドレスが返ってきます。
(cって、たぶんcnameのcなんでしょうね。)

ブラウザはc.seesaa.netがblog.boochow.comだと思って、サーバへアクセスします。
HTTPには、ブラウザがアクセスしたいURLをサーバへ通知するヘッダがありますので、サーバ c.seesaa.netはそのヘッダを見て、blog.boochow.comに対応するコンテンツを返します。

もちろん、対応するコンテンツが何なのか、あらかじめ設定が必要ですので、Seesaaブログ側に「どんなFQDNで呼び出されるのか」を設定したわけですね。


ちなみにURL転送を指定したドメインについては、eNom社のサーバのアドレスが戻ってくるようです。
いったんeNom社のWebサーバへアクセスさせ、そこから転送先のURLへリダイレクトしているのでしょう。

posted by boochow at 01:30| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年01月23日

「Cocoa Fundamentals Guide」を読む

Xcodeの雰囲気は、昨日のチュートリアルで何となくわかりました。
チュートリアルの次は、いよいよ入門編を読まねばなりません。

入門編としてXcodeに付属していたのは、「Cocoa Fundamentals Guide」という文書です。
探してみたら、これはネット上に日本語訳がありました。

Cocoa Fundamentals Guide

英語版も、平易な技術英語ですが、スピード重視ならやはり日本語。
ということで、まずはざっと目を通してみることにしました。

ざっと、といっても200ページ以上もあります。
pdfファイルをダウンロードして、iPadに入れました。
とりあえず、今30ページほど読んだところです。
今週、暇をみつけて、少しずつ読んでいこうと思います。
posted by boochow at 22:35| Comment(0) | Mac | このブログの読者になる | 更新情報をチェックする

2011年01月22日

XcodeでとりあえずHello World

Xcodeが無事インストールされたので、まずはチュートリアルをやってみることにしました。

チュートリアルの一番最初は「Xcode Features Overview」。
これはXcode自体のユーザインタフェースを学ぶものでした。

Appleのサンプルライブラリから「CFLocalServer」をダウンロードしろと書かれています。

とりあえずダウンロードしてきて、「CFLocalServer.xcodeproj」をダブルクリック。
あとはチュートリアルに従ってウインドウの役割など、ごく基本的なところを押さえます。


アプリケーション作成という意味での、本来のチュートリアルは、その次の「Xcode Workflow Tutorial」。

内容は、

新規のプロジェクトを作り、
自分のアプリケーション用のソースファイルを追加し、
インタフェースビルダーで必要なオブジェクトを追加し、
描画のコードも追加して、
コンパイルして実行させ、
ブレークポイントを設定してデバッガを動かしてみる

というものです。

ウインドウを1つ開いて、そこにHello World!と表示させるアプリケーションを実際に作成します。


書かれている手順通りに進めて、どうやら成功しました。

helloworld.jpg


Xcodeのユーザインタフェースは、なかなかこなれていて使いやすそうです。
Interface Builderが完全に別アプリとなっているところが、DelphiなどのRADツールとはちょっと違いますね。
コンパイル&デバッグ用のビジュアルシェルという感じでしょうか。

まだObjective-Cの文法もよくわからないので、地道にいろいろ勉強していこうと思います。
posted by boochow at 22:50| Comment(0) | Mac | このブログの読者になる | 更新情報をチェックする

とりあえずXcodeインストール完了。

xcode.jpg

2度目の挑戦でXcodeは無事ダウンロードでき、インストールが完了しました。

インストールには9.54GBのスペースが必要でした。
ということは、Xcodeのインストールには、ダウンロードするファイルと合わせて、14GB程度の空きスペースが必要ということです。

まあ、私のMacBook Airは128GBモデルですが、買ったばかりなので100GBくらい空いていて、全然問題ありませんでしたが。


注意点として、ダウンロード開始からインストール完了まで、Time Machineは切っておくのがよいと思います。
実は一度目のダウンロード中にTimeMachineバックアップが作動したのですが、ダウンロードに失敗したのはこのためかもしれません。
私のところでは、Time Machineのバックアップ先をWiFi経由のNASにしていますので、Time Machineの通信負荷でダウンロードのほうが圧迫されたのかもしれませんが…。

いずれにしても、インストールが完了するまでの途中の段階でバックアップをすると、バックアップの量が多いですし、その割にバックアップを行う意味はあまりないと思います。

ちなみに、このインストール作業中、MacBook Airを購入してから初めて、冷却ファンが動作しました…。


なお、インストーラはXcodeをドックに入れてくれません。
Xcode自体は /Developer/Applications/にインストールされていました。
また、そのほかに、gccやmakeといったおなじみのUNIX開発ツールが/usr/binなどにインストールされていました。


そうそう、先ほど書いたemacsでMETAキーが使えない件ですが…

ターミナルの環境設定のキーボードのところに、optionキーをMETAキーとして使うという設定がありました。
これをオンにしたら、emacsでoptionキーがMETAキーとして使えるようになりました。


というわけで、これからしばらく、Xcodeの使い方を地道に勉強していこうと思います。
posted by boochow at 16:22| Comment(0) | Mac | このブログの読者になる | 更新情報をチェックする
人気記事