2018-11-06: 京都から帰ってきた
やったこと
Google Keep
予定とかやったことのメモにGoogle Keepを使い始めた。雑に使っていけばいいと思ってる。
帆布の鞄を買った
朝6時半くらいに起きて、ホテル近くのなか卯で朝食セットの目玉焼きを食べた。結局ホテルの朝食は一度も食べなかったな‥‥。
その後時間を潰してから、九時過ぎにホテルをチェックアウトする。それから電車で京阪三条まで行って、一澤信三郎頒布という鞄屋に向かったのだけど、なんと定休日だった。わざわざ九時に開くことを調べてきたのに、定休日とは‥‥。ぐぬぬ。
そのあとしばらく歩いていたら、くれあ〜れききという鞄の店を見つけた。こちらは11時開店のようだったので、一旦近くのコメダ珈琲に入る。ミルクコーヒーを頼んだらモーニングもついてきてビビった。朝食が早かったので普通に食べれたが。11時になるまではCrystalにPRを出していた。マクロのダブルスプラット引数がドキュメントに表示されないというやつ。実装を見たらダブルスプラット引数は表示する処理は存在していたけどバグっていて、ついでにブロック引数はそもそも表示する処理が実装されていなかった。メソッドの方は正しく実装されていたので普通にバグでいいと思う。あとテストも書いたのだけど、ドキュメント周りテスト少なすぎだと思う。ふざけんな。
https://github.com/crystal-lang/crystal/pull/7029
あと、理想としてはマクロ内にyieldを含んでいる場合もブロック引数名を追加できた方がいいと思うんだけど、そこは大変そうなので実装していない。そのうちやる。
で、11時になったのでくれあーれききに行った。
柿渋染めの鞄がいい感じで、MacBook Proもしっかり入ってくれそうだったので買った。1万4000円。結構高いけど、長く使えるものだと信じて買う。修理とかも出来るっぽいし期待したい。ともかく見た目は良い。
そのあとは、半年くらい前にも寄ったコワーキングスペースのSPACE KANTEに来た。値段が2000円に上がっていたけど、そもそも前の値段を覚えていないので問題は無い。普通に快適なので良いと思う。
Reactのhooksを使ってみてる
crystal.tokyo #8で使ったスライドをGatsbyでサイトにして公開しようと思っていて、その中で使えそうなので試してみてる。重要なのはreactとreact-domのバージョンをどちらも16.7.0-alpha.0に揃えること。じゃないとよく分からない感じで死ぬので注意。
使ってみた感想としては、まあ動く。componentDidMountに1行書いてるだけのコンポーネントとかなら、これを使うのはありなのかもしれない。状態を持ってるコンポーネントはどうなんだろう‥‥。
知恩院に行った
コワーキングスペースで色々やったあと、適当に歩いてApple Store京都に行った。普通のApple Storeだった。MacBook Airが楽しみ。
そこから東に歩いて、八坂神社の方に行った。八坂神社がライトアップされていてすごかったのだけど、そこから少し先の知恩院というところのライトアップがすごかった。門に登ることもできて、そこから見えた夜景は良かった。
本当はそこからさらに先の青蓮院門跡というところに行こうと思っていたのだけど、気力が持たなかったので帰ることにする。
四条までがんばって歩いた。途中の天下一品祇園店で味かさねを食べた。結構おいしい。というかニンニク多めなので元気になるね。
それから烏丸線で京都駅に戻り、新幹線で東京に帰る。疲れた‥‥。
帰宅オタク
新幹線の中でPull Requestを出した。
https://github.com/crystal-lang/crystal/pull/7031
ダブルスプラットが実装されたときにドキュメントジェネレータへの対応がまるっと抜けていたらしい。おいおい。
あとRX14が思い出したように網羅性チェックのやつにコメントした。対するAryのコメントは的を得ていない。それは一時間もあれば修正できる。というのも、今は網羅性をチェックできたcaseを、
# Before
case foo
when Int32
b = 1
when Bool
b = 2
end
# After (current)
begin
if foo.is_a?(Int32)
b = 1
elsif foo.is_a?(Bool)
b = 2
end
end.not_nil!
みたいに変換してるからbの型がInt32?になってしまう。ぶっちゃけこれは手抜きなので、こんな風に直せば、
# After (new)
if foo.is_a?(Int32)
b = 1
elsif foo.is_a?(Bool)
b = 2
else
raise "適切なエラー"
end
bの型は正しくInt32になる。なにも問題じゃない。
が、そのあとのRX14の発言はそこそこしっかりしてると思った。caseを常に網羅性チェックするものにした場合のメリットをこれまでの議論を踏まえてまとめつつ、仕様をしっかり決めてアンケートを取って同意を得るべきだ、と言ってる。すごく正しいと思うのだけど、そこまで今やる気がない。
寝よう。おやすみなさい。