欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

看完了《PHP和MYSQL Web开发 第四版》,配合之前的努力,小有收获了。

程序员文章站 2024-02-15 23:18:34
...
写这篇文章一方面是为了放松一下疲惫一周的自己,一方面是为了给大家介绍一下学习经历,另外申请推荐到首页,多谢啦~
本人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二个字。