摘要:因此我们可以得出结论,如果两个对象相等的话,那它们的值必然也是相等的。如果定义了一个可比较的对象,那么最好保证对象值相关的属性在生命周期内不能发生改变,不然会发生意想不到的错误。 概述 大部分的python程序员平时编程的时候,很少关心两个对象为什么相等,因为教程和经验来说,他们就应该相等,比如1==1就应该返回True,可是当我们想要定义自己的对象或者修改默认的对象行为时,通常会...
摘要:从入门到放弃三一进程子进程创建成功后要执行的函数重定向子进程的标准输入和输出。默认为阻塞读取。是否创建管道,启用后,此选项将忽略用户参数,强制为。 swoole——从入门到放弃(三) 一、进程 swoole_process SwooleProcess swoole_process::__construct(callable $function, $redirect_stdin...
摘要:一年多前的文章这次重新读,再加上一些中给我的知识,有了更深的理解。 一年多前的文章 http://segmentfault.com/a/1190000000426460 这次重新读,再加上一些 js 中 co给我的知识,有了更深的理解。 Front Knowledge yield and generator will be the front knowledge of this art...
摘要:出于以上两个原因,我们需要自己的发号器来产生。与此同时,为了保证执行,具有原子性,我们使用来进行实现。由于能力和水平有限,难免会有纰漏,希望及时指出。参考文章分布式生成器实现上实现原理 1、为什么要实现发号器 很多地方我们都需要一个全局唯一的编号,也就是uuid。举一个常见的场景,电商系统产生订单的时候,需要有一个对应的订单编号。在composer上我们也可以看到有很多可以产生uuid...
摘要:数据库测试在测试方面,内置使用提供了非常方便的解决方案。方案优缺点该方案关键点在于使用内置的一个内存数据库,因此速度比较快,有很好的隔离性,也不会对我们的开发数据库有任何的影响。 Laravel数据库测试 在测试方面,Laravel内置使用PHPUnit提供了非常方便的解决方案。而对于数据库增删改查的测试,要解决的一个很重要的问题就是如何在测试完成之后,恢复数据库的原貌,例如要测试一个...