摘要: Dict的类型的查找使用的是lookdict函数 函数的参数中,*value_addr是指向匹配slot中值的指针。 这个函数在正确的情况下一定会返回一个指向slot的指针,出错则会返回NULL。 如果成功找到了匹配的slot,则返回对应的slot; 如果没有匹配的slot,则返回查找链上第一个未被 阅读全文
posted @ 2017-05-22 09:24 ruizhang3 阅读(10533) 评论(0) 推荐(0) 编辑
摘要: 在Python中,运行如下的代码 其输出结果分别为False 和 True,于是决定去查看相关的代码查找原因。 首先,float中nan在ieee标准中有约定,与任何值都不相等,所以主要需要确认的就是列表的比较规则。 list的比较使用的是list_richcompare函数,接收3个参数,待比较的 阅读全文
posted @ 2017-05-15 09:43 ruizhang3 阅读(12939) 评论(0) 推荐(0) 编辑
摘要: 1、创建时: 首先检查list的缓冲池free_list中是否有可用的list,如果有则直接使用其内存 如果没有则调用PyObject_GC_New分配新的内存空间 free_list初始大小为空,最大的大小为PyList_MAXFREELIST,默认定义为80 2、销毁时: 销毁时,首先将所有元素 阅读全文
posted @ 2017-05-08 09:38 ruizhang3 阅读(8301) 评论(0) 推荐(2) 编辑
摘要: 1、**的作用 首先是一个简单的例子,定义一个带有3个参数的函数 这个函数可以使用多种方法进行调用 接下来使用**来进行函数调用,首先需要一个字典,就像使用*进行函数调用时需要列表或者元组一样 执行之后的输出为:1 5 7 我们可以看到,在这里**的作用是将传入的字典进行unpack,然后将字典中的 阅读全文
posted @ 2017-05-02 09:15 ruizhang3 阅读(13193) 评论(0) 推荐(1) 编辑
摘要: 1、*在函数调用中的作用 首先定义一个函数,并调用 则该函数的输出为 1 2 3 传递3个参数调用该函数,则该函数会打印出这三个参数 接下来,创建一个3个元素的列表,并使用*进行调用 则输出同样为 1 2 3 在这里*号的作用是,将l中的的值进行了unpack,并作为相应位置的参数传递进fun函数中 阅读全文
posted @ 2017-04-24 08:51 ruizhang3 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 前几天,运营反馈了一个BUG,某些数据在写入数据库后,其时间字段出现异常,与当前时间相差较多。 由于代码是不是我写的,所以开始一遍阅读代码一遍排查问题。 在主流程中,仅仅发现了一个对时间赋值的语句,并且赋值使用的是data.CreateTime=int(time.time())这样的形式,应该没有问 阅读全文
posted @ 2017-04-16 23:57 ruizhang3 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 手上一个基于uwsgi开发的后台服务,接收GET请求,使用QUERY_STRING作为参数。 最开始的时候,路由功能使用的是if else的结构,大致如下 为了方便管理并且美化代码,调整为使用路由字典的形式 经过一段时间的使用后发现,在这种形式下每个函数的参数unpack与必要参数判断都需要独立进行 阅读全文
posted @ 2017-04-10 08:43 ruizhang3 阅读(408) 评论(0) 推荐(0) 编辑
摘要: MongoDB在大多数的情形中都是作为数据存储的模块而被使用,作为一个数据库,一般不应该承担更多的任务。 从专业性的角度来说,将文本搜索的任务交由专业的搜索引擎来负责,往往是更好的选择。 常用的搜索引擎与MongoDB往往都有着现成的工具,可以方便的进行结合。 1、Sphinx与mongodb-sp 阅读全文
posted @ 2017-04-05 00:28 ruizhang3 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 由于大量的数据使用MongoDB作为数据库进行存储,现在需要对外提供文本搜索功能,在实践工程中,调研并尝试了多种方案,在本文中做个记录。 1、使用正则表达式 即使用find("textField":/搜索文本/}的方式对文本字段进行包含匹配。 这种方法的好处在于不需要进行额外的操作,现在常用的Mon 阅读全文
posted @ 2017-03-26 23:14 ruizhang3 阅读(5276) 评论(0) 推荐(0) 编辑
摘要: 在MySQL中,经常使用 AUTO_INCREMENT对主键建立自增id的行为,MySQL会自行保证主键ID的自增与不重复,使程序不需对ID进行关注。 但是在使用时,MySQL对auto_increment对管理的一些特性可能会导致一些问题,所以需要手工对其进行修改。 修改AUTO_INCREMEN 阅读全文
posted @ 2017-03-19 23:58 ruizhang3 阅读(6676) 评论(0) 推荐(1) 编辑