`
shermenn
  • 浏览: 14177 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论
文章列表
  做完整个任务,如同做了一个长长的噩梦。   周二,kelvin 同我讲 automation upload program 需要我们project team handle。我就知道麻烦事来历。但是由于我对http协议比较了解,我猜想所有broswer 做得到的事情都是可以用java 重复实现的 ...
新系统对外接口是 excel upload 而且要求每次import 时间不能超过15分钟 在个人电脑上面 测试结果 如果2个upload 工作同时进行,每一份excel 大概 500 个entity ,可以成功upload   难点: 要求excel 格式同 临时表的结构 相同 如果一个模块达到19个表,每个表多于20个column , export 同 制作 excel template 工作已经很大 解决方案: excel export 使用java poi mandate 2 日   难点:excel 版本 在2007 或者以上,要求data 全部使用datatab ...
构造 临时数据仓库,用于提取数据   设想在这个阶段完成大部分的商业逻辑转换工作,使用 pentaho 工具, 帮助转换数据到临时表 环境设置: 1.临时表尽可能与新数据库表结构相同,但是当中会加几个帮助做逻辑的column 类似flag  优点: 集中转换工作,方便开发和维护  困难:构造临时表工作量大而且繁琐。  解决方案:花2个钟头 利用 sqldevelpoer :desc table output format 直接解析 生成 create table 语句     2. 转换 id,旧数据id全部使用 number(20,0) 递增作为 主键, 搬到新系统将会 ...
data migration 已经开始做了一个月   第一阶段: 构造 临时数据仓库,用于提取数据 第二阶段 导出临时数据 第三阶段 导入数据到新系统   每一个模块需要做三个阶段, 最理想的时间分配是 大部分时间发在提取数据上面 其他环境设置和流程控制 尽可能压缩时间   难点: 首次用新流程,方法做
在js闭包里面没有值传递   var a= function(){ var rlt= []; for(var changing = 0; changing < 10; changing++){ rlt[changing] = function(){ var amIchange = changing; return amIchange; } } return rlt; }();   for(var i = 0; i < a.length; i++){ console.debug(a()); }   假如可以值传递 那么应该打印出 1,2,3,4. ...
  1. set $F{BLOB} InputStream 2. set field as java.awt.Image 3. edit expression as javax.imageio.ImageIO.read($F{BLOB})   搞定
直接替换显示内容: value = StringUtils.ReplaceAll(value, "\\s\\s", " &nbsp;"); 注意 是 替换2个空白!!     除去这个笨重的方法,可以使用css方法(尚未验证) http://www.wuxiwangzhanjianshe.cn/gg.asp?id=7449  
public void process(){ //使用set 可以避免收集到重复的warning message //使用linkedHashSet 可以使得收集的warning message 再遍历时候可以按照添加顺序显示 Set<String> errorMsgs = new LinkedHashSet<String>(); boolean isDataLegal = validate(objects,messageSet); ... //把收集的消息变成一条语句返回前台 StringBuilder sb = new ...
1.清晰性和简洁性最为重要 2,代码应该被重用 而不是拷贝 3,模块之间的依赖性尽可能地降到最小、 4.错误应该尽早地检测出来,最好是在编译时刻
1. 关于变量的命名 写代码时候 经常使用简写做变量的命名 1.希望大家尽量用全称,这样避免一些不必要的误会。 2.假如名字实在太长的话,那么选择声母作为简写,例如:   message -> /ˈmesidʒ/ -> msg   agreement -> /əˈɡri:mənt ...
Create Or Replace Type Cpm_Task As Object (        Start_Date Date,        Duration_Days  Number(9,0),        Member Function Get_end_date Return Date,        member procedure set_Startdate(in_start_Date Date) ); / create or replace type body Cpm_Task as       member function Get_end_date return ...
javascript program specification 1. if script depend on one html code directly(eg: document.getElementById('xxx')), please directly write this function under this page or a new script file if too large code 2. treat every individuate service as an object especially complex function. eg: Ext.nam ...
Integer i =null; boolean bl =false; System.out.println(i = null); System.out.println(bl = true); 打印出来 null true 那么可以写这样的语句 boolean b = false; /*do some thing*/ if(b = true){   /*do some thing*/ } 不过都觉得好无意义。 但是知道为神马一连串赋值是可行的。 boolean a = b = c = e = false; 因为右结合运算 e = false, 该式子返回所赋值 false. 所以 c ...
《thinking in java》中提到程序员分两种:类创建者 和 客户端程序员 private 可以保护那些类创建者不想让 客户端程序员访问的变量,以免破坏类的正常逻辑。 我觉得这个观点很有意思,让我联想到 即使是public 方法亦有被客户端程序员间接破坏的情况。这里的间接破坏就是客户端程序员自己新起类,继承(extends)第三方类,重写其方法。比如 CustomizeHashMap extends HashMap, 重写 add 方法。 你可以会在使用 CustomizeHashMap  的addAll 方法中出现问题。这是因为 在 父类HashMap中 addAll 使用了 add ...
1.使用treeSet收集可以 避免重复message 和 实现message 排序。 2.使用String.format可以让 message template 更加清晰 3.中断程序时,应该抛出自定义exception以区分其他unexpected exception
Global site tag (gtag.js) - Google Analytics