タグ

2023年12月30日のブックマーク (2件)

  • Firebase Authから内製認証基盤に無停止移行して年間1000万円以上削減した

    症状検索エンジン「ユビー」 では、ローンチ当初から Firebase Auth (GCP Identity Platform) を使っていましたが、OIDCに準拠した内製の認証認可基盤に移行しました。 認証認可基盤そのものは m_mizutani と nerocrux と toshi0607(退職済) が作ってくれたため、僕は移行のみを担当しました。 結果として、強制ログアウトなし・無停止でビジネス影響を出さずに、年間1000万円以上のコスト削減に成功しました[1]。その移行プロセスについて紹介します。認証認可基盤そのものの紹介はあまりしません。 移行した理由 大量の匿名アカウント ユビーでは、アクセスした全ユーザーに対して自動的に匿名アカウントを発行しています。これにより、ユーザーがアカウント登録しているかどうかに関わらず、同じID体系で透過的に履歴情報等を扱うことができます。アカウント

    Firebase Authから内製認証基盤に無停止移行して年間1000万円以上削減した
  • JavaScriptのparseInt()とNumber()の違い - Qiita

    Angularを利用していて、stringをnumに変換するときに、疑問がわいたので調べてまとめたメモ。 挙動の違いから。 parseInt("20px"); // => 20 parseInt("10100", 2); // => 二進法なので 4 + 16 = 20 parseInt("2e1"); // => 2 Number("20px"); // => NaN Number("2e1"); // => 2 x 10^1 なので、 20 (注) AngularでparseIntを利用する場合、tslintを有効にしていると、第二引数に基数を指定しないと、エラーが出る場合がある。 parseIntは、数値を含む文字列のうち、数字部分を取り出し、数値に変換する。 Numberは、数値を含む文字列の意味を解釈し、数値に変換する。文法に合わない文字列の時は、NaNを返却する。 参考 Wha

    JavaScriptのparseInt()とNumber()の違い - Qiita
    igrep
    igrep 2023/12/30
    こうしてみるとどっちも難点があるなぁ。本当に10進数だけをparseしたい場合は正規表現でバリデーションするしかないか...。