タグ

IDに関するpoginのブックマーク (6)

  • IDの設計についてのさらに突っ込んだ議論

    今日も前回に引き続きデータベース設計の話をする。今回の話で一旦データベース設計については筆を置くつもり(ブログ書いてないで原稿書けよ>俺)であるが、その前に話をすっきりさせて置きたいと思う。最後を飾るテーマはIDの設計である。 数字しかないのに意味を含んだID前回のエントリを見ていただいた方から、次のような構造を持った学籍番号があるというフィードバックを頂いた。 全部数値で"入学年度下2桁"+"学科コード"+"学科内のあいうえお順の順位" このようなルールで割り当てた学籍番号を、単なる数値として扱うのであれば大きな問題はない。これは数値しか含まれていないので、SQLのデータ型としては単に数値型を使えば良いだろう。だが、学籍番号から入学年度を判断する、あるいは学科を判断するといった用途で使われるのであればやはり適切ではないといえる。リレーショナルモデルの観点だけからではなく、IDとして適切で

    IDの設計についてのさらに突っ込んだ議論
  • wikiでページのURLをIDにすると絶対にうまくいかない - 橋本商会

    なのだが、WiKiページのURLがIDになっていて、IDで外部からリンクされていると脱線ができなくなってしまう

    wikiでページのURLをIDにすると絶対にうまくいかない - 橋本商会
  • JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io

    Intro textarea などに入力された文字数を、 JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、 BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID

    JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io
  • 一つしかない想定で作ってあとから複数出現してめちゃくちゃになる - hitode909の日記

    ソフトウェア作ってて,最初は一つしかない想定で作るけど,あとから複数出現することになって改修するのが大変,ということがある. 最悪サーバーサイド もう終了したサービスであったのが,ユーザーは自分のアイテムを飾れる部屋を1つ持てるという仕様だったのが,複数の部屋を切り替えられるようにして,部屋ごとに置けるアイテムのシリーズが変わって,シリーズごとにグリッドの細かさも変わるとか.とにかく大変で,全部のテーブルにあとからシリーズidを持たせたり,クラスメソッドで済んでたのをシリーズidを持つオブジェクトのメソッドにしたり,ORMItemをRoomに渡すのをやめて,その層とは別に独立した画像合成用のItemとRoomを作ってやり取りするとか,最初からそうなってるときより大変なことになる. 最悪クライアントサイド クライアントサイドでも同じようなことはあって,HTML内に一つしか出現しない前提で作

    一つしかない想定で作ってあとから複数出現してめちゃくちゃになる - hitode909の日記
  • XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス

    メールアドレスの「ルール」に関する話題が盛り上がっていますね。 「メールアドレスのルール」系まとめがそろって間違ってるのでご注意を 「メールアドレスのルール」なんて使ってはいけない3つの理由 これらのエントリに異論があるわけでありません。メールアドレスに関するルールというとRFC5322などがあるものの、現実の運用では簡易的な仕様を用いている場合が大半である…という事情は、私も以前ブログに書きました。、 稿では、「空前のメールアドレスのルールブーム(?)」に便乗する形で、RFC5322に準拠したメールアドレスで、XSSやSQLインジェクションの攻撃ができることを紹介します。と言っても、SQLインジェクションについては、過去に書きましたので、稿では、RFC5322バリッドなメールアドレスでSQLインジェクションとXSSの両方ができるメールアドレスを紹介します。 まず、攻撃対象として、以下

    XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス
  • "Identity" と "Identifier" を混同して "ID" と言わないように - 石橋秀仁(zerobase)書き散らす

    一般的に使われる "ID" は "identifier" (識別子)の意味であって、 "identity" (同一性)の意味ではない。ぜんぜん違う。 Conflict システムの実装上、 ID が衝突 (conflict) することはありえる。複数の別々のものに同じ ID を振ってしまう問題を、 ID の「衝突」という。 「来異なるもの」を「同一である」と誤認することが起こりうる。それは「 ID が衝突した」という事態に気付かずにシステムを運用した場合に生じうる。 (それ以外にも、同定 (identification) のプロセスにおけるミスやバグなどといった理由も考えられるが、題ではない) Equivalency ID の衝突は、存在 (existence) の「重複」などという意味ではない。そもそも存在は「重複」しない。「同じものが二つ存在する」ということはない。 二つ以上存在して

    "Identity" と "Identifier" を混同して "ID" と言わないように - 石橋秀仁(zerobase)書き散らす
  • 1