A. 编程书籍经典的有哪些
算法/数据结构/底层理论:
《算法导论》:学习算法的必读书,也应作为程序员 ”基本素养“ 看一看
《计算机程序设计艺术》:一部仍未完成的着作,作者高德纳因此获得美国计算机协会 1974 年图灵奖 - wikipedia:计算机程序设计艺术
《数据结构与算法分析》
《具体数学》
《编译原理》:编译理论的 ”龙书“
《深入理解计算机系统》
编程语言/工具等:
《C 程序设计语言》:C 语言发明者之一 Dennis 的经典 C 语言教程
《C++ Primer》
《java 编程思想》
《OpenGL 编程指南》:”红宝书“
《php 和 MySQL Web 开发》:不要看目前的中文版
软件工程/开发
《设计模式》
《人月神话》:被誉为软件工程领域的圣经 - wikipedia:人月神话
《重构》
《代码大全》
《程序员修炼之道》:如何 ”编程“?
B. php该怎样进阶
对于进阶我们首先需要明白它是建立在PHP基础上而进行升华的,它不单单是高级的内容,而是我们对于PHP开发程序原理的深入理解,再到对网站的性能优化、微服务、网站架构、高并发问题解决方案、团队管理等一系列学习内容。
在不同的时期进阶学习的内容也不一样,所以需要把握当下的基础,然后去针对每个时期应该学习和具备的内容,一步一步的进阶上去,这样才是稳扎稳打的。就像一套军体拳,打出该有的作用就可以,而不是一味的去注重华丽的动作。
初期
在初期我们应该把PHP基础打扎实,下层基础决定上层建筑棚春。在这个时磨备期我们应该注重项目实战、编程思考、开发模式、实用功能开发。
需要学习:PHP基础语法、PHP扩展、面向对象、MySQL操作、linux环境编译安装(例如:lnmp、lamp)、常用框架(例如:laravel、tp)、常用设计模式、PSR开发规范、项目封装等
中期
在这个阶段我们应该开始注重项目开发后的性能,对开发过程的原理分析,对于网络编程要开始学习准备了。自己可尝试重构代码。开发自己需要的组件功能
需要学习:框架的底层原理、缓存数据库的操作Memcache,Redis,Mongodb)、MySQL优化、PHP底层原理实现机制、服务器优化、网络模型、io模型、集群搭建、主从复制与读写分离等
后期
在这个时期,基本上你的技术能力都已经具备的很充分,这个时期我们应该从项目网链游耐站的整体架构和公司的业务线,以及人员管理、自身领导力入手。这个时期更加注重管理和规划的能力。
需要学习:微服务的架构设计,高并发的解决方案。项目网站的技术选项、团队人员协调、团队问题解决等。
综上,需要把握每个时期的核心关键要求,切记不要太过的去分散精力,这样你是具备可持续发展的
觉得有感悟,欢迎在线咨询
C. 关于LINUX 编程方面的书籍
假设你是计算机科班出身,计算机系的基本课程如数据结构、操作系统、体系结构、编译原理、计算机网络你全修过
我想大概可以分为4个阶段,水平从低到高
从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码
其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数
安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式
系统编程推荐《高级unix环境编程》,黑话叫APUE
还有《unix网络编程》
这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好
内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发
参考书如下《linux device drivers》,黑话叫ldd
《linux kernel development》,黑话叫lkd
《understading the linux kernel》,黑话叫utlk
《linux源码情景分析》
这四本书为搞内核的必读书籍
最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了
学习linux/unix编程方法的建议
建议学习路径:
首先先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。
然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。
如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。
然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。
对于几本经典教材的评价:
《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。
《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。
《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。
《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。
《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。
《Operating System - Design and Implement》这个是讲操作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会
有一个清晰的认识。
《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。
D. 关于php学习,哪个网站资料比较合适
做PHP相关工作已经有7年了,如果是初学者,推荐有两个PHP100、PHP CHINA.
PHP100
-------------
PHP100中文网是国内第一家以PHP资源分享为主的专业网站,也提供了PHP中文交流社区。面向PHP学习研究者提供:最新PHP资讯、原创内容、开源代码和PHP视频教程等相关内容。
PHP100中的100个视频,虽然看着有点多,但是如果想入门的话,10几个视频就可以了,这里面不仅有入门的教程,还有中阶、高阶的教程,完全可以把你从一个什么都不懂的PHP菜鸟,变成PHP的使用高手。
介绍php开发环境,让您快速搭建您的工作环境,测试环境,开始PHP的编程之旅;php开发工具
,工欲善其事必先利其器,IDE,数据库管理,版本控制等等,称心..,带你进行PHP语言开发,手把手在视频教程中教你如何开发一个留言板功能,学会这些,你就可以入门了。
当然如果遇到问题怎么办,PHP100还有一个技术论坛,分类也很全,不仅包含PHP技术相关的内容,还包含PHP相关的好多技术语言,例如linux、apache、mysql、javascript、ajax等等。
PHP CHINA
----------------
之所以推荐这个,是因为,N年前我自己就是在这里进行过培训的学员,也是深受益处,还有个很出名的开源论坛也是出自这里的,Discuz! ,这里不仅有学习相关的资料,也可以报名进行培训,还可以学习Discuz!相关的源码。
当然这里也有一个属于自己的论坛,里面有一部分人都是初学者,都是在这里做培训的学员,所以会看到很多初级的问题,也可以提一些基础问题,很多人会帮你解答。
当然别的地方也会有很多资料很全的网站,以上两个只是个人推荐,希望对你有帮助