每日心得体会 .

来源:互联网 发布:剑三小小书生插件数据 编辑:程序博客网 时间:2024/04/27 23:16
8.18
program 一开始,就要考虑跨数据库的最大通用性.
     metaData.getColumnType(...) && java.sql.Types.XXXXXX ( all kinds of constant. )
   !!!!????!!! '' && null && "" 在sql/java env 中的差异.  及跨DB时的差异. and potential bug.
   trim(xxx) is not null  VS ltrim(xxx) is not null ---> db2 ,oracle is different.
     
8.19/20
    isDebug true:  实施阶段: 频繁出错时使用.  --> detailed error info/ strict verify (effectDate,merge/verifyError....)
    isDebug false: UAT or 上线run period: --> 放开 --> 适应复杂灵活多变的客户方情况. --> 各种客户,应用环境的不同.
   
    customer_config.xml  --> 客户化配置文件的极其重要性.
   
    ///
    window Os : backup DB2 . ---> will failed in : AIX unix OS : restore DB2 file.
    --->backup && restore
            -->Strictly dependence with hardware && OS && OS verison && softwareVersion .
                 ---> common DCL SQL script  + programExportImport (essential: JDBC is common )
                 
    元数据(meta)是描述数据的数据。它所描述的有一部分是数据本身的特性,如字段的长度,精度等,另外一部分描述的则是我们使用这些数据的可行方式和目的等。使用meta可以在程序中更加清楚的表达出我们的意图。例如现在需要在界面上显示一个列表,我们的意图未必是要在界面上显示指定的字段A, 字段B,字段C对应的列,而是"显示那些应该显示在列表中的字段"。这一看似同义反复的表述,如果采用元数据表达,则成为 <ui:PageTable fields="${dsMeta.listableFields}" />。通过使用元数据,我们可以做到系统中众多的功能可以共用实现,即通过同一个页面应用不同的meta则得到不同的最终展现,而后台一个通用的DaoWebAction通过使用meta可以完成对所有实体的操作。这也可以看作是一种复杂的策略模式的应用。
                 
8.21
  batchSize 设置. 权衡. 顾此失彼. 
  语句太长.....only throw a statement.
  SpringJDBC: workJdbcTemplate.batchUpdate([xxxx]) --> 底层jdbc realize --> everyDB factory 's realize mechanism
 
  crms_dual table . ---> unify all kinds of DB's dummy table .
 
8.22
    programmer 看问题,思考,处理问题的方式. 不看表象.--->maybe 千奇百怪.疑惑,无从下手--> 看后台,看本质.-->通用解决方案.
                          select DB/ view UI source Code. /UltraEdit view  exe||dll ... /view sysLog. /view OS log. ..
                          sysout/log4j.debug(currThread.hashcode() )---> verify the task is True MultiThread....
                             --> runtime changed info. ....
                          start window service: oracle some service are failed . --> view oracle/os's log + change to use
                             background 's  XXX.bat command . + use internet ...
                             s
                            
       ---> create report ,UI display is empty .....
       
  RuntimeCubeSpaceInstance. && configInstance.
     -->oper_id 's oper_name(merge -->调平)  VS customer_config.xml. --> program's dynamic info.
        -->DB level can config(changable)
 
  Ms -->Access import excel and create dataLink --> select xxxx union select ......
        --> transfer excel -->DB level feature.
   ---> true expert,and excellent career , must be familiar with the .Net and Ms 's often function.
             photoshop,dreamweaver.
   ===> enjoy tech happy. to high efficiency to solve problem.
  
  
8.23/24/25
   C/S: 程序,不只应考虑实现了功能, 作为enterprise App,不需要考虑更多: 安全性. 性能. 移植性.
   如: reportDesigner, datasource 用明码写明,极大的安全隐患.
           --> client-end 加密字串.
           --> integrate windows身份验证. -> enhance security
           --> Server-end 赋予此application.的特定权限(DB level)
           --> connect DB by tcp request. 统一地向server-end request. --> 支持multiDB,will avoid client-end 的多DB版本问题.
                                                                                                                                --> 集中维护multiDB by server-end.
                                                                                                                                --> avoid 业务人员 need install all kinds of DB client-end.
   OO design 最关键的是: 领域对象的职责明确. 职责越明确的DomainObject,越对处理不断变化中的复杂业务提供好的扩展性及维护性.


共享对象(multiThread share),独占对象.(每个线程维护其lifeCycle)                  
   不可变对象(没有set等改变对象状态的方法,或纯粹的methodObject,如util,DAO 类.), 可变对象.
  
   外在不可推托责任/压力 --> 促进真正发挥创造力,出成果.
           case: 批量汇总(.....) base on  now 体系,如何实现及UI友好化. (答案就在大脑里,需要发挥MAX的创造性去挖掘出来.)
          
   函数公式的deadCycle,-->增加隐含的merge操作实现
                                                 -->litao:  赋值函数. 3-5 行代码即可. (at first is : very active 心态 --> 创造性)



    
原创粉丝点击