Fly with the wind-TerryDong

.NET on the way
posts - 18, comments - 45, trackbacks - 1, articles - 0

2010年1月28日

tired status,tired life -- 这就是目前的状态

当一个人变得是那么不懂得生活,也就无欲无求与积极向上的徘徊

人可以改变生活,生活也会对人有很多影响。毕竟不是一个人,一个人可以完全随性的走,可以不能。

30而立,距离而立的时间也不多了。。。

身边的一些同龄朋友or同学,有的转销售,有的转售前,也有坚守在技术岗位的。都有压力,都有追求和目标,我的目标却在一种无所谓的态度中渐行渐远。

事业对于一个人来说,在生命中占据了几乎1/3的时间,剩下的1/3是睡觉,其他的就是徘徊在工作的路上or吃饭,三点一线。

这就是我们想要的生活吗,这和当初的选择匹配嘛?

人是有欲望的,无欲则无求....可惜现在一切的商业化,包括少林寺.又怎能做到无欲无求。

我很羡慕一个朋友,他对技术的渴望和执着、专注。做纯粹的程序员的状态,是很美好的。只可惜,不能脱俗的我,生活所迫…要生存、要生存的更好、孝敬

2009年又是混沌的一年,我的心跌至低谷

公司

来到这个one of the top b2c 2年半的时间,三个字总结:对得起

我对得起公司,当离开时,公司才觉得应该做得更多,应该怎么样。。。

没有抱怨,只有可惜。

2.5年,从热血到失去兴趣。我只发挥出30-40%。。。继续 or 离开 答案显而易见。

----mark,待续

gammar

personal

posted @ 2010-01-28 16:16 Terry Dong 阅读(46) | 评论 (0)编辑

2009年4月15日

  • jquery&ajax
    • js 调试工具:
      • firefox->firebug:非常非常好用。
      • IE 8 -> 开发者工具:很好用,这一点相信微软借鉴了不少firebug的思想。
      • IE 6 -> 非常痛苦的经历下,找了几个工具定位错误以及调试。IETester:基本可以满足,但是下载的版本与debugbar无法兼容,只能当个个多浏览器使用。debugbar and CommonJS 还不错,可以详细的列出引发一个js错误的所有入口点。
    • js 在vs 2008 中调试已经非常好用了。但一个莫名奇妙的错误,导致查找了一天,查遍了全球互联网。最后可笑的是,加一小段代码解决。分析原因是IE 6下对js的支持不够好,post回来的数据在下拉框中设置selected=true 无法找到对象。加入settimeout函数搞定。
    • 经验:
      • jquery的插件还算比较成熟,品种也繁多。
      • 如果只用基本的选择器封装就没必要了。毕竟对网页的速度有一定的影响。如果一个页面需要写超过200行左右的js代码,或者你需要用一个成熟的插件,建议使用。
      • js类库与jquery冲突:解决办发,使用jQuery("") 代替 $("")
      • 对于jquery的语法规则,确实是简单实用。但习惯了面向对象编程的方式后,更倾向于面向对象的方式。
  • 轻量级API
    • API 返回Json格式的数据,js处理起来方便
    • API 实现方式很多。这次用的是一个generic handler文件完成了API接口,对于web form 的应用是一个很好的选择
  • UnitTest
    • 单元测试在编程过程中起到了很大帮助。
    • 对于单元测试,很多人有很多顾虑,因为需要写一大堆测试用例,vs2008 中自带的单元测试,高度集成,很方便可以完成方法单元测试方法的Generated。好处在于:当你修改类库方法的时候,测试用例做回归很好,对于web form的unittest也支持的不错。
    • 单元测试的覆盖面:
      • 对于敏捷的小团队来说,单元测试覆盖到重要的数据访问以及业务逻辑就可以了。你可以再UI制作的时候,编写业务逻辑代码
      • 一个方法中,覆盖多种情况

posted @ 2009-04-15 14:06 Terry Dong 阅读(37) | 评论 (2)编辑

2008年11月7日

一个多月的时间,终于把支付平台这个阶段性项目release了,经过几天的bug fix 已经基本趋于稳定。期间发生的许多事情值得记录和总结。

项目的数据复杂度比较高,数据库的重新设计与迁移是痛苦的。为了保证不影响运营,采取了保守的写2边的做法。

 

项目采取的步骤:

  1. 在没有任何文档的情况下,查找所有涉及到要迁移的表的功能。以文件的方式查找asp页面,存储过程。(痛苦的经历)
  2. 总结查找到的功能与在线的功能对比,到底哪些还在继续使用,哪些功能不用了。(没文档的痛苦.too)
  3. 功能重写讨论,分解工作任务,讨论数据新的数据流向怎样集成到现有功能中
  4. 开发,期间对于数据库的操作反复讨论,几乎结对编程。
  5. 测试,期间导款功能返工,原有代码极为混乱,改动难度很大造成。
  6. 部署后的bug fix,期间业务部门提出了功能不好用以及新需求。

 

总结:

  1. 文档的重要性,对于后来者以及系统重构的意义。
  2. 数据库的混乱。测试环境与正式环境的字段差异导致在测试时无法发现问题,上线时异常。
  3. 个人觉得对于一个业务复杂的交易平台。数据库的重要性不言而喻。怎样开发、测试、上线呢。以下是最基本的保证。
    • 开发库:开发人员基于的数据库环境。此环境中,可以根据新的开发需求,更改和新建数据库库,表,字段。当开发完成后,通知DBA把测试环境和正式环境的数据库更新
    • 测试库:应该保证测试库与正式库的一致性,才可以保证不会再上线时出现数据库差异导致的错误。
    • 正式库:生产环境的DB。
  4. 产品经理存在重要性,即使是数据迁移这类的项目,也需要有一个产品经理与开发经理,业务部门的沟通,产生最终产物PRD。
    1. 有些功能在数据迁移时,用户操作界面不得不更改。例如财务导款。
    2. 开发经理在性能上控制上进行把握,产品经理基于此把一些业务部门的需求屏蔽掉,或讨论采取其它方式实现。
    3. PRD的详细程度。其中应该包括压力需求。例如:要把2w条的数据一下导入的问题,事先开发人员不清楚。
  5. 功能模块的Design文档。应该严格要求必须先根据PRD撰写设计文档,包括页面处理逻辑,数据处理逻辑,使用的相关数据库。
  6. 尽量避免开发组人员与业务部门直接沟通。业务部门的需求总是无穷尽的,开发人员直接参与不会有任何结果。需要产品经理的控制。
  7. 代码的版本管理。主干和分支的模式需求在这次开发中产生,在支付平台开发的过程中,另外一个项目也同时要基于底层类库开发。导致了上线时间的依赖关联问题。
  8. 导款的重写,是在项目进入到测试阶段才发生的,开发人员连续加班4-5天才搞定这个问题。对于项目控制来说,这是很危险,应该尽量避免的,进一步验证了把原功能逻辑直接拿过来重写的方式是不推荐的。

 

目前只想到这些,项目还是按时release了。虽然有一些不如意的地方,这也是每个项目进行中不得不遇到的事情。

工作,工作流程,配置,协调,软件开发流程中的每一部份,都很重要,任何公司,组织都只能结合自己的情况一步一步优化。当然先进的流程模型敏捷开发,SCRUM ,MSF敏捷也许是经验总结之外的一个很好的借鉴。

posted @ 2008-11-07 17:08 Terry Dong 阅读(30) | 评论 (0)编辑

2008年10月31日

Jquery这个简洁,实用的轻量级框架,已在越来越多的网站中得到应用,电子商务这样交互性很强的网站也在一次次改版中采用了jquery与asp.net 的结合

这不失为一种聪明的选择。

最近几个月,当当网在网站的用户体验方面,大量使用了Jquery技术,Jquery.UI在网站中增色不少。

刚刚又看到京东商城酝酿了一段时间的新版网站已经上线了,通过页面的很多风格就可以找到jquery的影子。我们看一下他的source code.

<script type="text/javascript" src="http://beta.360buy.com/script/jquery-1.2.6.pack.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.badword.1.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.cookie.1.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.jcarousel.pack.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.jqzoom.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.livequery.1.0.2.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.login.1.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.query.2.0.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.timers.1.0.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.utility.1.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.validate.1.4.0.js"></script>

<script type="text/javascript" src="http://beta.360buy.com/script/jquery.validate.methods.1.4.0.js"></script>

 

这是摘自详情页的源文件,可以看出使用了大量的Jquery plugins 和Jquery UI。

 

顺便说一句,京东新版首页中增加了日常用品的大分类, 3C+百货 的布局可以看出他向 百货商场挺进的步伐

 

当当和卓越,在B2C领域中互相肉搏中,又多了一个竞争对手,这个对手值得尊敬。

淘宝在C2C市场,以及其中蕴含的非自营B2C模式的领域中,也会迎来百度有啊,拍拍的一轮又一轮挑战

 

这个冬天的电子商务,很火热,看不到寒冷

posted @ 2008-10-31 14:58 Terry Dong 阅读(250) | 评论 (1)编辑

2008年9月22日

很久没有更新blog了,最新面试了一些candidate时,发现很多朋友对于一些算法问题总是有些拿捏不好,可能是工作中用到不多的原因吧。我们一起来回顾一些典型算法。

此算法从时间复杂度,使用最小空间方面,都应该是最优了。

时间上执行了数组的n/2次

空间上只在原有的数组中进行操作

Code

posted @ 2008-09-22 10:21 Terry Dong 阅读(213) | 评论 (0)编辑

2008年5月12日

     摘要: 两个UC:A.ascx ,B.ascx 在A中FindControl后B的类型是UsesrControl,是B父类,不能直接使用B中的自定义方法和属性,不过我们可以通过反射的方式可以在A中获取B中的所有信息并可以操作B的方法 demo code: //get u2 instance UserControl u2 = (UserControl)this.Parent.FindControl("UC...  阅读全文

posted @ 2008-05-12 14:54 Terry Dong 阅读(101) | 评论 (2)编辑

2008年3月5日

     摘要: 原文地址:http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx Introduction ASP.NET 2.0 has many secrets, which when revealed can give you big performance and scalability boost. For instance, ther...  阅读全文

posted @ 2008-03-05 10:30 Terry Dong 阅读(222) | 评论 (0)编辑

2008年2月3日

     摘要: 方法特点: 支持多个位于不同数据库服务器的数据库的统一事务提交,如果任何一个操作失败,全部回滚 应用:可以应用于分布式数据库系统中,多sql的事务提交应用 /// <summary> /// 多数据库服务器事务提交 /// </summary> /// <param name="sqlStrings">key为connName,value为Sql语句</p...  阅读全文

posted @ 2008-02-03 18:16 Terry Dong 阅读(397) | 评论 (5)编辑

2008年2月1日

     摘要: 设计方案 通过LDAP进行用户登录验证,并读取用户域中所属角色。 通过用户角色与权限的关联表,判断用户是否可以访问某个操作页面,如果不可以操作,提示用户没有相关权限,提供返回入口。 记录用户所有的安全日志,操作日志(包括,增加,修改,删除,查询) 功能 角色-功能-权限管理界面 功能列表管理 功能模块管理 事件日志管理 数据库backend_authorize 功能表(function_...  阅读全文

posted @ 2008-02-01 17:59 Terry Dong 阅读(407) | 评论 (0)编辑

2008年1月15日

     摘要: 提起mysql,总觉得很有感情,03年末还在学校的时候就已经用到了mysql做项目,当时应该是mysql 3.X版本,时间过得真快,4年过去了,mysql重新进入了我的生活,原来的记忆还是很清晰,版本却已经升级到了5.1,mysql以它的免费和灵活等一系列优点,成为目前各个网络公司大多采用的产品mysql 最近:server:http://dev.mysql.com/downloads/mysql...  阅读全文

posted @ 2008-01-15 16:51 Terry Dong 阅读(1175) | 评论 (1)编辑