mysql - 感觉学PHP开发网站到瓶颈了,技术上不知如何突破,希望大神指点推荐几本书,谢谢!
从html小白到php,刚开始感觉php做网站挺简单的,但是到后来越感觉所学知识不够用了,网站远非留言板,登陆注册那么简单的。
目前我对这些技术的还不是很了解:
服务器运维,网站部署,技术架构
php 高级技术,定时任务,队列(一直以来我都是把php当“静态”语言来用的,没人访问就是死的) composer docker Ionic phonegap
mysql 事务,高级
其他数据库 nosql memcached redis mongodb
css3 html5 html5新特性 html5网站 angularjs框架 React框架 requirejs CommonJS
nodejs npm Grunt工具 git github
电子商务网站系统设计的知识,大并发,秒杀系统设计
搜索技术,厄需解决我目前的sql word link '%$q%'
linux php环境部署,优化。Linux lamp环境优化,常用web软件环境配置,安装
设计模式,算法
以上就是我迫切想要学的东西。
我想学习web开发的一切,前端和后端,有人说如果感觉自己到了瓶颈期时,那就该看书了,希望大神给我知道一下,推荐几本书。前后端的,实战基础都可以。谢谢!
回复内容:
从html小白到php,刚开始感觉php做网站挺简单的,但是到后来越感觉所学知识不够用了,网站远非留言板,登陆注册那么简单的。
目前我对这些技术的还不是很了解:
服务器运维,网站部署,技术架构
php 高级技术,定时任务,队列(一直以来我都是把php当“静态”语言来用的,没人访问就是死的) composer docker Ionic phonegap
mysql 事务,高级
其他数据库 nosql memcached redis mongodb
css3 html5 html5新特性 html5网站 angularjs框架 React框架 requirejs CommonJS
nodejs npm Grunt工具 git github
电子商务网站系统设计的知识,大并发,秒杀系统设计
搜索技术,厄需解决我目前的sql word link '%$q%'
linux php环境部署,优化。Linux lamp环境优化,常用web软件环境配置,安装
设计模式,算法
以上就是我迫切想要学的东西。
我想学习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 再说说遇到瓶颈怎么办
首先不要觉得自己太弱,感觉遇到瓶颈说明你还是意识到自己在某些方面不足,但是不要盲目就开始学。我的建议是:
该有的广度应该有,如果从PHP开始,那么Web、数据库、运维、架构都应该有所了解
想一想自己未来5年要做什么样的事,是一直当一个程序员吗?在一个团队里面处于什么位置的程序员呢?
想好2之后,应该对自己未来将要做的事情有持续的、深度的了解
学习linux脚本,学习symfony或yii之类的全栈框架,熟悉运用云产品做大型场景的应用。
到达瓶颈的时候要想的东西其实很简单,就是什么都不想,该做的扎扎实实的做,厚积薄发。瓶颈的原因就是不能达到薄发的标准,提高自身对技术的理解,有机会的话接触更加宽广的技术栈,尽量不要一个语言用到老,但是不是让你什么语言都用或者抛弃PHP,而是去学习其他语言的一些思想。然后在使用一些第三方技术或框架的时候尝试在不影响项目流程的情况下深入的学习一些底层的知识。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

在開發一個小型應用時,我遇到了一個棘手的問題:需要快速集成一個輕量級的數據庫操作庫。嘗試了多個庫後,我發現它們要么功能過多,要么兼容性不佳。最終,我找到了minii/db,這是一個基於Yii2的簡化版本,完美地解決了我的問題。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。
