之前的帖子 https://www.v2ex.com/t/322908
首先感谢大家之前的指导和帮助,本人进行了一次迭代,新图入下: http://www.coderluan.com/wp-content/uploads/2016/11/php-1.jpg
希望大家继续指导,你们的名字会出现在最终版本中。
原则是“不走捷径,不走弯路,不走远路” 目标是“帮助那些基础不好又想学编程的人”
我持保留态度的一些意见: 1.新手用百度还是谷歌,这个我直接改成搜索引擎,由使用者自己的情况决定。 2.ThinkPHP 我知道不太好,但是我看招聘需求还是有的,所以暂时保留,希望大家告知招聘面试时是否可以用 Lara 或者 Yii 取代。
再次声明: 我不懂 PHP ,只是个想帮人的整理者,也希望得到大家的帮助。 图中内容随便喷,顺便喷我也行,光喷我的是小狗。
1
coderluan OP |
2
Scholer 2016-11-24 23:19:32 +08:00 1
|
4
herozzm 2016-11-25 07:26:19 +08:00 via Android
差的很多,这个不叫指南,叫走马观花,微信支付什么鬼,和 php 有必然联系额
|
5
coderluan OP @herozzm 向导图当然不是指南,你感觉上面的内容都掌握了,还是无法找份工作?那请问缺在哪里。微信和支付我感觉找工作有可能会问到,所以加上的。
|
6
gino86 2016-11-25 08:51:59 +08:00 1
虽然我不是程序员,我也说说自己对这张图的感受,那就是不适合初学者。我认为学习一门语言应该以项目为导向的。如果一味谈语法而没有实践的话,学习到的知识很容易被遗忘。 php 的话我建议选择《 PHP 和 MySQL Web 开发》,虽然个头有点大,但是对于从零开始学习的应该没有问题。而 javascript 的话首选《 JavaScript DOM 编程艺术》,谁用谁知道,这两本书都在我家书柜。数据库的话不应该一开始就谈性能,连基本 crud 操作都不会,其他都是扯谈。我当初学习 sql 用的是《 sql 入门经典第五版》,可惜这本书有点旧,现在基本没有更新,里面的例子不知道还能不能正常运行。
|
7
sagaxu 2016-11-25 08:55:24 +08:00 via Android 1
@coderluan 微信和支付只不过是上百个常见 API 对接中的一种,做没做过区别不大。语言本身,从入门到熟练干活,不消半个月,熟悉某个库的用法,查一下文档就搞定了。
|
8
coderluan OP @gino86 两本书会加入,数据库有 headfirstSQL ,这个很基础吧。性能优化那个是针对 mySQL 的,你感觉看必知必会就行,不需要高性能 MySQL ?
|
9
gino86 2016-11-25 09:28:27 +08:00
@coderluan 首先我道个歉,没有注意到 head first sql ,也不知道基础程度怎样。刚查了下当当网,出版时间是 2009 年,比入门经典第五版要旧,不知道代码还能运行不。如果版本跨度太大,例子已无法运行,建议不要推荐此类书籍。
|
10
sagaxu 2016-11-25 09:29:26 +08:00 via Android
@coderluan 数据库基础甚至不应该是 SQL ,而是模型,模式,范式,依赖,关系代数这类理论。然后针对具体的 DB 引擎研究性能优化。在 DB 之前,还应该学点离散数学和算法分析。
|
12
echo111222 2016-11-25 09:49:25 +08:00 via Android
如果是帮助零基础想入门编程的人。应该根据萧井陌的编程入门来。知乎专栏。那才是正确之路,从计算机科学的基础开始。我也是零基础自学的,跟楼主的图差不多,学 html css js php mysql ,还没学到框架就学不下去了,总结下就是坑爹。为什么?计算机很多基础概念不懂,结果上手语言也是一脸懵比。学编程,必须先打下计算机科学的基础。比如数据结构,算法,操作系统等等。对了,你 web 基础,至少应该加上 Http 吧
|
13
sagaxu 2016-11-25 09:50:45 +08:00 via Android
@gino86 每个 211 毕业的计算机或者软件专业的本科生都学过,这个很重要,比如说有时候要自己写个容错的 json 解析器,学没学过编译原理,差别就非常大了
|
15
coderluan OP |
16
coderluan OP @echo111222
目标是“帮助那些基础不好又想学编程的人”。换言之就是容易去培训班被坑的人。 你推荐的明显是走科班的路子,我不认为他们有那个时间或者精力,所以重点放到动手能力。 计算机科学基础的话,我可以推荐一本《计算科学导论》作为了解,当故事书读,太具体的课程我建议工作之后慢慢补。 |
17
echo111222 2016-11-25 10:25:45 +08:00
@coderluan 基础不好,那就要补基础。至少进制转换你得会吧。什么是 sock 什么是线程 什么是进程。这些得了解吧。最基础的东西必须得了解,学语言才能事半功倍。我不知道你有没有看过萧井陌(初中生自学成才)的编程入门,但是我希望你能看看。你不一定要认可我的观点,我也只是表达下。
|
19
echo111222 2016-11-25 10:27:45 +08:00
再说一句,基础不行,连看 php 官方文档也费事。
|
20
echo111222 2016-11-25 10:29:18 +08:00
@gino86 离散数学和算法导论可以先不用上。我觉得计算机科学的基础必须先上。。比如进制转换,线程,进行, socket 概念得懂吧。数据结构也可以先了解基本的吧?链表,树,栈。
|
21
gino86 2016-11-25 10:30:28 +08:00
@echo111222 我觉得吧,底层的东西可以先放到一边, php 程序员什么时候经常会操作二进制数据?应该是业务逻辑为主吧。 php 支持多线程编程吗,如果可以,那我真的是 out 了。另外,我也想知道什么是“ sock ”,你确定你没有打错“ socket ”
|
22
coderluan OP @echo111222
我 985 科班出身,那套体系很清楚,所以我也认为直接把那些东西抛给基础不好的孩子,会断了他们这条路。我自然知道萧井陌,所以也不认为人人都能像他一样。专业基础很重要,如果你在读大学时间充足,理科底子好,那样我也推荐你好好打打基础。否则的话,我更推荐偏实用性,先提高动手能力,努力找份工作,工作了之后再慢慢补基础。 PS :定位不同,我也只是表达下。 |
23
Lucups 2016-11-25 10:33:40 +08:00
推荐一个重量级的框架: Symfony ——一个堪称业界典范的纯 PHP 框架。
用惯 Symfony 后的感受就是,用其他框架的时候总感觉少这个缺那个,然后一言不合就改造。 所以,学习 PHP 框架有一条捷径,就是 Symfony ! |
24
coderluan OP @Lucups
说了不走捷径了。 好吧,不开玩笑了,确实有人推荐 symfony ,也许他是最好的,但是我有点顾虑,就是这么多框架,他们的市场需求是怎么样的,也就是找工作,笔试,面试哪个最常见。 不能面试时,对方说我们公司之前框架是 tp ,你熟悉吗?咱们说 fuck off this and go ahead for symfony. |
25
echo111222 2016-11-25 10:43:19 +08:00
|
26
coderluan OP @echo111222 我加上计算机科学导论了,一些基础概念这么课都会涉及,线程啊,数据结构啊,但是不会讲的太深,推荐给使用者当故事书看了。 Http 这个推荐的 MDN 学院上有相关内容的。
|
27
gino86 2016-11-25 10:49:11 +08:00
|
29
gino86 2016-11-25 10:59:02 +08:00
@coderluan 这个真不好意思,我不是 interviewer ,不能正确地回答你这个问题。如果是前几年的话,国内 tp 是首屈一指的, zend framework 是国外的重量级框架。近几年很多国外的框架大热,例如 ci, laravel , yii ,而 laravel 颇有大国崛起的感觉。
|
30
echo111222 2016-11-25 11:00:09 +08:00
@coderluan 希望你的向导图能最后强调下基础的重要性。引导他们以后加强基础的学习。“基础不好想学编程的人”也有很多是学生,学生也可以根据自己时间,可以加强点基础。框架的话,以我今年的面试经验, Yii Laravel ThinkPHP 都比较多。
|
31
coderluan OP |
33
echo111222 2016-11-25 11:37:55 +08:00 via Android
@coderluan 嗯嗯。我没有说要出单独的语言向导。。不好意思,前面语气有点激动了。。我也是希望后来者路更好走。尽管我还是个菜鸟。加油!
|
34
coderluan OP @echo111222 没事,共勉。
|