問題タブ [unique-id]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python で一意の ID を生成するにはどうすればよいですか?
ランダムな値に基づいて一意の ID を生成する必要があります。
asp.net - C#asp.net ClientIDとUniqueIDに違いがあるのはなぜですか?
asp.net 2.0では、ClientIDがjavascriptに使用され、UniqueIdがサーバー側に使用され、ClientIDがアンダースコア(_)を使用し、UniqueIdがドル記号($)を使用することを知っています。しかし、私が得られないのは、なぜ2つの異なるIDを使用するのかということです。サーバー側とクライアント側の両方で、アンダースコアを使用したり、ドル記号を使用したりすることができないのはなぜですか。誰かがこれを説明できますか?
java - このようにタイプ4 UUIDを切り刻むことについてどう思いますか
これをチェックして、
このメソッドは魅力のように通過します。また、最上位ビットよりも最下位ビットを取得する方がわずかに優れているという印象があります。最上位ビットでは、一部の情報に対して6ビットが固定されており、最下位ビットではそうではないためです。したがって、平均して、最上位ビットと衝突するには 2^29 個の UUID を生成する必要がありますが、最下位ビットとは 2^32 個の衝突が発生します。参照: SO スレッド。私はそれを仮定するのは正しいですか?
ここで、メソッドから取得した最下位ビットの最上位 2 桁を切り刻んでいます。私はそれに部分文字列を使用しています。2桁と符号ビットを切り落としていることに注意してください。これは、衝突を起こすために平均して 2^31 個の UUID を生成する必要があるということではないでしょうか?
正確には、17 桁を超えてはならない一意の識別子を生成しようとしています。Java 型という意味ではなく、整数でなければなりません。私のアプローチはどれくらい信頼できますか?
メタ情報:
実際、私たちはいくつかのレガシー システムと統合しており、17 桁以下の一意の番号を提供する必要があります。彼らはそれをデータベースの一意のキーとして持っていると思います。この場合、シーケンスを使用することもできます。最初にそれを提案しました。しかし、代わりに乱数を考え出すことができれば良いと彼らは私に言ったので、消費者は推測できません.
Java での UUID のタイプ 4 実装に関して私が知る限り、衝突を起こすには平均で 2^61 個の UUID を生成する必要があります。これは、最下位ビットで衝突を取得するには 2^32 を生成し、最上位ビットで衝突を取得するには 2^29 を生成する必要があることを意味するのではないでしょうか? はいの場合、左端の 2 桁を切り刻んだ後、最下位ビットの衝突を得るために平均 2^31 を生成する必要があると仮定するのは正しくありませんか?
私も使用しようとしましSecureRandom
たが、それも19桁の長い値を与えています。したがって、私も最初にその数字に切り刻むことになります。以下はそのためのコードです。
私が考えることができる他のオプションは、「yyMMddHHmmssSSS
+2-seq-digits」形式で日付を使用することです。しかし、それはプロセッサに大きく依存し、推測可能であると思います。99 ラウンド後にミリ秒単位で変化があったかどうかはよくわからないからです。私はそうするかもしれませんが、それはプロセッサの速度に依存します。ただし、99 の同時リクエストはほとんどありません。
javascript - JavaScript オブジェクト ID
JavaScript オブジェクト/変数には、ある種の一意の識別子がありますか? ルビーが持っているようにobject_id
。DOM id 属性のことではなく、ある種のメモリ アドレスのことです。
c++ - 関数アドレスを使用したテンプレート化されたクラスの一意の数値 ID
それで、この質問は以前に尋ねられましたが、タイトルにそれらのキーワードのいくつかを含む質問が欲しかった.
問題は単純です: クラスのインスタンスごとではなく、テンプレートのインスタンスごとに一意の数値識別子があるように、テンプレート化されたクラスを作成するにはどうすればよいでしょうか?
つまり、区別する方法は次のとおりです。
しかし、
関連:
asp.net - 動的Gridviewテンプレートと一意のコントロール(つまり、テキストボックス、ラベル)ID?
設計時にグリッドビューを作成する場合、次のようなテンプレート列を作成できます。
また、HTMLでは、次のような一意の名前が付けられます。
そして、コードビハインドでこのラベルを参照できます。
これは完璧です。しかし、TemplateFieldsを動的に作成しているときに、これを行う方法がわかりません。「InstantiateIn」に次のコードがあります。
そして、これは各行にhHiddenとしてIDを持つ隠しコントロールを作成します。ただし、「gvSelect_ctl02_hHidden」のような一意のIDは付与されず、単に「hHidden」になります。そして、自分で行番号を追加する方法があることを私は知っています。しかし、これを自動的に行う方法があるかどうか疑問に思いました。そして、それでも私が次のように隠しフィールドを参照できるようにします:
php - PHPのuniqid関数が14桁ではなく、13桁しか返さないのはなぜですか?
uniqid()
関数は、13桁の長さの16進数を返します。php.netサイトの仕様によると、関数はmicrotime
一意の値を生成するために使用します。
ただしmicrotime
、次のように文字列形式で数値を返します。
これは基本的にマイクロ秒と1970年から経過した秒数です。これは9+11桁の10進数です。
10進数の20を16進数に変換すると、13桁ではなく16桁の16進数になります。
「0」も出そうと思いました。決して変わらないように見える部分、および常に「00」のままであるように見えるマイクロ秒部分の最後の2桁。これを行うと、10進数の長さは9 + 11-3桁になりますが、16進数に変換したときに17桁の10進数は、13ではなく14桁の16進数になります。
別の方法で一意のIDを取得したり、より長い/短い一意のIDを取得したりすることに興味はありません。私は誰かがなぜuniqidが13桁しか返さないのかを知っているかどうかだけを尋ねています。
意味がないようです。uniqid
戻り値が。より1桁少ない場合はmicrotime
microtime
、。によって返された結果よりも一意の結果が得られることを意味しuniqid
ます。
java - SQL (Java、h2): データベースに挿入したばかりの単一アイテムの一意の ID を取得する最良の方法は何ですか?
私の現在の方法はこれです:
これは、最後に挿入されたアイテムが常に最大の一意の ID (主キー、自動インクリメント) を持っていることを前提としています。ここで何かがおかしい。
代替案?
c# - C#の「digitStringDigit」のような特定のパターンに従って一意のIDを生成します
以前、Math.Randoメソッドを使用するか、場合によってはGUID.NewGUIDメソッドを使用して、一意のIDを生成しました。今回は、特定のパターンに基づいた一意の番号を生成しようとしています。
たとえば、123ABC123-数値の長さは常に9のままで、3桁の数字、3文字、さらに3桁の数字が含まれます。