マル開発日記

マルAndroidデベロッパ

アイコン

 アプリの説明ページ作ってます。説明用画像はイラレを使ってます。簡単な操作なら覚えました。
 で、そのイラレでアプリのアイコンも作ろうとしてます。でも、自分のセンスじゃきっとイラレでもイラレーアイコンになりそうですw おっといらねーとかけたんですよ(笑)
 誰か無償で作ってくれないかな。。と、ぼそっと考える。

プログラムのバグかと思ったら自分のバグだった

 くっそー、バグの原因全然わかんねぇーって約数時間粘っていたら。。実は自分のバグだった(自分がプログラムのバグだと思い込んでいた)
 いままでの経験上、コンピュータに勝った試しはありません。プログラムは本当に書いたようにしか動かないし、それが崩れたことは一度もありません。
 もし、そんなことあったらカオスですね(笑)。プログラムなんか書く気なくすでしょう。

人生の最終結果は死

 僕らは生きていますがいつか死を迎えます。どんなに知識を習得してもどんなにお金を稼いでも、物理法則で支配されたこの世界ではその物体は熱エネルギーによるエントロピー増大による死を迎えると思われるのです。人々は神を崇めますが、僕は神は物理法則と考えます。意識が先か物体が先か。。
 とにかく、どんなにあがいても死を迎えるのでしょう。だから僕は人生のその瞬間の価値を大切にしたいと思います。たとえ成功しなくても、それはその人の人生です。その人の人生を如何に肯定するか。生きていて良かったと思えるか。物理世界では限りがあるようなこの世界の人生で意味のある行動を少しでも進めていくことが人生なのではないかと思います。
 一回きりの人生、楽しく生きましょう!
 なーんてね(笑)

FastLruCache

 気になってしょうがなかったのでシングルスレッド用のFastLruCache作りました。古い端末ではちょっと早くなった気(?)がします。。

github.com

 本当は元のソースからsynchronizedだけ外したやつ作っても良かったけど、それもそれでどうかなぁと思ったので若干マイロジックで作ってます。AndroidのLruCacheはAndroidでカスタマイズしたLinkedHashMapを使っていたので、本家のJavaライブラリのLinkedHashMapをベースに作りました。本家のやつは一回で一個しかeldestエントリをremoveできないので、大変トリッキーなコードになってます。trimToSizeで毎回Iteratorオブジェクトを作っているのです。これはこれでどうなんだろうってコードです。JavaのMapはIteratorでしか順序アクセスできないのはどうなんだろうと思う次第です。でもsynchronizedでないLruCacheが試せたので、まぁゆっくり寝れそうです(笑)

LruCache は遅い

 自分が初めてGitHubで公開しましたGalleyFragmentでBitmap用のキャッシュとしてLruCacheを使用しました。でも無駄なパフォーマンスを使うことになりそう。なぜならLruCacheはスレッドセーフ(synchronizedの山)だから。自分はシングルスレッド(UIスレッド)でこのクラスのキャッシュ機能使うつもりでいたので、ちょっとショック。でもAPIドキュメントにしっかり'thread-safe'って書いてある(笑)。ソース覗いてみて、この程度のコードならスレッドセーフじゃないやつ自作してもよい感じ。ひまなときやろう!本当にひまなとき!。。複数スレッドでキャッシュ機能を使いたいときにはLruCacheは便利なのかも。。

以下はリポジトリです。

github.com

GW終盤

 Uターンラッシュも始まっていよいよゴールデンウィークも終盤になってしまいました。GWで自分のやりたかったことはあまりできてないかも。きっと自分は欲張りなんだなぁ。
 たまには旅行とかもしたい。でも、まだ自分に納得できていないんですね。くそも儲からないアプリ開発ですが、それだけ自分にとってかけがえのないものになっているw
 で、いつ満足できるかというと、スタックされたメッセージをひたすらキューから取りだし処理して、スタックが空になったころかなぁ。でも日常を過ごしていると、また更にやりたいことがポストされるので、もはやスタックオーバーフロー気味w
 スレッドプールにいるワーカースレッドをちょいと増やせばいいとは思いますが、どうしても自分だけでやりたいんですね。また、メモリの共有とか面倒だし。。何か書いてること終わってんなw

初めてのGitHub公開

一介のプログラマならGitHubに何か1リポジトリぐらいは公開してみせよ。。って心が騒いだのでやってみました。

[https://github.com/malta-yamato/android-gallery-fragment:embed:cite]

RecyclerViewを使ったサムネイルのギャラリーアプリです。2~3日で作ったのですごくシンプルです。シンプルなだけ応用していくのは楽と思います。。でもプルリクエストやらにこたえられるかは微妙です。

しかし、GitHubに公開するだけでそれなりにはまった。公開鍵とか秘密鍵とかSSHとか設定面倒ですよね。Windowsからやったので、結局SourceTreeを使ってpushしました。うんこWindows。。

それではまたね!