4月28-5月2日(現地3泊4日)で、モアイで有名なあのイースター島を旅行してきました。ガイドブックは持っておらず、滞在中は現地の人に話を聞いて観光してきました。ガイドブックには載ってない(あるいはなさそうな)ナマの現地情報をまとめてみます。
今週のお題「ゴールデンウィーク2016」というのにもちょうどマッチしたテーマです。
RxJavaで再帰処理をする、あるいは集合知は素晴らしいという話
先日、TwitterSDKのTwitterApiClientについてちょっとしたTipsを書こうと思い、サンプルアプリを作り始めました。当初はシンプルなものにする予定だったのですが、RxJavaを勉強中ということもあり、RxJavaで再帰処理を実装してみることにしました。この実装についてAndroidのSlackチームであるandroid-jpにて相談したところ、@hydrakecatさんより素晴らしいフィードバックをいただくことができました。
Slackでせっかく得られた知見は流れてしまうので、ここにまとめておきます。最終的な成果物だけ興味ある方は一番下の実装見ていただくとよいです。
tl;dr
- 再帰処理はSubjectを使うと効率よく書けるよ
- android-jp は最先端のAndroid開発に関する集合知
個人でサービス、OSS開発をする時にモチベーションを継続させるノウハウ
個人で(≒会社とは別に)サービスやOSS開発することは、会社で身につけられる以上のスキル、実績が得られたり、コミュニティを広げたりするなどメリットが多くあります。
自分自身もこれまでいくつかサービスやOSSを開発してきたのですが、一番課題なのが、モチベーションの継続です。最初はテンション高く開発しますが、段々とやる気が下がってきます。一旦リリースした後のメンテも面倒です。そうしていくつかのサービスをクローズしてきました(涙)。
けど、これってとてももったいないです。そこで意識して改善した結果、TwitCalというカレンダーアプリを開発期間も含めると1年間以上継続してメンテ、機能追加を続けられました。今回は自分がどうやって取り組んできたかを整理してみたいです。
※ 飽きっぽい性格だったりなかなかサービスを継続メンテできない方向けです。たった1年?何言っているの?という方はそっ閉じしてやってください。
続きを読むRxjavaで川をズンドコする
Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから
— てくも (@kumiromilk) 2016年3月9日
「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた
このツイートを見て。
Rxjavaでズンドコしてみました。ご査収ください。
public class Zundoko { private static final String ZUN = "ズン"; private static final String DOKO = "ドコ"; HashMap<String, Integer> map = new HashMap(); Integer[] zundoko = {0, 0, 0, 0, 1}; Random rand = new Random(); boolean isKiyoshi = false; public void run(){ map.put(ZUN, 0); map.put(DOKO, 1); LinkedList<String> list = new LinkedList<>(); while (!isKiyoshi) { list.add(rand.nextInt() % 2 == 0 ? ZUN : DOKO); if (list.size() > zundoko.length) { list.removeFirst(); } System.out.println("¥¥ " + list.getLast()); doLambdaKiyoshi(list); } System.out.println("¥¥キ・ヨ・シ!"); } public void doLambdaKiyoshi(List<String> list) { Observable.from(list) .map(s -> map.get(s)) .toList().map(zunInts -> { if (zunInts.size() < zundoko.length) return false; return Arrays.equals(zunInts.toArray(new Integer[zundoko.length]), zundoko); } ).subscribe(matched -> isKiyoshi = matched); } }
エンジニアが手早く英作文をする時はかどる Tips
GithubのPRや海外Slackチャンネルでチャット、はたまた英語圏のエンジニアとやりとりする等、英語で文章を書くことはしばしばあります。そんな時、自分がよく使っている方法について書きます。
先に一番大事なこと
大事なことは、英語はあくまでもツールだということです。伝えたい内容が重要であり、英文を書くことに時間かけることはエンジニアにとって不毛です。 よっぽど英語が得意な人でないかぎり、一から英作文すると時間がかかって本質的でないところで時間を消費するということです。 なので一から文章を考えるのでなく、なるべく"型"を知ることがポイントだと考えています。それを踏まえた上で御覧ください。
続きを読む内なるストーリーが魅力を作る
今日あった出来事がとても腑に落ちたので、忘れないように書きます。
スマートニュースのサンフランシスコ・オフィスが魅力的だった話
機会があって、サンフランシスコにあるスマートニュース(以下スマニュー)のオフィスに遊びに行かせていただきました。
場所はサンフランシスコのほぼ中心部にある古い建物のワンフロア。内部をリノベートしたとのことでしたが、なんとスマニュー社員が全ての設計デザインを担当されたとのこと。
中央の広間からぐるりと見回すとオフィス全体が見渡せるくらいの広さだったのですが、細部にいたるまで、色々なこだわりを感じるオフィスでした。