Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

Posts Tagged ‘Tips’

TwitterつぶやきのURLを取得する方法

2011年11月14日

ポイントは2 hours agoのような時間のリンクをクリックすること。マウスオーバーしないとリンクのように見えないですが。。

参考:http://www.askdavetaylor.com/how_to_figure_out_individual_twitter_status_url_tweet_twhirl.html

Evernote 複数のノートを一気にタグを付けるる方法

2011年10月31日

複数のノートに一気にタグをつける方法です。今まで知らなかったことにちょっとショックくらいです。。

  1. 先にCommandキーを押しながらノートを複数選択する
  2. 付けたいタグを上記で選択したノートにドラッグする

で完了です〜

参考ページ:

http://forum.evernote.com/phpbb/viewtopic.php?f=55&t=17493

http://excel555.blog58.fc2.com/blog-entry-148.html

TextMate ファイル保存したらブラウザを自動リフレッシュする方法

2011年10月12日

目的

Textmateでファイルを保存(Command + S)したら自動でブラウザをリフレッシュしてくれる。

手順

Bundle Editorを開いて、HTMLのセクションの中の「Refresh Running Browser(s)」をクリックします。

右側のコードはわかりやすいです。まずそのブラウザが起動しているかをチェックして、リフレッシュします。デフォルトではFirefox、ChromeやSafariなど全部対応しています。

Activation Key EquivalentをCommand + Sに変更して下のScope Selectorを空にします

これでCommand + Sでファイルを保存した場合起動中のブラウザは全部リフレッシュされるはずです。

もし特定のブラウザだけリフレッシュしたい場合は、コピペーで新規にSnippetを作成し、該当のブラウザのコードだけを貼ればいいです。以下はSafariの例です。

TextMate:最後の編集した箇所に遷移するプラグインTMGoToLastEdit

2011年08月20日

課題

最後の編集した箇所に遷移する機能はTextMateデフォルトではないですが、多分みんなUndo/Redoで実現していたと思います。

でも⌘Z(Undo)、⇧⌘Z(Redo)はやはり手間がかかってしまいますので、一発でできるかをググッてみたところ、TMGoToLastEditを見つかりました。

インストール

ダウンロード、解凍、ダブルクリックでインストール完了です。

使い方

⌥⌘J ( Option + Command + J )

あるいは

Navigationのメニューからクリック

TextMate ファイルパスが効くGoToFile Bundle

2011年08月19日

従来の⌘T(Command + T)Go to Fileの問題:パスが効かない

⌘TはTextMateで速やかにファイルを開ける機能ですが、例えばこんなファイルがあるとします。

  • blogs/index.html.erb
  • posts/index.html.erb
  • categories/index.html.erb
  • tags/index.html.erb
  • users/index.html.erb

で⌘Tで”blogs/index”を叩くと何も表示されない、つまりパスが効かないのが一番の問題です。それを解消するのがgotofile.tmbundle

インストール

cd ~/Library/Application\ Support/TextMate/Bundles/

git clone git://github.com/stevenchanin/gotofile.tmbundle.git GoToFile.tmbundle

で、textmateを再起動

使い方

⇧⌘K ( Command + Shift + K )で新しいGo To Fileダイアログを開いて”ar/in”を叩くことでarticles/index.htmlが選択されます!

他にもspaceキーでQuickLookモードでファイルを見たり、⌥(option)キーでデフォルトのアプリでファイルを開いたり、⇧(shift)キーでフォーカスに選択したファイルのパスを入力することができます。

参考

http://how-i-work.com/workbenches/2-keyboard-based-no-mouse-rails-development-with-textmate

Mac Google Chromeの終了をCommand+Qの長押しに簡単変更する

2011年07月29日

MacでGoogle Chromeを使う時、誤操作でcommand+wを押したかったのに間違ってcommand+q押しちゃってChromeアプリケーションを閉じたことはありますか?それを防ぐために既にいろいろ方法が出てますが、いつの間にかChrome自体で簡単に設定できるようになりました!

方法

Chromeのアプリケーションをアクティブにし、一番上のトップバーからChrome -> Warn Before Quitting (⌘Q)をチェックすればOKです。

こうすればCommand + Qは警告のメッセージが出て、長押しで終了するようになります。

Gmailを常に全員返信に設定

ビジネスでもWeb版のGmailを使えるようになりましたが、しょっちゅう「全員に返信」を忘れてしまいます。

それを防ぐために常に全員返信するように設定しておきましょう。Gmail右上の設定-> Labs-> 常に全員に返信 を有効にする で完了。

Rails: requestがAjaxかどうかを判断するには

2010年08月22日

requestがajaxかどうかを判断するのは、とても簡単です。


# in controller
if request.xhr?
  ...
end

xhrはXMLHttpRequestの略称です。XHRについては下記の記事を参照してください。

今更のAjax基本:XMLHttpRequestについて

jQueryパフォーマンス:DOM操作について

2010年03月26日

DOM操作を避けてjQueryのパフォーマンスを改善する掟です。

こんなコードがあるとしましょう。

パフォーマンスの悪い例

var list = [....];    // 長さ100の配列とする

for (var i in list) {

    var li = document.createElement("li");

    $(li)
       .attr("id", "li" + i)
       .text(list[i]);

$("ul").append(li);

}

改善したコード

var list = [....];    // 長さ100の配列とする

var li = "";
for (var i in list) {

    li += "<li id='li" + i "'>" + list[i] + "</li>";

}

$("ul").html(li);

まとめ

  • document.createElementの代わりにHTMLの文字列を作る
  • jQueryオブジェクトに属性やテキストを設定するのではなく、直接HTML文字列に書く
  • for文内毎回appendの代わりにhtml()を使う

実際のプロジェクトでやってみたら10倍以上は速くなりました。

とは言ってもこれはIE6でのパフォーマンスで、

FirefoxやIE8だと悪い例のコードても遅いとは実感できないくらいでした。

ちなみに

$(li).attr(…).val(…).text(…)の方は読みやすいので結構気に入ったんですけど。。。

dirコマンドでサブフォルダにあるファイル一覧を出力

2010年03月19日

dir /s /b >file.txt

/s指定されたディレクトリおよびそのサブディレクトリのすべてのファイルを表示します。

/bは拡張子とディレクト付きのファイル名を表示します。