php教程 php手册 一个新手的学习总结

一个新手的学习总结

Jun 21, 2016 am 08:51 AM
apache http php 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页以内的书。如果没有这种耐性,恐怕是永远看不完一本书了,或者说一个月两个月看完了,什么也没记住,实在是很不值得。



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 목적 : 동적 웹 사이트 구축 PHP의 목적 : 동적 웹 사이트 구축 Apr 15, 2025 am 12:18 AM

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP와 Python : 다른 패러다임이 설명되었습니다 PHP와 Python : 다른 패러다임이 설명되었습니다 Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP 및 Python : 코드 예제 및 비교 PHP 및 Python : 코드 예제 및 비교 Apr 15, 2025 am 12:07 AM

PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

PHP와 Python 중에서 선택 : 가이드 PHP와 Python 중에서 선택 : 가이드 Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP : 데이터베이스 및 서버 측 로직 처리 PHP : 데이터베이스 및 서버 측 로직 처리 Apr 15, 2025 am 12:15 AM

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택 PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택 Apr 16, 2025 am 12:16 AM

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.

PHP와 Python : 그들의 역사에 깊은 다이빙 PHP와 Python : 그들의 역사에 깊은 다이빙 Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP vs. Python : 사용 사례 및 응용 프로그램 PHP vs. Python : 사용 사례 및 응용 프로그램 Apr 17, 2025 am 12:23 AM

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

See all articles