愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

golangのいいところ

っていうのは、恐らく、「おめーらはうだうだ言うかもしんないけど、俺らの経験から言えばこの言語機能はこれ位で実用上はそこまで問題ないし、その上で充分効率的に実装できるわー」という非常にレベルの高い割り切りなんだろうなー、と。

The Go Programming Language Phrasebook (Developer's Library)

The Go Programming Language Phrasebook (Developer's Library)

まだ全部読み切ってないけど、↑はどうやら中々いい本です。

日本語訳は(Amazonのレビューを全面的に信用するのはありえないと思いつつも)地雷の可能性があるので原著の方がよいでしょう。

2014年度版 ScalaでAndroidアプリを作るの術

前略、ScalaでAndroidアプリを作るのは超簡単ではないが、ロケット工学ほど難しくはない。Javaを除くJVM言語族で最も環境が整っているといっても過言ではないだろう。

android-pluginよ、さようなら

ScalaでAndroidアプリを書くとなると、大体の場合は

jberkel/android-plugin · GitHub

を使うことになるのだが、なんかこのplugin、微妙にハマりポイントが多くてしばらく触っていないと動かせなくなっていることが多い。おそらく僕のsbt周りの知識が浅いせいもあろうが、僕は別にビルドツールの勉強がしたいのではなくアプリが作りたいだけなので、こういう所にはあまり時間を使いたくないのである。

android-pluginは時代遅れ!とまで言う気はないが、今なら他にも選択肢がある、ということは覚えておいて損はない。

android-sdk-pluginよ、こんにちは

で、まあ上記のブツがいけてないので、最近はScaloid作者のオススメっぽいこっちを使ってみることにした。

pfn/android-sdk-plugin · GitHub

作者が言うところの、android-pluginとの違いは以下。

https://github.com/pfn/android-sdk-plugin#differences-from-jberkelandroid-plugin

今のところ、悪くない。android-pluginに何らかの理由でウンザリした経験のある方は使ってみてはどうだろうか。

ライ麦畑でつかまえて

ついでに、どうせなのでScaloidも使っておくといいだろう。これによってFuture使えない問題も解決する(残念ながら僕はまだ使ったことないけど、おそらく解決しているのだろう)。

pocorall/scaloid · GitHub

ちなみにこれと同系統のものにPositronic Netがある。

rst/positronic_net · GitHub

これのEvent Handlerの書き方などは好きなのだが、> 突然のORM < だったり最近あまり開発が行われていない風味だったりなので、今から乗っかるのは止めておいた方が無難だろう。

だからどうって訳じゃないが、既にScalaで書いたAndroidアプリを10個くらいGoogle Playに出している僕の言うことなので、android-sdk-pluginとScaloid、試してみてもソンはない。

追記

giter8のtemplateも一応作っておいたよ!

zentooo/android.g8 · GitHub

50 Android Hacks 開発現場ですぐに役立つヒントとコード

50 Android Hacks 開発現場ですぐに役立つヒントとコード

不便な生活をしていたことは、便利になってみるまで分からない

Panasonic 無接点充電パッド ChargePadチャージパッド ブラック QE-TM101-K

Panasonic 無接点充電パッド ChargePadチャージパッド ブラック QE-TM101-K

これを買いました。結論から言うと、すごく便利。

充電したければ、これの上に携帯をポンと置くだけ。今まで毎日毎日、「充電プラグを携帯に差し込む」という動作をしていたのが馬鹿みたい。あれ、よく向き間違えるしね。

僕がこれを会社で使っていたところ、「それって要るの?(今まで通り)毎回プラグを携帯に差してもそこまで不便じゃないだろう」という意味のことを言われた。

これを買う前の僕も、実はそう疑っていた。携帯を充電するために毎回プラグを差し込むのってそこまで不便か?置くだけで充電できるのって、本当に便利なのか?

実際こういうのって、買って使ってみるまで分からないんだよね。頭の中で想像して、「これ便利か?」「今までのこれってそんなに不便か?」みたいなことを自問してても永遠に分からないし、得るものもない。どうせ4000円程度のものなんだから、ダメでもともと、とりあえず試してみればいい。それで生活が便利になればめっけもんだ。

自分が不便な生活をしていたことって、便利になってみるまで分からないんだ。スマートフォンが流行り出したころにも、「なんだこんなもん、ガラケーで十分便利じゃないか」と思っている人はいただろう。でも、スマートフォンの便利さに慣れきってしまった僕らにとっては、ガラケーは圧倒的に不便だ。スマートフォンを試さず「これでいい」と思ってガラケーを使い続ける人、その人は自分が不便な状態にいることに気づけない。より便利なものがあることを知らないから。ただ、周りだけが進歩していく。

不便な状態に慣れて、「手をかけてやるところがいいんだ」とか「自分の手でやることに意味がある」とか言い始めると、もっと危険だ。不便なものを愛するのは、病気だ。もっと優しく言うと、老化の始まりである。

今の僕らは、充電をするために置くのではなく、置いたついでに充電する。ここまできた。これからは、「携帯充電しないとなー」なんて思うことはなくなり、気がついたら充電されている。そんな便利な未来がいいなあ。

Net::OpenID::Connect::IDToken作った、だいぶ前に

Naosuke Yokoe / Net-OpenID-Connect-IDToken-0.02 - search.cpan.org

OpenID Connectのid tokenをencode / decode+verifyするやつです。JSON::WebTokenの上にのっかっています。a_hashとかc_hashとかもよしなにやってくれる君です。

ちなみにこの道のCPAN moduleとしてはritouさんの作られているRyo Ito / OIDC-Lite-0.06 - search.cpan.orgというものもあるのですが、id tokenをあれこれする部分だけが必要になる向きもあるかな、と思ったので。

じゃあの。