// 47 -> 047
sprintf("%03d", 47);
// or
// parameter: string $input , int $pad_length,
str_pad(47, 3, '0', STR_PAD_LEFT);
str-padについては:http://php.net/manual/en/function.str-pad.php
// 47 -> 047
sprintf("%03d", 47);
// or
// parameter: string $input , int $pad_length,
str_pad(47, 3, '0', STR_PAD_LEFT);
str-padについては:http://php.net/manual/en/function.str-pad.php
System PreferencesのTrackPadを早速開きました。
最初のTap to clickはなかなか便利で、ずっとほしい機能でした。やっとMacbookのトラックパッドをクリックする音が消えました。
そしてThree finger dragは三本指でアプリの位置を移動したり、テキストを選択したり、Finderでファイルを選択したりして、いろんな機能があります。動作としては「クリックをホールディングしながらドラックする」感じなので、よく使えばだいぶ効率が上がりそうです。
ここはScroll direction:naturalのチェックを外しました。デフォルトはチェックした状態なんですが、今まで(Lion以前)の動きと真逆なので全然慣れません。。
Lionの新しいジェスチャーを学びましょう。
Tap to clickとThree finger dragは新しい、大変便利な機能でオススメです。
Scroll direction:naturalは2本指スクロールが今までの動きと真逆なんで慣れない方はチェックを外してください。
その他はMission ControlとLaunchpadを覚えておけばいいかと〜
Google Readerでフィードに100以上のアイテムがある場合途中まで読んで、読んだ分だけを既読にしたいですね。FIrefoxならそれが実現できます。
現時点で使ってるFirefoxは5.0.1です。
今はほとんどのサイトがLike(いいね!)ボタンを置いてますが、Likeボタンがどれだけクリックされたか、その数は気になりますね。
Facebook独自のFQL(文法はSQLに似ている)を使って複数URLのLikeされた数が取れます。Facebook公式ドキュメントはこちらにあります。
下記はPHPでのサンプルコードです。
下記どちらもOKです。明示的に書きたいときはjQueryで。
coffee-scriptをMacportsを使ってインストールし、TextMateのcoffee-script bundleでコンパイルするメモです。
注意すべきなのはたとえターミナルでcoffeeが実行できても、TextMateはPATHをインクルードしないので(インクルードしているのは/usr/binらしい)、/usr/binにcoffeeのシンボリックを作る必要があります。
またcoffee-scriptをコンパイルするにはnodejsとnpm(Node Package Manager)が前提条件となるため、それらのインストールも必要です。
# don't forget to update your port tree first | |
sudo port selfupdate | |
# install coffee script using macport | |
sudo port install nodejs | |
node -v | |
# install npm - the Node Package Manager | |
git clone http://github.com/isaacs/npm.git | |
cd npm | |
sudo make install | |
npm -v | |
# now install coffee-script! | |
sudo npm install -g coffee-script | |
coffee -v | |
# because TextMate doesn't inherit your regular PATH | |
# you need to set a symbol link to /usr/bin | |
# so that you can run coffee in your textmate | |
which node | |
/opt/local/bin/node | |
which coffee | |
/opt/local/bin/coffee | |
cd /usr/bin | |
sudo ln -s /opt/local/bin/node | |
sudo ln -s /opt/local/bin/coffee | |
# install textmate coffee-script bundle | |
mkdir -p ~/Library/Application\ Support/TextMate/Bundles | |
cd ~/Library/Application\ Support/TextMate/Bundles | |
git clone git://github.com/jashkenas/coffee-script-tmbundle CoffeeScript.tmbundle | |
# now you can use command + B to compile and display javascript in your textmate! |
これでtextmateでcommand + Bでコンパイル後のJavascriptが表示できるようになります!
gistでソースをjavascriptタグで表示したらRSSには出力できません。また毎回githubから呼びこむのはパフォーマンスも悪いですね。
これらの問題を解消してくれるプラグインがEmbed GitHub Gistです。
Embed GitHub Gistはgistから内容を取得して本文に出力するためRSSでも表示できるようになります。
記述ルールはとても簡単で**にgist id=12345のように書けば終わりです。詳細は上記のリンクで確認してください。
デフォルトのキャッシュは一日です。今のバージョン0.8ではまだ他の値に設定できませんが、簡単で十分だと思います。
一年くらい使ってなかったので、ほぼ忘れてしまいました。そのためのメモという感じです。
// idがwrapperの中の最初のdivを取る
$("#wrapper").find("div:first")
この:xxxがBasic Filter(基本フィルタ)と読んで、他にもいろいろあります。
:first 先頭の要素を選択する。
:last 末尾の要素を選択する。
:not(selector) 指定したセレクターを除外した要素を選択する。
:even 偶数番の要素を選択する。
:odd 奇数番の要素を選択する。
:eq(index) インデックス指定した要素を選択する。
:gt(index) 指定したインデックスより後の要素を選択する。
:lt(index) 指定したインデックスより前の要素を選択する。
:header h1,h2などのヘッダ要素を選択する。
:animated アニメーション中の要素を選択する。
下記を.zshrcに記述すればtabで大文字を無視して補完ができるようになります。
## Case-insensitive completion
zstyle ':completion:# ' matcher-list 'm:{a-z}={A-Z}'
zstyle ':completion:# ' menu select=1
Nokogiriでurlをparseするときは普通こんなコードになります。
doc = Nokogiri::HTML(open('http://example.com/'))
しかし接続先のプロトコールがhttpsの場合はNo such file or directoryのエラーとなります。
一旦net/httpsで取ってからそれをnokogiriでparseするような工夫が必要です。
require 'net/https' | |
require 'nokogiri' | |
url = "https://example.com" | |
url = URI.parse( url ) | |
http = Net::HTTP.new( url.host, url.port ) | |
http.use_ssl = true if url.port == 443 | |
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if url.port == 443 | |
path = url.path | |
path += "?" + url.query unless url.query.nil? | |
res, data = http.get( path ) | |
case res | |
when Net::HTTPSuccess, Net::HTTPRedirection | |
# parse link | |
doc = Nokogiri::HTML(data) | |
# do what you want ... | |
else | |
return "failed" + res.to_s | |
end |