看完了《PHP和MYSQL Web开发 第四版》,配合之前的努力,小有收获了。
本人Linux C程序员,专注服务器程序设计与服务器架构与优化,阅读过的源码涉及lighttpd,nginx,jabberd2,memcached等,主要热衷于钻研lighttpd,apache,nginx等Web服务器的设计与实现,对其架构与设计细节具有源码级别的认识。
苦于终日敲C语言已经变得麻木不仁,并且本人具有一定的理想与对未来创业的展望,所以不希望停留在底层编码设计阶段,希望上层建筑也得到一定的升华,从而辅佐下层建筑,从而成为一个上层与下层兼容一身的牛逼的程序员。
正如前面所说,起初关注的是apache源码,看了几日感觉人生短暂,不能全部花费在如此庞然巨物之上,所以购买了《Apache源码剖析》,借助这本神物将Apache的prefork,worker的多进程架构与实现细节统统纳入脑中。正因为Apache的学习有些偷工减料,同时发现太多的http与 mod的用途完全不懂,于是决定以一个轻量级的源码:lighttpd展开细致的源码剖析,誓死不罢休。
阅读源码起初并不是很艰难,因为有过memcached的源码阅读经历,所以在阅读外围代码(相对于核心代码而言)时也是如鱼得水,颇有收获。随着进入核心代码的阅读,发现非常缺乏HTTP与WEB服务器的基础知识,举步难行。
于是,购买了《构建高性能Web站点》一书,在3天内将其阅读完毕,收获难以言喻,配合不断的百度搜索优秀博文,借助它们对HTTP协议,WEB服务器架构设计,以及整个站点的组成方面得到了很重要的突破,虽然此时并没有太多的感悟与知识串联。随着继续这样的源码阅读与搜索学习,lighttpd代码被完整的稀里糊涂的看完了,其中掠过了某些Plugin(Mod)的阅读,而且对于Plugin架构的设计还有一点源码级别的疑惑(这个问题在后来公司实习过程中结合Jabberd2和实际的开发已经彻底领悟)。
在此之后的一段时间内,会不断的思考lighttpd源码,不断的发现问题,于是更多的去搜索与思考,回顾源码细节,重新梳理源码体系。但还是遗留了若干的疑惑,所以不得不开始nginx的代码阅读,希望从中能找到答案,当然这个源码只读了很少的一部分,主要几种在http request的parse部分和多进程工作模型与I/O部分。
此时,对于HTTP协议的交互实现原理已经达到了一定的认识,借助《构建高性能…》一书中对http协议的详细介绍,对所有的http字段都有了较为透彻的认识。
讲到这里,发现要说的太多,只好快速的过度到Web学习阶段。
学Web的原因很简单,文章一开始也提到了,我想做自己的事,而最快的方法无非是移动终端或者Web应用,而Web应用在PC端和移动终端都可以适用,并且Web应用也是任何应用的一个重要推广平台,其次Web服务器可以很快速的架设非Web类应用,其本身的分布式协议(Http),简单的访问方式(get/post),无状态短连接特性本身就是一个完美的神物,尤其对于我这种研究过Web服务器实现的人来说,我甚至可以看到协议之下的字节流。。。(哈哈)
也就是在这之后,我到公司实习,很快的就因为工作任务接触到了C语言开发一个HTTP服务器,需要接受任何合法的HTTP请求,并存储转发其数据。这个过程是借助XML+Nginx提供的http_parser库快速开发实现的,基于epoll的多进程架构,其中还需要涉及到jabbered2的源码阅读(在公司期间花了一周多时间读RFC协议与源码)。
随着与Web打交道的越来越多,并且公司要求每个人必须掌握C/PHP,于是Web的学习之路很快的提上了行程。
从0开始总是艰难的,需要毅力。起初总是找不到正确的学习路子,我习惯于来CSDN听听大家的建议,给自己的计划做一些参谋,就像我现在小有成就就喜欢来写个文章分享分享放松放松(也有炫耀炫耀~)。咨询过之后,觉得摆在面前的html,css,js,ajax,php都是些神马东西,这么多怎么学。无奈,只能慢慢学,抱着无限对知识的渴望,在w3school花了最多三天时间,把html,xhtml,css,js,ajax,php,mysql全看完了,就是左边栏的内容全看完了。但是我一行代码也没敲过,看完很快忘干净了。
放下了好几天,一直没动力再看。这时候,也就是2周前,我觉得我连一个静态页面都写不出来还怎么混下去,DIV+CSS定位一定要整明白,js怎么也得把基础折腾明白,jquery再说吧。我决定看视频学习,于是借助公司的高带宽让电驴尽情的挥洒汗水。。下载了两个系列的视频,一个是讲html+css的传智播客视频,一个是lamp兄弟联的PHP视频,它们都讲了html+css+js+ajax,我就先看了lamp的,一整天在公司里带着耳机看,下班回去看到半夜,恩。。。两个系列我都在3天左右看完了html+css部分,于是回家在自家路由器上架设了一个Linux服务器,在之上部署了lnmp,路由器NAT可以外网直接访问,配置花生壳DDNS,开始写静态页面练习CSS+DIV。
写静态页面就是找个网站开始模仿,模仿样子不模仿代码。。。于是很快的发现写起来很简单,但用IE就出问题,调来调去都折腾不对,于是积极性被严重打击,休息了一天,来CSDN问了一下,结果自己找到一篇好博文,原来IE很多BUG需要特殊对待,比如我遇到的float块元素的margin是双倍的,这是导致我那些不兼容的主要诱因,于是我的页面开始在IE与非IE下渐渐的一致了,推倒重写了几次,参考了糗百等简单页面的代码,添加了弹出式下拉菜单,滚动广告,浮动跟随广告,也就顺便把js和dom练了练,感觉自信多了一点(C出身的我在大学期间是玩算法的,纯属炫耀,不解释)。
渴望学习Web与真正学习Web这期间,我也出现过一些原则上的错误,比如买了《Python学习手册》并很快的将之看完,之后很快被遗忘干净(其实我是讨厌python的,因为它把函数封装到一个一个的库里,我讨厌简单问题复杂化)。在这之后,也就是前端的基本东西都掌握了之后,感觉应该深入php学习了,深入就不应该看视频!!视频对于入门真的很有帮助,我犹记得以前冲动学WINDOWS开发的时候看的孙鑫的视频,以及帮助我算法入门的严蔚敏数据结构视频(曾经一个寒假每天翘着腿看视频敲数据结构),必须承认视频是入门的法宝,但真正的深入修炼还是靠多读书,多思考总结,多敲代码试验,才能找到身为一个程序员的技术自信心。
参考买什么书学习也是在当当,amazon观察了很久,最终决定相信同为
“圣经”的《PHP和MYSQL Web开发》,我始终相信圣经的力量,就像相信《UNIX环境高级编程》,《UNIX网络编程》一样,虔诚的膜拜之。严重质疑与谴责那些在图书评价中说任何“圣经”书籍“太简单”,“印刷质量差”,“没光碟”等恶心行为,它们一定程度影响了我的正确判断。
《PHP和MYSQL Web开发》是从上周中开始,今天周3看完的,大约5,6天左右。很多人一定要质疑我看书与看视频的速度与质量了,请尽情的质疑。。。其实看书的时候我是抱着这样一个计划看的:1,语法细节精通!2,注意addslashes,stripslashes,htmlspecialchars,urlencode等安全函数的用途(真是结合了很多额外的介绍才真正的正确把握用法,之前真的很多错误认识,太可怕了)3,重视后半部分的所有实例开发。4,获得足够多的Web开发自信。
抱着无穷无尽对知识的渴望,我基本不休息的全天看书,不懂就敲,但发现好像人老了脑子不好使了,经常遇见不会的东西以为脑子会记住一会再查,结果一会就怎么都想不起来了,于是就合上书苦思冥想我刚才到底疑惑在哪里。。。发现这个问题之后,我就开始做笔记了,当然不是记我会什么,而是记下来我一会要敲代码试验试验这个问题。
读完此书,我感觉自己已经集大成于一身,这是一种技术自信:首先,我相信我比普通的Web程序员拥有更多的底层认识(不包括客户端JS引擎),另外,我相信自己有足够的能力开发网站(前端+后端通吃,起初可能菜点,但我希望在工作中要求Web开发的工作任务来提高)。
对于PHP的问题不多说了,这里大牛成群,我也只是初学乍道,但我发现其实任何一本书你完整的读下来都会形成体系,并且可以学到很多已经误解或者不曾留意的问题,非常珍贵。另外,我说的读书是指:给自己规定少于2-3周的时间,看完任何一本1000页以内的书。如果没有这种耐性,恐怕是永远看不完一本书了,或者说一个月两个月看完了,什么也没记住,实在是很不值得。
回复讨论(解决方案)
咕~~(???)b,遇到不会的就看手册上的实例, http://download.csdn.net/detail/dmtnewtons/4122897,基础差不多了,就开始上手小项目,慢慢就熟练了。路漫漫其修远兮,吾将上下而求索……
,感觉很有激情的样子啊
膜拜. 你学C的知道哪儿有它的中文资料不? 推荐几个。 一直想向C扩展可惜英语太烂
大内高手!
看了那么多web服务器源代码,共享下心得呗。
恭喜了
行隔理不隔
你是学生还是工作了?
牛人 来膜拜下
咕~~(???)b,遇到不会的就看手册上的实例,http://download.csdn.net/detail/dmtnewtons/4122897,基础差不多了,就开始上手小项目,慢慢就熟练了。路漫漫其修远兮,吾将上下而求索……
恩, 女盆友是产品妹子, 我们将在摸索中前行..
,感觉很有激情的样子啊
趁着年轻赶紧拼一拼 - -
膜拜. 你学C的知道哪儿有它的中文资料不? 推荐几个。 一直想向C扩展可惜英语太烂
C语言的核心是指针, 语言相关将涉及到编译与链接的理解。 如果是Linux C开发的话详细阅读《UNIX环境高级编程》+《UNIX网络编程上下卷》,再多关注一下网络方面(epoll/select)等,了解一下libevent库的实现方式,memcached或者一些服务器代码都可以了解到网络开发相关东西。
恭喜了
行隔理不隔
多谢,从想学到现在差不多1个月,学了很多,自己还在不断的摸索细节满足好奇心中。
牛人 来膜拜下
别膜拜,我是新手,给想进入web领域的童鞋分享学习web的心得,自己也顺便总结回顾一下~
搞过c来搞php,发现太吃香了。因为,php用着用着就搞开c了。php 和c是不分家的。
太有激情了.年轻就是好啊,一夜七章郎.
写的不错
学习的过程真他妈的痛苦无比啊。
看书很慢的菜菜路过。。。。
本来想进来探讨一下php的不足。。。。。。。却发现楼主看、学了不少,但好像没提出给大家借鉴的看法、心得
昨天发现这一篇又把php批得一文不值:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
研究一下
本来想进来探讨一下php的不足。。。。。。。却发现楼主看、学了不少,但好像没提出给大家借鉴的看法、心得
昨天发现这一篇又把php批得一文不值:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
PHP 5.3 以后接 MS SQL 真麻烦啊. 果然不是亲妈生的.
本科应届,马上实习结束回学校腐败了。
特怀念上学的日子,可以整天边泡着图书馆边看mm,可惜各种免费资源没能好好珍惜~
现在去书店逛一圈,好点儿的书一看价钱就100上下了,真心舍不得,只得找个角落花个一下午,能啃多少啃多少
哎~伤不起的苦逼程序员~
我也是很怀恋 每天看哈书
我也是很怀恋 每天看哈书
膜拜一下
动力 你在哪里
这么强
感慨很多,收益良多,最后一句,点明重心,建议:要看就看后一段!!!
好文章啊,言之有物....
本来想进来探讨一下php的不足。。。。。。。却发现楼主看、学了不少,但好像没提出给大家借鉴的看法、心得
昨天发现这一篇又把php批得一文不值:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
本来想进来探讨一下php的不足。。。。。。。却发现楼主看、学了不少,但好像没提出给大家借鉴的看法、心得
昨天发现这一篇又把php批得一文不值:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ 一篇转载了无数次的文章
楼主的小红花就足够让我膜拜了,哎惭愧呀。
楼主研究生毕业么?
支持一个,
不地楼主是几天党么,ctrl+f 搜索"看完",就发现你几天看完的太多太多了
几天看完一目十行么,那也太快了。看不看完不重要,要多动手好吧?
哎,我可没这么好的命...继续练我的PHP去
楼主,学习欲旺盛。
不错,很好
年轻就是好啊, 唉。
羡慕,佩服!向LZ靠齐
果然是大内高手!
牛人, 一上来就看源码!
恭喜,贺喜。。
果然是大内高手
我也是很怀恋 每天看哈书
c 和php有什么关系
恭喜恭喜
感觉是高手,懂的东西这么多。
有没有电子书啊
怀念啊,有空还是学习下好
同学php,支持膜拜一下。
彼书上的例子,善用函数,哪怕输出一话句,也要定义成函数。
有热情是件好事。
膜拜!
学习支持一个。
读书激情值得学习啊
大牛精神值得学习!共勉!
楼主的精神让人佩服!
写的不错
几天就看完一本书,佩服啊,怎么我做不到
我也是很怀恋 每天看哈书
谢谢分享给大家啊!~
作为初学者,当看完你的文章我颇有收获!希望你能更多给予我们新手指导和建议!
好理解倒是真的,不用转换太多思维
搞过c来搞php,发现太吃香了。因为,php用着用着就搞开c了。php 和c是不分家的。
让我情何以堪!惭愧呀!
楼主, 你误人子弟。
庄子说过:“吾生也有涯,而知也无涯,以有涯随无涯,殆矣" !
人一生的光阴是有限的, 学海是无边的, 用有限的生命去追求无限的虚华的知识, 划算?
本来想进来探讨一下php的不足。。。。。。。却发现楼主看、学了不少,但好像没提出给大家借鉴的看法、心得
昨天发现这一篇又把php批得一文不值:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
值几文钱的, 低并发,单服务器,低配置下的web应用非常适合php
楼主, 你误人子弟。
庄子说过:“吾生也有涯,而知也无涯,以有涯随无涯,殆矣" !
人一生的光阴是有限的, 学海是无边的, 用有限的生命去追求无限的虚华的知识, 划算?
楼主NB,咋说。
一直都想学,但是都没时间
楼主,出门交交女朋友。玩玩,才是正事。
我也在看这本书,
php错就错在开始的先天不足。它的发明者开始并没有一个宏大的构思,只是想弄出来自己玩玩,没想到一玩就玩大了。
引用 91 楼 的回复:
楼主, 你误人子弟。
庄子说过:“吾生也有涯,而知也无涯,以有涯随无涯,殆矣" !
人一生的光阴是有限的, 学海是无边的, 用有限的生命去追求无限的虚华的知识, 划算?
楼主NB,咋说。
等他在php版的等级有五星, 才提NB二个字。
下一篇: php截取逗号之前的字符