分享一下第一次和別人開發項目的心得
前言:哈哈,最近好久沒更新博客了,如果看了標題,想必已經猜到了這段時間在幹什麽?嘻嘻,對安全狗第一次開發項目。
大二專業分方向的時候我毫不猶豫地選擇了安全方向,當時的想法非常單純,我不會敲代碼,沒有做過項目,所以我要選擇安全方向,(一入安全深似海呀)當時天真地以為只要做了安全就再也不用敲代碼了,只要學會使用別人的工具就可以了,真是一句句too young too simple 送給當時的自己。
大概也就是一個月前,我的好朋友張飛(肯定不是真名啦),跟我說最近有一個微信小程序大賽,要不我們一起合作寫一個項目吧!當時聽到這話的時候,一個大大的黑人問號映入了我的眼簾,納尼你是不是找錯人了,我是安全狗呀,開發項目不應該找我呀,張飛回答道,我想結合你的安全知識和我的開發知識開發一個好玩的東西.可是我在開發方面是零基礎,零經驗呀,到時害怕耽誤項目的進程……張飛回答到你負責微信小程序端的實現,我負責後臺的實現,node.js還有PHP(當時張在猶豫是用PHP開發後臺還是用node.js,最終還是選擇使用了node.js)開發後臺我也是零基礎,剛好我們可以現學現用,學以致用,我唯唯諾諾地答應了.
項目進行的前一個星期,可以說我負責的前端是毫無進展,當時就一個簡單的問題都迷惑了我好幾天,我前臺的數據怎麽插入到後臺的數據庫,我一直在想怎麽實現這個差不多想了有兩天,想的非常困惑,無意之間看見關羽(哈哈,另外一個好哥們)也在做後臺,當時我就問:關羽,你前臺的數據怎麽傳入到後臺然後再插入到數據庫中呀,關羽很吃驚地看著我,然後淡淡地說了一句:這不很簡單嗎,你不知道request請求嗎,(實在是太垃圾了,他說了這個我不是很明白,因為沒開發過項目,所以不知道一個稍微大型的軟件是怎麽運行的),我就很不要意思地說了一句哦我知道了,其實我還是不知道。
我在百度上百度了一下,這才知道,原來request請求就是客戶端向服務端請求,而且最常見的請求方式有post get這不是burpsuit 上抓包上的數據報頭嘛,這也反應了一個問題就是我在學知識的時候很多原理性的東西沒有搞明白,所以才會出這麽大的洋相,而且request已經被微信封裝好了的,這就和python 中爬蟲一個原理,看到這裏的時候在我心中徘徊兩天的問題終於清楚了。
在接下來的三四天我就開始熟悉微信開發的規則,也就是幾個文件之間的聯系,wxml,wxss,js,json。由於微信的開發規則幾乎是全部繼承了html,js,css的規則,所以使用和理解起來也不是很難,但關鍵是……js,html這種東西之前隨便玩過,真的要拿來開發項目,以前的知識儲備是遠遠不夠的。由於這個問題就導致了我在寫微信前端的時候進程很慢,哈哈其實張飛也很慢啦,但是人家慢是因為在設計後臺數據庫還有借口,我之所以慢是因為不會(┭┮﹏┭┮)由於進程很慢我一度產生了想退出的想法,但是想到既然張飛主動找我那說明張飛還是很相信我的實力的嘛?這裏就要感謝張飛在開發過程中循循善誘,以及不厭其煩地幫我解決問題,這種狀態打開持續了一個星期,經過這一個星期的磨練,我已經具備獨立開發獨立解決問題的能力,所以後面兩個星期進程就很快了,最終在昨天(也就是星期六)完成了全部的任務,然後我就張飛說:”我要撂挑子不幹了”,因為我的雅思考試是在六月份嘛,因為之前開發這個項目,已經占據了我幾乎全部的空閑時間(主要是由於之前不懂所以花費了大量的時間來熟悉基礎的東西),張飛也很快同意了.經過這一月的開發我覺得收獲還是挺多的,就比如說前端與後臺的交互,之前對很多攻擊比如sql註入,xss,輸入驗證呀,還有弱密碼等等的理解實在太片面了,太表皮了,很多內部的原理不是很明白,這次開發的經驗可以說對我以後學習的借鑒意義和大,下面我總結了一下,在寫作開發過程中的一些註意點(當然可能都是一些很基本的東西,以前沒有協作開發過,所以這些問題一直沒有註意過)
(1) 協作開發代碼一定要規範,改寫的註釋一定要寫清,而且前後臺使用的變量名一定要一致,這對後續程序出了問題,解決問題很重要。
(2) 開發之前盡量實習相關的官方文檔,其實在開發過程中,你能遇到的問題,官方肯定也遇到過,所以官方會把一些,不好解決的或者經常使用的函數給封裝起來。
(3) 不要畏懼困難,對不懂,不會的東西,一定不要害怕,只要你肯花時間,就肯定解決。
(4) 團隊開發的時候要多交流,就拿張飛來說吧(當然他寫的後臺接口已經非常完美,而且灰常規範)他寫的接口其實在真正調用的時候也是會出現一些問題的,遇到問題的時候我經常跟他交流,他也在不斷改進接口。
下面就分享一下我們的項目結果(#^.^#)嘻嘻(主要功能實現了還沒進行美化)
後記:網安學習之路不能僅僅學習怎麽使用工具,其實如果原理沒搞清很多工具也不會用的很好,(* ̄︶ ̄)加油
分享一下第一次和別人開發項目的心得