タグ: 便利

PHP Google Analyticsのデータを扱う GAPI Version 1.3

Google Analyticsのデータを取得してウニャウニャする必要が
あったのでデータの取得方法から調べてみた。
(昔APIができたとかいう時にちょっと触ったけど完全に覚えていないのでやり直し。。)

とりあえず今回取得したいデータはgoogle analyticsを仕込んであるサイトの指定期間内の
コンテンツ単位のページビューランキング※ただし特定の形式のURLのみのランキング
まずはgoogle analyticsのサイトで調べる。
使うのはこれ。

Data Export API

Google Analytics Data Export API を使用すると、クライアント
アプリケーションを作成して、許可したユーザーの既存のアナリティクス
プロファイルからのデータをリクエストしたり、クエリ
パラメータを使用してリクエストの結果を絞り込むことができます。
現在、Data Export API は Google アナリティクス データへの読み取り専用
アクセスをサポートしています。

とりあえずスタートガイドを読んでおく。

Read More PHP Google Analyticsのデータを扱う GAPI Version 1.3

jQuery 郵便番号から住所を表示するPostal Search Ajax API

以前prototype.jsとかを使って郵便番号から住所を検索して表示する
ライブラリを使っていた事があったけどjQueryでもそういったものがないのか
調べてみたらあった。

Postal Search Ajax API チュートリアル

ここが素晴らしい。

郵便番号と住所のデータベースは Postal Search APIs & Solutions のサーバで管理するため、あなたの WEB サーバに データを格納したり、最新データを維持する必要はありません。

但し利用に当たってはPostal Search APIs & Solutions 利用規約をちゃんと守りましょう。

非常識なアクセスしないようにしないとね。

使い方は簡単で「郵便番号から住所を検索する #1」みればわかると思う。

因みに以前利用させてもらっていたライブラリはこちら。

AjaxZip2

こちらもjQueryにも対応されていたみたいです。

あっajaxzip3っていうのもあったんだ・・・。気付かなかった。。

jQuery toggle()で表示、非表示

とりあえず今日やったことをば。

jQueryのtoggleで表示、非表示する例。

これを↓

こうしたりする↓

※モザイクはなんとなく。

HTMLのソースはこれ

<p id="toggle_bar" class="tl"><span id="icon" class="strong fonts-02">+</span><a href="#">××××××××××××××××××××××</a></p>

<div id="search_area" class="search-select clearfix">
<ul>
	<li><input id="1" class="check01" name="tag" type="checkbox" value="1" /><label for="1">××××××</label></li>
	<li><input id="2" class="check01" name="tag" type="checkbox" value="2" /><label for="2">××××××</label></li>
	<li><input id="3" class="check01" name="tag" type="checkbox" value="3" /><label for="3">××××××</label></li>
	<li><input id="4" class="check01" name="tag" type="checkbox" value="4" /><label for="4">××××××</label></li>
	<li><input id="5" class="check01" name="tag" type="checkbox" value="5" /><label for="5">××××××</label></li>
	<li><input id="6" class="check01" name="tag" type="checkbox" value="6" /><label for="6">××××××</label></li>
	<li><input id="7" class="check01" name="tag" type="checkbox" value="7" /><label for="7">××××××</label></li>
	<li><input id="8" class="check01" name="tag" type="checkbox" value="8" /><label for="8">××××××</label></li>
	<li><input id="9" class="check01" name="tag" type="checkbox" value="9" /><label for="9">××××××</label></li>
	<li><input id="10" class="check01" name="tag" type="checkbox" value="10" /><label for="10">××××××</label></li>
	<li><input id="11" class="check01" name="tag" type="checkbox" value="11" /><label for="11">××××××</label></li>
	<li><input id="12" class="check01" name="tag" type="checkbox" value="12" /><label for="12">××××××</label></li>
	<li><input id="13" class="check01" name="tag" type="checkbox" value="13" /><label for="13">××××××</label></li>
	<li><input id="21" class="check01" name="tag" type="checkbox" value="21" /><label for="21">××××××</label></li>
	<li><input id="30" class="check01" name="tag" type="checkbox" value="30" /><label for="30">××××××</label></li>
	<li><input id="31" class="check01" name="tag" type="checkbox" value="31" /><label for="31">××××××</label></li>
	<li><input id="34" class="check01" name="tag" type="checkbox" value="34" /><label for="34">××××××</label></li>
	<li><input id="35" class="check01" name="tag" type="checkbox" value="35" /><label for="35">××××××</label></li>
	<li><input id="36" class="check01" name="tag" type="checkbox" value="36" /><label for="36">××××××</label></li>
	<li><input id="38" class="check01" name="tag" type="checkbox" value="38" /><label for="38">××××××</label></li>
</ul>
</div>

jsはこれ

$("#search_area").css("display", "none");
$('#toggle_bar').click(function(){
    $('#search_area').toggle();
    var lab = $('#icon').html();
    if(lab == '-') {
        $('#icon').html('+');
    } else {
        $('#icon').html('-');
    }
});

簡単っすな。。表示を無理矢理変えてるところがイケてないけど。。

参考
toggle()

jQueryのtoggleメソッドって気持ちいい

Lightbox 2導入した。

Web活メモ帳で紹介されていたLightbox 2を導入してみた。

インストールは普通に「プラグイン」⇒「新規追加」で「Lightbox2」で検索して

見つかったらインストールして、有効にするだけ。

このブログのテンプレートの場合は何もしなくても以下のような表示に勝手に

なりました。

1エントリーに複数画像がある場合は画像の上にマウスを乗せるとちゃんと

Nextが表示されます。

導入の簡単と実際の使い勝手のよさがとても優れているプラグインだと思います。

 

今日は以前の同僚と飲みに行ったのでこのくらいで。。

MySQL: SHOW PROCESSLIST まとめてプロセス消す

CIのトランザクションがこけてロックがかかったときに
自分のMySQLのプロセスだけを一気に消したくなったので調べた。

ちょっぴり上行く SHOW PROCESSLIST の使い方

↑ここに詳しく書かれている。

SHOW PROCESSLIST;

↑が↓と同じ意味ということなので

SELECT * FROM information_schema.PROCESSLIST;

自分の場合はこんな感じで。

> SELECT group_concat(id) FROM information_schema.PROCESSLIST WHERE User='name';
+--------------------------------------------------------------+
| group_concat(id)                                             |
+--------------------------------------------------------------+
| 508,506,503,502,500,400,399,398,397,372,299,297,279,261,66,2 |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

ワンライナーで消すのにビビったので以下の方法で。
※この方法にする為にgroup_concat()使ったという・・・。

$ mysqladmin kill 508,506,503,502,500,400,399,398,397,372,299,297,279,261,2 -u name -p

参考
プロセスを強制的に停止する(mysqladmin)

MySQL GROUP_CONCAT関数

いつも思い出せなくて困るやつ。

GROUP_CONCAT関数

この関数は、グループからの連結された非 NULL 値を伴うストリング結果を戻します。
非 NULL 値がない場合は NULL を戻します。

GROUP BY ( 集約 ) 関数

こことか

[mysql]group_concat 問い合わせ結果を配列化

GROUP_CONCAT関数の便利さは異常

1対多の関係を持つテーブルで主キーで検索した時に結果が複数行になることは

かなり頻繁にあります。そのとき「GROUP_CONCAT」関数を使うと複数行の結果のうち

特定の列の値をカンマ区切りで一つの列にまとめることができる。

例はここがわかりやすいかも。

MySQL 1対他のデータをGROUP_CONCATで取得

便利なのでメモ。

 

さくらVPSにbash-completionをいれる。

bash-completionをさくらのVPSにいれる。
※別にさくらVPS用に特別な何かをしている訳ではないです。

bash-completionとは?
bashの補完機能パッケージ。

実際にどう嬉しいのかはこのサイトとかを参照。

epelが有効になっている状態で実行しないと無いかも。

# yum search bash-completion
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * addons: ftp.nara.wide.ad.jp
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.nara.wide.ad.jp
 * remi: remi-mirror.dedipower.com
 * updates: ftp.nara.wide.ad.jp
addons                                                                                                                                                       |  951 B     00:00
base                                                                                                                                                         | 2.1 kB     00:00
epel                                                                                                                                                         | 3.7 kB     00:00
extras                                                                                                                                                       | 2.1 kB     00:00
remi                                                                                                                                                         | 2.5 kB     00:00
updates                                                                                                                                                      | 1.9 kB     00:00
340 packages excluded due to repository priority protections
============================================================================= Matched: bash-completion =============================================================================
bash-completion.noarch : Programmable completion for Bash

見つかったのでインストール

# yum install bash-completion
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * addons: ftp.nara.wide.ad.jp
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.kddilabs.jp
 * extras: ftp.nara.wide.ad.jp
 * remi: remi-mirror.dedipower.com
 * updates: ftp.nara.wide.ad.jp
340 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bash-completion.noarch 1:1.2-4.el5.2 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                                         Arch                                   Version                                          Repository                            Size
====================================================================================================================================================================================
Installing:
 bash-completion                                 noarch                                 1:1.2-4.el5.2                                    epel                                 203 k

Transaction Summary
====================================================================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 203 k
Is this ok [y/N]: y
Downloading Packages:
bash-completion-1.2-4.el5.2.noarch.rpm                                                                                                                       | 203 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : bash-completion                                                                                                                                              1/1

Installed:
  bash-completion.noarch 1:1.2-4.el5.2

Complete!

.bashrcに以下を追加

$ vim ~/.bashrc
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
$ source .bashrc

エラーがでなければOK。