自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

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

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

2016-02-21 17:34:24 847

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

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

2015-09-14 11:59:43 5878 4

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

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

2013-12-17 19:51:36 4307 2

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

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

2013-12-16 19:41:57 2041

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

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

2013-12-15 19:07:36 1539 2

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

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

2013-12-12 16:31:52 1953

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

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

2013-12-11 23:08:32 1359

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

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

2013-12-10 17:38:43 2299

原创 php的扩展和嵌入--总纲

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

2013-12-10 17:37:47 1137

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

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

2013-06-16 17:26:44 1660

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

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

2013-06-14 14:02:53 3578

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

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

2013-06-11 23:09:40 5631 1

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

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

2013-06-09 13:05:10 3751

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

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

2013-06-07 20:50:34 4112

原创 数据库常见命令总结

---------------------------------------------------------------------SQLstructured query language. ANSI (American National Standards Institute) standard.功能如下:- 对一个数据库进行查询- 从数据库中抓取数据- 在数据库中插入

2013-06-05 23:49:04 1053

原创 c和c++面试常见问题总结

1 list vector set mapList封装了链表,vector封装了数组,list不支持下标操作,一个是离散存储,一个是连续存储。set和map属于标准关联容器,使用的是高效的平衡检索二叉树:红黑树。插入删除效率高,因为不需内容拷贝和移动,只需直接替换指向节点的指针。Set不包含重复的元素,hash_map用空间换了时间。2 template包括函数

2013-06-05 00:08:49 3346

原创 常见网络协议相关总结socket, TCP/IP

1 tcp/ip ,tcp的相关编程。ip地址分为几类,如何用二进制编码区分?     tcp与udp相比存在可靠的传输保证,三次握手协议等,但udp速度快,tcp要保证数据的接受要有序,每个数据包都有一个信号。而且tcp要求ack。     tcp/ip由网络层的ip协议和传输层的tcp协议组成,协议采用了四层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。分为

2013-06-03 11:21:24 2304

原创 Leetcode: restore ipAddress 恢复ip地址,找出所有可能性

给出一个只包含数字的字符串,找出它所有可能的合法的IP地址。比如给出 "25525511135",那么就返回 ["255.255.11.135","255.255.111.35"]解题的思路考虑的是backtrack回溯法,首先要有一个valid函数判断当前纳入的字符串是否符合ip的规范0-255之间,如果符合,继续寻找下一个,如果不符合的话,就需要返回到上一次的结果,再尝试另

2013-06-03 01:02:00 1634

原创 数据结构:链表操作之反转链表

这两天遇到几个反转链表的题目,觉得比较有意思,这里分享一下:1 给出一个链表,同时给出索引m和n,要求将位于m和n之间的节点反转,然后返回结果。1 eg: 1->2->3->4->5  m =2, n = 4 输出:1 -> 4 -> 3 -> 2 ->5反转链表的时候,有一个比较关键的技巧,比如链表1-2-3-4-5第一次反转的时候,pre = 1,cur = 2,这

2013-06-01 17:02:44 1090

原创 操作系统知识点总结

1 进程和线程,死锁,     进程是资源分配的基本单位,是一个程序在一个数据集合上的一次运行过程,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是进程的一个实体,是被系统     资源分配给进程,同一进程的所有线程共享改进程的资源。     线程是cpu调度和分配的基本单位。     进程是程序的一次执行,线程可以理解为进程中执行的一段程序片段。进程间

2013-05-31 17:37:23 1140

原创 微软技术支持实习生

阴差阳错被内退了个技术支持,索性去面一下积累经验。上来也就是问一下项目相关的内容,所关注的重点是你项目所完成的事和本人所承担的角色,会一直追问原理,所以最好还是对自己做过的项目多回顾一下,避免出现答不出来的情况。然后就是一个程序设计的输出题和一个链表的题目,都还是比较经典的。void foo(char * s1){ char * tmp = s1; while(*tmp)

2013-05-31 10:51:34 1698

原创 Leetcode 分开链表

给定一个链表和一个值x,利用x把链表进行划分,比x小的都排列在比x大或者等于x的后面。链表原来元素的相对位置不变。For example,Given 1->4->3->2->5->2 and x = 3,return 1->2->2->4->3->5.解答:想法是从前向后遍历,遇到第一个比x大的元素的时候停下,记录位置p1,同时始终有一个pre1记录p1之前的节点。这个时候从p1开始向后找,找到第

2013-05-30 21:37:30 691

原创 Leetcode 删除重复的链表元素

给定一个链表,其中可能包含重复的元素,比如1->2->2->3->4第一题:删除多余的重复的元素: 也就是得到1->2->3->4第二题:删除所有的重复的元素:1->3->4结构体和函数声明如下:typedef struct Node {int val;ListNode * next;} *ListNode ListNode * removeDuplicates(

2013-05-30 10:52:05 620

原创 爱立信面试

1 构造函数能否是虚函数?多态:根据对象的动态类型来选择要调用的方法。而在构造函数之前,对象甚至都不存在。构造函数不能是虚函数,在创建一个对象的时候,构造函数需要的是它要创建的对象的准确的类型,所以不能是虚函数。除此之外,构造函数并不是一般的函数,它跟内存管理的交互方式不同于一般的成员函数,所以不能用指针指向构造函数。vtable是在构造函数中才初始化的,找不到vtable就不可能调用

2013-05-29 00:01:31 1655

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除