ブックマーク / rejasupotaro.github.io (7)

  • 今できるMaterial Design - Rejasupoem

    さっそく自分のアプリにMaterial Designを適用しようとしてAndroid Lでしかテーマが使えないとか、サポートライブラリがうまく動かないとかで挫折したみなさんこんにちは。 自前でゴリゴリテーマを書いたり、サポートライブラリのバージョン指定を + にしてたらいつの間にかバージョン上がってて破滅した、なんてこともありそうですし、僕はまだ様子見てます。 ただし、Material Design自体がAndroid専用のものではなく汎用的なデザインガイドラインなので、新しいSDKやライブラリを使わなくてもガイドラインに従うことでそれっぽく見せることができます。 Introduction - Material Design - Google design guidelines にはアニメーションやエフェクト以外にも、タイポグラフィの扱い方、余白の取り方、Dividerの使い方などがありま

  • [Failure teaches success] データの持ち方を失敗した - Rejasupoem

    社内には障害が起こったりすると、次回失敗しないように "Failure teaches success" っていう知見を蓄積するシステムがあるのだけど、この度 プライベートで書いてるアプリ で障害を起こしてしまったので、知見をブログに書くことにしました。 概要 今日の夕方にmiyagawaさんからAftershowが表示されないと連絡をいただきました。 発生原因 アプリ内でのデータの持ち方にいろいろ問題がありました。 Rebuild.fm for AndroidではEpisodeは端末のsqliteに保存していて、ActiveAndroidで読み書きしていましたが、リスト表示するために何かのカラムでソートする必要があったのだけど、日付は "Jun 15 2014" みたいに入ってくるからソートしづらいなと思って、urlを見てたら "http://rebuild.fm/10" みたいにスラッ

  • iOSのSwiftとAndroidのGroovy - Rejasupoem

    WWDCでSwiftが発表されてTLが賑わっていますが、時を同じくして6/2〜6/4に開催されたGR8Conf Europe 2014でGroovyのAndroidサポートが発表されました。 groovy-coreに取り込まれた差分: Raw modifications to run Groovy on Android by melix · Pull Request #436 · groovy/groovy-core さっそくAndroidアプリをGroovyで書いてみた 以前RxJavaのために書いたサンプルプロジェクトがあったので、Groovy化してみました。 と言っても、GroovyはJavaに完全な上位互換があるのでそのままでも動くので、Groovyっぽいシンタックスを使ってみました。 class ComposeMessageActivity extends Activity {

  • 関数型言語を学ぶことは実務でどう役に立ったか - Rejasupoem

    関数型LT大会で「実社会の問題を解決する関数型言語」というタイトルで発表しました。 というのも、会社で「すごいHaskellたのしく学ぼう!」の輪読会をしていて、最初こそ10人以上の人が参加していたのだけど、章が進むごとにどんどん人が離脱していって、主催者としてはなんとか完走したいという思いがあったので、調べたのですが、 ヒアリングから、この二つの線がクロスしたときに、人は離脱するという知見が得られました。 ということで、Haskellに対して実用性を見出したいと思いながら半年を過ごしたのですが、実用的 = 仕事で使うということであれば、今の現場でHaskellに移行するのは現実的ではありません。 でも、Haskellには関数型言語のエッセンスが詰まっていて学びが多かったと思っていて、直接的には使っていないけど、概念として役立つことがあると思ったので、それを伝えるために今回文章に起こしまし

  • Rebuild.fmクライアント(非公式)をリリースしました - Rejasupoem

    Rebuild.fm for Android (Unofficial) Rebuild.fm for Androidとは、miyagawaさんのPodcast、Rebuild.fm専用のPodcastアプリです。 このアプリ自体はオープンソースで開発していて、READMEにインストール手順は書いてあるのですが、あまり使ってくれる人がいませんでした。 開発するモチベーションを保つためにフィードバックが欲しくて、マーケットに出そうかなという話をmiyagawaさんにしたら快諾してくれたので、この度リリースしました。 (当は一周年記念に合わせてリリースしたかったけど、リリース準備してたら一部端末でOOMになるバグが見つかったりして間に合わなかった) 「Rebuild.fm専用?それって機能が限定されたPodcastアプリでは?」 よくあるPodcastアプリは無機質な感じで、よりRebuild

    Rebuild.fmクライアント(非公式)をリリースしました - Rejasupoem
  • ListViewのデータのbindはこうする2014 - Rejasupoem

    の割に初心者にとって使うのにハードルが高いview、ListView。 ネット調べると色んなパターンで書かれた例が出てくると思います。 何も知らずにAndroid 1.6とかの時代に書かれたような出どころが不明なサンプルコードをコピペしてうまくいかなくて心が折れるみたいなことを防ぐために、インターネットに出回っているサンプルコードをパターン化して列挙しました。パターン1が一番良くなくて、パターン3あるいはパターン4にするといいと思います。 インターネットで調べててAndroid 1.6とか2系の葬式UIが出てきたら、それは昔に書かれたものでそっと閉じたほうがいいです。 Adapterとは AdapterはviewとDataSourceの橋渡しをするものです。 private void setupListView(List<User> userList) { UserAdapter ad

    ListViewのデータのbindはこうする2014 - Rejasupoem
  • 第7章 型や型クラスを自分で作ろう 前編 - Rejasupoem

    すごいHaskell楽しく学ぼう輪読会とは 経緯 2012年にSICP読書会に参加していてとてもためになったという話をしたのがきっかけで、社内でコンピュータサイエンスの勉強会をやろうということになりました。 そこで、2013年夏に社内でどのを教科書にするかアンケートをおこないました。 教科書の候補に上がった 計算機プログラムの構造と解釈(SICP) 言語:Scheme Web上での問題の解答の多さ(すくなくとも日語での)は、他を圧倒してる。 関数プログラミング入門(IFPH) 言語:Haskell SICPよりちょっと難しい。一番最初にやるではない感じ(ってえらい人が言ってました)。 プログラミングの基礎 言語:Ocaml 著者による解答例あり。いまSICPを読むのは時間の無駄 – きしだのはてな プログラミング言語の基礎概念 言語:Ocaml 「プログラミング言語の基礎概念」とい

    第7章 型や型クラスを自分で作ろう 前編 - Rejasupoem
  • 1