翻翻老黄历,18位身份证的校验方法

新版大陆地区身份证号码长18位,前17位为数据位,第18位为校验位
前17位中,又分为3组:

第一组6位,为行政区划代码
第二组8位,位生日码
第三组3位,位顺序码,男性为奇数,女性为偶数

第18位校验位的算法:

将前17位的每一位依次乘以{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2},然后相加
除以11,得到一个余数,余数的值在对应数组中位置的对应值,即位校验值
{0,1,2,3,4,5,6,7,8,9}分别对应{1,0,X,9,8,7,6,5,4,3,2}

PS: 行政区划代码国家统计局有下: http://www.stats.gov.cn/tjbz/index.htm

相关日志

没有相关日志

SubSonic Update

Update一个实体,总提示某个Field值未设置,而这个Field我并没有去修改(应该保持原值。
看了一下SubSonic T4生成的代码,发现SubSonic对实体的Track相对比较简单。我所修改的实体已经在2个视图里打过一圈转了,SubSonic早就不认识它啦。
简单的解决办法也有,但是感觉很Dirty:
在Action里修改好实体(不修改的Field就别动它),给实体的SetIdLoaded方法传入true作为参数,然后丢给BLL里的Save方法,在Save方法里根据ID把数据库里的原实体取出来,根据传入的已修改实体,修改原实体的值,最后Update。
应该有更好的办法,起码我知道EF里有

相关日志

没有相关日志

Thread of Day

Using MetadataType attribute with ASP.NET MVC xVal Validation Framework

xVal和SubSonic是很好的俩东西,不过Data Annotations对SubSonic的Generated Code不是那么友好。通过这篇文章也算学到了新东西,解决了新问题。

SubSonic FAQ

不管怎么搞,FAQ还是不能不看的

相关日志

Thread of Day (2)
Thread of Day (0)
Thread of Day (0)
Thread of Day (0)

叫你丫64位

把生产/开发环境迁移到64位上大约已经有半年了,还未曾遇到过什么问题。今天却算小小的撞了一次墙。
金智的Idstar,给的库是COM+的DLL,用.NET库的工具包装一下就可以拿来给VS用,原来写的一个程序跑在Windows 2003(X86)下,大半年也挺好的。
后来直接把这个程序迁移到Windows 2008 (x64)下的IIS7上跑,似乎也没问题。拿到我自己机器上做开发测试,也没问题(Windows 7 X64)。
最近又需要用到Idstar做东西,本地OK,上了服务器怎么都报COMException,总之就是找不到CLSID。DLL注册了,注册表里有信息,OLE/COM Viewer看一切正常,权限一切正常,根本看不出任何异常的地方。
4小时候……
IIS7,程序池,高级设置,启用32位应用程序,False->True
DONE…

相关日志

Web Deployment Tool (0)

信长

头一回玩野望还是烈风传加强版吧,不记得是哪里来的了。但可以肯定,一定是某天游戏玩到烂,百无聊赖之下,在某个不经常碰触的盗版碟里找寻到的吧。
玩野望又肯定在玩太阁之后,不然不会一上来游戏就找猴子。
最开始认真玩的并不是织田家,而是毛利,三个儿子三个姓……
很讨厌本愿寺,凭什么整个游戏就你家领土是互不接壤的。
认识了一帮战国小白,太田资正,一条兼定等等。
天皇和幕府,就是两个卖官调停当哈巴狗的机构。
总的来说,野望比三国志耐玩一些。

相关日志

没有相关日志

信长

头一回玩野望还是烈风传加强版吧,不记得是哪里来的了。但可以肯定,一定是某天游戏玩到烂,百无聊赖之下,在某个不经常碰触的盗版碟里找寻到的吧。
玩野望又肯定在玩太阁之后,不然不会一上来游戏就找猴子。
最开始认真玩的并不是织田家,而是毛利,三个儿子三个姓……
很讨厌本愿寺,凭什么整个游戏就你家领土是互不接壤的。
认识了一帮战国小白,太田资正,一条兼定等等。
天皇和幕府,就是两个卖官调停当哈巴狗的机构。
总的来说,野望比三国志耐玩一些。

相关日志

没有相关日志

Thread of Day

Methodic approach to CSS coding: Four Bubbles Model

也许可以这么说:CSS的4层模型。值得看看的东西,让混乱的脑袋有个清晰的Guideline。

Smashing Magazing

经常Google能搜到这个网站,设计为主,很好。

Real World MVC - Dealing with Forms

生产环境中的MVC怎么搞?SO上一个语言无关的讨论。确实,在开发中我也遇到了相关的问题:同一个页面上可能有来自多个Controller的内容,输入验证,错误捕获如果脱离了AJAX就很难搞。也许SubController是一个解决的办法,但是,谁又知道这是不是正确的方法呢?

连接Java和.NET的RESTFul Bridge发布了

Astoria Release?

Creating tag cloud using R and Flash JavaScript swfobject

Flash Tag云怎么做,得看一下

相关日志

没有相关日志

诡异

细细的说,诡异的事情有很多。
初一时候别人给配的那个电脑,对它只能说是爱恨交加。Savage 4的显卡一玩3D游戏就死机,我去珠江路上搜罗了几乎所有盗版碟小铺——买驱动盘!还在电脑课上下了10多张软盘的驱动。可惜,无一见效。
解决问题的办法,后来还是被我找出来了:Win 98 OEM2 不行,得原版的,没补丁的。
还是那个电脑,经常性开不了机,开了机也进不了98——注册表错误,Restore,再错误。重新装系统,可能会好。曾经过了一段只要开机就得重装系统的日子,帅不?后来,无法开机的问题已经无法用简单的Reset键解决了,你猜我怎么解决的?
解决的办法也不难,开机箱,内存拔掉,橡皮擦干净,插上去,用力按紧。后来也没辙了,换了主板和内存才搞定,但是,那已经是升级了吧。
升级电脑的那天贼兴奋,在珠江路癫狂的话都说不大清楚。回来一顿拆装,还把老主板给搞烧了,是真的烧了,看到明火,还好手快,没酿成惨剧。新东西上上去98却怎么都装不上,进安装GUI的时候就是不弹窗,折腾了好几个小时。
解决问题的办法很无厘头,主板电源插头拔下来,重新插一下,好了。< [...]

Thread of Day

ELMAH(Error Logging Modules and Handlers)

插件形式的错误日志记录工具,适用于ASP.NET和ASP.NET MVC。Scott Hanselman有一篇日志对ELMAH的使用做了说明。官网也有MVC的Tutorial。

NLog

和log4net差不多的东西,社区的反应是NLog配置比较简单,并且不锁日志文件(反正我存数据库)

Lilina

话说这玩意其实我找了很久,原来是一个Web程序,好呀,哈哈。不过据说Gregarius比Lilina好不少。

TEDtoChina

我不是TED的粉丝,但是我喜欢它。

Longman 5 界面优化补丁

无废话

相关日志

没有相关日志

获取当前执行的Controller, Action, Parameters

ASP.NET MVC 的Action Filter中,有时需要做一些审计或者日志记录的工作,记录的对象自然是当前执行的Action。抽取信息的方法如下:
获得当前执行的Controller:

string controllerName = filterContext.Controller.GetType().Name;

获得当前执行的Action(两种方法):

string actionMethodName = filterContext.RouteData.Values["action"].ToString();

string actionMethodName = filterContext.ActionDescriptor.ActionName;

获得当前执行Action的参数,稍微复杂一些,因为参数是存在一个字典表里的:

if (filterContext.ActionParameters != null)

{

foreach (KeyValueP [...]