系分模板
一定要记得保留数字标题前缀,这样可以在目录里恰当地理解结构深度。 图例红色代表变更/新增功能 蓝色/黑色代表原有功能 1、需求分析1.1 原始需求1.2 需求背景1.3 需求收益1.4 术语解释 名称 解释 例子 例子 1.5 流程分析1.6 用例分析1.6.1 业务用例分析1.6.2 系统用例分析2 功能性设计2.1 交互设计2.2 流程变动2.3 领域模型变更要有枚举变更、领域名词变更 2.4 数据模型变更2.5 状态机变更2.6 关键时序对 sla 的需求是什么?写在时序的 Note 里。 2.7 接口变更参考: 《Google API Design Guide (谷歌API设计指南)中文版》。 github 的 REST API 注意 api 的风格、可扩展性、场景的隔离。 List Get Create Update Delete 接口要素 接口要素值 语义说明 path /api/v1/account_settings/reclaim_rules http method PUT query...
神经衰弱和强迫观念的根治法
写在前面的话强迫症是一种观念冲突,不能摆脱这种冲突,则人生的心境进退不得。 神经衰弱是文化发展带来的弊端。Civilization 等同于...
面向测试编程
什么是单元测试,什么是集成测试单元测试是只测试一个特定单元的测试,如果你的测试需要启动多个层而不是只启动这个被测试单元,那它就是一个集成测试。 一种比较前沿的观点认为:访问代码、管理者代码、存储代码和业务代码里,只有第四种需要测试,其他的逻辑的正确性只要由顺序执行保证就行了。这这第四种测试,是不需要 mock 的,尽量使用 main 就能启动。这就要求把业务逻辑和输入输出解耦。和输入解耦比较简单,和输出解耦需要一定的巧思-把业务逻辑写成纯函数也许能达到这一目的。 而集成测试意味着我们要启动尽可能大的完整的程序,进行: 功能测试 验收测试 端到端测试 mock object历史上的 mock object 是为了 peel out 整个 framework,让测试变轻而设计出来的。但如果 mock 的配置比较繁琐,则 mock 仍然很重。 当一个对象的依赖的行为很难定制而需要定制的时候,mock 对象就登场了。在历史上,软件工程的语言里,关于什么是 mock、stub、fake 和 stub 有漫长的争论,它们的共同点是都是真接口的假实现。 mockito 已经完成了一个...
Surefire、Failsafe、Jacoco 与 Maven 插件
Apache Maven SurefireApache Maven Surefire 本身是一个测试框架。 Maven Surefire Plugin 和 Maven Failsafe Plugin 都是这个项目的模块。 Surefire 插件Surefire 是在 maven 的构建生命周期里面,test phase 执行单元测试的插件。Surefire 的意思是“完全,一定成功的”。任何单元测试失败,都会导致构建失败。Surefire 跑测试失败,会在现场留下名如hs_err*的文件。 用法这个插件只有一个 goal,就是 test。 因此,使用它都不需要配置什么 configuration 和 phase。1234567<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> ...
日程管理模板
分类 本日 明天 本周 本月 本半年 本年 个人+组织 换行换行 个人:需要消费的东西 个人:对别人的承诺/责任 个人:需要干掉的东西 个人:生活上的下一步 个人:需要掌握的技能 组织:基本任务 个人:基本功锻炼
领导梯队笔记
何谓领导梯队定义领导梯队:英文(leadership...
What is the best comment in source code you have ever encountered? [closed]
What is the best comment in source code you have ever encountered? [closed]
MyBatis 关键代码分析
如何创建 SqlSessionorg.apache.ibatis.session.defaults.DefaultSqlSessionFactory12345678910111213141516171819202122232425262728// 在应用程序中通过sqlSessionFactory获取一个SqlSession对象执行CRUD操作SqlSession sqlSession = sqlSessionFactory.openSession(true);// 在DefaultSqlSessionFactory中获取SqlSession对象@Overridepublic SqlSession openSession(boolean autoCommit) { return openSessionFromDataSource(configuration.getDefaultExecutorType(), null, autoCommit);}// 通过MyBatis配置参数构建SqlSession对象private SqlSession...
JDBC 问题
JDBC URL参数解析参考《mysql JDBC URL参数解析》 JDBC数据源配置.xmind jdbc 调用层次在创建事务的时候,调用 createTransaction 会先 getConnection。一开始的时候先试用发出两条语句:select 1;set autocommit=1;测试连接可用性。 12345678910112 = {StackTraceElement@24652} "com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)"3 = {StackTraceElement@24653} "com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2482)"4 = {StackTraceElement@24654}...