學了某個語言,不知道拿來幹嘛? 提供幾個練習目標,由「基本模型」的實現難度淺到難排列。當然,不是說前面的就都很簡單,而是看你要實現到多難的程度。(所列練習階段非全部,可以嘗試更多的東西)

Parser 網路爬蟲

顧名思義,即是代替人工把網路資料抓下來的程式。可以訓練你下列技巧:

  1. 初階練習:
    • 網路連線
    • 長字串處理
    • 基本 HTML 語法
  2. 中階練習:
    • Xpath 處理 HTML 結點
    • User Agent 僞造
    • 程式模組化
    • 多線程 thread 或 多進程 process
  3. 高階練習:
    • 反反爬蟲(Tor 化)
    • 使用資料庫存放資料
    • robots.txt

IRC bot 聊天室機器人

自動掛在 IRC 頻道上的機器人,可以做很自動化項目

  1. 初階練習:
    • Socket 基礎知識
    • Event-driven 的程式架構
    • 學習 IRC 協議
  2. 中階練習
    • 物件導向的多頻道機器人
    • 正則表達式,關鍵字捕捉
  3. 高階練習:
    • 服務模組化
    • 自動化頻道管理員

RESTful API Server

有關 RESTful 的知識可上 阮一峰的部落格 查看。
括號後面是 clojure 的相關原件,讀者可略過。

  1. 初階練習:
    • 路由導向 (ring / compojure)
    • http 協議格式
    • 相關測試工具,如 curl
  2. 中階練習:
    • 網頁模板(將 RESTful 當成webapp server)(enlive / hiccup)
    • SQL 資料庫 (jdbc)
    • NoSQL 資料庫 (clutch)
  3. 高階練習:
    • API 設計
    • 身分認證機制 (friend)
    • 處理併發,研究諸如阻塞式線程等技術

Comments

comments powered by Disqus