vimでタブ文字を入力する

Ubuntu 12.04上のvim 7.3で試しました

入力モードで[Ctrl+V]Tabでタブ文字が入ります

スペースを置換するなら
:%s/ /[Ctrl+V]Tab/g
→ :%s/ /^I/g (見た目はこうなります)
でできます

設定で
set expandtab
してるときは、vimで
:set noexpandtab
としておけばTabキーでタブ文字になります

よく忘れるのでメモ

WordPressで表示できない文字(<>など)を表示する

WordPressのテキスト入力(ビジュアルじゃなくて)でhtmlやxmlのタグ<>を書いて表示するとHTMLのタブと認識されて表示されなくなることがあります

その時は特殊記号を使います

< だと &lt; > だと &gt;
(&は半角を使ってください)

ほかは
http://pst.co.jp/powersoft/htmlhttp://pst.co.jp/powersoft/html/index.php?f=3401/index.php?f=3401
がわかりやすいです

WordPressというよりHTMLの知識になります

LINEの友だちの名前を変える

LINEで友達になったけど、あだ名とかで誰か分からなくなってました..
気づいてなかったですが、ふつうに名前変えられます
Androidアプリ、バージョン4.6.0で試しました

LINEを立ち上げて友だち一覧
名前を変えたい友だちをタップ
line-friend

鉛筆マークをタップ
line-friend2

名前が変えられる!
line-friend3

最初に登録したときによく分からない名前のひとは変えておくといいですね
(もう手遅れ…)

GoFのデザインパターンのSingletonをおさらいしてみた

GoFのデザインパターンのSingletonをおさらいしてみました

Singletonはクラスのインスタンスが1つしか存在させたくない時や、使いまわせるインスタンスは使いまわしてnewのコストを減らすのに使ったりします

phpで書くとこんな感じ


class Singleton
{
    private $_id;

    protected function __construct()
    {
        $this->_id = md5(date('r') . mt_rand());
    }   

    public static function getInstance()
    {   
        static $instance = null;
        if ($instance === null) {
            $instance = new static;
        }   
        return $instance;
    }   

    private function __clone()
    {   
    }   

    private function __wakeup()
    {   
    }   

    public function getId() {
        return $this->_id;
    }   
}

class SingletonChild extends Singleton
{
}

$one = Singleton::getInstance();
echo $one->getId(), PHP_EOL;
$one = Singleton::getInstance();
echo $one->getId(), PHP_EOL;

$two = SingletonChild::getInstance();
echo $two->getId(), PHP_EOL;

コンストラクタをprotectedにすることでnewできなくして
__cloneをoverrideしてprivateに
__wakeupをoverrideしてprivateにすることで
インスタンスのコピーも作れなくなります
1度つくられたインスタンスを保持して使いまわします
継承クラスでは別のインスタンスになります
参考) http://ja.phptherightway.com/pages/Design-Patterns.html