tomoima525's blog

Androidとか技術とかその他気になったことを書いているブログ。世界の秘密はカレーの中にある!サンフランシスコから発信中。

内なるストーリーが魅力を作る

f:id:tomoima525:20160127160911j:plain:w400
今日あった出来事がとても腑に落ちたので、忘れないように書きます。

スマートニュースのサンフランシスコ・オフィスが魅力的だった話

機会があって、サンフランシスコにあるスマートニュース(以下スマニュー)のオフィスに遊びに行かせていただきました。
場所はサンフランシスコのほぼ中心部にある古い建物のワンフロア。内部をリノベートしたとのことでしたが、なんとスマニュー社員が全ての設計デザインを担当されたとのこと。
中央の広間からぐるりと見回すとオフィス全体が見渡せるくらいの広さだったのですが、細部にいたるまで、色々なこだわりを感じるオフィスでした。

続きを読む

ジロリアン(ラーメン二郎愛好者)界のスーパースター @habomaijiro 氏の2015年"完飲"生活についてツイートから解析してみる

f:id:tomoima525:20151231130146p:plain:w400
@habomaijiro氏をご存知でしょうか。ほぼ毎日どこかしらのラーメン二郎店舗に出没し、大盛りの二郎を完飲(スープまで飲み干すこと)している筋金入りのジロリアンです。また、その食事レポートは日々Twitterに投稿されています。 "麺、ザクザク喰えるもの" , "神域ブタ" 等、独特の表現を用いたツイートはジロリアンだけでなく一般人にも大人気です。間違いなくジロリアン界一番の有名人と言っても過言ではないでしょう。

自分も彼のツイートを楽しみにしている一人なのですが、ふと気になりました。一体彼がどれだけ完飲し、どんな二郎を味わっているのでしょうか?

Twitter API形態素解析を使って、解析してみることにしました。

続きを読む

TwitCal 3.0 をリリースしました

f:id:tomoima525:20151123181532p:plain:w300
過去の自分のツイートをカレンダー形式でふりかえることができるツイッタークライアント TwitCal の 3.0をリリースしました。 前回のリリースから実に4ヶ月が経過してしまったのですが、バグ修正以外にもいくつか新しい機能を追加したので、ぜひ使ってみてください!

TwitCal 自分のツイートをカレンダーでふりかえろう
TwitCal 自分のツイートをカレンダーでふりかえろう
開発元:tomoima@kumonos
無料
posted with アプリーチ

新機能

過去ツイートお知らせ機能

f:id:tomoima525:20151123190315p:plain:w300
1日1回、数カ月前のツイート内容を通知してくれる機能です。 「あー、数カ月前はこんなこと考えていたんだ」とか、ちょっとした振り返りに使える機能 です。
通知できるツイートは1ヶ月、3ヶ月、6ヶ月の3種類選択可能で、通知時間も任意に設定できます。
f:id:tomoima525:20151123181253p:plain:w300

ツイートシェア、別クライアントへの移動

過去のツイートから別クライアントを辿ってツイートのやり取りを振り返ったり、リツイートしたユーザーの情報を追っかけたい という要望をいただいたので、追加しました。ツイートのリンク自体のシェア、別クライアントへの移動等が可能になっています。

f:id:tomoima525:20151123190253p:plain:w300

内部的な設計の話

サヨナラAsyncTaskLoader、こんにちはThreadExecutor

これまでツイートデータのロードにAsynkTaskLoaderを利用していたのですが、このたびThreadExecutor( + Eventbus)に移行しました。 理由としては、

  • バックグラウンドから起動し、再ロードした時にクラッシュする不具合が発生していて、AsynkTaskLoaderが起因だった(Activity上のデータをチェックしてからロードするため、場合によってNPEが発生していた)り、挙動が不安定だった
  • Activity上にロード処理が入るので、美しくない

というところです。 ThreadExecutorにすることによって、ロードのロジックがActivityから分離できたことと、インタフェースがすっきりしたのでNPEの不具合をなくせたメリットは非常に大きいです。

実装としては以下のようなExecutorServiceを実装したBaseLoaderを作成し、それを継承したTweetLoaderを作りました。

public abstract class BaseLoader<T> {
    private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();

    public void start(final T params){
        mExecutor.execute(new Runnable() {
            @Override
            public void run() {
                call(params);
            }
        });
    }
    abstract protected void call(T params);
}

call内でデータ取得がOKだとEventBusでActivity側に結果を返し、Viewを更新するようになっています。

Realm バージョンアップ

0.76 -> 0.82にしました。特に困ったことはなくスムーズに移行できたと思います。また、自分のrealm.close()の設定方法があまくて、別スレッドでrealmをcloseしたことによる不具合などが発生していましたが、そういった修正も実施しました。

( ※なお、上のツイートはTwitCalを使って検索、リンクを添付しました :)

あれっ

こうして振り返ると全然アップデートしてないぞ(焦) なにはともあれ、自分の過去のツイートを見るのって結構面白かったりするので、使ってみてフィードバックもらえると幸いです。

TwitCal 自分のツイートをカレンダーでふりかえろう
TwitCal 自分のツイートをカレンダーでふりかえろう
開発元:tomoima@kumonos
無料
posted with アプリーチ

第2回 Roppongi.aar (英語推奨なAndroid勉強会)を開催しました #roppongi_aar

f:id:tomoima525:20151119011804p:plain:w400
11/17に六本木界隈のAndroidエンジニア勉強会である Roppongi.aarを開催しました。第2回は株式会社メルカリで開催されました。参加者は36名で、8人の発表がありました。

今回新しい試みとして、プレゼンを英語推奨としたのですが、その経緯や振り返りについて書きたいと思います。

続きを読む

プレゼンスライド英語化のススメ

f:id:tomoima525:20151021004030p:plain:w400
ここ数ヶ月勉強会などで発表する機会がいくつかあったのですが、最近は技術系スライドをなるべく英語で作るようにしています。そこで英語でスライドを作るメリット・デメリットとちょっとしたコツについて、書きます。

続きを読む

Debotというデバッグメニューを簡単に追加できるライブラリを作りました

f:id:tomoima525:20151006010239p:plain
先日Debotという名前のライブラリをリリースし、勉強会で発表したりしたのですが、主に英語で書いたりしていたので、ブログにも書こうと思います。

デバッグ用ライブラリとしての特徴

youtu.be

続きを読む

第一回 Roppongi.aar(Android勉強会)を開催しました #roppongi_aar

f:id:tomoima525:20150929192413j:plain:w400
9/29に六本木界隈のAndroidエンジニア勉強会である Roppongi.aarを開催しました。今回は発起人である @petitviolet が勤めてらっしゃいますFringe81さんが勉強会会場でした。 Fringe81さんステキな会場を提供いただきありがとうございました!
テンション冷めやらぬうちに、当日の発表スライドやツイート、今後へのフィードバックなどをレポートします。

続きを読む