2020年9月29日 星期二

2020年9月28日 星期一

Pokemongo 搜尋語法

其他:名字(name),別名(Nickname),屬性(Pokemon type),區域(Region)

#合眾:列出合眾區域的寶可夢

圖鑑編號:

#直接用數字:03, 280
# +寶可夢:列出所有寶可夢家族 +皮卡丘:列出皮丘,皮卡丘,雷丘

寶可夢屬性查詢:

#加上要查詢的屬性cp, hp: cp 03
#查詢區間 cp(combat power) 03-50
         cp -235.   (cp <235)
         cp 235-   ( cp > 235)
         hp(health points) 120
#距離(distance)。   距離1000-  (距離 > 1000公里)
#阿羅拉:列出阿羅拉寶可夢
#0-4*: 顯示隊長評價
    #4*  4星評價, iv 100
    #3*. 3星評價
#只限蛋:只限制能從蛋孵化出來的寶可夢
#孵化:會顯示所有能從蛋孵化出的寶可夢,但不代表顯示出來的寶可夢一定從蛋孵化
#亮晶晶:顯示亮晶晶寶可夢
#傳說的寶可夢:
#幻:列出幻之寶可夢
#淨化:列出所有淨化的寶可夢
#暗影:列出所有暗影寶可夢
#異色:列出所有色違的寶可夢
#特殊:列出所有特殊活動的寶可夢,例如戴帽子的皮卡丘
#交換:列出交換而來的寶可夢

技能(Move) &技能屬性(Move type): 前面+@會列出 所有擁有此技能的寶可夢

#@地震:列出所有擁有地震技能的寶可夢,打團戰時,組隊最適合用的指令
#@冰:列出所有屬於冰屬性技能的寶可夢
#@1,@2,@3 + 技能: @1:列出一般技能,@2列出特殊技能,@3所有技能
#@1哈欠:列出一般技能為哈欠的寶可夢

進化相關:

#進化
#道具
#Mega-Evolvable 超級進化 

搜尋特定狀態的寶可夢

#日數:日數0: (24小時內捕捉的寶可夢)
        日數1:(24-48小時捕捉的)
#夥伴等級:夥伴0-5
    #夥伴0:未設定過夥伴
    #夥伴5:正港好夥伴
#進化:可進化的寶可夢
#防禦者:在道館上的寶可夢
#道具:需要道具進化的寶可夢
#未登錄:輸入未登錄能搜尋可以透過進化增加圖鑑內容寶可夢的寶可夢
    #如果想找可以立刻進化的寶可夢請搜尋「進化&未登錄」。
#交換進化:能搜尋可以透過交換不需要使用糖果就可以進化寶可夢。
#天氣優勢:輸入@天氣,會顯示招式中有受天氣獎勵加成的寶可夢
#年:搜尋特殊年份的寶可夢 年2016 : 2016年捕捉到的

進階:

#複數條件搜尋請使用&, | 
    # & : and
    # | : or
    # ! : 排除的
    # 最小值:  - 加在後面 , cp300-
#多條件搜尋:
    #使用[,],[:]或[;]來搜尋符合任一條件的寶可夢

2020年9月22日 星期二

How to get a posix path on mac

you can use PWD command as variable
for example list absolute path of file in ./scripts

ls -d "$PWD"/scripts/*

2020年9月9日 星期三

How to generate iso image on Mac

  1. Use disk utilty to generate cdr file format
  2. disk format: select DVD/CD master

  1. It will geneate a file extension .cdr
  2. hdiutil makehybrid -iso -joliet -o destination.iso source.cdr

  3. hdiutil convert source.cdr -format UDTO -o destination.iso

How to Format Read-only USB Drive successful

Use "Diskpart" command

on windows dos prompt

DiskPpart

## list disk

Diskpart > list disk
## select disk in
Diskpart > select disk. [1,2..]
## attributes disk
Diskpart > attribute disk
## modify Read-only state from yes to "no
Diskpart > attributes disk clear readonly

2020年9月1日 星期二

uber go : automaxprocs

今天早上看到同事分享說採用automaxprocs,RPS提升了20%,然後google了一下,automaxprocs主要就是正確的幫忙調適docker內可用的cpu數量

例如

#kubectl get pod testpod -n default -o=jsonpath='{.spec.containers[0].resources}'
#map[limits:map[cpu:500m memory:128Mi] requests:map[cpu:100m memory:128Mi]]%

一般在container go routine會遇到的問題就在於container 中會拿到host node上面的cpu 核心數, 這就會導致golang 服務預設會拿host node上面的cpu核心數來調適 runtime.GOMAXPROCS(), 導致P數量元(註一)大於可用的CPU核心數,所以效能就會受影響
automaxprocs 能夠辯視真正的核心數,合理的設置go processor避免這個問題

lscpu |head -n 10

[ec2-user@ip-10-102-140-123 ~]$ lscpu |head -n 10
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel

仔細觀看automaxprocs 的source code就可以發現
automaxprocs/automaxprocs.go
核心函數就是maxprocs.Set() 他會正確的從cgroup種獲取設置的cpu quota然後轉換合適的GOMAXPROCS , iruntime.CPUQuotaToGOMAXPROCS()
parse 的位置 /proc/$pid/cgroup

package automaxprocs // import "go.uber.org/automaxprocs"

import (
    "log"

    "go.uber.org/automaxprocs/maxprocs"
)

func init() {
    maxprocs.Set(maxprocs.Logger(log.Printf))
}

註一:
GO scheduler中
* G:goroutine
* P : Processor(Logical)
* M : machine

How to restore a deleted onenote page

復原不小心誤刪的onenote