CODE, ARCHITECTURE & AI

代码、架构与 AI 时代.

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

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

与代码的相处之道

与代码的相处之道 -- 读《编程人生》一二章有感 最近在阅读《编程人生》,看了作者对Jamie Zawinski(Lisp黑客、XEmacs开发者、Netscape浏览器和Mozilla核心开发者)和Brad Fitzpatrick(80后程序员、LiveJournal和memcached开发者,Google员工)的采访,除了感慨作者采访的准备充分外,对于牛…
继续阅读 ↗

锁机制概述

本文主要回答如下问题: 什么是锁机制? 锁机制的作用是什么? 锁机制的类型有哪几种? 关键字:并发、并发控制、乐观锁、悲观锁 在我们常见的程序设计、操作系统和数据库等领域,并发是非常棘手的问题之一。而并发在操作系统、数据库等领域,最终还是会体现在软件开发(代码实现)上。并发的主要纠结点在于对共享资源的处理,虽然现在有事务来处理并发,但是这只是在一定程序上缓解…
继续阅读 ↗

代理模式(Proxy)和PHP的反射功能

代理模式(Proxy)和PHP的反射功能 本文包括以下内容: 代理模式概述 代理模式常规示例 使用PHP的反射功能实现多代理 正文 模式意图 :为其他对象提供一种代理以控制对这个对象的访问[GOF95] 代理模式是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由此代理对象控制对原代理对象的引用。代理模式不应该让用户感觉到代理的存在,所以代理对象和原…
继续阅读 ↗

使用Bison和re2c构建词法分析和语法分析器

使用说明: 本文需要读者对C语言有一定的基础,对于re2c和bison有一些了解,最好也熟悉linux命令 我们在前面介绍了 PHP的语法分析器-Bison入门 和 PHP的词法解析器:re2c ,那么如何将re2c与bison集成在一起的呢? 我们以一个从PHP源码中剥离出来的示例来说明整个过程。这个示例的功能与词法分析器的示例类似,作用都是识别输入参数中…
继续阅读 ↗

PHP的语法分析器-Bison入门

Bison是一种通用目的的分析器生成器。它将LALR(1)上下文无关文法的描述转化成分析该文法的C程序。 使用它可以生成解释器,编译器,协议实现等多种程序。 Bison向上兼容Yacc,所有书写正确的Yacc语法都应该可以不加修改地在Bison下工作。 它不但与Yacc兼容还具有许多Yacc不具备的特性。 Bison分析器文件是定义了名为yyparse并且实…
继续阅读 ↗

前端控制器

前端控制器 表现层的请求处理机制需要支持每个用户多个请求,我们可以以集中式或分散式的方式管理这些请求。 如果以分散的方式进行管理可能会导致如下的一些问题: 每个请求都有一个共同的操作,分散处理可能会导致代码的重复。 可能会导致视图导航和视图内容的耦合。 分散处理可能会带来更高的维护成本。 如果我们采用集中的方式进行管理,则可以对安全认证、国际化等操作统一处理…
继续阅读 ↗

PHP的词法解析器:re2c

re2c 是一个扫描器制作工具,可以创建非常快速灵活的扫描器。它可以产生高效代码,基于C语言,可以支持C/C++代码。 与其它类似的扫描器不同,它偏重于为正则表达式产生高效代码(和他的名字一样)。因此,这比传统的词法分析器有更广泛的应用范围。 你可以在 sourceforge.net 获取源码。 PHP在最开始的词法解析器是使用的是flex,后来PHP的改为…
继续阅读 ↗