手術前在想 podcast 要講什麼然後有朋友說可以講近視雷射手術的經驗,我想說這好像每個 Youtuber 都會提一下,我這個講前端的聊這個會不會太水了,不過蠻多人有興趣的還是聊一下好了。
我應該是八月左右決定要做雷射手術,其實想了很久然後突然有一天有點衝動的決定就做吧,其實還是會害怕畢竟是眼睛,很難重新來過,約了這邊一間很有名做雷射手術的診所,他們要我先去做完整的視力檢查看看角膜厚度、眼睛狀況、眼壓、近視散光度數等等,這邊好像和台灣不一樣是得自己找眼鏡行驗光師做驗光而不是那個雷射診所幫忙做這個,那我朋友推薦去一間她幫我做了這些檢查,那位驗光師自己也在同一間弄所以她知道流程而她和雷射那邊溝通也方便。
一開始檢查各方面都沒什麼問題,我度數大概是700度散光250左右,角膜聽說比普通人厚但忘記問具體數字了,但發現我疑似有青光眼所以之後約了另一個專門看青光眼的醫生做檢查,當下聽到有點嚇到因為聽說青光眼沒法治療最後失明,不過還好那個醫生看了一下說我應該不是但約了明年回去複診,放了一百顆心回去驗光師那邊做最後檢查,打了散瞳做更完整的檢查,好像打了散瞳比較能看到眼睛裡面還是後面什麼的,而且感覺這是一個指標因為中間雷射診所那邊有問我有沒有打了散瞳,anyways 這些弄完把資料傳回給雷射診所過了一個禮拜說我的狀況符合他們的條件,當下心情我覺得很妙,聽到我可以做不知為何反而更緊張了,一種本來不確定自己能不能做就去諮詢看看結果發現能做更緊張。之後約了時間也就是上禮拜去打了雷射手術,我做的應該是 Smart TransPRK,我說應該是因為他們有一個他們自己的名字但和 Smart TransPRK 好像蠻像的,其他的還有 LASIK 和 SMILE,我沒有去問 LASIK 的因為總感覺要翻開角膜有點可怕但據說恢復期比較短,SMILE這邊好像不流行不知道為什麼但我知道台灣蠻多 SMILE,可能恢復期短而台灣也不好請假很久的樣子所以這應該蠻受歡迎的,我實際進去打雷射時間大概不到十分鐘吧,躺在那邊點麻藥眼藥水,拿什麼工具把我的眼皮固定住才不會中途眼睛閉起來,叫我看著綠色的點就開始 ziiiiiiii,中間還會聞到燒焦味因為眼睛正在 BBQ,他們一次弄一隻眼睛所以雷射完然後幫我戴上恢復用的隱形眼鏡後就換另一隻眼睛做一樣的事情,之後給我一包藥然後回去照著 schedule 點眼藥水就行了,隔天回去複診看看眼睛狀況然後一週後回去檢查看看恢復情況,如果符合他們預期就會把隱形眼鏡拿下來然後繼續大概兩個月的眼藥水,那現在已經手術兩個禮拜後了,視力還沒完全恢復,大概在 0.7 0.8 左右,在開車及格邊緣,我有發文說我現在工作電腦字體都放超大,那天進公司同事看到都要噴飯了,隔天在家上班開會時候他們還很貼心把字體弄超大讓我方便看到哈哈,眼睛雷射大概是這樣啦,每天都希望起床可以突然看的很清楚。如果要說目前不用戴眼鏡最有感覺的應該是發現洗澡時候看得到東西哈哈,然後進入一個空間或是吃拉麵時候眼前不會突然起霧而我終於看得到自己吃的拉麵長什麼樣子了。
那在我手術期間我們有 Next Conf 2023,我只有看了 opening talk 還沒看其他的,之後有時間慢慢補,重要的 announcement 大概是 Next 14 的發布,其實都是 enhancements ,效能的優化然後 server action 跳出 beta 現在是 stable API,也提醒大家他們還有 turbopack 而他們還會繼續在這方面努力,初期的效能測試是完勝 webpack 的但還有很多東西沒弄好所以還是 beta,我自己測是在某種情況下會一直 redirect 但 dev server 起來真的比 webpack 快了 80%。
常用 React 的人應該知道 Kent C Dodds 這個人,自己有開課程教 React 前陣子也有在 Remix 工作,寫了一篇很長的文說為何他不會去用 Next.js,如果是別人寫可能會覺得是 clickbait title 但他寫了很多自己的感受和對 Next 的看法我覺得滿同意的,比如為何了不擁抱 web platform standards 而要自己創造一些自己的 pattern 甚至還修改了 fetch 的運作模式讓它有自己的 caching mechanism 或是為何 Next 說 app router 也就是 React Server Component 在 Next 13 時候說是 stable API 而 React 這邊還是寫 experimental,到了最後變成到底誰擁有 React 已經有點模糊了,Kent 其實對 RSC 還是挺有興趣的但會希望等到真的 production ready 了再說,Remix 也有 outline 說若真的有了 RSC 的話 Remix 其實可以刪掉很多 code ,最後 Kent 覺得 Next 太多 magic,在不知情的情況下 Next 幫忙做了很多事但若只看 code 是看不出來的因為 Next 底層都做好了。
另一邊 Vercel VP Lee Robinson 寫了一篇回應文講一下 Vercel 的立場,第一點說 web platform 還有 Next 是不是太 magical,他承認早期的 Next 有一些自己的 API 但隨著時代演進和 app router 的改變,舊的和新的 API 也慢慢像 web platform 靠攏而不需要新人學習太多 Next 特別的 API 比如 middleware 和 express 其實長得很像且利用原本就有的 req res fetch API。再來他們有提一段是說 Next 在非 Vercel 環境下不好部署或是就算在 Vercel 環境整體費用也很貴,所以才會有 OpenNext 這類工具來幫忙 developer 部署他們的 Next app,這點我個人沒有這方面的經驗或困難但 Twitter 上面蠻多人的體驗蠻兩極化的 so 有不少人提出來那應該真的有痛點吧。再來是 Next 和 React 的關係,在 RSC 和 Server Action 上身為開發者使用者常常會搞不清楚這個 API 是 Next 還是 React 的,Lee 說他們有和 Meta 討論這件事情也開始把一些 documentation 搬回 React doc 而不是寫在 Next doc 來讓文件更清楚說這個 feature 其實 React 本身就有的,但我自己覺得很多 example 和 use case 還是在 Next 所以我自己有種錯覺的覺得這好像是把 Next 的文件寫在 React 裡面。最後 RSC 和 app router 到底能不能算是 production ready 了沒,Lee 覺得是而且也很多人已經把他們的 production app 從 page router 改成 app router,他覺得這可能是 branding 問題而且 React Canary 本質上是讓 Meta 以外的組織試用還沒 stable 的東西所以他覺得這沒關係,他也承認app router 的 rollout 不是很順,中間有很多 bug 和效能的問題而 Next 會繼續解決這些 pain points,我自己覺得很多人用和可以讓你用不代表這東西就是 production ready 或是已經 stable 了,當時遇到的一些莫名其妙的 bug、caching behavior 和問題、單元測試不能測 server only function,都會覺得這真還不是個穩定的東西。
In conclusion,也不是說今天看了這個我就要決定我要不要用 Next 或是 Remix 甚至不是 React,大家的初衷都是怎麼樣可以讓 building application 這件事情變的更好變的更容易, Kent 也說了 whatever you use is probably fine,只是大家的 philosophy 不同導致做事情的方向不同,而看看其他開發者遇到的問題來決定下一個 project 要不要用或是從中學習到別人的思考邏輯都是好的,那要不要用新東西或是還沒 stable 的東西得看你自己有沒有心理準備和應付 risk 的技能,有可能會遇到別人沒遇過的東西甚至 documentation 都沒有提到的東西,可能要準備好一些 plan b 來應付,這類問題也不是只有 React 才有,廣義上來看很多地方你可能都會看到,小的可能是用哪個 library、file structure 長什麼樣、或是大的架構比如怎麼 render、caching 怎麼處理。
今天本來有個主題想講的但感覺今天聊的有點多了,留到下次好了
留言得來不易這邊念一下:最近在面試,聽完Eric 大之前的面試答題分享後覺得收穫很多,讓我在面試被問的時候能夠更有自信、更有條理地回答。非常讚的節目!祝福Eric 大工作和跳槽升職都可以一切順利。
這邊也給自己打廣告我有諮詢服務,想要了解更多前端職涯或是北美工作經驗、面試技巧、模擬面試都可以來諮詢,詳細可以看資訊欄的連結