over 2 years ago

User Stroy:

  • user story 是什麼:
    User stories 是一種非常好用且容易上手的需求文件,它是一種極簡主義,只要求寫下最有價值不要忘記的東西,而且夠讓我們足以估計時程以及與客戶溝通。簡單來說就是使用者期待系統解決的問題與希望從系統獲得之資訊。

  • 為什麼我們要用 user story:
    透過使用者故事的方式,以客戶面向為主體,開發者與客戶不斷地溝通,才能找到真正的需求,且正確的開發方式。作為開發者我們可以協助撰寫和提供建議,但是這應該是客戶的責任。

  • 如何使用 user story:

    身為一個 {{特定角色}},我希望能有 {{特定功能}} 以便能讓我 {{得到某種價值}}
    As a (role of user), I want (some feature) so that (some business value).

資訊系統開發人員與使用者以及高階管理者需有高度的互動,以利釐清開發的方向及提升需求分析的效率與效能,作為後續系統設計和導入的濫觴。

routing 的 namespace:

  • namespace 是什麼?
    Namespace是Scope的一種特定應用,特別適合例如後台介面。目的在避免大家使用同樣的名稱為類別,物件命名的一種機制。
    舉例來說,如果大家剛好都有一個叫做 Animal 的類別或是 Flyable 的模組,放在同一個專案裡就衝突了。所以 Ruby 有設計 namespace 來解決這個問題。

  • 為什麼我們要用 namespace?
    namespace主要的功能就是為相同名稱的東西做出區隔、或是分類。

  • 如何使用 namespace?
    在Rails裡最常見的就是把管理用的Controller放到admin下面,假使我們有兩組Controller都叫做ProductsController,但一個是設計給系統管理員用,一個是給一般使用者用,若我們把系統管理員用的放到Admin下面就可以輕易區分出哪個是哪個了。

strong parameter:

  • strong parameter 是什麼?
    Rails 的 Form 綁 Model 設計非常直觀直覺,表單欄位直接對應到 Model 欄位。但也因此,容易被 Hack 猜中關鍵欄位的慣例,在瀏覽器自造欄位入侵測試,因而產生安全疑慮。在 Rails 4 時,維護團隊發明一套方法能夠有效地解決這個問題。這套機制就是 Strong Parameters(合法參數)。

  • 為什麼我們要用 strong parameter?
    利用合法參數來建立白名單的機制,以確保資訊安全,避免機密資訊外流。

  • 如何使用 strong parameter?
    語法:params.require(:model_name).permit(:欄位_1, :欄位_2)
    Strong Parameters 的想法是若參數沒有被允許,就是非法欄位,無法被直接送進 create / update method 更新,若試圖傳入未允許的欄位,會拋 ActiveModel::ForbiddenAttributesError 錯誤。

← SEO技巧(Search Engine Optimization) Rails即戰力課程第二週筆記 →