Six Degrees of (Separation|Inner Turbulence)

Find your degrees.

5月 21

twittering-mode

git clone git://github.com/hayamiz/twittering-mode

coping whole directory to some path.

.emacs
(add-to-list ‘load-path “c:/gnupack/home/.emacs.d/site-lisp/twittering-mode”)
(require ‘twittering-mode)
;(setq twittering-use-master-password t)
;(setq twittering-private-info-file “c:/gnupack/home/.emacs.d/site-lisp/twittering-mode/twittering-mode.gpg”)


failure message.
Failed to retrieve a request token.

apt-cyg install gnupg
apt-cyg install curl

M-: (executable-find “gpg”)
“c:/gnupack/app/cygwin/cygwin/bin/gpg.exe”


no failured..


5月 15

やっと、やっとGNU Screenの使い方がわかった。。。


5月 11

ImageMagickとか

これでインストールだと思い込んでいて

# yum install libpng-devel
# convert -version

できたつもりだった。


# pecl install imagick
~前略
checking ImageMagick MagickWand API configuration program… configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.
ERROR: `/tmp/pear/temp/imagick/configure —with-imagick’ failed

何度やってもエラー

# yum -y install ImageMagick-devel

でやったらインストールされて、
再度
# pecl install imagick

できた。

こちらに助けられました。
http://labs.uechoco.com/blog/2008/04/phppecl.html


5月 8

・処理ステップと処理時間
 特にモデルの動き、require、include
 コントローラの動きやリクエストアクション
 フレームワークのボトルネックそのもの
 filter系、事前処理

・DBアクセスの負荷
 特に実行計画とSESSION_LONGOPS
 インデックス

・キャッシュの有効性
 DB/SQL
 オブジェクト

・Apacheの設定
 htaccess
 全く動的でないページだけにした場合、このサイトはいったい速いのか?


3月 26

特定フィールドに特定文字が含まれる行を検索する

いまさらながらにawkがすごい。

awk '$9==404 {print}' access_log
awk '$9 ~ /50.*/ {print}' access_log
cat access_log | awk '$4 ~ /26\/Mar/ {print}' | awk '$7 ~ /^\/test/ {print $7}' | wc -l


3月 22

拡張子だけ一覧

配下のファイルにどんな拡張子があるのか知りたい場合

find . -type f | while read line;do echo ${line##*.};done | sort -u


3月 21

複数のテーブルにinsert

INSERT ALl
    INTO TABLE1 (FIELD1,FIELD2,FIELD3) VALUES (1,2,3)
    INTO TABLE2 (FIELD1,FIELD2) VALUES (4,5)
SELECT * FROM DUAL;


3月 15

なんか条件で削除

末尾が数字のファイルだけ削除したい。下層まで。

find . -type f -regex ".*[0-9]$" | xargs rm -fR



3月 13

paste —help

使用法: paste [オプション]… [ファイル]…
FILE の各行から, 一致する行をタブ文字で区切り, 順に標準出力に書き込みます.
FILE が指定されない, あるいは `-’ を指定した場合には標準入力を読み込みます.

長いオプションに必須の引数は短いオプションにも必須です。
-d, —delimiters=LIST タブ文字の代わりに, LIST の文字を区切りとして使用
-s, —serial 一行毎ではなく, 一度に 1 つのファイルを貼付ける
—help この使い方を表示して終了する
—version バージョン情報を表示して終了する

paste のバグを発見した場合は bug-coreutils@gnu.org に報告してください。
GNU coreutils のホームページ: >
GNU ソフトウェアを使用する際の一般的なヘルプ: >
paste の翻訳に関するバグは に連絡してください。
完全な文書を参照する場合は info coreutils ‘paste invocation’ を実行してください。>


tr —help

使用法: tr [OPTION]… SET1 [SET2]
標準入力から読み込んだ文字を置換、切り詰め、削除し、標準出力に書き込みます。

-c, —complement SET1 の補集合を使用する
-d, —delete SET1 中の文字を削除する。置換は行わない
-s, —squeeze-repeats 入力の中に SET1 に含まれる文字が連続して存在する
場合に 1 個に置換する
-t, —truncate-set1 最初に SET1 を SET2 の長さまで切り詰める
—help この使い方を表示して終了する
—version バージョン情報を表示して終了する

SET は文字列によって指定します。多くの場合その文字自身を表現します。
解釈のされ方は以下の通りです:

\NNN 文字の八進数表現(1 から 3 個の 八進数)
\ バックスラッシュ
\a ベル
\b バックスペース
\f フォームフィード
\n 改行
\r 復帰
\t 水平タブ
\v 垂直タブ
CHAR1-CHAR2 CHAR1 から CHAR2 までを昇順に展開した文字列
[CHAR1-CHAR2] SET1 と SET2 の両方で指定した場合には CHAR1-CHAR2 と同じ
[CHAR*] SET2 として, CHAR を SET1 の長さ分展開した文字列
[CHAR*REPEAT] CHAR を REPEAT 個展開した文字列, REPEAT の値を 0 から
始めた場合には八進数として解釈する
[:alnum:] 全てのアルファベットと数字
[:alpha:] 全てのアルファベット
[:blank:] 全ての水平方向空白類文字
[:cntrl:] 全ての制御文字
[:digit:] 全ての数字
[:graph:] 全ての表示可能文字。空白は含まない
[:lower:] 全ての小文字アルファベット
[:print:] 全ての表示可能文字。空白も含む
[:punct:] 全ての句読点
[:space:] 全ての水平及び垂直タブ文字
[:upper:] 全ての大文字アルファベット
[:xdigit:] 全ての十六進数数値
[=CHAR=] 全ての CHAR と等価な文字

置換は -d が与えられず、 SET1 および SET2 の両方が指定されたときに実行されます。
-t は置換の時のみ使用されます。SET2 は必要に応じて SET1 の長さまで最後の文字を
繰り返すことで拡張されます。 SET2 の超過した文字は無視されます。[:lower:] およ
び [:upper:] のみ、置換における SET2 で使用すると昇順であることが保証されます。
これは大文字・小文字の変換を指定する時のみに組み合わせとして使用されます。置換
でも削除でもない場合は -s では SET1 が使われます。切り詰めの場合には SET2 が置
換、削除の後に使用されます。

tr のバグを発見した場合は bug-coreutils@gnu.org に報告してください。
GNU coreutils のホームページ: >
GNU ソフトウェアを使用する際の一般的なヘルプ: >
tr の翻訳に関するバグは に連絡してください。
完全な文書を参照する場合は info coreutils ‘tr invocation’ を実行してください。>


cut —help

使用法: cut OPTION… [FILE]…
ファイルの各行から選択した部分だけを切り出し、標準出力に表示します。

長いオプションに必須の引数は短いオプションにも必須です。
-b, —bytes=LIST バイトで数えた LIST を選択する
-c, —characters=LIST 文字で数えた LIST を選択する
-d, —delimiter=DELIM フィールドの区切り文字として TAB の代わりに DELIM
を使用する
-f, —fields=LIST LIST のフィールドのみを選択する。-s オプションが
指定されない限り、区切り文字を含まない行も表示
する
-n (無視される)
—complement 選択されたバイト数、文字数またはフィールド数の
組を補足する
-s, —only-delimited 区切り文字を含まない行を出力しない
—output-delimiter=STRING 出力の区切り文字として STRING を使用
デフォルトでは入力の区切り文字を使用
—help この使い方を表示して終了する
—version バージョン情報を表示して終了する

-b、 -c または -f はただ一つのみ、しかも必ず使用してください。各
LIST はコンマで区切られた単一または複数の範囲で構成されます。選択
した入力は読み込まれた順番でただ一度だけ出力されます。
範囲指定は以下のいずれかです。
N N 番目のバイト、文字またはフィールド。行頭を1とする
N- N 番目のバイト、文字またはフィールドから行末まで
N-M N 番目から M 番目(これも含める)までのバイト、文字またはフィールド
-M 行頭から M 番目(これも含める)までのバイト、文字またはフィールド

FILE が無いまたは - の場合は標準入力から読み込みます。

cut のバグを発見した場合は bug-coreutils@gnu.org に報告してください。
GNU coreutils のホームページ: >
GNU ソフトウェアを使用する際の一般的なヘルプ: >
cut の翻訳に関するバグは に連絡してください。
完全な文書を参照する場合は info coreutils ‘cut invocation’ を実行してください。>


3月 6

ファイルを二つに分割したい(ちょっと短く版)

sedもいいけどawkもねと。 1.ファイルを行数を見る→2451663
2.2で割る→1225831
3.割り切れないことを考えて+1にして分割する

echo `wc -l www_access_log`
2451663 www_access_log

va=$(((`wc -l www_access_log | awk '{print $1}'`)/2))

echo $va
1225831

split -l $(($va+1)) www_access_log www_access_log.
-rw-r—r— 1 yuki.takahashi mkgroup 659M 3月 1 10:15 www_access_log
-rw-r—r— 1 yuki.takahashi mkgroup 330M 3月 1 14:27 www_access_log.aa
-rw-r—r— 1 yuki.takahashi mkgroup 330M 3月 1 14:28 www_access_log.ab


3月 5

Oracle関数作ってみた

CREATE OR REPLACE FUNCTION KANTAN_HENKAN(SWITCHER IN CHAR,PRM_STR IN VARCHAR2) RETURN VARCHAR2
    AS TMP_STR VARCHAR2(32767);

    BEGIN
        IF LOWER(SWITCHER) = 'e' THEN
            TMP_STR := TRANSLATE(PRM_STR,'0123456789','abcdefghij'); 
        ELSIF LOWER(SWITCHER) = 'd' THEN
            TMP_STR := TRANSLATE(PRM_STR,'abcdefghij','0123456789'); 
        ELSE 
            TMP_STR := '';
        END IF;
        RETURN TMP_STR;
    END;
/
SELECT KANTAN_HENKAN('E','0123456789') FROM DUAL
abcdefghij


3月 1

grep結果の前後n行ごと取りたい

前後に関連がある(配列とか)場合にgrepの結果の前n行と後ろn行が取りたい場合がある(人もいるかも)

grep "ERROR_FILE" -B 4 -A 5 error_log
マニュアルにはこうありました。
  -B, --before-context=NUM  print NUM lines of leading context
  -A, --after-context=NUM   print NUM lines of trailing context
  -C, --context=NUM         print NUM lines of output context
-Bだと前を示すので該当行から上4行を一緒にとります。
-Aだと後を示すので該当行から下5行を一緒にとります。

上下だったら-C 5とかにすれば該当行から上下5行ずつを一緒にとるということです。
grep "ERROR_FILE" -C 5 error_log


ページ 1 の 11