2019年9月17日 星期二

protobuf-deserializer網站開發 [線上反序列化Google Protocol Buffers的網站]

前陣子趁下班幫同事寫了一個線上deserialize google protocol buffer的靜態網站, 比起用Tool去deserialize資料, 直接有個網站可以拖拉檔案的方式看檔案內容感覺會方便許多(就是快個幾秒啦XD)

上面的網站因為我不想在公司還要maintain一個server, 所以是把所有需要的proto檔案編譯成一個javascript library, 在push到github頁面做成靜態網頁, 好處是這樣我就不用maintain server了, 相反的壞處是只要proto schema有變動, 我就得重新編譯js檔在重新push上來。

後來反正不知道哪根筋不對, 想說這樣我就來做個通用的Google Protocol Buffers deserialize網站就好啦(怎麼又回到原始需求了, OMG!!!), 不過因為公司要用的已經做好了, 那這次我想做的就當我的side project吧~。

回到需求面來說, 這東西只有工程師會用得到, 而大部分工程師有pb data就代表它早就已經有寫好序列化/反序列化的程式了, 所以這東西基本上就是個做來自爽的東西, 不過轉心一想, 網路上也一堆base64編解碼的網站, 就算真的有tool可以用, 可以直接拉個檔案就出來視覺結果應該也是比較方便的吧?  只能這麼說服自己了, 就當練功囉, 還能前端後端一起長經驗值....。

做好的網站demo如下:




網站位址: 


這次的圖一樣是請我哥畫的, 它這次畫的背景我覺得很不錯~~ 蠻Happy的XD

另外關於網站的原理其實很簡單, 使用者先上傳想要deserialize的proto schema, 之後後端Server會根據使用者上傳的proto檔案去生成對應的javascript library, 在response給user對應的js檔案位址, 之後載入這個js檔之後就能解想解的proto buffer data了。

做了這個小網站之後, 我的Azure VM終於不再只為了MahoMangaDownloader做update server用, 總算又多了一件事可以用VM資源, 不然只做update server每個月繳300塊給M$真的有點瞎XD

在來先悠閒個幾天, 在想想之後要做什麼吧, 希望能想到有趣的好點子哪~~~。


沒有留言:

張貼留言