2021-4-29

最近の色々

雑な技術メモ

Safari の Date の挙動に関して

  • Safari は他のブラウザ new Date('~') でパースできる日付の形式がかなり異なっている。
  • 日付を扱う必要がある場合(よくあると思うけど)は気をつけないといけない。
  • 参考記事

Vue.js はやっぱりしんどい

  • ともかく Props で渡す型が違っていてもランタイムにしかわからないのがきつすぎる
    • Array を想定しているのに、要素が空の場合は null が飛んできて map で例外吐いて落ちるとか…
  • React+TS は確かに難しい部分はあると思うが、そもそも React+TS が理解できないレベルでフロントエンドの開発しているような状態がおかしいってのは正直思う

HTML/CSS に関して

  • フォーム系のパーツで label を使う際、for は使わないでほしい
    • for があるとユニークなキーを毎回与える必要があり、コンポーネントを使うのが面倒になる
    • 大体 input を label で囲めば済むパターンばかり
  • select の独自実装はほんとダメ
    • ドロップダウンを作る場合は select を CSS で見た目調整したものか、UI ライブラリが提供しているものを使う
    • そうじゃないとキーボード操作できなかったり、開いてキーボードで該当行までジャンプできなかったり使いにくすぎる
  • ScopedCSS でコンポーネントのスタイルを調整しないで…
    • これが常態化した時点でもうそのプロジェクトの CSS は終わりですね

フォームはしんどい

Vue の sync とかも使ったりして大分楽にはなったが、やはりしんどい

Web カメラでの画像取得

vue-web-cam ってプラグインが使いやすかった。

フロントエンドバリデーションいらなくね?

  • ツイートもしたが、フロントエンドバリデーションがあることで使いやすい!ってなるケース SPA なら少なくない?
  • フロントエンドバリデーション、結構実装が重かったりするのでやめてもいいのでは…

バリデーションエラー発生時にそこまでスクロールするやつ

  • scrollIntoView 関数を使えばいいが、setTimeout とか無しでできるいい方法がないか…
  • バリデーションエラー時には、画面最上部までスクロールする、とかでもいいのでは?
    • 要はエラーが起こってもユーザーが認識できないのが一番まずい