• 七大查找算法

    Posted by : lon.y@qq.com on 2017年7月6日

    查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。树表查找和哈希查找会在后续的博文中进行详细介绍。 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 查找算法分类: 1)静态查找和动态查

    阅读全文...

  • 15位身份证补全为18位身份证算法

    Posted by : lon.y@qq.com on 2017年7月6日

    最近在参与一个银行项目-某银行安防系统-反洗钱需求的开发,银行项目的离不开身份证号码,身份证号码作为我国公民的唯一标识,有这非同寻常的意义,由于业务的要求15位的身份证号码无法命中,所以需要补全为18位,一开始自己想着加个年份的前两位,后面再加个X不就行了嘛,后来代码写不下去了,上网查了资料,才知道自己想的是多么天真,还是比较复杂的,折腾了一下午终于有了眉目。 一、15位身份证和18位身份证号码结构介绍 要进行身份证号码的验证,首先需要了解我国身份证号码的

    阅读全文...

  • 字符串的长度,是字符数量,还是字节数量?

    Posted by : lon.y@qq.com on 2017年7月6日

    对于大多数SQL Server编程开发者来说,当计算字符串的长度时,脑海中闪现的第一个函数是:Len(string),这个“长度”,默认情况下,是指字符的数量,一个英语字符是一个长度,一个汉字是一个长度。大多数的字符串函数,例如charindex,substring,stuff等函数,其位置都是针对字符数量的,这使得Len函数深入人心,但是,一个Unicode字符,占用的字节数量是2Bytes,而一个普通的ASCII字符占用的字节数量是1Byte,当需要计

    阅读全文...

  • 如何用不到 30 行代码写一个模板引擎?

    Posted by : lon.y@qq.com on 2017年7月4日

    如何用不到30行代码写一个模板引擎?模板引擎从内部来看真的很简单 注意:本文以模板库 mote 为基础,其简洁性给了我启发,对于没有了解过模板引擎内部机制的人来说,它是很好的研究材料。 前言:什么是模板? 模板引擎是从模板生成文本(字符串)并且帮助分离表示层和业务逻辑的工具。 除非你已经被遗留软件的代码缠住了(或者没有开发过有 UI 的软件),否则你可能已经用过一个以上的模板引擎了。 但它们究竟是怎么工作的?你怎么创建一个?快速浏览一些主要的模板库,会发现

    阅读全文...

  • 浅析Ruby的备选Web开发框架Cuba

    Posted by : lon.y@qq.com on 2017年7月4日

    开始之前,我们先说说Rails这头大象。Rails非常棒。它大部分时间绝对是你构建大型产品应用所需的。它有段历史了。如果你刚开始使用Ruby做Web开发,很有可能Rails是你最熟悉的。这些都表明Rails作为多数项目的选择是合理的。 这篇文章的观点不是…抛弃(抱歉,忍不住!)我们所热爱的Rails。主要目标是提供你可能意识或没有意识到的备选框架。有些人专注小规模项目,其他人快速原型,但所有人,都可以使用Ruby。希望你可以在探索把Ruby这个出色语言应用

    阅读全文...

  • 从实战项目总结的Ruby小技巧(第四部分)

    Posted by : lon.y@qq.com on 2017年7月4日

    从我们在Global Personals项目中使用Github并且following Github Flow开始到现在已经将近两年的时间。在这段时间中,我们以很高的频率提交了上千次的pull请求,虽然没有太多如何改善或提高程序的建议和想法,但是我仍获得了如此广泛和珍贵的经验。其中,有一些建议是和项目相关的,同时,也包含了大量可以在团队内分享的Ruby开发小技巧。 由于我担心将从这个项目中获得和学习到的如此珍贵的技巧和经验所遗忘,于是我挑出了其中最好的最有价

    阅读全文...

  • 从实战项目总结的Ruby小技巧(第三部分)

    Posted by : lon.y@qq.com on 2017年7月4日

    这是ruby小技巧系列的第三部分,这些技巧是我们从过去两年的实战经验中所收获的。第一部分涵盖了代码块(blocks)和范围对象(ranges),第二部分讨论了拆分重构以(destructuring)及类型转换(type conversions)。 异常(Exceptions) 处理异常是富有技巧性的,你非常容易掉入自己挖的坑内并且难以走出。下面有一下规则可以借鉴,它会让你的代码更加容易调试,虽然你得付出一些小小的努力,但是你会得到很大的回报。 首先,不要使

    阅读全文...

  • Twitter发送峰值创新高,工程师在背后做了哪些改进

    Posted by : lon.y@qq.com on 2017年7月4日

    【感谢@NULL_文龙 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】 背景补充:日本网民一直都有在电视节目播出的同时,在网络平台上吐槽或跟随片中角色喊出台词的习惯,被称作“实况”行为。宫崎骏监督的名作动画《天空之城》于2013年8月2日晚在NTV电视台迎来14次电视重播。当剧情发展到男女主角巴鲁和希达共同念出毁灭之咒“Blase”时,众多网友也在推特上同时发出这条推特,创造了每秒推特发送数量的新纪录。 根据推特日本官方帐号,当地

    阅读全文...

  • Ruby社区应该去Rails化了

    Posted by : lon.y@qq.com on 2017年7月4日

    来源:robbin的自言自语 从Linkedin和Iron.io抛弃ruby说起 最近半年关于Ruby编程语言最负面的两条新闻莫过于2012年10月的报导:Linkedin从ruby迁移到node.js,30台服务器减到3台,以及2013年3月的报导:Iron.io从ruby迁移到Go,30台服务器减到2台 node.js和Go都是最近两年服务器端高并发编程的热门语言,Linkedin和Iron.io抛弃Ruby迁移之后,都获得10倍以上的系统性能提升,效

    阅读全文...