2014年8月31日 星期日

[tech]"parse.com" api how to do "like" query or "contains" query / whitespace




You can get what you need with a a regex of the form "\^\QJ\E". The whole query will look like the following:
curl -H "X-Parse-Application-Id: $app_id" \
     -H "X-Parse-REST-API-Key:  $api_key" \
     -G --data-urlencode 'where={"first_name" : { "$regex" : "^\QJ\E" } }' \
     https://api.parse.com/1/users/

Are "like" or regex queries possible via the REST API? | Parse
https://www.parse.com/questions/are-like-or-regex-queries-possible-via-the-rest-api


2014年8月26日 星期二

[linux]shell script add zero padding



shell script中怎麼在數字前補上位數的零呢?

for i in $(seq -f "%05g" 10 15)
do
  echo $i
done
will produce the following output:
00010
00011
00012
00013
00014
00015

aa
More generally, bash has printf as a built-in so you can pad output with zeroes as follows:
$ i=99
$ printf "%05d\n" $i
00099
You can use the -v flag to store the output in another variable:
$ i=99
$ printf -v j "%05d" $i
$ echo $j
00099

numbers - Zero Padding In Bash - Stack Overflow
http://stackoverflow.com/questions/8789729/zero-padding-in-bash

[linux] ubuntu ssh slow appear



ubuntu ssh slow appear

在 ubuntu 上使用ssh 指令時,常常要等一陣子。
可以在 ssh時 使用-vvv option列出debug message。

debug2: bits set: 528/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/peicheng/.ssh/id_rsa (0x7f81c3da6ef0)
debug2: key: /home/peicheng/.ssh/id_dsa ((nil))
debug2: key: /home/peicheng/.ssh/id_ecdsa ((nil))
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/peicheng/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/peicheng/.ssh/id_dsa
debug3: no such identity: /home/peicheng/.ssh/id_dsa
debug1: Trying private key: /home/peicheng/.ssh/id_ecdsa
debug3: no such identity: /home/peicheng/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password


可能原因有 GSSAPIAuthentication,GSSAPIAuthentication fail 問題,
可以在 sudo vim /etc/ssh/ssh_config or ~/.ssh/config
加上
GSSAPIAuthentication no                                                                                          
GSSAPIDelegateCredentials no




Why ssh “password” prompt takes too long to appear? - Ask Ubuntu
http://askubuntu.com/questions/246323/why-ssh-password-prompt-takes-too-long-to-appear

2014年8月18日 星期一

[elasticsearch] transport and http modules 的差別



elasticsearch java client 使用TCP/IP trasport
如果再不能撰寫java client 的情況下,可以使用http client ,透過 http 9200 port來做溝通。

[elasticsearch]safely reload configuration from elasticsearch.yml



在設定好 elasticsearch 的  elasticsearch.yml 後,如何安全的重新 reload 新的config呢?

目前唯一的reload config的方式就是 restart service。
所以,如果想達成沒有donwtime的cluster service,在restart前可以先使用 api check一下每個node service的status,在確保每個shard都已經存在另外的node上了,在逐步重開node。

http://esnode:9200/_cluster/health

cat health
http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/cat-health.html


cf.
peicheng-note: elasticsearch 相關 elasticsearch文章
http://peichengnote.blogspot.tw/search/label/elasticsearch
peicheng note: [elasticsearch] url query_string length limit
peicheng note: [elasticsearch] 關於 brain split / cluster split 成兩個 clusters
peicheng note: [elasticsearch] 再談 _all field
http://peichengnote.blogspot.tw/2014/06/elasticsearch-all-field.html
peicheng note: [elasticsearch]range query depends on the field type
http://peichengnote.blogspot.tw/2014/06/elasticsearchrange-query-depends-on.htmlpeicheng-note: [elasticsearch] document id _id field uuid
http://peichengnote.blogspot.tw/2014/05/elasticsearch-document-id-id-field-uuid.html
peicheng-note: [elasticsearch/logstash] logstash id 自動產生 document id "_id" automatic id generation
http://peichengnote.blogspot.tw/2014/04/elasticsearchlogstash-logstash-id.html
peicheng note: [elasticsearch] index size , shard size , heap size design
http://peichengnote.blogspot.tw/2014/07/elasticsearch-index-size-shard-size.html
peicheng note: [Elasticsearch] NumberFormatException / Invalid shift value in prefixCoded bytes

2014年8月17日 星期日

[武術][吳式太極拳]140816 (六) 推手 與 雜記





  • 多看多聽多用心,見賢思齊,見不賢而內自省。看到好的可以學習,看到說為什麼哪裡打不好的可以檢討。
  • 簡化的太極?! 用法用意都要具備
  • 手不要擋住自己的視線,在用時才能夠習慣。像是打摟膝拗步時,手大概在鼻子高度。
  • 今天老師與師兄推手,觀察到,老師推手的方式跟鑑泉宗師的樣子類似。在跨摺疊 ㄑ字型,背部也是撐開的,重心沒有失過。
  • 進步栽捶  摟膝拗步變換動作時,如果有腳踢來,往下打在往前攻要害。往往拳架裡面有教很多種變化的用法像是 退步搬攔捶 上步搬攔捶,斜飛勢 橫斜飛勢都是同一個招式有不同的變化。
  • 一動必有一用 很明細的
  • 楊家快拳 是圓架
  • 吳公儀 在黃埔軍校,已經是教這個架子,大同小異。

2014年8月16日 星期六

[elasticsearch]store level compression / index 的壓縮


elasticsearch 內的 store 模組是用來管理 index 如何被儲存。

index (file ) 可以被儲存在 memory中(no persistence),也可以被儲存在硬碟上(預設)。
當然,in memory的 index有著極高的效能,但是其索引大小也就被限制在硬體memory的大小上。

store level compression 基於store 的壓縮

index內的 "_source" 是可以被壓縮的。可是基於document的壓縮並沒有很好的效果。(註:_source就是input 進 search engine 索引的 raw data 的storage。)

elasticsearch提供以 "block" 為單位的壓縮方式,可以在 elasticsearch.yml 內設置 "index.store.compress.stored:true"  啟用 block compression。





2014年8月15日 星期五

[linux][vagrant] add new network interface / 新增第二張網卡



vagrant
add new network interface


add "config.vm.network :public_network" to your Vagrantfile

example
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "box_name"
  config.vm.network :public_network
end


vagrantfile - How to access Vagrant Box in public network - Stack Overflow
http://stackoverflow.com/questions/18051760/how-to-access-vagrant-box-in-public-network


2014年8月7日 星期四

[武術][吳式太極拳]140807(四) 氣貼背


  • 氣貼背 脊椎正直 頂頭繩 含胸拔背
含胸拔背 U 型往外拔張 頂頭繩時,脊椎正直時,自然就達到氣貼背

  • 退步七星 應該注意上下動態
  • 摟膝拗步 手要放在中心

2014年8月6日 星期三

[elasticsearch] url query_string length limit



elasticsearch url query_string length limit


使用 elasticsearch url search 送出的 query string 預設的 HTTP URL 長度 4kb 。
當發生 送出的 url 長度,超過預設值時,可以調整 "http.max_initial_line_length" 這個參數。

ps. post body 內預設是 100M 的長度。


http.max_initial_line_length
The max length of an HTTP URL. Defaults to 4kb


HTTP
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-http.html#_settings_2

cf.
peicheng-note: elasticsearch 相關 elasticsearch文章
http://peichengnote.blogspot.tw/search/label/elasticsearch
peicheng note: [elasticsearch] 關於 brain split / cluster split 成兩個 clusters
peicheng note: [elasticsearch] 再談 _all field
http://peichengnote.blogspot.tw/2014/06/elasticsearch-all-field.html
peicheng note: [elasticsearch]range query depends on the field type
http://peichengnote.blogspot.tw/2014/06/elasticsearchrange-query-depends-on.htmlpeicheng-note: [elasticsearch] document id _id field uuid
http://peichengnote.blogspot.tw/2014/05/elasticsearch-document-id-id-field-uuid.html
peicheng-note: [elasticsearch/logstash] logstash id 自動產生 document id "_id" automatic id generation
http://peichengnote.blogspot.tw/2014/04/elasticsearchlogstash-logstash-id.html
peicheng note: [elasticsearch] index size , shard size , heap size design
http://peichengnote.blogspot.tw/2014/07/elasticsearch-index-size-shard-size.html
peicheng note: [Elasticsearch] NumberFormatException / Invalid shift value in prefixCoded bytes

2014年8月5日 星期二

[Elasticsearch] NumberFormatException / Invalid shift value in prefixCoded bytes



Elasticsearch NumberFormatException

ElasticsearchException[java.lang.NumberFormatException: Invalid shift value in prefixCoded bytes (is encoded value really an INT?)]; nested: UncheckedExecutionException[java.lang.NumberFormatException: Invalid shift value in prefixCoded bytes (is encoded value really an INT?)]; nested: NumberFormatException[Invalid shift value in prefixCoded bytes (is encoded value really an INT?)]

在使用 Elasticsearch 做 aggregation , facet ,或者是 sort 時,相同名稱的 field 有不一樣的 data types 在同一個index內就會發生這樣的 exception。
所有的types 在 Elasticsearch 底層操作中都會被轉成 Lucene Document的形式,這樣構成了 elasticsearch的typeless 特點。

總結一句,就是在對同一個index做需要把欄位的值拿出來轉換時,發生了 NumberFormatException,可能是index內該欄位的資料 type 並不相同,也無法轉型成功。

所以,當發生這樣的問題時,請先確認index內該欄位的資料是否都是同樣的type。


補上 shay.banon 的說明

Sep 20, 2010; 3:19am Re: Number Format Exception?
kimchy
Administrator
6275 posts
Ahh, yes, this is a limitation in elasticsearch. Basically, all types are broken down into Lucene Documents, with their "typeness" added by elasticsearch. The limit to that is the fact that a field with the same name across different types *within the same index* must be of the same type (long/integer/string). The problem does not exists between indices.

Sorry about that!,
-shay.banon

ElasticSearch Users - Number Format Exception?
http://elasticsearch-users.115913.n3.nabble.com/Number-Format-Exception-td1474946.html

cf.
peicheng-note: elasticsearch 相關 elasticsearch文章
http://peichengnote.blogspot.tw/search/label/elasticsearch
peicheng note: [elasticsearch] 關於 brain split / cluster split 成兩個 clusters
peicheng note: [elasticsearch] 再談 _all field
http://peichengnote.blogspot.tw/2014/06/elasticsearch-all-field.html
peicheng note: [elasticsearch]range query depends on the field type
http://peichengnote.blogspot.tw/2014/06/elasticsearchrange-query-depends-on.htmlpeicheng-note: [elasticsearch] document id _id field uuid
http://peichengnote.blogspot.tw/2014/05/elasticsearch-document-id-id-field-uuid.html
peicheng-note: [elasticsearch/logstash] logstash id 自動產生 document id "_id" automatic id generation
http://peichengnote.blogspot.tw/2014/04/elasticsearchlogstash-logstash-id.html
peicheng note: [elasticsearch] index size , shard size , heap size design
http://peichengnote.blogspot.tw/2014/07/elasticsearch-index-size-shard-size.html

2014年8月2日 星期六

[武術][吳式太極拳] 140802(六) 吳家太極拳記 關於悟



140802(六) 吳家太極拳記

老師今天話夾子一開,聊到太極拳的悟。
他覺得整個學習過程都是個自己的悟,有時候有人先悟到了,有時候有人晚悟到。
大抵都脫離不了要"用心"去體會

像是多推推手,多來看看師兄跟老師的教學。
不管是程度高底,程度高的跟程度低的人也是在學習,程度低的人也在學習感覺。

接手的時候什麼時候發?
過的話就是捋 發的話可以後發先制

纏絲勁
整個太極不管裡面外面都講求纏絲
不管是手微轉 身為轉 很多時候都有纏絲的存在
並不是只有陳家在講纏絲

老師也勉勵 要在練功中用心體會,用法纏絲其實都很明細的。
老師說白鶴晾翅的例子說了改正了你一點點下次就會注意到,這樣自己就知道哪天被改正,一步步的做到標準。要多看多熟悉。

他想傳承推廣吳家的好,讓大家知道吳家的好功夫。