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