iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0

這次挑戰的初衷,是因為在公司當碼農待久了,總覺得自己的成長停滯不前,因此決定找一個有意義的課題來提升自己的知識與技術。我選擇使用 Java 來開發一個租屋通知機器人,不僅是為了技術上的進步,也希望能做出比 591 租屋網通知功能更好用的工具。儘管對於自己的成果感到滿意,但若要開放給大眾使用,想必還會遇到許多問題需要解決。

複習的技術

在這個項目中,我重新複習了許多熟悉的技術,包括 Spring 框架AOPJPAMaven 以及 H2 資料庫等,這些技術對我來說並沒有花太多時間。

新掌握的技術

然而,這次項目也讓我掌握了一些之前不熟悉的知識點,像是:

  • 爬蟲技術:之前完全沒接觸過,但通過此次實踐,算是有了初步了解。
  • Discord Bot 開發:這也是我之前完全沒碰過的領域,起初其實挺擔心的,不過幸運的是網上有很多資源,讓我得以順利完成這部分的開發。且該實現的功能大部分都順利完成,讓我非常滿意。
    Spring 的排程:之前沒用過,但實際上比想像中簡單得多。

項目檢討

再來回顧第一天的規劃,發現自己對爬蟲的技術掌握得還不夠深入。比如:

  • 沒有實現爬取圖片或多媒體內容的功能。
  • 爬取的資料也沒有涉及登入或使用 Cookies 和 Headers 的需求。

專案也有其他優化空間

  • 沒有按照 TDD(測試驅動開發)的角度進行開發,完全沒有寫單元測試。
  • 錯誤處理也僅做了最低限度的處理
  • 等其他改進的空間。

效能檢討

  • 591爬蟲效能OK: 由於設計上的原因,爬取 591 租屋資料的過程非常快速且資源消耗極少。
  • Discord 的推播效能待優化: Discord 的推播用戶數達到千人甚至萬人時,效能可能會遇到瓶頸。這是因為我使用了輕量化的 H2 資料庫,而且資料庫的設計也相對簡單,沒有深入規劃,這裡還有很多改進空間。

總結來說,這次的挑戰讓我在既有技術上加深了理解,也學會了許多新知識,未來我還會繼續改進和優化這個項目。


上一篇
java爬蟲挑戰 Day 28 - Java 與 Python的經驗分享與語言比較
下一篇
java爬蟲挑戰 Day 30 - 完賽心得
系列文
我命由我不由語言 java爬蟲挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言