MacBook Pro の無線LANが使ってる最中にブツブツ切れるようになってしまったが、「システム環境設定」の「ネットワーク」-「詳細」-「AirMac」-「使ったことのあるネットワーク」にある該当する設定を一旦消してから再設定したら直った。原因不明。現象としては、起動直後しばらく問題なく使えるが途中で突然接続が切れる。 
接続が切れるとき/var/log/kernel.logに以下のログが出力される。
AirPort: Link Down on en1. Reason 2 (Previous authentication on longer valid).
 
認証に失敗しているようでルータ側でも認証失敗のログが出てた。この間やったことはVMware Fusionを2から3にアップグレードしたことくらい。なんか関係あるのかな?ま、設定し直したら直ったからよしとするか。
	 
	
	 
	
	
		
		#pragma mark でコメントを書くとそれがXcodeの関数リストに表示されるのでわかりやすくていい感じです。
 こんな感じでコメントが関数リストに表示されます。日本語使えるのがいいですね。 
コメント部分を”-“(ハイフン)にするとセパレータになります。
 ちょっとしたことですが有効活用すれば効率上げられそうです。
	 
	
	 
	
	
		
		Xcode環境から現在作成中のアプリケーションを起動するときに引数を付けて起動したい!なんてことが度々あります。これをやるにはXcodeの左側ツリーの「実行可能ファイル」内の対象ファイルを選択してから右クリックして「情報を見る」ー「引数」です。
ここに「起動時に渡される引数」を設定できます。追加した引数毎にチェックボックスが付いていてON・OFFで有効・無効を指定できるので結構便利です。
NSLogを使って引数リストを出力してみます。
NSProcessInfo * processInfo = [NSProcessInfo processInfo]; 
NSLog(@”arguments=%@”, [processInfo arguments]);
 
出力結果は以下のとおり。(「実行」ー「コンソール」の出力)
2011-06-02 00:58:19.541 Args[34204:a0f] arguments=( 
“/Users/foo/Documents/Args/build/Debug/Args.app/Contents/MacOS/Args”, 
“-d”, 
“/tmp”, 
“-d”, 
“/tmp”, 
“-d /tmp” 
)
 
設定画面でチェックボックスを付けた引数文字列を空白デリミタで単純連結して実行しているようです。設定画面の3番目の -d /tmp はそれぞれ別の引数として解釈されています。空白を含めたい場合は5番目の”-d /tmp”のようにダブルクォーテーションで括ればいいみたいです。このあたりはUnixそのままですね。ABCという引数はチェックボックスがOFFなので引数として渡されません。
引数の設定画面では各引数の編集ができるほか、ドラッグすれば順番の入れ替えもできますのでテストする上でかなり便利に使えると思います。
	 
	
	 
	
	
		
		echoコマンドはオプションなしだと指定文字列に改行を付けて表示します。-nオプションを付けると改行を出力しなくなります。odコマンドでダンプ出力してみるとよくわかります。
$ echo ABC | od -t x1 
0000000    41  42  43  0a 
0000004 
$ echo -n ABC | od -t x1 
0000000    41  42  43 
0000003
 
ところがMacの場合、シェルスクリプト内で echo  -n を使うと -n 部分を文字列として出力してしまい、かつ、改行を付けてしまいます。
$ cat echoABC1.sh  ←内容表示 
#!/bin/sh 
echo -n ABC 
$ sh echoABC1.sh  ←実行 
-n ABC
 
なんでこうなるか詳しく調べてませんが、どうもシェルスクリプトでechoとするとシェルの内部コマンドのechoを呼び出してしまいそのechoは改行抑制オプションがないっぽいです。なので、外部コマンドの/bin/echoを絶対パス指定で実行すればこの問題を回避できます。
$ cat echoABC2.sh  ←内容表示 
#!/bin/sh 
/bin/echo -n ABC 
$ sh echoABC1.sh  ←実行 
ABC
 
LinuxとかFreeBSDだとシェルスクリプト内での echo -n が有効なので、そうなっているシェルスクリプトをそのままMacに持ってきて使おうとするとハマるかもしれませんね。MD5ハッシュ取ったりBase64エンコードしたりするとき改行が邪魔になるので-nオプションは結構使うんですよね。気をつけましょう。
	 
	
	 
	
	
		
		MacBookPro(13inch 2009 mid)のHDD交換ではHDDのアダプタを外すためにトルクスドライバーが必要になります。
今回使ったのは、ベッセル(VESSEL) パワーグリップ トルクスドライバー T6 No.B-5400TX です。
重要なのはT6の部分。これはネジ頭部星形穴の大きさのことで今回の作業ではT6じゃないとダメでした。T7とかT8とかだと星形穴に入りません。一応下にamazonリンク張っておきます。 
	 
	
	 
	
	
		
		先日のMacBookPro HDD 交換の続き。注文したHDD(HGST, HTS725050A9A364, 500GB)が届いたので早速交換してみる。動いた!スリープ後の復帰でもフリーズしない。よしよし。システムプロファイラの確立リンク速度は3ギガビットになってる。(標準HDDだと1.5ギガビット)いろいろ試したけど問題はなさそう。やっぱり性能が上がってる分標準HDD搭載時よりもきびきび動いているかも。でも気のせいかもしれない。しばらくこの状態で使ってみて問題があれば報告します。
	 
	
	 
	
	
		
		Windowsで使っていた320GB HDD(WD3200BEVT)が余ったのでMacBookPro標準の160GBと交換してみました。が、スリープからの復帰時にレインボーカーソルになったまま応答がない。特定アプリケーションではなくOS全体でそうなる。HDDアクセスの応答待ちでブロックされてフリーズしてるような感じ。強制再起動(command+ctrl+power switch)するしかありませんでした。 
ちなみにMacBookProは2009 mid 13インチの一番安いモデル。EFIファームウェアは最新の1.7なのでAppleがサポートしませんといっているバージョンですね。(泣) 
apple.comのユーザフォーラム で同じ構成でのフリーズ報告を見つけましたが原因&対策がよくわからん。非公式ファームウェア入れれば問題は発生しないという情報もあるけど… 
時間作って違うHDDで試してみようと思います。しくしく。
	 
	
	 
	
	
		
		エクスプローラのコンテキストメニュー(右クリックで表示されるメニュー)の「送る」は便利!ここに何かを追加したいときWin7では以下のディレクトリに実行ファイルへのショートカットを追加します。
C:\Users\(username)\AppData\Roaming\Microsoft\Windows\SendTo
(username)のところはアカウント名(ユーザ名)。エクスプローラでC:\から辿るときは“Users”が“ユーザー”になってるのと、“AppData”に隠し属性付いててデフォルトだと見えない点に注意しましょう。
	 
	
	 
	
	
		
		前に書いておいたネタなので他に対策があるかもしれない。Win7にインストールしたExcel2000が落ちまくるのだが、原因はオートコンプリート機能にあるらしい。確かに落ちるのはいつもセル編集直後。この問題はVistaの時点で既に起きていたようだがXPからVista飛ばしてWin7なので知らなかった。
対策としてはオートコンプリート無効化しかない模様。「ツール」-「オプション」-「編集」-「オートコンプリートを使用する」のチェックを外せばOK。
Office2000ってVista以降のOSは正式対応してないですからね。不具合あっても仕方がない。使えるだけマシ。
	 
	
	 
	
	
		
		ちょっと前ですがWin7(32ビット版)インストールしてみました。 
インストールしたPCは ThinkPad T60 2623A8I (Core2Duo, memory3GB)。 
Windowsエクスペリエンスインデックスはこんな感じです。 3年前に買ったPCなのでいろいろ時代遅れなところがありますがCore2Duoでメモリも十分にあるのでかなりちゃんと動きます。想像以上かも。ビデオ関係が弱いのは仕方がないか。インストールは簡単。Windows7インストール後ThinkPadのSystem Update 4をインストール&起動すれば必要なドライバを全部入れてくれます。入れようかどうか迷ってる人の参考になれば幸いです。
	 
	
	 
		
		
			投稿ナビゲーション		 
		
	 
			
		 
	 
	 
		
パソコンとかプログラミングとか。その他、人柱的買い物など。