新規記事の投稿を行うことで、非表示にすることが可能です。
2015年12月05日
【MySQL】ユーザのバックアップ
MySQLのバックアップではユーザー情報は含まれません。
MySQLのデーターベースをバックアップするのはdumpで簡単にバックアップがとれますが、
登録されたユーザー情報はdumpのフルバックアップにも含まれません。
別ファイルにはなりますが、ユーザのバックアップも可能です。
データベース全体のバックアップ。
mysqldump -u root -p -all-databases > hoge.dump
ユーザー情報をバックアップ。
mysqldump -u root -p -allow-keywords mysql > hogeuser.dump
リストアは以下。
mysql -u root -p < hoge.dump
mysql -u root -p mysql &ly; hogeuser.dump
-
no image
-
no image
-
no image
2015年12月01日
【Linux】サーバの時刻設定コマンド
システムの時刻の設定をしたい場合は、dateコマンドを使用します。
# date -s "設定したい日時"
これで任意の時間に設定することができます。
例
# date -s "2010/10/10 00:00:00"
2010年 10月 10日 木曜日 00:00:00 OCT
次に、現在の正確な時間に設定する場合は、ntpdateコマンドを使用します。
# ntpdate -s "同期可能な NTP サーバ"
時刻を同期するサーバはインターネットなどで事前に調べて指定することになるが、
例として、東京大学が公開している NTP サーバをあげる。。
# ntpdate -s ntp.nc.u-tokyo.ac.jp
注意点はroot権限で実行することくらいでしょうか。
上記のコマンドを実行後、即時に反映されます。
ntpdate コマンドで時刻同期した際のログ出力は
/var/log/messages に吐き出されます。
2015年11月30日
【Mysql】ログを容量でローテート
MySQLのバイナリログがファイル容量を指定してローテートすることができたので、
その方法をメモ( ..)φ
ローテートのファイル容量はmax_binlog_size で指定します。
デフォルトは1Gです。
/etc/my.cnf から直接書き足す場合は、以下を実行します。
#vi /etc/my.cnf
[mysqld]ブロックに以下を書き足します。
max_binlog_size = 209715200 //200MBに設定
mysqldを再起動すると反映されます。
# service mysqld restart
再起動ができない場合などは、以下でもできます。
現在のローテートのファイル容量はmax_binlog_sizeは以下で確認する。
# mysql -uroot -p
mysql> SHOW VARIABLES like 'max_binlog_size';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| max_binlog_size | 1073741824 |
+-----------------+------------+
1 row in set (0.00 sec)
以下で設定変更します。
mysql> SET GLOBAL max_binlog_size=209715200;
2015年11月25日
【jQuery】フォーカスアウト時に日付入力チェックを行う
テキストエリアから違う場所をクリック(フォーカスアウト)したときに
日付チェックを行い、日付形式で入力されていなければ、今日の日付を自動でセットされるようにします。
わけあってHTML5のdate関数を使えないとか、
入力値をそのままフォームで飛ばしたいとかいうときに使えるとおもいます。
以下、javascriptに記載する部分を3つに分けて記述しています。
3つまとめて記載すれば問題ないと思います。
フォーカスアウトイベント、日付の書式チェック、日付フォーマットです。
id="sample"指定したテキストエリアからフォーカスアウトした時のイベント
<script>
$('#sample').focusout(function(e) {
var str = $('#sample').children().val(); // ←入力した値を取得し、格納
// ブランクチェック
if (str != '') {
//日付形式チェック
if (!ckDate(str)) {
//今日の日付をyyyy/mm/ddでセットする。
$('#sample').children().val(dateFormat.format(new Date(), 'yyyy/MM/dd'));
}
}
});
</script>
日付入力の書式チェック
<script>
function ckDate(datestr) {
// 正規表現による書式チェック
if(!datestr.match(/^\d{4}\/\d{2}\/\d{2}$/)){
return false;
}
var vYear = datestr.substr(0, 4) - 0;
var vMonth = datestr.substr(5, 2) - 1; // Javascriptは、0-11で表現
var vDay = datestr.substr(8, 2) - 0;
// 月,日の妥当性チェック
if(vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31){
var vDt = new Date(vYear, vMonth, vDay);
if(isNaN(vDt)){
return false;
}else if(vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay){
return true;
}else{
return false;
}
}else{
return false;
}
}
</script>
日付のフォーマットを指定
<script>
dateFormat = {
fmt : {
"yyyy": function(date) { return date.getFullYear() + ''; },
"MM": function(date) { return ('0' + (date.getMonth() + 1)).slice(-2); },
"dd": function(date) { return ('0' + date.getDate()).slice(-2); },
"hh": function(date) { return ('0' + date.getHours()).slice(-2); },
"mm": function(date) { return ('0' + date.getMinutes()).slice(-2); },
"ss": function(date) { return ('0' + date.getSeconds()).slice(-2); }
},
format:function dateFormat (date, format) {
var result = format;
for (var key in this.fmt)
result = result.replace(key, this.fmt[key](date));
return result;
}
};
</script>
2015年11月24日
【Smarty】HTMLのエスケープ処理
エスケープ処理は、クロスサイト・スクリプティングなどのセキュリティ上の問題に対し行わなければいけません
「<」や「&」などのHTMLやURLなど、ユーザーから入力された値をそのまま表示するように記述したい箇所には、
エスケープ処理(escape)をします。
Smartyでの実装がとても簡単です。
書き方は以下。
{$変数名|escape:"エスケープ種類"}
これだけでスクリプトタグが打ち込まれても、そのままの入力値で表示される。
エスケープ種類は以下。
html
htmlall
url
urlpathinfo
quotes
hex
hexentity
javascript
mail
デフォルトではエスケープ種類はhtmlになっているので、以下の@とAは同じ処理を示す。
@{$変数名|escape}
A{$変数名|escape:"html"}
オプションがhtmlの場合は「<」や「&」がエスケープされるが、
例えばquotesにすると変数名が「\'」で囲まれる。
mailにすると、「@」や「.」が「AT」「DOT」となる。
2015年11月23日
【jQuery】Datatablesオプション一部抜粋
bootstrapのDatatableについては以下で説明しています。
使い方などについても以下のリンクからどうぞ。
→【Bootstrap】DataTablesがすごい
実際に使用してみると、
もっとアレンジしたいとか、要望がガサガサ出てきて、
オプションも書ききれてなかったものがザクザク出てきたので追加でメモ( ..)φ
DatatablesとはきれいなUIであることだけでなく、
ソート機能や検索機能などをもったプラグインです。
$(document).ready(function() {
$('#example').DataTable();
//ここにオプションを記載
} );
オプション
// falseにすると全データが表示され、ページ切替ボタンが非表示になる
paging: true,
// falseにすると検索ボックスが非表示になる
searching: true,
// falseにするとヘッダーをクリックしてもソート不可になる
ordering: true,
// falseにすると左下のインフォメーションが非表示になる。
info: true,
// ページ初期表示時にソートする列を指定
order: [[0, 'asc']],
// [[0, 'asc']]は、0列目を昇順表示とする意味。
// ex: 左から2列目を降順であれば、[[1,'desc']]
2015年11月21日
【CSS】画面表示の際に改行されない時の対処法
DBからHTMLで画面に表示させるとき、
div要素が邪魔したりでうまく改行されていない・・・
DBでは改行されているのに・・・ということがあったので、メモ。
・CSSのwhite-spaceプロパティを使う!!
white-spaceプロパティは、ソース中の半角スペース・タブ・改行の表示の仕方を指定する際に使用します。
自分の場合は、ソース内で改行されないという問題があったので、
pre-lineを指定してやると改行されるようになりました。
white-spaceに与えられる値は以下。
white-space: normal;
通常と同様、ソース中の連続する半角スペース・タブ・改行を、1つの半角スペースとして表示。
ボックスの大きさが指定されている場合には、その大きさに応じて自動的改行。
white-space: pre;
ソース中の連続する半角スペース・タブ・改行を、そのまま表示。
white-space: nowrap;
ソース中の連続する半角スペース・タブ・改行を、1つの半角スペースとして表示。
ボックスの大きさが指定されている場合にも、自動的改行されない。
white-space: pre-wrap;
[pre]同様に、ソース中の連続する半角スペース・タブ・改行を、そのまま表示。
ただし、要素の端まで行くと自動的に改行。
white-space: pre-line
[normal]と同様ですが、ソース内の改行位置でも改行される。
2015年11月18日
【javascript】要素を別ファイルのIDに渡す
1.ボタンを押すと、HTMLの値をJavascriptで取得
2.Javascriptで値を変更
3.Javascriptで変更した値をHTMLで取得
という処理を書いていきます。
基本的に、
document.getElementById("id名").innerHTML =
で、id名の付いたタグのテキストを書き換えることができます。
下記の例でも同じことを書いています。下の書き方の方が、スッキリ見やすいです。
HTML
<div id="result">変更前</div>
<div id="btn">ボタン</div>
Javascript
<script>
// HTMLの要素を取得
var btn = document.getElementsById( "btn" );
var result = document.etElementsById( "result" );
// ボタンをクリックするとresultに値を格納
btn.addEventListener('click',function(){
result.innerHTML = "変更後";
});
</script>
2015年11月16日
【javascript】Class名から要素を取得
javascriptで要素を複数取得する場合、
以下のリンクの方法をとれば複数のIDから取得できます。
→【jQuery】同じIDを持つ複数の要素を選択する
ただ、「IDはユニークであるもの」というのが一般的に推奨されているため、
複数の要素を指定してjavascriptで使う際、特別な理由がなければクラスを指定する方が良いみたいです。
クラス属性を指定して要素を取得するには、
getElementsByClassName()を使います。
取得した要素は配列形式になるため、何らかの処理を行う際には、要素番号の指定が必要です。
HTML
<ul>
<li class="example">要素1</li>
<li class="example">要素2</li>
<li class="example">要素3</li>
<li class="example">要素4</li>
</ul>
Javascript
// exampleクラスの要素を取得
var elements = document.getElementsByClassName( "example" ) ;
// 要素1を指定する場合
// elements[0]
ちなみに、jQueryで書くと、以下のようになります。
var elements = $( ".example" ) ;
2015年11月15日
【PHP】日付を取得するdate関数
日付の取得には、date関数を使う。
例
今日の日付を取得
$today = date("n/j H:i");
→11/12 21:52
$today = date("\'y/m/d h:i:s");
'15/11/12 09:52:18
$today = date("Y/m/d(D)");
→2015/11/12(Thu)
明日の日付を取得
$tomorrow = date("n/j", strtotime("+1 day"));
→11/13
昨日の日付を取得
$yesterday = date("n/j", strtotime("-1 day"));
→11/11
以下、date関数のフォーマットをまとめたもの。