從2015年7月份加入一個初創型互聯網小公司,到現在已經半年時間了。在這半年時間里,有滿滿的收獲和感悟,今天記下來,等再過幾年和現在的自己對比看一下。
今天主要寫技術方面的,其它的各方面雖然都有或多或少的參與,但我加入的主要目的就是想辦法通過技術手段來把產品實現。
雖然只有短短的幾個月,但可以大約分為三個階段:1,初期搭建;2,中期輾轉;3,步入正軌
初期搭建
- 申請一台阿里雲服務器ECS,並配置(Java, Tomcat, Nginx)
- 申請一台阿里雲數據庫RDS
- 域名注冊(com相對貴一點)
- 域名備案
- 使用Spring框架初始化我們的第一個web應用
- 部署我們的第一個web應用
上面的這些步驟都是一些必備的條件,特別適合前期投資比較少的創業型公司。其中比較耗時間的是域名備案,流程不是很復雜,但是時間比較長。
完成上面的這些步驟后,我們就可以在瀏覽器中,輸入自己申請的域名進行訪問了。
中期輾轉
從現在開始,真正要關心的事情就要開始了,初期為了吸引用戶量,我們選擇從微信服務號出發,來完成我們的初期用戶積累。
大體步驟:
- 申請微信服務號,配置開發者模式
- 用Java來實現微信服務號api,開源分享: https://github.com/lemonbar/wxsdk
- 通過Spring MVC來實現web請求處理,通過Spring JPA來實現數據持久層
- 前端頁面通過React(ECMAScript 6和SASS)實現
- 緩存通過redis進行處理,可以直接安裝在阿里雲服務器上
- 圖片處理使用阿里雲的OSS對象存儲服務
這些步驟列出來簡單,但真正做起來,並用它們把產品完美的實現出來就是很高深的一門學問了。
其中確實有捷徑可走,那就是看官方文檔!!!
拿個簡單的css來舉個例子,對於一個新手來說,一看到css的各種介紹,各種視頻資料,各種屬性的使用,估計只是簡單的看一下介紹頭就大了。更不用說把所有的這些都看完了。
難道真的就沒有好的資料可以讓你對css快速的了解和使用嗎?答案是有,那就是官方文檔:https://www.w3.org/community/webed/wiki/Main_Page#CSS
把這個里面的前12篇文章看完,你就對整個css的框架和使用有了很全面的學習。
這里不得不重新強調一下,我們的技術團隊(就2個全職程序員)是從0開始學的前端開發技術和框架,在1個月的時間里面,完成了技術的學習和產品頁面(多達30個頁面)的實現。
最后,我們總結的經驗就是看官方文檔,因為作為初學者,你遇到的大部分問題(90%以上)都可以在官方文檔里面找到解決方案。稍微復雜一點的問題,也只是涉及到官方文檔里面的多個技術點而已。
另加一句:作為一個程序員,稍微復雜一點的技術問題就不要百度了,因為千篇一律,而且很多都是很老的帖子,使用到的產品都發布新版本了,你還在用舊的方法來解決問題,效果可想而知。
步入正軌
最后的一步,其實是工作方式的確定,那就是經典的敏捷開發模式。
因為團隊人少,溝通起來比較方便,每天早晨來到公司,先捋一下目前的進度,然后按照需求的優先級,安排當天的任務。不明白的地方,當場討論。
舉個簡單的例子,現在要做一個新的需求,也可以說一個任務。
可能一般情況下,直接把這個任務分配給一個人去實現就不管了,最后只是象征性的走一下代碼review和產品展示就ok了。
但這樣會有一個潛在的問題,那就是代碼以后維護的成本代價,因為每個人對同一個功能的實現是完全不同的。那怎么解決這種問題呢?
我們目前的解決辦法是在分配前,大家一起討論下代碼如何實現,主要包括下面幾點:
- api的定義,包括url,參數,返回值的結構等
- 服務層的接口定義
- 數據層的實體定義和數據庫的表結構設計
等這些都討論確定后,隨便找個人去實現就可以了。也許存在浪費時間的疑惑,但這個真的不會。
因為這是一個循序漸進的確定代碼風格的過程,讓大家在討論問題過程中,把知識的水平線慢慢的靠近,聚攏。
而且討論過程,也是一個逐漸完善的過程,因為每個人都有自己的想法和邏輯,可以利用討論來把好的想法都聚集到一起。
隨着時間的推移,大家的討論時間會慢慢變短,可能真的有一天,只需要幾分鍾就可以了。
趕在春節前,把這些先總結一下,放在這里吧。
寫的有點亂,先湊合看吧。