twitterテスト
Twitter記法っていうのがあることを初めて知った。
シェルスクリプト書いてた
IFS=$'?n'; for var in `cat ps_list`; hoge; done
IFS=環境変数の1つ、デリミタを設定。
"hoge hoge1 hoge2"のようなlsとかで取得した値って、デリミタで区切ってリストとして扱える。一行で区切って欲しいっすって時は以下のようにしますなー。これはps_listっていうファイルに書かれたテキストの値を、改行で区切ってリストとして扱ってる例っすな。
通常時はスペースでも区切られる
% cat test.sh #!/bin/sh # IFSがデフォルトの場合 # 文字がスペースで区切られる>< # IFS=$'\n'; hoge='a1 a2 a3 b1 b2 b4 c1 c2 c4' for var in $hoge; do echo "${var}" done % sh test.sh a1 a2 a3 b1 b2 b4 c1 c2 c4
改行で区切った文字をリストで扱いたい場合
% cat test.sh #!/bin/sh # IFSがを改行文字にした場合場合 # 文字改行で区切られる…! IFS=$'\n'; hoge='a1 a2 a3 b1 b2 b4 c1 c2 c4' for var in $hoge; do echo "${var}" done % sh test.sh a1 a2 a3 b1 b2 b4 c1 c2 c4
これを基本にして、daemontoolsもどきを作ってた。
textファイルから死活監視するプロセス名取得して、ps -ef | grep ${var} | grep -v grep | wc -l とかやってプロセスが生きているかどうかを監視して、死んでたら起動シェルを叩く感じ。
そんなやりかたでいいのかよ、と思ったけど結構一般的なやり方っぽいらしい、きっと。
2日間とりあえず停止の状態が続かなければよかったので、それで対応。
そういう系のツールは、daemontoolsやsupervisord、foreverとかがあるみたいっすね。
基本sh使ってるんすけど、bashのほうがいいんすかね…違い分からない…。
iOS勉強してた
遷移先のViewControllerのインスタンスを[segue destinationViewController];で取得できるっぽいっすね()
詳細シーンへのデータ送信の章に書いてるっすね。ちきしょう。 URL
iOSでMVC
データの管理は
- シングルトンのモデルマネージャークラスを用意する
- そのモデルマネージャークラスに、JavaBeansのようなデータクラスをぶら下げるような形で管理する。TableViewController辺りと上手くおしゃべりできるようなsetter/getterを用意す…ん?
- アクセッサ―要らない…?仕様によりけりか。
- アクセッサーは@propertyとか@synthesize辺りで自動生成が可能なんだった。
- アクセッサー必要です。でもJavaみたいなgetter/setterをIDEで生成するようなイメージではないっす。
- よーはモデルマネージャー=DAO、モデルオブジェクト=JavaBeans、という認識。
iOSよくわからん。