bouzuya.hatenablog.com

ぼうずやのにっき

2018-W47 ふりかえり

2018-W47 をふりかえる。

2018-W47 の目標 とその記事

目標。

  • ☐ 朝活を続ける
  • ☐ bouzuya/yzrh 0.1.0 をつくる

記事。

目標。朝活は機能していないが実現したかった毎日 PureScript でコードを書くのはできている。 bouzuya/yzrh は 0.1.0 になっていないが RowToList の使い方をすこしだけ覚えることができている。

つくったもの

2018-11-19/2018-11-25

hush 対応で PureScript 関連のリポジトリをほとんど更新している。 kraken はセキュリティ脆弱性の警告に対応した。

bouzuya/purescript-react-basic-fizzbuzz を mockmock.dev の時間でつくった。また後日書こうかな……。

よんだもの

  • 『超一流になるのは才能か努力か?』 (2018-11-22)

ぼちぼち読んでいる。途中で投げてしまったものが書いていないけど一冊ある。

みたもの

2018-05 から週 2 本の制限がある。今週は問題なし。

その他

ゲーム。 2018-10-14 からのダンジョンメーカーを続けている。あとは 2018-11-24 からの BLUE REVOLVER 。

体調。手首の痛みがすこし弱まっているような……。嫌な角度で力をかけると痛む。朝起きたときに体が痛い。子の都合で寝返りができないでいるからだろう。

育児。大きな変化はないかな……。今週からではなさそうだけどうつ伏せで手をついて体を支える。パーカーの紐をよく引っ張る。よだれがひどいので毎日何回もスタイ(よだれかけ)を変えている。

mockmock.dev の時間の見直し (2018-11-22) は比較的成功だった。明日にでも書く。

PureScript の RowToList など型レベル〜はわかったわからん状態になってしまったので書けなさそう。

2018-W48 の目標

  • mockmock.dev の時間の見直しのことを書く
  • bouzuya/yzrh 0.1.0 をつくる
  • bouzuya/purescript-react-basic-fizzbuzz 1.0.0 をつくる
  • 髪を切る
  • 2018-11 ふりかえりを書く

BLUE REVOLVER を買った

STEAM のオータムセールに合わせて BLUE REVOLVER を買った。

縦スクロールシューティングだ。友人が熱心に遊んでいたので試してみようと思う。ひととおりのパイロット・ショット・スペシャルショットを試した。 STAGE 4 をクリアできないレベル。ぼちぼちやっていく。


昨日 (2018-11-23) からの bouzuya/yzrh は進んでいない。 OptionDefinition から Record への変換を書こうとしているところ。

bouzuya/yzrh 進捗 Simple.JSON はよくできている

bouzuya/yzrhコマンドラインオプションの解釈部分をつくっている。 2018-11-22 の続き。

TODO リストとしては変化せず。 API の変更の途中。 RowToList について調べた。試しに書いたら Simple.JSON とほとんど同じ形になってしまった。 Simple.JSON はよくできている。 Record.Builder を素朴に使うと似たような形になってしまうのでは……。 ExceptT などが出てこないのでぼくのほうがすこし単純ではあるけれど。今日はもう時間がないので明日に改めて調べたことを書く。

あとは改めて見ると戻り値の Record を指定させるよりもオプション定義自体の型が取れれば結果の型も生成できるのだけど……。もっと言えば文字列で "-f, --file <FILE> file option" のようなものを SProxy で受け取れば……。とにかく明日だ。

そして繰り返しになるけれど本来の機能がまったく進んでいない。

『超一流になるのは才能か努力か?』を読んだ

アンダース・エリクソンの『超一流になるのは才能か努力か?』を読んだ。

半分くらいで関心を失ってしまったのだけど最後まで読んだのですこしだけメモしておく。ざっくり言うと「超一流になるためには限界的練習が必要だ」という本。

きっかけ

2018-11-10 に読んだ『「経験学習」入門』の中でエリクソンの「よく考えられた実践 (deliberate practice) 」というものが紹介されていたことから。

練習

練習には↓のようなものがあるらしい。

  • 愚直な練習
  • 目的のある練習
  • 限界的練習

愚直な練習

ただ繰り返すだけ。弱点を克服できない。

目的のある練習

個人的には一番興味のあるライン。特徴は↓。

  • はっきりと定義された具体的目標がある
  • 集中して行う
  • フィードバックが不可欠
  • 居心地の良い領域 (コンフォート・ゾーン) から飛び出すことが必要

2018-11-10 の 3 つに集約されたものと大差はない。

具体的目標の例としては「ミスなく最後まで 3 回連続で弾く」など。長期的な具体的目標やそこへの段階も必要そう。集中の例はこれというのがなかった。フィードバックの例としては「成功・失敗」や「どこがダメだったか」が分かるなど。コンフォート・ゾーンから〜の例「少しずつ厳しくしていく」など。

コツのような形で、「壁を乗り越えるために別の方向から攻める」や「続けるために肯定的なフィードバックを得る」などが挙げられていた。

限界的練習

この本の主な領域なのだけどこれがつまらなくて関心を失った。

前提として↓がある。

  • 対象となる分野がすでに比較的高度に発達している
  • 学習者に対し、技能向上に役立つ練習活動を支持する教師が必要

ほかにも優れた技能とは何かという客観的基準が存在しないとダメだったりと注文が多い。ぼくには練習の設計やフィードバックのための教師などの条件を整えているだけにしか見えなくて面白くないと感じてしまった。

心的イメージなど詳細や実例などが続くのだけど何度も書いたとおり関心がなかった。なぜならぼくの必要としている練習はせいぜい「目的のある練習」で目標もその程度だ。超一流になりたいとは思わない。

全体を通じて

前回の「経験学習」のときの印象として「よく考えられた実践 (deliberate practice) 」は「ほとんどのゲームがそれをうまく設計している例だな」と思っていた。今回はその印象値以上の何かを得られなかった。

この本から直接的に得たわけではないけど「効率を良くしないと……」や「伸びなくても諦めないぞ……」という気持ちが出てきた。そういう意味では良かった。具体的には mockmock.dev の 2 時間の活用方法を考え直そうと思っている。面白い取り組みができると良いな。


bouzuya/yzrhコマンドラインオプションの解釈部分をつくっている。 2018-11-21 の続き。

-abc 形式と Either String a でのエラーに対応した。あとは昨日 (2018-11-21) のリストから言えば……。

  • -- foo bar
  • ヘルプの表示
  • ( サブコマンド )
  • ( シェルでの補完 )

上記のほかに使い勝手が悪いので API を変えたい。 Object で返すのはあんまりなので Record に変換しようと思う。 Simple.JSON がやっているものとほとんど同じだからできるはず……。 RowToList などを扱うのかな。明日やろう。

例によって本来の機能がまったく進んでいない。


昨日すこし考えさせられるできことがあった。 2018-12 ごろから自身のふるまいについて変える方向で考えたい。

bouzuya/yzrh 進捗

bouzuya/yzrhコマンドラインオプションの解釈部分をつくっている。 2018-11-20 の続き。

--foo=bar 形式と Boolean のオプションに対応した。あとは……。

  • -abc (short option * N)
  • 引数が指定されていない
  • 存在しないオプションが指定されている
  • -- foo bar
  • ヘルプの表示
  • ( サブコマンド )
  • ( シェルでの補完 )

エラー対応かなあ。 Either String a な感じで雑に打ち切っていこうか。

purescript/purescript-strings パッケージの Data.String モジュールをよく使っている。このパッケージは Data.String.CodePointsData.String.CodeUnits に分かれている。意図は分かるんだけどときどきモヤっとする。 CodePointリテラルってないのかな……とか。

PureScript の Data.Either にある hush

bouzuya/yzrhコマンドラインオプションの解釈部分をつくっている。 2018-11-17 に書いたものの続き。

短い形式のオプションに対応した。あとは……。

  • --foo=bar 形式
  • 引数が指定されていない
  • 存在しないオプションが指定されている
  • -- foo bar
  • ヘルプの表示
  • ( Boolean のオプション )
  • ( サブコマンド )
  • ( シェルでの補完 )

bouzuya/commander-b にある機能くらいはカバーしたいけどどうだろう。脱線している。


hush の話。

いままで↓のようなものを何度も書いていたのだけど。

maybeFromEither :: forall a b. Either a b -> Maybe
maybeFromEither = either (const Nothing) Just

purescript/purescript-either パッケージの Data.Either モジュールに hush :: forall a b. Either a b -> Maybe b があった。

https://pursuit.purescript.org/packages/purescript-either/4.1.0/docs/Data.Either#v:hush

justinwoo/purescript-simple-json で知った。

readJSON_ ::  forall a
   . ReadForeign a
  => String
  -> Maybe a
readJSON_ = hush <<< readJSON

https://github.com/justinwoo/purescript-simple-json/blob/84a8c16232654a93909a90aa9c66aff724630db5/src/Simple/JSON.purs#L78-L82

『ジュマンジ/ウェルカム・トゥ・ジャングル』を観た

ジュマンジ/ウェルカム・トゥ・ジャングル』を観た。

2018-11-15 に観た『ジュマンジ』の続き。話自体は別物なので観ていなくても問題ない。思っていたよりずっと良かった。ファミリー向けにちょうど良さそう。「これ爆発しそう」などの期待を裏切らない。ある程度は予測できる展開の安心感がある。『ジュマンジ』と比べて「呪われた (?) ゲーム」のような雰囲気はほとんどない。若者たちが不思議なゲームを楽しんだ的な雰囲気になっていた。