Archives by date

You are browsing the site archives by date.

【Javascript】URL形式の正規表現チェックを行う。

メモ。

var str = 'http://example.com';
var pattern = new RegExp('^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$','i');

pattern.test(str);

 

【Javascript】JavascriptでPHPのpreg_quote()メソッドを実装する。

メモ。

preg_quote()は正規表現構文の特殊文字の前にバックスラッシュを挿入してくれる関数。ようは必要に応じてエスケープを行ってくれる。

stackoverflowでよさ気なコードを見つけたのでペタリ。↓
http://stackoverflow.com/questions/6828637/escape-regexp-strings

function preg_quote (str, delimiter) {
    return (str + '').replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\' + (delimiter || '') + '-]', 'g'), '\\$&');
}

利用方法はPHPの同名関数と同じ。詳細は下記ページを参照されたし。

http://www.php.net/manual/ja/function.preg-quote.php

 

【Javascript】jQueryUIでhighlight()メソッドのカラーを変更する。

めも。

$('.target').effect('highlight', {color: '#ffffff'}, 1000);

第2引数にオブジェクトを渡してやればOK。

 

【Javascript】Javascriptでクリップボードへのコピーを行う。

IE以外のモダンブラウザでクリップボードへ特定のテキストを流し込む方法。

ZeroClipboardを用いる。↓
https://github.com/zeroclipboard/zeroclipboard

まずは準備。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="/js/ZeroClipboard.min.js"></script>
<script>
var clip = new ZeroClipboard($(".zero-clip"), {
	moviePath: 'ZeroClipboard.swf'
});
clip.on('complete', function (client, args) {
	// コピーが成功した際のコールバック処理を記述する
});
</script>

ZeroClipboard()の第一引数にはコピーを実行する際のトリガーとなる要素(ボタン要素など)を指定する。
※この際渡す要素はjQueryオブジェクトであることに注意。
また第二引数のmoviePathプロパティに指定するswfファイルはスクリプトから参照できる場所に配置すること。

次にトリガーを引いた際のコピー対象となるテキスト要素にIDを割り当て、トリガー要素の「data-clipboard-target」属性にそのIDを持たせる。

下記例。

<button class="zero-clip" data-clipboard-target="target" type="button">Copy</button>

これですべての準備が完了。設定したボタンを押せば、指定した要素内のテキストがクリップボードにコピーされる。
フラッシュの機能を用いて実現しているため、iPhoneなどのフラッシュ非対応デバイスでは動作しない点に注意。

 

【Javascript, PHP】CakePHP2.4のセキュリティコンポーネントをAjaxによるPOSTデータで通過させる。

メモ。

var data = {};
$(this).find('input[type!="submit"]').each(function() {
	data[$(this).attr('name')] = $(this).val();
});

上記のようにして特定フォームの全インプット要素(Submit属性は除く)を拾ってポストすればセキュリティコンポーネントを通過することが出来る。
しかし、セキュリティトークンは一度の処理のみ有効なので連続してポストした場合、2回目以降が403で弾かれてしまうので注意されたし。

また上記の拾い方をした場合、コントローラー内からは通常通り「$this->request->data」で受け取ることができるので非常に便利。

 

【CentOS】SSHでtopコマンドを叩く方法。

バッチ処理中にtopコマンドをそのまま叩くと下記のように怒られる。

top: failed tty get

なのでexec()などからtopを叩きたい場合は下記のようにパラメーターをつければOK。

top -b -n 1

「-b」がバッチへの対応。「-n 1」は更新回数。これを指定しないと明示的に処理を止めるまで結果を吐き続ける模様。

 

【CentOS】topコマンドの更新頻度を指定する。

めも。

# 1秒間隔
top -d1

# 10秒間隔
top -d10

# 0.1秒間隔
top -d0.1

 

【Linux】KNOPPIXを用いてHDDの究極完全消去を行う。

めも。

1, まずはKNOPPIXをコンソールモードで起動する。

KNOPPIXのディスクをマウントし「boot:」の文字が表示されたら下記のコマンドを入力する

boot:knoppix 3 noswap

2, 入力に成功すると下記のようなコマンド待機状態になる

root@Microknoppix:~#

3, 下記コマンドを実行し、消去したい HDDの情報を調べる

root@Microknoppix:~# sfdisk -l

下記のような情報が返却される

Disk /dev/sda: 238216 cylinders, 16 heads, 63 sectors/track
...
...
略
...
...

上記1行目の「/dev/sda」という部分がディスクの名前を指している。

4, 最後にHDDの完全消去を行う。

次のコマンドを実行

root@Microknoppix:~# shred -z -v /dev/sda

※この方式はランダムな書き込みを25回行い最後にNULL(0)を書き込む。非常に時間が掛かるので注意。

5, 「done」と表示されれば消去完了。