bouzuya.hatenablog.com

ぼうずやのにっき

bouzuya/purescript-fixdeps 0.1.0

bouzuya/purescript-fixdeps 0.1.0 をつくった。

purescript-fixdeps は spago.dhalldependencies から取り除いても (間接的に) 解決できる依存関係を取り除くコマンド。例えば ["arrays", "strings"]spago.dhall に書かれているとする。 strings の依存関係には arrays が含まれている。だから arrays を書かなくても strings から間接的に arrays は解決できる。コマンドの実行結果は ["strings"] を返す。


bouzuya/purescript-npm-bin-w010-history 2.0.0 をつくった。

bouzuya/w010history.md に YYYY-Www の表示を追加するための変更だ。いままでは mockmock.dev の # で表記してきた。この表記だと週が分かりにくいので実施した週に変更した。


bouzuya/purescript-at-coder ABC109 A / B / C 。

bouzuya/purescript-at-coder のテンプレートをかえた

bouzuya/purescript-at-coder のテンプレートを変えてみた。

src/Main.purstest/Main.purs の変更を不要にした。以前はこの変更が必要だった。これを忘れて WA を出したことも何度かある。↓のような形で問題の名前を渡すことにした。

TASK=ABC111B npm start
TASK=ABC111B npm test

本当は npm test -- ABC111B のように引数を指定して test/Main.purs でその引数を解釈したかった。しかし spago testABC111B という引数を渡すと purs compile への引数だと解釈されてしまった。諦めて↑のようにして Process.lookupEnv環境変数から取得した。

あとはテストを標準入力・標準出力のテキストファイルだけにした。↑の簡単な指定のためと実際問題ほとんど書いていないから。必要ならそのときだけ足せば良いと思っている。


ABC110 A B C を解いた。

2019-W16 ふりかえり

2019-W16 をふりかえる。

2019-W16 の目標 とその記事

目標。

  • [x] GitHub security alerts を減らす
  • [x] モグラーニャをクリアする
  • [x] w010 v4 のことを書く
  • [ ] 『 Haskell 入門』を読む
  • [ ] repository-list 1.0.0 をつくる

記事。

つくったもの

2019-04-15/2019-04-21

blog.bouzuya.net 4.9.2 は GitHub security alerts 対応。

bs-code 2.4.0 は YYYYMMDDTHHMMSSZ を開けるようにした (2019-04-18) 。

jekyll-markdown-parser 2.0.0 は GitHub security alerts 対応。

kraken 3.7.7 は GitHub security alerts 対応。

purescript-at-coder は毎日の AtCoder 過去問題。

purescript-examples は Haskell 入門の attoparsec を string-parsers で書き直したものを追加した。

w010 はルール v4 についてを README に追加した (2019-04-15) 。

今日は mockmock.dev #213 w010 2019-W16 として httpure-users 0.1.0 をつくった (過去のものは bouzuya/w010 を参照) 。 cprussin/purescript-httpure を使った JSON を返す Web API 。 User リソースを試しに実装している。 HTTPure を試している。素朴だけど良さそう。 bouzuya-packages に含まれているあれこれよりも良さそう。

よんだもの

今日は米澤穂信さんの『満願』を読んだ。『関守』のいかにもフラグが立っている感じは好み。

みたもの

その他

ゲーム。 2018-11-24 からの BLUE REVOLVER 。停滞中。 2019-01-03 からの大乱闘スマッシュブラザーズ SPECIAL 。オンライン。勝てない。 2019-03-03 からのモグラーニャをクリア (2019-04-19) 。 Poly Bridge は OST を作業 BGM にしている。

買い物。特になし。

体調。慣らし保育の関連で朝がすこし早くなっている。眠い。

育児。歯が見えてきた。下 2 本。ミルクの量が心なしか減っている。移行してくれるかな……。

さて。

今週は GitHub security alerts への対応をしている。あと十数個対応すれば終わる。そこからは Issue 対応と TypeScript リポジトリの削減かな……。

モグラーニャをクリアしてひとつ減らせたのは良い。ゲームを目標にはなるべく行動したくないな。基本的に休みや合間の楽しみにとどめたい。

AtCoder や w010 などをこつこつ続けていきたい。

来週はついに職場復帰。……とは言うもののすぐにゴールデンウィークに入るのだけど……。

2019-W17 の目標

  • Haskell 入門』を読む
  • 数学ガール 1 』を読む
  • repository-list 1.0.0 をつくる
  • httpure-users 1.0.0 をつくる
  • AtCoder 過去問題から 10 問以上を解く

モグラーニャをクリア等

モグラーニャ』をクリアした。

ラスボスはパターンを覚えたらなんとかなった。パターンは二種類。壁ぞいに移動しつつクワを投げてくるパターンと自分を追いかけてくるパターン。球を左右の壁のうち四角の残っている側へ持っていき気絶待ち。追いかけてくるときは球の反対側に引きつけたあとかわして球を角へと運ぶ。


bouzuya/blog.bouzuya.net 4.9.2 。 GitHub security alerts 対応。


bouzuya/purescript-at-coder 。 Tenka1 Programmer Beginner Contest 2019 に参加。 A B の 2 問しか解けなかった。 WA を出したときは簡単なものからでもテストを追加したほうが良さそう。

『ウォーターワールド』等

bouzuya/bs-code 。 findIds に任意の範囲を指定できるようにした。外向けの変更ではない。次の変更のための下準備。


purescript-contrib/purescript-string-parsers を試している。

count がないけど↓で良いのかな……。

count :: forall a. Int -> Parser a -> Parser (Array a)
count n p = Traversable.sequence (Array.replicate n p)

bouzuya/purescript-at-coder 。 ABC111 A 。逃げ。


『ウォーターワールド』を観た。前に観たときは『マッドマックス』 (2018-07-01, 2018-07-11, 2018-07-22) を観る前だったので思わなかったのだけど。マッドマックス的なものを海でやりたかったんだろうな……これ……。


モグラーニャ。ラスボスに何度か挑戦したけど勝てない。明日また挑戦してみよう……。ボーナスステージもそうだけどじんべえが嫌だ。

bouzuya/bs-code 2.4.0 / Record の compare が遅いかも

bouzuya/bs-code 2.4.0 をつくった。 YYYYMMDDTHHMMSSZ の形式を開くことができるようにした。


bouzuya/purescript-at-coder ABC123 D 。 WA を直そうとしたら TLE 。 TLE を直そうとしたら WA 。手こずった。

Record の compare は遅いのかもしれない。そこを直したら TLE → AC 。バラして比較したほうが良さそう。 Array { ... } な形をつくったときには注意しよう……。