2018年3月に読み終わった本まとめ📚

読んでる本とか過去に読んだ本とかはブクログへ。

operandoOSの本棚 (operandoOS) - ブクログ

自動運転で伸びる業界 消える業界

自動運転が今どんな状態で、日常的に使えるようになったらどういうことが起きるかもしれないのかがわかる一冊ですごい良かった。

これ読んでから自動運転めっちゃ興味わいたので、最近情報おってる。

自動運転で伸びる業界 消える業界

自動運転で伸びる業界 消える業界

伝えることから始めよう

自身がいいと思った商品の良さがどうやったら伝わるかを全力で考えてるのが伝わってきた。

一緒に仕事したい人だなーって思った!

ブランドのコラボは何をもたらすか ~午後の紅茶×ポッキー が4年続く理由~

力を入れたコラボってどうやってるのかを知れるよい内容だった。

お菓子メーカーとかって大変そうだけど面白そう!

売れる販売員が絶対言わない接客の言葉

接客業から学ぶことっていっぱいあるよなーと思って読んでみた。

接客業の言葉遣いや気づかいはアプリやサービスを作っていても参考になることなので読んでよかった。

売れる販売員が絶対言わない接客の言葉

売れる販売員が絶対言わない接客の言葉

新しい市場のつくりかた―明日のための「余談の多い」経営学

本当に余談の多いな!でもいい内容だった!

焦らずゆっくり読むのが良さそう。

新しい市場のつくりかた―明日のための「余談の多い」経営学

新しい市場のつくりかた―明日のための「余談の多い」経営学

セス・ゴーディンの出し抜く力―――先がわかる人は、何を見ているか

出し抜いてるなー!と思う内容でまあまあ面白かった。

統計思考入門 ― プロの分析スキルで「ひらめき」をつかむ

ちょっと今読むものではなかったかなーという感じ。

統計思考入門 ― プロの分析スキルで「ひらめき」をつかむ

統計思考入門 ― プロの分析スキルで「ひらめき」をつかむ

redjuice画集 REDBOX

はー!!!最高!!!

オフィスにおいて疲れたら読んでますw

redjuice画集 REDBOX (イラスト・画集)

redjuice画集 REDBOX (イラスト・画集)

ダンジョンに出会いを求めるのは間違っているだろうか13

安定の面白さだった!

ダンジョンに出会いを求めるのは間違っているだろうか外伝 ソード・オラトリア 4 - 5

次が気になる内容だったので、買って読むかなー!

余命1年のスタリオン 下

うむ、下はなんとも普通の展開だったなーという感じ。

零落

いやーこれいいですね!いいですよ!

ONE PIECE 88

安定のONE PIECE

ONE PIECE 88 (ジャンプコミックス)

ONE PIECE 88 (ジャンプコミックス)

闇金ウシジマくん 42

うー、続き気になるー!って感じ

闇金ウシジマくん 42 (ビッグコミックス)

闇金ウシジマくん 42 (ビッグコミックス)

人形の国(2)

そうか、こんな話だったなーという感じw

人形の国(2) (シリウスKC)

人形の国(2) (シリウスKC)

Lightweight-Stream-APIのStreamにequalsOnlyを実装した話

Lightweight-Stream-APIとは?

Stream API from Java 8 rewritten on iterators for Java 7 and below.

Java 8から導入されたStreamのようなものをJava 7以前で使うためのLibrary

Streamについては調べればいくらでも資料はあるので詳細は割愛します

StreamだけでなくOptionalも実装されているため、AndroidでStream + Optionalを使いたい場合によいLibraryで私はよく使ってます(Kotlinの場合はそこまで必要としませんが...

github.com

Lightweight-Stream-API 特有の中間操作(intermediate operation)

Lightweight-Stream-APIのStreamには、Library特有の便利な中間操作(intermediate operation)が実装されてます

例えば、要素のうちnull以外でfilterする withoutNulls は便利ですね

Stream.of("a", null, "b")
        .withoutNulls()
        .forEach(System.out::println);
// 結果:
// a
// b

このような便利な中間操作はJava 8以降のStreamには実装されていません

Libraryだからこそさくっと便利なものが実装できるのはLightweight-Stream-APIのいいところですね

他にもLightweight-Stream-API 特有の実装はいくつかあるので気になる人は見てみてください!

独自に実装してるとはいえそこまで複雑ではなく、自分でも拡張できそうだなーと思って、今回equalsOnlyという中間操作(intermediate operation)のメソッドを実装してPull Requestを出してみました

equalsOnly - 要素のうち指定したオブジェクトと同じものだけでfilterする

どんなものを実装したのかはごちゃごちゃ説明するよりコードを見てもらうほうが早いです

流れてくる各要素をメソッドの引数で渡すobjectと同じかどうかをチェックしてfilterしてるだけです

/**
* Returns {@code Stream} with elements that is equality of {@code object} only.
* <p>
* <p>This is an intermediate operation.
*
* @param object object
* @return the new stream
*/
public Stream<T> equalsOnly(final T object) {
    return filter(new Predicate<T>() {
        @Override
        public boolean test(T value) {
            return Objects.equals(value, object);
        }
    });
}

ね?実装簡単でしょ!

んで、使い方は以下のような感じでマッチしたものだけ後続のStreamに流れる仕組みです

List<String> match = Stream.of("a", "b", "c")
        .equalsOnly("b")
        .toList();
// match -> ["b"]

どうしてequalsOnlyがほしかったのか

私がやっているプロジェクトのコードでfilterしてequalsするみたいなコードが度々出現していて「これ書くの面倒なー」と思っていたので、実装も楽だしワンチャン提案してみるかーと思った感じです

例えば雑に説明すると、以下のようにfilter内でequalsだけを条件としてる箇所がざっくり数えるだけでも30ヶ所はあるんですよねー

Stream.of("a", "b", "c")
        .filter(s -> Objects.equals(s, "b"))
        .(以降処理は続く...

これをさくっと書きたい! equalsOnlyみたいなの作ればさくっと書けるはず!と思って仕事中に実装して、提案してみた感じです

次のリリースがされたらequalsOnly使えるようになると思うので、同じようにほしかった!!という人は使ってほしい気持ち!!

Pull Requestわりと雑に出したけど案外あっさりMergeされた

とりあえず提案程度にコード書いてみたぞい!って気持ちをぶつけたかったので雑に[Proposal]って頭につけて、Pull Requestの概要にも実装したequalsOnlyの使い方だけわかるコードを書いてみた

実際のPull Requestは以下です

github.com

同僚には「それはさすがにMergeされないのではー?」って言われて、「せやな」って気持ちだったけど、朝起きてみたらMergeされてた

Javadocとテストコードをちゃんと書いておいてよかったなーという気持ち

Libraryとしてテストコード書くっぽい! + 勝手にCI回ってテストしてくれる!というのは、コントリビュートする側としてはなんか安心するので良いなーと思った

実装されたものがいい感じでテストも書いて通ってれば、ごちゃごちゃ英語で説明書かなくても通じる世界はある!みたいなとても楽観的な考えでやっていきだなーと思った次第です

とはいえ私みたいなのが量産されるのは微妙なので、英語はちゃんとできるようになりたいものです...

v1.2.0で実装したequalsOnlyが追加されてました - 2018/06/20 追記

めでたい!

Added Stream.equalsOnly operator (thanks to @operando)

github.com

Lightweight-Stream-API もっと便利になってほしい!!

無法地帯にならない程度に便利なメソッドなど増えてほしいぞ!!

私も他に便利そうなの思いついたらまたPull Request出すぞ!!

2018年2月に読み終わった本まとめ📚

読んでる本とか過去に読んだ本とかはブクログへ。

operandoOSの本棚 (operandoOS) - ブクログ

革命のファンファーレ 現代のお金と広告

なるほどねーとなる内容だったので、読んでよかった

〈インターネット〉の次に来るもの 未来を決める12の法則

〈インターネット〉の次に来るもの 未来を決める12の法則

〈インターネット〉の次に来るもの 未来を決める12の法則

もう少し前に読んでおけばよかったなーと思ううくらいにはいい内容だった

本屋になりたい ――この島の本を売る

こーゆー話いいよね!面白かった!

ソーシャルデザイン ideaink

ソーシャルデザイン ideaink 〈アイデアインク〉

ソーシャルデザイン ideaink 〈アイデアインク〉

ソーシャルデザインとはなんぞや!がさくっと知れる内容で良かった!

なぜアマゾンは「今日中」にモノが届くのか

なぜアマゾンは「今日中」にモノが届くのか

なぜアマゾンは「今日中」にモノが届くのか

まあまあ面白かった

なめらかなお金がめぐる社会。 あるいは、なぜあなたは小さな経済圏で生きるべきなのか、ということ。

普通

少年ジャンプが1000円になる日~出版不況とWeb漫画の台頭~

普通

うみべの女の子 1- 2

うみべの女の子(1)

うみべの女の子(1)

うみべの女の子2

うみべの女の子2

なんとも言えない感じだけど最高だった!!

HUNTER×HUNTER 35

HUNTER×HUNTER 35 (ジャンプコミックス)

HUNTER×HUNTER 35 (ジャンプコミックス)

やっぱり面白いよね!

キノの旅XVI the Beautiful World

安定のキノの旅だった

ぼくらの犯した罪の半分

ぼくらの犯した罪の半分【文春e-Books】

ぼくらの犯した罪の半分【文春e-Books】

まあまあ面白かった

余命1年のスタリオン 上

まあまあ面白かった

Firebase SDK 11.8.0だとアプリがbackgroundの時にFirebase Notificationで送ったPushを受け取ると通知アイコンがおかしくなる

はい、タイトル長いですね

「Firebase SDK 11.8.0だとアプリがbackgroundの時にFirebase Notificationで送ったPushを受け取ると通知アイコンがおかしくなる」

つまりそういうことです、はい

通知のアイコンおかしくなるんですよ!

指定してるカラーで塗りつぶされてしまう端末もあります!

f:id:operando:20180222232441p:plain

色々調べた結果、どうやらLibraryのbugみたいです。

バージョンによってアイコンがおかしくなったり、ならなかったりっぽい。

FCM(HTTP protocol)でPushを送った場合はちゃんとアイコン表示されてそう?かも。

github.com

stackoverflow.com

issue上では以下のように書いてあるので、アップデートを待つか、Libraryを11.6.0へダウングレードするしか解決方法はなさそう。

ダウングレードは他のbugがあるから気をつけてね!状態らしい

This is a known issue with the 11.8.0 SDK, it should be fixed in the next release.

You can downgrade your Firebase SDK to 11.6.0 if you are careful to avoid this critical bug: #382

Firebase Android Release Notesをチェックしながらアップデートを待ちますか...

https://firebase.google.com/support/release-notes/android

2018年1月に読み終わった本まとめ📚

読んでる本とか過去に読んだ本とかはブクログへ。

operandoOSの本棚 (operandoOS) - ブクログ

本の逆襲

本の逆襲 (ideaink 〈アイデアインク〉)

本の逆襲 (ideaink 〈アイデアインク〉)

本をこれからもっと面白いものにしていきたい自分としてはすごくいい内容だった!

MBAより簡単で英語より大切な決算を読む習慣

MBAより簡単で英語より大切な決算を読む習慣

MBAより簡単で英語より大切な決算を読む習慣

まーなるほどーって感じかなー

Airbnb Story

Airbnb Story

Airbnb Story

前半は面白かった!

HAB 新潟

HAB 新潟

HAB 新潟

本といっても関わる人によって色々あって面白いなーという内容だった!

フィルターバブル──インターネットが隠していること

フィルターバブル──インターネットが隠していること (ハヤカワ文庫NF)

フィルターバブル──インターネットが隠していること (ハヤカワ文庫NF)

フィルターバブル深刻だなーと日々思う

新しいメディアの教科書

普通

出版月報 2017年11月号

出版月報 2017年11月号|全国出版協会・出版科学研究所

電子書籍の現状がまとまっててよかった!

舟を編む

舟を編む (光文社文庫)

舟を編む (光文社文庫)

面白かった!

打ち上げ花火、下から見るか?横から見るか?

映画も見たけど小説も面白かった!

キノの旅XV the Beautiful World

安定のキノの旅!読んでなかったやつを読み始めてる!

キノの旅XX the Beautiful World

安定のキノの旅!読んでなかったやつを読み始めてる!