天天看點

不要讓我記住太多事——要學會“偷懶”

        随着時間推移,工作也小半年了。工作的這些時間,在工作之初的時候安心敲了點代碼,之後就開始了各種打更新檔的生活,每天這有問題解決這,那有問題解決那……

        到現在工作的公司後,接手的是一個項目,但是公司要向網際網路型發展,是以将這個項目當作産品來推廣,随之而來的就是大量的部署。而部署所需要的大量配置檔案卻是手動一個一個改的。讓人不能了解的是,項目是用Maven搭建的,但是當我對父項目進行Maven建構的時候,卻發現報錯,而問這裡的老員工,他們說這個不能編譯好久了……

        好在是通過咱們智能的eclipse,開發還可以進行。但是突然有一天,經理說要上自動部署,一切問題都暴露出來了。而自動部署是必須的,因為我們開發的時候,會開啟VPN,如果不用自動部署,我們需要手動往伺服器上傳打包好的部署檔案,上傳速度大家可以想象一下。再加上我們打包好的一個web應用有90多兆,印象最深的就是帶我部署的人告訴我操作步驟後,為一個使用者部署,用了多半天,還沒有弄好。還是第二天找了另外一個人又幫我弄了1個小時才弄完的。

        好吧,我承認,我太笨,部署一個使用者用了一整天。而部署熟練後,也需要半天。最可怕的是,不一定對,需要注意的點特别多。真心想吐糟一下,不過還是算了吧。

        後來的後來,自動化部署上了,随之而來的就是怎樣讓自動部署在多使用者的環境下也生效,并且操作快捷。這就是我後面會陸續出的部落格系列——Jenkins的一系列操作、配置。在這個系列部落格裡,我會告訴你,分層不隻是程式設計、網絡的專利,Jenkins也可以。而且中間還有一個小插曲,也會以部落格的形式展現,就是一個我對開發提出一個需求,而他毅然的說了一句不可能的事。

        現在我們部門就是用我搭建起來的自動部署的東西,上手很簡單,而且不同的使用者的配置采用的Maven的profile的形式進行分離,這樣,一個配置在多個配置檔案中配置多次的情形就可以使用這種方式降低複雜度,大大降低錯誤發生的機率。這個也會出現在系列中,雖然說網上已經有其它的博文了,但是我也會分享一下通過檢視源代碼所得到 的一個小資訊點,通過此小資訊點,可以讓你在寫profile裡面的properties檔案時,有一個更優的配置方式。

        這些都做完了,那麼是不是就可以安心做其它事了呢?我是一個比較容易厭倦的人,一件事讓我做的次數多了,我就會想着通過什麼形式改善現有的處境。現在就遇到了這樣的情景:

        雖然部署容易了,但是如果我們部門接手了100個使用者,那麼就是部署出去100套應用,當為某些事進行更新時,同時更新100個會怎樣?而且就目前我們的處境是,目前已有的使用者,所處版本還不一樣,就算一樣了,那麼如果更新忘了哪個,這也是一個麻煩事。

        是以最近在琢磨的一件事就是怎樣實作部署一套,多個使用者使用的問題。雖然公司目前也引入了新的NB的人在弄SAAS這個,但是弄出來的時間對于我們來說,太久了,真的等不了了。而就這一件事,也已有思路,但礙于已有的這個系統太複雜,涉及到的東西太多,是以還需要進一步規劃,并且确定出來難點。大家也可以就這個問題發表一下高見。

        這兩天就會跟經理提及此事,期間有小成果會與Jenkins的系列部落格交替出,而且在開始寫之前,會有一篇像今天這樣的部落格進行通知。

        其實解決這些事情用到的技術點并不算複雜,也不算難,甚至在我跟你說了怎樣怎樣做之後,你會說:哦,原來就是這樣弄啊,我也會。但是我們缺的就是一顆想要偷懶的心,我們總是想着這樣就能做,把這此手動一個一個替換一下就好,記着一共需要改多少個地,總是口口相傳卻總也不将之文檔化。

        關于文檔我想說的是,文檔所寫的内容在真正被人看到時,及有可能已經與現實不符,但是那是我們應該盡可能保證的。就算有不一樣,那至少大部分對于一個新人來說還是很有用的。文檔對于目前正在開發的人來說,用處遠沒有一個剛剛加入的員工意義重大。我剛進來的時候,多麼希望能有一個像樣的文檔來教下我怎樣怎樣做把環境搭建起來,而現實是一會一個人過來幫忙。

        要知道,公司給你付錢不是要你來這一個一個的教新人怎樣怎樣做的,你有這時間把文檔一寫,讓他照着做,有不懂的問你,這樣你不就省出來時間了去做更多有意義的事了麼?

        最後的最後,以一段讓人看了很有感悟的話結尾:編寫文檔也是我們更好地學習和享受生活的需要。“勤勞的中國人”生怕在工作中空下來,喜歡樂此不疲地重複解答别人所問和身體力行地傳授自己所能。難道不能寫成文檔與人分享,然後空出時間來學習和享受生活?(好吧,“IT民工”沒錢沒生活,起得比雞早,睡得比狗晚。自找的!)

繼續閱讀