回复内容:
别信 @冷夜草的,等你把他照片上的书看完就饿死了。
首先,你必须自己运作一个Web项目
针对 @xs yin评论,评论区不太好操作,放在这里回答吧
其实精一门才是大前提, 至于你说的四大考研科目,我一本书都没看过,只不过研究了几万行别人写的代码 感觉你说的就是学神 就是黑客经验少点,要不真想和你过过招
====
学习基础与精通某一门语言并不冲突,前者有益于后者。至于我,真心没必要太care,但我真心不是学神,应该处于学沫和学渣的中间位置,职业上给自己的定位就是我名字右边那四字。黑客经验我不知道你指的什么方面,如果是crack的话,汇编和PE倒都是玩过一阵子(真心只是玩过),hack的话参加过中日黑客大战(充当肉鸡~),geek见仁见智,或者是阅读源码?那我觉得这只是程序员的基本技能之一。
======================================================
其实真正应用到实际的,只是其中一部分。
====
基础学习跟基础理论研究、基础建设一样,不是立竿见影,而是为了某个需要往更高处发展的时候,不会因为理论基础而产生瓶颈(当然其实还有其他好处,只是日常工作中不易发觉,比如加快学习上层知识)。系统学习理论基础还有一个好处就是能够塑造你的学习观,在学习的工程中你会看不懂,于是会想出各种办法来弄明白,比如搜索某知识点相关的文章、写一段代码来验证、与老师或同事沟通等等,然后总结归纳为一套方法论,这对于未来的职业生涯无疑是最宝贵的财富
(我想究其根本,在于他们实在太习惯这种程度的学习曲线,身经百战。不过这一点的好处在于,这是可以后天锻炼的 ---- 出自 为什么有些人很聪明?他们遇到问题时的思维方式与我们差别在哪呢? - 智商)。
======================================================
计算机原理什么的那几门,大学老师普遍讲不清楚,或者讲讲表层,照本宣读 这几门课,需要个好老师引领才能入门...........
====
这个我觉得是目前国内高等教育比较严重的问题,教学质量良莠不齐。但是你可以自学啊,但是你可以自学啊,但是你可以自学啊,重要的事情说三遍,现在网络这么发达(感觉这句话在十年前就开始说了。。。),名校的网络公开课都是可以学习的,至于四本国内常用教材确实不太好,但如果真想学,在知乎上随便问一个“我想学习数据结构,有什么好的书籍推荐吗?”这类问题,绝对会有你满意的答案。至于什么是正路,国内外知名高校的计算机课程安排已经说明了问题。
最后借用《三国演义》中诸葛亮的一句话:为将者,不通天文,不识地理,不知奇门,不晓阴阳,不看阵图,不明兵势,是庸才也
←_←以上更新于2015.7.27→_→
自我介绍下,前bat android码农,在bat时期自学php,后转做java web,兼做前端,目前在一家创业公司做技术负责人
←_←分割→_→
在bat时期希望往服务端发展,所以自学了php,语法大概花了两天时间学会了,因为php作为类c系语言,对于学习过c,c#,java的我来说非常熟悉,而工程中的问题,比如可维护性,可扩展性在android时期已经有了基础,所以两天后就上手干活了。但我个人觉得之所以能如此快速(求大神勿鄙视……)上手干活,是因为在本科时期打下的良好基础,比如一个http请求,在我眼里大致是这样的:首先组织好http的header和body,header中包含了请求类型,ua等信息,以字符串形式存放,如果是post请求,那么参数也许会以x=a这种形式存放;构造好这个http请求内容以后,那么开始尝试与服务器三次握手,将http包逐层分割为ip报文和tcp报文,最终以光信号通过光纤,经过网关和路由,传输到服务器,,服务器接受到的全都是字符串(求勿吐槽是二进制……),当然由于框架的功能,到码农手中已经被转换成其他类型(php由于是弱类型,所以接收到参数后需要检查),然后服务器端经过参数检查,业务运算,读写缓存和数据库等一系列操作后,最终把数据与模板相结合,返回给客户端一套html(当然也可能是json或者xml),这时候再进行四次挥手,这样一个http请求就完成了,当然其中还有很多细节没办法也没有能力一一讲明白。
后来离职创业,公司已经用java做了为服务器语言,ssm框架,我花了4到5小时来学习使用这三个框架,由于我清楚http的过程,所以springmvc看看用法就完了,mybatis也是。spring得重点说说,本科时期就听说过ssh了,spring更是觉得屌炸了天,但是后来学习动态代理和类加载器,就大概能猜到spring的运作原理,所以后来使用spring的时候也是非常的得心应手,用spring+自定义注解的方式实现了某个业务的无侵入性编码,到这为止,大概用了3周的时间(但我不喜欢spring这套东西,现在也基本弃用了)
后来公司的前端只会html+css,我被赶鸭子上架去写前端了……,网页在本科时期写过,html知道要用div,不能用table,不知道ul标签,css知道标签上写个class就行了,js就知道findeleentbyid……但是我知道html在内存中有个dom树,js无非是对dom的读写操作,明白了这个,那就好办了,去w3school,花4小时把jquery的所有方法通读一遍,2小时把css通读一遍,2小时把html通读一遍,记不住无所谓,用的时候能想起有这么个东西,能解决这个问题就好了,后来还想起js也能oop,又花了一些时间学习,也像模像样的完成了任务。
写了这么多,题主应该会说,你特喵的讲这么多废话来说你自己干吊用啊……其实我只想告诉题主:语言和框架都是浮云,把计算机和基本知识学扎实了,无论是什么样的技术,你都可以用基本理论去推理,进而快速的学会这个技术。当然现在是可以报一个培训班的,因为题主目前还没有一个系统的认识,有人带带总是好的,但是一定要摆正心态,学习的时候一定要多想为什么,然后找出答案,同时建立起自己系统的专业认知,夯实基础。
如果要要问怎么学习基础,我建议先将考研的那四个科目重新学习一遍……
本人能力有限,文中可能有些错误地方,望各路大神轻轻的指教……
编程是个很辛苦的事,如果没有兴趣,很难熬过来的.
主要是看到有答主放了那么大一堆书,来说几句.
我28的时候才开始学,没有基础,如果非要说有的话,那就是十多年前的vb.当然早忘记了.
培养兴趣很重要,我一直认为要学好一门技术,必须先对它有兴趣,就比如找妹子,你喜欢她,你才会花心思,才会主动的调动你的大脑和资源.事半功倍.
你要学web,那就先找个你认为做的好的来模仿吧,从零开始,一步步实现它,至于书,现在还有点早,百度和谷歌是你最好的老师,github上有你要的资源,各种手册是你的利器.很多东西不是靠死记硬背的,需要你在使用过程中去理解记忆.自然就记住了.不要去追逐奇技淫巧,那是在你的基础已经熟练的无以复加的时候闲着蛋疼干的.
你既然干过帝国和wordpress,那就先把php练的信手拈来吧,当你能熟练的做任何一个web程序后,你就会开始关注性能,安全,背后的实现等等,ok,现在你需要书籍了,linux,tcp/ip,c等.
我花了三个月才弄清楚html.js.css.php.又花了一个月弄清楚了thinkphp,自己一直在业余做不同的东西,各种我想做的.一年后,我觉得我的知识储备严重不足了,开始买书,看各种源码,总觉得时间太快,我不会的太多...经常每天14个小时在电脑前毫无倦意,这三年陪伴我最多的除了电脑就是烟...
要写PHP,不只要会PHP
给你看看参考书
========================================
说说我的学习过程
一开始我是学.Net(C#)出身的
这个学习过程给面向对象打好了基础
那本C#高级编程我通读了至少有3遍
之后有项目经验了以后再慢慢看别的
然后接触了PHP,一开始觉得各种不好用,现在觉得PHP比C#方便
不过面向对象支持的不是很完全就是了= =
基本技术好的都得是自学~
========================================
推荐的学习过程
1. 入门书籍
《PHP和MySql Web开发》<-- 这本算是PHP的入门红皮书了
《CSS入门经典》
《锋利的jQuery》<-- 学习jQ的话推荐这个,很快就能看
下面的朋友提醒我了@高玉龙
基础知识还应该学习正则、json、XML、Ajax
不过这三个不急,可以在实践阶段边学边用(一开始不会没关系,哪怕不用都行,但是你得知道有这个东西)
看书的时候看到不懂得地方可以记下来,在实践环节自己试试,再找找资料就行了
千万不要卡在一个地方,对整体学习过程不利(っ °Д °;)っ
2. 实践
看完书呢就开始写代码╮(╯▽╰)╭
至于写什么内容都可以,重点是不要用任何框架,要从最底层的代码写起
当时我是从头开始写了一个网站程序
写网站是很好的,包含基础的增删改查、文件上传、套版等内容
网站要能写出来的话,基本上基础就差不多了
不知道的东西可以翻书和百度
推荐一开始不要用模板引擎,用hereDOC输出代码,方便理解PHP整体的运行流程
具体的流程《PHP和MySql Web开发》里说的停清楚了
JS部分的话一开始用JQ好了,就算不用JS也没问题≖‿≖✧
网上多看看代码是少不了的!~
3. 再看一遍书
再看一遍《PHP和MySql Web开发》,很多一开始不明白的地方就明白了
4. 学习框架
推荐学习1-2套框架,我当时学的是WP和TP
这两套都不错呢
尤其是TP,国内的资料很多,边写的结构也很清楚
官网的手册一定要完整的看一遍,不要求全部记住,至少要知道有问题找什么内容
5. 再实践
用框架写个东西玩玩咯,写啥随意,目的是要熟练应用框架
这个阶段可以练习下JS和CSS了,不过CSS不熟也没关系,对JS一定要知道一些
6. 进阶
上面的部分都是作为一个PHPer的基础数字了(个人认为)
接着就看个人兴趣了
PHP
PHP接着我觉得要学的就是缓存了
一开始学memcache入手比较简单
其他内容看工作需要了~
反正有了自学基础的话学什么都不难~
程序设计类
我推荐的话学些下设计模式,推荐书目《Head First 设计模式》,使用Java的,不过对于理解很有帮助
然后又针对性的去看PHP的设计模式
还有就是代码重构了,我看的记得是C#版的,具体书名忘了
JS类
JS的话可以学全,学全了老板不要我老子就做前端去(╯‵□′)╯︵┻━┻
《JavaScript入门经典》这本书里涵盖的内容挺多的
《JavaScript权威指南》里边,算是进阶的进阶
《你不知道的JavaScript》短小精悍,我只买到上,不知道下有没有出
对于JQ的理解也需要加深
《JQUERY COOKBOOK》是不错的进阶基础
JS想要学通的话,嘿嘿嘿,prototype要搞懂
其他
还有服务器、数据库这块可以找些东西学
这些我不熟悉,就不误人子弟了
========================================
最后
这只是我的学习过程,可以参考,全部照做的话可能效果不理想
最重要的还是要找到合适自己的学习节奏
以上
P.S. 年轻人不要浮躁~
如果有编程基础,学好javascript,以及php、jsp都成
同时可学习基本的html5/css3
同时找一个相对靠谱的工作。最好团队里有一两个牛人,这样可以后脸皮让他带带你。做项目的时候学习效果更高,当然这个比较难。。。。。。
可以往app端发展
不要学设计!!!
不要学设计!!!
不要学设计!!!
-_-#
首先声明,我也是个菜鸟,但愿意和楼主分享一下学习经验,大神看到如果我说的不对欢迎指出。
先介绍一下自己,我是一名准大四,还没毕业,在一家旅游公司开发电商网站,负责前端。在此之前,我也仅仅是学习了编程的皮毛而已,最多说是理解了一些基本的编程思想而已,第一次听说由我一个人负责前端开发还是非常忐忑。当然我们团队里有大神指导。
我觉得楼主的情况还是要从基础补起来,对html5和css3有更加深入的了解。了解标签的语义化和结构化布局。根据楼主所说的情况,我甚至都不知道你们有没有后端的开发人员。。另外,内容管理器尽量少用。
接下来,你要相信一句话,前端的工资取决于js水平,只会改不行,没有大公司要的。掌握jquery的应用。
接下来,稍微深入一些ajax。了解请求和处理。与此同时你必须对jsp和php有一定的了解,略懂后台的实现方法,在代码中留下接口。
目前我学到这些后续还有非常多的内容,比如web标准,浏览器内核差异,访问性能优化等等,都挺有趣的。
最后,我是在去实习路上发的这段,未来一起加油!
这里有一些计划,可以参考
web前端学习计划:
1、
http://www.imooc.com/course/programdetail/pid/3/
2、
http://www.imooc.com/course/programdetail/pid/143、
http://www.imooc.com/course/programdetail/pid/22php学习计划:
http://www.imooc.com/course/programdetail/pid/34
@冷夜草很想知道为什么闲杂书籍是竖着放的,而技术性书籍是横着放的。。。。普遍意义上讲,常用的书籍不是习惯性地放置在竖列的么?