Photo by Jakob Braun on Unsplash

前言

談到 XSS(Cross-site scripting),許多人可能都只想到「就是網站上被攻擊者植入程式碼」,但若是仔細去想的話,會發現這之中其實還有很多環節都可以再深入探討。

而我所謂的這些「環節」,也可以理解成不同的「關卡」。

舉例來說,第一關當然就是盡可能防止自己的網站被 XSS 攻擊,不要讓攻擊者在網站中能夠植入程式碼。而「讓攻擊者在網站中植入程式碼」這件事,又可以往下再細分成不同地方的植入,例如說 HTML 的植入,或者是 HTML 元素屬性中的植入,又或是 JavaScript 程式碼中的植入,這些都有著不同的攻擊以及防禦方式。

而除了防止被植入程式碼以外,防守方應該還要進一步去想:「那如果真的不幸被植入程式碼了,可以怎麼辦?」

這就是第二個關卡。雖然說第一關我們已經盡可能做好準備了,但難保 …


Intigriti 是國外的一個 bug bounty 平台,每個月都會推出一個 XSS 挑戰,有大約一到兩週的時間可以去思考,目標是在特定網站上面執行 alert(document.domain) ,解出來之後把結果透過 Intigriti 平台回報,最後會隨機抽 3 個解掉的人得到他們自己商店的優惠券。

上個月的挑戰因為解出來的人不多,所以我有幸運抽到 50 歐元的優惠券,其實很划算,因為商店賣的東西其實都滿便宜的,我買了一件 t-shirt + 兩頂帽子再加國際運費,大概 45 歐元左右。

不過這種獎品就是靠運氣啦,還是解題好玩比較重要。

挑戰網址在這邊: https://challenge-0521.intigriti.io/

挑戰截圖

程式碼分析

解題的第一步就是分析一下它的程式碼,先了解一下這整個題目的運作 …


Photo by Ethan Brooke on Unsplash,圖文不符,附圖為用首爾當關鍵字搜尋的結果,純粹只是因為想去韓國了

現在是 2021-03-03,剛做完決定的一週後。雖然說要到五月才會正式轉職,但想說在這個時刻先把當下的心情寫下來,否則再等兩個月心得感想就都從海馬迴消失了。

從五月開始,我暫時不寫前端了,我要內轉去公司做資安的部門當資安研究員。

我是做完這個決定之後,才突然意識到這其實是職涯上的一個滿大的轉變。在前端的經歷其實對於這個新的領域來說幾乎完全不適用,我可能就是一張白紙,一張,還很菜的白紙。

如果我哪天想回去做前端怎麼辦?會不會到時候怎麼寫都忘記了,自斷前端職涯,到時候回去又要從頭再來?如果我資安做出興趣來了,可是沒辦法留在原公司要到新公司,那是不是整個經歷重算?資安菜雞的重啟人生。

但這些其實都是我做完決定之後才想到的事,是我跟新部門主管表達意願,談好之後的工作內容,再跟原主管以及大主管確認 …


如果你不知道什麼是 XSS(Cross-site Scripting),簡單來說就是駭客可以在你的網站上面執行 JavaScript 的程式碼。既然可以執行,那就有可能可以把使用者的 token 偷走,假造使用者的身份登入,就算偷不走 token,也可以竄改頁面內容,或是把使用者導到釣魚網站等等。

要防止 XSS,就必須阻止駭客在網站上面執行程式碼,而防禦的方式有很多,例如說可以透過 CSP(Content-Security-Policy)這個 HTTP response header 防止 inline script 的執行或是限制可以載入 script 的 domain,也可以用 Trusted Types 防止一些潛在的攻擊以及指定規則,或是使用一些過濾 XSS 的 library, …


這其實不是一篇技術文,但就是因為不是技術文所以開頭才要來解釋一下什麼是同步。懶得看的話可以直接下拉看第二段。

在程式的領域中有一個名詞叫做「同步」,講到這個你可能會想到「同步進行」,例如說「這個調查我們同步進行」,你做你的我做我的,兩邊同時進行。但同步進行的「同步」翻成英文比較像是 parallel 的概念,也就是平行。

而程式領域中的同步是另外一個意思,比較像是你打開筆記軟體或是信箱時候出現的「同步處理中…」的同步,例如說我在電腦版打開 LINE,可能會出現「訊息同步中」,表示程式正在把手機上的訊息同步到我的電腦,這裡的「同步」就不是平行的意思了,而是「讓兩邊一致」,翻成英文是 synchronous。

程式領域中的同步指的就是 synchronous 而不是 parallel。那既然同步是要讓兩邊一致,就必定會有一個等待的過程,比較快的要等比較慢的追上來,兩者才會同步。

因此在程式領域中,同步指的就是「做一件事情時要等它結束,才做下一件事」。以讀檔案為例好了,程式碼可能會長成下面這樣:

let content = read_file('note.txt') // 讀取檔案
print content // 印出

第一行指示電腦去讀取一個檔案,等到讀取完畢之後會把內容指定給叫做 content 的變數,第二行則是把它,也就是把檔案內容印出。

如果程式是同步執行的,那在第一行執行完畢時就代表檔案已經讀取完了,才會繼續執行第二行。若是檔案很大要讀取十秒鐘,那第一行就會卡在那邊十秒,十秒後才繼續執行下一行。

同步的相反就叫做非同步(asynchronous,同步前面加個 a),代表程式碼在執行某些操作的時候是不等的。

以同樣的程式碼為例:

let content = read_file('note.txt') // 讀取檔案
print content // 印出

在執行第一行時,程式只負責「叫系統去讀檔案」,然後等檔案讀取完的時候再跟他說。因此就算讀檔要十秒,也不需要在這邊等待十秒,而是可以立即執行第二行,但在執行第二行時的 content 就不會是檔案內容了,因為這時候檔案根本沒讀取完。

那非同步怎麼回傳結果呢?就沒辦法用上面這樣的形式了,而是要換一種方式,換成那個閃閃發亮的紅色圓盤。

在百貨公司地下街點餐時如果你點完要一直在那邊等,沒辦法去其他地方,這就叫做同步。如果點餐之後店員給了你一個呼叫器,你可以先去別的地方,等到餐點好了的時候會透過呼叫器通知你,這就叫做非同步。

因此非同步的程式碼會像這樣:

function done(content) {
print content // 印出
}
read_file('note.txt', done) // 讀取檔案,讀取完時呼叫 done()

讀檔的函式現在沒有回傳值了,而是需要傳入一個 function,等到讀檔完成時再去呼叫你提供的函式。

化為點餐的範例就是這樣:

function 呼叫器() {
// 呼叫器響了,來拿餐囉
}
點餐('排骨飯', 呼叫器) // 點餐,做好的時候呼叫呼叫器

所以在非同步的模式之下那些耗時的操作不會阻礙你做下一件事,你不會被卡在那邊。在瀏覽器上面跑的程式就必須要是非同步的,因為你想想,如果是同步的話,那你去 server 拿個資料花十秒,你畫面就停住十秒不動了,因此這操作必須是非同步的。

但這篇其實沒有想談程式,而是要來談溝通。

先來談談寫信

像是寫信就是一件很非同步的事情,我寫完信之後寄給你,我不用每天都守在家裡等郵差送信來,而是可以去做其他事,等郵差主動上門就好。所以訊息之間是有時間差的,差距多寡取決於距離跟回信的快慢。

寫 Email 也是,你通常寫出去之後不會預期立刻有個回應,而是會等個一兩天或甚至更久,也因為如此,在寫信時會盡可能思考多一點狀況,可能就可以少一次來回,減少溝通成本。

舉例來說,如果寫 Email 沒有思考的話,約時間就會是這樣:

> 我後天八點有空,你呢?

我沒有欸,那你禮拜三九點有空嗎?

> 沒有,那你星期四十點有空嗎?

有,那就這樣吧

> 好!

經過了五封信件,兩造達成共識約好時間。但有些人預期到信件是需要時間的,可能就會先這樣寫:

> 我這周有空的時間是:
> 後天 八點以後
> 週四 八點以後
> 週五 八點以後
> 再看看你要約什麼時候

就星期四十點吧

> 好!

只要三次的來回就搞定了,因為有把「如果對方後天八點沒空怎麼辦」這個狀況給考慮進去。

懷念的即時通

早期的即時通訊其實是很同步的溝通模式,通常不太會留言給離線的人,而是看對方上線才會敲他。如果敲了沒有反應,還會送對方一個「叮咚!有人在家嗎~」或是一個嗆聲娃娃。

確認對方有在線上之後才開始聊天,有事情會說暫離,要下線會說我要下線了,像我有個學妹每次密他她都剛好有事說要先閃了,真的很忙。

會這樣是因為當年網路沒有現今這麼方便,可能每天(或間隔更久)都只有固定一段時間可以在電腦前上網,所以才需要這樣的溝通模式,利用兩個人都在線上的時候趕快把事情給搞定。

但現在的即時通訊不一樣了。

現代的即時通訊

現在網路已經是隨身必備的東西,因此大家在零碎時間時可能都會滑一下手機或是看個訊息。這已經不是那種「上線就會連續上線一段時間,下線就會下線好一陣子」的年代了。

在這種零碎的時間之下,同步溝通就顯得沒什麼意義。

在嗎?

請大家在發送這句話之前,先花個三秒想一下:「我想講的事情真的需要對方同時在線上嗎?」,如果需要的話,麻煩把句子寫完整:「在嗎?我有事情想要在你有空的時候直接跟你說」;如果不需要的話,麻煩擺脫同步的溝通模式,改採非同步,直接把你要講的事情說清楚。

你真正要講的事,其實就只是原本對方回「在」以後你要說的事,如果你不需要對方同時在線上,「在嗎」就是毫無意義而且會讓訊息多一次來回的句子。

你該做的是把想講的直接寫出來:

嗨!最近想約你敘舊吃個晚餐,你下禮拜方便嗎?

這樣等對方有空回訊息的時候就會來回你訊息,這也不是什麼對方一定要同時在線上才能講的事。

問我程式問題的時候也是一樣,不需要用「在嗎?」來當作開場白,甚至連開場白都不需要有,你就是把問題直接丟過來就對了,等我有空的時候自然就會回,而你問完之後就可以去做其他事情了,對於這些不需要同時在線上的事,非同步溝通才是比較有效率的解法。

如果對方回一回訊息突然不見,若是沒有在討論什麼真的很重要的事,你也不必多想,畢竟回訊息的時間本來就可能是零碎時間,例如說中午吃飯的空檔,或是搭公車的時候滑手機回一下,回完就把手機收起來了。在這樣一個使用網路時時間零碎的時代,這都是很正常的事情。

我自己幾乎沒在看已讀跟未讀,一來是因為很多人會看,所以有各種 App 或是方法可以看到訊息但不標已讀,二來是已讀不回也不代表什麼,像是我對於有些訊息就會想先點開,但要思考個一兩天看看怎麼回,已讀不回可能只是暫時的沒回,並不是真的就不回。

如果過了一兩週還真的沒回,那可能才是不想回或是漏掉了,可以等那個時候再做後續的處理。總之我想說的是,已讀後暫時沒有回覆是正常的,讀了訊息不代表對方馬上就要回你。

所以除非事態緊急,不然看對方已讀還是未讀其實是沒什麼意義的,大概只會有負面的影響而已吧,影響了你自己的心情。

非同步溝通的好處

每個人都可以自由且彈性地利用時間。當我想討論某件事情時我不用跟對方喬一個時間,我就先把自己想到的全都寫下來寄給對方,再等對方回覆就好。我就可以去做其他事情了,對方也可以去做其他事。

但有時候同步其實還是必須的,因為非同步就是善用零碎時間,把時間切成一小塊一小塊的,把事情搞定所需要的「整體時間」可能較短,但是時程可能會拉長,如果想在短時間內直接搞定,那約個同步的 meeting 當場解決可能會是更好的做法。

所以說其實同步非同步各有優劣啦,依照不同的情境選擇不同種溝通方式才是上策。但我想強調的是,很多事情真的不用等到對方上線才傳訊息,就像你寄信也不會管對方是不是在電腦前一樣。

這篇純粹談一下自己對溝通的看法,主要是覺得收到那種「在嗎?」的訊息就跟收到「在嗎?」的信件差不多瞎,想問什麼問題就直接問,我如果沒辦法回我就會說沒辦法回,不用等我在的時候才把想問的東西傳給我,我就算在也不會馬上回覆。

上面講的比較多是針對工作上的討論或是其他要事的討論,跟朋友的瞎聊當然另當別論,那種想怎麼傳都可以,硬是要把一則訊息分成好幾封也都可以,輕鬆自在就好。

但如果是要討論一些正事,可以在發送訊息時多想個幾秒,想想如何減少訊息的來回,想想非同步的精神,或許就能增進一些效率。


還記得那天特別提早一點出門,就是為了避開排隊的人潮。

之前忘記從哪邊得知這件事情了 — — 在倫敦也有海底撈,而且是歐洲的第一間,好像也是唯一一間。我不是「在國外幹嘛吃台灣也有的食物啦」的那種人,也不是「在國外就是要吃台灣吃得到的食物啊」的那種,而是兩種疊加在一起,想吃的時候就去吃,無論想吃的是不是當地的食物都無所謂。

「在倫敦吃海底撈好像挺酷的」,抱持著這種想法,我在週日的時候邊逛街邊打探一下海底撈的底細,原本想說在倫敦應該沒什麼人想吃吧,但當我走近店門口的時候嚇了一跳。哇靠,人還真多,明明就是下午兩點,卻要排五十組才吃得到,而且幾乎全部都是華人面孔,也聽到許多中國口音。

那瞬間我理解了一件事,因為中國人夠多,所以儘管是只賣中國人的店,也能有一定的客群吧。對我來說海底撈沒有特別吸引人,因為那是在台灣能夠輕易取得的食物,可是對這些在英國留學或是工作的中國人來說,或許是種家鄉的味道。就像我在新加坡偶爾也會想吃台灣蛋餅或是雞排一樣(雞排其實在新加坡滿容易取得,蛋餅就困難許多)。

秉持著不輕易排隊的原則,在周遭閒晃一下之後就搭地鐵回家了,打算等明天平日的時候再跑來看看,平日應該就沒有這麼多人了吧。

為了保險起見,特地提早出門,計畫是在開店前 15 分鐘到達門口,預計最長的等待時間也大概就是 15 分鐘才對。我在路上還想說會不會只有我一個人在排隊而已。

到了店門口,發現我太低估海底撈了,我大概是第六七個人,其他人早就已經排在那還沒開的店門口了。等了一會時間差不多了,店員出來招呼客人,豪不意外地,店員也是中國人,是熟悉的中國口音。海底撈好棒啊,讓我這個不想講英文的人可以用中文來交談。

在等待座位的同時,一樣是海底撈的標準配備,會有一些點心跟飲料可以無限使用,我記得那天的點心好像是爆米花還是花生什麼的,在等待的時候觀察了一下周遭的客人,聽口音應該也都是中國人,看長相猜測是學生,可能懷念海底撈的味道了。

主要的用餐空間是在地下室,入座之後店員問我需不需要在我對面放一隻熊來陪我,我拒絕了,這樣太奇怪了。但店員又推銷了一下,說「還是放一下吧」,我想說好吧你都這樣講了,我就放一下吧。

於是我對面就坐著一隻,粉紅色的,跟我差不多大隻的熊熊。

熊熊本人

剛開始的時候是沒什麼感覺的,就一隻玩偶在對面嘛,但是當時間越來越接近用餐時間,人越來越多的時候,我才意識到這是一件需要恥力的事情。因為每個路過的人都會看著那隻熊,然後再看看我,再跟朋友交頭接耳竊竊私語。我猜他們是說:「哇居然還有熊,好可愛,我也想要」,或者再加上「對面那人好怪喔」之類的。但沒記錯的話熊熊陪吃飯好像是一個人吃海底撈的專屬配備,怕你孤單寂寞覺得冷才有的服務。

點餐的時候按照慣例登入了我的海底撈帳號,看了一下消費記錄:新加坡海底撈、美國海底撈、台灣海底撈,我要特別澄清,我沒有很愛海底撈,我只是純粹覺得「吃不同國家的海底撈留下紀錄」這件事情好像很好玩,所以之前去美國的時候也跟朋友們去吃了海底撈,而且美國的那次吃得滿爽的,價格其實也不算太貴。

餐點的部份其實沒有什麼差別,或許有常吃的才會知道差在哪邊吧,之前在新加坡的時候聽中國同事說新加坡的少了很多可以點的,但我看不出來就是了。可能就像是,如果國外的鹹酥雞店家只賣雞排、鹹酥雞跟薯條,搞不好對外國人來說沒什麼,但對我來說就會覺得怎麼少了一堆選項。

這樣吃一吃大概到了 12 點左右,整間海底撈已經客滿了。而且依據我所聽到的,依舊是中國人佔大多數。我記得我有碰到一個台灣人的店員,沒記錯的話我們應該是根據口音相認的。

吃完結賬時,帳單大概 30 英鎊,換算成臺幣大概一千多,雖然換台幣看起來很貴,但是單看英鎊好像還好?畢竟吃餐廳的話應該本來就是這種價位,不過我在英國的時候好像也沒吃過幾次餐廳就是了,大多數時間我都是吃超市的無敵特價組合。

雖然大家都說英國物價滿高的,但我那時候很喜歡的英國超市的特價組合(就像便利商店三明治加飲料 49 元之類的),一個三明治加果汁再外加一份水果(葡萄跟草莓),只要 3 英鎊,折合台幣大概 120 塊,我覺得有夠超值,導致我有好多餐都吃這個組合。

總之呢,我成功在我的海底撈會員留下了一筆倫敦店的紀錄,又增添了一個新的國家。至於那天後來跑去開在英國的中國網咖打咖花了四五百塊,還創了一個 LOL 的歐服帳號角色,就是另外一個故事了。

這種東西原本都是放臉書上的,但最近這裡都沒什麼更新,也沒什麼靈感,只好把一些廢文搬過來湊個數。


沒錯,又到了程式導師實驗計畫開始招生的時候了。

這一期一樣有把資訊更新到網站上面,如果想要看比較完整的資訊的話建議到底下的網站觀看:

如果嫌網站資訊量太多(?)的,也可以參考這篇,我會大概講一下這在幹嘛以及跟上一期的差異。

計畫詳情

這個計畫的目標是:

六個月內,把你培養成一個找得到工作的網頁工程師(前端或後端)

教的東西很多,想看課綱可以參考:簡化版的課綱(適合外行人觀看),詳細版的可以去 GitHub 上面看:https://github.com/Lidemy/mentor-program-5th。由於這一期課綱應該會跟前一期差不多,所以目前第五期課綱是直接完全複製第四期的,在第五期開始之前還會再做調整,大方向會是一致的,只是課程的安排會再想一下,這點請大家注意。

課程的強度其實很高,上一期如果要報 …


時間過得好快,上一次更新課程相關的東西是去年十月的這篇:程式導師實驗計畫第四期課程做了哪些改動?,轉眼間就已經過完年,然後整個第四期就這樣結束了。

開頭一樣直接破題,先給一些數字。

之前在上一篇(十四週尾聲時)有提過:

課程正式開始後剩下 110 位同學,其中 77 人選擇 A 求職方案,剩餘 33 人選擇 B 買斷方案。

在課程結束(二十六週)之前,有些同學選擇退出,有些選擇轉成 B 方案,至結業時還在 A 求職方案的同學剩下 60 個。而這 60 個同學中,

  • 有 20 個跟完課程(33%)
  • 有 11 個跟到最後一部分(React)的課程(18%)
  • 其餘 29 個學生進度都在課綱的 20 周之前(49%)

而最後找到工作的人數為 21 人(35%,分母為 60),薪水的部分以中部來說大約是 35k,北 …


名花之里

持續一陣子了,有一種力不從心,心也不從力的感覺。

大概就跟之前閉關的時候,到後期決定放棄的感覺差不多,就是其實有很多事情要做,但就是拖延不想做。然後 Medium 這邊也好久沒寫點東西了,不知道為什麼,但總覺得來寫些東西能夠多少改善這個狀況。至少「寫出文章」這一件事情本身,就能夠為自己增加一些產出,無論寫什麼都是。

而且 Medium 最近的文章好像比較少個人心得了,很久以前的閉關修煉也已經結束一年了,因此就如同標題說的,「只是想寫一下」,想把最近的近況跟一堆心得感想都寫在這邊。

採用一個很久沒用的文體:條列式。

其一

開頭放了名古屋名花之里的照片,因為想出國旅遊了。這是去年二月初的時候拍的,那時候疫情才剛開始,在日本與台灣都還算很早期的時候,從非中國地方入境台灣也不需要隔離。而早在兩三個月前就買好機票的我們,一直猶豫著到底要不要如期出發。

最後覺得疫情才剛開始風險應該不大,再加上這次不去的話,延期可能要延個半年一年,不知道什麼時候才可以出去,所以就去了。名古屋四天三夜之旅。

在出國之前我斷斷續續感冒了兩週。但其實看醫生之後說我不是感冒,是扁桃腺炎之類的,每當我覺得好了的時候,再過個兩三天不知道為什麼又開始發燒。但在出國的前幾天,倒是沒什麼感覺。

可是到了機場的時候,開始覺得喉嚨有點痛痛的,但我也不以為意,想說是不是自己多心了,應該沒什麼問題。當天晚上到了日本,洗澡的時候我就覺得身體怪怪的,怎麼好像有點熱,隔天起床才後知後覺,發現自己發燒了。

發燒倒是還好,比較麻煩的是喉嚨又開始發炎痛了起來。最痛苦的是吃早餐的時候,飯店的早餐其實很好吃,但每吃一口都是煎熬。痛並快樂著,我想就是這樣吧。

到了下午就只能躺在床上睡覺,而我女友照顧我到睡著之後,就出去逛了一下順便帶了晚餐回來。對她其實覺得不太好意思,幾乎都沒什麼玩到,就只能一直在名古屋站附近逛,還要分心回來照顧我。

睡了一覺醒來有覺得好點,我那時想說應該再睡一下就沒事了,畢竟發燒嘛,不是應該很快就好了嗎。

隔天醒來發現身體還是很不舒服,就查了附近的藥房,去買了成藥。玲瑯滿目的藥不知道該買哪一種,就買了一個治感冒的,一個治喉嚨痛的(再給我一次機會的話,我絕對先買專治退燒的…)。

回家之後吃了藥睡了覺,醒來覺得好像好了一點。當天晚上本來就排了名花之里的行程,我想說雖然身體還是有點不舒服,但現在不去就沒機會去了,於是那天晚上就跟女友兩個人搭了電車轉公車跑去名花之里了。

幸好有去,那邊真的很漂亮。不過逛了一兩個小時之後我開始感到有些疲倦,身體又開始變得不太舒服,那時候逛的也差不多了就一樣搭電車回家,大約要差不多四十分鐘左右。

等到抵達飯店以後,又覺得狀況不太好,趕快洗了個澡就去睡了。半夜睡到一半突然醒來,覺得有點想吐,起身時發覺自己頭越來越暈,連走路都走不好的那種。撐到廁所之後發現自己吐不出來,就再硬撐著回到床上,整個人直接倒下去,想說:「睡一覺醒來再說吧,躺在床上頭就不會暈了」

隔天早上醒來,狀況還是滿差的。這已經是在名古屋的最後一天了,下午要搭飛機回台灣。早上吃早餐是最痛苦的時候,因為喉嚨痛到靠杯,連吞口水都會很痛的那種。痛到我決定在日本看醫生。問了一下櫃臺附近哪邊可以看醫生,因為路途不遠索性就走了過去。

走過去之後因為語言不通,英文也不通,就拿出手機靠著 Google 翻譯跟對方溝通,最後先幫我量了體溫。這時我其實覺得自己身體狀況還行,至少可以正常走路,只是喉嚨很痛而已。但體溫出來之後我嚇了一跳,40 度。靠杯,原來我發燒嗎。

那邊的護士也嚇了一跳,我也嚇了一跳,原來這麼高嗎。接著一陣雞同鴨講之後,雖然說那時候疫情才剛開始,但大家都有警覺心了,而且儘管我說沒有去過中國,我是台灣人,但對方還是說他們不收,要把我轉去更大的醫院。

於是後來就搭了計程車,去了另外一間更大的醫院。在那邊先填了一些基本資料,對方一直以為我是從中國來的,好一陣子之後才講清楚我從台灣直接過來的,沒有去過中國。

等了大概一個小時終於看到醫生,這時候可以用英文溝通了,醫生好像懷疑我是什麼 A 型流感還是 B 型流感,於是幫我做了快篩,就一樣是要從鼻子督進去的那種,流了不少眼淚。

再等了一陣子之後,醫生跟我說不用擔心,就是流感而已,吃個藥應該就會好了。最後拿了藥,搭了計程車回到飯店。把藥吃了稍微再休息一下,就差不多要去機場了。

因為有吃藥的關係,身體狀況好了很多,只是喉嚨還在痛而已,沒那麼快好。到台灣入境時也有誠實填寫防疫的那個表單,說明了狀況,對方看我沒有中國旅遊史也沒有接觸史,就跟我說好好休息而已。

回到台灣過幾天之後再跑去看醫生,拿了藥,吃了藥,覺得身體好轉,藥吃完過三四天,喉嚨又開始痛。這個輪迴持續了大概三次,最後身體才終於完全康復。醫生說有可能是壓力的關係,只要壓力一來可能身體狀況就會變差,那些潛藏的病毒又會再次出現。

感謝日本的醫生,感謝台灣的醫生,感謝女友。那次旅遊其實幾乎沒玩到什麼,說實話有一點可惜,希望疫情能早日過去,讓世界恢復正常運轉。

話說我女友全程身體健康,回台灣之後也沒有任何不適症狀,沒有任何一隻女友受到傷害。真是有夠厲害。

其二

大概是從工作之後開始,體重就變成了一種回不去的東西,只會上升,不會下降。最近更是來到人生中的體重高峰,至於是多少,我不敢量,所以我也不知道。

之前看到了這一篇:【體態打造】3個月減脂 10%,由肥宅工程師轉變成精壯男的挑戰旅程,本來想說可以參考一下,直到我看到了這一段:

所以我認為最重要的是你認為你自己是個怎麼樣的人,也就是所謂的自我認知。以我自己為例,我就把自己設定成「有紀律」、「注重生活規律」及「有自己原則」的人

當你的自我認知跟你的行為有一致性,你就不會單純的被一時的熱情或衝動驅動而做出當下的行為,而是把這件事當作理所當然。

看完之後我就覺得我完蛋了,如果要談自我認知的話,我對自己的認知大概是:其實不是很在乎自己會變得怎麼樣,懶惰,拖延症,沒有原則的人。

如果自我認知就是這樣的話,看來就是個打從心底會失敗的狀況。

就像我以前寫過的,我覺得我的動力必須來自於他人,這是我目前找到的生存之道,所以真的想瘦身的話我有想過乾脆一個月花個兩三萬來找一對一的健身教練好了。靠著花錢來瘦身,是我目前覺得有可能對我最有效的方式,因為其他方式都行不通。

我一方面覺得保持運動習慣是很不錯的,畢竟這樣才會身體健康嘛,但另一方面覺得不運動也不會怎麼樣,就是體重越來越重,身體變差,最慘大概就是得了什麼病然後離開人世。對我來說這也不是什麼好懼怕的事情。

不過保持運動習慣這是一件我試了四五次但是都沒有成功的事情,是確實滿想成功一次看看的。大家有推薦什麼在台北的健身私人教練的話可以留言或是私訊給我,我會參考看看。

其三

程式導師實驗計畫第四期結束了,之後要找時間來寫個心得。但其實老實說,這一期的心得會比之前都難想。

我覺得原因是,這一期有了助教之後,我有種退居第二線的感覺。助教在第一線,我在第二線,有點像是本來每一堂課都親自去上的補習班老師,開始變成了補習班招牌上的名稱,上課的是一些新面孔,自己只有偶爾才會跳下去上課。

但我是不喜歡這種感覺的,我想站在第一線。沒有站在第一線的話,好像會少了滿多東西跟滿多寶貴的機會。

最近也要來籌畫第五期了,這就是我開頭所說的,也在煩惱的事情之一。明明很多事情要做但都還沒開始。其實有幾次也想過說要放棄,乾脆不要做了,就可以整天耍廢了。

但是之前自己說一定會開下一期,而且也確實有人在期待著,所以放棄是不行的。這也呼應到了我前面所說的,我的動力是來自於他人而不是自己,我自己的話應該很快就放棄了。

最近我總是想著,會不會就是因為自己每天都想說「今天一定要做什麼」,但最後沒有做到,在這樣的迴圈下狀況越來越差。但儘管我會這樣反思,卻好像對實際狀況沒有什麼好轉,還是一樣不會開始做事。

我在想到底有什麼方法可以讓動起來,前陣子在玩的 CTF 是一個可以參考的指標,那東西可以讓我假日兩天沈迷其中,幾乎不太管其他事情。如果能把這種動力運用在其他地方就好了,但好像不太行。

其四

這其實有點矛盾,還是說大家也都這麼矛盾。想看到,卻又不想被看到。或如果比較精確地講,應該是想看到,可是不想知道被看到。

之前還在新加坡的時候,在寫東西這件事情上其實是比較輕鬆的,就是寫完之後放著或是分享到臉書,實際生活中碰到的人,大概也只有我的兩位室友有可能跟我談論我寫了什麼,否則的話在日常生活中,就彷彿我寫的文章從來不存在一樣。

但現在不一樣了。日常生活中,同事會看我的文章,甚至來面試的也會說我有看你寫的東西(但應該是技術文章啦),之前跟大學同學吃飯,對方說她碰過幾個人跟她說:「欸欸你認識 Huli 喔」。

當聽到這些的時候,或是當聽到有人親口跟我說:「我有在看你的部落格」的時候,那個心情是矛盾的。一方面會覺得:感謝感謝,感謝你有在看,另一方面卻又會覺得有點小尷尬,就好像是「雖然感謝你的收看,但我沒有很想在現實生活中被認出來,我沒有很想當面聊我寫的東西」。

但這本來就不是我可以選擇的事情。當我決定用真實身份而不是匿名帳號在網路上闖蕩的時候,就應該預料到會有這種結果了。名氣這種事情,是有好處的,例如說可以接到業配,然後可以收到一些陌生網友寄來的訊息或是信件,這些都挺有趣的。

但相對應的壞處就是會在現實生活中被認出來,總之不知道為什麼,就是覺得有點不自在。可能我更希望的是,網路上是一個身份,現實生活中又是另外一個,而這兩個在我想關聯的時候是關聯的,不想關聯的時候是切開的。這樣好像太過任性了,又要馬兒跑又要馬兒不吃草,沒那麼好的事情。

或許久了之後,可能會漸漸習慣吧。

不過老實說,這確實會影響到寫東西的意願。當沒有在看你寫的東西的時候,你可以想寫什麼就寫什麼,可是一旦有人看了,就會開始有一些顧慮。倒也不是說「寫這個讀者會喜歡嗎」的這種顧慮,而是「我真的要把這些事情暴露出來嗎」的顧慮,自我揭露程度的多寡會受到影響。

儘管我覺得自己已經算相對上沒那麼在意他人的眼光,但依然無法做到百分之百,確實是太難了。從這點來看,還是匿名帳號來得好,匿名的確可以增加文章的真實程度,願意讓人暴露出更多的自我以及真實的感想。

其五

最近有一種,什麼事情都很穩定的感覺。工作穩定,生活穩定,感情穩定,真的什麼都滿穩的。在這種狀態下,日子是會快速流逝的。

可是在這種狀況下,反而才會有點擔心吧,擔心這樣子的穩定平衡被破壞。

雖然說我自己定義自己是一個懶惰的人,但其實某一方面也閒不下來,我有想做的事情,我沒辦法停下來。我沒辦法就是,什麼都不做,然後每一天都看動畫看漫畫看影集看 YouTube 看各種東西。我會覺得那樣的生活,沒有在進步。

我沒有覺得大家都一定要繼續前進,停在原地也是自己的選擇,而這選擇沒有對錯。但對我自己來說,我就是沒辦法接受自己原地踏步。所以如同開頭所說的,在這種心不足力也不足的狀態之下,才會感受到不安與愧疚吧,覺得自己應該做點事,可是卻又提不起勁來。

不過幸好我有寫了這一篇,覺得好像有了一點動力。持續性的無產出真的會讓人心累,有產出的話至少知道自己是在前進的。

其六

以往這些東西應該是寫在臉書的,但我已經很久沒有用臉書了。埃居的話也早就刪掉了。刪掉的理由很簡單,因為用哀居不會使我變得更開心,而且我其實,也沒有那麼想知道朋友的近況。臉書也是類似的理由,app 早就刪掉了,手機都用網頁版來看,還留著臉書是因為可以看到技術文章跟技術社團的發文,沒有這些的話我應該也會放著不動。

然後這篇太長,所以也沒辦法寫在推特,想來想去還是寫在這邊最適合。寫在這邊,然後臉書不要發文,就只有真正有在追蹤 Medium 的讀者才看得到,而不是所有的臉書好友都看得到。

其七

最近有件事情有點困擾卻又沒那麼困擾。

之前買了新的桌子跟椅子,怎麼擺都覺得姿勢不太對,怎麼調都不好,可是又懶得再買新的椅子或是桌子。像辦公室的我就覺得很不錯,但是家裡的就覺得好像怪怪的。不過在寫這篇文章的時候卻又覺得還好,因為我一樣是順利的寫完了。

或許當時花多點錢買升降桌跟更厲害的椅子會比較好吧,不過還是狠不下心就是了。

其八

哞哞哞,祝大家新年快樂


最近幾年線上課程滿夯的,除了那些主流的課程平台之外,也有些人會想選擇自己弄一個自己的平台,少了一些限制,也能夠免除掉跟平台的分成,一些優缺點我在《把 Hahow 的課程下架之後,我的下一步是什麼?》都有提過了。

而如果想要自己弄一個平台的話,最多人選的大概就是 ThinkificTeachable 了。因為我自己的整個平台 Lidemy 鋰學院都是用 Teachable 建的,所以偶爾會收到一些信件來問我使用狀況跟心得,想說每次都個別回答的話有點沒效率,索性就寫了這篇。

底下就來談談各個 Teachable 的功能以及我個人的使用心得。

費用

我剛使用 Teachable 的時候它其實有四個方案,Free、Basic、Pro、Business,現在只剩下後三個。

原本的免費方案我記得沒什麼限制,就功能比 …

Huli

重度拖延症患者,興趣是光想不做,有很多想做的事,卻一件都沒有執行。無聊的時候喜歡寫文章,發現自己好像有把事情講得比其他人清楚的能力。相信分享與交流可以讓世界更美好。Medium 文章列表請參考:https://aszx87410.github.io/blog/medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store