MEMO REC

雑記帳兼php、mysql、html、css、javascript等の備忘録です。

【vim】vimでテキストを全選択する(ついでにコピーまで)

windowsのメモ帳やサクラエディタなどでテキストを全選択する時には、Ctrl+Aで全選択出来ますが、vimではCtrl+Aを押しても全選択できません。

vimではノーマルモードにしてから下記を打ち込めば全選択が可能になります。

コマンド

・Escを押下してノーマルモードにしてください。

ggVG

※最後にyを付ければそのままコピー(ヤンク)

コマンドの意味

コマンド 動作
gg ファイル先頭に戻る
V(Shift+v) 一行選択(ヴィジュアルモードになる)
G(Shift+g) ファイル末尾に移動

【Chrome】Web開発で使えるオススメ拡張機能10選

Web開発においておすすめするChrome拡張機能をまとめましたので、メモします。

ColorZilla(カラーピッカー)

起動するとカーソルが表示されて、
カーソルが合った場所の色情報を取得する事ができます。
取得した色情報(カラーコード)はクリップボードに保存されているので、
Ctrl+vなどでcssに貼り付ければそのまま利用できます。
chrome.google.com

Awesome Screenshot(スクリーンショット取得)

Chromeで開いているサイトの画面キャプチャを取得する事が出来ます。
単純に見えている部分、スクロールが必要な見えない部分も含めた全体、範囲指定など様々な取得方法が選択できます。
キャプチャした後の画像に対して編集なども出来るので、とても便利です。
また動画での撮影も出来る為、色んな用途に使えます。
chrome.google.com

jsoff(JSをOFFにする)

その名の通りアイコンをクリックして起動させるとJSをオフにできます。
F5などで更新するとJSオフ状態でページを再読み込みします。
もう一度アイコンをクリックすればオンに戻ります。
WEBページ開発時や確認時にJSをオフにして確認する事がよくある為、シンプルなアドオンですが重宝しています。
chrome.google.com

The QR Code Extention(QRコード生成)

起動すると表示しているページのURL情報をQRコードにしてくれます。
スマホQRコード読み込みアプリをインストールしておけば、スマホで動作確認する際にQRコードを読み込むだけでアクセスできるのでURLを打ち込む手間が省けます。
chrome.google.com

起動させるとページ内のリンクにアクセスしてリンクの状態を色別で表示してくれます。
起動させすぎるとアタックと勘違いされてアクセス先のサイトからアクセス拒否される事もあるので、使う際は気を付けてください。

正常
タイムアウトまたはエラー
デッドリンクまたはエラー

chrome.google.com

Redirect Path

起動するとリダイレクト設定しているサイトが表示されるまでに、どのようなレスポンスコードでどういう経路でリダイレクトして表示されているかなどが確認できます。
クライアントのページがどのように表示されているかなどを確認する際に活躍します。
f:id:gontora:20180919113022j:plain
chrome.google.com

One Tab

一つのブラウザで作業を進めているとタブがいつの間にかどんどん増えて、PCのメモリを食いつぶし始めて動作が重くなるといった事があると思います。
そんな時にこのアドオンを起動すると開いていた複数のタブを一つのタブにリンクとしてまとめてくれます。
chrome.google.com

テキストエンコーディング

文字コードを変更できます。
最近はブラウザが賢くなって文字化けとかも自動で直してくれるので、使用頻度は低いですがたまに使います。
chrome.google.com

JSONview(Jsonビューア)

このアドオンを入れておくだけでjsonファイルを表示する際に自動で綺麗に整形して表示してくれます。
データの確認する時などに役立ちます。
chrome.google.com

Proxy SwitchyOmega(Proxy切り替えツール)

開発環境と本番環境をPROXYを使って切り替える時などに使います。
インターネットのプロパティなどを開いて切りかえるのは本当に面倒ですが、このアドオンで設定さえしておけばワンクリックですぐPROXYを切り替える事が出来ます。
chrome.google.com

【Windows10】タスクマネージャーを一発で出す方法/ショートカット

Windows10においてタスクマネージャーを表示する際は下記の2パターンで表示させていました。
・タスクバー上で右クリックで、「タスクマネージャー」をクリックする。
・[Ctrl] + [Alt] + [Delete]を押下してから「タスクマネージャー」をクリックする。

上記2つの方法だとどちらにしてもワンクッション挟む必要があり毎回面倒くさいと思っていましたが、下記のショートカットだと一発でタスクマネージャーを立ち上げる事が出来ます。

[Ctrl] + [Shift] + [Esc]

結構使えると思ったのでメモします。

【MySQL】slow_query_logの保管場所や設定(閾値)時間の確認/変更

Mysqlのチューニングの際にスロークエリログを確認する事がありますが、
ログの場所やスロークエリを吐きだすまでの時間を確認する方法と設定を変更(更新)する方法をメモします。

確認

slow_query_logがどこに保存されているかを確認する。
mysql> show variables like 'slow_query%';                                                                        
+---------------------+------------------------------+
| Variable_name       | Value                        |
+---------------------+------------------------------+
| slow_query_log      | ON                           |
| slow_query_log_file | /var/log/mysqld_slow.log |
+---------------------+------------------------------+
2 rows in set (0.00 sec)
現在指定されているlong_query_time(指定した秒数以上で記録する)を確認する
mysql> show variables like 'long%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 5.000000 |
+-----------------+----------+
1 row in set (0.01 sec)

設定(コマンドラインでの設定)

ログを保管する場所を設定
set GLOBAL slow_query_log_file = '【保存するパス】';
スロークエリのログを吐き出すまでの時間(秒)を設定

・下記の場合10秒に変更

set GLOBAL long_query_time = 10;
スロークエリのログを残すかどうか

・有効:「0」または「ON」
・無効:「1」または「OFF」

mysql> set GLOBAL slow_query_log = ON;

ページ内の画像を右クリックやドラッグで保存させない方法

画像を簡単右クリやドラッグなどでダウンロードさせないための簡単な方法をメモしておきます。

CSSを使う方法

CSSコンテキストメニューの表示を変更する
.image_tag {
    pointer-events:none;
}

「pointer-events:none;」を対象のimg要素に指定する。
右クリックして表示される項目内から、「名前をつけて画像を保存」のコンテキストメニューが表示されなくなります。

JSを使う方法

対象のタグ(imgタグなど)に下記の様にjs(oncontextmenu="return false;" onMouseDown="return false;" onSelectStart="return false")を追記する
<img src="common/****/****.gif" oncontextmenu="return false;" onMouseDown="return false;" onSelectStart="return false;" >

画像上で右クリックさえ出来ないようにして、
ドラッグも出来ないようにする方法になります。
ただブラウザ上でjsを切ると制御が効かなくなります。

【curl】Cookie情報を送信/保存してログイン/アクセスする方法

Cookie情報を使い認証しているページに対してcurlを利用する方法をメモしておきます。

例文

ログイン処理を行いクッキー情報をローカルサーバーに保存

<form method="post" action="http://hogefugapiyo.com/login">
  <input type="text" name="username" value="">
  <input type="password" name="password" value="">
</form>

上記の様なformタグに対してログインする場合は「-d」オプションを利用して、
必要なname属性の値をaction先に送信し認証突破が可能になります。
そして「-c」オプションを使用してcookie情報を取得します。

curl -c cookie.txt -d "username=hogehoge&password=123456" http://hogefugapiyo.com/login

※name属性を「username="hogehoge"」、「password="123456"」とした場合のコマンド

単純にクッキーをローカルサーバーに保存する場合

curl -c cookie.txt http://hogefugapiyo.com/

クッキーを付与して対象サーバーへ送信する場合

curl -b cookie.txt http://hogefugapiyo.com/

対象サーバにローカルに保存したクッキーを送信し、受信したクッキーを再び保存し更新する場合

curl -b cookie.txt -c cookie.txt http://hogefugapiyo.com/

【MySQL】登録されているデータを一括置換(更新)する方法

mysqlのデータで既に登録されているデータを一括置換する方法をメモしておきます。

構文

UPDATE と REPLACE()の組み合わせにより一括置換が可能になります。

UPDATE テーブル名 SET カラム名 = REPLACE(カラム名,置換前文字列,置換後文字列) ;

例文

・userテーブル(一括置換前)

mysql> select * from user;
+----+---------+
| id | user_id |
+----+---------+
|  1 | hoge1   |
|  2 | hoge2   |
|  3 | hoge3   |
|  4 | hoge4   |
|  5 | hoge5   |
+----+---------+
5 rows in set (0.00 sec)

・user_idカラムの値「hoge」を「fuga」に一括置換する為にREPLACE()を使いUPDATEします。

UPDATE user SET user_id = REPLACE(user_id,"hoge","fuga") ;
Query OK, 5 rows affected (0.30 sec)
Rows matched: 5  Changed: 5  Warnings: 0

・userテーブル(一括置換後)
 user_idの値「hoge」が「fuga」に置換されています。

mysql> select * from user;
+----+---------+
| id | user_id | 
+----+---------+
|  1 | fuga1   | 
|  2 | fuga2   | 
|  3 | fuga3   | 
|  4 | fuga4   | 
|  5 | fuga5   | 
+----+---------+
5 rows in set (0.00 sec)