jq を使ってみた
jq を使ってみた
json の結果を見やすく整形するツール。
だいぶ前に話題になっていたのを、ようやくサワれる感じ。
ここからはチュートリアルに沿って見ていく。
Twitter の 直近 5 個の json という単語を含む検索結果の tweet を拾ってくれる API を叩く。
curl 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true'
これだと見難いので、適当に見やすくする。
これは、jq に '.' を渡せばよい
curl 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true' | jq '.'
結果は、見るとわかるが results という配列の中に入っている。
そこで、results の一つ目の配列の要素をみてみる。
curl 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true' | jq '.results[0]'
そうすると、直近の json を含む twitter の検索結果がとれた。
ここで、誰がどんなことを発言しているのかを切り抜きたい。
from_user 要素と text 要素が対応しているので、それらを切り出す。
curl 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true' | jq '.results[0] | {from_user, text}'
すべての from_user 要素と text 要素を取り出す。
curl 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true' | jq '.results[] | {from_user, text}'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
次のような返り値がある場合、次のようにパースできるらしい
{ "user_mentions": [], "urls": [{ "indices": [83, 103], "display_url": "bit.ly/StniqT", "expanded_url": "http://bit.ly/StniqT", "url": "http://t.co/28Jesbio" }], "hashtags": [ {"indices": [108, 114], "text": "Apple" }, {"indices": [121, 129], "text": "Awesome"} ] }
jq '.results[] | {from_user, text, urls: [.entities.urls[].url]}'
node.js のバージョンを上げる
version up / node.js
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
「INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session」エラーが発生した場合
以下の2つの可能性が考えられる。
・必要な metadata がない
・OS の書き込み権限がない
[解決方法]
・OS の書き込み権限がない
清らかな心で、一旦 Force.com IDE を閉じる。
スタートから、Force.com IDE を右クリックし「管理者権限で実行」をクリック。
とりあえず、こっちからためしてみると良いですよ
・必要な metadata がない
force.com IDE を起動する。
プロジェクトディレクトリを右クリックし、[Force.com] -> [Add/Remove Metadata Components] をクリック。
右上に [Add/Remove] ボタンがあるので、クリック。
一旦、[Select All] をクリックし、new subscribe と書かれているものだけチェックを外す。
これで、プロジェクトディレクトリを右クリックし、Refresh したり、[Project] -> [Clean] をクリックすれば
解決します。
html-helper-mode のキーバインド (一部)
なにげに はてダ記法の >| --|< と >|| -- ||< は解釈が違うのね…
C-c # : ascii code C-c " : Quotation mark C-c $ : Registered C-c @ : Copyright C-c - : soft Hyphen C-c : Nonbraking Space <- C-C の後にすぺーす C-c & : ampersand C-c > : Greater than C-c < : less Than <head> C-c C-t H : <head C-c C-t B : <body C-c C-t i : <isindex C-c C-t n : <nextid C-c C-t h : <meta http-equiv= C-c C-t m : <meta name= C-c C-t l : <link C-c C-t b : <base C-c C-t t : title <image> C-c C-i a : img src= <header> C-c M-h 1 : h1 C-c M-h 2 : h2 C-c M-h 3 : h3 C-c M-h 4 : h4 C-c M-h 5 : h5 C-c M-h 6 : h6 <anchor> C-c C-a n : a name= C-c C-a l : a href <logical> C-c M-l b : <blockquote C-c M-l c : <code C-c M-l x : <samp C-c M-l r : <cite C-c M-l k : <kbd C-c M-l v : <var C-c M-l d : <dfn C-c M-l a : <address C-c M-l e : <em C-c M-l s : <strong C-c M-l p : <pre <phys> C-c C-p s : strike C-c C-p u : u C-c C-p i : i Italic C-c C-p b : b Bold C-c C-p f : tt C-c C-p c : center <list> C-c C-l t : <dt definition Item C-c C-l l : <li list item C-c C-l r : <dir directory list C-c C-l m : <menu menu list C-c C-l o : <ol Ordered list C-c C-l d : <dl Definition list C-c C-l u : <ul Unordered list <form> C-c C-f o : <option C-c C-f v : <option value C-c C-f s : <select C-c C-f z : <input type="reset" C-c C-f m : <input type="submit" C-c C-f b : <input type="button" C-c C-f i : <input type="image" C-c C-f h : <input type="hidden" C-c C-f p : <textarea C-c C-f c : <input type="checkbox" C-c C-f r : <input type="radio" C-c C-f t : <input type="text" C-c C-f f : <form <table> C-c C-t t : <table C-c C-t r : <tr table row C-c C-t h : <th table header C-c C-t d : <td table data C-c C-t p : <caption <text elements> C-c = : <hr> Horizontal Line C-c C-m : <br> Line break C-c C-j : <p> Paragraph <- ここだけ手を入れた <script> C-c C-s j : <script type="text/javascript" C-c C-s v : <script type="text/vbscript C-c C-s = : <?= PHP outout C-c C-s p : <?xx?> PHP code C-c C-s ? : ?>xxx<? PHP break
heroku の client を さくらの VPS (CentOS) で使う
heroku client のページから tgz をダウンロード
あとは、展開して、PATH を通すだけ
rbenv で Ruby をインストールするときの注意点
いまのとこ、みんな大好き rbenv
rbenv install するときに できるだけ library を入れておいたほうが良いよ。
さもないと gem install bundler 等をした時に、謎のエラーで困ることになる。
例えば、さくらの VPS で gem install bundler をする時に、以下の様なエラーが発生する。
ERROR: Loading command: install (LoadError) cannot load such file -- zlib ERROR: While executing gem ... (NameError) uninitialized constant Gem::Commands::InstallCommand
そこで、次のコマンドで必要なライブラリをインストールしておく。
yum install -y zlib-devel yum install -y openssl-devel yum install -y readline readline-devel
ま、こんな簡単なことで 数時間使ってしまったんですけどね!