在使用 Connect/C++ ,测试时发现在调用 getString 出现了内存增长的情况. ConstructOutput(); //打印出当前内存 ;i<;++i) { prepareState.reset(con->prepareStatement("call test.testproc3(?)")); prepareState->setInt(,); prepareState->executeUpdate(); result.reset(prepare…
上一篇列举了一些比较常见的Code Review问题列表,文末有链接,可追溯查看.本篇为上篇的姊妹篇,继续列举一些上篇遗漏的或不易发现的问题清单,希望能整体性把一些常见的问题表述出来. 测试数据不具有代表性,导致功能分支测试覆盖率不够,真正提交测试时很容易暴露出问题,对已对人都不好. 事务使用不合理,是否在事务方法中调用外部服务.有些在只读事务操作数据,在启用事务配置时要特别注意,应避免此类操作. 对于关键数据未进行为空判定,一个空NullPointer异常足以打乱所有正常的业务逻辑走向. 涉及…
我们集成TFS和SharePoint Server以后,一个最常见的需求是通过SharePoint Server的Excel Service读取TFS报表中的信息,利用Excel Service的强大功能,展现出各种漂亮的报表图像. Excel Service读取外部数据需要账户,我们可以将这个账户配置在Secure Store Service (SSS)中,实现所有报表使用同一个账户链接TFS的数据库. 可以参考微软官方的文档https://technet.microsoft.com/en-u…
debug 模式 ,在fis=new FileInputStream(file); 行打断点 调试过程中发现按f5无法走进jdk源码 package com.lzl.spring.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import…
前言 近期在学习使用Hive(版本号0.13.1)的过程中,发现了一些坑,它们也许是Hive提倡的比关系数据库更加自由的体现(同一时候引来一些问题).也许是一些bug.总而言之,这些都须要使用Hive的开发者额外注意.本文旨在列举我发现的3个通过查询语句向表中插入数据过程中的问题,希望大家注意. 数据准备 为了验证接下来出现的问题,须要先准备两张表employees和staged_employees.并准备好測试数据.首先使用下面语句创建表employees: create table empl…
在安装的过程中遇到了几个坑,特地记录下来.启动的时候会有有个错误: 大意为mysql退出且更新不了pid文件. 查看error.log,如图: 大意为ibdtata1文件不够,初始化的时候页数太大.初步判断为配置文件的配置参数问题. 将其改小或注释后解决. 初始化命令: bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data         # Before MySQL 5.6 bin…
软件环境:Spring MVC + MyBatis 主要体现在两个方面,一个是编码习惯问题,另一个是编码质量的问题.编码习惯主要有日志编写.代码注释以及编码风格的问题,而编码质量则与很多方面相关,比如轮子的使用.数据交互.逻辑精简程度等等.下面展开来说 编码习惯问题: 方法体偏长,不易管理维护,可逐步抽取成小方法来减少代码长度. 缺少注释或注释与实现不符,这对后期维护人员是个伤害. 硬编码,随手写的代码或测试时的死数据或常见的公共常量未维护,一旦发生变更,维护的代码量较大 日志缺失或缺少或输出意…
inline-block,简单来说就是在CSS中通过display:inline-block对一个对象指定inline-block属性,可以将对象呈递为内联对象,但是对象的内容作为块对象呈递.有时既希望元素具有宽度高度特性,又具有同行特性,这个时候我们可以使用inline-block.而block的的特性有以下特征: block元素会独占一行,多个block元素会各自新起一行.默认情况下(即不设置宽度的情况下),block元素宽度自动填满其父元素宽度. block元素可以设置width,heig…
在这篇博文里,我提到了一个例子,说的是使用C++实现类型安全的printf.这个例子很惊艳,但是在我写程序的时候,并非那么"迫切"地需要它出现在我的工具箱中,因为它并不比普通的printf方便,而且它没有出现的标准库中.所以自己也懒得整.相反,这个函数的兄弟,sprintf,倒是一个非常需要的函数.不仅仅是因为需要它类型安全,而是 sprintf 有比 printf 更多的麻烦: 首先它确实也不是类型安全的 使用sprintf之前,必须要先准备一段buffer,但这个buffer的大小…
起因是因为想了解闭包的内存泄露机制,然后想起<js高级程序设计>中有关于垃圾回收机制的解析,之前没有很懂,过一年回头再看就懂了,写篇博客与大家分享一下. #内存的生命周期: 分配你所需要的内存: 由于字符串.对象等没有固定的大小,js程序在每次创建字符串.对象的时候,程序都会分配内存来存储那个实体. 使用分配到的内存做点什么. 不需要时将其释放回归: 在不需要字符串.对象的时候,需要释放其所占用的内存,否则将会消耗完系统中所有可用的内存,造成系统崩溃,这就是垃圾回收机制所存在的意义. 所谓的内…