2015年4月

c开发php扩展2

为什么要开发PHP扩展

PHP取得成功的一个主要原因之一是她拥有大量的可用扩展。web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到。PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展。
编写php扩展理由之一是 网站并发量很高时,需要优化php,就可以把某些常用php类写成扩展

- 阅读剩余部分 -

程序员是碗青春饭,如何才能让自己不过时?

程序员越来越值钱了

  今年是程序员的招聘大年,企业给出的offer平均比去年要多出30%到50%。如果不对老员工进行大幅度地加薪,将会出现大面积的严重倒挂现象,虽然出现这种自毁长城的可能性很小。

  试想一下,技术水平和业务熟练度都要高出不少的老员工,怎么可能忍受菜鸟的薪水比自己还要高。真遇到这种老板,可能第二天就会递辞职信。

b1.jpg

  程序员,是越来越值钱了。全面信息化的社会发展需求是一方面,另一方面则是来自政府政策方面的推动。习大大在打老虎的闲暇之余,还抽空到在乌镇召开的首届互联网大会致辞;李克强总理在两会期间提出“互联网+”的概念,还放出话来要给人民降网费和流量费。不管是不是泡沫,程序员这一行将会是未来几年最热的职业,可能没有之一。

我们是不是不应该太乐观

  虽然钱途貌似一片光明,可是计算机专业的学生同样也面临着两个非常严峻的问题。第一,技术更新换代非常快,必须保持比较高的学习强度才能保证自己不被淘汰。第二,对于科班出身的程序员来说,一个中专大专毕业的学生到社会上随便学一个android或ios的培训班就可以找到一份月薪非常可观的工作,读四年(名牌)大学的优势又在哪里呢

第一个问题我们可以从刘未鹏老师的《暗时间》里找到答案——
重视知识的本质,对于程序员来说这一点尤其重要。程序员行业的知识芜杂海量,而且总是在增长变化。应对这个问题办法只能是 抓住不变量。
大量的新技术其实只是一层皮,背后的支撑技术其实都是十来年不变的东西。底层知识永远都不过时;算法数据结构永远都不过时;分析问题和解决问题的能力永远都不过是;强大的学习能力和旺盛的求知欲永远都不过时;你大脑的思维方式永远都不过时。

  在学校的时候,我们总是觉得像《计算机组成原理》、《编译原理》、《算法与数据结构》之类的科目没有用,一心只想赶快动手编程,学一些最新最潮的东西。现在看来,当年的自己还是太年轻了。

对于第二个问题,看完第一个问题的回答之后,你应该就大概猜到答案会是:基本功。

b2.jpg

  越是基础的东西越到后面越重要。不懂算法数据结构和网络基础的程序员只能当一辈子的码农,远远称不上是软件开发工程师,更别提负责更高层次的职能。就好像nba里的顶级球星,他们平时训练的时候不是找一帮人来打比赛,而是聘请专业的投篮教练或体能师给自己磨最基本的投篮动作和练体能。武侠小说的男主,遇到的名师都会在一开始的时候只让他们练基本功,可见基础的重要性。

  更关键的是,越是基础的东西越难速成,所以很难在意识到其重要性的时候临时补救。

  学生们要珍惜在大学里的时间,有的时候不妨试着硬着头皮、逼着自己学一点《计算机网络》之类的基础知识,在日后的工作当中总会给你带来意想不到的惊喜和收获。已经工作的程序员们,下班之后也可以看看《代码大全》之类的书,学一学好的代码规范,借鉴一些前人的经验教训,夯实基础,

  让自己永不过时。

转载 http://www.cnblogs.com/levenyes/p/4457674.html

linux c 开发php扩展

用C重写一个PHP的系统函数ip2long()解决ip2long在32位与64位系统下值不同的问题(该问题是因为32位与64位的整形范围不同导致的,具体原因请google)。
我们新的ip2long固定返回32位有符号整数,范围-2147483648 到 2147483647,与32位系统相同。
我们的扩展名称为 myip,函数名为 ip2long32
扩展的功能与名称都OK了,现在按流程进行开发。

- 阅读剩余部分 -

PHP面向对象 抽象类与接口

在学习PHP面向对象时,都会在抽象类与接口上迷惑,作用差不多为什么还那么容易混淆,何不留一去一?但是事实上两者的区别还是很大的,如果能够很好地运用PHP的两个方法,面向对象的程序设计将会更加合理、清晰高效。

不同点

对接口的使用方式是通过关键字implements来实现的,而对于抽象类的操作是使用类继承的关键字exotends实现的,使用时要特别注意。
接口没有数据成员,但是抽象类有数据成员,抽象类可以实现数据的封装。
接口没有构造函数,抽象类可以有构造函数。
接口中的方法都是public类型,而抽象类中的方法可以使用private、protected或public来修饰。
一个类可以同时实现多个接口,但是只能实现一个抽象类。

相同点

函数体内不能写任何东西,连两个大括号都不能写!!!如:function getName();这样就行了