memcachedとかmongodとか毎回叩くのが面倒なので当然自動起動したいと思うんだけど、OSXの場合以下のようにシンボリックリンクを貼る方法が多く取り上げられている。
$ ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
こんなことやらなくても、brewにサービスの起動を管理する機能を追加できた。
memcachedとかmongodとか毎回叩くのが面倒なので当然自動起動したいと思うんだけど、OSXの場合以下のようにシンボリックリンクを貼る方法が多く取り上げられている。
$ ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
こんなことやらなくても、brewにサービスの起動を管理する機能を追加できた。
新しくMacBookProを買い換えてキャピキャピしながらコーディングしていると、前のMacで作ったRailsアプリの動作が異常に重い。
$ mongod
を実行後に出力されているログを見ると、以下のような警告が出力されていた。
2015-08-00T00:00:00.000+0900 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
これの解決方法について。
pod installを実行したところ、以下のような表示でフリーズしてしまった。解決策は下に。
Objective-Cには「null」に相当するものがnil, Nil, NULL, NSNullの4種類ある。それぞれの意味の説明はあったが、使い分けに踏み込んだ記事が少なかったのでメモ。
nil
にメッセージを送信しても nil
がreturnされるcopy
メソッドで retain count を増やすことがあるので、Blocks の null を表すには nil
を使う(Which is the right one, nil or NULL, to mark “no Objective-C block”? – Stack Overflow)// 初期化に失敗した時はnilが入る
SomeClass *myInstance = [[SomeClass alloc] initWithFailCode];
// 変数に代入
id hoge = nil;
NSObject *fuga = nil;
if (fuga) {
// false
}
if (!fuga) {
// true
}
if (fuga == nil) {
// true
}
// nilにメッセージを送信してもnilが返る
if ([fuga doSomething] == nil) {
// true
}
// ブロックを渡す時のnullオブジェクトはnilで渡す
[something setCompletionBlock:nil];
Nil
はnullクラスオブジェクトを表す// クラスを取得する
Class something = [NSObject class];
// クラスの指定がnull
Class anything = Nil;
(void *)0
と同じvoid*
型のnullとして使う[objA addObserver:objB forKeyPath:@"hoge" options:NSKeyValueObservingOptionNew context:NULL];
[NSNull null]
を実行する[NSNull null] == nil
は NO
(false) になるNSDictionary *someVars =
@{
@"keyA" : @"abc",
@"keyB" : [NSNull null]
}
// 1. NSNullはシングルトンなのでisEqualで比較できる
if ([someVars[@"keyB"] isEqual:[NSNull null]]) {
// true
}
// 2.NSDictionary#objectForKeyは存在しないキーを指定するとnilを返す
if (someVars[@"keyC"] == nil) {
// true
}
// 1.と2.により、キーに値が存在するかどうかは2つの検査が必要
if (someVars[@"keyA"] != nil && ![someVars[@"keyA"] isEqual:[NSNull null]]) {
// nilではなく、NSNullでもない
// => true
}
Thunderbolt Displayが使用中に突然 真っ暗になって電源が落ちてしまったり、Thunderboltを指しても反応しなくなってしまったりしていた。使用不能になるまでの時間が日に日に短くなり、最後には全くうんともすんとも言わなくなってしまった。
時は流れて1年間、諦めきれずに捨てずに放置していたThunderbolt Displayをいい加減にどうにかしようと思って「Thunderbolt Display 通電しない」で検索していたら、似たような症例に悩まされていた方のブログを発見。
[Mac] Thunderbolt Display … 突然の復活
以下、上記ブログより引用。
Thunderbolt Displayが不調に陥った際の復旧策として「ACプラグを抜いてしばらく放置する」方法も有ります。
私も昨日試しましたが、放置していたのは一時間ほどでしたから短かったのかもしれません。
改めて調べてみると半日から丸一日放置しておいたら復旧した…という事例がありました。
対する担当者からの回答は…修理対応も可能と前置きした上で以下のような内容でした。
- 新規購入(新品、認定整備済製品)した直後は内部に溜まっている静電気により誤動作が起こり易い。
- ACケーブルを抜いて暫く放置することで静電気が抜けて正常に戻る。
- 購入直後に発生しACケーブル抜き(静電気抜き)で正常復旧したケースでは殆ど再発していない。
ということですので、私の場合も暫く様子見することにしました。
そんなバカな、電源を抜いて放置する時間を伸ばすだけで復活するなんてありえないと思いつつ、モッタイナイの気持ちが優先して試してみたら、あっさり復活してしまった。
諦めていた時間も長かったので、3日間ほど電源コンセントとThundebolt Display側のコンセントの両方を抜いて放置していた。直ってよかった。静電気除去シートでも買い足そうか。
iOSにTwitter投稿する機能をSLComposeViewControllerを使ってつくったところ、「ツイートを送信できません」というエラーが出るという報告がきた。全文を書くと以下のような感じ。
ツイートを送信できません
Twitterに接続できなかったため、ツイート"◯◯◯◯◯◯"は送信できません。
これは、iOSで設定されているTwitterアカウントが、パスワードが間違っていたり変更忘れがあったりで、本当にTwitterに接続できなくなってるだけ。設定 -> Twitter -> @(アカウント名)から再ログインしなおしてもらうと解決する
戦後直後とか10年前とか古い航空写真を見れる。Google Mapsの航空写真と合わせて見ると楽しい。
アニメーションgifの作り方
ffmpeg -i ./jinguji.mp4 -an -r 15 -s 320x180 ./jinguji.gif
【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー – Over&Out その後
http://d.hatena.ne.jp/shu223/20141030/1414623275