過去の投稿

August 2014 の投稿一覧です。
カテゴリー: javascript
2014年08月14日
select()で選択状態にできるが、chromeなどのWebkitだとうまく機能しないので
setTimeout(function(){ $("#paste").select() }, 0);
とイベントのタイミングをズラすと良い。

» 続きを読む
カテゴリー: MySQL
2014年08月13日
【概要】
カラム「position」の値の順に表示させているデータに対し任意のレコードの表示位置を変更する。

【例】
五十音順に表示させるためにpositionの値を使って制御している環境下において
「田中→高野→高橋」の順番になっているのを「高野→高橋→田中」の順に変更する

row_id name position
1 斉藤 1
2 田中 2
3 高野 3
4 高橋 4
5 渡辺 5



row_id name position
1 斉藤 1
2 田中 4
3 高野 2
4 高橋 3
5 渡辺 5

» 続きを読む
カテゴリー: MySQL
2014年08月13日
WHERE
`created` > CURRENT_TIMESTAMP + INTERVAL - 10 minute;
カテゴリー: Google Chorme
2014年08月12日
Google Chormeを使用時、普通のサイトは問題なく閲覧できるのに
googleの検索、Gmail、google mapなどのgoogleのサービス全般が異常に重い状態になったら
 右上にある「設定」を開いて
→「詳細設定を表示」
→「プライバシー」の「閲覧履歴データの消去」
→「閲覧履歴」と「キャッシュされた画像とファイル」にチェックを入れる
→「閲覧履歴データを消去する」
をクリックしてPC内にあるキャッシュ用のデータを削除すると問題が解決した
カテゴリー: Nucleus
2014年08月11日
nucleus/libs/globalfunctions.phpの1,285行目のaddBreaksとその下のremoveBreakを

function addBreaks($var) {
$var = preg_replace('/(\t+)/musi', '${1}', $var);
return nl2br($var);
}
function removeBreaks($var) {
$var = preg_replace('#<span class="tab">(\t+)</span>#musi', '${1}', $var);
return preg_replace("/<br \/>([\r\n])/", "$1", $var);
}

としてタブがspanタグで囲まれるように&管理画面では元のタブだけが表示されるようにし、
skins/default/default_left.cssに

.contentbody {
padding: 0 1em;
line-height: 25px !important;
background: url(images/line.png) 0 0 repeat;
}
.contentbody .tab {
white-space: pre;
}
を追記してタブがただのホワイトスペースではなくタブとして表現されるように変更
カテゴリー: Linux
2014年08月08日
#!/bin/sh
WORK_DIR="/*output_directory_path*/"
PWFILE="/*password_file_path*/"

TABLES=()
TABLES=(${TABLES[@]} "*table_a*")
TABLES=(${TABLES[@]} "*table_b*")

for (( I = 0; I < ${#TABLES[@]}; ++I ))
do
DUMP_SQL="$WORK_DIR/${TABLES[$I]}.sql"
mysqldump --defaults-extra-file=$PWFILE -u*account* *db_name* --tables ${TABLES[$I]} > $DUMP_SQL
perl -pi -e 's/\),\(/\),\n\(/g' $DUMP_SQL
done


【概要】
*output_directory_path*
→ダンプファイル出力先ディレクトリ

*password_file_path*
→MySQL5.6からはコマンドライン上でパスワードを入力するとWarningエラーが出るので
パスワードの内容を設定した以下の2行を記述したファイルをオプションで読み込ませる

[mysqldump]
password=*your_password*

*table_xxx*
→ここにダンプしたいテーブル名を記述し、出力したい分だけ列挙する

perl -pi -e 's/\),\(/\),\n\(/g' $DUMP_SQL
→INSERT文の各レコードの区切りに改行を挿入してエディタで開きやすく&扱いやすく置換
カテゴリー: MySQL
2014年08月08日
FLOOR( 最小の値 + (RAND() * (最大の値-最小の値+1)) )

5~10の間の数値をランダムに取得したい場合は

FLOOR( 5 + (RAND() * (10 - 5 + 1)) )
カテゴリー: Linux
2014年08月07日
# 問題のファイルのあるディレクトリで -i をつけて ls を実行。
ls -i

# 問題ファイルの i-node 番号を確認しておく。
find . -inum (問題ファイルのi-node番号) -exec rm -i {} \;

※rm の -i は安全のために削除の確認を促すようにしているだけなので、 なくてもよい

参考
http://www.nminoru.jp/~nminoru/diary/2003/01.html#2003-01-23
カテゴリー: Linux
2014年08月07日
# まずは対象のファイル/ディレクトリの所有者&グループを設定
chown -R apache:apache /*target_path*/

# 対象ユーザーをapacheグループに所属させる
usermod -g apache *user_name*
カテゴリー: 画像
2014年08月07日
PNGの圧縮
http://tinypng.org/

JPEGの圧縮
http://www.jpegmini.com/

※GIFはPNG化→tinypngした方が軽くなることがある
カテゴリー: javascript
2014年08月07日
http://javascript-minifier.com/
カテゴリー: javascript
2014年08月07日
jQuery(function(){
$(document)
// 電話番号の入力は数字と-のみ許可
.on(
"keydown",
"[name=phone]",
function (event) {
var k = event.keyCode;

// BS,Tab,Enter,Del,-
if ( k == 8 || k == 9 || k == 13 || k == 46 || k == 45 || k == 109 || k == 189) return;

// Home,End,←↑→↓
if ( k >= 35 && k <= 40 ) return;

// 数字0~9
if ( k >= 48 && k <= 57 ) return;

// テンキー
if ( k >= 96 && k <= 105 ) return;

event.returnValue = false;
}
)
;
});
カテゴリー: jQuery
2014年08月07日
※$("input").each()内の処理

$("input")
.each(
function () {
var _this = $(this);
if (_this.attr("type") == 'radio') {
if ($("[name="+_this.attr("name")+"]:checked").size()) {
// 該当のradioは選択済み
}
}
}
)
;
カテゴリー: Linux
2014年08月07日
find /*target_path*/ -type f -print0 | xargs -0 chmod 0664
find /*target_path*/ -type d -print0 | xargs -0 chmod 0775
カテゴリー: Linux
2014年08月07日
split -l 5000 error_log.BAK split/split_error_log.

・5000行毎にファイルを分割
・ファイル名は split_error_log.aa → .ab のような形で作られる
・相対パスで指定した下位ディレクトリsplit内に分割ファイルを作成することも可能
カテゴリー: MySQL
2014年08月07日
mysqlcheck -u*** -p -a *db_name* [*table_name*] で解析(analyze)
mysqlcheck -u*** -p -o *db_name* [*table_name*] で修復(opitimize)
-o でダメな場合に REPAIR TABLE *table_name* を発行すると直る場合も

【実際にあった例】
ファイル丸ごと移設したDBでエラーが発生
→WinSCP上の所有者はmysqlになっているが、F9で権限を確認すると所有者が空欄になっていた
→再度所有者をmysqlに設定し直しrepairを試みたら成功
カテゴリー: MySQL
2014年08月07日
SET
@i := 0;

UPDATE
`table`
SET
`order` = (@i := @i + 1)
WHERE
`id` IN (
SELECT
`id`
FROM
(
SELECT
id
FROM
`table`
WHERE
`column` = 1
ORDER BY
`date`
) AS `tmp`
)
ORDER BY
`order`;
カテゴリー: 未分類
2014年08月07日
【PHP】
slim, Silex

【CSS】
bootstrap

【HTML】
canvas fingerprinting

【javascript】
AngularJS
Node.js
vanilla.js