2023年3月31日 星期五

[bash] parameter substitution

get string after c

${target#*c}        # first match

${target##*c}      # last match

get string before c

${target%.*}        # last match

${target%%.*}     # first match

separated to list by c

lst=(${target//c/ })

get list elements

lst=0 1 2 3 4 5 6 7

${lst[@]:5:2} # form 5th element take 2 elements

got 5 6

[bash] 在function中用 getopts 取得 options

在bash 中常常會利用 -a -b 之類的parameter對 function 下參數

ex:

$doA -a -b -c

getopts

可以用內建function getopts 達到

但限制是 -x的x只能single character

-somethhing就不能用這個方式

用法:

getopts optstring name 

ex: getopts ":ab:c" optval

optstring

其中第一個引數

":ab:c"

第一個:表示未定義的options會被歸類為?,如果沒有這個:,不在list中的option都會導致error

a,c表示a,c是合法option

$ doA -a

$ doA -c 

都是合法的

b:表示是合法帶參數的option, b的參數會存到"$OPTARG"中 用法是 

$ doA -b 123

此時

$echo $OPTARG

會得到 123

name

getopts 會把引數存到 $name
ex: $ doA -a
$ getopts "a" optval
$ echo $optval
會印出 a

OPTIND

getopts每被呼叫一次,就會去取下一個參數,這部份是用$OPTIND在控制的
因此在function中使用時,記得將OPTIND設成local否則多次進入會有問題
$local OPTIND
$getopts ":abc" optval
 
** 在function中使用因為function會多次被呼叫,有跟外部共用變數空間,要記得將$OPTIND設定成local

Used with  while loop to get all opts

sample code:
 
    local optval OPTIND
    
    while getopts ":ab:c" optval
    do
        case $optval in
            a)
                echo "a"
                ;;
            b)
                echo "b" $OPTARG
                ;;
            ?)
                echo "?"
                ;;
        esac
    done

Other way

more flexible, can handle --option with more world in option

sample code:

while true; do
  case "$1" in
    --opt1)                OPT_opt1=1; shift ;;
    --opt2)                OPT_opt2="$2"; shift 2 ;;
    --)                    shift; break ;;
    -*)                    break ;;
                    *)
                            if [ -z "$1" ];then
                                    break
                            fi
                            echo "$1 is not support"; usage; return 1;;

  esac
done
 


2023年3月28日 星期二

[snowboard]裝備

小道具

大力貼布,針線,強力膠

背包

要有胸扣,最好能防水,下次袋防水袋試試(不帶背包好像也還好)

手套

露天的手套不大行,每天都濕進去,好在房間有暖氣每天都會乾,帶一雙應該是夠

內手套大概三雙

雪襪

帶兩雙

防摔褲

兩件防摔褲

護膝

兩層軟護膝

護掌

手套外護掌好像比較容易遺失,穿脫也麻煩,以後還是考慮手套內護掌

雪鏡

單車安全冒用魔鬼詹固定,但魔鬼氈會到處黏,不是太理想

鍍水銀的太暗,夜滑落天氣不好完全看不到

防摔衣

蠻佔位子的,但Patric說他防摔褲跟防摔衣是必備,可能找看看軟式的,這次臨時買硬式有點太佔位子

gopro

用自拍棒好像不錯,下次試試


[snowboard]滑行心得

這次看了youtube影片跟教練上課講的,慢慢體會到要用髖關節去控制heel/toes side的壓刃,把膝蓋留給避震/地形適應,上半身扭轉留給更agresive的動作

另外關於轉彎的前中後,重心前中後腳的改變也有點feel

half turn要想板頭幾乎是往下的,用髖關節去擺動

下纜車

後腳要習慣上板,不要一直放地上想煞車

上纜車

後腳binding要記得收起來以免被纜車卡到

[snowboard]2023志賀高原

這個雪季因為比較晚決定/出發(3/15-3/22)

為了保險選了比較高海拔的志賀高原,果然前面雪都還不錯,但最後比較低的地方在下午會開始看到草

中央區志賀奧林匹克酒店

有大眾浴池,就在志賀家庭滑雪場對面

一樓有乾燥室,和snowcan器材出租(但google評價不是很好)

雪場

志賀高原滑雪場面積廣闊

我們大多在中央區玩

中央區範圍就不小了

中央區

包含一之瀨鑽石,一之瀨家庭,高天原,蓮池,Giant等滑雪場

其實光這區就很夠滑了!

奧志賀

我們上課的地方,在正區最深處

燒額山

中央區跟奧志賀之間,有gondola可以直上山頂,一口氣滑下來

其他

熊之湯和橫手山

這次沒去到他們跟其他地方沒有直接相連,要搭車到高原山之驛站換車

雪場間的連結

就跟網路上的資料一樣,這裡的雪場之間的連結多需要脫板走ex:発哺的兩個gondola之間,或是要前往蓮池的路上的地下道
雪場間的連接也可以靠shuttle bus在8-17之間大致是免費的(非免費時段大概搭個20分鐘就要500)但班次蠻少的,搭纜車加用滑的不會比較慢

裝備租借

這次因為boot掉底怕需要去租有稍微看一下,高原山之驛站跟奧志賀的東西品質看起來都還不差,高原山之驛站可能因為比較外面,看起來蠻優惠的

食物

滑雪場的飲料價格比平地大概貴了兩倍
一般食物差別不大大概都1k出頭
覺得有從山下買包高蛋白帶上來是個不錯的決定

便利商店

很幸運地在便利商店買到強力膠水跟膠帶修掉落的鞋底

[snowboard] 上課筆記

03/16/2023 @ 奧志 by Patric 

Patric

很高的德國男生,身高快190,一頭白髮
27歲但玩sb 18年了,在日本working holiday
6歲開ski,但後來發現比較愛sb

Vocabulary

這次因為這個雪場沒什麼華人,又是季末,找到了英文授課的滑雪學校,有些單字沒有很清楚,回來之後查了一下

piste

piste:源自法文,歐洲人用來講雪道
補充(以下google)
雪道角度:
常聽人說黑線的坡度到40度以上,但應該是個誤會,其實是40%以上,大概就21度以上的坡
藍線: 25%,14度以內
紅線: 40%,22度以內

off piste

北美也用off piste來指稱back country  ski
要玩off piste還要帶beacon跟probe並且團體行動

Normal turn:

太早入彎: 

一開始入彎時機太早,可能太害怕打直板的時候的加速度感
理智上,因為速度慢,阻力小,打直板(力的來源是重力的分力,是固定的)會感受到更大的加速度,淡大的加速度其實是安全的,不用太擔心,專心控板即可
我大概75度就入彎了,Patric希望延後到接近0度(板子跟斜坡方向的夾角)

上半身轉太多

上半身不是不能用,但應該要保留給需要比較aggresive的動作的時候使用,日常s turn不要用上半身來帶
Partic說了之後有些改善

黑線normal turn

太想降低速度會讓腳很吃力,腳一旦hold不住就會摔,放這跑一下反而不會摔 
在黑線上不大會是咬到edge噴出去,經常事項滑壘一樣滑倒
黑線turn 要提早入彎
但黑線turn玩部知道是腳沒力還是習慣太早入彎的timming,在簡單的piste反而狂摔 orz..

Half turn:

在比較窄的雪道用,在75%就打直板接下一個turn

加壓

透過吃到刃的時候的加壓來達到減速效果,減少打橫板speed control的次數

速度

需要習慣快一點的速度
但我還是想維持control
知道在吃到刃的時候加壓可以減速,可以大大減少需要打橫板slide的次數

Ollie:

先加壓前腳再加壓後腳之後release就可以跳起來
覺得先加壓前腳的部份蠻重要的
另外還有pop,兩腳一起起跳,據說只有用在curving快速換刃的時候

off piste:

從最初級的轉彎切西瓜開始,可能就繞過一顆樹(but我上課沒試qq)

park: 

看表演,大概簡介一下rail跟box的玩法,簡單的說就是不要吃到刃,要打平板

Tips:

單腳推板

多把後腳放在板上,利用慣性滑行可以比較輕鬆
因為不習慣這個動作,下纜車也是下得很卡

站著穿板

坐著站起來是玩sb很耗力的一部分,而且坐久容易雪褲滲水,另外站著穿板看起來比較不像新手
  1. 背對坡底穿好前腳(如果前腳有脫)
  2. 轉身正對坡底(沒正對穿的時容易左右滑)
  3. 用前腳(左腳)在右側打一個平台再往左拉
  4. 穿binding

等人/make stand

練Ollie或等人的時候,可以做一個平台,才能不費力的站著
大概就是用刃往雪裡跳(加壓)但平台也不能做的太穩(後頃)否則也不容易站著

Progress:

curving 

Patric 覺得兩三年之後上課教的都順了就可以慨使curving了

others

推薦piste

Giant,Patric很推的黑道

雪票

上課的雪票要自備,如果是初級班可以考慮買point card就好,可能纜車搭不到幾趟
中級以上就直接區域吃到飽了