過早的優化是萬惡的根源

有次我要開發一個規劃時間的演算法,需要將時間切割成一個一個單位做計算,這時普通的作法會是用布林陣列來儲存每個時間點,然而我需要對時間做一些 AND、OR、NOT 的布林運算,我當時突發奇想,假如用 BigInt 來儲存效能和記憶體都會省下不少,意思是將一個整數視作一個布林陣列,每一個位元就代表一個時間單位,這樣相比用布林陣列,足足省下至少 8 倍的記憶體。我心裡覺得這真是太酷了,於是就一股腦開發基於 BigInt 的演算法。 ...

八月 3, 2021 · 2 分鐘 · wancat

在 Python 中實作對話型聊天機器人

當你在開發一個聊天機器人,有時候為了使用者體驗,你不能要使用者用像指令的方式,將所有資訊一次傳過來。舉例來說,若我們要開發一個猜數字遊戲運作如以下: user: guess bot: From what number? user:: 25 bot: To what number? user: 100 bot: Guess a number between 25 to 100 user: 64 bot: too small user: 91 bot: too large …… user: 83 bot: Correct! You spent 6 times to guess this number. ...

七月 29, 2021 · 3 分鐘 · wancat

基本收入不能解決貧富差距,又如何?

當我們用「翻轉」一詞,其實就已經隱含了單一的價值觀:有錢就是高社會階級

七月 8, 2021 · 3 分鐘 · wancat

Django 將 Stdout 導向 Streaming Response

有時候後端要執行一個時間比較長的任務,而任務內容極為複雜,又容易出錯,因此希望讓使用者看到即時的 console log,讓我們函式中的 print 輸出能即時傳到使用者的瀏覽器。 以下將會以 Django, Thread, Queue 進行實做 StreamingHttpResponse 一般的網頁請求都是一次打包好所有資料,全部傳給使用者,有些情況我們不能等到所有資料準備好才一次傳,而要拿到一些就傳一些,這個時候我們就要使用串流輸出,在 Django 裡,就是使用 StreamingHttpResponse,以下簡稱 SHR。SHR 接收一個 Iterator 作為輸入,因此我們只要實做一個迭代器函式,其中每次 yield 就會由 SHR 傳送到瀏覽器 ...

五月 25, 2021 · 3 分鐘 · wancat

減法的藝術

這時我才終於體會了老師口中的「有捨才有得」,若無狠心除去那些無關的枝葉,最可貴的美就會被埋沒。園藝是如此,創作又何嘗不是呢?

四月 18, 2021 · 2 分鐘 · wancat

母語者心態

這些方法也許的確有效,但並不是所有人都能做到我們認為輕而易舉或理所當然的事,當帶著這樣的「母語者心態」看別人,就容易將他人的不成功歸因到不夠努力的結果,卻沒想到也許對方根本做不到。

三月 19, 2021 · 2 分鐘 · wancat

每日一問:如果世界是個函數

若是每個現在都會對應到唯一的未來,那每個過去也都會導向唯一的現在,因此回推到宇宙的開端,就可以得到一個結論:現在發生的一切都是在大霹靂時就註定了。那我們所謂的自主意識,也全都只是空談。

三月 7, 2021 · 2 分鐘 · wancat

每日一問:為什麼新年定在 1/1?

Photo by Aaditya Arora from Pexels 這個標題也許令人誤解,1/1 本來就是一年的開始啊?當然,但為什麼我們會選擇一個冬天的日子作為一年的開始,而不是某個春天、夏天、秋天的日子呢?陽曆以地球的公轉為依循,地球每繞太陽一圈就是一年,一年之中所謂「特別」的日子,應該會是春分、夏至、秋分、冬至等等,但 1/1 卻不是什麼特別的日子,甚至以季節來說,我們通常會認為 12、1、2 月是冬天,3 月開始才是春天,為什麼會將新年定在一個季節的「中間」呢? ...

一月 23, 2021 · 4 分鐘 · wancat

越是討厭越該努力

這個學期學校課程增加了許多,有一些課程一上就連上四堂,又是單方面的聽課,實在沉不住氣,不是睡覺就是滑手機。在五專待了一年後,我感染了大學的委靡之氣,竟抱持著「教授不會當人」的僥倖心態,想要得過且過,過了大半學期卻對課程內容幾乎沒有了解。就連到了期中考,也只在前一天晚上看看投影片,勉強考了個及格分數,心中卻還十分得意,毫無悔意。 ...

十二月 4, 2020 · 2 分鐘 · wancat

2020 赤弦獎比賽心得

今天我與班上同學 Annie 參加北科的民歌比賽——赤弦獎,我們報名高中演唱組,Annie 擔任主唱,我則是吉他手。我原先想報的其實是創作組,然而創作組只有大專才有,專一到專三只能報高中組,後來 Annie 就找我去參加高中演唱組。 ...

十一月 22, 2020 · 2 分鐘 · wancat