[MySQL]Handler Socketをインストールしてみる

前から気になっていた、MySQLのプラグイン、Handler Socketを
使うべく、インストールしてみた。

HandlerSocket plugin for MySQL

MySQLのソースコードが必要なので、MySQLもソースから入れてみる
まずは、必要なライブラリをyumでインストール

yum install ncurses-devel
yum install libtool gcc-c++

MySQLのインストール

wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.58.tar.gz
tar cvzf mysql-5.1.58.tar.gz
cd mysql-5.1.58a
./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --with-plugins=innobase

MySQLのユーザ作成

groupadd mysql
useradd -g mysql -d /home/mysql mysql

MySQLのインストール完了。起動も確認しました。
いよいよ、ここからHandlerSocketのインストール。

wget https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL/tarball/master
tar xvzf master
cd ahiguti-HandlerSocket-Plugin-for-MySQL-98b14c3/
./autogen.sh
./configure --with-mysql-source=/root/mysql-5.1.58/ --with-mysql-bindir=/usr/local/mysql/bin --with-mysql-plugindir=/usr/local/mysql/lib/mysql/plugin
make
make install

※configureするときにMySQLのソースコードのパスを指定

MySQLでプラグインを有効にしてやる

mysql> install plugin handlersocket soname 'handlersocket.so';

これでOK。

あとはmy.cnfの設定を変更する。
以下をmysqldへ追加。

[mysqld]
handlersocket_port = 9998    # handlersocketが接続を受け付けるポート(参照系リクエスト用)
handlersocket_port_wr = 9999 # handlersocketが接続を受け付けるポート(更新系リクエスト用)
handlersocket_address =      # handlersocketがバインドするアドレス(空のままでOK)
handlersocket_verbose = 0    # デバッグ用
handlersocket_timeout = 300  # 通信タイムアウト(秒)
handlersocket_threads = 16   # handlersocketのワーカースレッド数
thread_concurrency = 128     # handlersocketが幾つかのスレッドを占有するため、大きめの値を指定してください
open_files_limit = 65535     # ソケットを大量に開けるようにするため、大きめの値を指定してください

これで完了!
普通のSQLも使えるってのがいいですね。

ついでにrubyのライブラリを入れておく。

./configure --disable-handlersocket-server
make
make install
wget https://bitbucket.org/winebarrel/ruby-handlersocket/get/tip.tar.gz
tar xvzf tip.tar.gz
cd winebarrel-ruby-handlersocket-tip/
ruby ./extconf.rb
cp -R /(HandlerSocket-Pluginのソース)/libhsclient/ .
make
make install

※HandlerSocketのlibhsclientをもってくる必要あり

今度パフォーマンス検証してみます。

[HTML5]HTML5化をしてみる Part2 ~ headerタグとfooterタグ

今日は、headerタグとfooterタグを入れてみたいと思います。

headerタグは、イントロダクションやナビゲーショングループであることを示す際に使用します。
文書のヘッダ情報を表すheadタグとは異なりますので注意してください。

http://www.htmq.com/html5/header.shtml

<div id=”header”>を置き換えちゃえばいいわけですよね、きっと。

footerも同じ要領で変えてみました。

[HTML5]HTML5化をしてみる Part1 ~ htmlタグとmetaタグ

少しずつですが、このブログもHTML5化していきたいと思います。

とりあえず、今日はhtmlとmeta要素。

doctypeとhtmlを以下のように変更。
(以前)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ja">

(HTML5)

<!DOCTYPE html>
<html lang="ja">

metaタグのcharsetもこんな感じに変更
(以前)

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

(HTML5)

<meta charset="UTF-8" />

ひとまず、今日はこれまで。

地道にやっていくとします。

[Chrome Add-on]HTML5 markup detector

早くこのブログもHTML5化したいと思いながらも
いつまで経ってもできない状態です・・・

最近ではHTML5化されてるサイトも結構ありますね。

そんなHTML5で書かれているかどうかが
わかるアドオンが「HTML5 markup detector」

アドレスバーの右端に出ます
 緑→<!doctype html>であり、HTML5の新しい要素が使われているページ
 赤→<!doctype html>だけど、HTML5の新しい要素は使われていないページ

試しにカヤックさんのサイトを見てみた。
http://www.kayac.com/

こんな感じですね。

[CSS3]transitionプロパティで簡単なアニメーション

CSS3のtransitionプロパティを使ってアニメーションを作ってみた。
※Chrome,SafariなどのWebkit系でしか動作しないので注意

コードは簡単で以下の3つのプロパティを設定するだけ

・-webkit-transition-property
→transition を適用するプロパティ

・-webkit-transition-duration
→transition の変化をどれくらいで表現するか
 とりあえず、1s(1秒?)で設定

・-webkit-transition-timing-function
→変化の具合を設定。
 いくつか設定できるみたい。
 今回のサンプルは選択できるようにしてみた。

以下、サンプルのCSS

#sample{
    width: 240px;
    height: 120px;
    background-color: #FF33FF;
    -webkit-transition-property: background-color, width, height;  
    -webkit-transition-duration: 1s;  
    -webkit-transition-timing-function: linear;
    
}  
#sample:hover{  
    background-color: #0000FF;
    width: 240px;
    height: 240px;
}

CSS3 transitionを使ってみる – jsdo.it – share JavaScript, HTML5 and CSS