jQueryでdata-*属性を使ってみる

javascriptやjQueryで何らかのデータをhtmlに埋め込んで取りたいけどいいhtml要素がないときdata属性が良さそうです
(古いブラウザならhidden要素でしょうか)

<p class="sentence" data-author="yamada taro">
なんとかかんとか
</p>

$(.sentence).data(“author”)

でyamada taroが取れます

対応しているブラウザはcaniuse.comで調べると良さそうです
IEは8からですね
http://caniuse.com/#search=data-*

gitで1ファイル(1部分)ずつmergeしたい

gitで別ブランチの1ファイルだけマージしたかったので調べました

masterブランチにいるとして、
devブランチのadmin/require.phpをmergeしてみます
(とあるシステムのマージ)

差分のパッチを作ります
$ git format-patch –histogram ..remotedev — admin/require.php
0001-fix-ob_end_clean-error.patch
とpatchファイルができました

–histgram で見やすく、 ..remotedev でremotedevとの差を
— 以降にファイル名を書きます(複数ファイル可)

0001-fix-ob_end_clean-error.patchのいらない差を消せばいるところだけ取り込めます

取り込みます
$ git am -3 0001-fix-ob_end_clean-error.patch
でmergeされました

-3 を作るとうまいこと取り込んでくれるらしいです

ログを見てみると
$ git log -1
commit a068c042edab0f42dcd72319d08bde106a027ddf
Author: sample sample@sample.co.jp
Date: Tue Nov 4 15:29:50 2014 +0900

fix ob_end_clean error

とうまく行きました

commit単位でmergeできるようにcommitを作りましょう

linuxでディレクトリだけコピーする

ファイルはいらず、ディレクトリ構造だけコピーしたいとき

$ find (コピーしたいディレクトリ) -type d
これでディレクトリだけ検索します

$ find (コピーしたいディレクトリ) -type d | xargs -I DIR mkdir (コピー先のディレクトリ)/DIR

xargs -I のあとのDIRはなんでもよくて、find の結果が mkdirのあとのDIRに入ります

これで楽にコピーができました

vagrantのSyncedFolderにrsyncでのエラー

vagrantのSyncedFolderにrsyncでエラーが発生しました

There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.

Host path: /home/user/ws/vagrant/precise32/
Guest path: /vagrant
Command: rsync –verbose –archive –delete -z –copy-links –no-owner –no-group –rsync-path sudo rsync -e ssh -p 2222 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ‘/home/user/.vagrant.d/insecure_private_key’ –> exclude .vagrant/ –exclude .git/ /home/user/ws/vagrant/precise32/ vagrant@127.0.0.1:/vagrant
Error: Warning: Permanently added ‘[127.0.0.1]:2222’ (ECDSA) to the list of known hosts.
Received disconnect from 127.0.0.1: 2: Too many authentication failures for vagrant
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.0]

解決策はこれでした

$ vim ~/.ssh/config
Host 127.0.0.1
IdentitiesOnly yes

を追記
これでうまくいきました