大约一年半前,我们开发的一个基于SWT的产品,
要求能够在Windows和Linux提供用户安装功能,
提供Windows环境安装很简单,
网上有大把工具,很多还是免费的,我选了INNO,
但是如何提供在Linux环境安装的工具,百度了好几天都没有好的,
都说RPM最好,可我一点不喜欢,
因当时只能用RPM,只好一边百度学习一边捣鼓,
花了五天才把基于Linux的安装搞定,
但只有文字界面的,不像一般Windows安装程序都有图型界面,按下一步………就能完成安装。
就像一般手机APP安装,只问你要不要安装,回答要,再等一会儿就安装好了。
RPM的不止不能这样,搞定它还挺费事,好不容易搞定了一个就求爷爷告奶奶,千万不要有任何修改。
想到万一将来要修改安装功能就全身起哆嗦。
那时候我就想,咱们学Java不是跨平台吗?能不能弄个东西,像INNO那么简单就搞定在Linux环境安装软件这件事。
也提供一个图型界面,让用户一路按下步就完成安装。
最好弄个INNO配置就同时完成提供在Windows和Linux平台安装这件事,
而且最好像INNO生成的一样,只有1个SETUP.EXE最好,Linux下也是只提供一个SETUP程序最好。
哦,最好还能自动判断32位/64位,安装正确的JRE。
可当时把自己熟悉的JAVA+SWT想了个遍,
都想不到合适的办法,只好暂时先搁着。
但有空都会时不时想起这件事,因为后续还有开发别的软件也需要有Linux安装功能。
就这么有时想到这事就想一下,想不到办法就只能叹口气,
一直到半个月前突然脑袋里灵光一闪,
终于想到办法,
然后用了半个月时间,完成整个开发。
现在我们完成软件,只要写一个INNO配置,便可以同时完成Windows和Linux平台安装工具的生成,
而且只有1个SETUP文件,而且提供图型界面让用户一路下一步就完成安装。
OK,上述这个安装软件功能不是我要说的重点,
我要说的是,我想这个问题的解法,
足足想了一年半!
十多年前用SQL2000时发现SQL一个要完成某个审计功能会有缺陷,
想了好几天都想不到解决办法,
后来也是这样,有一阵没一阵的,想起这事就想一下,
足足用了二年才想到解法,
然后用我的破脚英文,写了一份解法说明,
发到老外的讨论群,
一个老外看了后直赞我YOU ARE THE MAN!
我想了二年才想到答案!
前几天听说有一个6几年出生的编程爱好者,
这十几年来养成一个习惯,
经常晚上睡到半夜起床编程,
因为他睡到那时候突然想到办法,
不立即编程就睡不著。
喜欢编程的人就是这样,
虽然想不到答案时痛苦万分,
心情烦燥无比,
但一般总耐得住烦。
并持续地耐住那个烦长达1年以上。
编程就是这样,
有搞定问题的成就感,
也有搞不定时的烦燥和压力。
对适合的人来说,
编程是痛并快乐著,
而且很快乐!
但对于不适合的人呢,
比学校时一天算50题数学还痛苦!
转载于:https://blog.51cto.com/oldycat/1908070