andante

0316

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


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


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

0315

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


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


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

0314

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

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


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

0313

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


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

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


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

0312

人の数だけ世間がある


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


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

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


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

0311

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


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


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

0310

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


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

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


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

0309

近頃のカレンダーは誰かの誕生日に年齢まで教えてくれるのですね


昨晩はd3.jsとかやろうと思っていたけどあんまりやる気出なくってマンガを読んでぼんやりしていましたやさしいセカイのつくりかたを読みました僕は別に才能があったわけでもなんでもないのだけどこういうお話を読むとぐるぐるするぐるぐるする
それはそれとして5巻までKindleで読んだら最終巻だけまだKindle版がないことを知ったえーえー


今日は夕方早く上がるから早く起きて早く会社に行こうと思っていたのに起きて目覚ましを止めて気がつくといつもの時間でしたまあいつもの時間に勝手に目が覚めたのは不幸中の幸いでしょうはあ

仕事は3D関係をぐりぐりカメラ位置を制御しようと思ったのでこれはクォータニオンチャンス到来かと思ったらOpenGLの関数をStackOverflowに書いてある通りに繋げばいいらしくってナァンダと思っていたらSwiftからはGLKitの数学関数が触れないらしくSwift1.2で直るそうですがクォータニオンチャンスと思ったら当然そのあたりの計算をまとめたサードパーティライブラリが見つかってナァンダと思ったらそのライブラリの計算がわりとデタラメだったので結局クォータニオンの勉強しながら自分で書きました最低限のことしか調べてないけどとりあえず動いたのでよし


夜は深井さんたちと鍋会をしましたいつにもまして買い出しが行き当たりばったりだったけど鍋という場の包容力によってすべてが赦されておいしい鍋ができたでも肉は足らなかったと思うあと個人的には春菊もうちょっとほしかったかも野菜

小説とアニメの話と飛躍と飛躍と飛躍という感じで全体的にメチャ楽しかったです人と話すことがこんなに楽しいってひさびさに思いました本当ですこの楽しさは刹那的なものなのかもしれないそうだとしても

いつか部屋を片付けてちゃんとしたローテーブルを買ってそれからスキヤキをしましょうもうシーズンじゃないかもしれないけれどでも鍋料理にシーズンがあるという観念を僕は実家を出るまで持ったことがなかった父が鍋料理好きで一年中鍋ばかりしているいまもそうらしい


知人の訃報を聞きましたそれなりに話したことのある人が死んでしまうということに慣れてどうなるというものでもないけれど慣れないなと思いますでも僕が想像しているのは徹頭徹尾自分の死でしかないのだとも思ういや他人の死なんてものは存在しないのだから死を想うことはつねに自分の死を想うことでしかあり得ないだろうだったら他人の死を想うことに意味などないのだろうかいやいや
そういえばあの人と死後について議論したことがあったなそんなものは存在せずただ消えるとする立場をとっていたけれどその消えるはどうしても三人称的な記述の混入ではと思っただから僕から見ればそれで正しいのだけどさてあなたにとっては

0308

昨晩はtimelineをNSTableViewに順番に表示させるなどしていましたOSXにはFetchedResultsControllerってないのでNSArrayControllerなるものを使うようでしたCocoa bindingとかもよくわからなくて難儀したのだけどとりあえず表示はできたのでよかったただ行の挿入削除にアニメイションがつかないのと削除の反映が遅いのとが気になりますこの構成をそのまま使うのはうまくないのかもとはいえFRC相等の機構があるわけでなし悩ましい

あとRedmine REST APIを叩いてチケット情報を取得するJavaScriptを書いたりフロントエンドのライブラリ管理の流行りがよくわからない


今日はd3.jsのことをいろいろ調べているのだけどまだ絵が出るには至りませんなんかいきなり複雑なことしようとしすぎてトラブルが起こっているのではという気もしますやれやれ


明日はまた仕事それから夜に深井さんたちと鍋会です

0307

昨晩はプラグインの開発用にRedmine環境を立てたりしていましたDockerでズドンというのが理想だったのでとりあえずそうしたのだけどプラグインの開発で中をいじるのにはまったく不向きだとわかったのでそういえばそうだ結局macに置きましたまあgit cloneしてジャーンという感じなので簡単

中身はRailsなのでプラグインもジェネレイタでズドンと出てきてコントローラとビューを書いたらジャーンとチケット一覧が出せたりして手軽でしたうーんこのアッサリさやっぱりプラグインの仕事じゃないのかもしれないプロジェクトページにタブ増やす方法ってこれしかないと思うのだけども
それより可視化のほうはd3.jsに手を出してみようと思っているのでこっちはいろいろ試す必要がありそうですとりあえずそっちの勉強かな

そういえば中退した大学院の研究室で同期が卒業するので追い出しコンパがあるらしく僕もどうと誘われました今更どんな顔してとも思ったのだけどけっこう上の人が誘ったらって言ってくれたらしいのでじゃあ行きましょうという感じ僕はあの研究室でついになにも意味ある成果を出さず逃亡したけれどそれでもこうして誘ってくれるのはありがたいことだなあと思うありがたい


さて今夜はTwitterからの応答をCoreDataに仮で投げ込んでみるところとd3.jsの実験かなあ