我的第一个项目

       这个项目也算很小,在大部分人看来没有什么。


      之前问一位前辈,所谓的项目经验是什么,我写个贪吃蛇,坦克大战,俄罗斯方块算是吗,他说,要有数据库,有前台有后台。其实我之前也不知道有Java EE这种东西,自己小搞俄罗斯方块,最后失败,思路错了。


    从servlet开始,发现内嵌的html真复杂,然后,发现有jsp这种东西,还有bean呢,世界又美好了很多,又小学Oracle和Mysql(前几天看到有新闻说放弃mysql,感觉早了点),又开始想,一个网站如何把这些东西串联起来,又有一位前辈跟我讲:“做一个项目你就懂了”。然后做了一个小论坛,简单分页,回复,发帖。我是照着模板,代码是全部自己敲。


       大二,今年4月份,有幸接到一个项目,做一个新闻发布系统,当时是激动又紧张,照着老师的要求,一步一步探讨。这次真的完全自己想,自己做,一些不懂的,问问一些工作者。一些有经验的前辈。


     


      很简单的界面,美工不是我做的,背后却隐藏了很多东西,为她熬夜,有时调bug,调到两三点,累到去睡,做梦也在调bug,第二天一醒来,噼里啪啦,问题解决,犹如雷军眼里的程序员,如果程序有bug,他是睡不着觉的。

      现在慢慢理清一下当时的思路与心得:

       1.发布系统,和论坛很像,有发布功能,可以在论坛基础上改。新闻编辑需要编辑器,什么是编辑器,就是我此时此刻在写博客的框框,哪里知道怎么写,查呗!一查一大堆编辑器工具,根据前人经验,弄了好久,最后选了ueditor,里面有注释,哪些函数拿到整个编辑器的内容。后面自己囧了一下,以为要用正则表达式把文章和文章的格式分开,其实一起存下去就行了。


       2. 用户注册,当时考虑如果同时有两个人注册不是又有麻烦问题,此方面经验不足,受前辈指点,把用户id改为string类型,用个日期加上几位的随机数,问题迎刃而解。


      3.用户安全,对注册的密码加密,哈哈,又是自己没学过了,头都大了,还是查,有MD5,还有base64,md5好像被中国的破解了,牛吧,后来有大神跟我讲,其实没多大可能,只是凑巧匹配。自己用了base64对密码加密后再存,不过还是自己疑问,如果别人知道你的加密方式,那还是破解的了得吧,所以还是用md5,联想门户网站,有哪个说可以让你看到你自己的密码,因为不可逆,修改也是直接往数据库改了。我自己猜的。


       4.乱码,网上一大堆解决,自己试。


       5.多附件上传,附件上传,没学过,只是自己天天在用的东西,有一天要自己把它拿来自己的项目用。又是查,问。java组件很多,用了fileupload。然后做不到qq邮箱那种多个分一个一个传,又能多个同时效果,问了好多人不知道。只能做到能传一,传多。还要能删除,这个自己想了好久,当自己想出自己的方法出来解决了问题,那种叫爽!


      6.邮件发送,自己想到像其他网站一样,也写个邮件,这个可以有,真的有javamail这种东西,顺带看看简单的smtp命令,了解邮件协议。

     

     7.权限管理,不同部门只能看到其他部门新闻而不能修改或发布,当时还没学Spring的aop,不然可以用这个做。也没必要,这么小的东西,当时只是简单的一些用户的类型判断而已。


      大概两个星期后,把这个做好,当时的心情激动过后的一阵轻松,写项目原来也是不断学习的过程,很感谢一下朋友给我的一些好的想法和思路。不然单纯靠我,从没做过这种东西的真的太多太多问题。不过也存在展现很乱的问题,觉得一堆东西堆在一起,感觉很乱,没想到,后来学了框架,mvc,就感叹人才啊,很好的解决了上述问题。


      这是一个很有趣的过程,中途有时会怕进度赶不上而倍感压力压力,有时突然就要你加个功能,那个头大,有时会因为一个想法激动不已,大拍叫好。

         

      如编程之道(蒋涛老师推荐,有一些写得有意思)所讲,一台冷冰冰的机器,凝聚了我们多少天的汗水,泪水,兴奋,失落与激情。


       源码不分享了,里面一些注释还有一些地方涉及学校的隐私。只是想把这段经历讲一下给人听听。如此而已。

 

posted @ 2013-07-17 20:04  jlins  阅读(228)  评论(0编辑  收藏  举报