Web Testing + Page Object 暖身中。
其實這邊我覺得搭配 cucumber 並沒比較好,如果沒有需要跟 PO/需求單位確認,而且測試重構完的意圖呈現可以很清楚的話,目前我還是會傾向直接寫 test case + testing code。
specification by example 還是要做,但是不是非得用 cucumber/BDD style/Robot Framework 來實現,我還是會建議 by case,你得看用這些東西可以滿足你什麼需求、解決什麼問題,再決定要不要用它。
※ 可以捨棄年久失修的 fluent automation 了。
補上 living documentation 的產生:https://www.youtube.com/watch?v=a3gu4UT91FY&feature=youtu.be
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
web framework 比較 在 Kewang 的資訊進化論 Facebook 的精選貼文
前兩篇分享了 Autocomplete 的實作方式及開發細節,算是少數大家迴響比較多的文章 XDD,下面就來整理一下大家的迴響好了。
---
## 1. 減少傳輸量可以使用 msgpack
小編有聽過 msgpack 但還沒實際了解這是如何運作的。剛查了一下資料 (https://msgpack.org),說是比 JSON 更省資料大小,基本上聽過的語言都有支援。
在前公司也用過 Avro 這類的格式,主打的也是省資料大小。但現在應該還不會考慮改用這類要另外做 serialize 的格式。
主要是基於後端是以 Node.js 為主開發,JSON 已經是原生支援,再引入一種資料格式會增加前後端維護的複雜度。另外就是開發人力,新創小公司要儘量減少工作,目前可以順暢運作就好,還有其他更重要的事要做,等之後用量大了再改也不遲。
---
## 2. 減少傳輸量可以使用 HTTP server 的壓縮機制
這真的是忽略了,忘了 expressjs 只是一套 web framework,在上面對資料做壓縮其實會影響到效率。讓如 nginx 之類的 HTTP server 做壓縮應該才是更好的作法。
不過因為現在的 infra 是建在 heroku 上面,heroku 並沒有原生 nginx 的支援。等量大撐不住的時候,倒是可以優先考慮使用 heroku 的 buildpack 把 nginx 架上去試試 (https://github.com/heroku/heroku-buildpack-nginx)。
另外也有提到用 CDN 做動態壓縮,這就真的沒做過了,也是可以研究的方向之一。
---
## 3. 減少使用者打 server 的次數,加上 debounce time
這大家都主推使用 debounce 方式,前端沒玩很深的小編第一次碰到這個名詞是高職的時候。記得那時上課在教 8051,老師說按按鈕時要加上 15 - 20ms 的 debounce time,避免重複送外部中斷。小編對單晶片實在不在行,但大概記得是這個意思。
剛查了一下資料 (https://css-tricks.com/debouncing-throttling-explained-examples),前端的 debounce time 大概也是類似的意思。在輸入文字後,會 delay n 秒再送出,若是在 n 秒內又有打其他內容的時候,就把之前的 request 從 queue 裡面丟棄,只關注最後一次的 request 就好。
這個應該也是有效減少 request 量的作法了。
---
## 4. 減少使用者打 request 的次數,將已經送出的 request 取消掉
這也是一個不錯的作法,若 A request 已經送出去,但還沒回 response 時又送了 B request 的話,此時可以把 A request 取消。
但要注意就是 A request 目前正在執行的步驟是去 DB 拿資料,或是在 server 本身處理一些基本計算。之前在使用 Java (grizzly + jersey) 開發的時候,若有這種情況發生會常在 log 裡面看到 IOException。
原因是 server 已經準備好資料要回傳給 client,但發現 A request 已經取消,不知道要怎麼回傳時就會發生這個狀況。但也有可能是小編自己沒控制好收發的關係啦 XD
---
關於 Autocomplete 的三篇大概就到這篇為止啦,等上線之後做了哪些調整再來分享給大家知道一下。
#funliday #autocomplete #msgpack #debounce #nginx
web framework 比較 在 紀老師程式教學網 Facebook 的精選貼文
[學習資源] 奧丁計畫(Odin Project):一個免費學習網頁程式設計前台~後台完整知識的網站 -- 使用 Ruby on Rails 當後台語言/框架。
課程頁面: http://goo.gl/v8nRzN
首頁: http://goo.gl/1Engy4
#eLearning #WebProgramming #RubyOnRails #OdinProject
今天介紹給各位的,是一個稱為「奧丁計畫」的網站。該網站的宗旨是推廣網頁程式設計以及 Ruby on Rails 這套網頁後台框架(Frameworks)。站主從 2012 年開始學網頁程式設計,很希望能結交世界各地的同好一起研究討論,於是就把他所學的內容做成筆記,公開給大家,藉此呼朋引伴、切磋進步。
這個網站的最大優點是「學習順序清楚」、「版面清爽乾淨」。請各位點擊上方標示為「課程頁面」的連結,就會看到站主建議的學習順序。他列出的學習順序如下:
1. Introduction to Web Development
2. Web Development 101
3. Ruby Programming
4. Ruby on Rails
5. HTML5 and CSS3
6. Javascript and jQuery
7. Getting Hired as a Web Developer
我個人對於 (3) (4) 的順序有點意見。(3) (4) 屬於網頁後台,就我個人的教學經驗,對一個完全不懂程式語言的人先教後台有點複雜難懂。我會建議用: (1) -> (2) -> (5) -> (6) -> (3) -> (4) -> (7) 這樣的順序學習會比較好。大家可以試試看。
目前最常見的三大後台語言分別是:PHP, Node.js, Ruby。Ruby 作為一個程式語言本來沒啥特別的地方,但它跟 Rails 這套 Ruby 框架(框架 = Framework = 高人事先寫好、可直接套用的一些好用程式碼)搭配一起,用來開發網頁就很厲害了!簡單不出十個指令,一個網站就能從無到有、包含一個簡陋的前台與後台資料庫,都幫您建置完成!您只要稍微美化一下前台、加點客製化功能,一個看起來蠻像樣的網站就做好了!台灣 318 太陽花學運期間,用七個小時就架出一個理念說明兼募款功能的網站( http://4am.tw/ ),據說就是使用 Ruby on Rails 寫出來的。
今天推薦的這個網站大家覺得有用嗎?感覺大家對網頁程式設計比較有興趣,我也試著回應大家的喜好、特別找了些不錯的資源貼上來。如果您覺得不錯,就麻煩您按讚鼓勵一下、也讓我知道您想看這類學習資源。當然更歡迎您轉發分享給您 Facebook 的其他好友,讓大家一起學習、一起進步。我也會更努力找些超讚的資源,幫助大家體會程式設計的樂趣!