Model Y在一年前有迎來一波滿大的降價(約20萬),很多剛買的車主自覺變成韭菜。不過他人的韭菜就是我的快樂啦,趁著這波降價就把家裡的小白升級成大白。
賞車
當時是改款後Model S/X進台灣,我本來一開始的目標是Model S,在網路上填表單也是要試乘S。後來台特打電話來說明目前S並沒有開放試乘,不過歡迎來台特內湖靜態賞車,也能先安排一下Y的試乘。
Read more “回顧一下這一年的電車生活”Model Y在一年前有迎來一波滿大的降價(約20萬),很多剛買的車主自覺變成韭菜。不過他人的韭菜就是我的快樂啦,趁著這波降價就把家裡的小白升級成大白。
當時是改款後Model S/X進台灣,我本來一開始的目標是Model S,在網路上填表單也是要試乘S。後來台特打電話來說明目前S並沒有開放試乘,不過歡迎來台特內湖靜態賞車,也能先安排一下Y的試乘。
Read more “回顧一下這一年的電車生活”之前花了不少時間在goland上跑起leetcode plugin,需要一些設定才可以讓整個goland跑起來。現在多了一個Rust可以玩解題,那我們首先還是要先把整個環境搭起來啦!
在講這個之前,先提一下主流語言通常「錯誤檢出」方面通常分為三個階段:
gopls
C++
擁有非常混亂的LSP實作,常常pre-compile time報錯,但是compile下去沒問題,以及反之….主要也是因為C++
實在是過於複雜。而go是一個滿特殊的語言,他能夠把一些runtime才能檢出的東西藉由gopls
以及go vet
做結構性語法檢查下,將錯誤把runtime提前到pre-compile time。
我其實滿驚訝目前好像沒有任何library有實作這個,或者有但是我找不到,所以我就實作了一個。別看這功能看起來很小巧簡單,這個需要對reflect有相當的認識,所以把製作心得記錄下來。
通常我們server boot up的時候需要印出很多log,有時候無可避免的要把整個config給印到log上,這樣會產生一個問題:要是config內含敏感資訊,如帳號跟密碼,這就會產生一些資安問題:
log.Infof("bootup with config : %+v", config)
印出來就會像這樣(標準的%+v
會印出來的格式)
{Host:192.168.1.1 User:username Password:mypassword123}
顯然,這是不太恰當的,所以我們總歸來講有幾種作法
json:"-"
讓他不被印出來func String() string
,把敏感資料手動by key抹除掉最近開始把腦筋動到每個月要吃掉我20鎂的linode,看看能不能用Google Compute Platform來取代掉單純的VM。GCP本身有提供Free Tier, 所以只要小心地控制用量,搬遷應該是可以省下一筆,而且也可以玩玩GCP的一些新功能。
我這次先搬遷之前寫的一個爬蟲服務,這個爬蟲服務應該是我現有服務裡面最簡單的一個,首先先分析一下他有什麼特性:
可以先看看上一篇沒Thread Pool,Limiter也好?真的嗎? 來個前情提要。
Worker Group其實基本概念跟Thread Pool很像,就是:
不過由於go沒有generic(目前版本是1.16,在1.17/1.18會支援),所以這兩個channel都沒辦法寫得很漂亮,這也是大多數Worker Pool要不就是得用chan interface{}
來寫,不然就是寫不出來。不過Worker Group這種東西其實夠輕量,輕量到其實自己打造都是可以的,這邊就介紹一下怎麼自己打造一個Worker Pool,以及揭秘為什麼很多CLI/UI都需要有一個自己的UI Thread(go沒thread,所以稱為UI routine吧)。
眾所皆知Go是沒有原生的Thread Pool
這種東西,這在寫Crawler的時候會造成一些小小的不便。比方說你想要crawl PTT,這樣打一打大概2秒內DDoS protection就把你擋起來了:
docUrlList, _ := GetDocUrlList() //拿到某個版的文章列表
for _, docUrl := range docUrlList {
go func() {
docUrl := docUrl
p, _ := ParseSingleRawDocument(docUrl)
parseChannel <- p
}()
}
Read more “沒Thread Pool,Limiter也好?真的嗎?” 大約在2021.05.26的時候,我架在Linode上的站做了一次升級從Ubuntu 17.10=>20.04,我本來打的如意算盤是,我既然每個月都有額外交五塊錢給linode做備份,那升級後要是有什麼問題,理論上從備份回復就沒事了吧!
我先直接講結論,他的確是有備份,但是…. mount不回去,乾,那我要你這備份幹嘛!
Read more “把資料(包含本站)從崩潰的Linode VM救出來”今年疫情的關係,把旅遊相當好用的國泰世華長榮聯名卡停掉了。說真的這張卡完全對得起他的價值,兩萬塊錢的年費,但是兩年來,不但在我手上得到了超過30萬哩的里程:其中還賣掉了15萬哩,足足賺回兩年的年費 — 讓我去日本韓國玩一圈全程商務艙幾乎只花了機場稅跟燃料附加費,外加普通人難以進入的The Gardan貴賓室,後期又附帶Sogo停車跟VIP讓老婆可以毫無後顧之憂的去逛街(然後把老公park在貴賓室,順便充當購物倉庫),這張卡真的即使沒有開卡禮(差三萬哩)都划算。 不過手邊總是需要一張頂卡的,滿剛好的花旗在2020年末有個很有力的促銷:新辦卡刷滿10萬送Studio A禮券2萬塊,或者18萬點TYR(花旗的ThankYou Reward點數),而平常只有12萬點TYR的開卡禮…所以衡量一下以後就決定拿它來取代國泰卡了(bye bye國泰,我們會再見的~),雖然年費又多了4000(20000 vs 24000),不過試試看吧!
雞肋
你的某個比你矮10公分以上,且長得像半獸人的仰慕者。他/她集合你最討厭的五官之大成,不過,同時,他/她住別墅、開藍博基尼、特長是用錢砸人。如果你實在幻想不出有這樣的人,請參考馬雲。
嘲骚:一个时尚圈人的大实话
這句滿好笑的,以前google莫名其妙跑出來的結果,不過現在已經找不到了,所以放這邊留念。