Archive for category mac

Objective-C Documents

ついったで@kazz12211さんにおすすめのドキュメントを教えてもらったのでメモ。

Object-Oriented Programming with Objective-C

場所↓

/Developer/Documentation/DocSets/com.apple.ADC_Reference_Library.DeveloperTools.docset/
Contents/Resources/Documents/documentation/Cocoa/Conceptual/OOP_ObjC

FC2ブックマークへ追加 Bookmark this on Delicious このエントリーを含むはてなブックマークはてなブックマーク - Objective-C Documents

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...

iPad雑感

iPad,ついに発表されました.
理解されないだろうけれども,iPhoneよりも大きな変化が起こるんじゃないかと思います.

iPhone Deleloper Programに参加しているため,NDAによりあまり自由な発言が出来ませんw
SDKダウンロードする前にいろいろ書いとけばよかった...

以下に,発表直後の自分のつぶやきをまとめておきます.これぐらいなら多分セーフだろう・・

  • appleイベント3時かぁ。朝チェックかなぁ #
  • iPadほしいなぁ。楽譜全部入れておいていつでも見れるようにしたい。 #
  • Flashにはとっとと対応してほしいけど,マルチタスクはなくてもいいかも.あのUIだとマルチタスクには向いてなそう.タスク切り替えボタンがないと絶対混乱する. #
  • iPad初感 – Drift Diary XIII http://bit.ly/dszSn2 #
  • Apple iPad Demo http://ff.im/-eYK9B #
  • .@acchicchi iPad、楽譜ビューアにとても良さそうですよね!アイデア次第では自動で譜面めくりも出来そうで、夢が膨らむばかりです :-) in reply to acchicchi #
  • iPhone Dev. ProgramのライセンスでiPadにもインストールできるのかなー #
  • iPad発表会の動画見る感じ、ゲームが想像以上にすごかった。特にFPS。ゲーム機として販売しても戦えるレベル #
  • TechCrunchは否定的だなw ” [CG]CrunchGearが見たiPadの第一印象 ” #TechCrunchJapan http://bit.ly/bMDRkT #
  • ふぇー “Apple社員がiPadからVoIPで通話する方法について話しているのも注目” 続・iPadビデオ―会場で実際に動いているところを撮影 #TechCrunchJapan http://bit.ly/azIvSF #
  • 意外と値が張るのね。” 最初に提供される電子書籍の価格は$14.99となるという。” AppleがiPadを発表―目玉はiBooks、価格は$500から$830 – #TechCrunchJapan http://bit.ly/9VTKYZ #
  • つい熱くなって呟きすぎた。正直、iPhoneが出た時程の興奮はないんだけれど、優秀なデベロッパが付けば大化けする気がする。ネットブックみたいな一時的な流行りじゃない波が来そう。 #
  • iPadのムービーのBGM,Ben foldsだ #
  • RT @appbank: “この私が、iPadを買いたい理由” http://www.appbank.net/2010/01/28/iphone-news/88575.php #
FC2ブックマークへ追加 Bookmark this on Delicious このエントリーを含むはてなブックマークはてなブックマーク - iPad雑感

Tags:

評価をお願いします→参考にならなかった参考になった (+1 評価, 1 投票)

読み込み中 ... 読み込み中 ...

WordPress@Xrea Server (SAFE MODE php環境)でのWordPressの自動アップグレード方法

xrea serverでWordPressを使っていると,phpにSAFE MODEがかかっていてWordPressを自動アップグレード出来ない.

エラー例:

WordPress のアップグレード

http://ja.wordpress.org/wordpress-2.9.1-ja.zip からアップデートをダウンロードしています。

Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is 10418 is not allowed to access /tmp owned by uid 0 in/virtual/hogehoge/public_html/wp-admin/includes/file.php on line 175

ダウンロードに失敗しました。: 一時ファイルを作成できませんでした

インストール失敗

xreaに限らず割とよく知られている問題のようで,以下のようなまとめサイトもある.

セーフモードによる制限と対処方法 – WordPress Codex 日本語版.

上記URLによると,phpをcgiモードで動かすと可能っぽいです.

XREACORESERVER.JP にて、PHP を CGIモードで動かすことにより対処したい場合、次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置きます。

WordPress 2.9.x の場合:

# 画像・ファイルアップロード
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
# プラグイン・テーマ 新規インストール/アップグレード
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# 本体アップグレード
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

ただし,メリット/デメリットがあるらしい.

PHPをCGIとして動かす方法について – XREA&CORE SUPPORT BOARD.

○メリット

・ユーザー権限で実行され、セーフモードがOFFになっているため、様々な制限がない。
・負荷率が管理画面で見られる。

○デメリット

・モジュール版PHPに比べて、動作が遅くなる。負荷が掛かる。
・XREAサーバー特有の機能で、汎用性がない。

多分そこまでデメリットでもないんだろうけど,たまたま他のやり方も見つけたのでメモがてら紹介.

  1. まず,上のエラーメッセージをよく読むと,以下のようなログがある.
    /virtual/hogehoge/public_html/wp-admin/includes/file.php
    このパスを参考に,アップデートファイルを置く場所を以下にする.
    /virtual/hogehoge/public_html/tmp
  2. wp-admin/includes/file.phpをダウンロードして,get_temp_dir()を以下のように修正する.
  3. function get_temp_dir() {
    /*
            if ( defined('WP_TEMP_DIR') )
                    return trailingslashit(WP_TEMP_DIR);
    
            $temp = WP_CONTENT_DIR . '/';
            if ( is_dir($temp) && is_writable($temp) )
                    return $temp;
    
            if  ( function_exists('sys_get_temp_dir') )
                    return trailingslashit(sys_get_temp_dir());
    */
            return '/virtual/hogehoge/public_html/tmp/';
    }
    
  4. 自分のアカウントの/public_html/下に,tmpディレクトリを作成し,chmodでパーミッションを777にする.

ええ力尽くですともw
でもこれで一応出来ました.tmpディレクトリはアップデートが済んだら消しておいた方がいいかもしれません.また,file.phpがどのタイミングで呼び出されるかとかをちゃんと調べてないので,不具合が起きてしまう可能性があるのでfile.phpのバックアップはお忘れなく

FC2ブックマークへ追加 Bookmark this on Delicious このエントリーを含むはてなブックマークはてなブックマーク - WordPress@Xrea Server (SAFE MODE php環境)でのWordPressの自動アップグレード方法

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...

TwitterのTLをtiarraで取得する

TwitterのTLをtiarraで取得するtips。大きく分けて3工程。

  1. Mac上で.netアプリを動かすためにmonoを導入する
  2. TIGをインストール
  3. tiarraでTIGを読み込む

まず、monoのインストール。以下のリンクから最新版をダウンロードし、インストールする。

  • Mono(公式が落ちていたのでダウンロードページ)

SS_2009-10-26_23.35.08

Mac OS X->Intelをダウンロード。

SS_2009-10-26 23.37.53

解凍するとインストーラが入ってるのでインストールする。

インストールが完了したら、Terminalでmonoと入力してコマンドが通るかをチェックする。

$ mono
Usage is: mono [options] program [program-options]

Development:
    --aot                  Compiles the assembly to native code
    --debug[=]    Enable debugging support, use --help-debug for details
    --profile[=profiler]   Runs in profiling mode with the specified profiler module
    --trace[=EXPR]         Enable tracing, use --help-trace for details
    --help-devel           Shows more options available to developers

Runtime:
    --config FILE          Loads FILE as the Mono config
    --verbose, -v          Increases the verbosity level
    --help, -h             Show usage information
    --version, -V          Show version information
    --runtime=VERSION      Use the VERSION runtime, instead of autodetecting
    --optimize=OPT         Turns on or off a specific optimization
                           Use --list-opt to get a list of optimizations
    --security[=mode]      Turns on the unsupported security manager (off by default)
                           mode is one of cas, core-clr, verifiable or validil
    --attach=OPTIONS       Pass OPTIONS to the attach agent in the runtime.
                           Currently the only supported option is 'disable'.

monoのセットアップはこれで終わり。

次に、TIG(Twitter IRC Gateway)のセットアップ。以下から最新版をダウンロードする。

SS_2009-10-26 23.40.48

解凍し、適当な場所に移動する。必要なのは解凍したディレクトリ内にあるBinというディレクトリ(以下ではBinディレクトリのパスを$BINとする)

起動方法および起動結果は以下の通り。

$cd $BIN
mono TwitterIrcGatewayCLI.exe --encoding=utf-8
Start TwitterIrcGateway Server v2.0.3451.29063
[Configuration] BindAddress: 127.0.0.1, Port: 16668
[Configuration] EnableTrace: False
[Configuration] IgnoreWatchError: False
[Configuration] Interval: 90
[Configuration] ResolveTinyUrl: True
[Configuration] Encoding: Unicode (UTF-8)
[Configuration] SetTopicOnStatusChanged: False
[Configuration] EnableDropProtection: True
[Configuration] IntervalDirectMessage: 180
[Configuration] ChannelName: #Twitter
[Configuration] EnableRepliesCheck: False
[Configuration] IntervalReplies: 300
[Configuration] DisableUserList: False
[Configuration] BroadcastUpdate: False
[Configuration] ClientMessageWait: 0
[Configuration] BroadcastUpdateMessageIsNotice: False
[Configuration] Proxy:
[Configuration] PostFetchMode: False

最後に、tiarraからTIGに接続する。

tiarra.confを以下のように編集する。

  • 215行目あたりに
    name: twitter

    を追加。

  • 312行目あたりに
    twitter {
    host: 127.0.0.1
    port: 16668
    in-encoding: utf8
    out-encoding: utf8
    user: hogehoge
    name: hogehoge
    password : hogehoge
    }

    を追加(hogehogeはついったのアカウントに合わせる)。

セットアップは以上。tiarraを再起動すると、チャンネルリストに#Twitter@twitterが追加される。


つぶやくとこんな感じ。

参考:

FC2ブックマークへ追加 Bookmark this on Delicious このエントリーを含むはてなブックマークはてなブックマーク - TwitterのTLをtiarraで取得する

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...

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/

  • 続いて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 このエントリーを含むはてなブックマークはてなブックマーク - IRC proxy &#8220;tiarra&#8221; の使い方

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...

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/punsuka/ddns_punsuka.applescript
0 17-22/3 * * 6 /usr/bin/osascript /Users/punsuka/ddns_punsuka.applescript

上記の設定の場合、平日9, 11, 13, 15, 17時、土曜日の17, 20時にIPの更新をします。

cronについては以下のURLを参考にしてください。

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

Tags:

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...

投稿テスト

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

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

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...

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 このエントリーを含むはてなブックマークはてなブックマーク - iVPN

評価をお願いします→参考にならなかった参考になった (+2 評価, 2 投票)

読み込み中 ... 読み込み中 ...

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の基礎練習

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

評価をお願いします→参考にならなかった参考になった

読み込み中 ... 読み込み中 ...