标题写的不是特别清楚,举个例子解释一下,现在有两个表:①北京市所有的小区(大约1.2万数据,包含百度地图坐标信息),②北京市所有的餐饮商家(大约12万数据,包含百度地图坐标信息),现在要匹配小区周边实际距离在一千米内所有的商家。如果遍历每个小区,然后在小区里遍历每个商家,得到距离,然后得出结果,但是显而易见,这样的话数量非常可观,1.2万 * 12万的数据实在是太大了,如果每个都请求地图接口,非常耗时,而且接口配额基本上无法满足。那么只能从算法上优化: 思路是这样:

阅读全文 »

服务器有个crontab任务,定时执行,但是脚本执行失败了,查看cron.log,可以看到任务执行了,然后自己手动执行一下,发现脚本没有执行权限,给了执行权限之后执行就正常了,然后就没有理会了,后来发现竟然又出错了,查看原因,依旧是权限问题,后来找到原因,是因为Rsync同步权限导致的问题。 当时的环境是这样的:本地coding,push到服务器,然后使用rsync同步代码到服务器,结果把权限也同步上去了,由于本地没有执行权限,所以每次同步的时候把服务器上的那个脚本权

阅读全文 »

配置MySQL主从同步的时候一直不成功,show slave status,查看状态,Slave_IO_Running显示为No,折腾了半天,以为是虚拟机网络NAT模式的问题,后来在log中发现了问题所在: [ERROR] Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; the

阅读全文 »

启动MongoDB的时候出现错误: child process failed, exited with error number 100 一般是没有正常关闭MongoDB导致,可以做如下处理: 先删除MongoDB数据目录文件下的mongod.lock,然后以修复方式启动(加参数 --repair),然后再次启动就可以了。 MongoDB正确关闭的方式: ①在mongo shell下 use

阅读全文 »

PHP5.5之后新加了两个密码相关的函数:password_hash(加密)和password_verify(验证)。 string password_hash ( string $password , integer $algo [, array $options ] ),password_hash接收两个必需参数(明文密码和加密算法),一个可选的数组,返回一个字符串;password_verify接收两个必需参数(明文密码和加密后的密码),返回Bool,这个函数每次生成的加密后的hash值

阅读全文 »

以前对Python装饰器的执行顺序理解有点问题,如果使用了装饰器,那么装饰器将在任何函数执行前执行,比如下面的代码: def dec(func): print('i\'m decrorator') def wrapper(*args, **kw): return func(*args, **kw) return wrapper @dec def test(arg): print('i\'m %s' % arg)

阅读全文 »

写在前面:Python中一切皆对象 Python单例模式,官网给的一个例子: def singleton(cls): instance = cls() instance.__call__ = lambda: instance return instance # Sample use @singleton class Highlander: x = 100 # Of course you can have

阅读全文 »