android開発環境インストールメモ
最新版のもので動かすための最小の手順をメモっておくと色々便利かと思って書いておきます
http://developer.android.com/sdk/index.html
AndroidSDKをダウンロード
http://mergedoc.sourceforge.jp/
pleiadesをダウンロード
起動
ヘルプ→新規ソフトウェアのインストール
「ロケーション:https://dl-ssl.google.com/android/eclipse/」を追加
開発ツールをインストール
再起動
メニューにSDKマネージャーが出ない件
http://www.devlog.alt-area.org/?p=547
SDKマネージャーでデフォルトのもの入れる
-
-
- -
-
一応確認してみたけど、ADTのeclipseはエラーが出て起動しなかったので不使用
日本語じゃないから嫌とかそういうわけでなく・・・
さくら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
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>
ESCが遠いなー -> :help i_<ESC> -> 「If your <Esc> key is hard to hit on your keyboard, train yourself to use CTRL-[.」#tokyovim
— 黒羊はね (@bsheep) June 2, 2012
アドバイスまでしてくれる便利!
current window以外を閉じる方法を調べる
ヘルプにて調べたいものを調べる訓練みたいなものが必要かと思ってその思考経路みたいなものを検討してみました。
current windowを閉じるには「:q」だけど、current window以外を閉じるにはどうするか?googleさんに聞くと「CTRL-W CTRL-O」と分かるわけだけど、:helpでどうやってそこにたどりつけばいいんだろうか
「current window以外を閉じる」というシチュエーションは、window分割をしている前提なので分割windowを操作するときの関連でCTRL-wからたどるという思考経路を通ればいいのかな...答えを見ちゃったから言えることかもしれないけど
@bsheep :help window<Enter>/\cclose<Enter>nnnnnnnnnnnnnn #TokyoVim
— Kana Natsuno (@kana1) June 2, 2012
@bsheep まずは Window 分割機能を使おう!→window or win-cmd あたりを見る、という流れが多そうな気がします。 #TokyoVim
— えび (@ebc_2in2crc) June 2, 2012
実際にやってみる
:h CTRL-w

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

無事発見!
ヘルプのタグジャンプ
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');