當你停止拿著別人的地圖走在自己的人生道路上,那你的人生才算真正的開始。-Peter Su
因為在過去的鐵人賽中很少看到從專案角度來分享技術的文章,所以我選擇從這個角度出發,因為我認為了解專案中每個技術選擇的動機,與學習一個新的技術一樣重要
;技術可能被淘汰,但經驗會留下來,希望大家會喜歡我這個系列的文章。
1.1 了解技術文章與技術文件的差異
1.2 深刻體會以前寫的程式有多爛
1.3 突破過去程式的盲點
2.1 在週末跟連假期發文
2.2 發現有專案有 bug,而且這個 bug 在好幾天前的文章就有了
2.3 瀏覽人數太低,沒人在你的文章留言跟按 LIKE
在開賽前兩週我將完成的 26 天備稿放在 github 上請朋友幫忙給意見,除了技術上的漏洞外,下面這些回饋讓我一度思考到底要不要參加這個比賽:
感謝身旁願意說真話的朋友們,是你們讓我意識到:過去自己寫的是技術文件,能讓合作夥伴看懂就好了;但是分享到一個平台上你除了要讓人看懂外,你還要讓人看得下去
,與朋友深聊之後對文章做了以下改進:
關於這方面的技巧大家可以參考 技術寫作六步驟 讓工程師撰寫流暢的技術部落格
原本以為這次鐵人賽會非常輕鬆,因為我是把以前寫的專案拿出來分享;但開始寫文章後就發現自己錯的很離譜,因為寫文章需要反覆思考每一行程式的意義
,這時會發現下面的問題隨處可見:
針對這些問題,我有統整成一篇 Day3 努力寫出更好的程式碼,有時你不是一個人在戰鬥 給大家參考
因為是以專案的架構來寫這系列鐵人文章,所以我需要在每天都進行各種測試,並且深入的了解官方文件,在這個過程中我深深感受到以前專案的缺點:
錯誤處理的部分可以參考 Day14 爬蟲執行時又又又崩潰了嗎?來點 try-catch 吧 這篇喔
過去的我認為學習新技術、多寫一些專案可以讓自己的程式進步,但經過這 30 天的鐵人賽磨練後我發現精煉自己的程式可以學到更多東西
:
當身旁所有人都在吃喝玩樂的時候把專注力放在撰寫文章上真的很違反人性,在這種內心鬥爭的階段我會選擇聽一些勵志的歌曲來提神:
每次聽到
“我不怕千萬人阻擋,只怕自己投降”
這段,我寫文的速度跟意志力就爆發惹!
說出來不知道該是驕傲還是怕被人笑,我每篇文章撰寫時間大約落在 4 ~ 20 小時,之所以會花這麼長的時間是為了處理之前的歷史業障,我是一個有點偏執狂的人,所以發現 bug 後會把每天的文章跟 sample code 全部看一遍重新校訂,並且全部測試一遍確保都能正常運行
專案的架構使得每篇文章關聯性太大,遇到這種 bug 時真的萬分想讓人棄賽...
截至今天完賽,我的 github 已經有 400 多次的 commit,這系列的文章真的是我心血之作
我認為這是心理層面的挑戰,當你用盡全力寫文章而無人關注時你會開始自我懷疑
:懷疑是不是自己寫的不好、思考難道自己選錯題目了嗎?
我想這種負面想法應該在不少參賽者心中出現過,玻璃心的我也曾經自我懷疑了好一段時間,但最後我選擇把自我懷疑的情緒轉化成改善文章的動力
,如果文章夠好一定會有人來看並樂於分享,如果沒人關注那一定是有什麼不足的地方
花若盛開蝴蝶自來,人若精彩天自安排
在文章的最後放上這次專案的完整程式碼,你只要下載這個壓縮檔並依照下方的提示完成設定就能體驗爬蟲的樂趣嚕
首先要感謝的是願意讓我分享這份專案的老朋友:Ray,沒有他就不會有這 30 天的系列文章,更無法讓我重新審視自己程式的缺點
接著感謝願意看我那不堪入目的備稿並給予意見的工程師們:永遠給予支持的凱霖學長、讀書會的超強筆記男、愛用好想兔貼圖的前同事...,你們的建議讓我撰寫技術文章的能力上升了一個台階,至少現在讀起來不會反胃了吧XD
特別感謝在撰寫文章過程給我排版建議的朋友:部落格男,他是我心中真正的鐵人,已經堅持每天寫一篇部落格超過 400 天
其實我原本是打算一個人參賽的,但在報名後看到團體組列表中有北科大計算機,就向團長Peter學程式詢問我能不能+1,感謝團長的收留,自從大學畢業後就沒有這種組隊參賽的熱血了
最後感謝比賽期間陪伴在我身旁的可愛女友,擁有行銷專業的她給我許多下標題的建議
雖然鐵人賽在這裡告了一段落,但對我來說:技術分享的旅途才剛開始呢
我在 Medium 平台 也分享了許多技術文章
❝ 主題涵蓋「MIS & DEVOPS、資料庫、前端、後端、MICROSFT 365、GOOGLE 雲端應用、自我修煉」希望可以幫助遇到相同問題、想自我成長的人。❞
在許多人的幫助下,本系列文章已出版成書,並添加了新的篇章與細節補充:
- 加入更多實務經驗,用完整的開發流程讓讀者了解專案每個階段要注意的事項
- 將爬蟲的步驟與技巧做更詳細的說明,讓讀者可以輕鬆入門
- 調整專案架構
- 優化爬蟲程式,以更廣的視角來擷取網頁資訊
- 增加資料驗證、錯誤通知等功能,讓爬蟲執行遇到問題時可以第一時間通知使用者
- 排程部分改用 node-schedule & pm2 的組合,讓讀者可以輕鬆管理專案程序並獲得更精確的 log 資訊
有興趣的朋友可以到天瓏書局選購,感謝大家的支持。
購書連結:https://www.tenlong.com.tw/products/9789864348008
恭喜完賽~
小弟菜雞工程師一枚,好幾年前也是在鐵人賽看到爬蟲相關文章
才一頭栽入爬蟲的世界
如大大所說,學習爬蟲只要出發點是正確的,能節省非常多的時間
此系列文章內容淺顯易懂,好文推推~
爬蟲真的是好東西,未來的路上一起進步啦!
默默關注這系列,恭喜完賽!
對我來說寫得很清楚
等 JS 熟一點後一定會來實作看看
感謝關注~這系列實作起來應該很爽,每天都會有進步一點的感覺XD
很有參考價值的系列文,謝謝分享
感謝認同,已盡力寫出自己想要的文章內容,希望對讀者多少都能從中吸取對自己有益的資訊
你寫的文章也很棒呢!之前也有在研究line聊天機器人但是遠沒你研究的深入,收藏一波~