• 在 Console 底下簡單的 Yaml syntax check Script

    | /

    介紹

    在編寫 yaml 檔時,如果沒有使用任何的 IDE, 或是想 automation 作檢查,勢必需要在 CLI 可以檢查的方法。Yaml 檔發生錯誤是很擾人的,尤其是一個yaml 檔可能上百行,要找一個空白空錯沒有什麼好方法。最近就遇到因為前一版 commit 設定檔的人沒有檢查語法,設定檔裡面少了一個空白,結果造成 indent 就不對,接著程式沒寫好就直接停止執行的問題。但後來想想,應該要有一些方便的 tool 在編寫 yaml 檔結束後,作一些簡單的檢查,來減少浪費大家人力來追問題。

    實作方法

    • 安裝 ruby
    • 安裝 awesome_print 的 gem 檔

      # sudo gem install awesome_print

    • 執行 ruby 指令

      $ ruby -e “require ‘yaml’; require ‘awesome_print’; y=YAML.load_file(‘/tmp/example.yaml’); ap y”

    在 MAC 下只要安裝一個 gem 檔,然後用內建的 ruby 指令馬上就可以看出來了,而且畫面還非常的漂亮。

    DEMO

    我們以 wikipedia 上的 yaml 範例檔為例:

    --- receipt: Oz-Ware Purchase Invoice date: 2012-08-06 customer: given: Dorothy family: Gale items: - part_no: A4786 descrip: Water Bucket (Filled) price: 1.47 quantity: 4 - part_no: E1628 descrip: High Heeled “Ruby” Slippers size: 8 price: 100.27 quantity: 1 bill-to: &id001 street: | 123 Tornado Alley Suite 16 city: East Centerville state: FL ship-to: *id001 specialDelivery: > Follow the Yellow Brick Road to the Emerald City. Pay no attention to the man behind the curtain.

    Result: 如果一切順利的話,可以看到下面的結果,除了可以驗證內容打的對不對之外,還可以看結構是否正確。 yaml parse result 如果結構有錯,或是語法有錯,他會顯示錯誤的行數,這樣就比較好 Debug 了。 parse error

    結論

    如果有 vim 的 plugin or sublime 的 plugin 在即時編寫時,就可以直接列出語法有問題的地方應該會更好更直覺。不過現在這個方法比較適合在 CI commit build 預先作檢查,減少錯誤的程式上到 production 。

    參考

    [1] http://stackoverflow.com/questions/3971822/yaml-syntax-validator [2] http://stackoverflow.com/questions/17289399/how-do-i-pretty-print-a-hash-to-a-rails-view [3] https://github.com/michaeldv/awesome_print

  • [登山] 小溪營地糜爛行

    /

    從很久以前我知道有小溪營地這個地方時,我就非常的想去。在結婚前二個月,我就跟大家預訂了小溪營地的行程。一直等到結婚完後一個月才開始進行這個行程,實在是整個計畫拖的有點久。但還是令人感覺到非常的興奮啊,因為我已經大半年又沒爬山了,而且這半年,忙到完全沒有運動,不知道自已到底還爬的動爬不動啊。XD 合歡山來了八百次了,本來這次要把欠潔的合歡東峰,和我欠的西峰一次補齊,不過這二項這次好像都沒有完成。 隊伍簡介: 成員:合計14人,性別比為9男5女,其中二位是第一次來到3000公尺的高山 行程預計: Day 1

    上午 9:00:00 清境 7-11 上午 10:00:00 合歡東峰登山口 上午 11:00:00 東峰頂 下午 12:00:00 返回東峰登山口 下午 1:00:00 北峰登山口 下午 3:30:00 北峰前三叉路口 下午 4:30:00 小溪營地

    Day 2

    上午 5:00:00 小溪營地 上午 7:00:00 北峰前三叉路口 上午 7:15:00 北峰 上午 11:00:00 前要到達西峰頂 下午 3:30:00 北峰頂 下午 4:00:00 小溪營地 下午 5:00:00 小溪營地出發 下午 6:00:00 北峰登山口

    實際行程: Day 1:

    與預計相同

    Day 2:

    上午 8:00:00 小溪營地 上午 9:00:00 北峰前三叉路口 上午 9:15:00 北峰 上午 11:00:00 北峰登山口

    前面的東峰沒有照片,而且潔因為太久沒運動和爬山了,完全程現一種無力的感覺。走一步是一步,但到一半時,腳步走太快,氣就喘不過來了,這座東峰只好欠著下次再來。 IMG_7098 因為大家車子數量太多,大家互相等來等去,從北峰登山口出發,已經接近三點了。 出發前大家的背包照,感覺好像沒有很多東西,但身上背最多東西的已經不知道走到哪裡去了! 出發前的背包照 出發前,大家非常有精神,但等等要面對1公里的長上坡啊,這些人應該不知道這件事情。 大家這個時候還非常的有精神啊 高山上五、六月是高山的春天,所以此時還算是花季,到處都還有一團一團的高山杜鵑。 現在還算花季,到處都有花 高山上少見的鳥類,這些金翼白眉已經不怕人了,在人身邊到處覓食。 巧遇金翼白眉 潔努力的一步一步往上爬 潔努力的一步一步往上爬 反光板是往北峰的路上一個重要的指標,看到反光板就知道路到一半了! 看到反光板就知道路到一半了! 三叉路口再往下走大約一公里左右,終於看到小溪營地了,右下角大大的天幕就是其他人要睡的地方,也是因為它晚上讓我們晚上完全沒睡覺。 三叉路口再往下走大約一公里左右,終於看到小溪營地了,右下角大大的天幕就是其他人要睡的地方,也是因為它晚上讓我們晚上完全沒睡覺。 下午五點多終於到小溪營地了,潔開心的與小溪營地菜市場合照,這一天,小溪營地滿滿的都是帳棚。 下午五點多終於到小溪營地了,潔開心的與小溪營地的菜市場合照。 晚上是小不點準備的麻辣羊肉爐,和經過大廚 kay 和潔的幫忙,讓整個羊肉爐的香味充滿著天幕。 晚上是小不點準備的麻辣羊肉爐,和經過大廚kay 的幫忙,整個香味充滿著天幕。 清晨的小溪營地,經過昨晚的大風,很多人的天幕已經放棄,也很多人已經出發攻頂西峰。 清晨的小溪營地,經過昨晚的大風,很多人的天幕已經放棄,也很多人已經出發攻頂西峰。 小溪營地 小溪營地成功!因為昨晚天幕倒的倒,搞了一整晚的天幕,今天就直接放棄西峰,慢慢的走下山。西峰殘念! 小溪營地成功!西峰殘念! 看其他隊伍走在陵線上,後面還搭配著其他的大山,這是種美麗的畫面! 看其他隊伍走在陵線上,後面還搭配著其他的大山,這是種美麗的畫面! 天氣太好了,藍天白雲,配上登山者,是個美麗的畫面!不過老爹這個昨天肚子痛到快掛掉的人,今天又生龍活虎般的爬山,真的是強者我老闆啊! 天氣太好了,藍天白雲,配上登山者,是個美麗的畫面! 哈哈哈,我們又來北峰放閃了!這是我和潔第三次來到北峰頂了,這個地方應該是我和潔登頂過最多次的地方了! 哈哈哈,我們又來北峰放閃了! 最後回程的路上看到馬路了,這歡樂的行程終於結束了。 回程終於看到馬路了,這行程終於結束了。 感謝每一位參與者的幫忙,讓這個活動可以順利成功。 可以改善的地方:

    • 不知道小溪營地風這麼大,天幕的綁法還需要再研究。
    • 辣的鍋底雖然吃起來很爽,但在山上還是淡一點比較下口。
    • 整個隊伍拖太長,造成管理上的困難,下次最多只能分成二群才比較好控制。
  • [登山] 松蘿湖 (2014/01/18 - 2014/01/19)

    /

    IMG_6989 去年和潔爬的第一坐山就是松蘿湖,當時請 King 帶了一堆新手上山,結果我壓隊的和幾個新手同事都沒看到松蘿湖,還害了幾位同事這輩子再也不爬山了。但是當時在下山時,與潔和其他人說,山一直都在,我們一定會回來的!今年,終於在裝備都買齊全的份上,開了一團松蘿湖重裝露營的行程。當然要先感謝各方大德的幫忙,與爬山的各位朋友們極力配合,這次的行程才會順利完成。 松蘿湖,又名十七歲少女之湖,常常來這裡的人因為雲霧籠罩,通常都看不太清楚全貌。這次運氣非常的好,雖然有點陰天,但二天都沒有下雨,感謝上天為我們帶來好天氣。 人數:七男三女 裝備:2 頂 2 人帳,1頂3人帳,1頂5人帳 一開始大家精神精神抖擻,全身乾淨的,在入山前有問了員警,他說最近幾天只有晚上有下一點小雨,看來今天應該不會太難走! IMG_6932 結果開走沒多久,我的傳家之寶,丫爸給我的鞋子的底就掉了,只好先跟 jimmy 借了鞋帶來綁一下我的鞋底。當然,最後走沒多久,他還是掉了! IMG_6935 走沒多久,就到水源地了,我們在這裡男生一人背 2 公升的水上山。 IMG_6942 休息完後,再出發,爬了一陣上坡,接著就到了拱門了,這個門上綁滿著各家登山社的布條。 IMG_6949 一路上遇到這些大石頭,讓沒有鞋底的我走的很辛苦,非常的有路感! IMG_6966 路上都是這些大樹陪伴著我們! IMG_6959 我們終於到了最高低了,看到這塊牌子,就知道要開始往下坡了!(看了很多人拍了這張牌子,但卻不知道實際上看到是非常小的牌子!) IMG_6982 松蘿湖湖畔的景色!這次不錯,沒有各種的雲霧打擾!雖然沒有看到滿水位的樣子,但是這種S型的湖泊還是別有一番特色。 IMG_7009 IMG_7005IMG_7021IMG_7022IMG_7042 感謝這些裝備陪我們上山,帶我們安全下山! IMG_7068IMG_7072 另外我和潔也感謝這些與我們一同上山的伙伴,希望下次有機會大家再一起上山!IMG_7083

  • [旅行] 拉拉山觀星營地露營

    /

    自從上次在皇后鎮露營後,就一直在期待下一次的露營是什麼時候。後來有人提到可以去拉拉山露營跨年,這好像比往年的去看煙火人擠人跨年酷的多了! 這次選擇的營地是拉拉山觀星營地,這是我從小到大已經露營過滿多次的,但這個營區是我印像中的高級營地。其中營地有熱水可以洗澡,還有熱水的洗手台能讓我們在六度的低溫來洗手、洗碗實在是太令人幸福的一件事了,最最最重要的一件事,竟然還提供無線網路。 營地老闆也非常的熱心和友善,其實我們是新手露營,沒桌子、沒椅子,沒營燈。也感謝老闆借我們這些東西,讓我們的跨年 party 非常的順利進行。 這次總共有八個人,我們用了牲哥的五人帳並且另外租了一頂六人帳與一頂客廳帳,這樣睡起來還滿寬敞。露營時客廳帳真是個好物,可以在裡面煮食,避風、又防雨,真想偷偷的買一頂客廳帳。 _MG_2091 這是當天晚餐的第一道菜,是燒酒雞啊啊啊啊,在只有六度的低溫裡,這道菜充滿著滿滿的暖意(和暖暖的酒意)。 _MG_2093 第一餐結束後,竟然全部人聚在一起看美江的影片。看著我們這麼相信上帝的份上,上帝會幫我們帶來五倍的鑽石和幸福的。 _MG_2109 我們的型男大主廚,這次的伙食都交給他了!而且他還單身哦! _MG_2110拉拉山的星空,星星真的超多的,多到滿出來照不下去! _MG_2124_MG_2130 _MG_2152 既然是跨年趴,就一定要有消夜啊,要不然怎麼撐的過12點!這次的消夜是海鮮少了幾道菜的燉飯!雖然忘了帶幾樣菜色進來,但在露營時能吃到海鮮燉飯,真的很令人感動。而且菜好的這一刻,剛好就是2014 年的開始。_MG_2168第二天早上,我們吃的是法國吐司!這是我們的二廚小潔在作早餐和煎蛋! _MG_2172 今天的天氣非常的好,遠處可以直接看到山頭上有處小房子,拉拉山的感覺有點像是清境,但又沒有清境開發的這麼跨張。 _MG_2178 2014 年第一天早上,天氣超好的,好到連狗都舒服到眼睛都張不開來了! _MG_2183

  • [登山] 加羅湖露營趣 (2013/8/10 - 2013/8/11)

    | /

    之前嘗試過跟著團去爬高山,跟著父母去爬附近的小山,和單攻一些比較難的山。回家後,總有一些想法,最後到 campsaver 上買了頂帳棚和睡袋,要來嘗試一下人生第一次登山露營了。這次去的地點是加羅湖。 加羅湖,又被稱之為仙女散落的珍珠。之前爬過的松蘿湖被叫為十七歲天使的眼淚,和嘉明湖是上帝的眼淚。這幾個湖的暱稱都取的非常的好聽,真的讓人有不去一次有一種人生的遺憾的感覺。

    加羅湖為臺灣高山湖泊。位於中央山脈北段給里洛山以北至太平山之間的稜線,分布在加羅山四周,由10餘個湖泊構成加羅湖群,鄰近宜蘭縣大同鄉與南澳鄉交界處,屬林務局羅東林區管理處太平山與和平事業區。湖群中以加羅湖的規模最大,海拔高度2,242公尺,寬約200公尺,長約400公尺。 - 加羅湖-台灣大百科

    這次在四季和大同派出所辦了入山證,影響到出發時間,所以比較晚到四季國小的集合點,也影響到停車時沒辦法停靠近登山口的部份,多踢 20 分鐘左右的路程。 一開始大家還精神非常的好,活力衝沛,看來今天一路登頂應該沒有問題。 _MG_9048 中間有不少的坍崩,已經無法開車通過了,不過也是有看到當地的居民騎著野狼載著大大的水果直衝舊登山口。 _MG_9050 掙扎了好一陣子,終於到四季林道路口了,今天的天氣超熱,走沒二步路身上的汗一直流,連我這不太會流汗的人,也流了一身汗,水也一直喝個不停。四季林道是沒有什麼遮避物的,如果夏天要爬加羅湖的話,要注意身上帶的水量。 _MG_9052 Jimmy 累了,利用小休息的時候,躺著休息一下。Jimmy 這次最少背了快20公斤上山,是這次行程裡背最多的人! _MG_9065 中間一一小段路走在松樹林道中,非常的舒服且不會很熱。 _MG_9058 終於看到加羅湖的指標了,走到這邊都快中午12點了。 _MG_9066 從指標再過五分鐘左右的路程,就會到最後水源地━「加富那溪」。我們在這大休息了一下,吃了點點心,等等就是傳說中的一路陡上了!這裡也是最後流動的乾淨水源,我們在這裡背了7公升的水上去煮食。 _MG_9088 過了巨木登山口後,就開始陡上。而下午的森林就如同照片上一樣,一陣霧朦朦的。不過慶幸的是還好沒下雨,但這一路的陡上也讓重裝的我們吃盡苦頭。 _MG_9099 最後大概在下午四點多才到達今日路程的最高點 - 狗叉,代表今天的爬昇結束了,等等只剩下大約半個小時穿過芒草的路程了。 _MG_9105 芒草高過人頭,如果沒有地上的紅線,一定會找不到路前進,沒辦法到達加羅湖。不過基本上跟著地上的紅線走還算安全且清楚,如果一下子沒看到,往回走應該是找的到。進入芒草裡最好是能把全部露在外面的皮膚包住,要不會會被割的一臉和一手是傷口。 _MG_9116 我們到的時候,已經有不少帳棚已經搭建好了,看來今天晚上會很熱鬧。 _MG_9125 湖邊和附近的美景,就不多說了,大家自已看看吧。 _MG_9146_MG_9154_MG_9159_MG_9181_MG_9197_MG_9202_MG_9212 最後終於回到登山口了,和潔在登山口慶祝且開心的照了相片。 _MG_9225 二天一夜的行程就此結束了,很感謝這次有泳良的帶路,他前一個星期才單攻加羅湖,這星期又跟我們來露營,真是鐵人一個。也感謝大家的配合,安全的上山也安全的下山,希望以後還有機會再一起去爬山! 最後如果有機會的話,我還滿想在冬天的時候再去爬一次,說不定有機會看到霜雪降滿地的感覺!

  • [登山] 合歡群峰

    | /

    從以前到現在,我就愛往山裡跑,總覺得山裡有無限的景色和夢想。長大以後,從第一次爬了玉山、再來幾次的合歡山、接著嘉明湖,在山裡總是讓我帶來不同的感受。其中最容易輕近,也最容易到達的就是合歡群峰了。大概從台北出發,經過國一、國六,再往上開個二個小時,就可以到達合歡群峰了。 在 WikiPedia 裡面對合歡群峰的高度解說如下:

    合歡群峰的高度分別是:合歡主峰(3,417公尺)、北合歡山(3,422公尺)、合歡山東峰(3,421公尺)、合歡山西峰(3,145公尺)、石門山(3,237公尺)、石門北峰(3,278公尺)、合歡尖山(3,217公尺)(前五座更名列台灣百岳之中)。

    但其中的西合歡山我目前還沒去過,下次如果排小溪營地露營時,應該會順道去西合歡山踩個百岳。 在山裡,四季的分別不會非常的清楚,但冬季是我唯一沒上過合歡山的季節,也許白雪紛飛會讓人更加的感動。 [caption id=”” align=”aligncenter” width=”800”]_MG_9512 北峰峰頂旁的反光板[/caption] [caption id=”” align=”aligncenter” width=”534”]_MG_9476 北峰半途往下望[/caption] [caption id=”” align=”aligncenter” width=”800”]石門山、東峰 石門山、東峰[/caption] [caption id=”” align=”aligncenter” width=”800”]全台公路的最高點武嶺往山下望 全台公路的最高點武嶺往山下望[/caption] [caption id=”” align=”aligncenter” width=”800”]合歡山上雲海 合歡山上雲海[/caption] [caption id=”” align=”aligncenter” width=”533”]北峰半途 北峰半途[/caption] [caption id=”” align=”aligncenter” width=”533”]北峰半途 北峰半途[/caption] [caption id=”” align=”aligncenter” width=”800”]合歡主峰 合歡主峰[/caption] [caption id=”” align=”aligncenter” width=”800”]合歡尖山、北峰、石門山 合歡尖山、北峰、石門山[/caption] [caption id=”” align=”aligncenter” width=”800”]石門山 石門山[/caption] [caption id=”” align=”aligncenter” width=”800”]石門山的星空 石門山的星空[/caption] [caption id=”” align=”aligncenter” width=”534”]合歡東峰 合歡東峰[/caption] [caption id=”” align=”aligncenter” width=”800”]合歡山莊 合歡山莊[/caption] [caption id=”” align=”aligncenter” width=”640”]合歡東峰 合歡東峰[/caption] [caption id=”” align=”aligncenter” width=”640”]石門山與雲海 石門山與雲海[/caption]

  • [開箱文] LOWA TYRO GTX MID

    | /

    自從上一雙鞋子壞掉以後,我一直在尋找下一雙登山鞋,最後選了 LOWA TYRO GTX MID 這雙鞋。這雙鞋的鞋底不是黃金大底,但是穿起來還算滿舒服的。重量為一雙 1072 公克左右,所以單腳為 536 公克 。對我來說算是很輕的一雙鞋。相對之前的低筒的 Merrell Chameleon Monsoon GTX 這雙鞋,高筒的鞋子更可以保護我的腳裸,讓我在下山時應該可以少擔心一點。 心得:

    • 前幾天有穿去合歡山走看看,感覺鞋底還是偏薄了一點,雖然不會明顯的感覺到地上的石頭,但還有可以感受到鞋底有一點不平衡的感覺。
    • 腳裸保護還不錯,我下山有習慣性亂踩,都沒有拐到的感覺。
    • 輕裝上去穿起來很輕鬆,走路走久了腳底也不會痛和累。

    不過它最大的優勢就是很輕就對了,讓我在登山時應該可以再輕鬆一點,下次有走比較久的路線時,再來報告心得。

    DPP_0002DPP_0004DPP_0001

  • [關箱文] Merrell Chameleon Monsoon GTX

    /

    人家是寫開箱文,我是寫關箱文。因為這是我第一雙登山鞋,在經過三年的摧殘之後,除了鞋底已經有破洞,鞋面也會進水了。而現在,他終於要讓他退休了。

    Merrell Chameleon Monsoon GTX

    這雙鞋,是我第一次爬大山-玉山時候買的。現在除了破損之外,下一雙也想買高統的鞋子,來避免腳踝的扭傷。 這雙鞋跟我去過無數的地方,像是一開始的玉山,合歡山、松羅湖、嘉明湖,只要是有爬山的,我都穿著他去。另外,如果是出國的,我也會穿著他出國,像是日本二次、澳洲一次。因為他輕量化的材質,走路是非常的好走和舒服。 依我當時買的價錢,和我所操他的程度,已經是物超所值了。但他的鞋面太容易刮的毛毛的,用久了以後,哪些毛毛的地方就容易進水,下一雙應該不會買類似這種表面材質的鞋子了。 第一座 - 玉山 (2011/05/14): [caption id=”” align=”aligncenter” width=”720”] 玉山主峰[/caption] 最後一座 - 嘉明湖 (2013/04/27)

  • 統計自已 Flickr 照片中常用焦段區間(2012/09 - 2013/02)

    | /

    從很久以前我就很想知道自已常用的焦段有哪些,知道常用焦段後,可以作為買新鏡頭的依據。 程式還沒統計出來,但是鏡頭都已經補齊了。另外在 MAC 下也沒找到方便統計 flickr 上資訊的工具。最後沒辦法,只好自已呼叫 flickr api 來作統計資訊。 下圖是從 flickr 統計的,只計入購入 5D mark II 後的照片。 [caption id=”attachment_397” align=”aligncenter” width=”1008”]常用焦段統計表 2012-2013年初[/caption] 根據統計資料,會發現 17mm ,24mm ,70mm 這幾個焦段特別常用,但可能會是受到我手邊擁有的鏡頭的影響。或是在旅遊時,比較常使用超廣角,想要把所有的東西全部照進來,或是旅行過程中的細節。 所以 17mm-35mm /f2.8, 24mm-70mm f/2.8 這二個鏡頭,都會被我拉到最廣或是最遠使用。後面有幾個比較少使用的焦段是因為 70mm-200mm f/4 這個鏡頭年初才購入,所以 70mm 之後的焦段未來的使用機會應該越來越多。 下次有空再來統計 500D 的數據好了,應該會很有趣。

  • New-View 可調式減光鏡 ND2 - ND400 開箱

    /

    最近在拍攝水流,或是風景照時,感覺快門速度都還太快,所以上網找了一下資料,是建議買減光鏡來降低快門速度。但因為我目前的鏡頭中,最大的是 Sigma 24-70 F/2.8 這隻鏡頭光口徑就有 82mm 。因為口徑太大,其他比較好的減光鏡都超貴的,最後看上了 New-View 這個大陸製的可調式減光鏡。 下面是用快門 1/30 , F/2.8 , 35mm , ISO 800 ,一次轉一格,面對牆壁作拍攝實測照片。不是測的很專業,但可以拿來參考看看。 可以看到其實收光不太勻均,到時如果到外面實拍的話,不知道會不會有明顯的感受。