黒羊庭園

技術系の話題とかその他

android開発環境インストールメモ

最新版のもので動かすための最小の手順をメモっておくと色々便利かと思って書いておきます


http://developer.android.com/sdk/index.html
AndroidSDKをダウンロード

http://mergedoc.sourceforge.jp/
pleiadesをダウンロード
起動

ヘルプ→新規ソフトウェアのインストール
「ロケーション:https://dl-ssl.google.com/android/eclipse/」を追加
開発ツールをインストール

再起動

eclipseSDKロケーションを設定する

メニューにSDKマネージャーが出ない件
http://www.devlog.alt-area.org/?p=547

SDKマネージャーでデフォルトのもの入れる

      • -

一応確認してみたけど、ADTのeclipseはエラーが出て起動しなかったので不使用
日本語じゃないから嫌とかそういうわけでなく・・・

Android SDKマネージャーが起動しない

環境:Windows7 64bit

Eclipseから起動しようと思ったところ、ローディングしつつも何事もなかったかのように静まり、直接起動も無反応

起動しなくなった原因は不明


C:/path/to/android/android-sdk/tools/android.batを実行するとマネージャー起動しました
更新をインストールしようとするとパーミッションでこけるのでこの辺が原因だったのかな・・・


とりあえずandroid.batを管理者権限で再実行し無事アップデートをインストールできました

さくらVPSにPerlMagickをインストールしてみた

※注意

このやり方でインストールした場合、現状でpngの取り扱いができない事とAnnotateが動作していないので何か問題がある可能性があります。
ご注意ください

とりあえずざっくりPerlの準備

curl -LO http://xrl.us/perlbrew
chmod +x perlbrew
./perlbrew self-install
perlbrew init
source ~/perl5/perlbrew/etc/bashrc
perlbrew install-patchperl
perlbrew install perl-5.16.0
perlbrew switch perl-5.16.0
perlbrew install-cpanm

※最初のcurlhttpsのエラーとか出たら--insecureとかしちゃえばいいんじゃないですかね

ImageMagickインストール

yumはどうにもうまくいかなかったのでソースからインストールしました

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.7.8-6.tar.gz
tar zxvf ImageMagick-6.7.8-6.tar.gz
cd ImageMagick-6.7.8-6.tar.gz
./configure --prefix $HOME/local/imagemagick --with-perl
make
make install
ln -s $HOME/local/imagemagick/bin/* .

※2012/7/29修正 リンクの追加

続いてPerlMagickをインストール

cpanmからのインストールはどうにも途中でコケるのでImageMagickのパッケージに入ってるものをソースから入れました

cd PerlMagick
perl Makefile.PL
make
make install

途中で

#Warning: -L../magick/.libs changed to -L{$HOME}/tmp/ImageMagick-6.7.8-6/PerlMagick/../magick/.libs
#Note (probably harmless): No library found for -lperl

というエラーが出るけど華麗にスルー
インストール成功しました


yumで試行錯誤したのですごく大変だった印象があったのですが、終わって見れば結構あっさりインストールできちゃうんですね


参考:
YellowStore: [perl]perlbrewな環境下でImage::Magickを使いたくなったのでセットアップしたというお話

改めてVimのヘルプを勉強し直してみた #TokyoVim

Vimヘルプをもっと使えるようになりたい!ということで@kana1さん主催のTokyoVim #7にてもくもくとヘルプの勉強をしてみました。その記録です。

基本

:help {keyword}
:h {keyword}

検索時のprefix

同じコマンドでもモードによって意味が異なるのでそれを指定してヘルプ検索をすることができます

:h i_{keyword}
:h v_{keyword}
:h c_{keyword}

例:insert modeからnormal modeに戻る時のESCについて調べたい

:h i_<ESC>


アドバイスまでしてくれる便利!

current window以外を閉じる方法を調べる

ヘルプにて調べたいものを調べる訓練みたいなものが必要かと思ってその思考経路みたいなものを検討してみました。

current windowを閉じるには「:q」だけど、current window以外を閉じるにはどうするか?googleさんに聞くと「CTRL-W CTRL-O」と分かるわけだけど、:helpでどうやってそこにたどりつけばいいんだろうか

「current window以外を閉じる」というシチュエーションは、window分割をしている前提なので分割windowを操作するときの関連でCTRL-wからたどるという思考経路を通ればいいのかな...答えを見ちゃったから言えることかもしれないけど





実際にやってみる


:h CTRL-w

f:id:bsheep:20120602174202p:plain

CTRL-wから始まるコマンドの一覧がどわーっと出てくるけど、落ち着いてcloseを検索してみる

/close

f:id:bsheep:20120602174212p:plain


無事発見!


ヘルプのタグジャンプ

Vimのヘルプには他の項目へリンクされている部分があるのですが、その移動キーがデフォルトでは

ジャンプ:<C-]>
戻る:<C-t>

個人的な設定ですが、screenのコマンドにCTRL-Tを割り当ててしまっているのでそれが使えない。ということで別のキーにマッピングしてみました

nnoremap t <Nop>
nnoremap tt <C-]>
nnoremap tj :<C-u>tag<CR>
nnoremap tk :<C-u>pop<CR>
nnoremap tl :<C-u>tags<CR>

via @kana1

ヘルプのワード補完

<C-i>:補完開始
<C-n>/<C-p>:次の補完候補
<C-d>:補完候補一覧

ヘルプのキーワード入力中にコマンド入力で補完開始します

TracLightningでチケット一覧の色変更

TracLightningでチケット一覧を見ると優先度「通常」のものが水色なのはいいですが、「高め」にすると灰色になってしまって何故か目立たなくなるという不思議な現象があります※感想には個人差があります

その上は黄色→赤となっていってわかりやすいのですが、「高め」だけ使いにくいのもあれなのでCSSを変更してみました

変更するCSSファイルが分かりにくくて探してしまうのですが、通常ここにあります(インストールした場所によって適宜読み替えてください)

C:\TracLight\CollabNetSVN\httpd\htdocs\trac_common\css\report.css

変更箇所はこの辺
自分にとって見やすい色に書き換えましょう♪

table.tickets tbody tr.prio1 {
    background: #f55;
    border-color: #e88;
}
table.tickets tbody tr.even.prio1 {
    background: #f88;
    border-color: #e99;
}
table.tickets tbody tr.prio2 {
    background: #faa;
    border-color: #eea;
}
table.tickets tbody tr.even.prio2 {
    background: #eaa;
    border-color: #dd8;
}
table.tickets tbody tr.prio3  {
    background: #ffffaa;
    border-color: #ddd;
}
table.tickets tbody tr.even.prio3 {
    background: #eeeeaa;
    border-color: #ccc;
}
table.tickets tbody tr.prio4 {
    background: #e7ffff;
    border-color: #cee;
}
table.tickets tbody tr.even.prio4 {
    background: #dff;
    border-color: #bee;
}
table.tickets tbody tr.prio5 {
    background: #e7eeff;
    border-color: #cde;
}
table.tickets tbody tr.even.prio5 {
    background: #dde7ff;
}
table.tickets tbody tr.prio6 {
    background: #f0f0f0;
    border-color: #ddd;
}
table.tickets tbody tr.even.prio6 {
    background: #f7f7f7;
}

※横幅の関係で見づらいので改行など追加しました

■[jquery][template][memo]jQueryのテンプレートプラグイン「jquery-tmpl」を使ってみた (多分)その2

前回の続き

ハッシュをループする場合

<div style="display: none">
    <div id="tmpl">
        {{each data}}
        <div>${this}</div>
        {{/each}}
    </div>
</div>
<script>
    (function($) {
        var data = {
            'asheep': 'foo foo foo',
            'bsheep': 'bar bar bar'
        };
        $('#tmpl').tmpl({data: data}).appendTo('#main');
    })(jQuery);
</script>

こうした場合、ハッシュのキーが異なるので「${this}」で「foo foo foo」と「bar bar bar」は出ますが、「asheep」「bsheep」を使う事ができません。

なので、each()に受取用の変数を置くことで取得できます。

<div id="tmpl">
    {{each(key) data}}
    <div>${key} says ${this}</div>
    {{/each}}
</div>
<!--
<div>asheep says foo foo foo</div>
<div>bsheep says bar bar bar</div>
-->

オブジェクトを更に掘っていく場合は

    {{each(key,value) data}}
    <div>${key}</div>
    <div>${value.child}</div>
    {{/each}}

のように書くこともできます

デバッグ用(?)

これはやっていいことか不明なんですけど、テンプレで複雑なオブジェクトをレンダリングする際にループの中身を確認したくなることがあってconsoleに出力したりしてます

    {{each(key,value) data}}
    <div>${console.log(value)}</div>
    {{/each}}

HTMLとしてはundefinedと表示されてしまうので、あくまで一時的にということで・・・

MojoliciousでファイルのMIME-typeを追加する方法

Mojoliciousでデフォルトで有効になっているMIME-typeは以下の通り

    atom => 'application/atom+xml',
    bin  => 'application/octet-stream',
    css  => 'text/css',
    gif  => 'image/gif',
    gz   => 'application/gzip',
    htm  => 'text/html',
    html => 'text/html;charset=UTF-8',
    ico  => 'image/x-icon',
    jpeg => 'image/jpeg',
    jpg  => 'image/jpeg',
    js   => 'application/x-javascript',
    json => 'application/json',
    mp3  => 'audio/mpeg',
    png  => 'image/png',
    rss  => 'application/rss+xml',
    svg  => 'image/svg+xml',
    tar  => 'application/x-tar',
    txt  => 'text/plain',
    woff => 'application/x-font-woff',
    xml  => 'text/xml',
    xsl  => 'text/xml',
    zip  => 'application/zip'

Mojolicious::Types.pmより


これ以外のファイル、例えばFLASHの.swfなどは設定されていないので適切なcontent-typeが渡されてきません。

 とは言ってもHTMLのタグとして記述していれば、ブラウザがよしなにしてくれることもあるっぽくて意外と普通に表示できたりします。

 ただ、一部の携帯電話のブラウザなどそこまでお人よしじゃないものもまだまだありますし、ちゃんと動くと保証できませんので正しいcontent-typeを指定した方がいいですね。

 新規にMIME-typeを追加する方法は(例えばFlashのswfを追加する場合)

use Mojolicious::Types;
my $types = Mojolicious::Types->new;
$types->type(swf => 'application/x-shockwave-flash');

 Mojolicious::Liteで使う場合は

app->types->type(swf => 'application/x-shockwave-flash');

関連
Mojolicious::Liteでstaticファイルのpathを変える - 黒羊工房はてな版