摘要: 此方案是一次将MVC的思想引入客户端的尝试. 结合AJAX ,并借鉴了一些ASP.NET MVC的实现模式.示例是一个简单的事件管理系统, 只有一个页面, 用户可以提交事件(post), 回复(reply). 页面打开时列表方式展现事件及回复.Controller公开一系列action 给调用方.action主要做三类事:1. 使用ajax方式与服务器端通信(ajax)2. 维护viewModel实例的状态3. 刷新页面的局部视图ControllerCode highlighting produced by Actipro CodeHighlighter (freeware)http://ww阅读全文
posted @ 2010-08-17 03:30 yicone 阅读(106) 评论(0) 编辑
摘要: 需求:错误编码定义的混乱带来了后期的管理和维护的问题:1)应用内编码重复问题;2)关联应用间编码重复问题;3)干系人无法通过错误编码快速定位出现问题的应用;4)各应用的错误描述没有统一的管理站点进行修改和查看;这是由于目前应用各自定义了持久化实体,如XML,资源文件,数据库等。不同形式的数据源和格式定义,导致各应用需要自行开发管理站点;运维/客服人员不能在统一的管理平台上查询错误描述,降低了工作效率。解决方案:开发规范中应明确指出,在跨越应用程序边界时传递错误,如果错误是以错误编码方式定义的,必须添加返回方的应用标识作为前缀。定义实现层面的规范,方便自动化处理和错误定义的统一管理:1. 统一错阅读全文
posted @ 2012-03-13 16:04 yicone 阅读(8) 评论(0) 编辑
摘要: 1. 进到一家开发组织,要主动去了解业务,了解领域知识。这种努力或者说这个过程,可以帮你更胜任工作,与业务人员合作更加愉快,获得组织内更高的认可和发展;另一方面, 结合具体的业务场景/特殊的业务需求,讲述设计方案,更能体现一个人的设计经验和素养,也更能向听众准确的传达设计思想。2. 哪里都有政治,自清也别忘表现,不结怨。3. 技术领域广阔,每个人关注的层面也不尽相同,找到自己感兴趣的领域,做更好的自己。4. 技术管理是个难题,执着与妥协交替,尤其合作者间没有很明确的分工。5. 方案和实现都要评审,不然日后补救的可能就是你自己。6. 无论何种开发方法,设计过程中确定下来的内容,一定要有哪怕是最简阅读全文
posted @ 2012-03-11 02:01 yicone 阅读(19) 评论(2) 编辑
摘要: 需要在公用组件里提供一个方法, 直觉的使用了为某个类型扩展方法的方式.编码结束后, 回想为什么没有采用静态方法的方式. 开始觉得前者通过VS的智能提示, 更容易向程序员即时传达"你可以试试这个"的信息.但隔天再想, 在这一点上两种方式并无明显区别, 而要结合上类型的使用频率和场景. 比如对List<T>做扩展, 扩展方法的方式较好;但对IDataParameter[]做扩展, 因为使用场景较局限, 程序员较少用到对象的成员, 所以友好的类名+静态方法的方式可能更佳.当然, 是否引入扩展方法, 往往首要考虑的不是有效告知程序员的因素.但在编码时多考虑人的因素, 是阅读全文
posted @ 2012-03-11 01:27 yicone 阅读(12) 评论(0) 编辑
摘要: 休息的时候趴在同事旁边, 看他写代码.为了对某些方法注入相同的处理逻辑, 他选择在方法上增加Attribute的方式,但是对于一些Web Service代理类的方法, 则是采用另外一种方式:将方法名放到配置文件中。两者皆是通过某第三方框架完成实际的注入.他的考虑是代理类是工具自动生成的, 依赖于外部变化, 所以没有采用在代理类中为方法加上Attribute的做法.这点很对. 但是当外部变化发生时, 手工维护那么多配置项会是件低效易错的事.于是我们讨论了改进的方法:1) 利用Visual Studio的自动从类中提取接口的功能, 为代理类生成对应的接口.2) 原本使用代理类的地方替换为接口.3)阅读全文
posted @ 2012-03-11 01:24 yicone 阅读(11) 评论(0) 编辑
摘要: 读书和学习是需要些巧合的。线索A:昨晚想到一个设计问题,去搜了些文章看。文中引用了许多概念,很多来自一本书:一本我早就买来影印版,却束之高阁的书;线索B:文章看累了,顺便整理了下零乱的办公桌,却翻出了一本与那些文章讨论相同领域的书。原先觉得翻译质量偏差,几乎不会再翻开的。一直没注意过此书的英文名,竟是刚读完的文章中,引述的一个开源项目的名字。想想自己现在拥有什么:两本已在囊中的书,一个非常好的系列文章,几个开源项目提供了案例和代码,对问题的关注和兴趣。如此的机缘,没理由不仔细研读一番了。2011年07月28日 13:58阅读全文
posted @ 2012-03-11 01:21 yicone 阅读(11) 评论(0) 编辑
摘要: 重构前:Cache.Add(DXCacheKey.A, Register(DXCacheKey.A, DXCacheKeyType.A, dal.GetItemA, dal.GetItemAById));Cache.Add(DXCacheKey.B, Register(DXCacheKey.B, DXCacheKeyType.B, dal.GetItemB, dal.GetItemBById));,,,此次重构的目标是将规则的建立和使用进行分离(IDXCacheItemWrapper), 副产品是将某一形式的规则进行了封装(DXCacheItemWrapper)。分离的好处:一是,增强了代码的阅读全文
posted @ 2011-07-19 17:37 yicone 阅读(17) 评论(0) 编辑
摘要: 老生常谈的问题, 网络上铺天盖地的处理方法, 还有抄来转去的"博文". 在此主要说明今日遇到的特定于IE8的一个特定问题. function autoSetFrameHeight(name) { try { var iframe; if (!name) return;iframe = document.getElementById(name); if (iframe.contentDocument) $("#" + name).height(iframe.contentDocument.height + "px");else $(&q阅读全文
posted @ 2010-12-24 16:03 yicone 阅读(132) 评论(0) 编辑
摘要: 今天整理一个Visual Studio 2005的老项目, 其中用到了ASP.NET 2.0 AJAX的系列组件, 虽说是过时的东西, 但以后还是有些老项目要维护的. 出于备忘目的, 搜集整理相关信息如下 项目名称安装包程序集命名空间ASP.NET 2.0 AJAX ExtensionsASPAJAXExtSetup.msiSystem.Web.Extensions.dll v1.0.61025System.Web.ExtensionsASP.NET 2.0 AJAX FutureASPAJAXCTP.msiMicrosoft.Web.Preview.dllMicrosoft.Web...阅读全文
posted @ 2010-12-23 17:32 yicone 阅读(25) 评论(0) 编辑
摘要: 此方案是一次将MVC的思想引入客户端的尝试. 结合AJAX ,并借鉴了一些ASP.NET MVC的实现模式.示例是一个简单的事件管理系统, 只有一个页面, 用户可以提交事件(post), 回复(reply). 页面打开时列表方式展现事件及回复.Controller公开一系列action 给调用方.action主要做三类事:1. 使用ajax方式与服务器端通信(ajax)2. 维护viewModel实例的状态3. 刷新页面的局部视图ControllerCode highlighting produced by Actipro CodeHighlighter (freeware)http://ww阅读全文
posted @ 2010-08-17 03:30 yicone 阅读(106) 评论(0) 编辑
摘要: 经过又一天的努力,终于让数据库项目全编通过。现在的解决方案里已经有十个项目了,其中八个数据库项目,一个服务器项目(SQL Server 2005 Server Project),一个单元测试项目。直到下午还是满屏的Error,但经过不断的搜索(资料不多)和数次尝试,找到了关键问题和应对方法,后面就是对其余的项目重复几次这个过程,终于迎来了曙光。再次给出关于 数据库引用的资料链接(MSDN)简单整理...阅读全文
posted @ 2010-05-27 21:12 yicone 阅读(366) 评论(0) 编辑
摘要: 今天尝试在VS 2010中使用SQL Server 2005 Database Project 管理一个老项目使用的若干数据库,主要目的有两个,一是为了还过去的“债”,半年前的一个分支版本由于以前一直没有对数据库进行相应的版本控制,导致目前将要进行的版本合并难以进行;二是为了今后避免此问题的发生。建立解决方案后,将几个数据库建立了同名项目,然后连接到开发数据库服务器,进行导...阅读全文
posted @ 2010-05-26 21:18 yicone 阅读(368) 评论(0) 编辑
摘要: 朋友在做一個類似SpeedText 的IPhone 軟件, 實做下來, 目前性能和筆畫的流暢優美程度都不及這個日本人做的小軟件. 這是周六晚上閑來無趣, 跟朋友聊天時談到的, 這個軟件的用途是, 找回過去人們寫信讀信的感覺, 將字跡or書法躍然于信紙(圖片)之上, 發送到友人的郵箱中.順著朋友的指引, 知道了要想做到筆畫流暢, 一般采用調用貝塞爾函數的方式來連接點. 于是找到一個同事, 給自己做了些科普工作, 了解到一般貝塞爾函數是以三個點的坐標作為輸入, 產生一個一元二次方程. TrueType 字型就运用了以贝塞尔样条组成的二次贝塞尔曲线. (不要問我什么是樣條, 偶全然不知. 囧) 也有阅读全文
posted @ 2010-01-18 02:54 yicone 阅读(116) 评论(0) 编辑
摘要: 今天起床后发现阳光明媚. 平日里钻在暗无天日的办公室里, 是没有机会体会到这冬日正午的暖阳, 是多么的让人流连.靠在床头, 伸了个懒腰, 慵懒地捧起了一直无暇去读的企业应用架构模式. 那一刻, 阳光照在书本上, 虽然有些晃眼, 但是不妨碍一种细小的满足感默默诞生.前日和一名同事闲聊, 提到了一段时间来一起参与的一个项目, 这个项目的一个特点是用到了数量较多形式各异的第三方接口, 算是"传说中的"企业级应用吧:) 在前面的一轮测试过程中, 由于其中一些接口的测试环境频频当机或服务中断, 导致测试和修改bug的过程都耽搁了不少时间, 于是同事提议, 做一些这些接口的替代品, 来阅读全文
posted @ 2010-01-18 02:02 yicone 阅读(44) 评论(0) 编辑
摘要: 其實這個環境, 之前就以經參照網絡上的資料搭建好了, 無奈筆頭不勤, 偏又趕上操作系統重裝, 所以無奈又將遇到的問題一一搜索. 害怕今后重蹈覆轍, 所以這次就乖一些, 把問題記錄下來.本人機器上的操作系統是Win7, 以下第三步在其他Windows環境下不一定是必須.步驟:一 安裝Ulipad1. 安裝Ulipad, 安裝包可從google code 獲取2. 在Ulipad的安裝目錄下, 新建config.ini文件, 編輯內容:[default]debug = 0pythonpath = "C:\Program Files\Google\google_appengine"阅读全文
posted @ 2010-01-17 23:32 yicone 阅读(236) 评论(0) 编辑
摘要: 此次大会的主题包括云计算, 手机应用开发和软件创富, 敏捷开发, DSL,下一代互联网, 企业开发等, 这些主题基本上涵盖了当前国内软件开发的热点领域, 反应了当前的技术趋势.由于课程是几个主题并行开设的, 所以只选择了一些感兴趣的课程, 比较喜欢的有蔡学镛的 DSL的设计与实践, 云风的 C/C++与 Lua的混合编程钱宏武的 大企业系统设计及其大互联网系统设计之异同卢育圣的 发现Android热门应用程序的秘密高焕堂的 Android框架、核心服务与软硬整合技术黄冬的大规模消息系统的架构设计以上课程的演讲者, 无不是有着非常丰富开发经验的实践者. 从他们身上听到的不仅是具体的知识, 还包括阅读全文
posted @ 2009-10-26 20:14 yicone 阅读(60) 评论(0) 编辑
