andante

2015-03

0310

昨晩は特になにもせずAppleの発表を眺めていました新しいMacbookキーボードとトラックパッドが新しくなるのはいいなという感じですがUSB-Cが1ポートのみってそれはどうなのという感じがありますこれは機能がカヴァできればいいという類の問題ではないはずでは
いやきっとむしろタブレットに近い使いかたを想定しているのでしょう外部ディスプレイとかiPhone開発とかそんなのは別のを使ってこれはもっと手軽に持ち歩いてたいしたことしないけどインターネット見る的な僕はそういうの興味ないけど
あとAppleWatchはよくわからない僕は他者とのコミュニケイションの義務をズボンのポケットより近くに置きたくないので魅力がいまいちわかりません腕に縛り付けておく必要あるのそれポケットにiPhoneでいいじゃん


お昼から仕事3DをゴニョゴニョSceneKitビルトインのカメラ操作機能がけっこう便利だからこれ使おうって思っていたのだけどこいつはドキュメント曰くデバッグが本業らしく実際あまり融通が利かないじゃあ自作するかとなるけれどそうすると意外と手が込んでいて再現できないうーむ

あとはUI系の地味な作業ああいうのほんとうに面倒なばかりなのでなんかライブラリ作ればいいのかしら検討する余地はあるかもしれない今回はもう無理だけど


さて今夜はまたTwitterクライアントに手を出そうかなd3.jsはなんか飽きちゃったからまた今度

0311

昨晩はCoreDataに関する書物を買って読んでいましたこういうときKindleは便利ですね
なんとかNSFetchedResultsControllerの類似物を作りたいという思いがありますがそれがよいのかまだ不明でも単純なKVOとかイマドキあれじゃないですか〜みたいな


お昼から仕事UIをぷちぷちキーボードのかわりにPickerを表示して選択させてってやつ毎回似たようなコード書いてる気がするし地味に重たいしなんかまるっとなにかしらのクラスにくるんで済ませられないのかしらね考える価値はありそうだ
とはいえ面倒そうなところはだいたいできたのでまた粛々と


さて今夜は艦これアニメを観つつCoreDataの本を読もうかなあとRealmのことが一瞬気になったけど少なくとも現時点ではまともな更新通知を備えていないので実用は厳しそういや永続化の手前でテーブルに流すとかすれば問題ないのかうーむ

0312

人の数だけ世間がある


昨晩はCoreDataの本を読んでいました本の中でFRCクローンを作っていたけど本物ほど便利ではなさそうでもあとで考えたら状況を限定すれば十分実用的なものに改良できるように思いました具体的にはセクションを無視するのとIDソートに限定する今夜やってみようかな


お昼から仕事用意したものを繋ぐだけ〜と思っていたら案外と手間取ってしまったりCoreData絡みでデッドロックを踏んでしまったりこれは前からこうだったのに今日気づいただけっぽいですがデッドロックの件これはOSの不具合なんじゃという気はしつつだからって無視していいわけでもないのでいろいろと実行順序を調整してみたりで一応は対応できましたでもこれ昨日くらいからずっと思ってるんだけどもっとリファクタすべきだよな同じ画面に出す同じデータを別々に取得している一箇所に纏めたほうがあらゆる点でよいしかしそんなことをする時間があるか……

なんだかだんだんとそれっぽくなってきたって毎日言ってる気がするけどデザイン適用とか全部ほったらかしてるから最後死ぬ気がするなまあそれは単純な手数の問題だからそれほど深刻な状況ではないと思うけれど


さて今夜は上述のCoreData監視を試します

0313

昨晩はFetchedResultsControllerの再現に取り組んだのだけどいまいちうまくゆきませんでした二分探索とか配列の挿入は十分高速にできたのだけど配列の挿入が実はボトルネックになるのではという危惧があったのだけど杞憂でした逆に直感に反するMagicalRecordとの相性がよくないですうーんあのStackを棄てるべきときが来たのかもしれませんいやNotificationからのマージでやる限り逃れられない問題っぽいけどあとなぜかクラッシュする
とはいえ二分探索と挿入が十分高速にできたのなら本質的な困難は解決したと言えるでしょうあとは些細な問題だいまのところは


お昼から仕事設定画面系のつまんない作業をサクッと終わらせるつもりがなにかと手間取ってしまいましたうーむこういうことがあるから作業工数の見積もりは難しいというよりこういう事態の存在は作業工数の見積もりという概念自体の信頼性を揺るがし得るまあ平均化できるという仮定が有効ならば十分か

あと月次報告会のあとに打ち上げ何のだがあってお酒を飲みましたひさびさに上機嫌に飲酒しました


さて今夜は何をしようお酒飲んじゃってるしこのままもうちょっと飲むつもりだからあんまり有意義な作業はできないと思うけれどFRCクローン絡みかしらね

0314

昨晩は結局ずっとお酒を飲んでいました飲んでるときはそうでもなかったのだけど明け方にすごい苦しかったこないだもそういう感じだった気がするし若さが失われつつあることの一側面なのかもしれませんやれやれ

あとTwitterクライアントの実験をちょっとしましたFRCクローンだいたいできてArrayControllerに頼らずNSTableViewにツイートを流せるようになったのだけどどうもマルチスレッドの闇に落ちているらしくときどきデッドロックしますなんじゃこれそもそも通知がうまく受け取れないせいでrootSavingContextを監視しつつdefaultContextを操作みたいなことをしていて不正解感が高いしかしどんな構成が正解なんだろうか……


今夜ももうすこしそのあたりを調査しますIDのキャッシュじゃなくFetchBatchSizeを指定しつつオブジェクトのキャッシュを持つべきなのかもしれないフムン

0315

昨晩は何したのだっけFRCクローンやってたけどやっぱりまだデッドロックするんだっけやっぱりMagicalRecordのStackに上乗せであんまり繊細なことをしようとするのが間違いなのではって気がするのでStack作り直します今夜こないだHighPerformanceCoreDataで見たPSC二台構成を試してみようと思うけど準備が大変そう


今日はCities:Skylinesという街作りゲームで遊んでいましたけっこう楽しいこの手のゲームは好きなのだけどわりとすぐ手が回らなくなってしまって市民たちにごめんねごめんね無能な為政者でごめんねと謝りながら遊ぶことになります今回も交通渋滞が解消できなくて市民の皆様にはご迷惑をお掛けし誠に申し訳ありませんでしたトロピコのときもそうだったけど渋滞って難しいよね地下鉄とか使えばもうちょっとよくなったのかなでも序盤はお金がなくてあんまり計画的に街作りできないしやっぱりむつかしい資金無制限モードとかってないのありそうだけど


さてお風呂入ったらCoreDataの相手をします

0316

昨晩はCoreDataStackを書き直しました一応動いてはいるのでこれでMagicalRecord依存性をほぼ追い出すことができます実はsqliteファイルの場所とかキマジメに計算するのが面倒だったからそのへんのヘルパメソッドだけまだ流用している目論見通りというほどはっきりと意図していたわけではないけどスレッド絡みの見通しが改善されて前より素直に動くようになってくれましたやったね
だけどまだちょくちょく落ちます要調査それにそろそろUIの検討を始めないとねおそらくNSTableViewそのままは使えないんだけど自作が現実的かどうか最近仕事でUI自作することが多いのでちょっと慢心している


お昼から仕事あいかわらずチケット化されていなかったタスクがモリモリ出てくるので進捗は芳しくないともあれ作業としては順調だったからそれで喜んでおくしかない
こういったことがなぜ起こるかというと設計をちゃんとやらなかったからなのよね言い訳としては開発とだけラベルされた期間に設計までやることを考えてなかったって話でいやこれはぜんぜん言い訳にならないけれどうーんじゃあ教訓
とはいえ書き始めてみないと見えてこない課題ってのはたくさんあるから結局事前にどのくらい見込めばいいのかよくわからないのだけどそれにしたってまず枠を取れという話だし少なくとも今回の僕の見積もりはぜんぜん足らなかったということは確実に言えることであろうフムン
あんまり関係ないけどモチベイションの残っているうちにCODE COMPLETEを読めという話なのかもしれないこれは関係のない経路で思ったことだけど


さて今夜もCoreDataせっかくゲーム買ったのに遊ぶ時間がないじゃないかしかし悪くない日々であろう数学も最近やってない

0317

昨晩はCoreDataのマルチスレッディングと格闘しました削除通知からの処理を非同期でやっていたのが悪かったらしくよく考えると当然だそこを同期にすると落ちずに動き続けるようになりましたやったね
ただしばらく動かしているといきなり数秒固まることがあって謎ですなんか優先度が間違ってるのかなとりあえずJSONパースのスレッドを優先度下げてみたけれど

あとUIのこともちょっと調べましたAppKitのUIはあんまり気の利いたものがないらしくすこしずつ新しくはなっているようだけどやっぱり根本的に古い結局自作することになりそうUICollectionViewのクローンをやっている人はいたのだけどそこまでの柔軟性は不要なのと挿入削除のアニメイションがないのとで結局それを参考に自作かなCVDisplayLinkというCADisplayLinkの対応物があるらしいのでこれをベースにアニメイションすることになるでしょうそのあたりは最近仕事で似たようなの書いたしCollectionViewとしてのセルの再利用もなんとなく方針はわかってるしあとは挿入削除のアニメイションかなあレイアウトの一般性を捨てつつちゃんと考えれば単純にできそうだけど


お昼から仕事いろいろの状態管理とかプッシュ通知のハンドルとかUIとかそろそろデザイン適用のフェイズが近いけどすでにできたパーツを組み合わせるだけの作業が思いのほかしんどいことは最近わかってきたのでまだまだ先は遠いしかし納期はもうそんなに遠くないううむ


今夜は上述のUI検討試作まで入れるかな

0318

昨晩はNSScrollViewのことをいろいろ調べましたAppKitのクラスことごとくUIKitの対応物が邪魔をして検索が難しいし情報が少ないとりあえずどこに何をおいて誰が何を管理すればいいかはだいたいわかった気がするけれど座標系が上下逆なのはかえって好都合だといっても本当にただ反転するだけなので手間が減るわけではないけれど
そういえばテスト用アプリがときどき短時間フリーズする件どうもビューのどこかがなにかをしているらしいのでこれはビューを取り替えれば直る気配がありますなので放置とはいえメインスレッドがアレするだけで受信スレッドが止まるのは不可解な気もするPSC分けてるんだしそれともどこかでメインスレッドを経由しているのだろうか


お昼から仕事どうも能率が上がらないなと思っていたら夕方からなんだか具合が悪くなってしまいましたウェー暖かくなってきたと思ったらこれかいな


さて具合が悪いので早く寝たいですが髪が乾かないと寝られないし艦これアニメもあるのでそれまでは起きてますウェー

0319

昨晩は艦これアニメ観てさっさと寝ました今夜もそうすることで体調を維持することができないかと目論んでいます
timelineの表示についてもちょっと考えたけれど高さ可変のCollectionViewを作るのって思いのほか面倒なのですね途中のセルの高さを全部キマジメに計算するのは避けたいのだけどそれで整合性が維持できるのか……考えどころです

既製の道具がどんな風に動いていているのかを理解して再現できてやっとそこにあった限界がこの宇宙の限界ではなくその道具の限界にすぎないと知ることができるのでしょうそして僕はようやくその足許までたどり着いたと烏滸がましくも思いだから乗り越えて見せようと思うわけですアラウミートゥデモンストレイト


お昼から仕事地味目の仕事がサクッと終わったけどCoreDataとまた喧嘩をしていたので進捗はさほどはかばかしくないCoreDataっていうかこれはCocoaかSwiftが悪いなSCNVector3やSCNVector4をNSValueに格納するとそういうコンストラクタも提供されているのですが型エンコードが謎の値"t"になります普通はたとえばCGSizeだと"{CGSize=dd}"みたいな型名+内部構造を表現する文字列になるのだけどそうなるとNSKeyedArchiverでNSDataにするとかに失敗するようですそういうのほんとやめてよねー仕方ないので[Float]としてNSKeyedArchiverに投入しました


そういえば艦これアニメ赤城さんはあんな夢を見るし長門戦艦さんはあんなことを問うけれどそこにどんな意図があるのかはよくわからないし余白は永遠に足らないのでしょう
でもやっぱり史実を意識する必要なんてなかったんじゃないのとは思うそもそもあの世界における僕らの知っている内容の史実って一体どういう存在なのとかが結局わからないままだしそれでも僕ら視聴者はその史実をだいたい知っているから赤城さんの不安のことがなんとなく理解できるけど艦娘的にはぜんぜん謎の妄想なのではとも思うでも長門戦艦さんもなにかしらの宿命めいたものを感じているようだったから案外あるあるネタなのかもしれない
でもやっぱりあの世界の日本史の教科書が気にはなる冒頭で明言されている通り彼女たちはかつてのあの世界の艦船と全単射のある存在でありであるからにはあの世界の艦船がどんな結末を迎えたかについて知ろうと思えば知ることができるはずなのだあるいはそれがすべて逸失してしまうほどの戦禍がーーこのあたりの事情をなにも決定的に明らかにしないのはちょっとがっかりする
でも大和さんの出撃はちょっとかっこよかったですやっとだもんね誰よりも期待を掛けられていながら誰よりも悔しさを知っている君
あと赤城さんがあんなにいろいろ心配しながら結局あっさり慢心に陥ってしまうところは抗えない宿命というものを強く感じていいなあと思いましたそして赤城さんは自分に対して深く深く失望するのですそうだよそうこなくっちゃ


さて髪が乾いたら早く寝ようと思うけどそれまでは可変高さCollectionViewクローンのことを考えましょうイェイ