前言最近十天公司接了個新需求-“開發(fā)一個基于微信小程序的記賬工具產(chǎn)品”。秉著對新技術的熱愛,猿哥開始了一邊學習一邊開發(fā)的探索之旅。第1條經(jīng)驗涉及到金額計算的地方一定要小 ...
前言
最近十天公司接了個新需求-“開發(fā)一個基于微信小程序的記賬工具產(chǎn)品”。秉著對新技術的熱愛,猿哥開始了一邊學習一邊開發(fā)的探索之旅。
第1條經(jīng)驗
涉及到金額計算的地方一定要小心,MySQL數(shù)據(jù)庫的對應字段應該設置為bigint類型,保存的單位為分(0.01元)。
小程序需要申請一個ssl安全證書,推薦大家使用https://letsencrypt.org/的免費證書,然后進入https://certbot.eff.org/,選擇https://certbot.eff.org/#centos6-nginx證書類型,并按照文檔在本機生成證書,證書有效期是三個月,但是可以使用crontab任務去更新證書。certbot的官方文檔描述截圖如下:
( 英語弱的莫怪猿哥,自己下載個有道詞典 )這樣,你就擁有自己的免費https證書了,此證書可以在本地開發(fā)時使用或者也可以設置微信開發(fā)者工具免校驗https證書。
第3條經(jīng)驗
使用vagrant部署你的開發(fā)環(huán)境,第一步使用https://lnmp.org/下載lnmp1.3正式版的一件安裝包,并在本地部署完成開發(fā)環(huán)境,然后使用安裝包里面的addons.sh安裝對應的redis等中間件和php擴展,這里猿哥選擇的是PHP5.6,MySQL5.6等較為穩(wěn)定的版本快速部署。后期猿哥打算完全接入Docker進行快速移植。
接口文檔編寫,猿哥使用了方便快捷的https://team.oschina.net的多版本文檔管理工具,特別適合管理項目的數(shù)據(jù)接口文檔。
記錄每一個進入異常流的請求參數(shù)和響應結果到日志中,便于分析問題。
盡量多使用composer來管理你的依賴庫,curl請求猿哥直接去https://packagist.org/搜索了一個star和下載目前最高的一個,截圖如下:
前端傳過來的昵稱和備注信息一定要經(jīng)過嚴格的正則表達式過濾,放置出現(xiàn)XSS等攻擊,另外emoji字體表情庫應該使用base64_encode編碼,拿信息的時候base64_decode解碼即可。
為了快速定位出每一個異常分支,我們應該在每一個action里面定義一個錯誤碼,稱作code,然后定義一個status參數(shù),其中code在一個action里面必須有序出現(xiàn)并且只能出現(xiàn)一次,另一個參數(shù)status猿哥一般使用“{$moduleId}_{$controllerId}_{$actionId}_{$code}”來唯一表示本次異常流分支。
創(chuàng)業(yè)公司不要通過口述的方式來記錄需求,謹防前后變動不一眾口難調。高級程序員應該學會合理拒絕開發(fā)需求,而不是一股腦地“ 需求來了,我就收下,因為我厚道 ”。聰明的程序員應該學會保護自己,看到某些明顯不夠清晰合理的需求一定要通過書面的形式(例如電子郵件)反復詢問清楚后再做,一定要盡量在開發(fā)前想清楚。請一定要記住并不是“人人都是產(chǎn)品經(jīng)理”,你不能完全相信產(chǎn)品汪,他(她)有時候兼職就是推卸責任的辣雞!!!
答應別人的事情應該盡量提前一點完成,要么不答應,要么提前一點完成就可以給自己留一點時間思考一下可能做得不夠周到的地方,逐步完善,工匠精神,提高自己的技術水平。
小廣告:
微信小程序搜索“ i愛記賬 ”即可體驗我們的產(chǎn)品,第一版的功能比較簡單,不過我們后期會把程序做得越來越完善,謝謝支持。