搜索
首页后端开发php教程mysql - 感觉学PHP开发网站到瓶颈了,技术上不知如何突破,希望大神指点推荐几本书,谢谢!

从html小白到php,刚开始感觉php做网站挺简单的,但是到后来越感觉所学知识不够用了,网站远非留言板,登陆注册那么简单的。

目前我对这些技术的还不是很了解:

  1. 服务器运维,网站部署,技术架构

  2. php 高级技术,定时任务,队列(一直以来我都是把php当“静态”语言来用的,没人访问就是死的) composer docker Ionic phonegap

  3. mysql 事务,高级

  4. 其他数据库 nosql memcached redis mongodb

  5. css3 html5 html5新特性 html5网站 angularjs框架 React框架 requirejs CommonJS

  6. nodejs npm Grunt工具 git github

  7. 电子商务网站系统设计的知识,大并发,秒杀系统设计

  8. 搜索技术,厄需解决我目前的sql word link '%$q%'

  9. linux php环境部署,优化。Linux lamp环境优化,常用web软件环境配置,安装

  10. 设计模式,算法

以上就是我迫切想要学的东西。

我想学习web开发的一切,前端和后端,有人说如果感觉自己到了瓶颈期时,那就该看书了,希望大神给我知道一下,推荐几本书。前后端的,实战基础都可以。谢谢!

回复内容:

从html小白到php,刚开始感觉php做网站挺简单的,但是到后来越感觉所学知识不够用了,网站远非留言板,登陆注册那么简单的。

目前我对这些技术的还不是很了解:

  1. 服务器运维,网站部署,技术架构

  2. php 高级技术,定时任务,队列(一直以来我都是把php当“静态”语言来用的,没人访问就是死的) composer docker Ionic phonegap

  3. mysql 事务,高级

  4. 其他数据库 nosql memcached redis mongodb

  5. css3 html5 html5新特性 html5网站 angularjs框架 React框架 requirejs CommonJS

  6. nodejs npm Grunt工具 git github

  7. 电子商务网站系统设计的知识,大并发,秒杀系统设计

  8. 搜索技术,厄需解决我目前的sql word link '%$q%'

  9. linux php环境部署,优化。Linux lamp环境优化,常用web软件环境配置,安装

  10. 设计模式,算法

以上就是我迫切想要学的东西。

我想学习web开发的一切,前端和后端,有人说如果感觉自己到了瓶颈期时,那就该看书了,希望大神给我知道一下,推荐几本书。前后端的,实战基础都可以。谢谢!

你列的这个列表非常棒,知识面很完整,但我个人认为,你现在面临的这个瓶颈并不是书能够解决的。或者说光靠书很难解决。

想清楚学习的目的,避免为学而学

比如高并发,秒杀,架构,这些经常都是现有业务接触不到的东西,学习起来一般两种目的:要么为了应对面试,要么为了日后业务发展,需要的时候能够顶上(知识储备)。不同的目的有不同的学习手段和目标程度。比如如果为了面试,那么做到有一定了解,清楚场景、常见解决方案即可,面试的时候也不用瞎编,就说没机会接触但了解过如何如何,就是很好的回答了。如果是为了业务发展,如果当前公司很快就会发展到那个程度,那就得要到实战的地步,可以找老板沟通,老板说不定正发愁呢。

但如果你的公司离哪个场景很远,你又不打算跳槽,那就别浪费宝贵的时间,学点别的吧

实践,实践,实践!

无论你习惯看书,还是习惯视频,还是像我一样习惯面向google面向stackoverflow学习,学习唯一不变的终点永远是实践。无论你的学习目的是什么,开始之前永远都先给自己准备好实践的机会。公司需要就和老板沟通,公司不需要就自己业余开小项目,不方便的话,那就学到“了解问题点,了解常见解决方案”的程度停止

你已经具备很好的知识面,那么结合公司当下/未来的需求找到突破口应该不是难事,争取结合公司发展所需来学习是效率以及收益最高的,相信我,老板永远最喜欢那种公司需要什么技术就能跳起来说“以前我看过这个东西,有三种方案,我觉得B方案目前最适合我们公司的情况,我能带头把这个做出来”的员工

场景是王道

上面两点中我一直反复在聊场景,其实和英文很类似,英文的核心能力并不是几万的单词量,也不是多么高深的语法,而是“语感”,或者说,从场景联系到合适的表达方式,以及反过来从别人的表达中领会场景的能力。

书和视频,包括网上搜索,绝大多数都只能解决“how”的问题,但我始终认为"how"几乎是最不重要的事情,至少对于互联网技术来说,除了极端场景,99%的情况下,“how”都不是问题,不就是找最合适的那个类库看下文档,调用调试一下么。问题的关键永远是“when”和“what”,偶尔是“why”

  • how: 是怎么达成某件事情(比如怎么支撑大并发吧),这其实真的不太重要

  • when: 什么时候需要引入支撑并发的方案? 一台常见的单核8G服务器能支撑多少用户并发?怎么监视并发量从而确认是否需要扩容?常见的并发优化能有多少并发量的提升?这决定了业务成长到什么地步要考虑引入相应方案,过早优化是万恶之首

  • what: 并发问题的核心是解决什么问题? 比如一个方向是横向扩容/自动扩容,另一个方向是高并发下的数据一致性(事务和分布式事务),当然也还有单机并发优化。如果你理解了就会发现,单机优化确实重要而且是基础,但绝大多数时候远远不如前两个管用。如果你懵懵懂懂就奔着“高并发”这么个词,学了一堆单机优化的东西,可能最后派不上用

  • why: 为什么公司需要这个技术?业务和技术的结合点在哪里? 是你的公司的商业模式决定了需要靠支撑大量并发来盈利么?是公司的业务数据宝贵不容有失所以需要强大的异地容灾?还是因为公司业务无法接受当机时间过长,所以需要灾备,需要柔性高可用?当然,也不能排除“高层喜欢这个技术”这个稍稍令人丧气的理由。

合起来看,how之外的那些问题,简单地说就是场景问题,想通这个真的非常重要,只有想通这个,你的学习才是有目的,有条理,有计划,有最终成果的有效学习

最后,反感看书学习的我唯一推荐一本书,是一本最棒的学习list,有很多你没列出来却至关重要的需要学习/关注的点,《The Pragmatic Programmer》,译名《程序员修炼之道》有点俗,但错过实在可惜

附另一个回答《程序员怎样结合平时工作中的项目修炼自己的技能?》

程序猿遇到瓶颈, 看书什么的根本就没用, 最好的方法就是跳槽

一步步来,买书看,做项目练习,熟练使用至少两个php框架

从基础开始学,PHP基础,html基础,找一些小的项目看,然后可以接触框架,如新手比较好理解的Codeigniter,关键是自己动手做个东西。

可以多看看PHP的技术博客:
http://blog.tanteng.me

1 先推荐书

服务器运维

《鸟哥的Linux私房菜》

git

githug - 一个用git来学习git的小游戏
类似的还有vimtutor

网站系统设计的知识,大并发,秒杀系统设计:

看几个大公司的技术博客,学习一下一线的开发人员都在做什么,就差不多了
腾讯大讲堂
腾讯全端 AlloyTeam 团队
点评美团技术团队
蘑菇街技术博客

设计模式,算法

《大话设计模式》
《代码大全》

其他方面我了解的少,欢迎补充

2 再说说遇到瓶颈怎么办

首先不要觉得自己太弱,感觉遇到瓶颈说明你还是意识到自己在某些方面不足,但是不要盲目就开始学。我的建议是:

  1. 该有的广度应该有,如果从PHP开始,那么Web、数据库、运维、架构都应该有所了解

  2. 想一想自己未来5年要做什么样的事,是一直当一个程序员吗?在一个团队里面处于什么位置的程序员呢?

  3. 想好2之后,应该对自己未来将要做的事情有持续的、深度的了解

学习linux脚本,学习symfony或yii之类的全栈框架,熟悉运用云产品做大型场景的应用。

到达瓶颈的时候要想的东西其实很简单,就是什么都不想,该做的扎扎实实的做,厚积薄发。瓶颈的原因就是不能达到薄发的标准,提高自身对技术的理解,有机会的话接触更加宽广的技术栈,尽量不要一个语言用到老,但是不是让你什么语言都用或者抛弃PHP,而是去学习其他语言的一些思想。然后在使用一些第三方技术或框架的时候尝试在不影响项目流程的情况下深入的学习一些底层的知识。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
超越炒作:评估当今PHP的角色超越炒作:评估当今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

PHP中的弱参考是什么?什么时候有用?PHP中的弱参考是什么?什么时候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

解释PHP中的__ Invoke Magic方法。解释PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

解释PHP 8.1中的纤维以进行并发。解释PHP 8.1中的纤维以进行并发。Apr 12, 2025 am 12:05 AM

Fibers在PHP8.1中引入,提升了并发处理能力。1)Fibers是一种轻量级的并发模型,类似于协程。2)它们允许开发者手动控制任务的执行流,适合处理I/O密集型任务。3)使用Fibers可以编写更高效、响应性更强的代码。

PHP社区:资源,支持和发展PHP社区:资源,支持和发展Apr 12, 2025 am 12:04 AM

PHP社区提供了丰富的资源和支持,帮助开发者成长。1)资源包括官方文档、教程、博客和开源项目如Laravel和Symfony。2)支持可以通过StackOverflow、Reddit和Slack频道获得。3)开发动态可以通过关注RFC了解。4)融入社区可以通过积极参与、贡献代码和学习分享来实现。

PHP与Python:了解差异PHP与Python:了解差异Apr 11, 2025 am 12:15 AM

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

php:死亡还是简单地适应?php:死亡还是简单地适应?Apr 11, 2025 am 12:13 AM

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来:改编和创新PHP的未来:改编和创新Apr 11, 2025 am 12:01 AM

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境