タグ

ブックマーク / cero-t.hatenadiary.jp (2)

  • 1テーブルでも起きるデッドロック - 谷本 心 in せろ部屋

    いや、この業界に5年もいて知らなかったのかよ、って言われれば 言い返せないことなんですが・・・ 試験中に、Oracleでデッドロックが発生しました。 でも、ソースコードをレビューした限りでは、 複数テーブルに対するupdateにもselect for updateにも、怪しい所はなく、 「試験のやり方が悪いんじゃね?」ぐらいの勢いでした。 でも違いました。 1テーブルへのアクセスでも、デッドロックは発生するということでした。 2. 複数レコードの更新に関するもの 当然のことながら、1つのテーブルでも、デッドロックが発生する場合がある。 上記のパターンで同一テーブル内でも A, B という異なるレコードに連続してアクセスする場合には、アクセス順を一意にしておかないとデッドロックが発生する要因となる。 特に陥りやすいのは、複数レコードを一括して更新する場合は更新順が一般に不定となるため、安易に

    1テーブルでも起きるデッドロック - 谷本 心 in せろ部屋
  • いいから聞け! 俺が文字コードについて教えてやるよ その1(前提知識編) - 谷本 心 in せろ部屋

    ちょっと久々のJavaネタですが、 前から書き溜めていた、文字コードやエンコードについてのノウハウを書きます。 今回は、詳細な説明に入る前に、前提になる知識や用語について説明しておきます。 文字コードとエンコードって違うの? 新人くん「では、HTMLの文字コードはUTF-8でお願いします」 先輩社員「文字コードじゃなくてエンコーディングでしょ?」 新人くん「えっ。あぁ、はい、それで」 文字コードとエンコード(エンコーディング)を混同して使ったりすると、 ちょっと原理主義的な人に怒られたりするんですけど、 大まかに言えば、「文字コード」は文字に割り当てられた「数字」のことで、 「エンコード」は文字と数字をマッピングする「方式」のことだと捉えていれば、大きくは外れません。 ただ、「文字コード」という言葉は、「数字」「方式」の両方で使われるほか、 文字一覧を示す「Charset」という意味で使わ

    いいから聞け! 俺が文字コードについて教えてやるよ その1(前提知識編) - 谷本 心 in せろ部屋
  • 1