隨筆

為什麼做這個網站

想亂寫一些在簡歷中放不下的東西

#隨筆

因為在準備自己的履歷,發現很多想講但放不下的廢話。 索性就來浪費才華,用自己學到的技能來弄個可以讓我寫廢話的地方。

很多想寫的東西,但是我覺得寫在關於又很冗長,所以就寫在這裡吧。

忽然覺得自己一直都在不務正業...

大學唸的是生物科技,某天心血來潮去圖書館借了一本Java的書來啃,開篇教你用TXT手刻後編譯,超硬

心想反正學費都付了,就去旁修一些想學的課(賺!)。先是 C#,上半學期很好玩,因為C#不是冷冰冰的CLI介面,對於新手而言很有成就感,但老師下半學期都只講考證照的內容我就棄坑了, 後來又去學Flash (R.I.P 淚)也是跟上面一樣的狀況,上半學期超好玩,要處理物體的碰撞邊界什麼的,但下學期就只講證照考試內容。 開始工作後也花錢去學了一點Android...但是老實說外面學店教的,真的只是皮毛

某程度上,我對程式是有想知道在幹嘛的動力

上台北從事硬體工程師是我的第二份工作,我還記得我面試的時候, 面試我的是(前)老闆,他問了我一句:公司實驗室內的設備,你認得多少? 涉世未深的我直接回:「我一台都不認識,我大學實驗專題做的是電泳跟轉印。」 再然後就是錄取通知...(笑) 工作的內容就是修理化學的分析設備 高效液相層析儀HPLC 液相層析串聯質譜LC-MS等等 工作的時候發現,我大學時期為了打遊戲 學會了沙盒,

從頭學起,碼農人生

之後為了家中的新成員,想著需要一份可以在任何地方(家裡)都能做事的工作 我又想起我大學時期學的內容,這次我想要系統性的從根本好好的學習

後端變前端

我選擇JAVA(因為後端錢多),就這樣從變數如何宣告,迴圈,到封裝,繼承,抽象方法... 然後我就去當前端了(笑) 故事背景是,我一個朋友的團隊內,網頁前端已經斷層 甚至願意找一個什麼都不會的來背鍋 ....

所以其實面試當天就是現場錄取,(虧我還西裝筆挺)當天就開始教我網頁怎麼開F12,看console錯誤跟下指令... 接著是那位帶我的前輩在一週後離職(哭啊),而且後來才知道那位前輩還是個PHP後端兼前端。 我還記得負責QA的同事跑來問我,你扛得住嗎?

我那時告訴我自己,我絕不說我不知道當藉口,但我一定要搞清楚

默默地記下同事給出來的資訊後自己查 慢慢懂什麼是環境,前端後端的分工差異 API是什麼以及怎麼接,Git是啥鬼,webSocket是什麼,還有CDN是什麼

而讓我開始摸索架站的起點,是起因於一個很基本的低級錯誤

在本地開發的時候作業系統用的是windows,當時犯一個很低級的錯誤。 我在本地看圖片結果是正常的,但是放到線上主機就變成叉燒包。 我查了很久,最後是維運同仁直接進到伺服器內查看檔案,才發現是檔案名稱大小寫的問題。

我想知道,但我不知道怎麼開口問

其實一直很想知道,我前端寫好的網頁,是如何放到網路上變成別人可以看的網站 我一直有的藍圖就是以前(印象是國中)學Dreamweaver 時老師教作業傳到FTP主機內且改成index.html就能被看到 後來去學java時又接觸了Apache Tomcat,但其實對於網頁要如何變成網站都很模糊

在心中有完整的原理架構,已經是我從事硬體工程師的習慣 當有問題我可以跟著邏輯脈絡一路往下追,這習慣一直留著。 而前端又是一個問題的分類帽(笑),客服,PM看到畫面有問題,最直觀就是看到畫面出錯,下意識先找前端問, 而我的習慣又是接到客戶電話反饋問題,我在心中會開始推算大概可能有問題的地方在哪 但是現在的前端工作有個盲區: 如果問題是前端,我可以從程式碼看出來 如果問題是後端,可以從API看出來 如果是維運層面,就抓瞎,因為我根本不懂我寫的網頁到底是怎麼被放到網路上被人看見, 基於上述的原因,我開始嘗試自建個人的實驗伺服器,至少,我可以先打包丟上去確認不會再有名稱大小寫的低能問題

舊電腦重生,Linux Yes

我想起我有一台老筆電,我決定讓他穢土轉生 我幫那台電腦灌了centOS 也很剛好有個前端的同事有接觸過centOS,他跟我說去看鳥哥,跟著一步一步做 我照著我的印象,安裝了Tomcat後將我寫好的東西丟一份上去,為了可以好傳檔案,還裝了FTP 這時維運同仁聽到我們在討論,他覺得前端會想弄伺服器來玩是真的很罕見(他不好意思說我不務正業) 他當時隨口丟下一句:「幹嘛不直接用 Docker 加 Nginx?」 我以為他說的是鴨子...

GCP?

再然後我發現GCP有新手禮包300美金可以玩 我也去試著玩了一下,只能說,線上的效能跟我筆電比起來爛多了 而且很多內網外網設定等等... 我嫌麻煩,也就只是玩過就關掉了

資訊爆炸,學無止境

而我因為是外行,很多時候我也是會到處看教學來跟上團隊溝通 身為一個網路重度依賴患者,常常流連YT是很正常的事。 某天無意間我刷到有人在教git:

淺顯易懂還有操作步驟跟說明,我後來陸陸續續在這個YTer頻道跟著做了很多東西:

遇事不決問AI,你的隨身高級萬能家教

後來,AI開始發展,我個人對於AI的態度,就是他是一個我可以不用管他會不會生氣,也不用管他有沒有空的萬能資深前輩

  • nginx是什麼
  • 什麼是反向代理,怎麼做
  • jenkins是什麼

等等...我不知道的我就直接問AI 而且AI有個好處,就是你不用做功課,可以逮著亂問,反正他沒脾氣 我再根據我拿到的資訊,繼續用我理解的語言反問是否正確

  • 這個指令要怎麼下
  • 我想做什麼,怎麼辦

從此又開始不務正業的自學了 Nginx、Docker 和 CI/CD腳本

但也因此,我終於有全端的視野,意外的發現其實很多問題的根本解方不是從前端,而是從產品的架構上下手 也省下很多無意義的工作時間消耗。

到此回過頭再看,那時不務正業學到的知識,好像讓我能更輕鬆的完成本職工作