关闭

书影 | 管中窥豹,读《淘宝技术这十年》上

这本书断断续续,竟然读过了一个新年的时间跨度。并非是要找借口,但自己的感觉:这种书其实读起来蛮累的,碎片化的时间加上作者东一耙,西一铲的叙述,还有以下两点: * 首先如果你把它当一本励志故事书来看的话,这本书可没那么轻松,间或夹杂着马云爸爸、淘宝初创人员的励志与猎奇的故事,但是还没等你那碗鸡汤入口,一个不小心,就是技术细节了。 * 而如果你把它当一本技术书来看的话,这本书更不轻松。淘宝技术的十年...
阅读(297) 评论(0)

【翻译】服务器后端的编程语言

【翻译】服务器后端的编程语言对于那些需要web服务的初创公司里的大型新项目,我会选择何种后端编程语言呢?在客户端侧有CSS、html和javascript(包括CoffeeScript和TypeScript这类衍生语言)可供选择。而对于存储,我曾经用过mysql和redis,这也基本够用了。但是选择服务器端的语言却没那么容易。我曾经使用了好长时间的php,因为在我刚开始编程时候,它最简单,成本也最低...
阅读(2825) 评论(3)

php的扩展和嵌入--c++类的扩展开发

今天花了几乎一天的时间研究php的相关c++扩展,第一次接触的时候很多地方不太熟悉,也碰到了不少坑,这里把整个过程叙述如下,参考的文章主要是http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/: 现在定义了一个Car类,它有一些成员函数,整个扩展包括的文件如下: config.m4 扩展的配置文件php_...
阅读(3022) 评论(2)

php的扩展和嵌入--c扩展开发helloworld

在linux下面完成了LAMP的配置环境之后,就可以进行php的扩展开发了。 php中的扩展开发都在源码包的/ext文件夹之下,可以看到这里已经有了很多开发好的扩展。比如与数据库相关的mysql以及xml处理的模块等等。 首先建立一个文件夹: mkdir hello 在进入这个文件夹之后,先创建并打开一个配置文件: vim config.m4 这个给出一个配置问...
阅读(1599) 评论(0)

php扩展和嵌入--如何在linux下配置LAMP环境

在linux下面,使用源码包编译的方式安装LAMP,可以对内部的编译机制和php的模块加载等方面有更加深入的了解。 所谓LAMP指的是Linux+Apache+Mysql+Php,这些软件安装完毕了之后,就算是成功搭建了进行php开发的环境了。 首先则是要下载源码包: apache:wget http://apache.dataguru.cn//httpd/httpd-2.4.7.t...
阅读(1200) 评论(2)

php的扩展和嵌入--php内存管理

php对内存的管理机制相当的详尽,它在这一点上更类似与java的垃圾回收机制。而对于c语言或者c++大部分时候都只能由程序员自己把申请的空间释放掉。在php中,由于要应对成千上万的连接,同时这些连接往往还需要保持很长的时间。这并不同于c中程序结束了相应的内存块就会被回收。 所以仅仅依靠程序员在写程序的时候注意内存回收是不够的,php肯定要有一些自己内部的、与连接相关的内存管理机制来保证不发生任何...
阅读(1220) 评论(0)

php的扩展和嵌入--php内部变量

之前对于php的内部生命周期和Zend引擎的线程安全机制做了一个介绍,这里这篇文章则是主要介绍php的内部变量是如何实现的。 了解了这些实现的方法之后,对于写php,尤其是进行php扩展开发感觉相当有帮助。 php是一种类型比较松散的语言,与C相比不需要在使用变量前给出类型,直接用就可以。为了实现这一点,php必须在数据类型的定义上做一些工作。 数据类型: 最基本的类型被称...
阅读(1090) 评论(0)

php的扩展和嵌入--php的生命周期与变量详述

首先开始介绍php的生命周期,了解一个php程序从开始运行到最后结束究竟经过怎么样的过程,对学习php和平时php开发应该是很重要的。 起始和关闭阶段: 对于php的起始和关闭阶段可以分成两层, 第一层是php解释器作为一个整体进行结构和值的初始化过程。第二层则是在每一个页面的请求过程中。 对于每个扩展而言,都会有一个初始化MINT函数,这个过程会声明变量、类,注册资源、流和过...
阅读(1701) 评论(0)

php的扩展和嵌入--总纲

初步接触了php开发以及php扩展的相关内容,发现extending and embeded php这本书很不错,很多问题也讲的非常透彻。这里把读到的一些书中的内容和自己的实践结合起来展示一下,既是给自己留档,也是抛砖引玉,期待php大牛的指导。 extending and embeded php这本书还有一个中文版,有些东西新一些,也可以参考下: http://www.walu.cc...
阅读(856) 评论(0)

数据结构之二叉树1(前序中序后序层序遍历,重建二叉树)

1 二叉树前序后序中序遍历 递归非递归解法 2  二叉树层序遍历;二叉树zigzag层序遍历 3 从中序和前序重建二叉树;从中序和后序重建二叉树 1 二叉树前序后序中序遍历 - 二叉树前序遍历,前序遍历方法是先访问根节点,然后再访问左右节点。 前序遍历的递归和非递归解法: //前序递归遍历 void preOrderRec(TreeNode *root) {...
阅读(1272) 评论(0)

算法之动态规划2(LCS最长公共子序列, edit distance,交叉子串)

说过了装配站和矩阵链之后,这里再写三个跟字符串相关的,使用了动态规划算法的实例,一个是LCS,最长公共子序列,一个是Edit Distance,也就是字符串之间转换的代价。还有一个是interleaving string,也就是交叉子串的判断。 1 LCS,最长公共子序列,是评判两个字符串之间相关性的一个量度,它记录的是两个字符串中所有相等并且按照从前向后的顺序组合起来的字符的集合:...
阅读(3243) 评论(0)

算法之动态规划 之 子问题重叠和最优子结构

最优化问题,即要做出一组选择以达到一个最优解。在做选择的同时,经常出现同样形式的子问题。当某一特定子问题可能出自多于一种选择的集合时,动态规划就很有效。关键技术是存储这些子问题的每一个解,以备它重复出现。 与分治法不同的是,动态规划面对的子问题并不是相互独立的,各子问题有可能包含公共的子子问题。 1)描述最优解的结构 2)递归定义最优解的值 3)按自底向上的方式计算最优解的值。 4)由计...
阅读(1970) 评论(1)

Leetcode中的回溯法题目总结:八皇后问题; unique path问题;subsets问题

回溯法,采用试错的思想,分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确解答的时候,就会取消上一步或者上几步的运算,再通过其他的可能分步解答再次尝试寻找问题的答案。最经典的问题,就是八皇后问题。 1 n皇后问题 n-皇后 问题就是正确的在棋盘上面放置皇后的位置,从而使得任意两个皇后之间都无法攻击对方,攻击的方式是同行、同列或对角线。...
阅读(2178) 评论(0)

Windows下Socket TCP网络传输及ping-pong缓冲区进程同步研究实现

最近做一个socket网络传输的项目,在使用TCP进行传输的时候,接收端有时候会因为写入到文件的时间而造成一定的延时,所以在接收端使用了ping-pong buffer的策略进行优化。 所谓ping-pong buffer,也就是定义两个buffer,当有数据进来的时候,负责写入buffer的进程就寻找第一个没有被占用而且可写的buffer,进行写入,写好之后,将占用flag释放,同时设置一个f...
阅读(2441) 评论(0)

数据库常见命令总结

---------------------------------------------------------------------SQL structured query language. ANSI (American National Standards Institute) standard. 功能如下: - 对一个数据库进行查询 - 从数据库中抓取数据 - 在数据库中插入...
阅读(815) 评论(0)
24条 共2页1 2 下一页 尾页
    php扩展研究
    对于php常见的c语言和c++的扩展,以及php语言的内核和zend机制进行探讨
    个人资料
    • 访问:36479次
    • 积分:610
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:1篇
    • 译文:1篇
    • 评论:8条
    文章分类
    最新评论