摘要:
NOP项目为保持紧跟NOP更新,项目组坚持不改NOP源码。以触发器,插件化开发为拓展模式NOP自定义好的接口或完全独立的新拓展功能很容易插件化。但部分功能要在NOP原项目上扩展修改在不改源码的要求下非常不易。能改原码也就10分钟的事,但因为死守不改源码的规定,逻辑要更绕,更费精力,工作量更大,并且有... 阅读全文
摘要:
select A.Id,A.Email,(select C.Email from [nopCommerce].[dbo].[Customer] C left join [nopCommerce].[dbo].CustomerAddresses CA on C.Id=CA.Customer_Id wh... 阅读全文
摘要:
简单情况是 MVC 重定向,URL不变试了N种方式,跳来跳去,无解,服务端跳,写JS跳,生成跳转中间页跳。失败后来一看,明明已经跳到新页了,样式什么还是原页的,有点火大了。出去溜一圈,喝杯水,和同事东拉西扯一通。回头一看,突然反应过来,这不是AJAX的效果么,坑我半个多小时。为加验证,是手动调用的s... 阅读全文
摘要:
最近要在NopCommerce上二次开发。开发也就算了,该项目的架构设计很好,但性能不可谓不低。扯远了,为了保持项目以后升级顺利,开次开发不允许在原项目基础上大改,只能以插件形式开发……因一个功能,不好改代码,所以在数据层用触发器实现。代码记录在此 1 USE [NopCommerce] 2 G... 阅读全文
摘要:
作一个查询的性能优化。 先清缓存 原查询 前人遗留。 执行时间18S 最开始想着是把上面3条求总量的查询改成在一条里完成,where条件重复多次,想想开脆改成开窗函数好了 经开窗函数改造后的查询。 代码确实精简不少,同样的where子句消除了。(两个查询中的rownumber完全没用,注掉了) 执行 阅读全文
摘要:
上周,3月10日到3月15日,一连面了5天。每天最少两档,路上很累,比如中午没个地休息啊,吃饭凑合啊之类。这次报的OFFER是1W。因为公司之前有几个84 86 的来应聘,但不少是一问三不知这种,开口1W5这种(大公司出身,技术比较专精,但其他方面较弱,也许是精而不博吧,但至少有些人,没体现他们精在哪里)所以这也是一种自信来源,这次面是以5年工作经验面高级的,也没去改简历的工作经验。更想通过面试知道自已如今的水平。面试意向岗,1.JEE,2安卓,3高级.net工程师(B/S MVC向)简历发了几次,还是放弃转回JAVA,没JAVA方向的面试邀请(原因一是实际工作经验欠缺,二是,没有专门整理JE 阅读全文
摘要:
资料来自《IIS7开发与管理完全手册》周五面试时有点紧张,没能静下心思考,当时隐约想到这个解决方案,但因面试环境和心态确未能明确的表述。回家的地铁上已经找到解决办法。要点:1基于IHttpModule,2IIS集成模式。IHttpModule想必作B/S开发的人不会陌生。IIS集成模式。是IIS7的... 阅读全文
摘要:
原型是同事间讨论的一道面试题。估计这题秒杀了不少人,LZ也被秒了。但这个题里隐藏了一个很有趣的细节,这个细节不说清楚,不少人会其实死的冤枉。这是C#的代码。 class Program { static void Main(string[] args) { ... 阅读全文
摘要:
公司统一走redis缓存,也将之前的memcache迁移到redis碰到问题是redis的dataset缓存。memcache底层封装了dataset的序列化。而redis引的DLL包,未支持。所以封装一个类,提供dataset的set,get功能。dataset以转为byte[]保存,读取byte[] 转为dataset代码如下 1 /// 2 /// 获取缓存(从2进制流) 3 /// 4 /// 缓存键 5 /// 6 public static object Get(string ke... 阅读全文
摘要:
版本2009.3 gvTagInfo.FocusedRowHandle = k; int k =gvTagInfo.FocusedRowHandle+1; //有效 gvTagInfo.FocusedRowHandle = k; //这种无效 gvTagInfo.SelectRow(k); 阅读全文