cmph 的全称是 C Minimal Perfect Hashing Library ,是一个很著名的用 C 写成的最小完美哈希库,什么是完美哈希?
完美哈希
这里我们不讲原理,你只需要知道传统的哈希有冲突,我们需要靠各种算法来处理冲突就可以了,对于哈希,总是需要一个表,这个表里预留了很多位置,然后计算出来的值就是这些位置的坐标,你可以把对应的数据放到坐标里。
但这时候有一个问题,如果[……]
cmph 的全称是 C Minimal Perfect Hashing Library ,是一个很著名的用 C 写成的最小完美哈希库,什么是完美哈希?
这里我们不讲原理,你只需要知道传统的哈希有冲突,我们需要靠各种算法来处理冲突就可以了,对于哈希,总是需要一个表,这个表里预留了很多位置,然后计算出来的值就是这些位置的坐标,你可以把对应的数据放到坐标里。
但这时候有一个问题,如果[……]
很多时候,我们需要在字符串中执行查找,以判断过滤指定的内容出来。比如过在落格输入法当中,就需要用辅码过滤出需要的候选词。
一般来说,查找和对比肯定是数字来的最快,不过在词库上总不能把所有的词汇都转换为数字(虽然理论上可行……)在字符串的搜索上,我们有很多种办法来实现,这里我就说一下我自己的思路:
由于我的词库辅码筛选只对两字或者三字词汇生效,那么我考虑[……]
其实很少用户知道,ios系统其实有一套完整的轻松访问机制,很多盲人或者说视障用户都喜欢使用iphone。
所以说,作为一名开发者,我觉得不论是从产品销售面还是作为责任,都应该做好完善的轻松访问支持。
不过好在,得益于苹果严格的开发规范,所以一般只要你的app已经通过审核能够上架,那么基本上 VoiceOver 就已经能够很好的识别你 app 中的大部分内容了,比较通用的,比如 tabV[……]
在 ios 平台,数据永久化的存储方式就那么几种,比如说 coredata,比如说realm,还有nosql的几种方案,但是很遗憾,nosql的几种方案支持的功能都还是太少,这样就让对它们的选择显得十分鸡肋——毕竟,如果是简单的应用的话,那就还不如其他方案来的方便快捷——虽然nosql是趋势。
这次我们来谈谈另一种比较常见的储存方案——sqlite,这个东西很厉害,它是一个用c实现的[……]
如何自定义落格输入法?
在落格输入法中,我为你提供了强大的自定义功能。不论是简单地新建一种双拼方案,还是导入一份五笔输入法的码表,它都能完成。
落格输入法用它来生成对应的映射方案,比如智能abc、比如自然码等等。按键映射方案有两个文件,比如“智能ABC.plist”那么就要有对应的“智能ABC_rev.plist”,后者不是必须,但如果你想开启“按键[……]