2013年10月3日木曜日

Chrome 30で「新しいタブ」を従来のものに戻す方法

最近のChromeのアップデートで「新しいタブ」のデザインが刷新された。 タブの真ん中に検索ボックスを配置するのは明らかに初心者を意識した変更だけど、オムニボックスから検索が可能なことがわかっていれば改悪である。

なによりも、右下の「最近閉じたタブ」がなくなってしまったのが非常に不便でならない。

というわけで、もとの「新しいタブ」に戻してみた。 やり方は簡単。

  1. オムニボックスから chrome:flags にアクセス

  2. 「Instant Extended API を有効にする」オプションを「無効」にする

以上。 これで見慣れた「新しいタブ」に戻った。

2013年9月4日水曜日

tmuxinatorで思うように画面分割できないときにやるべきたった一つのこと

例によってタイトルは釣り。

最近tmuxを使い始めて、ついでにtmuxinatorも入れてみました。
iTermを起動したらすぐに作業が開始できていい感じです。
ただ、標準のレイアウトではうまく画面分割できなかったのでこんな感じで設定してみました。

1. tmuxを起動し、手動で画面を分割する

C-b %C-b " を活用して画面を任意のレイアウトに分割します。

2. 分割の設定を取得

tmux list-windows を実行すると下記のように表示され、画面分割の細かい設定が取得できます

    tmux list-windows
    0: zsh* (3 panes) [364x84] [layout 4e2c,364x84,0,0{182x84,0,0,5,181x84,183,0[181x42,183,0,6,181x41,183,43,7]}] @2 (active)

3. 分割の設定をtmuxinatorの設定ファイルに転記する

上記コマンドで取得したレイアウト情報を転記します。
必要なのは layout より後ろの部分です。

    # .tmuxinator/foo.yml

    windows:
        - editor: 
            layout: 4e2c,364x84,0,0{182x84,0,0,5,181x84,183,0[181x42,183,0,6,181x41,183,43,7]}
            panes:
                - ls
                - cd workspace
                - # empty pane

以上、こんな感じで幸せになれました。

2013年8月26日月曜日

zshでgitの補完機能を使う

zshでgitのブランチ名等を補完できるようにします。
homebrewからzshとgitをインストールしてる前提です。

homebrewからgitをインストールしてると、一緒に git-completion.zsh がインストールされるので、これを使います。

1. .zshrcに設定追加

以下の内容を追加します。既存の内容と重複する場合は適宜調整してください。

fpath=($(brew --prefix)/share/zsh/site-functions $fpath)

autoload -U compinit
compinit -u

2. zcompdumpの再構築

以下のコマンドを実行します。

rm -f ~/.zcompdump; compinit

実行後に source ~/.zshrc するかzsh再起動すればブランチ名が補完されるようになってます。
以上。

2013年8月23日金曜日

rbenvとruby-buildでrubyを使う

  1. opensslとreadlineをインストール

    brew install openssl readline
  2. homebrewからインストールしたopensslとreadlineを使用するためにリンク

    brew link readline --force
    brew link openssl --force
  3. rubyのインストール

rbenv install -l でインストール可能なrubyが一覧できる。今回は2.0.0-p247をインストールする。

    CONFIGURE_OPTS="--with-readline-dir=/usr/local --with-openssl-dir=/usr/local" rbenv install 2.0.0-p247
  1. opensslとreadlineのリンク解除

brew doctor で警告が出るためリンク解除しておく

    brew unlink openssl
    brew unlink readline
  1. インストール済みrubyの確認

    rbenv versions
     *system (set by /Users/foo/.rbenv/version)
      2.0.0-p247
  2. デフォルトで使用するrubyの設定

    rbenv global 2.0.0-p247
  3. 特定のディレクトリ内で利用する

    cd foo
    rbenv local 2.0.0-p247

2013年8月21日水曜日

Macにrbenvをインストール

Chef/Vagrantをやってみたくなったのでruby環境を作る。
Macのrubyはバージョンが古いので新しいのを使えるようにしなきゃならない。

そこで出てくるのがrubyのバージョン管理ツール。
rvmにしようかrbenvにしようか迷ったけど、結局rbenvにしてみた。
理由はHomebrewから導入できるから。

手順

  1. rbenvとruby-buildをインストールする

    brew install rbenv ruby-build
    echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc

これだけ!
簡単でした。

2013年7月16日火曜日

jsrender 1.0preから1.0betaにバージョンアップした時に躓いたところ

javascriptテンプレートエンジンの一つであるJsRender
今日久しぶりにレポジトリを確認したら1.0betaにバージョンアップしてました。
今まで使っていたのが1.0pre。ただ jsrender.js を更新するだけでは使えず、コード側にもちょっと更新作業が必要でした。

ヘルパー

1.0preでは jsviews.helpers がヘルパー登録用メソッドだったのですが、1.0betaでは jsviews.views.helpers に移動しています。

// 1.0pre ----------
jsviews.helpers({
  fooHelper: function() {},
  barHelper: function() {}
});

// 1.0beta ----------
jsviews.views.helpers({
  fooHelper: function() {},
  barHelper: function() {}
});

カスタムタグ

1.0preではヘルパーと同様に登録用メソッドが jsviews.tags から jsviews.views.tags に移動しています。
また、1.0preではカスタムタグの描画メソッドも this.renderContent から this.tagCtx.render に変わっています。

// 1.0pre ----------
jsviews.tags({
  fooTag: function(param) {
    var ret = '';
    // カスタムタグのロジック…

    ret = this.renderContent(param);

    return ret;
  },
  barTag: functioN() {}
});

// 1.0beta ----------
jsviews.views.tags({
  fooTag: function(param) {
    var ret = '';    
    // カスタムタグのロジック…

    ret = this.tagCtx.render(param);

    return ret;
  },
  barTag: function() {}
});

とりあえず現時点で対応したのは上記の点のみ。
別件ですがjsrender.min.jsにバージョン番号つけてほしい…(jsrender-1.0beta.min.jsみたいに)

2013年6月4日火曜日

Nexus 4を買って真っ先にしたこと(root化とか色々)

Nexus4買いました。

最初は日本のGoogle Play Storeから発売されるの待ってたんですが、日本のストアから製品情報が削除されたという話を見て、ついAmazonで購入。

以下に開封してからの2時間弱くらいでやった作業をまとめておきます。
ちなみにキャリアはドコモです。作業PCはMacbook Air。

今使ってる端末のデータのバックアップ

使っていた端末はCyanogenMod 10.1を入れたGalaxy Nexus。
Nexus4に引き継ぎたいデータだけに絞ってTitanium Backupでバックアップ -> PCに保存
主にゲームのセーブデータ系ですね。
アプリ全部のバックアップはとくにしませんでした。
最近はGoogleアカウントとひもづけると、前の端末で使ってたアプリを自動でダウンロードしてくれるので。

bootloaderのアンロック

adbやfastbootはPCに入っている前提。
検証してないけど最近はandroid sdk入れたらfastbootコマンドも入ってるんですかね。
sdk managerから最新版ダウンロードしたらfastbootコマンドも入ってたような気がする。

  1. PCにつないで下記のコマンドを実行し、bootloaderに再起動

    adb reboot bootloader
  2. ドロイドくんが分解されてる画面になったら、以下のコマンドを実行

    fastboot oem unlock
  3. ボリュームボタン上下で Yes を選択、電源ボタンで決定。

これでbootloaderのアンロックは完了

ClockworkMod Recoveryの導入

  1. ClockworkModの公式サイトから、Nexus4用のリカバリイメージをダウンロード。
  2. 適当なフォルダに入れて recovery.img にリネームする。
  3. ターミナルを開き、 recovery.img をダウンロードしたフォルダに移動し、下記のコマンドを実行

    adb reboot bootloader
    fastboot flash recovery recovery.img

以上でClockworkMod Recoveryの導入は完了。
bootloaderのメニューで Recovery Mode を選ぶとClockworkMod Recoveryが起動するようになっている。

root取得

  1. このリンクから SU_Busybox_Package.zip をダウンロードする(参考)。
  2. ダウンロードしたzipファイルをNexus4の内部ストレージの直下に配置する。
  3. 下記のコマンドを実行してリカバリにモードに入る。

    adb reboot bootloader
  4. Recovery Mode を選択しリカバリを起動。
  5. ボリュームボタン上下を使い install zip from sdcard を選択、電源ボタンで決定し今度は Choose zip from sdcard を選ぶ。
  6. 内部ストレージ直下に配置した SU_Busybox_Package.zip を選択し、電源ボタンを押す。
  7. 処理が終わったら reboot system now を選択して再起動。
  8. アプリの一覧にSuper SUがあればroot化完了。

CyanogenMod 10.1の導入

  1. Google PlayからROM Managerをダウンロード
  2. ROM ManagerからCyanogenModとGoogle Appsをダウンロード
  3. ダウンロード完了したらそのままインストラクションにしたがってリカバリに再起動 -> インストール完了

APNの設定

moperaの場合は下記の2つを追加。
CyanogenModなら最初から入ってる気がする。

  • mopera.net
  • open.mopera.net

ボイスメールの番号設定

留守電の設定です。
電話アプリの設定から「ボイスメール」 -> 「セットアップ」 -> 「ボイスメールの番号」と選択。 番号は「1417」を入力

バックアップしたデータの復元

最初にバックアップを取ったアプリのデータをTitanium Backupで復元する


以上、こんな感じ。