- 浏览: 1057210 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (605)
- 数据挖掘 (22)
- spring (40)
- 工具使用 (39)
- java (137)
- JavaScript (40)
- webwork (12)
- web (120)
- 资源 (7)
- SSH (5)
- oracle (20)
- J2ME (1)
- 环境配置 (37)
- 项目管理 (29)
- mysql (14)
- struts (4)
- 项目总结 (27)
- ibatis学习 (33)
- 学习计划 (2)
- 缓存 (7)
- 重构 (3)
- Android (1)
- jquery (12)
- UML (3)
- 用户体验 (4)
- 习惯 (7)
- sakai (1)
- urlrewrite (4)
- rss (5)
- C plus plus (5)
- 算法 (5)
- 海量数据处理 (7)
- office(word、excel) (1)
- 面试题 (3)
- solr (8)
- 大数据 (2)
最新评论
-
hujin19861102:
截图看不见,最后一个webwrok的配置看不见
Ext+Webwork+Json 实现分页表格查询效果 -
蜗牛笔:
弱弱的问一句,要是分出来的词在词典中没有,那么两部分的pos- ...
ICTCLAS 中科院分词系统 -
weipeng1986:
授人予鱼不如授人予鱼,我想问你的是你是怎么总结的。比如第四种情 ...
JAVA中字符串连接效率的测试 -
xiaoqiang2008:
执行两次的原因是什么,好像楼主没弄清楚啊!是不是在web.xm ...
关于Spring中用quartz定时器在定时到达时同时执行两次的问题 -
Kent_Mu:
...
ibatis-dynamic的用法
什么是BUG?
什么是BUG?每个写过代码或者使用过软件的人似乎都知道它是什么。然而,我们的很多工作年限有限的开发人员总是简单认为:程序跑通了,自己测了N遍了就很少有BUG了。这是个危险的观念,没有理解深刻这一点的人会在自己的进步过中走很多弯路。更会给产品和团队带来各种大大小小的危机。
对抗BUG是我们程序员永恒的主题,要在这场战斗中获胜,首先要做到“知己知彼”——什么是BUG?
现在,我们来一起把BUG分为以下几个种类,你在Coding的时候要随时随地的想到这些:
最最普通的BUG。 我实在缺乏用语言来给这类BUG下定义的能力,因此你现在能够识别,这就是BUG的东西,应该可以归属于这一类。
编译不通过。 你可以认为这是最简单的BUG,根本不需要特别考虑,如果编译不过,Eclipse会在设计时给你个红XX 来提示的。但是,在下面的情况中,你可能看不到红XX,但BUG依然存在。
spring的xml。缺省的eclipse可不会在design time时给任何检查。你写错一个字母,都会让你无法运行。跟业务逻辑相关的依赖关系,更别指望eclipse替你找出来。
jsp中引用的java代码。不用我解释了吧,大家可能都有体验。至少我目前还没找到完全可靠的jsp plugin 可以帮助 eclipse来随时随地找出jsp中的代码错误。(除非你把上千个jsp文件都关闭并重新打开一遍)。
业务逻辑实现错误。 这就不需要过多赘述了。地球人都知道。
缺乏必要的事务。 在99.9%的“开发时”,事务不是必须的。在仅挨着的两条insert语句执行的瞬间,出现系统失效的可能性微乎其微。然而,一旦进入了生产环境,用“事务”来保持你要进行的这个action的完整性就显得非常重要了。当然,并不是所有的业务逻辑步骤都需要用事务来保护,况且让容器帮你你管理事务也是一种懒惰但有效的做法,但与此同时自己去考虑一下“这里如果没有事务,我是否安全?“的问题,对你的进步更有好处。
团队使用的基本库出错。 不要认为团队自己开发的基本类库是100%正确的,轻信不完善的API的思想是大量顽固BUG的藏身之处。团队自己生产的代码还在不断的完善和发展,毕竟咱们积累的这些”精华“与外面OpenSource的东西(而他们同样有BUG)相比,还差懂得远呢。我丝毫不怀疑里面存在超过100个算法缺陷和200个不安全的使用方式。因此,不要”拿起来就用“,而要”三思而后行“。
性能陷阱。 为了尽快实现业务逻辑。我们在第一次编码的时候往往不先考虑性能问题。这个想法不算太错误,但这个想法不能太过分。特别是涉及到一些”性能敏感”的代码段,比如我们产品中多处涉及到的Tcp Server的内核。这些部件的代码1天可能遭受几百万次的访问,瞬时绝对并发100是最正常的情况。因此0.1秒的性能损失,也会带来100x0.1=10秒的性能损耗。10秒,足以使一个TCP Server达到实际“不可用”的严重程度!10行马虎的代码,可能毁掉客户对我们团队辛苦生产的100万代码的信任。切记!切记!
安全隐患。 某些安全隐患在我们刚开始写实验性的代码时往往可以忽略,但绝不能忘记。你必须在这个产品进入到下一阶段的时候加上必要的安全检查代码和与安全相关的逻辑验证代码。回忆一下,你是否忽略了下面的工作:
http session检查。 尽管我们可以用框架来保证这一点。但你还是要检视一下,是否在某些功能的实现上,你确实忘记它了。
参数类型校验。 当你把一个'a'传递到servlet用Internet.parse()来处理的时候,你是否考虑了可能出现的异常情况。等等此类。
NullException。 特别注意,千万不要让NullException出现在jsp中,否则你很难在系统部署后排查错误。在你第一次编写jsp代码时,你就必须考虑你所使用的对象或者属性是否可能为Null。
Anti-flood。 最容易被初级程序员忽略的要点之一。因为这个bug永远不会出现在你的eclipse开发运行环境里。也往往被功能测试组的人忽略。但一旦存在这个隐患,一个最菜的Hacker用最普通的teardrop也会让你tear drop。
线程安全。 永远不要忘记,你的代码需要在一个多线程的环境中运行,随时随地都有可能出现并发的情况。你的产生的临时文件名是否用uuid来避免重名了?你的静态(或单态)变量是否线程安全。你是否忘记将spring里定义的bean设置为scope=prototype?
忘记删除临时文件。 在上传文件、生成验证图片、生成缩略图的时候,你都可能用到临时文件。你是否在使用完毕后及时的删除了它?你是否考虑过在发生异常后,仍然安全的删除了这个文件?特别需要指出的是,我们在编码阶段的测试时,很难发现遗漏临时文件清理的工作。单在系统上线运行后,大量滞留在目录下的过期临时文件将用光客户的服务器磁盘空间,降低系统IO的性能。
极不友好的UI操作。 极不友好的UI操作同样是严重的BUG。比如:
当用户提交表单的时候可能填写了错误格式的信息,而你的程序再提示错误,重新显示表单的时候清除了用户已经填写的数据。这对你的软件的使用者来说是极其恼火的体验,对于创造这个代码的您来说则是一种耻辱。
另一种“极不友好的UI操作“可能发生在这种情况——你必须跟测试人员解释——他体验到这次系统出错的原因是他(测试人员)操作的步骤或顺序不正确。天那,这是噩梦,不仅是用户的噩梦,也是你的噩梦。如果你坚持你的做法没错,我将决定在系统上线后,把你的手机和家里的电话号码做为HELP放在你创造的界面的显著位置呈现给使用它的80万用户。
转自:
http://www.iteye.com/topic/241569
什么是BUG?每个写过代码或者使用过软件的人似乎都知道它是什么。然而,我们的很多工作年限有限的开发人员总是简单认为:程序跑通了,自己测了N遍了就很少有BUG了。这是个危险的观念,没有理解深刻这一点的人会在自己的进步过中走很多弯路。更会给产品和团队带来各种大大小小的危机。
对抗BUG是我们程序员永恒的主题,要在这场战斗中获胜,首先要做到“知己知彼”——什么是BUG?
现在,我们来一起把BUG分为以下几个种类,你在Coding的时候要随时随地的想到这些:
最最普通的BUG。 我实在缺乏用语言来给这类BUG下定义的能力,因此你现在能够识别,这就是BUG的东西,应该可以归属于这一类。
编译不通过。 你可以认为这是最简单的BUG,根本不需要特别考虑,如果编译不过,Eclipse会在设计时给你个红XX 来提示的。但是,在下面的情况中,你可能看不到红XX,但BUG依然存在。
spring的xml。缺省的eclipse可不会在design time时给任何检查。你写错一个字母,都会让你无法运行。跟业务逻辑相关的依赖关系,更别指望eclipse替你找出来。
jsp中引用的java代码。不用我解释了吧,大家可能都有体验。至少我目前还没找到完全可靠的jsp plugin 可以帮助 eclipse来随时随地找出jsp中的代码错误。(除非你把上千个jsp文件都关闭并重新打开一遍)。
业务逻辑实现错误。 这就不需要过多赘述了。地球人都知道。
缺乏必要的事务。 在99.9%的“开发时”,事务不是必须的。在仅挨着的两条insert语句执行的瞬间,出现系统失效的可能性微乎其微。然而,一旦进入了生产环境,用“事务”来保持你要进行的这个action的完整性就显得非常重要了。当然,并不是所有的业务逻辑步骤都需要用事务来保护,况且让容器帮你你管理事务也是一种懒惰但有效的做法,但与此同时自己去考虑一下“这里如果没有事务,我是否安全?“的问题,对你的进步更有好处。
团队使用的基本库出错。 不要认为团队自己开发的基本类库是100%正确的,轻信不完善的API的思想是大量顽固BUG的藏身之处。团队自己生产的代码还在不断的完善和发展,毕竟咱们积累的这些”精华“与外面OpenSource的东西(而他们同样有BUG)相比,还差懂得远呢。我丝毫不怀疑里面存在超过100个算法缺陷和200个不安全的使用方式。因此,不要”拿起来就用“,而要”三思而后行“。
性能陷阱。 为了尽快实现业务逻辑。我们在第一次编码的时候往往不先考虑性能问题。这个想法不算太错误,但这个想法不能太过分。特别是涉及到一些”性能敏感”的代码段,比如我们产品中多处涉及到的Tcp Server的内核。这些部件的代码1天可能遭受几百万次的访问,瞬时绝对并发100是最正常的情况。因此0.1秒的性能损失,也会带来100x0.1=10秒的性能损耗。10秒,足以使一个TCP Server达到实际“不可用”的严重程度!10行马虎的代码,可能毁掉客户对我们团队辛苦生产的100万代码的信任。切记!切记!
安全隐患。 某些安全隐患在我们刚开始写实验性的代码时往往可以忽略,但绝不能忘记。你必须在这个产品进入到下一阶段的时候加上必要的安全检查代码和与安全相关的逻辑验证代码。回忆一下,你是否忽略了下面的工作:
http session检查。 尽管我们可以用框架来保证这一点。但你还是要检视一下,是否在某些功能的实现上,你确实忘记它了。
参数类型校验。 当你把一个'a'传递到servlet用Internet.parse()来处理的时候,你是否考虑了可能出现的异常情况。等等此类。
NullException。 特别注意,千万不要让NullException出现在jsp中,否则你很难在系统部署后排查错误。在你第一次编写jsp代码时,你就必须考虑你所使用的对象或者属性是否可能为Null。
Anti-flood。 最容易被初级程序员忽略的要点之一。因为这个bug永远不会出现在你的eclipse开发运行环境里。也往往被功能测试组的人忽略。但一旦存在这个隐患,一个最菜的Hacker用最普通的teardrop也会让你tear drop。
线程安全。 永远不要忘记,你的代码需要在一个多线程的环境中运行,随时随地都有可能出现并发的情况。你的产生的临时文件名是否用uuid来避免重名了?你的静态(或单态)变量是否线程安全。你是否忘记将spring里定义的bean设置为scope=prototype?
忘记删除临时文件。 在上传文件、生成验证图片、生成缩略图的时候,你都可能用到临时文件。你是否在使用完毕后及时的删除了它?你是否考虑过在发生异常后,仍然安全的删除了这个文件?特别需要指出的是,我们在编码阶段的测试时,很难发现遗漏临时文件清理的工作。单在系统上线运行后,大量滞留在目录下的过期临时文件将用光客户的服务器磁盘空间,降低系统IO的性能。
极不友好的UI操作。 极不友好的UI操作同样是严重的BUG。比如:
当用户提交表单的时候可能填写了错误格式的信息,而你的程序再提示错误,重新显示表单的时候清除了用户已经填写的数据。这对你的软件的使用者来说是极其恼火的体验,对于创造这个代码的您来说则是一种耻辱。
另一种“极不友好的UI操作“可能发生在这种情况——你必须跟测试人员解释——他体验到这次系统出错的原因是他(测试人员)操作的步骤或顺序不正确。天那,这是噩梦,不仅是用户的噩梦,也是你的噩梦。如果你坚持你的做法没错,我将决定在系统上线后,把你的手机和家里的电话号码做为HELP放在你创造的界面的显著位置呈现给使用它的80万用户。
转自:
http://www.iteye.com/topic/241569
发表评论
-
firefox 兼容两个小细节
2012-12-29 10:38 13431. 火狐下radio无法选中问题 描述: 当JS ... -
专业的网页测试工具 YSLOW
2012-11-07 19:41 985http://guangqiang.iteye.com/blo ... -
freemarker 静态化网页
2012-11-07 19:39 1235freemarker的作用: MVC框架 ... -
基本CSS选择器,复合选择器,后代选择器
2012-11-02 13:23 1065http://gaterking.blog.51cto. ... -
webwork <ww:url> 转 jstl <c:url>标签
2012-11-02 11:06 2203项目之前分页组件一直使用的是 项目组定义的 公用分页,其中引用 ... -
CSS 图片拼合生成器
2012-11-02 10:53 1851CSS 图片拼合生成器在线 工具(已测试使用,基本满足网站对s ... -
可编辑的div 插入文本与图片(要求光标定位插入)
2012-09-11 17:39 1993http://jianzhong5137.blog.163.c ... -
jsp include 包含的区别
2012-05-14 16:39 1076c.jsp <!DOCTYPE html ... -
mysql + tomcat 连接池配置问题
2012-04-18 21:23 1022javax.naming.NameNotFoundExcept ... -
tomcat启动异常
2012-03-28 16:23 1455ERROR 2012-03-28 16:00:41,34 ... -
Java路径问题最终解决方案
2012-03-08 18:21 1078http://blog.csdn.net/shendl/art ... -
怎么避免浏览器缓存静态文件(js/css/img)
2012-03-08 18:16 0怎么通过程序删除清空客户端的浏览器缓存 对于动态文件, ... -
使用HTMLparser解析HTML
2012-03-06 09:27 1426http://express.ruanko.com/ru ... -
IE 6下 a javascript:void(0)问题
2011-12-16 19:04 1390原文地址:http://blog.csdn.net/lee ... -
jquery treeview
2011-12-13 14:59 2550<link rel="stylesheet&q ... -
显示数据加载中
2011-12-13 14:32 1132在加载比较慢的页面(如含有很多节点的树)中,引入公用文件,公用 ... -
jquery ui dialog 遮拦 select的解决方法
2011-09-30 09:23 3295<script type="text/java ... -
CSS Sprites合并多个小图片
2011-09-29 11:31 1192这种方法看似繁琐,但却是非常有实用价值的。 首先,CS ... -
form表单只提交值,而不进行页面跳转(转)
2011-09-29 11:19 21528源自: http://trinea.iteye.com ... -
Spring 配置中的 default-lazy-init="false"
2011-09-26 18:03 1863Spring 配置中的 default-lazy-init=& ...
相关推荐
后端基于PHP+mysql,简单实现了预订、入住、结账以及客户信息维护等功能。年代久远,注释较少,功能简陋,仅供学习交流。
springboot项目基于Hadoop的高校固定资产管理系统研究与实现_hot,含有完整的源码和报告文档
本文基于AlexNet深度学习模型,通过百度爬取的较少图片,训练了一个进行中草药的识别模型,可用于识别11种不同的中草药类型有:{'曼陀罗': 0, '白花蛇舌草': 1, '芍药': 2, '苍耳': 3, '蒲公英': 4, '薄荷': 5, '藿香': 6, '蛇莓': 7, '金银花': 8, '鸡蛋花': 9, '龙葵': 10}。并基于此模型开发了一款带UI界面的中草药智能识别系统,可用于识别场景中的中草药类别,更方便进行功能的展示。该系统是基于python与c++ QT5开发的,支持图片识别检测。本文提供了完整的Python代码和使用教程,给感兴趣的小伙伴参考学习。
springboot项目基于协同过滤算法的私人诊所管理系统_to,含有完整的源码和报告文档
图表分类ppt
图表分类ppt
Z源逆变器闭环仿真模型,并网,采用L滤波器。
西门子PLC1500大型程序 汽车产线fanuc机器人焊装 2台触摸屏TP1500程序 9个智能远程终端ET200SP Profinet连接 15个Festo智能模块Profinet通讯 10台Fanuc发那科机器人Profinet通讯 3台G120变频器Profinet通讯 2台智能电能管理仪表PAC3200 4个GRAPH顺控程序 图尔克RFID总线模组通讯 和MES系统通讯,西门子安全模块 程序经典,结构清晰,SCL算法,堆栈,梯形图 包含需要的GSD文件,博图V14以上版本均可打开,需要博图软件安装完整。 可以用来借鉴学习西门子大型程序的结构思路方法,通讯应用等
四轴抓取视觉旋转标定源代码,学习机器视觉和运动控制的最佳例子,基于VS2015 C++ 实现,仿雅马哈四轴机械手抓取程序,实现把两个任意摆放的物料通过视觉算法和运动控制指令定位摆放到指定的位置并拼接起来。 使用研华控制卡搭配工业相机实现,图像算法使用halcon实现,包含界面控制,图像采集,手动控制,图像建模,路径规划,运动仿真动画。 对需要做低成本替代进口机器人的四轴运动视觉方案的朋友具有极高的参考价值。
图表分类ppt
stm32 esp32 can大于8字节分包传输协议,支持ping节点功能
《PHP-Redis中文帮助手册》是由我突发灵感所编撰的参考资料。在编撰过程中,部分翻译内容参考了网络上的众多资料。遗憾的是,由于难以追溯,我无法确切知晓某些翻译内容的原始作者。在此,我向所有可能的贡献者表示感谢。 我自知英语水平和对Redis的使用经验都处于中等水平,因此手册中难免存在翻译误解和函数分类错误。我恳请读者们宽容使用此手册。同时,我热切期盼在文档翻译方面有经验的专家能够提供帮助。如果您有更优质的翻译,请不吝赐教,我将及时更新手册内容。我期待与大家进行更深入的交流。
===如资源质量问题,可半价退款,代下全网资源,价格公道==== 【JavaEE人事管理系统详解】 JavaEE是一个广泛应用的企业级开发平台,它由Java SE(标准版)扩展而来,专为构建分布式、多层架构的应用而设计。在这个“jsp+servlet+tomcat+mysql的javaee人事管理系统”中,我们主要探讨四个关键组件:JSP(JavaServer Pages)、Servlet、Tomcat服务器以及MySQL数据库。 1. **JSP**:JavaServer Pages是JavaEE平台的一部分,用于创建动态网页。开发者可以在HTML页面中嵌入Java代码,使得网页能够与服务器进行交互,处理用户请求。在人事管理系统中,JSP通常用于展示数据,如员工信息、部门列表等,并能根据用户的操作(如搜索、添加、编辑、删除员工)进行动态更新。 2. **Servlet**:Servlet是Java编写的服务器端程序,用于扩展Web服务器的功能。在本系统中,Servlet接收来自JSP的请求,执行业务逻辑,例如处理数据验证、计算、数据库操作等,然后将结。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
新能源plc程序 欧姆龙nj系列程序,注释完整,面向对象的编程方法 ,多轴控制,凸轮同步,设备已经正常使用软件资料出概不 此项目程序已经实际设备成熟稳定应用,程序注释详细、非常适合用来欧姆龙NJ PLC大型项目学习,包括plc程序程序运用ST语言和FB块,可用作欧姆龙NJ大型项目编程模板直接调用
BDE_Installer_for_RAD_Studio_10.2_Tokyo.7z
内容概要:本文档是关于希尔密码加密与解密的实验报告,旨在帮助学生理解和掌握这一经典的密码学技术。通过随机生成密钥矩阵并实施明文的加密与解密步骤,加深对希尔密码运作机制的理解,并通过文件I/O操作巩固数据处理技能。此外,在实验过程中,作者还深入探讨了对合密钥的特点,分析为何这种类型的密钥不适合应用于实际情况,并给出了可能存在的具体对合密钥总数的求解方法。 适用人群:适用于计算机科学专业、信息安全方向的学生或研究人员,特别是那些有兴趣深入了解经典密码系统及其实现细节的人群。 使用场景及目标:本报告不仅作为课程作业的一部分提交,而且也可以作为研究参考资料使用。读者可以通过这份详细的报告学习到希尔密码的具体实现步骤,包括但不限于密钥的选择、密文的创建和恢复。此外,针对实验中存在的局限性进行了讨论,为后续相关领域的进一步探索提供了思考方向。 其他说明:文档详细记录了一个完整的实验流程,涵盖从实验环境搭建、关键步骤演示到最后结果呈现全过程,并就实际遇到的问题给出改进意见。对于初次接触此类概念的学习者来说非常友好。附录中还包括了C语言源码用于检测2*2维度内的所有有效'对合密钥’实例,证明数学推导的结果。
【问题描述】 请根据给定的文法设计并实现语法分析程序,能基于上次作业的词法分析程序所识别出的单词,识别出各类语法成分。输入输出及处理要求如下: (1)需按文法规则,用递归子程序法对文法中定义的所有种语法成分进行分析; (2)为了方便进行自动评测,输入的被编译源文件统一命名为testfile.txt;输出的结果文件统一命名为output.txt ;结果文件中包含如下两种信息: 1)按词法分析识别单词的顺序,按行输出每个单词的信息(要求同词法分析作业,对于预读的情况不能输出)。 2)在下列高亮显示的语法分析成分分析结束前,另起一行输出当前语法成分的名字,形如“<常量说明>”(注:未要求输出的语法成分仍需要分析)
模型及MATLAB代码:考虑配送优先级的单服务点无人车配送路径优化问题 关键词:遗传算法、路径配送优化 完整模型+代码+注释 主要内容:以配送时间最短及物资满足率最高为目标,构建带时间和容量约束VRP模型,在模型的基础上,结合遗传算法,通过MATLAB对模型求解,得出配送最短时间、最优满足率等数据。 服务内容:脚本 工具 部分展示如下:
一款适用于LDO ,DC-DC的软启动电路, 基于tsmc.18,电路有设计报告 电路: 电路+设计报告 电路+设计报告+hspice仿真脚本
复现模拟 火、粒子群算法解约束最优化问题 内容: 程序一:模拟 火算法SA算法求解附图所示变速箱设计带约束最优化实际工程问题的自编MATLAB程序。 程序二:粒子群算法PSO算法求解附图所示变速箱设计带约束最优化实际工程问题的自编MATLAB程序。