# 喵喵喵??
# 我是个小白(没有前端基础),要怎么学习呢?
- 可以翻看前端基础-学习资源,根据这些网站提供的教程来学习。
- 建议边看边操作,可以结合前端基础-练习空间中的 freeCodeCamp 进行一步步学习,也可以直接选择想练习的课程来进行。
- 查看前端入门系列,补充对前端的一些认识和理解。
- 开始尽情地撸代码吧,根据自己的需要,可以搜一些在线的资源来修改,也可以自己根据其他教程(Vue、小程序等)来完成一个项目。
Tips:
- 很多的报错、API、以及遇到一些不知所措的问题,可以尽情谷歌噢。如果你家的梯子不方便,可以去 bing (opens new window) 上搜噢。
- 一些调试的技巧,可以找一些视频或者教程来看,这边除了前端入门-代码调试这一节内容,别的需要自己去找噢。
# 我已经掌握一些基本的前端语法,要怎么提升写代码的能力呢?
一句话:多练!
至于怎么练习呢,首先前端它可以是一个很有成就感的事情,例如我在这个网站中不停地塞各种猫猫的时候,是开心地飞起的。那要抓住这种成就感,你可以:
- 根据自己喜欢的画风,设计一个博客,然后搭建起来
- 写一点好玩的交互、动画,或者小游戏
- 找自己喜欢的网站,试着自己写出一个一样的
对于 CSS,只能熟能生巧,当然你可以搭配一下一些盒子模型、元素堆叠和定位、文档流等原理来理解(可参考前端入门-HTML 和 CSS),可以帮助你更好地记住这些技巧。
对于 javascript、DOM、BOM、浏览器原理和机制这些,我能提供的方向也都写在了前端入门系列中了,剩下的只能靠你们自己啦。
# 我已经可以熟练地写项目,但是觉得自己每天都在做重复的工作,可以怎么深入学习呢?
一句话:多思考!
我也经常写差不多的项目,但是每一次我都能自己找到可以优化、比较有意思的地方,你也应该这样。
前端除了做一些工具、开源库,其实前端的选型、架构、项目设计也是很重要的一个技能。这样的技能除了看别人的一些整理和总结,更多其实还是需要自己去思考,不要贪多嚼不烂。我自己也有一些稍微好玩的思考,可以查看前端深入理解系列,如果你也有好玩的想法,欢迎一起来讨论~
# 很多面试会问一些原理、抽象设计,但是平时很少接触底层的东西,要怎么提升自己呢?
- 首先,还是那句话:多思考!
框架和一些很热门的开源库为什么会火,因为解决了很多开发的痛点。那么,你想要了解的这些工具,它的痛点背景是什么呢?解决方案又是怎样的?为什么要选这样的方案,是否有可以优化的地方呢?
实现其实对很多程序员来说都不是难事,而我们和大神们的区别在于,他们可以想到这样的痛点,同时还能做出方案对比、方案选型、代码设计,做出来其实是最简单的一部分而已。
我们做的很多时候是业务代码,但是业务代码就没有可以进行方案设计、选型、抽象的地方了吗?不,只是我们自己放弃了去做这样的事情,多思考吧,你会发现你的未来大不一样。
- 其次,学会写。
你得把每次想到的、学到的,都记录下来。一个人的记忆力是有限的,但我们有容量超大的硬盘可以帮我们记住。
不要怕写得不准确,也不要觉得这么简单写下来意义不大。既然会有疑问,意味着未来的你会遇到同样的疑问,而其他人也会遇到。写下来,下次想起来时可以翻开看,同时还能以新的视角来纠正之前的内容。
# 我觉得前端很容易到达天花板,我该转行吗?
- 其实,我个人觉得天花板跟职业和岗位关系不大,所谓的天花板更多是个人的天花板。
相对于抱怨环境,提升自己更重要。怎样提升自己呢?还是那句话,多思考。首先,你要想清楚自己的职业规划,如果你刚毕业还不是很清晰,没有关系,你喜欢什么总该知道吧?找准自己的兴趣,然后可以以“又能做喜欢的事情,又能赚钱”作为目标,看看自己缺什么,然后慢慢补吧。
千万不要急,这个浮躁的社会,最忌讳急。
一个人的潜能,总是跟爱好又很大关系的。所以找准你的爱好,想办法把它变成能让你每天相处得很开心的一份工作吧。不要相信“把爱好变成工作就会失去热爱”这种话,那只是因为不够热爱而已。
- 根据自己的兴趣,可以将技术栈往外扩一些(后台、运维、设计、交互都可以)。
如果只会前端,其实局限性会比较大(像我,切图不会切、设计又丑的不行、后台又不会写、机器运维更是不怎么了解)。这种情况下,不管是从与合作伙伴协作、讨论需求的时候,背景知识的欠缺也会使得沟通不顺畅。
更深一些的想法,程序设计最终是相通的,而程序设计与我们的生活工作其实也是相通的。学习一些其他的思维模式、结构设计,对深入前端领域也好,对视野和思维的拓展也好,都是很不错的。嗯,我也在学,也整理了一份前端的进击系列。希望和你们一起共同进步呀。