總結:正確的事再難也要堅持做下去
, U% _& n6 u# P
( u; ~- K2 n% a自從框架構思完畢后,就開始著手編程的事情。后面的難度遠遠超出我的預料,一度想放棄,幸好有一個朋友跟我說了一句話:正確的事情,再難也要堅持做下去。這個事情是正確的嗎?嗯,毫無疑問,事情成功后將解決一個很大的問題。還是回到我一直以來的信念:任何問題都是有解決的辦法,如果沒有,肯定是問題描述不夠清晰。) L- }$ w7 i- T* j2 d
9 a; l* T- `) n6 x$ X
先說說困難0 R/ A. f2 ^$ ^$ e2 g# M
9 B! {- J: n% e困難一,軟件架構沒有規劃好,寫到一半出現重大缺陷,只能推倒重來。
6 O# I& M; ]; m4 s% L因為不是計算機專業出身,前期沒有想軟件架構的問題(關鍵也不懂這個),后續數據的查詢、更新、插入等能力很弱,并發一上來,后端就開始鬧情緒。想著這樣實在是不行的,就找it行業的同學看看,讓他給我重新規劃了整個架構,然后前面的代碼幾乎重新寫了一邊。
( F# C6 S# [9 e- [# ?) d: [* G$ F
7 I( n9 X7 d! J% u- k( J4 H困難二,想法很理想,但是技術上暫時實現不了。8 `! `! N- B' s1 [& G2 y
站在用戶的角度,我希望這個小程序具備某些功能,但是到了編程階段,發現實現不了或者實現的代價很大。比如,我設想在外面看到不認識的單詞,可以打開攝像頭,然后識別出來,然后可以保存到優先列表中安排記憶。但是這個涉及到AI圖像識別功能,雖然騰訊有這個技術提供,但是收費有點高。一邊是理想,一邊是現實,最終還是選擇向現實妥協。
% j9 X) Q- x. i* ~) S* x4 ?# w! f
困難三,功能上實現了,但性能上很蛋疼+ p# ^. Y0 M6 f! a" D/ Q
有時候一個功能經過不斷嘗試,終于能實現了,但是實際使用起來,性能很蛋疼。比如,記單詞時,需要調取單詞的數據。剛開始,我是每記一個就調取一次數據,過一段時間當我收到騰訊給我的費用清單,就瞎了眼,因為服務器是按照讀取次數收費的,這一波操作差點把我那點私房錢清空了。而且讀取次數太頻繁,造成并發量上來,也影響了讀取速度。嚇得我趕緊優化。
3 [2 G, _# O% h+ M; ]+ C# @# t# ~7 Y/ O7 u; s+ F; Z' n
#說說收獲吧% l. |- b8 ?- n7 O3 g
. |& z+ C( g# {; t
收獲一,雖然不完美,但至少做了出來& R) A3 G5 \ ?( m |
從構思到上線用了9個月,幾乎耗費了我全部的業余時間。雖然不完美,但至少按照自己的想法做了出來,后續還會不斷地優化。對于我來說,這是一件正確的事情,我堅持了下來。: X9 p8 K. R- s. h: m0 }0 z- W
: a% j+ l( A0 g) Y收獲二,沒有條件具備這個說法,有想法了,干起來就好
; r$ g! A0 ]! I+ Z9 c從一開始也是依仗自己對計算機有一點點的基礎,就開始干起來了。遇到很多也許在專業人士眼中很皮毛的問題,只能硬著頭皮在網上看看有沒有答案,反復地看那些大能的視頻,把別人的代碼copy下來,一句一句分析他的邏輯原理,再改成自己想要的效果。2 Q' ?) F/ K& @7 U# q7 o6 j
3 D0 a3 @/ A7 g
收獲三,眾人拾柴火焰高
% A0 m: a' _$ [, G小程序的很多功能都是那些最初試用的同學提出的,我從來沒有想到,但是很實用,所以我把它實現了,換句話來說這是一個集體的研發成果。感謝這些同學。
( b, P/ W. D: a, m5 aa.比如記單詞里有一個畫板功能,我有一個習慣就是記單詞時一邊記一邊寫出來,所以我記單詞的時候都會準備筆和紙。后來我發現有很多人都有這個習慣,然后一個同學跟我說帶紙和筆不方便,能否在屏幕上寫出來?后來我就加上了一個畫板功能,小伙伴們反饋這個功能實在是太實用了。3 I( f8 O( i3 J7 k$ K
b.還有一個同學跟我說他每天開車上下班,他希望把這個時間用來學英語,開車時眼睛和手都不能被占用,只剩下耳朵和嘴巴可用。我就加入了自動循環播放功能,只要把小程序打開,開車也可以記單詞。; B$ P0 X) h6 _. B A
c.有同學跟我說,他很多時間都在等電梯、排隊,他希望可以把這個時間利用上。我就優化了程序的啟動時間,讓整個啟動時間控制在2秒以內。
7 O$ ~4 T: l/ c( vd.有同學跟我說,他上下班坐地鐵,手機信號不好,但是他希望用這段時間學英語。我就優化了數據的緩存結構,只要打開過一次,后續就算沒有網絡也可以繼續使用。 |