一个外行如何快速融入node项目

nodejs

去年上半年开始接触了一些JS的后端编程,参与了一个基于node(其实是Meteor)的开源项目,有一些知识上的积累,现在回归了Java老本行,怕再过段时间就忘了,在这里记录一下,好记性不如烂笔头,说不定以后会有用。node大神可以看来消遣,跟我一样是外行但是需要写一些node程序的可以看看经验。这篇文章里会包含以下内容:

  1. 背景
  2. 关于Wekan
  3. 关于Meteor
  4. 关于publication&subscription
  5. 关于Jade&Stylus
  6. 关于JS

KK笔记:kknotes.com
本文链接地址: 一个外行如何快速融入node项目

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

MyBatis在Spring环境下的事务管理

MyBatis & Spring

MyBatis的设计思想很简单,可以看做是对JDBC的一次封装,并提供强大的动态SQL映射功能。但是由于它本身也有一些缓存、事务管理等功能,所以实际使用中还是会碰到一些问题——另外,最近接触了JFinal,其思想和Hibernate类似,但要更简洁,和MyBatis的设计思想不同,但有一点相同:都是想通过简洁的设计最大限度地简化开发和提升性能——说到性能,前段时间碰到两个问题:

  1. 在一个上层方法(DAO方法的上层)内删除一条记录,然后再插入一条相同主键的记录时,会报主键冲突的错误。
  2. 某些项目中的DAO方法平均执行时间会是其他一些项目中的 2倍 。

第一个问题是偶尔会出现,在实验环境无论如何也重现不了,经过分析MyBatis的逻辑,估计是两个DAO分别拿到了两个不同的Connection,第二个语句比第一个更早的被提交,导致了主键冲突,有待进一步的分析和验证。对于第二个问题,本文将尝试通过分析源代码和实验找到它的root cause,主要涉及到以下内容:

  1. 问题描述与分析
  2. MyBatis在Spring环境下的载入过程
  3. MyBatis在Spring环境下事务的管理
  4. 实验验证

KK笔记:kknotes.com
本文链接地址: MyBatis在Spring环境下的事务管理

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading