2025年6月5日のブックマーク (2件)

  • ユーザーの内部IDの発行権を他人に握らせてはいけない

    結論 ユーザーの内部IDを自システム以外に委ねるべきではありません。 ユーザーの内部IDの実装について気をつけるべきことを2つ紹介します。 外部サービスが発行したIDを内部IDにするべきではない ユーザーが変更可能な値を内部IDにするべきではない 外部サービスが発行したIDを内部IDにするべきではない 外部サービスが発行したIDを内部IDにすることは避けましょう。 内部IDは、システム内で一意で永続的な識別子であるべきです。 例) 外部IDプロバイダのユーザーID 例えば、GoogleをIDプロバイダとして利用する上で、GoogleアカウントのユーザーIDをそのままユーザーの内部IDとして使用した場合、どんな問題が起こるかを考えてみましょう。 例えば、後からGoogleがユーザーIDの仕様を変更した場合、システム内でのユーザーIDの一意性が保証されなくなります。もちろん、Googleがユー

    ユーザーの内部IDの発行権を他人に握らせてはいけない
    diffserve
    diffserve 2025/06/05
  • 「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史

    オープンソース運動の創始者の1人であるEric S. Raymond氏は、次の言葉が有名だ。「全ての良いソフトウェアは開発者の個人的な希望から始まる」。Mozillaのソフトウェア開発者であるGraydon Hoare氏がプログラミング言語「Rust」の開発に着手したときも、まさにそうだった。 2006年、Hoare氏は自宅マンションのエレベーターがたびたび故障することを不満に思っていた。同氏は後に、「コンピューターに携わるわれわれが、故障しないエレベーターも作れないとは、ばかげた話だ」と語っている。同氏は、エレベーターが頻繁に故障する原因として、制御ソフトウェアのメモリーエラーを疑っていた。このソフトウェアは「C」または「C++」で書かれた可能性が高く、どちらも広く使用されているシステム言語だが、コードを書くのが難しい。その大きな理由は、メモリーエラーを含む不完全なコードを簡単に書けてし

    「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史
    diffserve
    diffserve 2025/06/05