自2023年開始做開發工作,一直在編寫和維護服務端與客戶端的介面,把一些自己感覺重要的東西以及遇到的問題記錄下:
1.介面;寫介面之前先仔細看過並理解好需求。需求的重要性就不必重談了。要與客戶端編寫人員定義好介面,最後以文件形式存放到專案共享文件中,定義好相應的錯誤碼和錯誤提示內容。介面盡量簡潔,易維護,複雜可以由簡單組成,否則後期修改比較麻煩。修改介面盡量不改變原來定義的請求和返回字元。
2.安全性;一定要事先規劃好各個介面的安全級別,不同類別的介面驗證不同的許可權。服務端編寫過濾器對未登入、字元不規範進行攔截。重要操作記錄日誌,重視日誌的重要性。在介面中增加引數驗證機制,對不符合要求的請求引數,返回錯誤碼。
3.傳輸資料;客戶端向伺服器傳輸資料盡量採用編號標識。伺服器端給客戶端的資料要做必要的排序,補空。盡量不要傳輸太多不必要的資料,消耗過多網路流量的話使用者會不樂意
專案進展過程中遇到的問題:
1.客戶端設定解析格式不正確,導致中文亂碼。
2.注意常量的重要性,對一些重要資料做成常量便於根據需要動態配置。
總結:客戶端的伺服器既要考慮到其他非客戶端需求,還要平衡好與客戶端的功能劃分,哪些應該由伺服器提供,哪些由客戶端處理都是需要好好**的。暫時寫這些吧,以後有新的總結了可以補上來
客戶端優化經驗
從專案中積累了一些客戶端效能優化經驗 1.目前專案的在手機上跑,記憶體占用最大的是ui。在profile下看,一張2048的大圖集占用的記憶體比一張1024的圖集占用的記憶體要多出一倍,大概8m。所以優化方案是拆分圖集,把大圖集按功能分割成若干小圖集 做成1024 1024 把單獨的大圖獨自拉出來用...
客戶端介面AGENDA
周二上午 完善客戶端功能 介面定義。周二下午 助教審查客戶端 審查完成之後將發布介面定義。總之謝謝大家的支援。我們會盡量降低互動難度,讓各位親把精力專注於演算法設計上面。可以使用任何支援tcp協議的語言。使用我們暴露的介面。如果不想寫通訊方面的東西,可以使用我們提供的c 客戶端 請將客戶端中提交隨機...
關於客戶端介面分頁sql語句
今天突然翻到為客戶端寫分頁資料的sql,發現其實邏輯不對。列表是按照id降序的 當時這樣寫的 翻上一頁 select 字段 from 表 where id lastid order by id desc limit pagesize 翻下一頁 select 字段 from 表 where id la...