jQueryにはドットが使えない

htmlでidにドットがついてるものがあってjQueryで呼び出すとエラーが..

<ul>
  <li id="sample.0.item">1st</li>
  <li id="sample.1.item">2nd</li>
</ul>

こうしたらいいみたいです

$('#sample\\.0\\.item').val()

Oracleで30文字より長いファンクション名(とかの識別子)は付けられない

Oracle 11gでFunctionで処理をしてしまおうと

CREATE OR REPLACE FUNCTION なんとかかんとか長いファンクション名 (code in VARCHAR) RETURN VARCHAR2
// 処理いろいろ
END;

を流すとエラーが

エラー・レポート -
ORA-00972: 識別子が長すぎます。
00972. 00000 -  "identifier is too long"
*Cause:    An identifier with more than 30 characters was specified.
*Action:   Specify at most 30 characters.

Function名に30文字以上はだめ..?
PL/SQLのプログラム上の制限

識別子は30Byteまででした
古い作りの名残でしょうか..

PHPでキーがあるかの判定にissetはよくない

PHPでキーがあるかというときにissetを使ってたところがあってちょっとはまったのでメモ

issetだと

$arr = ['1' => null, '2' => 'second']
if (isset($arr['1'])) {
  // falseになり
} else {
  // こっちが実行される
}

値がnullとか0とかをfalseにされてしまいます
array_key_existsを使うのがいいです

$arr = ['1' => null, '2' => 'second']
if (array_key_exists($arr['1'])) {
  // こっちが実行される
} else {
  // 
}

keyがあるかは array_key_exists を使いましょう

Oracleで途中からプライマリーキーを追加する

oracleを使って開発中に途中で、テーブルの世代管理が必要になるという悲劇に遭遇した際は
世代管理用フィールドの追加とPrimaryKeyを張り替えます

ALTER TABLE sample_table ADD (
    rev NUMBER(8)
);

ALTER TABLE sample_table DROP PRIMARY KEY;

UPDATE sample_table SET rev  = 0;

ALTER TABLE sample_table ADD PRIMARY KEY (ID, REV);

IDはもともと用意していたPrimary keyです
Primary keyにするにはnullではだめなので、0をセットしています