Re: [请益] 一些关于自学前端的疑问

楼主: philosiphy (电机系课真多 )   2018-06-26 10:37:06
我目前主要是做前端,少数写后端,,也是自学然后找到工作,目前在美国纽约华尔街日报
(The
Wall Street Journal)
我觉得前文写的很好,不过我对于某些点有不同的想法,我也根据前文写的那几个分类来

1.四大硕问题
如果是要做前端工程师,我真的觉得特地去念四大硕(台清交成)没有其必要性,当然就算
是想当走全端,我也觉得没有一定必要性,当然我不是说正规教育研究所不好,加上我在
台湾职场没当担任过软件工程师的工作,所以我这样讲可能会有点偏颇,虽然我以前虽然
是四大硕,但是都是电机相关,大学是中央电机,研究所是交大电机,主修影像处理、图
形识别、电脑图学,但这学历跟我目前做前端没有任何关系,研究所写也只是写matlab跟
c/c++。
重点是,为什么要去浪费两年的时间去念研究所,如果还要写论文的话,更是浪费时间与
金钱,我个人觉得,你要做的是front end developer,你需要的是好的作品集以及好的
专案@github,可以让人看出你写程式以及实作的能力,下面是我的网站以及作品,我不
敢说我做的网站超级好,有些是我在国外唸
硕士去旁听大学部的课程写的作业或是自学课程写的作业,我国外资管研究所几乎没有培
养我任何写网站的能力,最多只有教数据库。重点是要不同的写作业/累积作品,实作能
力才是重点!
GitHub
https://github.com/johnnyhsu1106
个人网站及作品集
http://johnnyhsu1106.com.s3-website-us-west-2.amazonaws.com/
我身边的同事,有些都不是CS背景的,可能一部分也是因为不是在四大公司(google, fac
ebook) ,但是他们有些是自学或是参加coding bootcamp,也都是不错的高手,所以我觉
得有强烈的学习意愿才是重点。
我完全同意前文写的,学前端并非是可以轻松就非本科转职,
2. 如何自学
在台湾之前已经很久没写过程式,工作是当硬件工程师/专案管理诗/产品经理,完全跟写
程沾不上边,所以我出国唸书的时候,所以我硕一下学期就去同时旁听两门Python的课程
,跟大学生一起上课,每门课都有10个作业,10多个lab练习,每次上课都有worksheet 可
以练习写程式,我除了没参加期中/期末考试外,每个作业/练习都有写,后来因为实习需
求,我自己又去上Coursera学了html/css/javascript,下学期又去旁听两门课,一整堂
学了html + css,一整堂学了web development(js + php + mysql),也是狂写作业,以
及自学Java,跟同学写了一个poker game project ,基于design pattern
在找工作的时候,我也是没学过React, Angular,因为学校哪会教你这些library/framew
ork,所以我开始上Udemy的课程,看到职缺需要什么,我就去学,面试前时候需要线上考
试,现场面试的时候需要写程式码在白板上,就去学资料结构以及算法,然后狂在leec
ode/lintcode上面刷题目,当然这可以先学,不用等到要面试才学。
https://imgur.com/a/CRv8gdd ,这些是我的课程,但是我也不是每一门都上完。
结论是
网络上面有太多资源 ,像是Udemy,可以先去上这些,一门课才10元美金,然后觉得自己
有兴趣后,想要去上实体课程再去报名,Udemy的好处是可以一直不停的重复听,然后一
个月内还可以免费退费,千万不会有那种上网络课程,觉得自己会怠惰的心,所以先去上
实体课程,因为一开始去上实体课程的缺点是,对于没有基础的人而言,一开始如果听不
懂,很容易就追不上进度就放弃了。
3.学习曲线
准备
(1)挑一个好用的Text editor: 我个人用过notepad++, sublime, atom,目前用的是atom
,之后或
许转战到vscode
(2)买一台好的电脑:我个人推荐用mac,光是unix作业系统的terminal就是好用,我个人
安装iterm 2
(3)选一个好用的浏览器:我个人推荐chrome,超多web app extension以及强大的chrome
dev tool.
(4)买1-2台的外接萤幕:一边写code,一边看web,一边看dev tool的console,多萤幕真
的是必要。
初阶
(1) HTML: 最好学会HTML5 那些semantic element
(2) CSS: Box Model, Display, Font, Position, Float,, Pseudo class…
(3) Javascript: 学会基本语法,内建资料型态(string, array, boolean, null, objec
t, map, set),基本DOM API
(4) Git/ Github: 你迟早要学会的工具
(5) Chrome Dev Tool:你迟早要学会的工具
(6) NPM: 你迟早要学会的工具
请记住,w3school是你的好朋友。
中阶
(1) CSS: Flex, Media Query,如何做出RWD(Responsive Web Design),Trasformation
, Transition, Animation(keyframe)
(2) Javascript: ES5, ES6的差别,何谓callback function? Event Handler,
Event Loop,程式执行的时候,哪些会在Call Stack执行,哪些会在Callback Queu
e,Ajax(XMLHttpRequest, fetch),如何写Callback/ Promise,至于是否要学ES7....,
真的是看心情。
(3) jQuery: 可学/可不学,我有学,毕竟这真的不难,不可避免有人会用,总是要看的

(4) Bootstrap: 可学/可不学,我有学。可以快速做出一个不错看的网站
我建议不要一开始就学jQuery,至少有中阶程式能力后再学。我看过有人写程式都是
jQuery派,会导致程式码缺乏架构,缺乏模组化,我最近就是狂把jQuery改成vanilla JS
,自己写fadeIn, fadeout, animation, slideUp, slideDown,要改jQuery的最累的就是
没有模组化,几乎是一个block包含所有商业逻辑。
请记住,MDN是你的好朋友。
高阶
(1) React / Vue / Angular等Library或框架: 我建议学React,因为容易入门,多人使

(2) 写出MVC架构的web app:
(3) 写unit test: Mocha, Enzyme, Chai这是我目前用的
(4) Node JS: 可学/可不学,想要深入JS的人可以继续学,我是有学
(5) Gulp/Grunt: 可学/可不学,看你公司用哪个或是个人爽度
(6) Sass/Scss: 可学/可不学,看你公司用哪个或是个人爽度
(7) Data structure/Algorithm: 我是上九章算法班/强化班,这两门课,加上Lintcode
刷200题。
请记住。Stack Overflow是你的好朋友
总结:
我目前只是一个一年多工作经验的菜鸟front end developer,我大多都是自学来的,
我相信有心/有兴趣/少许的天份,你也可以迈向软件工程师之路。
PS: https://github.com/goodjack/developer-roadmap-chinese
这看起来真的很实用
最后说明一下为什么我要来美国念硕士,是因为我必须要有文凭才比较有机会留在美国工
作(这个就扯到了签证的问题),但是你不需要硕士文凭,你也可以在台湾工作。
我之前在美国面试google ,amazon的on-site interview,当然最后是没有上,现场面试当
然考的算法为主,但是前几关也是会考跟front end 相关问题。
为什么会推荐w3school,因为对于’初学者‘而言,上面有比较多的例子,虽然他的东西
是比较旧一点,但是是个好入门的网站。我相信学程式还是由浅入深,循序渐进比较好

※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 207.237.11.51
※ 文章网址: https://www.ptt.cc/bbs/Soft_Job/M.1529980631.A.041.html
※ 编辑: philosiphy (207.237.11.51), 06/26/2018 10:45:38
作者: shvanta (vant)   2018-06-26 10:58:00
感谢分享
作者: BaGaJohn5566 (莫忘初衷)   2018-06-26 11:21:00
很强 推一个
作者: alongalone (沿着孤单的路)   2018-06-26 11:41:00
wall street . 请问是在美国吗 ?
作者: mit007187747 (Patrick)   2018-06-26 11:49:00
作者: pttrAin (rAin)   2018-06-26 12:01:00
谢谢你的分享,大推
作者: e920528 (Evis)   2018-06-26 12:54:00
推一个
作者: yfu3330225 (Jeffybear)   2018-06-26 12:56:00
在台湾没有念研究所会少很多机会 要注意
作者: ymcheung (ymc)   2018-06-26 13:08:00
也觉得研究所唸完根本没帮助推
作者: darkch (chang)   2018-06-26 13:14:00
有系统的学习,胜过去读研硕花了好几xx万拿到一张毕业证书,还不保证一点有那个能力,顶多称号好看而已
作者: smmoon (邦)   2018-06-26 13:21:00
以上前提是英文要先学好...
作者: black209 (black209)   2018-06-26 13:21:00
作者: theget3874 (墨鱼)   2018-06-26 13:24:00
感谢分享
作者: FellRed (落红)   2018-06-26 13:53:00
纯嘘w3school
作者: nichinichi (nichi)   2018-06-26 13:59:00
其实主要是那张研究所文凭吧,以后的路会顺一点
作者: bndan (seed)   2018-06-26 14:31:00
路顺一点 走比较远...心力耗费太大 有时连初级成果都还没拿到就腰折的多的是...
作者: superpai (超级白)   2018-06-26 15:43:00
看来近年w3school洗白了
作者: joejoe14758 (KILE)   2018-06-26 15:59:00
想请问为什么w3school 会被嘘@@
作者: hakosaki (hakosaki)   2018-06-26 16:05:00
听说满多错误的 可以去国外网站找找 ,读官方文本还是稳一点
作者: lovdkkkk (dk)   2018-06-26 16:19:00
w3school 还可以啦, 我觉得只是对规格的变动更新慢一点不过我想嘘 react 容易上手, 所以给箭头 XD
作者: stkoso (Asperger)   2018-06-26 16:29:00
能不能录取是一回事 但是硕士能拿到的面试机会多很多
作者: THEWORLDS (天下)   2018-06-26 17:20:00
很明显就刷题阿 有刷有差拉
作者: liuderchi   2018-06-26 18:14:00
推分享
楼主: philosiphy (电机系课真多 )   2018-06-26 18:53:00
是在美国纽约喔React 相对来讲是简单,如果是跟Angular比2&4)
作者: daniel54088 (daniel54088)   2018-06-26 18:57:00
React 哪有容易上手..
作者: WunoW (WunoW)   2018-06-26 19:26:00
说react容易上手蛮傻眼的,我主流框架都玩过,不觉得react叫做好上手
作者: beaprayguy (小羊快跑啊)   2018-06-26 19:29:00
Angular对前端工程师本来就有门槛。强型别语言加上服务注入特性,本来就有差有些架构上跟后端爱语言学习
楼主: philosiphy (电机系课真多 )   2018-06-26 19:51:00
这三个框架当中,react相对容易上手,在美国也比较多人用,当然觉得简单与否就是个人感觉了。我个人是觉得前面的基础都很好了之后方,react 是容易上手
作者: beaprayguy (小羊快跑啊)   2018-06-26 19:55:00
React极吃javascript水准。我个人无法接受html写在程式码里面。比较喜欢分开的开发。选择angular.这没有对错问题。同一个人写出来的react可能10万八千里Angular好处是有best practices 可以参照我考量后续要维护和教育训练成本问题,选择angular
作者: vi000246 (Vi)   2018-06-26 20:16:00
同意github很重要 非本科的唯一武器
作者: w5151381guy (kirito帆)   2018-06-26 21:29:00
三大框架当中最好入门的是vue吧...React要学JSX而ng要学ts,对于新手来睡都比较难入门啊...
作者: goodblessu (BTRFOO)   2018-06-26 21:36:00
更正一下,你举的IDE应该只算是文字编辑器
作者: aidylUranus (噗噗)   2018-06-26 21:53:00
感谢分享~~
作者: aegisty (桃型潜水艇)   2018-06-26 22:12:00
好强
作者: yuanchen1103 (Yuan)   2018-06-26 23:08:00
vue 派表示 react的官方文件相对来说写得不清不楚超级烂 哪叫容易上手XD
作者: zeroshine (rain)   2018-06-27 00:42:00
我反而觉得 vue 一堆 api 比 React 复杂很多React 反而概念很间单 抓准 state 跟 props 的概念就可以写出容易维护的 code 了
作者: NCKUFatPork (成大肥宅悲歌)   2018-06-27 02:05:00
现在的React documentation已经写得不差了吧,然后以零基础的纯初学者来说Jsx是蛮直观的一件事。几个React的设计模式掌握好确实不需要花太久就可以写出堪用的code。
作者: pig0038 (颗颗)   2018-06-27 09:25:00
推vue的好处是一堆简体中文资源,官网document也有中文React 比较看好是native方面最近越来越多公司采用了,甚至有职缺title直接就说征React app developer
作者: putryyy (噗吃啊啊)   2018-06-27 09:53:00
太厉害了!!谢谢分享!!
作者: fish0112 (鱼)   2018-06-27 09:56:00
作者: dododavid006 (朔雪)   2018-06-27 23:15:00
我也觉得 React 的概念比 Vue 简单多了 其实我不懂为什么 Vue 的常说要另外学 JSX 学 Vue 不也是要知道 v-bind v-on 之类的吗 虽说 JSX 与 html 的差异是要来的比 vue 的 template 大 我有个 Vue 派的朋友一直跟我说他无法接受 JSX 虽然他现在被我逼的用JSX 写 Vue 就是了(笑
作者: sora1111 (Chingching)   2018-06-28 08:23:00
推,现在也是非本科想要转走前端,努力自学中....
作者: rarex (╰(〒皿〒)╯)   2018-06-28 11:26:00
vue的进入障碍比较低没错 好的react开发者比较难找
作者: A131381568 (SHADOW)   2018-07-01 20:20:00
感谢分享文
作者: crazwade (crazwade)   2018-07-07 02:21:00
有帮助 谢谢
作者: aad61404 (aad61404)   2018-07-07 14:23:00
很完整 谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com