Upgrade to Pro — share decks privately, control downloads, hide ads and more …

機械の気持ちを考えてコードを書こう

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 機械の気持ちを考えてコードを書こう

Avatar for akatsuki1910

akatsuki1910

September 26, 2025
Tweet

More Decks by akatsuki1910

Other Decks in Technology

Transcript

  1. いろんなソース • 結局JavaScriptの配列ループはどれが一番速いのか ◦ https://zenn.dev/itte/articles/737a3ca709aad0 • ループ速度比較 〜デカい配列のforEachが約10倍遅い〜 【JavaScript】 ◦

    https://zenn.dev/rabee/articles/javascript-huge-array-for-each-is-very-slow • Firefoxのfor速度比較が遅すぎると思ったので試してみた(2019/05版) ◦ https://noxi515.hateblo.jp/entry/2019/05/10/221224
  2. 機械の気持ちが分かると分かること • The Web is fundamentally designed to work for

    all people, whatever their hardware, software, language, location, or ability. When the web meets this goal, it is accessible to people with a diverse range of hearing, movement, sight, and cognitive ability. • ハードウェア、ソフトウェア、言語、文化、所在地、物理的/精神的能力にかかわら ず、ウェブは基本的にすべての人に向けて設計されています。ウェブがこの目的を 達成できると、さまざまな聴力、視力、認知能力をもつ人々がウェブにアクセスでき るようになります。 ↓ Webは人間に情報を伝える必要がある https://www.w3.org/mission/accessibility/
  3. a11yってどうすればええんや • HTMLのDOMを見せて説明出来ないことは機械でも出来ません ◦ 画像のaltとか • DOMのツリーと反する順序や内容を教えたいって時に基本的に使う ◦ row-reverseとか ◦

    tabindexとか ↓ 機械に説明してほしいことを人間が伝える必要がある アクセシビリティとは、個人の身体的・認知的能力やウェブへのアクセス方法に関わら ず、可能な限りアクセス可能なコンテンツを開発することです。 https://developer.mozilla.org/ja/docs/Web/Accessibility
  4. 例の解答例 • zustandとjotaiの製作者は同じだが、所属が違うので、何かあった時にzustandの 方が助かりやすいかも ◦ https://zenn.dev/jotaifriends/articles/a200a3dec620cc • 仕事で使うので、問題につまずきにくいものを選んだ方がいい ◦ 日本でよく調べられている

    =>記事が多い可能性が高い ◦ 検索で出てこなかったら英語の海に溺れて詰む • そもそも状態管理をゴリゴリに触るかを考えて、Context APIで十分かを考える必要 がある
  5. 数字で見えるところから選ぶ • スター数 ◦ いいと思われている数が多い • issue/PRのopen/close数 ◦ どれだけ活発にコードの修正が入っているか •

    fork数 ◦ どれだけの人間が関わろうとしているか • create/updateの日 ◦ どのくらいの長さ/頻度で更新が行われているか
  6. 数字で見えないところから選ぶ • 検索した時の記事の質がいいのが多いか ◦ 分からないことがあった時に解決しやすい • ChatGPTに投げた時に的を得た答えが多いか ◦ それだけ学習するほど質問が飛んでいる •

    開発者/グループがどこか ◦ 個人開発だとその人が死んだら終わり • バージョンが上がった時に破壊的変更が少ないか ◦ 多いと上げるのがめんどくさい
  7. 仕事基準で選ぶ • メンバーがライブラリをすぐに使いこなせるか ◦ 新卒がメインとかだと難しいかも? • JSを埋め込みたくない等の制約に反してないか ◦ ビルド結果がどうなるかちゃんと確認すること •

    似たようなライブラリが重なってないか ◦ 何も考えずに使うと、同じ用途のライブラリが入ってたりする • ライセンス違反を犯してないか ◦ 四条項BSDが混じってるとめんどくさかったりする
  8. ライブラリの選ぶ基準 • そのライブラリ、本当に必要? ◦ 自作でなんとかならない ? ◦ すぐにswiper入れるのやめろ • 信用出来る?

    ◦ なんとなく調べたらやりたいことをやってるっぽいから入れてない ? ◦ どうせコードコピペで持ってきてるだけだろ • その後の管理出来る? ◦ バージョンアップ対応しないといけなくてぴよさんが泣くよ ◦ 家の片付けも出来ないやつがパッケージの管理なんて出来んやろ