『 2016年07月 』

≒ jawiki/latest 20160720/ のページ数の件>2079408

油断してたら3週間で新ダンプ。更新が遅くなっちゃった。
1万レコード増加ごとor1カ月ごとにダンプのルールでもあるのかなぁって前に書いたけど、約5000レコード増加なんで両方外れたw

今はサイトのhttps化を試行錯誤中。前にやろうとしたんだけどまだLet’s Encryptがクローズドな段階でお金かかりそうだったから諦めた。
今回は無料でできそうな感じなのでやってみようと。色々http接続では制約も出てきたしね。まずはほとんどアクセス稼いでない別のサイトでやってみて、上手く行ったらこのサイトでもやろうと思ってます。
そのあとは最近フロントエンド全然触ってなかったからModernなJSいじってみよう。おそらくAngular2になるんだろうなぁ。顔本嫌い。でもそうすると俺のコーディングはGoogle様の周りをグルグル回ってるだけのような感じになるなぁ。
いや、前からそうか。

≒ Simple Kitchen timerの件

アプリ公開しました。
Simple Kitchen timer

開発で2週間、アイコンやスクショ作成、リリース前レポートの確認とかで3日掛かった。前のエントリで書いた通り、openGL処理部分は使いまわしなんで時間がかからなかったです。

今回ハマったのはタイマー処理。ほぼイディオムな次のようなコードなんだけど、

    Timer timer = null;
    @Override
    public boolean onDoubleTap(MotionEvent e) {
        if(timer == null){
            timer = new Timer(true);
            timer.scheduleAtFixedRate(new mTimertask(activity,timer),0,100);
        }else if(timer != null){
            timer.cancel();
            timer.purge();
            timer = null;
        }
        return false;
    }

(だいぶ簡略化してます)

他のクラスからタイマーをキャンセルしても死なない(nullにならない)。コンストラクタやメソッドの引数で渡してそれをキャンセルしても死なん。
ググりまくって結構同じハマり方してる人いるみたいなんだけど、結局タイマー定義を

  static Timer timer = null;

にしたら上手く動くようになった。我ながらまだJavaの理解が浅いんだよなー。
他にもタイマー処理の色んなところでハマりまくりながらようやく公開寸前までたどり着いて、まだ問題が残ってたのでググりまくってたら(コピペプログラマだからね)、何やらキッチンタイマーみたいなアプリに最適なGoogle様謹製のクラスがあるような話を散見した。
今さら処理のコア部分を書き直すのはつらすぎ、悲しすぎたのでそっち方面の検索はしないまま自前の複雑怪奇なタイマー処理のまま押し切った。勉強になりました。

良かったら使ってみてください。コードの複雑さにしては単純なアプリです。
…クラッシュレポート上がってきたら全部書き直そう…

追記:ワロタw

OpenGL や Unity3D のフレームワークに基づくアプリ テスト用自動クローラは、OpenGL や Unity3D を使用するアプリの UI 要素を識別できません。テスト結果は、アプリの起動と数秒後のアプリの終了のテストに限られます。

≒ jawiki/latest 20160701/ のページ数の件>2074097

月一ダンプが定例になってるみたいですね。
その度に約1万レコード増えてくのも最近変わらず。
何かポリシーでもあるのかな。1万増えたらダンプとる、とか。

アプリ次回作鋭意製作中。というかもうリリース手前のバグ取段階。
やっぱりopenGLのシンプルなデモっぽいアプリだと大分作り慣れたから早い。というかコード使いまわしができるのが大きいな。