版權聲明:本文由李宜東原創文章,轉載請注明出處:
文章原文鏈接:https://www.qcloud.com/community/article/116
來源:騰雲閣 https://www.qcloud.com/community
我叫李宜東,是一名華中科技大學的大二學生,一名網站開發的萌新,在大一上半學期,就想做一個我們班級專屬的網站,方便同學們(方便我這個學委偷懶)。
下面放出我的網站信息架構、技術組合和從一個小白成長到現在一個小小工作室負責人的一些經驗分享。
一.當前網站信息架構
二.網站運行環境及技術組合
注:左側為現在的技術組合,右側為未來可能選擇的組合
三.騰訊雲上環境的搭建和代碼托管:
- Windows : UPUPW , WAMP 或者按文檔手動安裝
- CentOS7 :我們的工作室的同學寫的完整安裝文檔
- 代碼托管:GITHUB 項目地址
四.經驗分享
從一個大一小白開始,我是如何在不到一年的時間從前端到后端搭建起自己的網站呢,又為何選擇這個技術組合,踩過什么坑呢?
學習及開發經驗
- 利用網上平台,慕課網,實驗樓,極客學院等等許多免費的學習平台都是很好的學習途徑。
- 會用插件,多 Google , StarOverFlow 上有很多問題的解答
- 最重要的還是保持對編程的熱情,做編程會占用你大量的時間,如果沒有興趣是很難堅持下來的,多做點自己想做的,往往可以帶來學習的動力。
- ……
如何偷懶
- 環境配置篇:一鍵化安裝,注意留存或收藏環境配置的文檔,開發環境更新做好備份。
- 團隊協作篇:使用團隊協作工具如 GITHUB ,良好的版本控制和工作流會減少沖突的代價,重要的是別人的代碼不亂改:)
- 輪子篇:合理利用現有的開源組件而不是一味造輪子,基於模板 /框架的開發會迅速很多。
- 重構、封裝篇:不要老想着重寫代碼,可以嘗試將已有的服務封裝為服務,在不改動底層的情況下進行開發:)
- 編輯器篇:好的編輯器的代碼補全,快捷鍵可以省不少時間。
選擇當前技術組合的原因:
- 前端的變化:現在 HTML5 和 CSS3 使用越來越廣,同時出於這學期響應式設計的需要,前端從最初的 HTML,CSS,JavaScript 轉向了 HTML5,CSS3 和 jQuery ,也開始使用更多的插件。
- 后端語言及框架選擇:在性能要求不高的前提下, php 無需編譯,學習成本也比較低,容易上手,但是也因為這個原因,所以需要使用框架來使項目結構和編碼規范更清晰一些,而 ThinkPHP 作為流行,文檔較完善的國內 PHP 框架被我作為首選。
- 數據庫選擇 MySQL 的原因: PHP 的良好支持, phpmyadmin ,開源免費. 最后由於一些校內網站數據的收集和四六級成績的查詢使用了 Python 來做網絡爬蟲
- 服務器的選擇:騰訊雲學生服務器 1 元支持 : ),訪問快,穩定性比較好
技術上踩過的坑:
1.最初使用 MVC 框架時,沒有模型的概念,把數據庫操作也寫在了控制器,維護、復用和擴展都很麻煩。
2.數據庫最初設計沒有考慮擴展性,最近數據庫向高版本遷移時懶得導出 sql ,復制了 data 目錄到高版本 MySQL,然后數據異常,至今個人論壇還沒來得及恢復數據。
3.最初密碼設計只做了簡單的 md5 加密,導致現在也沒能加字符 md5 。
4.開發文檔和項目文檔的編寫,有一天,突然翻到之前的文檔,發現我寫的代碼已經偏離最初設計(軟件課設作業:學生管理系統),成了班級網站:), mark :更新日志
五.網站截圖:
首頁
學生登陸頁面
個人信息頁
部門招新
六.結語
這樣,我上學期在一元服務器上折騰出了班級網站,這學期,我想將全站做成響應式網站,做出更多方便同學的功能。最后,感謝騰訊雲給了同學體驗雲服務的機會,也希望其他同學也可以在雲上做出自己想要的網站 /App 。