bouzuya.hatenablog.com

ぼうずやのにっき

bouzuya/bs-code 2.0.2 をつくった

2018-06-04bouzuya/bs-code 2.0.2 をつくった。

bs-code は Visual Studio Code の拡張でぼくのメモ取りツールだ。 2016-10-11 からすこしずつ機能を増やしたり、放置したりしている。あまり良いものではない。

今回の修正は速度の改善だ。 2018-06-01 に書いたとおり、データが増えたときに動作が遅くなるのを直した。無意味にすべてのファイルを読み込んでいたので、まず 1 日分を読むように直した。

当たり前だが、劇的に早くなった。


この数日は天気が悪いせいか、調子が悪い。元気が出ない。

ぼんやりしている

ぼんやりしている。


今日は slamdata/purescript-halogen-vdom (の 2.0.1) を見ている。

特に Halogen.VDom.MachineHalogen.VDom.Types を。ほかのモジュールは DOM (purescript-dom) に依存しているので、とりあえず、ここを見ている。ちなみに Matt-Esch/virtual-dom2016-01-26 に読んでいる。 snabbdom/snabbdom も Cycle.js の関連である程度は。

Types は VNode っぽいあれこれが入っていて、 Machine は状態遷移を管理するっぽいのが入っている。ふーん。

bouzuya/bs 0.1.0 をつくった

昨日 (2018-06-03) に bouzuya/bs の 0.1.0 をつくった。

bs は blog.bouzuya.net (bbn) の 5.x に関連したメモ取りツールだ。……と言ってもこのリポジトリはずっと空で、実体としては bouzuya/bs-code にある Visual Studio Code 拡張だった。さらにそちらもほとんど放置しているのだけど……。

ここまでの流れは 2018-06-012018-06-02 にすこしだけある。 bs-code の動作の遅さを直すついでに bs へ処理を移動し、そのついでに PureScript で npm パッケージをつくってみることにした。

bs の中身は大したことのない (やや汚い) ひとつの関数だ。少なくとも現状は。

bs は PureScript で書いている。 PureScript は JavaScript に変換されるし、周辺パッケージは Node.js に依存するものが多い。しかし PureScript で書かれている npm パッケージを、ぼくは知らない (知らないだけであると思うんだけど) 。

今回は PureScript 0.11.7 を使用した。もう 0.12 が出ているのだけど、まだ周辺のパッケージが整備されていないし、公式サイトのドキュメントもきちんと更新されていないような状況なので見送った。

また今回は psc-package を使用した。つまり bower の使用を避けた。この理由は↑と同じで 0.11 から 0.12 への過渡期なので、下手に 0.12 対応のパッケージをインストールするとハマると踏んだ。

困ったポイントは PureScript から生成されたファイルに module.exports = ...; を書く方法がないことだ。

output/ に出力するファイルは require('./output/Main').main() のように使える。ただ output/ には開発やテストの依存関係も含まれている。不必要なファイルを含んでしまう。

pulp build で出力されるファイルはひとつのファイルにまとめられているし、 --optimise をつければ未使用の関数は削られる。しかし、 module.exports されない。 var PS = {}; されたオブジェクトに突っ込まれるだけ。困る。

良い方法を思いつかないので npm script の preparemodule.exports = PS['Lib']; を生成済みファイルに書き込んだ。

とりあえず動くようになったので、ここで区切り。

2018-W22 ふりかえり

2018-W22 をふりかえる。

2018-W22 の目標 とその記事

目標。

  • ☐ bouzuya/tamaru v1.0.0 をつくる
  • ☑ 2018-05 のふりかえりを書く

記事。

目標は未達成。 bouzuya/tamaru はまだ半分くらい。 bouzuya/bs-code を直すために bouzuya/bs をつくった。それが今日。明日はそれについて書く。言い訳をしておくと、土日は妻と出かけているために時間がつぶれている。あとはぼくの気持ちの問題だ。

つくったもの

2018-05-28/2018-06-03

bs はたったひとつの関数をつくっただけ。ただ PureScript を使った npm package の例になっている。 PureScript v0.11 なので、 v0.12 が普及すれば参考にならなくなるだろうな。

fwt は画像サイズの自動調整によるバージョンアップ。

よんだもの

(なし)

組織論』を読んでいる。……が、あまり進んでいない。あと半分くらいかな。

みたもの

2018-05 からの週 2 本の制限がある。今週は大丈夫。

その他

土日は妻と出かけている。歩いたほうが良いらしいので、不必要に歩いている。土日ともに天気が良かったので、自覚はないが日焼けしていそうだ。小学校は運動会の時期のようだ。

今日は妻と『マリオテニス 64 』で遊んだ。何世代前だか分からないけど、費用分くらいは楽しめている。ちなみに最近のは相手のラケット破壊を狙えるらしい。

今週は PureScript で素朴にテストを書けたことや npm package のための JavaScript に使えることを試せたことが良い点だろう。

すこしずつでも腕立て伏せを続けられている。良い。

2018-W23 の目標

  • bouzuya/bs のことを書く
  • bouzuya/bs-code v2.0.2 をつくる
  • bouzuya/tamaru v1.0.0 をつくる

散歩 / 『ジャスティス・リーグ』を観た

bouzuya/bsgetPrevFile を追加した。だいたい動くが、まだ怪しい。もうすこしテストを追加したい。あまり時間を避けていない。明日の mockmock.dev でなんとかなるかな……。時間のほとんどは↓の妻との活動にあてられている。


妻とおでかけ……というか、家の近くを散歩した。 1 時間ほど。良い天気で緑が元気だった。帰りに近所のとんかつ屋に行く。若者向けなのかな、量が多くて厳しい。


ジャスティス・リーグ』を観た。ネタバレを含むかもしれない。

マーベル・シネマティック・ユニバースの次は DC エクステンデッド・ユニバース……というわけでもなく、気まぐれに。例によって観る順序が悪い。『マン・オブ・スティール』は 2016-07-27 で観ているけど、それ以外はまったく観ていない。『バットマン vs スーパーマン ジャスティスの誕生』も観ていない。……というか知らなかった。

いきなりスーパーマンは死んでいた。たぶん前作でバットマンが勝利したんだろうな。冒頭からネタバレされている。あの異常に強い女性はたぶんワンダーウーマンなんだろうな。前提知識がなくて分からない。映画の予告は見かけたし、ちょっと観たかったんだけど、結局のところ観ていない。

全体的にどうしてもアベンジャーズを意識してしまう。バットマンとフラッシュ (?) の組み合わせはアイアンマンとスパイダーマンに見えてしまう。細かい属性単位でそういうのが気になってしまう。マントを見るとドクター・ストレンジやヴィジョンを想像してしまう。観る順番の問題な気もする。

観ていて思ったのは、メンバー全員が並ぶ絵って少ないほうがいいんだなってこと。アベンジャーズでなかなか揃わなくて「もっと見せてくれれば……」って思ってたんだけど、ジャスティス・リーグでわりとそれが多いものの、いざ観てみると「どうなんだ……」って。ここぞというところを絞ったほうが効果的なのかもって思った。

あとスーパーマンが強すぎる。

bouzuya/bs-code を直そうとしている

bouzuya/bs-code の動作の遅さを直そうとしている。

bs-code は Visual Studio Code の拡張で、ぼくがメモを取るのに使っている。

ひどく雑な実装をしているせいで、データが増えるにつれて動作が遅くなってきた。そこでマシな実装に直そうとしている。

せっかくなので bs-code に埋まっているものを bouzuya/bs に移したい。 @bouzuya/bs として npm に公開したそれを bs-code は参照する。こういう形にしたい。

ついでに PureScript を使おうとしている。 PureScript は AltJS なのだから、ただ JavaScript の代わりとして使っても良いはずだ。まずそうなのは TypeScript の型がないこと。 minoki/purescript-tsd-gen こういうヤバそうな道具も転がってたりするので、どうせなら試してみたい。

「せっかく」・「ついでに」・「どうせなら」が並んでいるあたり、危ない感じはするが、やること自体は難しくないはず。土日でなんとかしよう。

2018-05 ふりかえり

2018-05 をふりかえる。

2018-05 の目標

  • Haskell or PureScript or Rust で毎日 1 コミットはする
  • ☐ 毎日 1 ページは本を読む
  • ☐ ゲームはしない、漫画は買わない、映画は週に 2 本まで
  • ☐ 運動を続ける、日付が変わるまでには寝る

コミットは OK 。結局 PureScript で進めている。

読書はダメ。気まぐれに読んでいる。

ゲームは妻が入るときだけにできている。漫画は買っていない。映画は一度だけはみ出した。翌週で調整したのでならせば 2 本になっている。

運動はしている。そんなに成果はなさそうだけど。維持。日付が変わるまでに……がマチマチだ。

週別のふりかえり

つくったもの

2018-05-01/2018-05-31

PureScript のちょっとしたものをつくっている。 sneek っぽい機能の fwt を無事に公開できた (2018-05-04) のは良かった。いまは tamaru を進めている。

ここには挙げていないが、 fgb (private) もわりと機能を増やしている。

今月は GitHub で PureScript として判定されているリポジトリに毎日コミットができた。ほとんど意味のないものもあったので、そういうものはなしにしていきたい。

2018-06 は tamaru の公開とその次をつくっていきたい。あとは Backlog API v1 が遂に廃止されるので何とかしないと……。 v2 は特に何もなくてもわりと手軽に使えるので、無理につくらなくても良い気はしている。

よんだもの

組織論』を読んでいる。『純粋関数型データ構造』は投げてしまっている。

読書は習慣化されていない……。

みたもの

映画 (動画) 。

2018-04 の反省で目標に週 2 本制限を取り入れたのは良かった。 Amazon Prime ビデオの利用頻度を下げられた。

その分の具体的な何かがあるとは言えないけど、担当する家事が増えているような……。

その他

勉強会はなし。

ゲームはなし。妻はピクロスをしている。たまに手伝う。

おでかけ。アベンジャーズとリズで 2 回も映画に行っている。あとは通院とかかな。 妻の仕事がなくなった (2018-05-13) ので、出かける頻度は増えそう。

その他。

運動。 2018-04 にも書いたストレッチと腕立て伏せを継続できている。そのおかげか症状は出ていないのだけど、いつまた腰痛が再発するかは不安だ。睡眠時間は相変わらず乱れがち。

支出が減った。買い物は意外としていない。

2018-06 の目標

2018-04/2018-06 の方針 (2018-03-31) も参照。

  • ものをつくる 毎日 PureScript で 1 コミット bouzuya/tamaru をつくる
  • 何かをつかう (ためす) 何か新しいものを……
  • 時間をつくる ゲーム・漫画を避ける・映画は週に 2 本まで
  • 健康をたもつ 運動を続ける、日付が変わるまでには寝る

おおむね 2018-05 から継続。 bouzuya/tamaru は完成させる。 PureScript 0.12 や psc-package への移行がある。 Helix が明日に買えれば、それをつくるかもしれない。新しく何かを試したいけど、具体的に何ってのが思いつかない。世間的に新しいものでない定番のものでも、ぼくにとって新しければ良いんだけど……。