2012年11月25日日曜日

macでvimを使う際にトラックパッドスクロールを有効にする方法

先日macbook proを購入したのですが(祝macデビュー)、せっかく便利なトラックパッドのスクロールがvimで有効じゃなかったので設定方法を調べました。


set mouse=niv #or set mouse=a
set clipboard=unnamed


これだけでいいみたいです。楽チンですね。

これで快適mac vimライフ!

2012年11月9日金曜日

PHPで親の親のメソッドを使う方法

久しぶりにブログを書いて見ます。iPadからの書き込みテストを兼ねて。

今回の内容はPHPで子のクラスから親の親のメソッドを呼び出す方法です。

親のメソッドを使う場合は

parent::hoge();

で普通に使えますが、

parent::parent::hoge();

ということはできません。
ここにも似たような相談がありました。

で、どうするかというと、

get_parent_class()

というメソッドを使います。

子クラスの中で

function methodA(){
    $grandParent = get_parent_class(get_parent_class($this));
    $grandParent::methodA();
}

という感じで親の親のメソッドを呼び出せます。

ただ、とりあえず実現出来るだけで、これが正しい使い方なのかはわかりませんが。。
クラス名がわかればget_parent_classなんて使わなくてもできますしね。

GrandParentClass::methodA();

あくまで参考までにということで。

2012年9月26日水曜日

androidアプリ公開しました!!

久しぶりの投稿です。

もはや何時ぶりだか忘れました。

やっとandroidアプリを公開しました。
だいぶ前に(ほぼ)完成してからあんまりいじってないです。

fmaafpnss

といいます。tweetbuzzのクライアントアプリです。
tweetbuzzを上下反転してfmaafpnssみたいなね。
なんて読むんですかね。フマァフプンスですかね。

おいおいアップデートしていけたらいいなと思います。

公開してもすぐには反映されないみたいですね。
反映されたらリンクj貼ります。

ソースコードも公開したいですね。見せられるレベルのものになってから。

githubがいいのかgoogle codeがいいのか悩みますね。

2012年3月20日火曜日

androidでfragment理解

またしても技術ネタです。

androidです。

でも今回は手抜きです。

androidでfragmentを理解するためのリンクまとめ

自分がアプリ作ってて参考にしたリンクをまとめただけです。
おそらくブログにリンク貼るより見栄えがいいので。。

ではまた。

2012年3月11日日曜日

【PHPUnit】スケルトンのカスタマイズ

最近珍しく技術ブログを書いてます。

今回はPHPUnitのカスタマイズです。

phpunit --skeleton-test
でテストファイルの雛形を作ってくれますが、 getterとかsetterとかのテストって

  1. 変数に値入れる
  2. setterで変数をset
  3. assertEqualsで変数の値とgetterの値を比較

ですよね。まぁただデータを保持するだけのクラスのテストがいるかは分かりませんが。

それはさて置き、PHPUnitを使うのに必要なファイルはほとんど(全部?)PHPで書かれていました。
(phpunitのコマンドも!!)

なのでいくらでもカスタマイズできます。

今回はスケルトンで作成されるファイルをカスタマイズします。

修正するファイルは
PHPUnit/Util/Skeleton/Test.php
PHPUnit/Template/IncompleteTestMethod.tpl.dist
この2つです。

IncompleteTestMethodはスケルトンクラスのテストメソッドのテンプレートです。

public function test{methodName}(){
}
のようにtestメソッドが定義されています。
Test.phpで中括弧の部分を置換しています。
オレオレテンプレートですね。

なのでこの2つのファイルを書き換えればスケルトンを作った時に自分の好きな形式で作成することができます。

Test.phpの一部を
$var = array(
    "methodName" => ucfirst($mothod->getName())
);
if(substr($method->getName(), 0, 3) == "get" || substr($method->getName(), 0, 3) == "set"){
    $var['comment'] = '// set value manually';
    $var['initProcess'] = '$_value = ""';
    $var['setProcess'] = '$this->object->'."set".ucfirst($substr($method->getName(), 3)).'(_value);';
    $var['assertProcess'] = '$this->assertEauals($_value, $this->object->'."get".ucfirst(substr($method->getName(), 3)).'());';
}else{
    $var['comment'] = '// Remove the following lines when you implement this test.';
    $var['initProcess'] = '$this->markTestIncomplete("This test has not been implemented yes.");7;
    $var['setProcess'] = "";
    $var['assertProcess'] = "";
}
$methodTemplate->setVar($var);


IncompleteTestMethodの一部を

public function test{methodName}()
{
    {comment}
    {initProcess}
    {setProcess}
    {assertProcess}
}

こんなふうに変えるとgetter/setterの場合に変数の初期値以外雛形を作ってくれます。

もっと上手い例を挙げられればよかったですね。

ではでは

2012年3月9日金曜日

github初コミットと楽天の試験問題について

久しぶりにブログ書いてます。

やりたい事がいっぱいあって時間が足りないです。

最近gitにはまっていて、仕事でも無理やり使っているのですが、
ついにgithubにコミットしました。アカウントだけは前から作ってたんですけどね。

といっても大それたプロジェクトを立ち上げたわけでもなく、
書いてみたってレベルのものです。

丁度会社の同僚に面白い問題を教えてもらったので、そのソースを上げました。

その問題はこちら

楽天の入社問題らしいのですが、いやー



解けなかった!!



普通に答えをググってしましました。
まぁ普通に見つかりました。

こちらのブログに丁寧な説明と一緒に載っていました。

馬鹿正直にforeachで解こうとしてましたが、一般項を考えると簡単に解けるんですね。
アルゴリズムって大事。

で、githubに上げたソースなのですが、全く同じ物を上げても意味がないかと思ったので、
php版を上げました。

それがこちら



ちゃんと見れるのかな。。?

class F{
    private static $cache = array();
    public function __construct(){
        self::$cache;
    }

    public function f($num){
        if(array_key_exists($num, self::$cache)) return self::$cache[$num];
        if($num < 1) return 0;
        $res = $this->f($num - 3) + $this->f($num - 2) + $this->f($num - 1);
        if($num < 4) $res += 1;
        self::$cache[$num] = $res;
        return $res;
    }
}

$f = new F();
print_r($f->f(100));

最近phpでstaticな配列が作れると知りました。


でも、phpだと



浮動小数点表示になっちゃう!!



pythonも初めて触りましたが、ちゃんと整数で表示してくれるんですね。
素晴らしい。


githubに上げたソースをブログにうまく表示できないかなー

2012年1月25日水曜日

ステマについて思うこと

あけましておめでとうございます。


前回の記事から約2ヶ月ぶりに更新します。
今年も不定期更新ですが。よろしくお願いいたします。

====================================================

さて、今回は珍しくグルメレビューではなく、今話題のステマについて自分の思ってることを書こうと思います。
ステマネタ発端はどこかにまとまってると思うので書きません。

2012年上半期2ch流行語大賞にノミネート確実のステマですが、個人的には何が悪いんだろう?と思っています。
最近食べログでも業者がお金を受け取っていい評価をするというのが明るみに出ましたが、
それも今更?という感じがしてなりません。

法に抵触するなら、「法律で決まってるから悪いんだ」と言えなくもないかもしれませんが、それでも企業は出来る努力はすべきだと思っています。たとえ良いものを作っても、使われなければ全く意味がありません。マーケティングはよいサービスを作るのと同等かそれ以上に重要なことだと思います。


食べログのニュースで「信用できなくなったー」とか言ってましたが、そもそもなんでそんな情報を信用してたんでしょうか?評価が高いから?ランキングの上位に入ってたから?そんなのどうとでも出来るじゃん。ランキング上位の口コミ数だって1000もいってるの稀だし。ジャンルと地域を絞ったら100もあればTOP圏内に入るんじゃないでしょうか。
何が言いたいかというと、

ネットの情報を信じすぎるな

ということですね。(自戒の意味も含めて)
食べログの情報なんてwikipediaみたいなもんです。ここでは悪い意味で例えてます(wikipediaは良いサービスですが)。
大学の卒論で参考文献にwikipediaなんて書いたら怒られますよ。
あんなの誰だって編集できるじゃん。って。

食べログ関連のニュースで、ご飯を食べに行くときは食べログで店を決めて、食べるものも食べログで人気のものを注文すると言っていた女性2人がいましたが、もうね。アホかと。
いや、食べログで店を探すのも食べるメニューの参考にするのも別にいいんです。そういうサービスなんですから。
でもそれでまずかったとして、それってレビューを書いた人のせいでしょうか?お店のせいでしょうか?

。。。まずいのはお店のせいですね。でもそれでレビューした人が悪いってならないですよね。
最終的に判断したのは自分なんですから。
食べログ以外の口コミを探すこともできたかもしれない。別のメニューは美味しかったかもしれない。
そもそも味覚自体が人それぞれですし。


つまり、ステマでもいいじゃないってことです。
結局最終的に判断するのは自分です。
そもそもなんでこんなにステマステマだやらせやらせだって騒がれてるんですかね?
裏でお金をもらってたから?
逆にお金を貰わないで食べログにレビュー載せたいですか?と問いたい。
まぁ好きな人はレビュー書いたりするかもしれませんが、人間メリットのないことってそうそうしないんじゃないでしょうか。
ゲーミフィケーション(動機づけみたいな。楽しんむことが目的の作業みたいな。)が働くような作業でもなさそうですし。
むしろレビュー書いてお金もらえる仕事があるなら紹介して欲しいです。羨ましいです。

なるほど。これだけ話題になってるのは嫉妬がありそうですね。

やらせ業者もやらせ業者にレビューを依頼していた店もお金を受け取ってレビューを書いてた人も、そのレビューを見てお店に行った人も、
関係はwin-winだったんじゃないでしょうか。
ただお店に行った人にとってまずかったらそこで割を食うわけですが。


とまぁ、ステまでもやらせでもいいじゃないってのは個人的な見解で、
世間的には許すべからず!!みたいな流れです。
でも完全に規制するのは難しいみたいですね。

てか、規制する必要あるの?

そもそも問題なのは、

。。。まずいのはお店のせいですね。でもそれでレビューした人が悪いってならないですよね。
最終的に判断したのは自分なんですから。
ここだと思うんですよ。
最終的に判断するのは自分なんだから、自分が信用できる人の口コミを見ればいいじゃない。

例えば、食べログで評価4のお店と、中のいい友だちがめっちゃうまかったよっていうお店、どっちに行きたいですか?ってことです。

多分後者じゃないかなーと思うんですが。


今流行り?かこれから流行るのかわからないですが、ソーシャルコマースの方向にもってけばいんですよ。「この人が評価4でつけてるから行ってみよう」とかの方が信用度が違うと思うんですよね。規制するんじゃなくて、使う人の意識を高める方向ですね。
食べログさん、どうですか?このアイデア、使ってもいいですよ。もっとアイデアありますよ。
お声掛けお待ちしております。


さて、もう一つ書いておきたいことがあります。
なぜステルスなのか。オープンじゃだめなのか?
ステルスマーケティングって宣伝に見えないけど、結果として購買意欲を高めることですよね?
なんでそんな周りくどいことするんでしょうか?
口コミの重要さは分かります。
ユーザーが買ってみてほんとに良いものだったら他の人にも勧める。
それの伝播はかなりの効果があるのは分かります。
それを人工的に作り出そうというのがステマなんですかね。


ホリエモンもtwitterでステマしてるのをひろゆき氏に暴露されて焦ってましたね。
今回のもはちま起稿のステマがバレて炎上して~っていう流れでしたよね。
ステマで口コミを作り出せる効果は高いのかも知れませんが、バレた時のリスクも高いということですね。

改めて思うのですが、なぜステルスなんでしょう?
最初から言っておけばいいのに。

「自分はhogehogeに頼まれてfugafugaの宣伝をしています」って。


その宣伝をしている人が自分になんの関係もなければ、その商品に興味を示すことはないかもしれません。
が、それが好きな芸能人だったり、よく知っている友人だったりしたらどうでしょうか?
買ってみようかなってなるような気がしませんか?

ここでも私はソーシャルコマースを推すわけです。
アフィリエイトとかもっとオープンにしたらいいじゃない。
なんでこっそりやるものみたいな風潮なんでしょうね?(そんなことないか)
オープンマーケティングをはやらせましょうよ。
(ステルスマーケティングの対義語はあからさマーケティングみたいですけど)


というわけで、↓の商品をこの記事経由で買ってください!!



私のおすすめメモ帳です。
何がいいって、紙質、表紙の高級感、薄い方眼、さらに最大の特徴である、360℃まげても折り目がつかないというメモ帳にふさわしいメモ帳です。
このリンク経由で買っていただけると、私に少しばかりのお金が入ります。



まぁ、この流れがやりたかっただけなんですけどね。
久しぶりに長文書いて疲れた。
読みやすい文章書くのって難しいな。それだけでもChikirinさんはすごいわ