总结:正确的事再难也要坚持做下去
4 R% I R' s! Z$ U, ?
) a& z5 i) ^. I! ]8 A6 |自从框架构思完毕后,就开始着手编程的事情。后面的难度远远超出我的预料,一度想放弃,幸好有一个朋友跟我说了一句话:正确的事情,再难也要坚持做下去。这个事情是正确的吗?嗯,毫无疑问,事情成功后将解决一个很大的问题。还是回到我一直以来的信念:任何问题都是有解决的办法,如果没有,肯定是问题描述不够清晰。
# g1 b# M* [/ H5 A3 J- b8 x( W% d8 x- o+ f+ J
先说说困难; E7 A/ }7 G: w+ \+ f) y
$ y! Y% J- k @' n7 @, J' l0 }" F困难一,软件架构没有规划好,写到一半出现重大缺陷,只能推倒重来。
: [" w0 Y- |! P4 r, x因为不是计算机专业出身,前期没有想软件架构的问题(关键也不懂这个),后续数据的查询、更新、插入等能力很弱,并发一上来,后端就开始闹情绪。想着这样实在是不行的,就找it行业的同学看看,让他给我重新规划了整个架构,然后前面的代码几乎重新写了一边。+ t# O' M, Y3 G( \7 x* ? n$ G
, t7 w' h, J4 p! d0 G) n" E
困难二,想法很理想,但是技术上暂时实现不了。; a% L5 r3 |4 p& |; J7 {
站在用户的角度,我希望这个小程序具备某些功能,但是到了编程阶段,发现实现不了或者实现的代价很大。比如,我设想在外面看到不认识的单词,可以打开摄像头,然后识别出来,然后可以保存到优先列表中安排记忆。但是这个涉及到AI图像识别功能,虽然腾讯有这个技术提供,但是收费有点高。一边是理想,一边是现实,最终还是选择向现实妥协。: I4 \( I5 d* Z5 _0 ?
6 X( E) ?- j. l- g
困难三,功能上实现了,但性能上很蛋疼: }( N( V/ b# \" U
有时候一个功能经过不断尝试,终于能实现了,但是实际使用起来,性能很蛋疼。比如,记单词时,需要调取单词的数据。刚开始,我是每记一个就调取一次数据,过一段时间当我收到腾讯给我的费用清单,就瞎了眼,因为服务器是按照读取次数收费的,这一波操作差点把我那点私房钱清空了。而且读取次数太频繁,造成并发量上来,也影响了读取速度。吓得我赶紧优化。
* d$ E4 @! ^+ g+ j7 x
( n/ N. n9 F4 e#说说收获吧' ~% d2 C7 S1 [4 B0 k
2 z5 [5 @( D# y/ g$ j收获一,虽然不完美,但至少做了出来
, Y! X" M% |7 X4 y ^6 Q; p" v从构思到上线用了9个月,几乎耗费了我全部的业余时间。虽然不完美,但至少按照自己的想法做了出来,后续还会不断地优化。对于我来说,这是一件正确的事情,我坚持了下来。
2 ], o3 R3 B. O' u6 D- x# D
% n6 i/ x6 m1 B3 D收获二,没有条件具备这个说法,有想法了,干起来就好& B$ T3 `1 O% U& p2 x6 S
从一开始也是依仗自己对计算机有一点点的基础,就开始干起来了。遇到很多也许在专业人士眼中很皮毛的问题,只能硬着头皮在网上看看有没有答案,反复地看那些大能的视频,把别人的代码copy下来,一句一句分析他的逻辑原理,再改成自己想要的效果。5 ?2 I b- K, c
/ G6 q. R! k$ A) k4 Q收获三,众人拾柴火焰高
~6 Q/ x4 b; H7 c小程序的很多功能都是那些最初试用的同学提出的,我从来没有想到,但是很实用,所以我把它实现了,换句话来说这是一个集体的研发成果。感谢这些同学。
; `5 @( K; m4 W' S4 Ka.比如记单词里有一个画板功能,我有一个习惯就是记单词时一边记一边写出来,所以我记单词的时候都会准备笔和纸。后来我发现有很多人都有这个习惯,然后一个同学跟我说带纸和笔不方便,能否在屏幕上写出来?后来我就加上了一个画板功能,小伙伴们反馈这个功能实在是太实用了。( R! `% }$ w* Q Y
b.还有一个同学跟我说他每天开车上下班,他希望把这个时间用来学英语,开车时眼睛和手都不能被占用,只剩下耳朵和嘴巴可用。我就加入了自动循环播放功能,只要把小程序打开,开车也可以记单词。
$ {, y- d4 d3 O# f+ ?* v5 @) V: D/ @c.有同学跟我说,他很多时间都在等电梯、排队,他希望可以把这个时间利用上。我就优化了程序的启动时间,让整个启动时间控制在2秒以内。9 o. T. u- l' W9 m( `8 U0 c% x" L
d.有同学跟我说,他上下班坐地铁,手机信号不好,但是他希望用这段时间学英语。我就优化了数据的缓存结构,只要打开过一次,后续就算没有网络也可以继续使用。 |