- 博客(11)
- 资源 (33)
- 收藏
- 关注
原创 Java 的参数检查与断言 - Spring Assert
之前有一篇 Java 的参数检查与断言 介绍了在 Java 中如何应用 Guava 的 Preconditions 来进行参数检查与状态断言,原本是可以心无旁骛,专心的用它就行了,可是刚刚因琢磨我们使用 JdbcTemplate 存在的一大 Bug,阅读 Spring 的源代码时发现 spring-util 也提供了一个类似于 Gruva Preconditions 的工具类 -- Asser
2017-04-22 14:04:27 2572
原创 代码整洁之道(Clean Code) 笔记(二)
第四章:注释别给糟糕的代码加注释 -- 重新写吧什么也不会比乱七八糟的注释更有本事搞乱一个模块。什么也不会比陈旧,提供错误信息的注释更有破坏性若编程语方足够有表达力,或者我们长于用这些语方来表达意图,就不那么需要注释 -- 也许根本不需要注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败。注释总是一种失败不准确的注释要比没注释坏得多。它们满口胡言。代码,只有代码能忠实
2017-04-22 14:02:05 816
原创 使用 Mockito 修改私有属性
修改私有属性来 Mock 可能不是一种很好的测试方式, 因为属性名是动态的,但有时不得已而为了,例如下面的代码:public class UserService { private ExternalApi external = ExternalApi.default(); private UserDao userDao; public UserServ
2017-04-21 08:46:41 5431
原创 使用 Awaitility 测试异步代码
对于同步方法的测试很简单,调用完后可立马检查执行状态; 而异步方法,由于我们无法确切的知道何时结束,因此以往的办法是用 Thread.sleep(500) 来预估一个执行时间。然后通常我们估计的要长于实际的时间,这就很浪费,况且偶然的超过预估的等待时间也并不意味着代码有问题。还有 sleep 方法还抛出一个检测异常 InterruptedException, 一般会要对 Thread.slee
2017-04-20 13:27:03 3268 1
原创 AWS Java Lambda 与环境变量
一句话概要:对 Lambda 环境变量的任何改动都会引起一次 Lambda 的冷启动,大可放心在 handleRequest(...) 方法外使用环境变量。从 AWS 上 Java Lambda 应用记要 中,我学到了 Lambda 的实例是跨请求共享的,所以为使用 Lambda 配置的环境变量时曾写出了下面复杂而多余的 AWS Lambda 代码:public cla
2017-04-14 23:45:17 2166
原创 AWS 上 Java Lambda 应用记要
AWS 的 Lambda 给了那些不想自己管理 EC2 服务器和配置负载人员很大的便利,所以 Lambda 被描述为 Serverless。真正的只关注业务就行,怎么调度,同时有多少个实例运行交给亚马逊去处理就是了。运行 Lambda 的环境也是亚马逊内部的 EC2 服务器,镜像是 Amazon Linux, 所以如果想运行系统命令,那是 Linux 的。Lambda 支持多种语言 Node.js
2017-04-14 23:43:15 2974
原创 代码整洁之道(Clean Code) 笔记(一)
第一章:整洁代码代码即设计童子军军规:把露营地清理得比来时还干净,签入代码前是否已做重构你湎自行实践,且体验自己失败。你须观察他人的实践与失败勒布朗(LeBlanc) 法则:稍后等于永不 (Later equals never)赶上期限的唯一方法--做得快的唯一方法--就是始终尽可能保持代码整洁缺乏“代码感”的程序员,看混乱是混乱,无处着手。有“代码感”的程序员能从
2017-04-14 23:42:12 828
原创 使用 JMockit 来 mock 构造函数
Java 测试的 Mock 框架以前是用 JMockit, 最近用了一段时间的 Mockito, 除了它流畅的书写方式,经常这也 Mock 不了,那也 Mock 不了,需要迁就于测试来调整实现代码,使得实现极不优雅。比如 Mockito 在 私有方法,final 方法,静态方法,final 类,构造方法面前统统的缴械了。powermock 虽然可作 Mockito 的伴侣来突破 Mockito 本
2017-04-14 23:40:31 6962
原创 JdbcTemplate 易被 Java 8 Lambda 带入的坑
Spring 的 JdbcTemplate 为我们操作数据库提供非常大的便利,不需要显式的管理资源和处理异常。在我们进入到了 Java 8 后,JdbcTemplate 方法中的回调函数可以用 Lambda 表达式进行简化,而本文要说的正是这种 Lambda 简化容易给我们带来的一个 Bug, 这是我在一个实际项目中写的单元测试发现的。下面就是我们的一个错的样板代码,在我们的 UserRe
2017-04-14 23:39:35 1120
原创 Java 可变参 Object...objects 方法的陷进
之前有一篇 Java 的参数检查与断言 介绍了在 Java 中如何应用 Guava 的 Preconditions 来进行参数检查与状态断言,原本是可以心无旁骛,专心的用它就行了,可是刚刚因琢磨我们使用 JdbcTemplate 存在的一大 Bug,阅读 Spring 的源代码时发现 spring-util 也提供了一个类似于 Gruva Preconditions 的工具类 -- Asser
2017-04-14 23:36:53 567
原创 Java 与 Python 通过 Apache Avro 交换数据
最近转战到 Amazon 的云服务 AWS 上,考虑到在使用它的 Lambda 服务时 Python 应用有比较可观的启动速度,与之相比而言,Java 总是慢热型,还是一个内存大户。所以有想法 Lambda 函数用 Python 来写,来增强响应速度,而内部的应用仍然采用 Java, 于是就有了 Java 与 Python 的数据交换格式。使用 Kafka 的时候是用的 Apache Avro
2017-04-14 23:35:56 1274
Quartz Job Scheduling Framework 中文版 V1.0.0.chm
2010-10-11
远程桌面批量登陆器,3389 RemoteDeskTop
2010-06-07
nantpad.2.0_with_Crack
2010-06-04
Quartz Job Scheduling Framework 中文版 V0.9.5.chm
2009-02-05
Quartz Job Scheduling Framework 中文版 V0.9.2.chm
2008-10-07
精通 Groovy.chm
2008-09-09
Quartz Job Scheduling Framework 中文版 V0.9.1.chm
2008-08-26
Quartz Job Scheduling Framework 中文版 V0.8.2.chm
2008-08-25
程序开发技巧集(Unmi整理)
2008-05-02
Visual.Assist.X.10.4.1619 + Crack
2007-12-01
华为代码统计工具CCT V2.0
2007-11-22
Perl 语言编程.chm
2007-11-15
CN-DOS批处理精华贴(2007-A)(IE6)
2007-10-16
DOS批处理经典入门教程
2007-10-16
APort
2007-10-15
fport
2007-10-15
Quartz Job Scheduling Framework
2007-10-11
JavaDOCHelper1.5.1_Viewer
2007-10-11
reilly.jboss.a.developers.notebook.jun.2005
2007-10-09
Spring程序高手秘笈--英文原版
2007-10-09
SWT程序高手秘笈--英文原版
2007-10-09
Hibernate:程序高手秘笈--英文原版
2007-10-09
Java 5.0 Tiger程序高手秘笈--英文原版
2007-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人