5月に気になった技術系の話題を毎週取り上げていきます。
📝 04/28 - 05/04
JavaScript
-
イテレータを分岐させるとどうなる? Iterator Helpersに見るJavaScriptのイテレータの挙動
- イテレータとジェネレータの挙動について
Web
- アクセシビリティとモーショングラフィックの両立を目指した、Money Forward Tech Day 2024のWebサイト開発
- こういう Web サイトを作るにあたっての配慮事項や工夫などすごく参考になる
- https://techday.moneyforward-dev.jp/2024/
*技術とは関係ない話
- 早大生の不安と悩みがラクになる処方箋
- 適切なコミュニケーションの方法を選択することや、「型があるから自由がある」というところが分かりみが深い
📝 05/05 - 05/11
車輪の再開発
雑多な話題
-
Service WorkerとWasmを組み合わせてサーバー処理をブラウザーでリアルに再現する
- 「ブラウザーのリクエストにインターセプト(介入)できる 👈これがアツイ!!」
- 誰が最初に思いついたんだってくらい面白い。
-
How Unicode Works: What Every Developer Needs to Know About Strings and 🦄
- 1990 年代末には、少なくとも 60 以上の標準化された拡張 ASCII テーブルがあった。 インターネットの普及により、エンコーディングの異なる文書が送受信されるようになったため、混乱が生じた。
- Unicode は最大幅 32 ビットを利用できる。
UTF-8
は可変長エンコーディングを採用し、メモリ効率に優れている。 - JavaScript エンジンは内部的に
UTF-16
を利用。
📝 05/12 - 05/18
-
フロントエンドの段階的モダナイズ、のための自走設計 (株式会社スタディスト様)
- 「個別の問題の解き方も大事だが、まずゴールをどう認識するか、何を目指すかを決めるのが大事。逆に言うとそれさえあれば適切な実装アプローチは自然とついてくることが多い。」なるほど。
-
気合の脱 create-react-app からの、AIによるフロントエンド改修の自動化 (株式会社イルシル様)
create-react-app (CRA)
が負債となっているプロジェクト- 「クロスブラウザ対応を確認しつつ Web 標準にある機能はライブラリを使わない、というのがフロントエンドのチューニングで大事な原則です。」
-
WebContainersを使わない独自アプローチで実現するブラウザ内のNode.js学習環境
- ブラウザ上で、Node.js 環境を再現するためのハックが詰まっており、すごい。
- 「Node.jsの大枠の機能を再現しつつ、概念的な機能の抽出を行う、High Level Emulationを目指しました。」
📝 05/19 - 5/25
-
【#も読】Rustの学習の難しさと取るべきルート(@yusuktan)
- 競プロとかCLIツールだとか、基礎的な部分から始めると良さそうね。unlearn のステップが必要。
-
見過ごせないエッジケースを計測して改善につなげよ! スマートバンクにおけるプリペイドカード決済システムの開発課題
- 「4パーティースキーム」という枠組みがあり、国際ブランド・イシュアー・アクワイアラー・加盟店・ユーザーがその登場人物。
- カード決済には「Authorization」と「Clearing」という概念がある。前者は同期的、後者は非同期的な処理で、この方式は「デュアルメッセージ方式」という。
- 特定の加盟店でしか発生しないようなエッジケースがあり、取引の照合結果を分類し監視することで、一つひとつに対応していったそう。すごい。
-
- パスキーの利点
- フィッシング攻撃が成立しない
- アカウント乗っ取り攻撃が成立しない
- サーバー側の漏洩リスクが低い
- ログイン UX がシンプル
- パスキー認証特有の攻撃
- ハイブリッドトランスポートの QR コードを利用した攻撃
- 秘密鍵のエクスポート、インポート機能
- パスキーの利点