vagrant内のmysqlにworkbenchでアクセスする

sshを使ってやるのがいいと思います
vagrant内のmysqlは外からつながるようにしておいて

参考)mysqlに外からアクセスする

workbenchの設定はこんな感じ

workbench

Connection Method: Standard TCP/IP over SSH
SSH Hostnam : 127.0.0.1:2222
SSH username : vagrant
MySQL Hostn : 127.0.0.1
MySQL Server : 3306
Username : user

ユーザーとパスワードは環境に合わせてください

Workbenchでつなぐときに
known_hostsを消せ、とかエラーが出たら

$ ssh-keygen -R [127.0.0.1]:2222

で回避できます

mysqlに外からアクセスする

mysql入のサーバーへ外からmysqlにつないでみました
mysqlにログインしてユーザーを見てみます

$ mysql -u root -p
とかではいってまずは確認

mysql> select user, host from mysql.user;

+------------------+--------------------------+
| user             | host                     |
+------------------+--------------------------+
| root             | 127.0.0.1                |
| root             | ::1                      |
| root             | localhost                |
+------------------+--------------------------+

hostがつなぐとことができるものです
そとからつなげるユーザーを増やしてみます

mysql> grant all privileges on . to user@”%” identified by ‘password’ with grant option;

確認

mysql> select user, host from mysql.user;

+------------------+--------------------------+
| user             | host                     |
+------------------+--------------------------+
| user             | %                        |
| root             | 127.0.0.1                |
| root             | ::1                      |
| root             | localhost                |
+------------------+--------------------------+

これでuserというユーザーが外からつなげます

192.168.0.2のサーバーにつなぐとしたら
$ mysql -h 192.168.0.2 -u user -p
とコマンドをたたいてつながるか確認できます

Cakephpのコントローラーでpaginateをトップページに飛ばす

ページ制御 — CakePHP Cookbook 2.x ドキュメント
であるように存在しないページにアクセスされた時の処理を書いてみました

試行錯誤した結果、これで..

$this->Paginator->settings = $paginate;
try {
    $companies =  $this->Paginator->paginate($mainModel);
} catch (NotFoundException $e) {
    $whiteList = $this->Paginator->whitelist;
    $key = array_search('page', $whiteList);
    if ($key !== false) {
        unset($whiteList[$key]);
    }
    $this->Paginator->whitelist = $whiteList;
    $companies =  $this->Paginator->paginate();
}

whiteListからpageを外してpageの指定を無視させてます
アドレスが
http://sample.net/page:2
とか残ったままですが、最初のページ(page:1)が表示されます

うーん、もっといいやりかたがあるような気がします

Ubuntuでwifiの速度をあげる

自宅以外の場所でなんだかWifiが遅い気がして調べました

ネット回線の速度をはかるサービスをつかって調べたりしながら
設定を一つ変更

$ iwconfig

eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"sample"  
          Mode:Managed  Frequency:2.447 GHz  Access Point: 74:03:BD:40:9E:90   
          Bit Rate=144.4 Mb/s   Tx-Power=22 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=66/70  Signal level=-44 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:1076   Missed beacon:0

無線LANはwlan0なので

$ sudo iwconfig wlan0 power off

とPower ManagementをOFFにしたら、1.5倍くらい早くなりました
再起動したらとぶので、

$ sudo vim vim /etc/pm/power.d/wireless

#!/bin/sh
/sbin/iwconfig wlan0 power off

で実行権限つけて
$ sudo chmod a+x /etc/pm/power.d/wireless

できあがり