最近遇到的案子需要驗證 API 回傳的 JSON 架構,第一時間當然就是去翻 Postman 的文件。
Postman 裡分別用了 tv4 和 Ajv 這兩個函式做為驗證 JSON 結構,就稍微啃了一下四散各地的文件。
首先找到的是 tv4 的 github repo 上的文件:Tiny Validator (for v4 JSON Schema) 。
但是因為範例不大夠,不知道怎麼定義 schema 的部份,又去點了最上面的 json-schema draft v4 的連結,得到第二份文件:JSON Schema: A Media Type for Describing JSON Documents。
第二份文件裡說關於驗證的部份另外在一份文件,於是得到第三份文件:JSON Schema Validation: A Vocabulary for Structural Validation of JSON。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
今天遇到的例子,記錄一下。
原本是單純呼叫 time() 的程式,所以在測試的時候總是會遇到預期的資料比實際跑的資料快一秒或慢一秒的問題。
之前不曉得怎麼解,於是先在測試群組標記了 @group timestamp-flaky 做記號。
今天偶然間看到自己有在用的套件 Carbon 內建的測試函式 setTestNow() ,試了一下可以滿足需求。
首先是把程式裡呼叫到 time() 的部份改用 Carbon::now() 代替。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
收到一個需求是做 API 測試,自然想到碰過的工具 Postman 。
在工作機上安裝好 Postman App ,就開工了。
拿到的是 API 的參數資料。支援的參數數量不多,加上是第一次用 postman 做測試,很多方法都是邊試邊改。
- 根據 API 參數利用邊界值組出測試案例,丟在同一個 Collection 底下。
- 用 Collections 的資料夾功能,分類成階層資料夾。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
三樓。
小房間內外來來去去,坐過不少位置,印象中有門口席、背對門口席、背對門口左側、裡二排某席、外側原本牛奶蛋區的藍色隔板位子,就是沒坐過最裡面的面壁排。
專案開開關關,美食搖一搖、部落客 App、上傳精靈、電影圈、娛樂丸、NBA、MLB、痞一物、7Headlines、今天吃什麼、VIP 改應用市集、化妝台改 styleMe、下方功能 bar、換成上方 top bar、再換成 navigation bar、文章標籤、共筆、相簿改版、手機版頁面、2015 後台改版、curation、換成 curator、Jenkins、豐掌櫃、廣告系統、數據系統、登入改版、留言改版、通知系統、名片頁復活、後台動態牆改興趣牆、主題頁改邦邦加小圈圈復活、痞客邦APP……太多太多了。(我到底在三樓經手了多少專案……)
會議室的名字從國際觀的東京紐約倫敦(結果員旅都不是去這些城市),到用產品名稱(結果產品的生命週期有夠尷尬)。會議室除了開會的記憶,還有練舞的記憶;中午不吃飯先練舞的日子怕是很難再重現了。
路的對面是大同高中的一角,台灣欒樹靜靜地在馬路的另一側。不知道偶爾出現的喜鵲是否還安好?
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
工作上因為種種原因導入了 Trello 。
這幾天因故需要大量開 Trello 卡片,於是稍微研究了一下。
發現官方出的 Trello app 可以支援快速鍵,就拿要開的卡片來試。
試完以後立刻拿去推銷其他同事使用。
雖然我們的流程應該和多數的看板團隊可能不大一樣,不過我們還是有一個類似「待辦」的清單。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
在 flickr 還沒賣之前,要登入 Yahoo! 的二階段認證其中一個方法,就是用 flickr app 裡的「帳號金鑰」功能登入。
前陣子發現 flickr app 點帳號金鑰會顯示一個「這個應用程式很快就會支援 Yahoo 奇摩帳號金鑰功能」,看起來是把功能拆掉了。
對照前陣子 Yahoo! 自己出了一個就叫「Yahoo 奇摩」的 app ,試了一下果然在新的 app 已經支援帳號金鑰功能了。
然後剛在登入桌機版時,意外發現 Yahoo 登入頁下方多了一個使用 facebook 登入,這以前好像沒有啊?
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
自從古早以前公司配的 Windows 工作機走入歷史之後,就一直是配 mac 筆電工作兼開會,而 .cshrc 一直是沿用多年前新人報到時前人複製給我的檔案修修改改而成,很多設定都沒什麼動。
剛想要調 man 的輸出顯示,查到其中一個參數設定叫 LESS_TERMCAP_mb ,結果丟到估狗發現第一筆是 othree 的文章:彩色 man page ;原本想說設定照抄就好了,結果下面 Disqus DK 的回應是:
「其實把 less 改用 most 就好了?」
於是就 brew install most ,然後把 .cshrc 裡的 PAGER 換成 /usr/bin/env most ,再用 source 重新載入 .cshrc 後下個 man man 測試,覺得可以,收工。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
由於工作上的需要,找了可以在 mac 上免費讀取及編輯 EXIF 的工具。軟體的名稱也很直覺,就叫 exiftool 。
它是命令列形式,所以如果想要找圖形介面工具的話,就得用其他軟體了。
下載的方法是直接點頁面上的 Download Version ,我下載的是 11.06 。
下載完以後依照 Install 這頁的 Full Perl Distribution 教學,把下載完的檔案解壓縮以後,把必要的檔案丟到指定目錄,然後開 terminal 輸入 exiftool 就可以動了。
這次用到的指令有幾個,簡單記一下。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
應同事 win 邀請,野人獻曝 2017 年在零散的工作時間裡,對公司某個 PHP Legacy Code 專案作 Code Coverage 改善的心得分享。
大綱:
- What is legacy code, in my point of view
- Preparation
- Attempt #1: Random improvement
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
以前沒特別留意,只知道需要跳脫單引號、雙引號和反斜線。最近做了一個專案,才發現以前的認知有點落差…
PHP 提供的處理函式 mysqli_real_escape_string() 有跳脫部份字元: NUL (ASCII 0), \n, \r, \, ', ", ^Z 。
在 MySQL LIKE 的說明中,清楚指出可以用 % 和 _ 做為特殊字元搜尋,因此要搜尋原本的 % 和 _ 必須加上反斜線,也就是 \% 和 \_ 。上面提到的 mysqli_real_escape_string() 沒有做這件事,所以要自己跳脫。
說明中也特別指出這次搞混的部份:當需要在 LIKE 中搜尋原本的 \ 字元時,必須做雙重跳脫,也就是 \\\\ 才行。
另外也找到了欄位跳脫的方式:重覆一次反引號 ` 而不是加反斜線。
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
無意間發現 Chrome 有針對 XSS 做保護機制。如果伺服器端什麼都沒有設定的時候, Chrome 會把這個機制叫出來,叫做「XSS Auditor」,預設開啟,以免被惡搞:
把關鍵字丟進 Google 餵食,發現不少人和我一樣想要試試看把它關掉。
方法是先把所有開啟的 Chrome 關掉,然後直接透過命令列下參數 --disable-xss-auditor ,以 Mac 為例:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --disable-xss-auditor
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()
收到偽裝成來自 KKBOX 的垃圾郵件。查了一下域名, whois 資訊基本上就是亂填,地址「板橋中山路一段156-3號」是大眾銀行板新分行的地址,也就是假的。
從域名註冊日期在今年 2 月 8 日來看,是初一就開工的意思⋯難怪台灣會是過勞島(無誤)。
總之先用 gmail 封鎖功能擋掉⋯
repeat ❤️ 發表在
痞客邦
留言(0)
人氣()