bouzuya.hatenablog.com

ぼうずやのにっき

『神戸Rustの会 #1』に参加した

神戸Rustの会 #1』に参加した。

Rust は触ったことがない。名前くらいは知っているし、雰囲気も伝え聞くけど触ったことがない。近くで会があるということなので、参加しつつ、触ってみた。

プログラミング言語Rust

を見ながら進める形。細かい質問が次々と入って進んでいなかった。ぼくはもくもくと進めて、最初の例は終わらせた。

第一印象としては rustup といい cargo といい、 tool 類がいまっぽい感じ。短めのキーワードと ;{} のある構文で、古い感じ。静的型検査はありがたい。パターンマッチなども当然のようにある。癖の強さや強い魅力を感じるような例は最初の例になかった。ところどころ &mut など怪しさはあるけど、詳しい説明はなかった。

会のほうは和やかな感じ。人数も 10 人くらいで、多すぎず少なすぎず。 LT で既にいろいろつくった人の話があって良かった。

もうすこし続けたいな、 Rust 。

Heroku で Docker を使ってみた

Heroku で Docker を使ってみた。

Heroku は beta ではあるが Docker サポートをしている。詳細は公式のドキュメントを参照してほしい。 Container Registry and Runtime | Heroku Dev Center

特に迷うこともなく利用できた。 git push でアプリケーションが動くイメージから docker push でアプリケーションが動くイメージに変わる感じ。 pull してくれるともっと良い気もするけど、十分に良い。 Travis CI からの Heroku (Docker) へのデプロイも問題なく動いている。

いままでは bouzuya/mr-jums を直接 Node.js アプリケーションとして動かしていたのだけど、これからは Docker イメージ経由で Node.js アプリケーションとして動かすつもりだ。理由は次のツイートからの一連のツイートを見てほしい。

箇条書きすると次のような要求がある。

  • client-side のための js を Travis CI でビルドしたい。
  • client-side のための js を Amazon S3 にデプロイし、 CloudFront 経由で配信したい。
    • 最新のビルドだけでなく、過去のビルドも残したい。
  • client-side のための js は hash をつけたい (例: bundle-50fa479d58.js) 。
  • server-side のための js は client-side のための js を HTML に埋め込んで返したい (例: <script src="https://s3.amazonaws.com/bucket1/bundle-50fa479d58.js"></script>) 。
  • server-side のための js は Travis CI でビルドした際の hash を知りたい。
    • Docker image に埋め込もう。

mr-jums は最終的には静的ファイルを出力できるようにするつもりではあるのだけど、ほかにも業務の事情から検証しておきたい構成があって、 Docker + Amazon S3 + CloudFront を試したい。

上記の検証の第一歩として Heroku で Docker を試してみた。

古い HDD の採掘

斑鳩の録画のために古い HDD を空けようと、中身を整理していた。いろいろ出てくる。

多くのファイルの日付は 2008, 2009, 2011, 2012 あたりだ。だが、おそらくそれよりも前の HDD から移したものもかなりありそうだ。高校時代と思われるデータも出てくる。

個人的には「あふ (AFX) 」や「 CraftLaunch 」を使っていた頃の環境が面白い。懐かしい名前のプログラムが山ほど出て来る。窓使いの憂鬱 / Proxomitron / マウ筋 / BitDiffender / Kerio Personal Firewall / DF / Stirling / IrfanView / foobar2000 / Sylera / TClock / Media Player Classic / Fast Copy / Samurize / CLCL ……。ぼくのつくった小さいツールなど (名前を出すと昔の名前がバレるので書かない) も出てくる。

まるで化石の採掘だ。時期によって xyzzy から Vim に移っていたり、あふから Paper Plane xUI や、CraftLaunch から CraftLaunch Ex に移ろうとした後が見えるなど。層がある。何度もいいかげんな整理を経たことで old_hdd/ の中に old_hdd/ があるなどしていて、ひどい。

最近はめったなことじゃ Windows は使わないし、使うときも会社のものなので、いろいろ入れたりしない。それに当時ほどの気力もない。

懐かしくなって検索してみたら、林檎の木 にあるものをそこそこ使っていた気がする。当時は、自分の使っているものが掲載されていく形だった気がするし、こんなデザインじゃなかった気もするのだけど。

ああ、そうだ。斑鳩の動画のためには結局もうひとつ HDD を買うことにした。

斑鳩 6 ミス

惜しかった。斑鳩。 6 ミス。

動画を公開するつもりだけど、まだ準備ができていない。

ここまでの結果をまとめてみた。過去のコンティニューで計測していたものは取り得る最悪の値で置換した。

Android Chrome は高さがアドレスバーに影響されなくなっている

bouzuya/mr-jums を触っていて気づいたことには Android Chrome のアドレスバーの挙動が version 56 から変わっている。

URL Bar Resizing | Web | Google Developers

100vhhtml { height: 100%; } としたときの高さが、アドレスバーの表示・非表示によって変わらなくなっている。(正確な説明ではないので上記の記事を参照してほしい)

この変化によって bouzuya.net のガタツキがなくなっているものの、mr-jums.herokuapp.com のナビゲーションの下半分がファーストビューから落ちて隠れるようになってしまった。

ブラウザをどうこうは厳しいので、 bouzuya/mr-jums の UI を変更することで対応するつもりだ。

2017-W10 ふりかえり

2017-W10 をふりかえる。

2017-03 の目標

  • ☐: 『型システム入門』を読む
  • ☑: 斑鳩を続ける
  • ☑: bath 2.0.0 をつくる
  • ☐: PureScript でなにかつくる

2017-W10 の目標

  • ☐: 毎日、週の目標を確認する
  • ☑: 毎日、斑鳩をする
  • ☑: cyclejs-history-driver のことを書く
  • ☑: ザ・ゲームのことを書く
  • ☑: 『イノベーションのジレンマ』のことを書く
  • ☐: mr-jums に bath 2.x を適用する
  • ☐: 斑鳩の動画を投稿する

週の目標はもっと分かりやすいところに置くべきだな……。

今週の記事

つくったもの

2017-03-06/2017-03-12

mr-jums をいろいろ直している。直そうとして破棄した branch が何度かある。 bath を組み込みたかっただけなのだけど、そのためには history を……、 history のためには entry-list を……とあれこれ出てきた。

いまさらだけど yarn を入れてみた。各種 CI サービスなどでも大した手間なく動くようなので、使っていくことにした。

その他

斑鳩。最高記録の更新はなし。 ALL ではなく C5 の練習を重点的にやっている。C1-C4 はノーミス。C5 は 1 ミス A++ が最高だ。欠かさず続けている点は良い。過去の最高をすべて組み合わせると石を含めても 4 ミスを切っている。つまり運さえ良ければクリアできるのだけど、現実的にはもっと安定させないと難しいだろう。 C5 の 1 ミスが安定すれば、射程圏内だろう。

2017-W11 の目標

  • ☐: 毎日、週の目標を確認する
  • ☐: mr-jums に bath 2.x を適用する
  • ☐: 斑鳩の動画を投稿する

雑記 -- ワイルドミニ四駆ほか

食洗機を注文してきた。工事は来週。

ついでにワイルドミニ四駆シリーズの No.13 マンモスダンプを買った。昔、このシリーズのどれかを持っていた。すごいパワフルに動いた記憶があったんだけど、いま見てもそのとおりだった。気になったのは、駆動音がややうるさいこと。あとは電源スイッチの ON -> OFF が異常に固くて暴走状態から戻せなくて、慌ててばらして電池を外すっていう。昔もこんな風でボディを付けずに遊んでいたような気がしてきた……。

妻の実家で食事会。意外と人が多い。