最近,修复了项目当中的一些bug,觉着有些思路可以分享出来供大家借鉴. 场景一 开发环境中系统正常运行,测试环境中,部分机器未能正常运行. 解决过程:远程连接了测试环境中的机器,观察了系统的运行情况,确实比较反常.查看日志后,发现出现了"xxx文件未找到"的异常.确认文件存在后,最先想到的就是,xxx依赖文件不存在,导致xxx文件未能正确加载.使用分析工具分析xxx文件依赖项后,发现测试环境确实是缺少了某些文件.从开发环境手动拷贝xxx文件的依赖文件到测试环境后,系统运行正常. 划重点…
使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或…
这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /etc/ssh/sshd_config PermitRootLogin no AllowUsers XXX 3.同步软件时钟 date MMDDhhmmCCYY.ss hwclock --set --date="2011-08-14 16:45:05" 4.SSH服务重启及开关 ubuntu…
前提:服务端没有做特殊处理 在开发android网络客户端项目时,不可避免的会用到“测试服务器地址”和“云端服务器地址”等.(有时可能会有多个) 这时在打包给测试那帮哥们时,你就需要一个服务器地址打上一个包,这样会相当麻烦,浪费开发人员不少的时间. 怎样解决上面的问题呢? 假如你的android客户端的初始页面是登录页,那么你可以在登录页底部做一些工作,例如:你放上一个布局布局中放上一个RadioGroup,然后再RadioGroup中放入RadioButton,根据你选择的RadioButto…
你好呀,我是歪歪. 前几天在 github 上冲浪的时候,发现了两个宝藏东西. 我也不藏着掖着了,拿出来给大家分享一下. 这两个宝藏是关于 arthas 和 SOFARegistry 的,这两个东西都是阿里开源的项目. arthas 大家应该都比较耳熟能详了,知道它是阿里搞出来的一款 Java 诊断工具. 而 SOFARegistry 是个啥玩意?好像没怎么听说过呢? 我接触这个东西的时间也不算长,但是我大概知道它是个什么东西,我觉得是一个轮子,但是这个轮子还挺厉害的. 不着急,等下就给你摆一摆…
问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i= while [ $i -le $NUMBER ] do a[$i]=$ #将数组a[i]赋值为$,即取得到第一…
在测试过程中,难免遇到开发人员因为一些原因不想修改个别bug的情况.遇到这种问题时,该如何去推进开发修改bug呢? 一.现状分析 1.开发人员为啥不愿意修复BUG? (1)开发与测试对bug的定义理解不一致产生的问题,bug路径较深,无法重现, 修改bug改动较大,影响范围广,无法理解,在生产环境不可能发生的时间,环境问题,不影响程序的实际用户使用: (2)工作流程方面原因,没时间,问题太小(优先级低),上线时间紧急,非自己名下的BUG(相关人员以离职后的BUG): (3)个人能力原因,找不到解…
在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: func…
1.在循环中缓存array.length 这个技巧很简单,这个在处理一个很大的数组循环时,对性能影响将是非常大的.基本上,大家都会写一个这样的同步迭代的数组. for(var i=0;i<array.length;i++) console.log(array[i]); 如果是一个小型数组,这样做很好,如果你要处理的是一个大的数组,这段代码在每次迭代都将会重新计算数组的大小,这将会导致一些延误.为了避免这种现象出现,可以将array.length做一个缓存: var length=array.le…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测…
在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: func…
因为公司的需求,我使用了velocity模板进行文件生成.在这里先记录一下使用velocity模板时的一些小技巧: 1.截取字符串 注意,(1)需要使用.length()获取字符串长度:       (2)最好使用“+(-1)”的形式代替“-1”,因为velocity中对减号“-”的支持不友好,容易混淆.   2.$velocityCount(循环遍历计数器) 我们在遇到字符遍历之后需要对字符串之间进行操作(比如添加一个逗号或者其他相同符号),但最后一个字符,我们并不需要对其进行添加,此时需要使…
使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: class Account { constructor(cash) { this.cash = cash; this.hasMone…
12个非常实用的JavaScript小技巧 在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之…
使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: function Account(cash) { this.cash = cash; this.hasMoney = !!cash;…
工作除了开发最新的版本之外还要对原来的版本做例行的维护,修修补补.于是有了在两个分支之间游走切换的问题,最新改版的代码在分支 new 上,旧版本的代码在分支 old 上,我在 new 上开发了一半,忽然有人给了我一个改进的需求,于是我要切换回 old 去修改代码.在这个场景下,我摸索了三种方法: 及时 commit 代码 在 new 分支上把已经开发完成的部分代码 commit 掉,不 push,然后切换到 old 分支修改代码,做完了commit,所有分支互不影响,这是一个理想的方法. 使用…
*问题原因:* 问题出现的原因.*解决方法:* 问题的解决方案.*影响分支:* 影响哪些分支. *相关修改:* 具体的修改文件列表.*自测结果:* 自行测试了哪些用例,将大概步骤描述出来. *影响功能:* 影响哪些功能模块.QA回归bug时,要全覆盖功能模块相关的测试案例. *测试重点:* 指导QA回归bug时需要关注的测试重点.*兼容性:* 是否兼容之前的AC版本,是否兼容AP版本.…
到<Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?>为止,我们已经大体学会了如何使用Cordova了,那些都是使用Cordova的开发者必备的技能.今天我们要说一下开发者应该具备的一些额外经验,这些经验简单有效,如果希望要更系统更好的方法,那就持续关注本系列文章吧,与敏捷个人一起成长. 本次练习你能学到的 学习如何动态不发布APP来修复bug 学习如何动态增加功能 学习如何躲开苹果的一些严格审核 如何动态不发布APP来修复bug 做过网站的都知道,修复b…
开发应用程序是一个非常有压力的工作.没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象.面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉着.因此,如何处理修复bug的过程也值得我们细细琢磨. 我想分享一些程序员修复他们的源代码时所经历的想法.这是事情变得紧张时所触发的轻松幽默.通常说来,应用程序终将可以工作,然后你也可以进入到下一个伟大的任务. 我相信很多web开发人员和软件工程师经历过这些艰辛,然后在事后一笑而过. 1.“我不知道…
开发应用程序是一个非常有压力的工作.没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象.面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉着.因此,如何处理修复bug的过程也值得我们细细琢磨.我想分享一些程序员修复他们的源代码时所经历的想法.这是事情变得紧张时所触发的轻松幽默.通常说来,应用程序终将可以工作,然后你也可以进入到下一个伟大的任务.我相信很多web开发人员和软件工程师经历过这些艰辛,然后在事后一笑而过. 1.“我不知道是要…
你有没有想过为什么有时修复错误似乎比它应该花费更长的时间?当你终于找到问题时,事实证明你所需要的只是一个小小的改变.然而,花了很多时间才能找到正在发生的事情.这种情况比我想象的更频繁. 另一方面,当您编写代码并进行测试并且无法正常工作时,修复错误非常快.你跳回编辑器,掀起一行代码,问题就解决了. 为什么即使问题很简单,有时修复错误也需要很多工作,有时候,修复问题的速度很快 - 甚至可能很难解决问题?我们可以从易于修复的错误中学到一些东西,这样我们可以花更少的时间来修复bug吗? 让我们来谈谈这个…
程序员:统治世界or修复bug? 时至今日,我们依然生活在一个市场和技术受到高度崇拜的世界里,但是历史演化的规律提醒着我们:当一个东西开始成为社会崇拜的对象时,其中暗藏的不利因素将悄然的进行着.有人认为数字技术和互联网能够消除物理世界的不公平,但是我们今天看到,这种想法就像是认为完全自由的市场可以带给人们完全自由的发展一样,显得不切实际. 还记得自己初学编程的初衷吗?每一个热爱技术的人都有一个梦想:在未来的某一天,我要用我编写的软件统治这个世界. 现在,随着IT技术.互联网技术.人工智能的迅速发…
1.新功能. 操作日志和搜索日志的Excel报表下载. 2.用户体验. 如果是通过搜索,进入到一篇内容, 搜索关键词需要高亮. 比如,搜索"程序员"出现若干内容链接,打开链接的页面,搜索词"程序员"应该高亮显示. 3.修复bug. 生成PDF格式的"小雷文集"时,文件名称需要过滤非法字符,不允许出现Linux和Windows不支持的字符. 4.系统优化. a.搜索等所有的用户输入参数,都要检查. b.配置业务异常和业务异常页面. 比如,如果用户访…
本主题阐释了这些功能,以继续这一关注虚拟敏捷团队成员的一天的教程. Peter 忙于编写一些代码以完成积压工作 (backlog) 项任务.但是,他的同事发现了一个阻碍他们工作的 Bug,他想立即修复此 Bug. 他暂停了手中的工作并修复此 Bug. 他请求 Julia 审查修复情况,并在审查后检查修复结果并恢复其初始任务. 说明 Peter 使用的“我的工作”和“代码评审”功能仅在 Visual Studio 高级专业版和 Visual Studio 旗舰版中可用. 主题内容 挂起当前工作并开…
CloudStack应用越来越广,但是随着测试也遇到了越来越多的bug. 不想等待新版本发布而且又急于修复某些bug的童鞋,可以参考下本文内容. CloudStack是java语言写成,发布时会发布为jar 一.先介绍下CloudStack版本控制 DB   cloud.version   该表中,存有version字段,存放该版本的版本号   例如:4.1.xxxxxxx (xxxxxx为时间戳) META-INF 解压任一jar 包,会有META-INF目录   目录中有MANIFEST.M…
使用Git分支开发新特性或修复Bug 通过分支,可以在不影响原有代码的前提下改变代码,主要用于开发新功能新特性.下 一代产品 为已经发布的正式版修复bug 团队开发时为每个人建立一个分支,从而避免相互影响 每个分支都有自己的历史记录  除了使用Eclipse工具创建/切换分支之外,也可以使用命令方法创建及切换分支 创建并切换:  git  checkout  -b 分支名 切换:  git  checkout   分支名 git  brach    查看所有分支 使用@ResponseBody和…
前面介绍了Git版本控制,为我们省去了很多不必要的麻烦. 回滚 有没有想过,在我们开发过程中,修改需要是常有的事,如果我们现在不想要这个功能了,那么如何回到之前的版本呢?回滚,回到上一个版本. 那如果我们后来又想把那个功能加上,但又不能回滚道之前的版本,怎么办?我们可以在版本库找到所有的版本 ,返回到我们需要的版本,继续开发. git reflog 查看所有版本 git reset -hard 回滚 git checkout 修复bug 如果我们在可发的过程中,之前上线的代码出现bug怎么办?…
/*移除HTML5 input在type="number"时的上下小箭头*/ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{ -webkit-appearance: none; margin:; } input[type="number"]{-moz-appearance:textfield;}…
Scrum 3.5 多鱼点餐系统开发进度(修复Bug&美化页面) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB 5.Sprint 3时间:12.09-12.18 重案组成员   姓名 学号 博客链接 Github链接 队长 黄冠锋 201406114134 http://www.cnblogs.com/hgf520/ https://github.com/crown999   卢利钦 201406…