SPICY SPACE BLOG

愛犬家WEBエンジニアの日常。

車なんて興味なかった僕が新車でCX-5を購入した3つの理由

車なんて全く興味がなかった。
だって学生のときからこの夏まで祖父が乗ってた古ーい軽自動車にずっと乗ってたくらいだし。
友達は「この車の目がたまらん!カッコいい!」とかそういう話してたけど、正直まっったく着いていってなかった。
ふーん、あっそう。ま、僕は興味ないけど。って。

で、この夏にその軽自動車のエンジンがイカれて、結婚もしてるし、社会人3年目だし、そろそろ新車買っちゃうか!となってMAZDA CX-5を買っちゃったワケですよ。
そんな安い車じゃないですよ。ただ乗るだけでいいって人が買う車じゃない。
惚れちまったんですよ。CX-5の魅力に。

そんな車に興味ない僕でも購入に踏み切った理由が、これだ。

1.走行時の安定性がヤバい

f:id:sp_ice:20131109121323j:plain

これですよ。1番は。
CX-5の試乗した後に、もう一つの候補だったホンダのフリードにも試乗してみたけど、揺れる揺れる。
多分フリードの揺れが酷かったわけじゃない。CX-5が揺れなさすぎるということだ。 2mの車幅!そして17インチのタイヤ!ガッシリ。ゴツい。
そんな見た目通り全く揺れない。助手席に乗ってる嫁が乗り心地が全然違う!って驚嘆してたくらいだ。

2.BOSEオーディオシステムがヤバい

f:id:sp_ice:20131109121338j:plain

音楽はドライブには欠かせない。
でも走りながらだと低音とか聴こえんし、まぁBGMに小さい音で流しとく程度ってのが普通だと思う。 自分でウーファー積んだりとかめんどいし、金かかるしね。

CX-5はオプションだけど、かのBOSEのオーディオシステムをつけることができる。
それもCX-5に最適化されたもので、走行時のノイズキャンセリング機能がついている。素晴らしすぎる。

実際聞いてみると、ベースが!!!聴こえる!!!!!
それだけじゃない、爆音にしても全く音が割れない!
車でこれだけ聴けたら、家にスピーカーとかもういらんわ! 爆音でドライブ楽しすぎわろた!

3.白黒!そう、つまりモノトーン!

f:id:sp_ice:20131109121359j:plain

外装がね。そっくりなんですよ。こいつの色に。
ただ、そこに惚れたね。

裏3つの理由

と、まぁ3つ理由を挙げたけど、現実的な理由は
1.前の車が壊れた
2.来年には増税
3.将来的に子どもも乗れる車がほしい。子ども生まれる前に車のローン終わらしときたい。
だけどね…笑

いや、でもとにかくCX-5は素晴らしい車だから、もし車購入検討中の方は是非!

マツダCXー5のすべて (モーターファン別冊 ニューモデル速報)

マツダCXー5のすべて (モーターファン別冊 ニューモデル速報)

オーバーステア 1/64 MAZDA CX-5 アルミニウムメタリック

オーバーステア 1/64 MAZDA CX-5 アルミニウムメタリック

ホームページ要らない!は極論すぎやしないかい?

最近、ブログがキテる!ホームページなんてもう不要!みたいな記事をいくつか目にしたので、少し感じたことを書いてみる。
 
 
 
これってSEOとか、仕事をもらえるかどうかしか考えてなくない?  
 
アクセス数稼ぐため、ファンを創出するために「ブログ」が有用というのは、ものすごく納得なのだが、
検索の受け皿として、整理された情報を提供するのがホームページの役割なんでは?  
 
不必要とまで言ってしまうのはどうなのか。  
えんじょうまーけてぃんぐ、というヤツではないの?
 
自分は俗に言うデジタル・ネイティブ世代だけど、ブログしかやってない企業とか、お店とかってお金ないのかなーとか、どこか不安なきもちになりますよー。
 
と、そんな戯言を「ブログ」に書いてみる、今日この頃。
 

曲のポップ性を定量的に求める方法

僕はポップスが好きだ。
ポップスとは和製英語で、語源はポピュラーミュージック。大衆向け音楽だ。

大学時代、軽音楽部に居たせいか、ポップスは忌み嫌われていた。
「音楽好き」が聴くものじゃない。そんな風に思ってる人が少なくとも僕の周りには居た。何人か。
まぁ普通の人は聴かない音楽聴いてる俺カッケー!的なのをディスるのはちょっと趣旨が変わってしまうので辞めるが…

なんでこんな記事を書こうと思ったかというと、これを聴いたから。

tofubeats - Don't Stop The Music feat.Chisato Moritaka (official MV) on Vimeo

もうね。素晴らしい。まさに、ポップス!

僕が考えるポップスの1番重要な要素は「中毒性」だ。 CMの音楽なんかが特に当てはまると思うが、聞いた瞬間忘れられなくなるフレーズ。
メロディーと歌詞がビシッと完全に合致した感じ。もうこの歌詞といったらこのメロディー。これしかありえん!みたいな。
そして、それが頭の中を反芻する。勝手に。つい口ずさむ。 「止めないで〜♪」…って言われなくても脳内ループが止まんねぇよ。

で、ふとアホなことを考える。
この脳内ループの回数って、曲のポップ性と比例するんじゃね…?
とすれば、この脳内ループを数えれば曲のポップ性を定量的に表すことが可能だ!
一日の間に何回脳内ループしたか。「この曲は30LPD(Loop Per Days)だね」とかwww

とはいえ、自分で脳内ループの回数をカウントするなんて、不確定すぎる。
1フレーズ再生だけでいいのか、サビ全て再生しないといけないのか。
そもそも脳内ループが終わったタイミングって分からんし。

では、ちゃんと基準を決めたらどうか。
脳内再生は計測しにくいから、妥協してリアルに何回飽きずにきけるかという基準にしよう。
サビを100回連続で繰り返し聴いてみて何回目で飽きるか。

音楽の好みもあると思うからこれを違うジャンルが好きな何人かに対して実施して、平均を出す。
これで擬似的にではあるがLPDを求められる…!!!

誰か、誰か、やってみてはくれまいか!!←おい

最近の車のゲーミフィケーションがすごい

今年の夏、新車を購入した。もちろんローンで。
MAZDAのCX-5。
白と黒のボディは、うちの愛娘にそっくりだ。

f:id:sp_ice:20131020010100j:plain

24歳。社会人3年目にはすこし高い買い物だったかもしれない。 おかげで毎月ぱっつんぱっつんだけども、後悔はしていない。 毎週末のドライブが楽しみだ。

それはさておき、このCX-5についているi-DM(インテリジェント・ドライブ・マスター)がすごい。
まぁ簡単にいうと、自分の運転を採点してくれるものなのだか、 購入する前は、

「あーはいはい。はやりの"ゲーミフィケーション"、安易に取り入れちゃいましたって感じのオマケ機能ね。」

くらいにしか思っていなかった。
でも1ヶ月ちょっと運転してみて、いい点数を取ろうと頑張っている自分に気づく。

普通に走っているとやさしい運転を指す緑色のランプが光る。
なめらかな減速やハンドル操作で青色のランプが光り、加点される。
急加速や急ブレーキは減点。
家の近くのコンビニに行くだけだと、「距離が短すぎるため採点できません」と表示されるということは、全体の走行距離の中の良い運転をした距離の割合で点数が算出されているのだろう。
5点満点で採点されて、10回連続で4点以上を取ると、「ステージ」が1st → 2nd → 3rdとあがって行くらしい。

と、まぁこんな単純なしくみなのだ。
たぶんきくだけだと、「それの何が面白いの?」って思うはずだ。

だが、実際に運転して体験すると、これがおもしろい。 運転し始めの、アクセルやブレーキの踏み具合に慣れていなかった頃には低かった点数が、最近はアベレージ4以上を常にキープできている。
信号で停車するときに、少しだけ気をつけてゆるやかに止まると、青いランプが光って加点される。「よっしゃ」て口に出していっちゃう。

自分がした工夫(=攻略)が目に見える成果として表れる。
レベル上げして技を覚えて、強い武器を買って、最初は倒せなかった敵を倒す。RPGも同じ。 ゲームの本質ってこんなに単純だったんだ。

Sublime Text2 PHP用スニペット

sublime text。カスタマイズしやすく人気のエディタですね!
皆さん使ってますか?僕は使っています。

軽いし、ちょっとした便利機能がいっぱいあっていいんですよねー。

で、中でも便利なコードスニペット機能ですが、自分用PHP向けスニペットを作ったので晒します。

スニペット作成方法

Tool->New Snippetから新規作成できます。 保管場所はwinデフォルトでは↓です。

C:\Users\UserName\AppData\Roaming\Sublime Text 2\Packages\User\xxx.sublime-snippet

macはココ↓

/Users/UserName/Library/Application Support/Sublime Text 2/Packages/User/xxx.sublime-snippet

自分用スニペット集

  • print_r 「#$+Tab」で起動。 変数名のところにカーソルが合うようにしてみました。
    pre要素をつけてブラウザでそのまま表示されるようにしました。
    これ大分はかどります。
<snippet>
    <content><![CDATA[
//###
echo "<pre><-";
print_r(\$${1:xxx});
echo "-></pre>";
exit;
//###
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>#$</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
</snippet>
  • title なんか毎回----が違う長さになっちゃうのでつくってみた、、、笑
<snippet>
    <content><![CDATA[
//--------------------------------------------------
// ${1:TITLE}
//--------------------------------------------------
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>#tit</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
</snippet>
  • 関数(説明つき) Tabキーで順番に書いて行けばキレイなソースの出来上がり、と。
<snippet>
    <content><![CDATA[
/**
* ${3:関数の説明}
*
* @param ${5:string} \$${6:_path}
* @return ${4:void}
*/
function ${1:func_name}(\$${2:param}){
    
}
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>#func</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
</snippet>

まぁ使って行くうちにもうすこし改良していくか。

FuelPHPのファイルアップロードでハマった話

リファレンスだけ見ると、超かんたんじゃん!FuelPHPすげぇ!って思ったのに、
実際やってみると、すごくハマってしまったので備忘録。

方法自体は下記のブログで丁寧に解説されているので、省きます。

1.エラーが出ていないのにファイルがアップロードされてない。

VirtualBoxCentOSを入れて、ローカル開発環境にしているのですが、
Upload::save();実行後にUpload::get_files()を見ると、send_toに'//'と入っていて指定したパスにファイルがアップロードされていない。。
指定したパスのパーミッションも777にしてるはずなのに。。。ここで大ハマリ。
原因はVirtualBoxの共有フォルダの設定でした。

こちらのブログのとおり、

で直りました。
ていうかこれはFuelPHPというか、VirtualBoxPHPの環境の問題ですね^^;

2.ファイルが二重にアップロードされる

設定ファイルをCore/config/upload.phpからApp/configにコピー Upload::process( $config );はこの設定を上書きしてくれるんだけど、auto_processだけは後でfalseを指定しても無駄。 configファイルでfalseにしておきましょう。

FuelPHPのDB接続設定

FuelPHP勉強中です。
DBに接続できずハマってしまったので覚え書き。

PDOでの接続を試みました。設定ファイル(path_to_project/fuel/app/config/db.php)は以下。

return array(
    'default' => array(
        'type'        => 'pdo',
        'connection'  => array(
            'dsn'        => 'mysql:host=localhost;dbname=fuel_practice;charset=utf8;',
            'username'   => 'username',
            'password'   => 'password',
            'persistent' => false,
            'compress'       => false,
        ),
        'identifier'   => '`',
        'table_prefix' => '',
        'charset'      => 'utf8',
        'enable_cache' => true,
        'profiling'    => false,
    ),
);

するとこんなエラーが。

Fuel\Core\Database_Exception [ 2002 ]: SQLSTATE[HY000] [2002] No such file or directory

解決策は、mysql.sock(ソケットファイル)の場所をdsnに指定してあげればおk。
参考サイト:FuelPHPをはじめてみたら思った以上につまりました

- 'dsn'        => 'mysql:host=localhost;dbname=fuel_practice;charset=utf8;',
+ 'dsn'        => 'mysql:host=localhost;dbname=fuel_practice;charset=utf8;unix_socket=/var/lib/mysql/mysql.sock',

ちなみにソケットファイルの場所は下記コマンドで確認できます。

mysql_config --socket

すると今度はこんなエラー

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file

パスワードの保存形式が古いから、PHP5.3からはアクセスできませんよとのこと。
下記のブログ記事を参考に、my.cnf設定を変更&パスワードを再設定。
参考サイト:PHP 5.3.xからMySQLに接続できない

やっとこさこれでつながりました。。。
まだmysqliで接続できてないんですが、PDOでつながったからとりあえずはいいか。

Heroku: Up and Running

Heroku: Up and Running