Go 1.18:Generic and Fuzz

錯誤的種類

在講這個之前,先提一下主流語言通常「錯誤檢出」方面通常分為三個階段:

  • 編譯前階段 (pre-compile time)
    • 指的是這個錯誤不需要被編譯即可被檢出
    • 很多語言沒有這東西,他需要language server protocol(LSP)支援,如gopls
    • 很多IDE各語言的賣點就是自己獨到的LSP,但是剛好拿來做利子的C++擁有非常混亂的LSP實作,常常pre-compile time報錯,但是compile下去沒問題,以及反之….主要也是因為C++實在是過於複雜。
  • 編譯階段 (compile time)
    • 指的是這個錯誤在編譯的時候就可以找出來
    • 前兩者也可以並稱為compile time,如果沒有要特別指名LSP提供的功能的話。
  • 執行階段 (runtime)
    • 指的是這個錯誤需要在執行期才會發作

而go是一個滿特殊的語言,他能夠把一些runtime才能檢出的東西藉由gopls以及go vet 做結構性語法檢查下,將錯誤把runtime提前到pre-compile time。

Read more “Go 1.18:Generic and Fuzz”
itemprop="discussionURL"Leave a comment

雞肋

雞肋

你的某個比你矮10公分以上,且長得像半獸人的仰慕者。他/她集合你最討厭的五官之大成,不過,同時,他/她住別墅、開藍博基尼、特長是用錢砸人。如果你實在幻想不出有這樣的人,請參考馬雲。

嘲骚:一个时尚圈人的大实话

這句滿好笑的,以前google莫名其妙跑出來的結果,不過現在已經找不到了,所以放這邊留念。

itemprop="discussionURL"Leave a comment

薛丁格甲賽啦!

不過這篇文章跟量子力學沒啥關係 XD 我以前有想過,如果我當國文老師的話,我一定要出一篇作文,開頭大致上像是這樣:

我養了隻叫做薛丁格的貓,每天早上起床都一副半死不活的樣子

摘自:我家的貓叫做薛丁格

這個開頭,然後要求學生把用小說體寫個兩段出來。也許可以寫得很靈異,很日常,或者很科學的片段~不過既然我當工程師,顯然這應該是沒機會要一堆小毛頭寫寫看了。

所以,我試著沿著當年的思路,試試看換作我的話,會寫出什麼樣的文筆呢?

Read more “薛丁格甲賽啦!”
itemprop="discussionURL"Leave a comment

雙寶三個月


這兩個小搗蛋是真的很難搞,對新手父母來講一個就夠難搞,兩個是足以把人逼瘋的難搞。沒有爺爺奶奶的支援下,要搞定就只能砸錢請保母幫忙 — 早上請月嫂一起帶,晚上請專業的保母幫忙陪過夜,後來再把一個送托出去24小時(假日接回,每兩個禮拜換一個出去)。

不得不說是滿可愛的,但是真的很難搞 orz,實際花費上也絕對比一次一個連生兩個還高,就算把兩次月子費用都加進去也是。

Read more “雙寶三個月”

itemprop="discussionURL"Leave a comment