CODE, ARCHITECTURE & AI

代码、架构与 AI 时代.

记录工程实践,也探索 AI 时代软件与人的新可能。

484 篇记录保持好奇,慢慢积累

算法设计技术:一维模式识别

算法设计技术:一维模式识别 最近重温经典《编程珠玑》,在第8章算法设计技术中一维模式识别实例,书中举出了5种不同的解法,解法不断优化,不断的变得高效,不断得变得更优雅,看完感触良深。已经三年没有和算法有过直接沟通了,也淡忘了,从记忆中唤起,再次遇到,发现有些思想已经深入到骨子里了。 回正题。 【问题描述】 输入n个数的序列,输出这n个数的任意连续子序列的最大…
继续阅读 ↗

PHP扩展开发:简单类实现

PHP扩展开发:简单类实现 话说之前有写过如何在vs2008下开发PHP扩展,今天我们来实现一个简单类。 对于一个类,一般包括类定义,声明成员变量,声明成员函数,定义类常量, 对于类继承,重载,接口实现等不在这里说明。 首先我们看下这个简单类的PHP实现: _name; } public function setName($name) { $this->_n…
继续阅读 ↗

PHP源码阅读笔记二十七:PHP对构造方法的识别

PHP源码阅读笔记二十七:PHP对构造方法的识别 众所周知,由于历史原因,PHP之前是使用类名作为构造函数,在PHP5中引入的新的构造函数__construct。为了实现向后兼容性,如果 PHP 5 在类中找不到 __construct() 函数,它就会尝试寻找旧式的构造函数,也就是和类同名的函数。因此唯一会产生兼容性问题的情况是:类中已有一个名为 __co…
继续阅读 ↗

PHP手册拾遗四:变量函数

PHP手册拾遗:变量函数 1、isset()函数 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。 对于一个数组的元素,如果该元素的值为NULL,使用isset()函数将返回FALSE,此时需要使用array_key_exists函数。如下所示代码: $array = array('t1' => NULL); if (isse…
继续阅读 ↗

PHP5.3版本编译扩展时出现:LNK2001: unresolved external symbol _ZVAL_ADDREF

PHP5.3版本编译扩展时出现的问题 近,因要编译PHP扩展,本着最新最好的出发点,将PHP5.3的源码包下载下来,并将扩展源码创建VS2008项目,在经历百般磨难后,终于不再出现语法错误,然而当满怀希望按下F7键后,发现出现了N多的LNK2001和LNK2019错误,其中error LNK2001巨多,在纠结了一个周末后,可能是感动上天,终于在GOOGLE…
继续阅读 ↗

数据源架构模式之活动记录

数据源架构模式之活动记录 【活动记录的意图】 一个对象,它包装数据表或视图中某一行,封装数据库访问,并在这些数据上增加了领域逻辑。 【活动记录的适用场景】 适用于不太复杂的领域逻辑,如CRUD操作等。 【活动记录的运行机制】 对象既有数据又有行为。其使用最直接的方法,将数据访问逻辑置于领域对象中。 活动记录的本质是一个领域模型,这个领域模型中的类和基数据库中…
继续阅读 ↗