11/22 ~ 11/28 週記

認真準備日文的一週

Juo Penguin
4 min readDec 1, 2020

讀書

白色巨塔

「醫生終究還是人」,這句話在書本的前半部分就已經提到,隨著故事的進行,逐漸覺得這句話貫穿整個故事。

為了醫院經營上的存續,為了升上更高的職位,各種明爭暗鬥在院內湧現,各種「金錢」和「人際關係」錯綜複雜,靠著各種人際關係的引薦,好不容易才能在為數不多的眾人之中展露頭角,而即便有機會,沒有那個命也沒辦法接手。

手術台上的口沫橫飛,不是只有「眼前的病人」而已,背後承擔的家屬的期望、排班的緊湊等等,都是各種壓力來源,甚至還有可能因為失誤而被告上法院。

故事的某一段中,其中角色的外科醫師忿忿不平的講到:「每天只領這麼一點錢」,雖然醫師的薪水已經大幅超過平均值,但是比起負擔的責任與壓力,甚至是超長的工時以及前期的專業素養的訓練,處處凸顯了待遇與付出努力這之間的不平等。

是人不是神,各種喜怒哀樂也難以壓抑,私生活的個人感情與各種人際關係也是無可避免的,不會因為你的職業而「擺脫俗世」,也會因為金錢與地位被誘惑;不會因為你是醫生就不會得病,故事裡甚至有個開胃癌手術經驗豐富的醫師,自己卻因為壓力而得了胃癌,且被發現時已經是末期了,奮力用著他所剩不多的日子,為兒女錄下每年生日的祝福與鼓勵話語…。

雖然是各種在日常生活常常見到的各種故事,但發生的地點是在「醫院」,倒是令人特別有感觸,就如書名一樣是個「巨塔」,如同人類世界社會的縮影,從權利、愛情、鬥爭到完整的「生老病死」,在這邊都可以見識到。看著各角色的心境轉變與成長,不禁令人反思,自己是為了什麼而奮鬥著呢?

日文

這週主要在複習文法,整理及對比一些「看起來」很像的文法,並試著自己寫例句,培養自己的「語感」,複習終於進入最終階段了!

技術

jest測試的未知問題

這週遇到最難解的問題,就是明明一樣的環境,套件版本也都一模一樣,測試query時用一樣的寫法居然無法得到一樣的結果!?

尤其是async的套用部分不同,連loading的更新都要用await包起來,而要query data時的用法,則是把runAllTimer丟到act外面,且放在act的await之後,經過這樣的不斷試誤之後,才終於成功pass測試,猜想有可能是「運行環境的差異」,或是編碼時的處理不同,還有待交叉測試呢。

// 原本//...
await act(() => { handleQuery(); });
jest.runAllTimers();
// assertion passed.
// 試誤之後 //...
await act(() => { handleQuery(); });
await jest.runAllTimers(); // 必須多await
// assertion passed.

關於autocomplete的背景點擊

這週為了修復背景點擊的問題,至少嘗試了5個版本,原本以為點擊body可以完美解決,但是後來發現會在點到選項之前就把視窗關掉,因此只好回歸原本的作法,改為原本作法:用另一塊透明背景來點擊。

而且要將選項那塊z-index調最高,以免被其他元素蓋住,而其他按鈕如果要不被透明背景蓋住,需要將z-index設為更高,是此方法最大的缺點之一。

注意array形式的資料處理

別直接放心的指定index,例如以下範例

let arr = [];const val1 = arr[0].something; 
// 出錯
const val1 = arr[0] ? arr[0].something : undefines;
// 建議每個array形式都這樣做

本週反思與嘗試

設定檔案都要先備份一個,最好是用git管理

本週在部署網站時,在copy nginx的default.conf檔案時,不小心把遠端伺服器的檔案給蓋掉了,偏偏檔案又沒備份到,因為以為設定的檔案跟「其他伺服器一樣」,所以一時大意,沒有特別注意設定,相關服務就這樣死掉了…。

幸好透過網管的備份資料成功取回舊的檔案,沒有把相關的處理拖到隔天,實在是不幸中的大幸。透過這次教訓,任何設定檔案在覆蓋之前,都要做備份,目前是把相關的設定檔丟在ebus-ty中,在做相關設定之前,先丟一份覆蓋舊的,因為即便被覆蓋掉,還可以用git找回來。

總之,不管任何檔案,尤其是設定檔案(config, docker-compose.yml, Dockerfile…),體積雖小但可是其中最重要的,因為設定有誤的處理可是非常不容易除錯,一些設定的know how可沒這麼容易理解呢!

--

--

Juo Penguin
Juo Penguin

Written by Juo Penguin

不挑食的雜食者,近期的目標是瘦10公斤。

No responses yet