XCode3 & iDisk & Subversion on Mac OS X (Leopard)

※2009/9/29 blogがぶっ壊れてDBを全部消してしまったのですが、この記事へのアクセスがあるみたいなので無理やり復活させました。記事を書いたのは2009/1/31です。情報が劣化している恐れがあるのでご注意ください。

Mac OS X LeopardにはデフォルトでSubversionが入っている.最低限しか使い方を知らないんだけどXCode3でとりあえず使えるようにするためのメモ.
やりたいことの概要をまとめると,

XCode3でバージョン管理をSubversionで行なうことを想定し,レポジトリは.Macサービスで利用出来るオンラインストレージ iDisk上に保管してどのマックからでもXCodeプロジェクトが利用可能な環境を構築する.
#iDiskは.macの設定いじればオフラインでも使用出来るからほぼ完璧だと思う.

HOWTO:

  1. レポジトリ作成場所を$FILEPATH=/Volumes/iDisk/と仮定して,
    cd /Volumes/iDisk
    mkdir repos
    svnadmin create repos
  2. 作成プロジェクト名を$PROJECTと仮定して,プロジェクトの空フォルダをインポートする.
    cd ~/
    mkdir tmp
    cd tmp
    mkdir $PROJECT
    cd $PROJECT
    mkdir trunk branches tags
    cd ..
    svn import ./ file:///Volumes/iDisk/repos -m "initial report"
  3. XCodeのプロジェクトにチェックアウトする.チェックアウト先を$WORKING_DIRECTORYと仮定して,
    cd $WORKING_DIRECTORY
    svn checkout file:///Volumes/iDisk/repos/$PROJECT/trunk .
  4. バージョン管理するファイルをadd.xcodeprojファイルをバージョン管理対象にするとどうもエラーが出る.xcodeprojファイル自体が悪さをしているのかどうかははっきりしないけど,管理対象から外しておいた方が無難か.俺はjavaファイルのみ管理対象にして使ってるけどそれだととりあえずうまくいってる.ソースファイルが管理出来てればとりあえず大丈夫だし.
    svn add --force FILE_NAME
  5. 5.Xcode側の設定.
    1. XCode環境設定を開く
    2. SCMを選択,リポジトリ項目を選択
    3. 左のリポジトリで”+”を選択
    4. リポジトリの管理名を入力.SCMシステムはSubversion.ピクチャ 3.png
    5. 下の用に設定
      ピクチャ 4.png
    6. 管理したxcodeprojの情報でSCMを選択・有効にすればコミットが可能になる.

参考

Subversion – Wikipedia

Subversionの基礎練習

YOPPA BLOG » iDiskでSubversionを利用する

[dev log] XcodeでSubversionを使う(4) – sio’s gadget blog

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - XCode3 & iDisk & Subversion on Mac OS X (Leopard)

IRC proxy “tiarra”の使い方

tiarraはIRCに常駐してくれるproxy。LimeChatなどのIRCクライアントで常に接続してなくてもIRCのチャンネルに常駐してくれるので、マルチタスクでないiPhoneでIRCをやる場合にはほぼ必須の環境じゃないだろうか。

  • インストール方法:

Terminalからsvnでさくっとcheck out.

svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra
cd tiarra/
cp sample.conf tiarra.conf

  • 続いてproxy接続用パスワードを生成

cd ./tiarra
./tiarra --make-password 任意のパスワード

  • コンフィグファイルの雛形をコピー

cp sample.conf tiarra.conf

  • confファイルをエディタで開いて以下を編集

(以下、IRCのbuzztterに接続する方法を例に説明)

    • ユーザ情報 (62-64行目あたり)

nick: tiarra
user: tiarra
name: Tiarra the "Aeon"

    • 解放するポートを指定(外部から接続したい場合はポートフォワーディングなどの設定が必要)

tiarra-port: 6667

    • さっき作ったログインパスワードを入力 (92行目)

tiarra-password: xl7cflIcH9AwE

    • 文字コードを一応utf-8にする (108-109行目)

client-in-encoding: utf8
client-out-encoding: utf8

    • buzztter用のエイリアス名を決める(213-215行目あたり。実体は後で記述するので、適当な名前でおk。ここではbuzzって名前にしてる)

# name: ircnet. #コメントアウト
# name: 2ch. #コメントアウト
name: buzz

    • 上で名付けたエイリアスの接続情報を書く (305-311行目あたり)

buzz {
host : irc.freenode.net
port : 6667
in-encoding : utf8
out-encoding : utf8
}

    • 自動ログインプラグインChannel::Join::Connectをオンにし、入りたいチャンネル名を書く(519-523行目あたり)

書き方に癖あり。
#チャンネル名@エイリアス名
と書く。

+ Channel::Join::Connect {

(中略)

channel: #buzztter@buzz

}

コンフィグはこれで終わり。

  • 起動

./tiarra -c tiarra.conf

LimeChat for iPhoneで接続テストをしてみる。設定は以下のSSのようにする。

ServerはLAN内だったらローカルIP、DDNSの設定を完了していればDDNSで取得したドメイン名など

Nicknameはtiarra側で入力したものに上書きされるので適当でおk

Advanced設定。

Portはconfファイルのtiarra-confで設定したPort番号(buzztterなどの接続ポートじゃないので注意)

Passwordは最初にtiarra –make-passwordで作成したパスワード。Encryptする前のやつ(有意な文字列)

Encodingはutf-8

設定がうまくいっていれば、以下のようにbuzztterのログが流れてくる。

以上が最低限のtiarraの使い方。記事で唯一触れているChannel::Join::Connectというプラグインの他にも、便利なプラグインが多数用意されている。

モジュール一覧 – Tiarra Documentation

Auto::IMを利用したキーワード通知については後日また書く。

参考URL:

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - IRC proxy “tiarra”の使い方

Googleのバーコードを読みとってみた

今日(2009/10/7)はGoogleのトップページのアイコンがバーコードになってました。


今日はバーコードが特許登録された日だそうです。

Googleって本当に書いてあるのか?と研究室で話題になったのでiPhoneで読みとってみました。


バーコード結果が表示されるところが確かにGoogleになっているぞ…!

おしまい。(笑)

ちなみに、使ったアプリはItemshelfというものです。

Read the rest of this entry »

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - Googleのバーコードを読みとってみた

Tags: ,

DDNS登録とcron+Applescriptを利用したMacでのIP自動更新方法

Macで自宅サーバの第一歩として、DDNSへの登録があります。
DDNSはDynamic DNSの略で、通常のDNSサーバと違いIP更新の頻度が早く、固定IPを利用出来ないような一般家庭でも簡単に自宅サーバーのドメインを利用出来るというものです。

DDNSサーバへのIP更新は基本的にはHome Pageから出来るものが多いです。しかし、自動で更新出来た方が突然のIP変更などでも安心なので、そういう仕組みを用意したいところです。

Windowsであれば、Diceなどのフリーウェアを使えばいいのですが、Macにはありません(少なくとも自分は知りません)。

そこで、Applescriptとcronを利用したIPの自動更新方法を紹介します。

前提とするもの

  • 無料・ダイナミックDNS(DDNS)サービス ieServer.Netを利用する。
  • 上記 ieServer.Netの登録済みであり、自身のドメインのIDおよびパスワードを入手済みである。(まだのひとはこちらから登録してください。)
  • Mac OS X (Leopard, Snow Leopard推奨)の常時稼働環境

手順

まず、以下のURLからieServer用のApplescriptをダウンロードします。

ファイルを解凍したら、ieServerScript0.2をAppleScriptエディタで開きます。変更するのは最初の3行

set UserName to "username"  
set UserPassword to "password"
set Domain to "dip.jp---"myhome.cx" "or.cf" "jpn.ph" "fam.cx" "dip.jp" の5種類から選択

上の赤字の部分です。変更/保存したら、実行をしてみましょう。
〜〜〜〜を保存しました。

と表示されればOKです。

スクリーンショット(2009-10-07 0.55.25)

次に、cronによる自動実行の準備をします。まず、今編集したスクリプトファイルをテキスト形式で保存しなおします。

“ファイル”→”別名で保存”を選び、ファイルフォーマットをテキストにして保存します

スクリーンショット(2009-10-07 1.29.58)

次に、cronへスケジュールします。ターミナルからcrontabを起動

> crontab -e

viが起動するので、以下のような感じに登録します。

0 9-17/2 * * 1-5 /usr/bin/osascript /Users/nocknocknock/ddns_punsuka.applescript
0 17-22/3 * * 6 /usr/bin/osascript /Users/nocknocknock/ddns_punsuka.applescript

上記の設定の場合、平日9, 11, 13, 15, 17時、土曜日の17, 20時にIPの更新をします。
cronについては以下のURLを参考にしてください。

以上なんですが一つだけ注意点。
ieServer.Netは無料で利用できる便利なサービスです。IP更新を頻繁にやると、その分サーバに負荷がかかってしまいますので、あまり頻繁な更新は控えるようにしましょう。
※本当はIPがかわった時のみ更新するようにした方がいいんだけれど・・・やり方がわかりません。もし何か情報あればコメントください。
FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - DDNS登録とcron+Applescriptを利用したMacでのIP自動更新方法

IRC on iPhone

IRCをiPhoneで便利に使うためのknow-howをまとめていきます。

すべきことが多いので部分ごとにpostしていく予定。

できること:

  1. iPhoneでIRCサーバに接続する。
  2. iPhoneのIRCクライアントを終了しても、チャンネルに居続けることが出来る。(tiarraを使用)
  3. 次にiPhoneでIRCクライアントを起動したときに、直前までのログをすべて読み込める。(tiarraを使用)
  4. twitterのTLを、IRCの1つのチャンネルのように表示させる。また、つぶやくことも可能。(TIG(TwitterIRCGateway)を使用)
  5. 特定のキーワードに反応し、Google Chatのアカウントにメッセージを発信できる。(tiarraプラグイン AutoIMを使用)

必要なもの:

  1. iPhoneと,IRCクライアントアプリ(LimeChat推奨)
  2. 常時稼働のMacサーバ
  3. DDNS設定(dip.jp, ddo.jpなど)

あると便利なもの:

  1. Google Chatクライアント(Beejive IM推奨)

書き次第、以下に記事リンクを追加していきます。 Read the rest of this entry »

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - IRC on iPhone

投稿テスト

Twitter Toolsプラグインのテストです。

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - 投稿テスト

iPhoneアプリ 大藤幹のHTML/XHTML辞典を買ってみた


大藤幹のHTML/XHTML辞典を買ってみた。900円。
とりあえずの印象としては、内容は十分、操作性とみた目はあと一歩、そして後日追加予定のCSS辞典に超期待、といったところです。以下SS紹介。 Read the rest of this entry »

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - iPhoneアプリ 大藤幹のHTML/XHTML辞典を買ってみた

Tags:

UISearchBarの検索語を先頭マッチではなく部分マッチさせるtips

iPhone SDK – TableSearch – Search all words instead of only the first one. – Stack Overflow.からの抜粋メモ.

Appleの公開しているSample CodeであるTable Searchでリスト内検索をすると,入力した検索語と先頭からマッチする単語のみしか検索結果に出てこない点を解決するためのノウハウが書かれている.

TableSearchの使っているマッチング方法は,

NSComparisonResult result = [product.name compare:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [searchText length])];

で,これに対してresultがNSOrderedSameかどうかで判定するって方法。これだと先頭からのマッチ結果しか得られない.

これを解決するために,

  1. resultをNSRange型で宣言する
  2. NSStringをrangeOfString:options:で部分マッチングさせる
  3. resultをNSNotFoundで判定する

という方法で解決できますよ,ということみたいです.

NSRange result = [product.name rangeOfString:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];

自分は手探りでTableSearchを書き換えながら作っていたのでこの記事は助かった.少しずつ知識を蓄えてます :-)

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - UISearchBarの検索語を先頭マッチではなく部分マッチさせるtips

Boxcar 2.0でtwitterからiPhoneにpushする

これよさそうだなー RT @hatebu Boxcar 2.0はiPhoneに必須だ―プッシュ通知機能を生かした最高のアプリ (68 users) http://bit.ly/K80Iy

と以前twitterで触れたBoxcarの2.0がついに出ました。上の記事をみてもらうのが一番ですが、Boxcarはtwitterからの情報をiPhoneにpushできるサービスです。詳細は把握してませんが、ついったのログイン情報をBoxcarのサーバ上に置かないため、それなりにセキュアな点も売りのようです。


ついった設定画面。TL, mentions, DMそれぞれON/OFF可能。


着信音も多くの種類から選べる。iPhoneの着信音よりはセンスがいいのが揃ってると思いますw


pushに呼応して起動したいアプリを選べる。

・・・とまぁ、名前呼ばれたら気づけて便利だね、という機能があるんですが、それこそSimplyTweetや自宅鯖をお持ちの方なら別に今更感の漂うアプリです。

しかし、BoxCarにはもう一つ、keyword反応pushという機能があります。自分のFollowerに限らず、指定したキーワードを検索して該当するつぶやきをpushしてくれます。


Queryに検索キーワードを入れておくと・・


このように、該当するつぶやきがどんどんpushされてきます。

twitterのリアルタイム性を活かして、自分が通学に利用する京王線の運行情報を知れたらいいなと思い、京王線をpushし続けてるんですが、今のところ役にたってません(w
もっと条件を絞ればいいんだろうけどなぁ。

とまぁ、自分もまだ使いこなせてませんが、Boxcarはかなり可能性を感じるアプリです。もっといい使い方もあると思うので、興味があれば是非使ってみてください。

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - Boxcar 2.0でtwitterからiPhoneにpushする

iVPN

※2009/9/29 blogがぶっ壊れてDBを全部消してしまったのですが、この記事へのアクセスがあるみたいなので無理やり復活させました。記事を書いたのは2009/1/31です。情報が劣化している恐れがあるのでご注意ください。

ivpn.gif

Mac OS X上でVPNサーバーを起動するためのソフト.

GUIで操作可能なのでとてもかんたん.完全なシェアウェアで全く試せなかったうえに,Googleで調べてもまるでヒットしないから怖かったけど買ってみた.ポンドが暴落してて2000円もしなかったし.

備忘録も兼ねて簡単に使い方を紹介します.iVPNのフォーラム見れば使い方書いてあるので詳しい事が知りたければそっちを見るべし.

検証に使ったサーバーPC: Mac Mini (PPC) , Mac OS X (10.4, Leopard)

その他補足事項:

  • iPhoneで自宅ネットワークに繋いでみたいってのがとりあえずの目標.
  • ルータがVPNパススルーという機能に対応してないと駄目(参考:iPodayさん).俺の自宅のルータBuffalo WBR-B11 は対応してたのでおk.ちなみにルータ側の設定は何も要らなかった(当然機種に依ります).

Read the rest of this entry »

FC2ブックマークへ追加 Bookmark this on Delicious Digg This この記事をクリップ!この記事をクリップ! このエントリーを含むはてなブックマークはてなブックマーク - iVPN