mysql

■■キャラセット
[client]
default-character-set = utf8
[mysqld]
character_set_server = utf8
[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8

■■mysqli
■接続
$mysqli = new mysqli("localhost", "id", "pass", "db");
$mysqli->set_charset("sjis"); // クライアントの文字セット
■キャラセット確認
echo $mysqli->character_set_name();
■select
$query = "select * from t1";
$stmt = $mysqli->prepare($query);
$stmt->execute();
$stmt->bind_result($id,$name,$text,$created);
while ($stmt->fetch()) {
echo $name." ".$text."
";
}
■insert
$query = "insert into t1 set name='',text=''";
$mysqli->query($query);
■close
$mysqli->close();

oci

■■接続
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
■■select
$stmt = oci_parse($conn, 'select * from t where pk = :id');
oci_bind_by_name($stmt, ':id', $id, -1);
oci_execute($stmt, OCI_DEFAULT);
■取得①
while ($row = oci_fetch_array($stmt, OCI_ASSOC+OCI_RETURN_NULLS)) {
}
■取得②
oci_define_by_name($stmt, 'USRID', $userid);
oci_define_by_name($stmt, 'UNAME', $name);
while (oci_fetch($stid)) {
echo "Hello $userid is $name
\n";
}
■取得③
while (oci_fetch($stid)) {
echo oci_result($stmt, 'USRID') . " is ";
echo oci_result($stmt, 'UNAME') . "
\n";
}
■■リソースの解放
oci_free_statement ( $stmt )

文字コード

http://itpro.nikkeibp.co.jp/article/COLUMN/20061122/254626/
■Shift-JIS
ダメ文字 置換 エラー
文字 シフトJIS漢字コード UTF-8
ソ 835c e382bd
ー 815b e383bc

文字 アスキーコード
\ 5c
[ 5b
' 27
" 22
80〜9F、 および E0〜FF には無い

なので、835cは、シフトJISだと認識できる。
が、magic_quotes_gpcなどで勝手にエスケープ(5c→5c5c)
などとされると、文字化けになる。

■メタ文字のエスケープ処理に注意
'、"、[、\、などをエスケープしようとすると、
5c,5b,27,22の部分がエスケープされてしまうので、文字化けになる。
preg_machなどでもダメ、ひっかかる。
・対策(マッチする前にUTF8)
$str = "ーソ[";
$str = mb_convert_encoding($str,'UTF-8','Shift-JIS');
$ary = preg_quote(" . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -");
if (preg_match("/$ary/",$str)) {
echo "match \n";
}
$str = mb_convert_encoding($str,'Shift-JIS','UTF-8');



Unicode対応表
http://ash.jp/code/unitbl21.htm

eclipse IDE

■最軽量プラットフォーム
以下から
Platform Runtime Binaryのものをダウンロード
http://archive.eclipse.org/eclipse/downloads/
■■プラグイン
PHP
PHP Development Tools (PDT)
Subclipse
http://subclipse.tigris.org/
[Add]http://subclipse.tigris.org/update_1.8.x
全部
・無視リスト
[window][設定][チーム][無視リスト]
.project
.settings
.buildpath
tags
・タスクリストからのコミット・コメント変更
[window][設定][Mylyn][チーム]
${task.status} - ${connector.task.prefix} ${task.key}: ${task.description}
${task.url}
■DBviewer
[Add]http://www.ne.jp/asahi/zigen/home/plugin/dbviewer/
C:\oracle\product\10.2.0\client_2\jdbc\lib\ojdbc14.jar
mysql-connector-java-5.1.24-bin.jar
■テーマ
https://github.com/Prototik/Eclipse-Juno-Dark/downloads
ダウンロードした「Eclipse_Juno_Dark.jar」を
eclipse/plugins/に移動
[preferences][general][appearance]でテーマを選択
[設定][一般][外観]でテーマを選択
■カラーテーマ
[Add]http://eclipse-color-theme.github.com/update/
もしくは
マーケットプレイスをインストール
マーケットプレイスからcolor themeをインストール
[preferences][general][appearance][color theme]が追加される
[設定][一般][外観][color theme]が追加される
そこでテーマを選択

まず、出現箇所のマークの利用有無を設定。
設定 > PHP > エディター > 出現箇所のマーク
「現行ファイルの選択された要素の出現箇所にマークを付ける」にチェック

続いて、出現箇所の色2ヶ所を変更する。
設定 > 一般 > エディター > テキストエディター > 注釈
PHP 要素書き込み出現箇所
PHP素読み込み出現箇所
■タブ スペース表示
[Windows]/[Preferences][General]/[Editors]/[Text Editors]
[Show whitespace characters]
■ActivePerlインストール
perl.exeが必要なので以下をインストール
http://www.activestate.com/activeperl/downloads
■EPIC perlプラグイン
[Add]http://e-p-i-c.sf.net/updates/testing
EPICインストール
[preferences][Perl EPIC][実行ファイル]"C:\Perl\bin\perl.exe"
Javaプラットホーム
Java Development Tool
■■その他プラグイン
■Mylyn
タスク管理
Juno - http://download.eclipse.org/releases/juno
コラボレーション
Mylyn タスクリスト
Mylyn Task-Focused Interface 3.8.3.v20130107-0100
[Add]http://download.eclipse.org/mylyn/releases/latest
■ER Master
[Add]http://ermaster.sourceforge.net/update-site/

■■ビュー
■タスク
ラインにタグを追加できる。リストで管理できる。
■タスク・リストMylyn
複数のファイルを登録できる。
■■日本語化
http://mergedoc.sourceforge.jp/index.html#/pleiades.html
features、plugins上書き
eclipse.ini最後の行に追加
[-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar]
※英語に戻す⇒「;」でコメントアウト
clean起動
■■eclipse.ini

  • Xms1024m は、 eclipse 起動時に確保するメモリ量です。
  • Xmx1024m は、 eclipse が使用する最大のメモリ量です。

■■ActivePerl
perl package manager
[view all packages]
すべてのパッケージが見れる
インストールしたいものを選択し
[make for install] [run maked action]
\perl\site\lib に追加される

apache + php + java

apacheユーザー環境変数にパスを通す
/etc/sysconfig/httpd
export JAVA_HOME=/usr/java/jdk1.7.0_15
export PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java-5.1.24-bin.jar
export CLASSPATH
■確認
phpinfo
Environmentで確認できる
# env
■実行
exec(java -cp /var/www/cgi-bin:/var/www/cgi-bin/mysql-connector-java-5.1.24-bin.jar javatest)
※cpするとデフォルト値はリセットされるので、すべて指定する。
※jarファイルは、指定する。

EMACS

<ファイルに関するコマンド>
C-x C-f ファイルを開く
C-x i 別のファイルを挿入
C-x C-v 別のファイルに置き換える
C-x C-s ファイルのセーブ
C-x C-w 別名のファイルにセーブ
C-x s 編集中の全てのバッファをファイルの保存
C-x k ファイルを閉じる
<カーソルに関するコマンド>
C-f カーソルの位置を次の文字に移動
C-b カーソルの位置を前の文字に移動
C-n カーソルの位置を次の行に移動
C-p カカーソルの位置を行頭に移動
C-a カーソルの位置を行頭に移動
C-e カーソルの位置を行末に移動
C-v 次の画面に移動
M-v 前の画面に移動
M-> ファイルの末尾に移動
C-x C-x マークした位置に移動.再入力で元に戻る
M-x goto-line 特定の行へ移動
<文字列に関するコマンド>
C-d カーソルの位置にある文字を削除
DEL カーソルの左側の文字の削除
C-k カーソルから行末までを消去
M-k カーソルから文末までを消去
C-space 範囲の開始位置を指定
C-w 指定範囲のカット
C-y 最後に消去したものの再入
M-w 指定範囲のコピー
C-s 文字列の検索
C-r 文字列の検索(逆方向)
M-% 文字列の置換(yで置換,nでそのまま)
M-x replace-string 文字列の一括置換
<ウィンドウに関するコマンド>
C-x 3 現在カーソルのあるウィンドウを垂直方向に分 割
C-x 2 現在カーソルのあるウィンドウを上下に2分割
C-x o 現在カーソルのあるウィンドウ間のカーソルの移動
C-x 1 現在カーソルのある他のウィンドウを1つ消す
C-x 0 現在カーソルのあるウィンドウを削除
<日本語入力のコマンド> 「C-\」:日本語入力モード
C-n又はSPACE 次の変換候補を表示
C-p 前の変換候補を表示
C-i 変換対象を短くする
C-o 変換対象を長くする
<その他のコマンド>
C-x C-o 空行の一括削除
C-g コマンドのキャンセル
C-x u 最後の操作の取り消し
C-x C-c Emacsの終了
C-z Emacsの中断
C-l カーソルのある位置を中央にして表示させる
■オートセーブさせない
^/.emacs.d/init.el
(setq make-backup-files nil)
(setq auto-save-default nil)

apache 環境変数

■■確認
phpinfo
Environmentで確認できる
■■環境変数追加
/etc/sysconfig/httpd
最後に
export JAVA_HOME=/usr/java/jdk1.7.0_15
export PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java-5.1.24-bin.jar
export CLASSPATH
とか書き込む

Linuxbashがログインシェルとして起動する場合
ユーザ環境の設定ファイルは次の順番で読み込まれます。
1./etc/profileを読み込む
2.~/.bash_profile, ~/.bash_login, ~/.profile