正文

IT 入門 實戰篇 (14) 自己動腦子

(2014-12-19 21:38:10) 下一個

剛開始做論壇,有一個問題就是如何使服務器上的文件和家裏做開發的 pc上的文件同步。做一個功能,要涉及很多文件,這些文件可能分散在多個不同的 folder 裏麵,用手動是不現實的。

第一個想法就是用代碼管理軟件。我在家裏裝了 svn 服務器,把源代碼都放進去了。但是去網站的服務器一看,沒有 svn。一搜,發現果然不支持。

服務器雖然不支持 svn,但是容許把他們的 folder 設成我家裏 pc 上的一個 drive。如此一來,我就可以在 local 用 svn 了。

試了一下,不工作。用給出的錯誤信息 Google 了半天也沒有結果,隻好另想辦法。



剩下的辦法就是用文件同步軟件。俺試了好幾個,最後決定用一個叫 freefilesync 的軟件。這個軟件功能很強,但是有兩個很煩人的怪癖。

第一,每一次 sync 它都要比較所有的文件。網站的軟件一共有一千五百多個文件,它要一個一個地跟服務器上的文件去比較。雖然每一次比較也不花太多時間,但是看它那麽笨,每次都忍不住想踢它一腳。為什麽不讓用戶選擇隻比較 local 文件的 timestamp 呢?

第二,比較完所有的文件以後,它不會自動地去 sync。你需要按另外一個鍵。這個隻能用無腦來解釋了。很多次我以為做完了,好一會才發現沒有按這個第二個鍵。

有一天我又忘了按這第二個鍵,俺終於無法忍受了,決定另想辦法。



幾年前俺剛上肉臉的時候,寫了一個有關找工麵試的係列文章,裏麵有好幾篇談自信。

關於自信,俺的一個觀點就是,不自信的人,腦子裏有一個電阻。越不自信,這個電阻越大。即使有一定自信的人,這個電阻也是存在的。這個電阻的作用,就是阻止我們自己動腦子,很多時候往往是潛意識的。

PC 和服務器的 file sync,俺一直沒有意識到自己能解決。俺花了好幾個小時,研究了好幾個軟件,最後選擇的一個仍然不理想,用起來很 frustrating。

等俺被迫自己想辦法的時候,發現不光有辦法,而且辦法很簡單。俺在 pc 上做 svn update 的時候,svn 會打出一些 log 信息,說加了什麽文件,改了什麽文件,等等。俺隻要截住這些信息,在裏麵找到文件名,然後把這些文件拷貝到網站服務器就行了。

不到半個小時,俺就解決問題了。原來要分三步做的事情,現在隻要一步。原來要從服務器上查上千個文件,現在一個也不用查。原來要一分鍾,現在隻要幾秒鍾。原來會忘記做最後一步,現在沒有第二步可做。

#!/bin/zsh
#
lines=`svn update`
for line in $lines do
   if [ -e $line ]; then
      dirname=`dirname $line`
      echo $line $dirname
      cp $line w:www$dirname
   fi
done


不自信就像電阻,它看不見,摸不著,你根本就不知道它的存在。事情沒有做成,俺們總覺得是自己能力不足,其實很多時候是這個電阻在作怪。

有一天老婆回家,說一個數據庫的問題很複雜,她和一個同事折騰了一個下午都沒有做出來。俺是做 Java 的,數據庫的東西不常做,而且每回做的都很簡單。 老婆在數據庫方麵的經驗要比俺多的多。

俺的經驗雖然比不過老婆,但是在自信方麵遠勝過她。俺覺得,數據庫編程,無非就是一個 join,join 無非就是把表A的每一行接上表B的每一行,然後再做取舍。隻要照這個思路想,再複雜的東西都應該能搗鼓出來,雖然方法可能會很笨。

老婆把問題跟俺一說,果不其然,俺不到一個小時就搗鼓出來了。

老婆的經驗比俺強,但是她幾個小時都做不出來的東西,俺一個小時就做出來了。為什麽?因為她下意識地不相信自己能做出來,她腦子裏的那個電阻太大了。



幾年前剛上肉聯,俺寫過一個找工麵試係列,裏麵有不少幾篇談到自信。俺的自信篇裏,一個主要觀點,就是自己動腦子是克服不自信的好辦法。

不自信的人總覺得自己不行,總覺得其他人都比自己好。腦子動多了,你就發現事實並非如此,然後你就自然而然地變得自信了。

多動腦子,你就常常會發現兩種情況。

第一,大部分事情有許多種不同的做法,別人能做,你也能做,結果沒有什麽優劣,隻是方法不同,角度不同。比如美人辦事講民主,你辦事搞獨裁,各有千秋。

第二,大部分人都是不動腦子的,你稍微動些腦子,就會有很多機會比其他人做的更好。這個第二點,有一個例子俺覺得很好。

用戶界麵裏經常要用到的一個東西叫 list box。你點擊一下 list box,一個窄窄的長長的單子就會掉下來,你在裏麵選一個。這個單子往往會很長,比如很多網站都有的選擇國家的 list box。因為太長,這些 list box 往往需要 scroll bar,有時候要 scroll 好幾下才能找到你要的選項。

N 年前俺剛去華爾街打工,俺就覺得這個 list box 很不 user friendly。俺主動跟老板建議把它做成一個NxN的方塊,這樣所有的選項就能全部展示出來。沒有 scroll bar,不光是一目了然,而且選起來動作也小不少。

從那以後,俺每到一個地方,都會把 list box 變成一個 NxN 的方塊,就跟無為論壇發貼子選擇分壇的那個 drop-down 一樣。

list box 換成方塊,實現起來並沒有難多少,但是這麽多年了,從來就沒有人想過。你動腦子了,你就能做的比別人好。你做的比別人好,你就會有自信。

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.