- 博客(558)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 项目开发1000条
就总结下吧。1. 修改上游系统如何确保系统内的其他模块以及下游系统运行正常(1)最近两周接连发现两个问题:一个是因为上游系统修改某个模块,由于没注意到对于其他模块的影响以及没有做完整测试,导致上线之后,另外一个模块彻底用不了,处理不了上线之后的新改动。另一个是因为修改这个模块,抽出了某些属性数据,导致下游拿不到这些抽出来的属性数据,也就是同步数据有了问题。原因有很多:分析和测试...
2020-04-24 21:19:02
235
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 系统设计话题
1. 删除的记录今天在做系统开发的时候,用户提了一个support case,说不小心把系统中的一个人删掉了,想要恢复回去,我查了下,这个人并没有被删掉,DB里面有一个status字段,值为deleted。感觉这样的设计很好呀,很好的把数据保留了下来,数据很容易恢复。但我随后又稍微深入想了下,这样也有缺点,如果这条数据确实就是删除以后再也不会用的,这岂不是冗余数据,会增加DB的占用,以及降...
2019-09-16 21:04:37
200
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 项目禁忌1000条
最近发现自己犯的错误有点严重,实在挂不住脸,希望这里不要记太多。1. 你以为(1)之前有做一个需求,就是要保持三个模块的某个日期一致,我当时简单找BA问了下,就去做了。做的时候发现,三个模块有两个模块的日期始终保持一致,所以下意识以为只需要改另外一个模块的日期就好了。当然,测试也没测出什么问题,上线了几个月,用户说你这个模块的日期不对呀,多了一天,然后大家一看,确实,其实应该改另外两个模块...
2019-08-08 20:57:24
358
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Good practice - Dictionary
今天发现在改项目中一个下拉菜单的排序时,由于是一个公用组件,在里面定义了sort规则(EXTJS),而需求是几个模块(不是全部组件)的这个组件要改排序规则,然后我需要在这几个模块重写sort规则,结果发现自己不太熟,写下来估计需要好几个小时,后来和同事讨论过以后,发现根本不需要改代码。 因为这个组件的list数据来自dictionary,而dictionary可以在前端页...
2019-08-01 21:52:22
193
原创 Oracle DB连接不上,提示Heavy swapping observed on system
后面DBA说DB本身有个最大运行内存参数sga max size,设置大一些就好啦。可能是内存不够,主要是因为DB数据很多,有定时全备份,全备份时需要大量内存。一开始以为是服务器内存不够,就加了服务器内存,问题还是会出现。
2023-05-27 09:51:01
322
原创 Springboot启动失败 DB连不上竟然是maven配置的问题
据此可以猜测,当没清或清掉原来的target时,这个时候把maven-compiler-plugin插件拿掉,再生成的target是不同的,springboot启动时恰好读取到了不同的有问题代码,引起了不同的报错。最后通过回退代码最终找到有问题的配置,竟然是pom文件中maven-compiler-plugin配置被误删了。最开始以为是DB版本后,需要升级驱动版本,但更新驱动版本还是不行,而且另外一个项目同样驱动同样配置可以启动。顺便提下,我把target清掉后,再启动项目,发现是其他启动报错。
2023-05-15 21:27:01
1166
原创 PowerMock对私有方法测试/Mock静态方法/彻底mock某方法(不执行内部语句,public/private都可)
// 私有方法测试,无参 Method method = PowerMockito.method(TestService.class, "methodName");method.invoke(testService);// 私有方法测试,传参Method method = PowerMockito.method(TestService.class, "methodName", Test1.class, Test2.class);method.invoke(testService, test1, .
2021-11-10 20:27:16
4290
1
原创 JAVA正则校验密码
1.(要求包含大写小写数字标点符号四种字符)主要思路是:1. 校验密码中一定包含大写、小写、数字和标点符号;2. 且校验密码中一定不包含除大写、小写、数字和标点符号以外的字符public boolean validatePassword(String password) { return Pattern.compile("[0-9]+").matcher(password).find() && Pattern.compile("[a-
2021-04-13 07:13:34
1268
转载 Java程序自动控制鼠标点击位置和键盘点击
import java.awt.AWTException;import java.awt.MouseInfo;import java.awt.Point;import java.awt.Robot;import java.awt.event.InputEvent;public class MyRobot { public static void main(String[] args) throws AWTException { Robot robot = new Ro.
2021-01-08 22:14:37
3577
1
原创 减少数据库服务器负载之本地缓存设计
今天想到我们有很多Web项目,似乎请求和响应这块可以有优化的空间,我主要是从如何减小数据库服务器的负载的角度想的,如下:以某项目为例,似乎存在很多数据比较静态(数据特性),很少改动,或者某些单一旦Approval之后就不会更新信息了,像这样的请求对应数据可能90%多的概率不会有任何变化,基本每个模块都可以优化(因为目前都是这种请求模式啦)主要价值体现在会减少部分数据库服务器负载,同时也会减轻一些web服务器的负载(不用执行后续查找更多静态数据),进而有更多资源可以处理其他任务。(想到之前的前端缓
2020-11-08 20:48:43
314
转载 修改jboss数据源DB的连接/线程池
jboss部署了spring mvc技术应用,通过jndi连接oracle DB。突然最近报错:1. org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JD
2020-08-25 23:12:00
789
原创 敏捷开发 — Story/Defect
敏捷开发中,每天早会面对一个任务面板,其中列满了Story和Defect卡,Story就是某项目的某个划分出的新任务的描述卡,Defect就是需要fix的项目中存在的一堆bug中划分出的某个或某几个bug的描述卡。 这边列举一个Story模板主要结构(不是标准,是个例子): [Background] background content... [System Limitation/Logic currently] Logic...
2020-07-24 23:02:37
833
转载 meta指定IE浏览器解析文档模式(IE版本)
最近维护升级的一个系统,用户通常是通过IE打开的,新加的一个页面我使用了es6语法和jquery ajax,我本地开发环境默认打开IE是IE11文档模式,所以一切正常。但是放到测试环境时,该页面却用IE7文档模式打开,语法不兼容,代码无法正常执行。 最开始同事建议可能是IIS设置的问题,我们通过改变.NET Framework版本,看是否有效果,结果发现还是不行,其实这个因果关系是不通的,只能算是一种瞎猜和尝试。 后面经过搜索相关资料发现,HTML中的meta可...
2020-07-21 22:16:52
1324
原创 程序员与诗人
生活偶时灵感所作,笔名:贪墨。系列一:理想国(1)理想国.远山隔层雾,隔层纱,千万房屋阻挡,看不到尽头,路在何方,怎样才能到达,山上是什么,越过山又是什么,山就在那里,云朵向我招手,鸟儿对我说,那里很美,风儿对我说,我是你脚下的路,太阳对我说,我的光会为你指明方向,我的心对我说,越它!...
2020-07-11 07:55:03
1741
转载 ASP.NET Ajax请求
前端用jquery.js$.ajax({ type:'post', contentType: "application/json; charset=utf-8", url:'myself.aspx/ReceiveAjaxMethod', data:"{\"obj1\": \"" + obj1 + "\", \"listObj1\": " + JSON.stringify(listObj1) + "}",
2020-07-11 07:42:51
547
原创 由事务引起的心跳事件
最近在项目中发现一个比较严重的问题,当然之前也意识到了,已更正,不过还没上到生产环境,但在业务中发现了其巨大的威力。大概代码结构如下:@Transaction(REQUES_NEW)A() { for() { B(); }}B() { some code; C(); some DB update actions;}@Transaction(REQUES_NEW)C() { call 第三方API,插入业务数据并记log
2020-07-04 08:23:16
329
原创 内建安全的必要性
最近公司请了Thoughtwork的讲师给我们讲安全方面的知识,之后使用学到的方法针对系统进行测试,发现若干重大漏洞。我们的系统是已经有第三方做了渗透测试,但还是没发现这些,看来进行内建安全是很有必要的。...
2020-06-23 07:44:20
363
原创 Springboot proerties文件中的某些配置失效
最近在部署springboot项目时,发现properties中某些配置失效(使用了application.yml中的某些配置),而某些配置又生效了,很诡异,然后被细心的同事发现了,我们的properties.vpp文件中的属性和值(${xxxx})之间要有一个空格啦。...
2020-06-16 15:23:09
401
转载 idea jboss服务器启动报socket close
本质是端口被占用了,可能是之前退出异常导致端口占用没kill掉,所以需要手动kill:netstat -ano|findstr "8080"taskkill -pid 30072 -ftasklist|findstr 30072注意,需要自己填入对应端口啦。
2020-06-11 08:43:15
341
转载 LISP
1. 简单概括,比较难得是列出的各个语言的分类对比https://blog.csdn.net/kingboygoodfly/article/details/45973137
2020-06-05 21:36:21
265
原创 ASP.NET radG:RadGrid表格样式异常(升级服务器之后)
最近公司升级服务器,迁移了一个ASP.NET项目,由于之前测试不够仔细,导致上线后用户发现一个表格样式有点异常,如下:首先表格边框突出,其次这一列连续空白格子出现虚化,很古怪(用户原话),正常的界面如下:公司老司机发现应该是IIS配置的问题,正确配置如下:更改这个设置后,一切正常,这波车开的真稳,hh!...
2020-06-05 19:41:50
360
原创 C# ADO: Cannot start more transactions on this session
最近在重做之前C#的旧项目,里面用了ADO驱动去call sqlserver DB,在大批量处理邮箱邮件时会报这个错:Cannot start more transactions on this session。找到一个官方的解释:https://support.microsoft.com/en-us/help/316872/error-message-occurs-when-you-use-ole-db-provider-for-sql-server-in-ad是sqlserver本身的限制.
2020-06-02 17:21:33
243
原创 The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure
最近发现C#读取某office 365邮箱时,log中报这个错,还是公司老司机给了解决方案。1. 首先找到邮箱登录网址或者相关的网址,进入浏览器,然后可以查看证书(这里以百度为例):2. 将证书下载到本地某目录3. 找到管理计算机证书4. 在空白处点击右键,所有任务 -> 导入,将之前的证书导入,不需要重启,关闭页面会自动保存5. 之后再尝试之前的软件操作,应该就不会出现这个问题啦,如果再出现,那就不是我能搞定的啦,hh...
2020-05-25 21:49:26
1357
转载 Python 读取.msg文件中的附件和内容
在网上看到一段代码,自己加了个文件名字空格字符的处理函数,感觉python很酷。import win32com.clientimport oscount = 0root_path = "C:/xxx/xxx/Desktop/xxx/"def get_attachments(file_name, path_name): """ 获取.msg文件内的附件 :param file_name: .msg文件路径 :param path_name: 附件存放目录
2020-05-12 22:12:24
5075
原创 博客回顾
目前在CSDN上两年多了,发现访问量等都不是很高,当然,自己写的很多比较随意,简单甚至有错误,另外也并不是IT界的热点问题,所以要回顾下,先从内容质量和深度开始优化吧,然后再想想其他。 1. 某博文:在网页中显示带有标签的HTML代码 首先从标题来看,就很不专业,应该改为:在网页中显示原生HTML代码,当然,为了扩大被搜索次数,可以改为:在网页中显示...
2020-04-16 21:03:00
165
原创 Extjs 对dataIndex为对象的column自定义升降序
最近发现如果dataIndex为对象的column,column显示内容是对象中某些属性拼接出来的,则无法基于控件本身提供的默认升降序进行排序(我用的是extjs6)。发现可以通过重写column的sort函数来实现自定义升降序规则,这也适用即使可以使用默认排序,但是因为规则不同而想重写的情况:sort: function () { var ds = th...
2020-04-14 20:26:04
583
原创 javamail 读取邮件遇到的问题和解决方案以及对IMAP协议的理解
1. 读取邮件不能用smtp协议,应该用IMAP或者POP3等,这个网上可以搜代码,有很多,不过写法都一致的:session+store。2. move邮件好像没直接的方法,得先copy再set flag,有点坑。假如将关闭folder放在finally中,try时有一大堆逻辑,那么一段时间内就可能会看到from folder和to folder中有两封相同的邮件,所以我一般在try中可以关闭...
2020-04-08 22:01:11
1066
2
转载 Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
https://www.cnblogs.com/tankaixiong/p/5613459.html其它的都试了,就这个可以
2020-03-20 16:43:01
263
原创 spring synchronized锁和事务
最近发现有同事写了一段事务控制的方法中子方法加了锁的代码,而且在事务上用了propagation = Propagation.REQUIRES_NEW,然后稍微研究了下,得出以下结论:1. propagation = Propagation.REQUIRES_NEW在执行方法时,不管之前有没有事务,都会创建新的事务,而且这个一般用于嵌套事务的内层事务中,像xxx那样写也有效,不过一般不那样用。...
2020-03-18 22:19:03
938
原创 spring boot连接sqlserver
https://blog.csdn.net/dianhuilu4947/article/details/81866392发现除了以外上,还应注意sqlserver的版本,2016版本的不支持可以在配置文件上加上对版本的指定:database-platform: org.hibernate.dialect.SQLServer2008Dialect可以通过org.hibernate...
2020-03-10 18:54:18
1861
原创 编程学习
初步目标:1000条1. 在前端和后端添加或者修改代码的同时,要考虑你加的方法是否会覆盖被继承的对象方法,今天就是前端EXTJS重写了一个afterRender方法导致覆盖掉原来的逻辑,从而导致前端行为出现问题,影响到了其他功能,而且如果测试缺乏的话,会导致发现的时间比较缓慢,如果是release出去才发现,就比较晚了。正确做法是在重写的方法中先调用类似callParent(arguments...
2019-10-21 23:36:01
175
原创 unit test - google gson
在单元测试中,很多次都要构造一些测试的实体数据,如果通过代码去构造实体,则要写很多代码而且难以维护,所以我们可以通过构造并读取json文件生成实体对象的方式来实现。<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactI...
2019-09-28 13:14:27
233
1
原创 PowerMockito测试私有方法以及捕获自定义异常
在写unit test时,难免会遇到测试私有方法的时候,下面是用PowerMockito测试私有方法的一种方式。Method method = PowerMockito.method(类名.class, "方法名", 参数1类型.class, 参数2类型.class, ...)method.invoke(类实例, 参数1, 参数2, ...)参数X类型.class举例:Date.cl...
2019-09-28 11:10:31
5053
转载 sublime text加入右键菜单
一直想搞来着,终于在今天实现了。直接上参考博客链接:https://www.cnblogs.com/leime/p/9441169.htmlhttps://blog.csdn.net/qq_22844483/article/details/54845255注意点:1.如果用脚本跑,要注意路径是否正确,另外,尽量使用“SublimeText3\command”命令本地的文件夹,与博客...
2019-09-28 09:03:18
309
原创 StringBuffer
最近犯了一个很基础的错误,就是在for循环中拼接字符串直接用了+=这种形式,然后就被同事说了一顿,因为效率太慢了,那个for循环的量级可是百万级的。直接上一段类似代码:public class stringBufferTest { public static void main(String[] args) {// String a = "";// f...
2019-09-01 16:20:03
204
原创 敏捷开发个人目录
接触敏捷开发一年了,打算写点什么。 敏捷开发 — 是什么1. 敏捷开发 — 角色2. 敏捷开发 — 道具(story/defect/task...)3. 敏捷开发 — 游戏(自己做一个?或找些玩法过来?)4. 敏捷开发 — 需求5. 敏捷开发 — 开发6. 敏捷开发 — 测试7. 敏捷开发 — 会议8. 敏捷开发 — 面板9. 敏捷开发 — CI/CD...
2019-08-07 20:59:52
344
原创 vs2005publish报错解决
之前vs2005 publish web site没有问题,现在报web.config有问题,多番尝试解决,无果,绝望下重装解决问题。绝望下可以尝试重装啦。
2019-08-01 21:38:37
177
原创 VS2005 publish报错:Object reference not set to an instance of an object.
之前在vs2005是可以publish的,后面我用了vs2008打开项目并运行了后,产生了很多文件,之后发现在vs2008上publish有问题,解决不了,就reset了代码,然后用vs2005 publish,发现报这个错,心里面哇凉哇凉的。之后去bing、百度搜索解决方案,发现都不行,都尝试了下,没有任何反应。突然发现项目的Bin目录下面有一个xxx.compiled文件,其实之前一直有的...
2019-07-24 18:37:09
2609
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人