`
yongguang423
  • 浏览: 108342 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

真正的开发是什么样的?

 
阅读更多

   毕业后就很少写东西了,工作近两年了,技术长进了不少,但思维还是那么局限。来北京已经三个多月了,抗过了头两个月的高压期,现在基本上已经适应这种高压生活了,可喜的是自己某些方面还是得到领导的认可。至少可以不坐冷板凳了,至少可以写“程序”。

 

  程序是什么,代码的堆砌?无论答案怎么,但至少现在是在堆砌代码,而且是在乱堆之上进行堆。从对编程疯狂到现在,学习的东西:J2se jsp servlet Struts Struts2 Spring Hibernate... SOA android 。。。flex..,这是些令人兴奋的东西,而这些东西还有其他牛X的技术,出身中国太少了。中国作坊式的软件企业,出不了牛B的技术。

 

   开发不应该为了实现需求而不择手段。昨天,今天都在改一个令人发狂的程序。导出excel功能,其中涉及到的数据非常多,但也是在可处理的范围之内。然后接手时确实不敢相信自己的眼睛,导出  excel查询条件限制少时,数据多,导出竟然50分钟!!!!!上帝!数据查询,出来3000以上的数据,作3000以上的循环,在循环在内处理数据,查询N次数据库N>30 ,这样导出程序需要与数据库select 的次数3000*N>90000 90000次以上select 50分钟导出已经不错了,说明服务器配置不错没有死掉。一直来以来都非常避讳“码农”这个词,然而我们确实在做码农。

  决定软件性能有:程序和数据库。没有良好的持久层设计,优化程序架构、细节只能是在一定程度上提升性能。excel导出的每条数据要关联N条数据,这样就加大了数据量,所谓"完美"数据库设计是跑不快的,数据库设计应当允许字段的冗余。循环内查询是不可能的,只能将数据缓存在循环外,放宽查询条件,将需要的数据提前查询出 来,存入内存(Map),在循环内将数据取。这只是一个折中的办法,在数据量很多时,条件控制不好,有可能会造成内存溢出。目前也没有非常有效的方法,但通过sql将所有数据一次join出或许是可行的,在访问量允许,数据库抗压能力允许时,该方法应该会比循环内查询或循环外缓存效率要高。

 

  程序员应该把自己放在设计者的角色,不是在写程序而是在设计一件很美好的东西,我们不是在工作,而是在创造,或许我们的世界会更美好些。

 

 

0
0
分享到:
评论
1 楼 you_java 2011-09-29  

相关推荐

    SQL面试题目汇总.pdf

    什么是事务?什么是锁?什么叫视图?游标是什么?为管理业务培训信息,建立3个表:NULL是什么意思?什么是索引?SQL Server 2000里有什么类型的索引?什么是主键?什么是外键?什么是触发器?SQL Server 2000有什么不同...

    对日软件开发 日 式样文

    真正项目日式样文。对想从事对日软件开发的人员来说有一定的帮助。

    [详细完整版]路由器开发.doc

    概述 什么是路由器? 互联网是依靠路由器连接起来的,路由器是互联网或者说IP网络的核心设备。宽带接入 的不断增长,带动了路由器的需求不断增加。 路由器究竟是什么样的技术产物? 谈到路由器的开发,我们就不免要谈...

    典型案例校企合作共同开发优质课程参考.pdf

    在企业调研教学改革过程中,学校教师深入企业一线,参与具体生产实践,掌握了丰富的生产第一线的情况,并充分了解了行业的现状、发展的趋势、企业的用人情况,知道了企业需要什么样的人才、学生到企业从事什么样的...

    j2me 中文教程 开发环境 J2ME语言

    第一章 “J2ME 技术概述”让你在学习J2ME 以前知道什么是J2ME。本章介绍了J2ME 平 台的体系结构和MIDlet 生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC 简介”介绍了MIDP 的基础Java Community ...

    对日外包 软件开发 全真式样书

    真正的式样书,想从事对日外包的可以看下。

    适合房产中介使用有什么样的ERP软件?-3.5.9学习版.zip

    开单大师100%开放的源代码,您可以自由掌控,定制开发属于您的专属功能。无店面和用户数限制,一次买断,永久使用。安全掌控您的软件服务器,隐私数据自己掌控。开单大师,为每家中介提供真正属于自己的房产中介管理...

    《你必须知道的495个C语言问题》

    为什么是p而不是它指向的字符为const? 10 1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?const int n=5; int a[n]; 10 1.20 const char *p、char const *p和char *const p有什么区别? 10 ...

    华为真相 一个真正的华为

    华为到底是什么样的,让数以百计的有勇气的被访者告诉你,华为的真相是什么…… 中国民营经济年鉴编辑部授权选载,不得转载   上编 华为真相  实事求是是一件很难的事情,所以成功者总是少数。华为的经历揭示一...

    C++数据开放平台实战,手把手教你做工业级项目

    使用C++可以进行什么样的开发? C++是C语言的扩展版本,只要能用C语言开发,基本上都可以用C++开发。C++ 的另一个优点是它可以实现比使用 C 语言更快的开发。 你可以用 C++开发什么:大型业务系统 可以用C++开发的...

    研磨设计模式带书签完整版228M.7z.002

    中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。...

    历代CPU最全明细参数表

    当然,我们今天所做的评定只是大体上回顾了一下AMD和英特尔这几年间推出的处理器产品并对未来做出了一些展望。据悉,双核心架构应该会在明年年内正式问世,而四核心...十年以后会是什么样?还是让我们一起拭目以待吧。

    你必须知道的495个C语言问题

    为什么是p而不是它指向的字符为const? 1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?constintn=5;inta[n]; 1.20 constchar*p、charconst*p和char*constp有什么区别? 复杂的声明 1.21 怎样...

    开发管理程序文件.doc

    "格美电器 "格美电器有限公司 "文件编号 "2014-9-27 " " "设计开发管理控制程序 " " " " " "版本号 "A " " " "页次 "第1页共6页 " "目的 " "制定本程序保证公司所有新产品的设计、开发全过程得到有效的控制,确保...

    java开发工具(10)查日志,你还在用vim,grep,sed么?告诉你真正好用的less命令

    我想现在许多人查日志,刚开始的时候,都是直接使用grep命令,后面又接触了vim,sed等命令,这些命令都是查看日志的利器,但是其中也有部分缺陷,怎么样用正确的姿势去又快又好地查看问题,这里我将为你介绍less命令...

    基于linux-ARM的QT环境搭建.docx

    Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 4. 应用程序在pc机上开发,完成后希望在ARM板上调试,以确认程序的正确性和完整性等,这时应该如何办呢? 这里面涉及的知识比较多,有:开发板引导启动...

    android高级应用课程大纲

    再次,因为所处环境的限制,很多程序员不知道当今最新的技术应用,不知道目前前沿的一些框架和技术是什么样的,如何在我们的技术中使用 . 那么 , 我将和大家一起探讨和使用,更多的是一起思考这些问题 !

    论文研究 - 用髓内锁定板固定的次资本骨截骨术能否纠正轻度至中度拇外翻的所有可能畸形?

    令人满意的轻度至中度拇外翻矫正的最佳操作方法是什么样的? 在所有情况下实现重要前足参数完全标准化的最佳满意方法的众所周知的标准应该是Ist tar骨头的侧向化,plant骨化和扭转,以及与a骨远端结合的meta骨远端...

Global site tag (gtag.js) - Google Analytics