2023-01-28

HumanChatGPTとは俺のことよ

Table of Contents

やったこと

  • 経済の期末課題
  • 小論文課題(構想のみ)
  • Frontend Catchup に参加

久しぶりにHaskellを書かない日だった。外に出かけたし、課題も(少しだけ)進んだのでまあまあいい休日かも。

経済課題

高専の選択授業程度でそんなに高度なレポートは求めていないだろうということで、適当にばーっと書いて出した。時間がかかるかと思ったけど、結局1時間くらいで書けたので悪くない。

こういう、それっぽいことをつらつら書くやつけっこう得意。ChatGPTと張り合えます。

Frontend Catchup

https://web.dev/learn/forms の、「Get started with forms」の章を読んだ。 (議事録

知らないこと 👇 がちょくちょく出てきておもしろかった。

  • form タグの中にあるすべての button 要素は、 type="button" にしないとデフォルトで submit button として動く
  • <datalist> 要素
    • 仕様にあるものの、セキュリティ上問題があるのでどのブラウザも実装していない datalistpassword の話
  • <fieldset> , <legend> 要素
  • JSによるカスタムバリデーションのやりかた

なかなかHTMLだけのフォームをそのまま触ることって無いので、 HTML が持っている機能を順を追って確認できてよかった。

一方で、プリミティブな機能だけだとバリデーションなんかの体験は満足するところまで持っていけなさそうだということも分かった。

まず、HTML Form におけるバリデーションエラーは表示あるいは表示しないの2択でしかないので、受け入れる入力値にいくつかの条件がある場合などに個別の条件を指して「この条件にマッチしていないからだめだよー」っていうのをいい感じにフィードバックすることができない。

あと、 :invalid によるスタイリングはユーザのインタラクションが起こる前からInvalidな表示になってしまうので体験がよくない。 これを改善するために:user-invalid^[https://developer.mozilla.org/en-US/docs/Web/CSS/:user-invalid] というのがあるらしいけど、まだどのブラウザも実装してないので使えない^[みんなUIライブラリ使っちゃうから、コミュニティからの強い要求があるわけではないってことなんだろうか]。

気になったやつ

浮動小数点数の文字列化(基数変換)

基数変換の際に丸めが発生することを許容して、二進小数→十進小数→二進小数が恒等写像となるようにしたい。ただし丸めの方法は最近接丸めであるとする。この時、十進小数の仮数部は何桁が必要十分か?

スクラップでは、小数の計算機内における表現(2進小数)と、テキスト上で使う表現(10進小数)が問題なく相互に変換できるような扱い方について考えている。

浮動小数点数は知識としてしか知らないなと思ったので、Rustとかで実装すると丁度いい感じに勉強できそう。 ^[tech-aspirationに積んでおく]

思ったこと

明日は日曜だから週報を書かなきゃと思ったけど、そういえば先週の週報を書いていなかった^[処罰]。2週分書きます。