商品資料 API - Cucumber 的文件測試法
之前因為使用 Playwright 的方式造假後端 API 造成前端的實際畫面是無法使用,接下來在後端的部分我們要將商品 API 完成一個雛形讓前端可以恢復正常。
在實際的開發流程中,前後端確認完畢 API 的資料結構後會同步進行,我們切分成兩個段落因此看起來是依序處理。
之前因為使用 Playwright 的方式造假後端 API 造成前端的實際畫面是無法使用,接下來在後端的部分我們要將商品 API 完成一個雛形讓前端可以恢復正常。
在實際的開發流程中,前後端確認完畢 API 的資料結構後會同步進行,我們切分成兩個段落因此看起來是依序處理。
前端的實作目前告一段落,我們將關注放到後端的部分。這次會直接使用 Grape 這個 Gem 來直接搭建 API 伺服器而不使用 Rails,並且刻意使用 Cucumber 來撰寫測試,在正常的狀況下只需要使用跟前端同一份即可,這次主要是展示針對後端可以怎樣實現。
今年參加的最後一場研討會 RubyConf Taiwan 在昨天結束,比較意外的點大概是意外的玩得挺開心,倒是讓我有一點每次去日本參加 RubyKaigi 會在 After Party 跟很多人交流的感覺。
近期因為 DHH 提到要把 Turbo 的 TypeScript 移除(Turbo 8 is dropping TypeScript)引起不少討論,當天就有人發了合併請求將 TypeScript 全部都拔掉,卻引起不少反彈,後續也有許多不理智的行為,讓 DHH 又發了一篇 Open source hooliganism and the TypeScript meltdown 講這個現象。
在自己約 20 年的程式經驗中,大多是使用動態型別的語言,覺得很適合跟大家聊一聊。
mruby 透過編譯器(Compiler,通常是 mrbc
)編譯後,會產生 mrb
格式的二進位檔案,這個檔案的格式被稱作 RITE 如果要運行編譯後的 mruby 程式碼,就需要能夠解析並且讀取。
這幾年因為疫情的關係,大家都有不少生活上的改變,也因此我有四年沒有辦法親自到日本參加 RubyKaigi 這個對 Ruby 工程師來說最盛大的研討會。
終於在今年,我到日本重新感受了一次 Ruby 社群的活力。
有段時間沒有寫 Domain-Driven Design(以下簡稱 DDD)的主題,最近剛好跟一些朋友討論以及做了不少實驗,覺得可以針對這些題目再一次討論在 Ruby on Rails 中導入會遇到的問題。
最近要實作一個功能,大致上是搜尋一群使用者符合條件的資料,然後回傳這筆資料下的另一個符合條件的資料,如果使用一般的方式來做,會需要分開撰寫查詢,並且多次的查詢,然而我們可以利用 Ruby 的語言特性來簡化這段程式。
大多數使用過 Ruby 的工程師都知道 Ruby 有一個特別的語言特性叫做 Mixin(混合)可以透過定義一個 Module(模組)然後被其他類別引用,如果從 DCI(Data Context Interaction)的角度來看,其實是一種脈絡的表現。
最近在實作一個會員集點功能的時候意外發現很適合作為「領域事件(Domain Event)」的例子,在很多情況下其實不容易去描述這個概念,然而這個例子倒是很好的反應這個概念,以及 Rails 的特性所產生的變化。