雅虎香港 搜尋

搜尋結果

  1. 2024年3月7日 · 而由於我的筆記包含廣泛的領域,當我輸入的「行銷規劃」,底下只會出現關於行銷的筆記;當切換到「樂理」,則只會推薦音樂相關的筆記。. 本文會先簡單介紹 RAG 的原理與優勢,接著分享我的實作經驗(相關的教學文章連結我整理在文末),並討論 RAG ...

  2. 2024年2月26日 · 微軟的研究結果發現,RAG 和微調模型確實都能讓 LLMs 的回答變得更為精準:與 GPT-4 的基本模型相比,RAG 的精準度增加的 5%、微調的精準度增加 6%,而微調模型搭配 RAG 的精準度則增加 11%。. 由此可見,RAG 可以用較低的訓練成本達到與微調模型差不多的表現,且 ...

  3. 2023年2月7日 · 二、競品分析的個步驟 1. 確定分析目標 首先要清楚您想從競品分析中獲得什麼資訊。想了解對手的價格策略?產品功能?還是營銷手段? 2. 選擇競爭對手 從直接競爭者中選取3-5家作為分析對象。可按照市場佔有率、品牌影響力、產品相似度等維度進行 3.

  4. 其他人也問了

    • 什麼是 Tdd(Test-Driven Development)?
    • 沒有程式怎麼寫測試?——Tdd 流程五步驟
    • 實戰示範
    • 範例題目
    • 傳統模式示範(先開發再寫程式)
    • 結語
    • 參考資料

    TDD(Test-Dr iven Development)是一種開發流程,中文是「測試驅動開發」。用一句白話形容,就是「先寫測試再開發」。先寫測試除了能確保測試程式的撰寫,還有一個好處:有助於在開發初期釐清程式介面如何設計。 程式介面,或是常說的 API 介面,是內部封裝細節和外部元件的溝通橋樑。在實作時,我們通常會希望程式介面維持穩定,越少改動越好。但在開發初期憑空定義出來的介面,常常在開發完成實際使用時才發現不好用,導致介面需要頻繁改動。 測試程式的作用是「模擬外部如何使用目標程式,驗證目標程式的行為是否符合預期」。換句話說,在寫測試時,會去了解目標程式如何被使用,比起憑空定義介面,更有助於在實作目標程式之前釐清適合的介面設計,減少後續變動的次數。

    你可能會有疑問:既然還沒有目標程式,那怎麼憑空寫測試? 下面這張圖很清楚地闡述 TDD 的運作,也就是所謂的「紅燈/綠燈/重構」循環(Red/Green/Refactor): 具體來說,TDD 流程可以分成五個步驟:

    接下來會用同一個具體的程式題目,實際示範傳統模式(先開發再寫程式)和 TDD 模式在開發和寫測試的流程差別。 範例所用的語言工具: 1. Node.js 2. 測試框架:Mocha 3. 斷言套件:Expect

    改編自 Coding Dojo(Dojo 的中文為「道場」)一個小型程式題目:員工報表管理系統(Employee Report)。 公司有一份資料結構,儲存了每個員工的姓名、到職日、性別: CODE: https://gist.github.com/ackent/bfa814e398d5e81920d848e3f6758c4e.js 程式的目標是撰寫一個功能,可以撈出年資大於指定數字的資深員工清單。

    直接開發

    傳統模式就是初步規劃後,直接殺入開發,實作出一個 `getReportBySeniority()` 函數,可以接受「比較基準日」和「年資條件」兩個參數: CODE: https://gist.github.com/ackent/bf929ad84899531b6cf72da5be47e832.js 嗯,除了「年資條件」,還接受「比較基準日」參數,開發者自我感覺 API 介面應該夠用了。

    人工測試

    開發完成後,通常會寫個簡單的程式來呼叫這個功能,確認程式執行結果如預期(也就是人工測試驗證): CODE: https://gist.github.com/ackent/1aa5ee9cafe693c8f594dba7b19f02a5.js 執行結果: CODE: https://gist.github.com/ackent/8990b026addeb8331c71969047bfb410.js 很好!成功撈出年資十年以上的員工報表,功能開發完成。

    撰寫自動化測試

    如果是不寫測試的狀況,到這邊大概就可以收工,準備進行下一個功能的開發。但我們是重視軟體品質的開發團隊,所以要繼續寫自動化測試,為 `getReportBySeniority()` 新增一個測試案例,並使用斷言庫(Assertion Library)檢驗回傳資料是否符合預期: CODE: https://gist.github.com/ackent/ec7439b5a6070599b82bed3c6e32cf0d.js 執行測試結果: 完成測試程式,代表未來即使重構程式碼或增加新功能,都能透過自動化測試確保功能正確性,不用再像上面人工進行測試確認。 以上就是一個典型的傳統開發暨寫測試的流程。

    經由上面的手把手示範,對於如何撰寫測試、如何用 TDD 模式開發,相信能有初步的概念,也感受到傳統模式和 TDD 流程在思維上的差異。 傳統模式容易遇到以下問題: 1. 初期憑空設計介面,容易不適用,需要後續多次修改。 2. 後期撰寫測試,容易專注於已實作功能的範疇,而少了對其他使用者情境的聯想。 3. 容易因為專案時程或資源不足而犧牲測試程式的撰寫。 TDD 模式不僅在最初就確保測試程式的撰寫,相較於傳統模式,TDD 模式在一開始從使用方觀點切入,更容易在初期定義出更貼近使用方的介面。 理論上撰寫的測試案例越多,測試覆蓋率越高,代表對系統的信心度越高。然而專案時程和人力往往有限,而潛在的使用者情境案例可能無窮無盡。專案開發永遠是一個權衡(trade-off)的過程,在撰寫測試案例時,應該盡...

  5. 2023年4月7日 · 在這個資訊爆炸的時代,大數據(Big Data)已經成為每個企業都應該理解和掌握的技術。無論決策支援、市場趨勢分析,還是客戶行為預測,大數據都發揮著關鍵作用。本文將深入解析大數據的定義、其實際應用場景以及相關工具,讓你全面掌握大數據的魅力與潛力。

  6. 2023年7月25日 · ORID 是什麼?討論的思維框架 ORID 為了主持討論,讓參與者聚焦的一種結構,和上述講的 reflection 並沒有歷史淵源,不過 reflection 自己和自己對話,和別人對話很容易發散,和自己對話更容易發散,因此 ORID 用於 reflection 可謂十分稱手的框架。

  7. 2023年8月8日 · 資料科學五大 Q&A:如何成為資料科學家?資料科學產業的未來? 想跨入資料科學領域,可以進行什麼樣的專案? 現今職場對資料科學有很大的需求,想要踏入資料科學領域比較容易的。我認為做過資料科學專案基本,更重要的背後的思考過程。