ISBN的校验
维基百科提供的ISBN码校验算法:
校验码的计算方法(10码)
假设某国际标准书号号码前9位是:7-309-04547
计算加权和S:S = 7×10+3×9+0×8+9×7+0×6+4×5+5×4+4×3+7×2 = 226
计算S÷11的余数M:M = 226 mod 11 = 6
计算11 – M 的差N:N = 11 ? 6 = 5
如果N = 10,校验码是字母”X”
如果N = 11,校验码是数字”0″
如果N为其他数字,校验码是数字N
所以,本书的校验码是5;如果用户提供的ISBN码是7-309-04547-6,那么校验失败
校验码的计算方法(13码)
假设某国际标准书号号码前12位是:978-986-181-728
计算加权和S:S = (9×1)+(7×3)+(8×1)+(9×3)+(8×1)+(6×3)+(1×1)+(8×3)+(1×1)+(7×3)+(2×1)+(8×3) = 164
计算S÷10的余数M:M = 164 mod 10 = 4
计算10 – M 的差N:N = 10 ? 4 = 6
如果N = 10,校验码是数字”0″
如果N为其他数字,校验码是数字N
所以,本书的校验码是6。完整的国际标准书号号码为 ISBN 978-986-181-728-6
下面是在网上看到的一段利用PHP进行ISBN进行校验的函数: 更多 »
手动挡离合器正确使用要诀
离合器的正确使用,会影响到一辆车的安全以及寿命等等,下面是专家总结的离合器正确使用方法,和大家分享。
无事不要踩离合
汽车上的离合器在正常行车时,是处在紧密接合状态,离合器应无滑转。在开车是时除汽车起步、换挡和低速刹车需要踩下离合器踏板外,其他时间都不要没事踩离合,或把脚放在离合器踏板上,行车时把脚长时间放在离合器踏板上,很容易造成离合器打滑、离合器片烧蚀等现象,严重时甚至使离合器压盘、飞轮端面烧蚀拉伤,导致离合器压紧弹簧退火等故障。同时,还会导致费油、费车,增加行车费用。
起步时的正确操作
起步时离合器踏析的操作要领是一快、二慢、三联动。即在踏板抬起开始时快抬;当离合器出现半联动时(此时发动机的声音有变化),踏板抬起的速度稍慢;由联动到完全结合的过程,将踏板慢慢抬起。在离合器踏板抬起的同时,根据发动机阻力大小逐渐踩下油门踏板,使汽车平稳起步。
换挡时的正确操作
在行车中换挡时,操纵离合器踏板应迅速踩下并抬起,不要出现半联动现象,否则,会加速离合器的磨损。另外,操作时要注意与油门配合。为使换挡平顺,减轻变速器换挡机构和离合器的磨损,提倡使用两脚离合器换挡法。这种方法虽然操作较复杂,却是开车省车省钱的好方法。
在刹车时的正确使用
在汽车的行车中,除低速制动停车需要踩下离合器踏板外,其他情况下的制动都尽量不要踩下离合器踏板。低速行车中制动停车的操纵方法是先踩下制动踏板,然后再踩下离合器踏板,使汽车平稳地停下来。
历时14个月终于拿到驾照,泪水的庆祝
唉,之前跟朋友说,这个驾照绝对是极其珍贵的,全程耗时14个月,痛苦的身心折磨……
终于通知驾照下来了,格外的激动,回忆着将整个过程做个记录(纯粹流水账,很乱,嘿嘿): 更多 »
触摸计算机10年纪念
今天是俺接触计算机、接触网络的整整第10年。2000年9月11日,俺第一次接触计算机接触网络,那个时候的自己笨笨的看着花花绿绿的屏幕,无论如何都想象不到未来的日子,会靠这个小东西来维持生计^_^
始终觉得做一份工作可能首先是兴趣。 虽然当时未觉得,但现在回想起来,在我第一次接触计算机的时候就已经注定是靠他作为日后生计的工具了。最值得回味的是,记得刚开始接触的时候就被这个“聪明”的东西吸引了,踅摸着,这玩意儿为啥这么厉害?我能不能弄一弄呢?当时,买机器对于家境不是特别好的我来说几乎就是奢侈,所以大部分时间都用在学校机房里面了,学校机房速度慢但花费非常低,不过后来有一些限制了,就跑去学校附近的网吧,由于网吧平时上网相对贵,所以大多数我都选择通宵——“包宿”,跟寝室几个同学一起去,从晚上10点多左右到第二天早上7点左右,印象中好像是8元钱,别人一般是聊天或者玩游戏,我始终着迷于花花绿绿变来变去的网页,然后就想着法的琢磨,因为专业与计算机无关,加之也没有什么学习的途径,所以刚开始着实比较费劲,后来偶然发现浏览器居然有“源文件”,哈哈,这个东东很好,照葫芦画瓢,在记事本写代码,然后运行,看着表格变色、变换觉得特有成就感,后来知道了office了解了还有个做网页的工具FrontPage,写起来就更方便了,再后来突然发现还有能做动画的东东——Flash,像模像样的鼓捣起来竟也能做出当时觉得特有感觉的MTV,呵呵……
整整十年,想想都觉得有意思,想要写写其中的过程,却又发觉好像是流水帐,算了,不写了。
只觉得时间过得非常非常快,快的连自己都不敢相信……
路永远都是在前方,过去只是一个回忆,无论好与坏、得与失,都是值得未来做为谈资的素材。
10年纪念给自己纪念一下,虽然未达到曾经自己梦想的高度,却也觉得是个时间点,期待下个十年的今天会是我值得炫耀的日子^_^
jQuery处理同级事物的一个方式
呵呵,标题有点绕,不知道这样表达是否达意。其实就是同类型(级别)的事件触发的判断处理而已,还搞不明白?-_-!我的表达有问题,那就看下面的代码吧: 更多 »
关于用户邮箱验证的一个思路
当下很多运营或者应用都会引导用户激活验证注册的Email地址,为了确保获得更可靠的用户(虽然可靠性不是很高),同时也为了避免地址不被滥用,尽力获取更优化的用户资源等等,好处是很多的。
一般在验证流程上都很简单,无非是:根据用户登记的Email发送一个验证邮件,用户收到邮件后,访问一个特定的处理链接,系统接收后,便会确认此人Email通过验证激活。
这个方式简单容易,设计也很方便。
但有一个“问题”,某个用户起初登记了一个A地址,然后通过了验证,过了一阵他又将Email改成了B地址,也通过了验证,可过了一阵又因为某种原因他又将Email改回了A地址,可系统仍旧提示未通过验证,这个挺囧的——当然其实也不是什么大不了的问题,不过个人始终觉得这是一个人性化的考虑。已经通过验证了的邮箱为什么还要再次验证呢?
近期在一个项目上也有类似的处理,因为基于该异想天开的想法,我特意费时巴拉的用了一个新的机制,虽然没人能够看到,但我相信多多少少会让用户觉得有点人味的^_^
具体流程其实很简单,无非是增加一个数据表,用来储存经过验证的Email地址,且每个Email对应一个用户id。
当用户通过验证的时候记录下他的id和Email,以及其他信息(比如验证时间等等)
当用户修改Email的时候,先去到这个数据表内查询该记录是否存在(uid和email同时满足),存在了就表面该用户已经通过验证了,不需要再次发送验证邮件。
uid与Email是作为一个唯一性索引键(UNIQUE)存在的。这样可以确保别人冒用这个Email地址的情况也被认为是通过验证的。 也就是说,只有其本人曾经用过的Email地址才会采用跳过验证的机制。
简单说:
用户A曾经验证通过了a、b、c三个Email地址。 那么日后他无论将Email地址修改变换为这三个任意一个的时候,系统都不会提醒他再次去验证。
如果另一个用户B登记了a地址,那么系统还是要提醒他进行验证的,因为数据表记录下验证通过a地址的用户是A而不是B。
以上就是我在项目中关于用户Email地址验证的一个机制(当然实际操作过程中,还要加入一个验证的条件限制等条件,避免用户频繁的请求,关于这部分处理,相信所有的验证机制都会考虑的。),不一定有什么特别重大的作用,不过觉得还是挺有意思的,记录下来分享一下吧。
落寞的Windows mobile
在今天之前还没有这么深的体会。
我的手机是三星的i900(i908E),Window mobile 6.1系统,话说除了某些操作外,其实我还是挺喜欢WM系统的,虽然偶尔会比较慢,但基本来说还是非常稳定的,使用起来也很容易。
很早就开通了腾讯的微博,今天也开通了新浪的微博(主要想看看里面是什么样的),一直都是使用PC浏览器发文 ,心血来潮也想弄个手机客户端玩玩,突然发现这两个微博竟然都没有提供给WM系统的软件-_-!
难不成多少占有一席之地的WM真的就此离开舞台了?
现在有些羡慕 Android系统了,那么多知名大厂商的支持,想必未来应该是该系统的天下了。
智能手机离开了软件基本就是一个砖头了,看来选择智能手机除了硬件和外观外,操作系统也是一个必须要考虑的问题。