エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
DBに保存された順番をIDとして採番したくなくて、UUIDやTwitterのSnowflakeとかいろいろ調べたのですが... DBに保存された順番をIDとして採番したくなくて、UUIDやTwitterのSnowflakeとかいろいろ調べたのですが、UUIDでは128ビット必要で長すぎ、別のミドルウエアが必要になるものは使いたくないので、いろいろ調べた結果たどり着いたのが、MySQLの UUID_SHORT() 関数です。 やりたいことは単純に下記の3つでした。 レコードを追加するときにIDを発行 DBに格納するときは、数値で格納(UUID_SHORTそのままの値) (おまけ)クライアントにデータを返すときには、IDは16進数の文字列に変換し縮めて返す。 UUID独自のタイプを定義 Golangでは、type キーワードを使って組み込み型を再定義?できるので、UUIDという独自タイプを定義します。 DBに格納するときは、uint64 なんですが、クライアントがアクセスするURLや返すデータとしては 16進数の文字列