前言最近十天公司接了個(gè)新需求-“開發(fā)一個(gè)基于微信小程序的記賬工具產(chǎn)品”。秉著對(duì)新技術(shù)的熱愛,猿哥開始了一邊學(xué)習(xí)一邊開發(fā)的探索之旅。第1條經(jīng)驗(yàn)涉及到金額計(jì)算的地方一定要小 ...
前言
最近十天公司接了個(gè)新需求-“開發(fā)一個(gè)基于微信小程序的記賬工具產(chǎn)品”。秉著對(duì)新技術(shù)的熱愛,猿哥開始了一邊學(xué)習(xí)一邊開發(fā)的探索之旅。
第1條經(jīng)驗(yàn)
涉及到金額計(jì)算的地方一定要小心,MySQL數(shù)據(jù)庫的對(duì)應(yīng)字段應(yīng)該設(shè)置為bigint類型,保存的單位為分(0.01元)。
小程序需要申請(qǐng)一個(gè)ssl安全證書,推薦大家使用https://letsencrypt.org/的免費(fèi)證書,然后進(jìn)入https://certbot.eff.org/,選擇https://certbot.eff.org/#centos6-nginx證書類型,并按照文檔在本機(jī)生成證書,證書有效期是三個(gè)月,但是可以使用crontab任務(wù)去更新證書。certbot的官方文檔描述截圖如下:

( 英語弱的莫怪猿哥,自己下載個(gè)有道詞典 )這樣,你就擁有自己的免費(fèi)https證書了,此證書可以在本地開發(fā)時(shí)使用或者也可以設(shè)置微信開發(fā)者工具免校驗(yàn)https證書。
第3條經(jīng)驗(yàn)
使用vagrant部署你的開發(fā)環(huán)境,第一步使用https://lnmp.org/下載lnmp1.3正式版的一件安裝包,并在本地部署完成開發(fā)環(huán)境,然后使用安裝包里面的addons.sh安裝對(duì)應(yīng)的redis等中間件和php擴(kuò)展,這里猿哥選擇的是PHP5.6,MySQL5.6等較為穩(wěn)定的版本快速部署。后期猿哥打算完全接入Docker進(jìn)行快速移植。
接口文檔編寫,猿哥使用了方便快捷的https://team.oschina.net的多版本文檔管理工具,特別適合管理項(xiàng)目的數(shù)據(jù)接口文檔。
記錄每一個(gè)進(jìn)入異常流的請(qǐng)求參數(shù)和響應(yīng)結(jié)果到日志中,便于分析問題。
盡量多使用composer來管理你的依賴庫,curl請(qǐng)求猿哥直接去https://packagist.org/搜索了一個(gè)star和下載目前最高的一個(gè),截圖如下:

前端傳過來的昵稱和備注信息一定要經(jīng)過嚴(yán)格的正則表達(dá)式過濾,放置出現(xiàn)XSS等攻擊,另外emoji字體表情庫應(yīng)該使用base64_encode編碼,拿信息的時(shí)候base64_decode解碼即可。
為了快速定位出每一個(gè)異常分支,我們應(yīng)該在每一個(gè)action里面定義一個(gè)錯(cuò)誤碼,稱作code,然后定義一個(gè)status參數(shù),其中code在一個(gè)action里面必須有序出現(xiàn)并且只能出現(xiàn)一次,另一個(gè)參數(shù)status猿哥一般使用“{$moduleId}_{$controllerId}_{$actionId}_{$code}”來唯一表示本次異常流分支。
創(chuàng)業(yè)公司不要通過口述的方式來記錄需求,謹(jǐn)防前后變動(dòng)不一眾口難調(diào)。高級(jí)程序員應(yīng)該學(xué)會(huì)合理拒絕開發(fā)需求,而不是一股腦地“ 需求來了,我就收下,因?yàn)槲液竦?nbsp;”。聰明的程序員應(yīng)該學(xué)會(huì)保護(hù)自己,看到某些明顯不夠清晰合理的需求一定要通過書面的形式(例如電子郵件)反復(fù)詢問清楚后再做,一定要盡量在開發(fā)前想清楚。請(qǐng)一定要記住并不是“人人都是產(chǎn)品經(jīng)理”,你不能完全相信產(chǎn)品汪,他(她)有時(shí)候兼職就是推卸責(zé)任的辣雞!??!
答應(yīng)別人的事情應(yīng)該盡量提前一點(diǎn)完成,要么不答應(yīng),要么提前一點(diǎn)完成就可以給自己留一點(diǎn)時(shí)間思考一下可能做得不夠周到的地方,逐步完善,工匠精神,提高自己的技術(shù)水平。
小廣告:
微信小程序搜索“ i愛記賬 ”即可體驗(yàn)我們的產(chǎn)品,第一版的功能比較簡(jiǎn)單,不過我們后期會(huì)把程序做得越來越完善,謝謝支持。