7月1日の9時のうるう秒以降にnicozonに繋がりにくくなっていますが、
その原因はMySQLのバグです。
MySQLには、うるう秒以降にCPU負荷が急増するというバグがあります。
date -s "`LANG=C date`"
このコマンドを打てばnicozonのサーバのMySQLのバグは直ったのですが、
何故かそれでも重い。再起動を試みるも重いのは直らず。
なぜバグを直したのに重いのか、その原因が分かりました。
nicozonはVPSで構築されていますが、
VPSというのは他のユーザとサーバを共有しているので、
他のユーザが負荷が自分のサーバに影響を与えるのです。
他のユーザがMySQLのバグを直さないために
nicozonのサーバに影響が出ているのが繋がりにくくなっている原因でした。
直す方法は他のユーザがMySQLのバグを直すことですが、
悠長に待っていられないので、明日にでもサーバを切り替えたいと思います。
その原因はMySQLのバグです。
MySQLには、うるう秒以降にCPU負荷が急増するというバグがあります。
date -s "`LANG=C date`"
このコマンドを打てばnicozonのサーバのMySQLのバグは直ったのですが、
何故かそれでも重い。再起動を試みるも重いのは直らず。
なぜバグを直したのに重いのか、その原因が分かりました。
nicozonはVPSで構築されていますが、
VPSというのは他のユーザとサーバを共有しているので、
他のユーザが負荷が自分のサーバに影響を与えるのです。
他のユーザがMySQLのバグを直さないために
nicozonのサーバに影響が出ているのが繋がりにくくなっている原因でした。
直す方法は他のユーザがMySQLのバグを直すことですが、
悠長に待っていられないので、明日にでもサーバを切り替えたいと思います。
DOM構築後に実行
jQueryの場合
$(document).ready(function(){
// Document is ready
});
もしくは
$(function(){
// Document is ready
});
最近のJavaScriptの場合
document.addEventListener('DOMContentLoaded', function(){
// Document is ready
}, false);
CSSセレクタによる要素選択
jQueryの場合
$('#myid');
最近のJavaScriptの場合
単数選択
document.querySelector('#myid');
複数選択
document.querySelectorAll('.ourid');
Foreach文
jQueryの場合
$.each(['a', 'b', 'c'], function(i, value){
console.log(value);
});
最近のJavaScriptの場合
['a', 'b', 'c'].forEach(function(value, i){
console.log(value);
});
Map文
jQueryの場合
$.map(['a', 'b', 'c'], function(value, i){
return value + i;
});
最近のJavaScriptの場合
['a', 'b', 'c'].map(function(value, i){
return value + i;
});
Filter文
jQueryの場合
$.grep([1, 2, 3], function(v, i){
return v > 1;
});
最近のJavaScriptの場合
[1, 2, 3].filter(function(v, i){
return v > 1;
});
配列中のインデックスを返す
jQueryの場合
$.inArray('b', ['a', 'b', 'c']);
最近のJavaScriptの場合
['a', 'b', 'c'].indexOf('b');
配列であるか判別
jQueryの場合
$.isArray(['a', 'b', 'c']);
最近のJavaScriptの場合
Array.isArray(['a', 'b', 'c']);
文字列の先頭と末尾から空白を除去
jQueryの場合
$.trim(' test ');
最近のJavaScriptの場合
' test '.trim();
現在のUnixTimeを取得
jQueryの場合
$.now();
最近のJavaScriptの場合
Date.now();
JSONをパース
jQueryの場合
$.parseJSON('{"name":"John"}');
最近のJavaScriptの場合
JSON.parse('{"name":"John"}');
ちなみにJSONを作成する場合 ※jQueryにはstringifyがありません
JSON.stringify({"name":"John"});
XMLをパース
jQueryの場合
var xml = $.parseXML('<name>John</name>');
$(xml).find('name').text();
最近のJavaScriptの場合
var xml = (new DOMParser).parseFromString('<name>John</name>', 'application/xml');
xml.getElementsByTagName('name')[0].textContent;
IEのせいで最近のJavaScriptはサイトでは使えませんが。
FirefoxやChromeの拡張とかに使う場合は覚えておくと便利かも知れません。
あと他にもあったら教えて下さい。
jQueryの場合
$(document).ready(function(){
// Document is ready
});
もしくは
$(function(){
// Document is ready
});
最近のJavaScriptの場合
document.addEventListener('DOMContentLoaded', function(){
// Document is ready
}, false);
CSSセレクタによる要素選択
jQueryの場合
$('#myid');
最近のJavaScriptの場合
単数選択
document.querySelector('#myid');
複数選択
document.querySelectorAll('.ourid');
Foreach文
jQueryの場合
$.each(['a', 'b', 'c'], function(i, value){
console.log(value);
});
最近のJavaScriptの場合
['a', 'b', 'c'].forEach(function(value, i){
console.log(value);
});
Map文
jQueryの場合
$.map(['a', 'b', 'c'], function(value, i){
return value + i;
});
最近のJavaScriptの場合
['a', 'b', 'c'].map(function(value, i){
return value + i;
});
Filter文
jQueryの場合
$.grep([1, 2, 3], function(v, i){
return v > 1;
});
最近のJavaScriptの場合
[1, 2, 3].filter(function(v, i){
return v > 1;
});
配列中のインデックスを返す
jQueryの場合
$.inArray('b', ['a', 'b', 'c']);
最近のJavaScriptの場合
['a', 'b', 'c'].indexOf('b');
配列であるか判別
jQueryの場合
$.isArray(['a', 'b', 'c']);
最近のJavaScriptの場合
Array.isArray(['a', 'b', 'c']);
文字列の先頭と末尾から空白を除去
jQueryの場合
$.trim(' test ');
最近のJavaScriptの場合
' test '.trim();
現在のUnixTimeを取得
jQueryの場合
$.now();
最近のJavaScriptの場合
Date.now();
JSONをパース
jQueryの場合
$.parseJSON('{"name":"John"}');
最近のJavaScriptの場合
JSON.parse('{"name":"John"}');
ちなみにJSONを作成する場合 ※jQueryにはstringifyがありません
JSON.stringify({"name":"John"});
XMLをパース
jQueryの場合
var xml = $.parseXML('<name>John</name>');
$(xml).find('name').text();
最近のJavaScriptの場合
var xml = (new DOMParser).parseFromString('<name>John</name>', 'application/xml');
xml.getElementsByTagName('name')[0].textContent;
IEのせいで最近のJavaScriptはサイトでは使えませんが。
FirefoxやChromeの拡張とかに使う場合は覚えておくと便利かも知れません。
あと他にもあったら教えて下さい。
Google ChromeとFirefoxしか使えなかったmp3変換がOperaにも対応しました。
とは言っても実装がムリヤリな感じなのでChromeとFirefoxと比べて結構不便ですが、
まず変換する前にOpera Dragonflyを立ち上げなければいけない。
実行時間の長いスクリプトは途中で止まる可能性がありますが、
Opera Dragonflyを立ち上げとくと途中で止まりません。
次にドラッグアンドドロップで変換できません。
ファイル名入力ボックスを使う必要があります。
最後に右クリックから保存しようとするとフリーズしますが、
待っていればフリーズが解けて保存出来るようになります。
フリーズをするのは保存にObject URLではなくData URLを使っているからです。
Operaは残念ながらObject URLに対応していないので使えません。
しかし、それらを我慢すればOperaでもmp3などの音声に変換できると言うわけです。
とは言っても実装がムリヤリな感じなのでChromeとFirefoxと比べて結構不便ですが、
まず変換する前にOpera Dragonflyを立ち上げなければいけない。
実行時間の長いスクリプトは途中で止まる可能性がありますが、
Opera Dragonflyを立ち上げとくと途中で止まりません。
次にドラッグアンドドロップで変換できません。
ファイル名入力ボックスを使う必要があります。
最後に右クリックから保存しようとするとフリーズしますが、
待っていればフリーズが解けて保存出来るようになります。
フリーズをするのは保存にObject URLではなくData URLを使っているからです。
Operaは残念ながらObject URLに対応していないので使えません。
しかし、それらを我慢すればOperaでもmp3などの音声に変換できると言うわけです。