Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一:面向对象的 JavaScript #128

Open
8 tasks
EthanLin-TWer opened this issue Feb 28, 2017 · 3 comments
Open
8 tasks

一:面向对象的 JavaScript #128

EthanLin-TWer opened this issue Feb 28, 2017 · 3 comments
Assignees

Comments

@EthanLin-TWer
Copy link
Owner

EthanLin-TWer commented Feb 28, 2017

Object Oriented JavaScript OOJ

TODOLIST


总路线图

object-oriented-javascript

最核心理念和知识

标准、规范

  • ES2015。ES6(ES2015)是现代特性最多也最有名的版本
  • ES2017。ES2016不是重要的发布,没什么新特性,不看。ES2017 包含了 async 等有价值的特性,值得一看
  • Chrome V8: An Open Source, High-Performance Implementation of ECMAScript Engine

最佳实践

最佳的信息源

每种信息源不超过两个。

JavaScript ES6 and beyond
最好的书
      最好的博客/网站
          最好的公众号
              知乎、Github 大 V
                最好的 Kata
                  大杂烩:材料来源

                      最佳的工具集

                      • IDE
                      • Editor
                      • Plugins for IDE
                      • Plugins for Editor

                      学习阶段图

                      image

                      成长型思维

                      image

                      @JimmyLv
                      Copy link

                      JimmyLv commented Mar 1, 2017

                      Q&A

                      Jimmy: 卧槽,已经买了?
                      Linesh: 毕竟昨天就是最后一天了…hope group 一起学习能有氛围一些,可以获得一些 code review,push 自己!
                      Jimmy: hhhh, actually you can edit my comments, rather than delete so directly. (from DA)
                      Jimmy: 知乎、Github 大 V 得有我才行啊,😂
                      Linesh: 大 V 已上榜😂😂有没有发现 Github 的配色变鲜艳了,绿色,蓝色,提交格子,仓库名等
                      Jimmy: 哈哈哈,多谢!是啊,这个亮色很是讨好啊,其实不错的!

                      @EthanLin-TWer
                      Copy link
                      Owner Author

                      EthanLin-TWer commented Mar 3, 2017

                      无意间看到一篇教学方面的好博文,讲了如何组织一个课程的三个层面,每个层面的难点,及如何通过一个模型来辅助解决这个(些)难点。文章链接在此:A few useful analogies

                      image

                      Levels Challenges Solution Model
                      Program Motivation & Validation Well model
                      Module Breadth & Depth Soil model
                      Lesson Content & Context Sandwich model

                      课程(Program)设计:动机 与 验收 Motivation & Validation

                      对于一个课程,我们(学生)很容易从大的角度询问两个问题:为什么怎么做。一门课程需要倾注教师的心血和学生的精力,因此,弄明白课程目标,能回答“为什么要花费大量精力学习这个课程,其价值何在”这个问题;弄明白教学手段,能回答“是否能更高效地学习”这个问题。

                      作者讲,对于这两类问题,他同时会向历史寻求回答。他会尝试回溯行业历史,尝试了解其他领域是如何解决这些问题的。(他的)结论是,抽象。抽象帮助人在还未深入细节的时候,通过概念或模型理解其宏观视图。用 井模型 well model 来比喻 就很形象。

                      抽象有两种实践方式:

                      • 自顶向下 Top down。这种方式对于形成高层和整体视图有好处,利于后面将不同知识收纳进对应抽象层级
                      • 自底向上 Bottom up。这种方式展示了底层技术如何被用以建构高层技术。这不仅有助于了解底层原理、理解为何某个抽象层在整个体系结构中是必须的,还利于学习过程构建更有效的组块 chunks

                      不过,抽象只解决了学习全图和道路这两个最顶层的问题,对于每个模块、每个课时如何学习的回答还没有可落地的助益。这也引出了下面我们要谈的更深入的两个内容。

                      模块(Module)教授:深度 与 广度 Breadth & Depth

                      矛盾在于,时间是有限的,因此在一门课程中广度与深度必不能兼得。特别是在类似全栈工程师等课程中
                      ,领域的复杂性决定了其广度无法删减,因此必然稍微要牺牲深度。更深的深度、更牢固的 chunks 建立,必然依赖于学生课后的自我学习,但对于一门课程而言,如何保证到广度深度的尽量最优兼顾呢?

                      作者提出了一个 soil 模型来解决这个问题: 即对于每个 topic 的知识,尽量在一个模块/课时的教授中把它们放在一个同样的抽象层级中。此外,还有两个自然却极难的要求,做到的话能使学生根据自身余力选择是否理解到更深的抽象层级,同时不理解上一层知识的自洽理解:

                      • 不同 topic、同一抽象层级的知识之间,最好要有自洽的联系
                      • 每个抽象层级的知识,必须能独立、自洽地——也即不依赖下一层级细节或实现地——被解释理解

                      课时(Lesson)实操:内容 与 外延 Content & Context

                      • 讲一个问题之前,讲清楚一个前件:上下文(痛点)。为什么需要这个东西,当前其他技术为什么不能解决这个问题,它属于哪个抽象层级的东西(hopefully 属于上节讲到的那个模块所属的层级)
                      • 讲完一个问题后,讲清楚一个后件:例子。一个同样具备这个上下文(痛点)的例子,它如何使用了这个技术解决了这个问题

                      @EthanLin-TWer
                      Copy link
                      Owner Author

                      EthanLin-TWer commented Mar 5, 2017

                      课程反馈

                      Well

                      • 测验,并且测验有时还要混合以前的知识点进行测验(比如this关键字一节时又考察了一次 scope 节的知识)
                      • 短视频

                      Confusing/Improvement

                      • 使用比喻或类比来阐述技术,加深记忆
                      • 一些技术的来龙去脉、使用场景似还没有讲的很突出。参考上面的 SandWich 模型:上下文层、实例层

                      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
                      Projects
                      None yet
                      Development

                      No branches or pull requests

                      2 participants