陌上寒

陌上寒个人博客

(转载)【解读】我如何零基础转行成为一个自信的前端

阿里巴巴/蚂蚁金服——黄磊
https://lambda.academy/how-i-became-a-confident-frontend-developer/

Frontend Master 前端大师、视频平台(订阅制40美元一个月,黑五和开学季有折扣)
每年一个免费的学习前端手册:https://frontendmasters.com/books/front-end-handbook/2018/2018.html

  1. Douglas Crockford,JS 教父级人物,《JavaScript 语言精髓》作者。
    The Good Parts of JavaScript and the Web 课程,重点在函数上,后半部分讲了浏览器和服务器的工作原理。

  2. Kyle Simpson.《你不知道的 JS 》系列书作者
    (1) Deep JavaScript Foundations 深入了JS的大部分重要细节基础
    (2) Rethinking Asynchronous JavaScript 异步编程js
    (3) Functional-Light JavaScript, v2 轻量级函数式编程
    (4) ES6: The Right Parts ES6的重要部分
    (5) Organizing JavaScript Functionality 组织js功能模块
    (6) Coercion in JavaScript js强制类型转换
    六门课程

  3. Sean Larkin, 老师是微软团队的技术项目经理
    (1) Webpack 4 Fundamentals
    (2) Web Performance with Webpack
    (3) Webpack Plugins System
    Webpack 的课程从基础到进阶,基本原理、操作技巧、插件生态

  4. Brian Lonsdorf,学函数式编程
    Hardcore Functional Programming in JavaScript,课程从基本的函数组合到硬核函数时编程(Functors,Applicatives 和 Monads的应用)

  5. Jafar Husain ,Netflix UI 工程团队 leader,响应式编程专家,TC39 成员。
    (1) Asynchronous Programming in JavaScript (with Rx.js Observables)
    从零开始写常用的 Rxjs 操作符,逐渐进阶到 DOM 事件流处理,网络请求的处理等

    (2) Advanced Asynchronous JavaScript
    进阶课,从零开始写个 Observable,然后用 Observable 来解决一些棘手的动画问题。最后会用课程知识写个应用。

  6. 尤雨溪
    Advanced Vue.js Features from the Ground Up
    从零开始实现 Vue 的核心构成,如响应式系统,插件,渲染函数,路由,状态管理等


Egghead网站/视频简短,适合有一定基础,碎片学习,主流技术,热门的库
​ 1)Dan Abramov 会在这里讲 Redux
​ 2)Michel Weststrate 会在这里讲 Mobx 和 Mobx State Tree
​ 3)视频课程:Automate Daily Development Tasks with Bash,掌握一些自动化工作流,提升开发效率
​ 这门课讲了开发中常用的 Bash 操作技巧,不管是前端和后端,都适用。
​ 4)视频课程:Quickly Transform Data with Transducers,
​ 消灭 for 循环的那篇文章,里面用的 Transduce 写法,就是在这门课里学到的。

  1. André Staltz,讲解Rxjs课程,从 RxJS 的入门一直讲到高阶操作 (Jafar Husain)
    (1) RxJS Beyond the Basics: Creating Observables from scratch
    (2) RxJS Subjects and Multicasting Operators
    (3) Save time avoiding common mistakes using RxJS
    (4)Use Higher Order Observables in RxJS Effectively

Udemy 在线教育淘宝(200美元的课经常特价9.9),黑五圣诞和开学折扣季

  1. Stephen Grider ,Stephen 的算法课让我通过 JS 掌握了基础的计算机算法。
    Stephen 擅长用很直观的图表来拆解工程概念,再难的东西他也能拆到用日常语言解释。

  2. Andrew Mead ,Node课程收获很大 (和Stephen重复率高)
    对学员的问题回应非常及时和详细

    Angela Yu(学习ios 幽默风趣)


10.Wes Bos 相当于北美阮一峰 ,课程覆盖前端很广领域
​ 如果你入门没多久,可以学他的免费课程 JavaScript 30. 用一个月时间,每天用原生 JS 写个网页应用。
​ Mozilla 还赞助他开了 CSS Grid 的课程,吸引开发者用 FireFox。
​ 他还有付费的 Node 和 React 课程。最近他准备出一个高阶 React 和 GraphQL 课程,
​ 播客节目叫 Syntax,主题是前端开发,我每期都会听。


YouTube 每个知识和娱乐的领域
————————————————
1)Fun Fun Function 论坛 ,主播 MPJ 是瑞典人,这个频道覆盖了很杂的 JS 和前端开发知识。我在这个频道学到的都是在其它地方学过的,比 如函数式编程,设计模式等,但是在这里学更像一种放松和实时看高手是怎样写代码和解决问题的。

2)Traversy Media ,主播 内容大多是初级和中级,非常适合新人学习。用原生 JS 写个动效,用 CSS 写完成度 100% 的企业展示页面等。

3)Coding Tech ,这个频道会持续更新计算机行业最新的优质演讲。前端和其它领域都有。

GitHub
——————
Jason Miller , You Don’t Need jQuery, You Don’t Need Lodash, 30 Seconds of Code 等 Repo,对提升原生 JS 解决问题的能力有非常大 的帮助。碎片时间可以在手机上学习。

JavaScript Weekly
——————————
JavaScript Weekly(免费 Newsletter) 是前端开发者必须订阅的
你应该关注同行最近又开发出了什么酷的东西,你关注的技术又出了哪些新教程。


影响我技术的人

  1. Kyle Simpson ,Twitter: @getify
    JS 是他领入门的,也是他带着走向进阶的,作为一个教育者,他会给学习者很多各方面的建议。我会关注他所有的演讲和开源项目。

  2. Eric Elliott ,Twitter: _ericelliott
    函数式编程是始于他,一开始学编程的时候刚好碰到 Eric 开始在 Medium 上连载函数式编程教程。

    我推荐所有 JS 开发者都了解下这一系列文章 Composing Software 你可以听一个从 BASIC 时代就开始写程序的前辈,是怎样看待不同编程范式的;了解为什么组合比继承更优,为什么 JS 适合用来函数式编程。

  3. André Staltz ,Twitter: @andrestaltz
    社区里面的响应式编程专家,如果你想学响应式编程的话,一定要看他写的这篇文章,The introduction to Reactive Programming you’ve been missing.

  4. Sarah Drasner ,Twitter: @sarah_edo
    SVG 动画专家,CSS 专家,微软资深开发。还是 Vue 核心团队成员。她在 Frontend Masters 上有 Vue.js,高阶 SVG 动画,UI 设计等课程。她 在 Twitter 上也会发很多开发 Tips。

  5. Wes Bos .Twitter: @wesbos
    他除了在播客上给开发者提供很多建议外,还在 Twitter 上分享很多开发技巧,JS, CSS, Bash, VSCode 等技巧都有。

  6. Mathias Bynens ,Twitter: @mathias
    谷歌 V8 引擎工程师,TC39 成员。他会从引擎实现的角度,告诉开发者怎么写代码。
    你应该把注意力放在编写易理解和易维护的代码上。

  7. Brian Lonsdorf ** 网名 **Dr. Boolean , Twitter: @drboolean
    最擅长的函数式编程的时候,总能把满脑子天马行空的想法讲地很清楚。如果想学硬核函数式编程的话,推荐从关注他开始。
    他 Twitter 更新不频繁,但是更新的时候一般都是值得你记笔记的时候。

  8. Jason Miller ,Twitter:@_developit
    他是 Google Chrome 团队工程师,还是 Preact 的作者。

  9. BartoszMilewski ,Twitter: @BartoszMilewski
    他有量子物理博士学位,后来去做软件开发了,成了 C++ 专家,出过 C++ 的专著。后来因受不了 C++ 糟糕的设计,去写 Haskell 了,也成了专 家。最近又把兴趣转向范畴论了,开始给程序员教范畴论。业余还研究音乐理论(我看他 YouTube 点赞列表知道的……)。我最近几个月每周都 安排几个早晨,去他的 YouTube 频道听他讲范畴论(这个不需要高数基础)。等下我会继续谈他的范畴论教程。


函数式编程学习路线图
轻量级的函数式编程,比如高阶函数,函数组合,闭包,柯里化,偏函数应用,递归,memoization,惰性求值等等,是必须要掌握的。
lambda 演算和邱齐编码(Church Encoding)

系统教程
——————
1.Functional-Light JavaScript ,Kyle Simpson 的作品
这本书和 Eric Elliott 的 Composing Software 是入门 JS 函数式编程的最佳教程。这两个教程所教的知识,能让你轻松应付工作中对于函数式 编程的实际需求。

2.Professor Frisby’s Mostly Adequate Guide to Functional Programming 作者是 Brian Lonsdorf。
他写代码时是 Dr. Boolean, 写书时是 Professor Frisby… 学完这本书,你可以掌握函数式编程应用 90% 以上知识。

3.Professor Frisby Introduces Composable Functional JavaScript 作者还是 Brian。
Egghead 上的课程。虽然课程内容和上面那本书重复了,但还是值得看一下。Brian 用动画方式讲课,有些呆萌。

4.Learn You A Haskell for Great Good 学 Haskell 最佳资源之一。
这个教程不同于其它教程之处在于它语言幽默风趣,会让你读着读着笑出来。教程默认读者没有函数式编程训练,所以对新人来说学习难度曲线平 缓些。

5.Category Theory for Programmers ,Bartosz Milewski 的范畴论教程。
这一系列教程是面向程序员的,所以不用太担心一开始就听不懂,难以入门。不过,后期要学懂还是要花点精力多去找些材料读的,毕竟范畴论是 种高度抽象的知识。教程涉及到代码的部分会用 C++ 和 Haskell,读者最好懂点 C++。

其他值得学习的
————————
1.How to Deal with Dirty Side Effects in Your Pure Functional JavaScript 这篇文章是最近 JavaScript Weekly

2.A Million Ways To Fold ,Brian Lonsdorf 的演讲。
在这个演讲里,Brian 介绍了范畴论里面的 F-algebra 和 catamorphism。没见过这些术语没关系,只用知道,理解了这个演讲,你就能明白,能 用 for 循环表达的计算,全部能用 reduce 函数表达。还会有人说,reduce 底层也是用 for 循环实现的!这就好像我告诉你盖房子要用砖头而 不要直接用沙子,你告诉我砖头是用沙子制成的。

3.State Monad in JavaScript 在用纯函数写应用时,处理状态是件很麻烦的事。
tate 是函数式编程中专用来解决状态管理的一个代数数据类型(Algebraic Data Type)。

4.Safer JavaScript with the Maybe Type 函数式编程不会用 if else 来做空值处理,取而代之的是 Maybe 数据类型。Maybe 让你在组合函数 时不用担心空值处理。

5.The Quantum Electrodynamics of Functional JavaScript 读懂这篇文章,你就明白了 Combinatory Logic (组合子逻辑) 和 Church Encoding (邱齐编码)。这篇文章只介绍了原理,

6.Reginald Braithwaite 的博客
上一篇文章也源自这个博客。本打算把我看过的全部列出来的,但实在有些繁琐了。大家可以自行翻阅。


犯过的错误
1.尝试着一次学太多东西
2.浪费时间学当前阶段不适合学的东西
3.不顾人才市场的需求,盲目学暂时用不到的技术栈


接着学什么
1.Haskell 和范畴论
2.数据可视化。我一直断断续续在 Frontend Masters 上学 D3 课程,但是还没练过手。
3.CS 基础。CS 基础我还是得学的,包括网络,算法,数据库,底层语言等。正如我发现的,不懂基础是会限制开发的想象力的。在合适的时机我 会回去 OSSU 继续学,争取能学完课程。


后记
1.首先不要觉得前端比后端简单
2.要有持续学习的准备
3.最后,广告一下我的个人网站 https://leihuang.me 发


20190119计划

1.订阅 JavaScript Weekly(免费 Newsletter)
2.推荐所有 JS 开发者都了解下这一系列文章 Composing Software (组合软件)( https://leanpub.com/composingsoftware )
3.The introduction to Reactive Programming you’ve been missing,André Staltz响应式编程专家
4.Wes Bos,Twitter 上分享很多开发技巧,JS, CSS, Bash, VSCode 等技巧都有。
5.Brian Lonsdorf,网名 Dr. Boolean,,,他Twitter 更新不频繁,最擅长的函数式编程的时候,总能把满脑子天马行空的想法讲地很清楚。
6.Bartosz Milewski 大师 , YouTube 频道

7.Functional-Light JavaScript ,Kyle Simpson 的作品,刚刚有提到。这本书和 Eric Elliott 的 Composing Software 是入门 JS 函数式编程的最佳教程。

8.Professor Frisby’s Mostly Adequate Guide to Functional Programming 作者是 Brian Lonsdorf。他写代码时是 Dr. Boolean, 写书时是 Professor Frisby… 学完这本书,你可以掌握函数式编程应用 90% 以上知识。

9.Professor Frisby Introduces Composable Functional JavaScript 作者还是 Brian。Egghead 上的课程。虽然课程内容和上面那本书重复了,但还是值得看一下。Brian 用动画方式讲课,有些呆萌。

10.How to Deal with Dirty Side Effects in Your Pure Functional JavaScript 这篇文章是最近 JavaScript Weekly 推的。

11.A Million Ways To Fold Brian Lonsdorf 的演讲。在我发表《如何在 JS 代码中消灭 for 循环》的时候,

12.Reginald Braithwaite 的博客 ,http://raganwald.com/

13.30秒代码

精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。

https://github.com/30-seconds/30-seconds-of-code

https://30secondsofcode.org/

  1. 老男孩说道:

    厉害666 :razz:

  2. 竹鼠煮熟术说道:

    :biggrin: :biggrin: :biggrin: 很棒棒

  3. 竹鼠煮熟术说道:

    666很棒棒

  4. 风暴港说道:

    英文不好都做不了前端哦!

    1. 陌上寒说道:

      如今干点什么都要懂点英文

发表评论

电子邮件地址不会被公开。 必填项已用*标注