关于自主开发应用的过程的思考

  一年以前就已经有自己开一个属于自己的web应用(或者说网站)的想法,但一直在考量着用什么样的技术而苦恼,对于技术选型一直没有确定,而一拖再拖。直到今年(2015年)年初,又有了强烈的愿望想去实现它,并写了相关的一些文档,如计划说明书、需求分析报告和概要设计文档等。随着文档的编写,技术选型也确定了下来,系统架构采用MySql + Mybatis  + Spring + Spring MVC + bootstrap + memcached + zimg,采用这些技术的主要考量是在于开发的速度和系统性能,具体没有太多的去想。

  随着任务的推进,问题来了,第一步是搭建MySql + Mybatis  + Spring + Spring MVC + bootstrap的开发环境,由于对Spring的开发环境的搭建不熟,一开始就遇到了问题,由于版本原因,出现很所错误。后来在网上查了许多资料,看到大家都在使用Maven构建项目,于是跳入了学习Maven的行列,Maven学习进展缓慢,刚刚学会了在Eclipse下建立Maven项目,由于是工作之余做的,所以感觉原本的任务拖延太长,于是就直接使用Maven开始了项目的构建,却又因此遇到了问题。更离谱的是,在配置Spring的时候,由于不明白Web.xml配置文件中的各项配置,于是又研究起了tomcat的源码,就这样,任务在这5个月中毫无进展。

  今天回过头来看看这几个月的整个执行任务的过程,发现自己已经偏离了原来的目标,而且偏得有点多,感触也颇多。纵观自己的这一过程,有以下几点感想:

  1. 对于初步想去实现一个东西,不应该将其网完美去考虑,不应该想太多,应该将其主要实现的几个功能列出,并在达到能实现这几个目标的要求中去做技术选型,并且所选的技术一定要是自己所熟悉的,以一个最低要求去确定技术,但在设计时一定到把层次分清,便于以后升级修改。
  2. 遇到问题应该只解决当前问题就行,不要去过多的研究遇到的问题的深层的东西,它与你的任务无关,完成任务是当前的第一要务,对于遇到的问题可以记下,待任务完成后有时间了再去研究。
  3. 万事开头难,一定要坚持任务的前进性,不管有多少困难,一定要坚持推进任务向前发展,不能断,因为断了很容易就会放弃。

以上为近段时间个人的小小的经历,希望这样的思考能帮助自己走出困境,实现自己的目标,也希望所有人能在为自己的目标走出一段距离后回头看看,不要忘了自己出发的目的。

时间: 2024-10-06 17:03:28

关于自主开发应用的过程的思考的相关文章

Windows自主开发应用的白盒测试

     白盒测试(white-box testing)又称透明盒测试(glass box testing).结构测试(structural testing)等,软件测试的主要方法之一,也称结构测试.逻辑驱动测试或基于程序本身的测试.测试应用程序的内部结构或运作,而不是测试应用程序的功能(即黑盒测试).在白盒测试时,以编程语言的角度来设计测试案例.测试者输入数据验证数据流在程序中的流动路径,并确定适当的输出,类似测试电路中的节点.测试者了解待测试程序的内部结构.算法等信息,这是从程序设计者的角度

一个关于 ie 浏览器的 bug 解决过程和思考

首先我们测试了老师反馈的异常情况.这所中学使用的是 IE8 浏览器.IE8 浏览器提交作文评分的情况是:一直停留在“正在提交系统评分”的页面,停留了很长时间以后,页面空白. 换用火狐浏览器,可以正常评分.个人思考:可能是在 IE 浏览器下使用 jQuery 的 ajax方法失效.因此前端代码不能正确调用后台的方法,因此我们系统的“每隔30秒自动保存”的机制也失效了.(其实在后面的分析中,我们可以看到,这只是假象.)于是我们很自然地想到的解决方案就是让用户更换浏览器,IE 浏览器虽然现在还是占有一

在linux中减小和增大LV的过程与思考

今天在安装oracle 11 rac的时候,查看操作系统df -lh,发现/home目录竟然分了500多G,/根目录才有50G,当时我就爆了句粗口,这TM系统是怎么做的. Filesystem                              Size     Used    Avail   Use% Mounted on /dev/mapper/vg_db5-lv_root                 50G     6.2G   41G   14%    / tmpfs     

一次Debug过程的思考

前一段时间,部门接入了新业务,由于业务量小,架构非常简单,采用了最简单的LNMP架构,整个项目是交给一个刚毕业的RD负责的,这是背景. 上线前半天,服务平稳运行.下午的时候,开始收到大量报警:No host could be connected in the cluster.第一反应:mysql服务器不会挂了吧.打开监控,一切正常,登录也一切正常,但报警一直没有间断,这奇怪了. 实际上一点都不奇怪.“No host could be connected in the cluster”本身不是my

江太公:javascript count(a)(b)(c)(d)运行过程思考

昨天,我弟抛给我一个js的题,使用类似标题那样的调用方法计算a*b*c*d以致无穷的实现方法.思考了半天,终于理清了它的运行过程,记录于下: 函数体: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>a</title> 5 </head> 6 <body> 7 <p id="a"></p> 8 <script type="

浅谈HTTPS传输过程

HTTPS是什么 HTTPS不是一个新的协议,可以理解为是一个HTTP协议的加密"版本"(HTTP+SSL(TLS)).那为什么HTTP协议需要加密,不加密会出现什么问题呢?先来了解下传统的加密方式 加密方式 对称加密:对称加密是Server和Client都拿一个相同的密钥进行加密和解密,他的优点的性能好一点,但是也存在很多问题. 问题: 1.服务器如何把密钥安全的给到客户端(存在请求被拦截.窜改) 2.假设一个客户端的密钥泄露了被公开,所有的客户端以及服务器的连接传输都是不安全的 非

APP store 上架过程中碰到的那些坑&amp;被拒的各种奇葩原因整理&amp;审核指南中文版

苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有效的. 3.占位符内容.有占位符内容的应用将无法审核通过. 4.提交的信息不完整.苹果要求开发者提供所有必须在iTunes Connect的应用审查信息区(App Review Information Section)中提交审查时所需要用到的所有完整信息.这是应用审核未通过最常见的原因,占到了14%

最近状态的一些思考

这两年,折腾了好几次.也在折腾的过程中思考自己的方向.好像更多的是对未来的缺乏信心.这也或多或少地给周边的人带来了负能量. 感觉自己懂很多东西,但也知道自己其实是略懂皮毛而已.很多东西其实是拿不出手,更别说能达到大牛或者专家的级别了. 当然,这里面一方面有自己没及时总结,没有及时提高的原因.另外一方面确实是能力有限. 从读大学以来,发现天外有天,厉害的人太多了.发现自己在IT领域的资质还是很一般,到目前为止还是只能做一个跟随者,做不到带头大哥那样的带路搞出新东西. 这不得不说是一个悲观的心态,然

【原创文章】针对本次ONION、WNCRY等勒索病毒大规模感染事件的思考

本次勒索病毒大规模感染引起软件技术学研会同学的持续讨论. 作为软件技术学研会会长,觉得有必要把我个人思考过程与思考结果记录下来. 12日,ONION.WNCRY大规模爆发于教育网.大学等环境,导致大量学生电脑.教室电脑受到勒索攻击. 问题一:为什么首先针对教育系统和医院进行攻击 技术方面思考: 首先说教育系统,教育系统系统更迭速度慢,为了系统稳定使用往往不会安装最新补丁,而且校园网络集成结构易于病毒快速发现并传播新电脑,单次传播规模大,传播迅速. 医疗系统,同样出于系统稳定的考虑,往往不会安装最