V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hayeah
V2EX  ›  程序员

[思客教学] JavaScript 黑魔法训练营

  •  
  •   hayeah · 2016-03-22 09:31:31 +08:00 · 6285 次点击
    这是一个创建于 2949 天前的主题,其中的信息可能已经有所发展或是发生改变。

    报名发邮件: [email protected]

    对很多程序员来说, JavaScript 常常是个 “顺带一学” 的语言。前端页面有需求那就学点 jQuery ,闭包原型链什么的也不需要去深入研究,反正能加上效果就完事。

    但到了今天, JavaScript 已经不仅仅是拿来绑定按钮事件而已。它的使用场景越来越广,各大框架覆盖了前端,后端,移动端的开发需求。框架和应用的复杂度已经大幅度超越以往,对 JavaScript 开发者有了更高的技术要求。

    这次的训练营,我们会一起来熟悉和练习 JavaScript 的核心概念,为之后学习 NodeJSReact(或者其他框架)打下基础。

    学习目标

    JavaScript 是个奇葩的语言,虽然它表面看上去像 C ,但骨子里其实继承了两个伟大的编程语言的 DNA

    • Smalltalk 的极(bian)端(tai)动态特性 (late-binding) 通过 JavaScript 的原型链机制显现了出来。
    • Scheme 的闭包完完整整地被 JavaScript 移植了过来,打开了函数式编程的可能性。

    如果能灵活应用闭包原型链双板斧,JavaScript 在你手里会成为一个特别强大的语言。

    实战练习

    在这个训练营,你会自己动手实现两个小项目。

    用闭包来实现 underscore/lodash 的工具函数。

    • 函数为值,用 apply/call 来动态调用函数。
    • 作用域和 this ,捕捉变量。
    • 实现 bind 方法。

    用原型链为 JavaScript 加上传统 OOP 继承。

    • 构建函数。
    • 原型对象。
    • 原型链继承。

    除了语言本身,我们也会学习 JavaScript 工程师常用的工具和开发流程:

    • 模块化 JavaScript 。 CommonJS 和 ES6 的 import/export 语句。
    • npm 包管理系统。
    • ES6 和 Babel 转译。
    • mocha 测试驱动开发。

    教学模式

    我当客户,你当远程工作者来满足项目需求。训练的每一天我都会提交功能需求由你来完成,通过实战来掌握知识和技能。同时我作为你的导师,会在你学习的过程中给予必要的帮助,比如发给你博文和文档学习代码实现的相关知识,解答问题以及提供一对一辅导。

    训练营采用小班教学,你的小伙伴们会在和你一同学习的过程中给你提供帮助,同时来自他们的 Peer Pressure 会督促你保持学习的劲头。我会强迫你写代码,以实战加快对技术的熟练度。

    适合我吗

    • 每天有一个小时的时间学习。
    • 你有基本的 JavaScript 知识或者其他编程经验。
    • 你有英文阅读能力。
    • 你有自学的动力,能自己解决问题。
    • 希望有一起学习的小伙伴。

    和其他 IT 教学有什么不一样

    自学才是最好的学习方式。这个训练营只是提供一个方向,掉坑了帮你更快的爬出来。

    • 实战:依照任务需求自己查质料,读文档,写代码。
    • 深度:深入 JavaScript 语言核心,熟悉常见命令行工具, NPM 依赖, Git ,和敏捷开发流程
    • 自主:不直接给你正确答案,而是适当的提示让你自己解决问题。
    • 氛围:和其他有相同兴趣和理想的小伙伴们交流。
    • 习惯:每天都加强一点点。
    • 耐心:没有人会骂你小白。

    只要你有动力学习,我就愿意花时间教你。

    如果有需要,你也可以约时间跟我做远端结对编程 (使用 Teamviewer 桌面分享)。

    学费多少

    在职 149/人,学生 99/人

    如果你觉得课程不合适,可以在开课 2 天内无条件退款。

    怎么报名?

    发邮件给我:[email protected]

    名额限制 20 名。 报名时请回答以下的问题:

    • 你的本名, GitHub ,博客 是什么?
    • 你是学生还是在职?
    • 你读了那些技术相关的书?
    • 你解决过最难的技术问题是什么?
    • 你为什么想加入训练营?

    2 天内会回复。假如没有收到回复邮件可能是邮箱问题。

    • 03/28 JavaScript 黑魔法第一期开课
    • 04/11 JavaScript 黑魔法第二期

    本期导师

    教头: Howard

    台湾同胞一枚。小时候随家人移民加拿大。

    大学的时候第一次接触 Rails ,那时它刚发布 1.0 版本。大学读一半跑去一家 YCombinator 的公司做 Rails 开发。后来又去了一家叫 Versapay 加拿大做支付的公司,在那里当 tech lead 。后来做了一整子远程工作者,边旅行边赚钱。写了篇有关这个经历的博文 From The Office to Travelling The World,那一年第一次到天朝。

    2012 年觉得生活太安逸,决定来中国发 zuo 展 si ,难度瞬间提升为 Hard 。一开始在深圳,后来去了成都待了一年。目前带着妹子旅居大理,逃离雾霾。

    教头:利嘉豪

    几乎什广东人一枚。

    高中的时候机缘巧合因为参加机器人世界杯 (Robocup) 入了工程学的坑,后来去了伯克利加州大学读 MechE 和 EECS 。大一开始混迹于多个硅谷的创业公司,从实习生混到 Chief Engineer ,大三辍学回国创业。

    在广州创立了东西科技,折腾了一堆各种各样的软件硬件项目。业余时间又不堪寂寞地发起了广州创客马拉松 和 Hack4GZ 。

    直接联系

    报名发邮件: [email protected]

    微信: hayeah666

    电话: 186 8269 6795

    44 条回复    2016-03-23 09:52:46 +08:00
    Aspx
        1
    Aspx  
       2016-03-22 09:51:19 +08:00
    Javascript 还要报班学?
    Egg
        2
    Egg  
       2016-03-22 10:11:28 +08:00
    连这边也开始拉客了吗。。。
    hellboys
        3
    hellboys  
       2016-03-22 10:15:18 +08:00
    不错, 第一期, 一共分几堂课呢?
    bramblex
        4
    bramblex  
       2016-03-22 10:16:25 +08:00
    就这点破东西?
    chimingphang
        5
    chimingphang  
       2016-03-22 10:19:33 +08:00
    我要报名!
    sox
        6
    sox  
       2016-03-22 10:24:47 +08:00
    @Aspx JavaScript 是渣渣, JavaScript 随便学,对吧 233
    marcolee
        7
    marcolee  
       2016-03-22 10:27:01 +08:00
    有无教 php 的?
    bramblex
        8
    bramblex  
       2016-03-22 10:33:06 +08:00
    @sox

    对啊 JavaScrpt 就是渣渣, JavaScript 就是随便学学,不服有本事把 JavaScript 写得比我好呀
    chimingphang
        9
    chimingphang  
       2016-03-22 10:36:37 +08:00
    楼上 6 得不行
    bramblex
        10
    bramblex  
       2016-03-22 10:40:18 +08:00
    @chimingphang

    其实只是吐个槽,本人还是虽然一边喷 js 但还是一边用着 js ……
    sox
        11
    sox  
       2016-03-22 10:59:33 +08:00
    @bramblex 恕我直言,在座的各位,都是辣🐔
    jsonline
        12
    jsonline  
       2016-03-22 11:05:08 +08:00 via Android
    这个收费跟这个教学内容还是很匹配的
    larry618
        13
    larry618  
       2016-03-22 11:05:43 +08:00 via Android
    前排观战
    chimingphang
        14
    chimingphang  
       2016-03-22 11:06:10 +08:00
    个个都好凶
    china521
        15
    china521  
       2016-03-22 11:10:18 +08:00
    对零基础想学编程的孩子来说,直接学 javascript 就是在害他,对于有基础的人来说。这课真没必要上。。。所以。最好送点别的课程, 比如如何撩妹..
    eoo
        16
    eoo  
       2016-03-22 11:18:18 +08:00 via Android
    6666666
    bramblex
        17
    bramblex  
       2016-03-22 11:25:49 +08:00
    @china521

    这点我反对,直接学 javascript 哪里有害人,完全是帮人啊。

    javascript 可以同时教 命令式编程 / 面对对象编程 / 函数式编程 。 JavaScript 作为教学语言有一个巨大的先天优势是有效的正反馈。比起学 c 学个一年还在写黑框框, JavaScript 就算随便做一两个页面特效都比写黑框框成就感来的快啊。那些学 c 学了一年还在写黑框框,心态会爆炸的……
    bramblex
        18
    bramblex  
       2016-03-22 11:26:28 +08:00
    @sox

    嗯,看了一下代码。是挺垃圾的 /w\
    xhowhy
        19
    xhowhy  
       2016-03-22 11:35:09 +08:00
    怎么又是你
    chimingphang
        20
    chimingphang  
       2016-03-22 11:37:16 +08:00
    请问楼主啥感受?
    DingSoung
        21
    DingSoung  
       2016-03-22 11:58:30 +08:00
    哈哈哈 前年跟着一起学过 Sketch
    charlie21
        22
    charlie21  
       2016-03-22 12:14:01 +08:00
    《学习目标》 里那个链接里面的题 很有意思 ....
    http://javascript-puzzlers.herokuapp.com/
    mrwiredancer
        23
    mrwiredancer  
       2016-03-22 12:18:52 +08:00
    @chimingphang 针对语言, 框架....的战争在程序员圈子不是常态了么
    hayeah
        24
    hayeah  
    OP
       2016-03-22 13:03:15 +08:00   ❤️ 1
    @chimingphang 很多人对 JS 的看法都会被自己 “本行” 所影响吧?比如平时写 Ruby , 写 JavaScript 就会觉得 string , array 类型功能太少,然后自己去给这些基本类做 monkey patching 。

    但 JavaScript 自己本身其实很棒,尤其用上了 ES6 和模块后语言本身常被吐槽的糟点也都没了。比如:

    + 用 let/const 不要 用 var
    + 用 === 做比较
    + 用 => 代替 function

    默认这样写 JS 能避免常见误区。个人觉得在真实项目里 JS 奇奇怪怪的行为很少会是问题。

    原生 ES3 写起来很烦人,但今天也只有 “随便学学” 的人才会写 ES3 吧哈哈~

    我自己的项目现在都是 ES6+类型验证 ( TypeScript )写起来感觉非常棒!

    (顺带一说,“随便学学” 也不是要黑人,我以前是写 Ruby 然后随便学学好多年 JS )
    sox
        25
    sox  
       2016-03-22 13:05:21 +08:00 via Android
    @hayeah 我男神说的都对
    blanu
        26
    blanu  
       2016-03-22 13:07:24 +08:00 via iPhone
    看上去要求好像还是有点高的?。。
    chimingphang
        27
    chimingphang  
       2016-03-22 13:13:39 +08:00   ❤️ 1
    @hayeah 我已报名了,看邮箱
    bramblex
        28
    bramblex  
       2016-03-22 13:52:31 +08:00
    @hayeah

    你说的是这种箭头函数?我只能说,真心塞……看看我全部写成箭头函数妥不妥啊?
    http://lovearia.me/article/show/5#%E5%8F%82%E8%80%83%E4%BB%A3%E7%A0%81
    hayeah
        29
    hayeah  
    OP
       2016-03-22 15:08:58 +08:00
    @bramblex

    看到这段我也是醉了,哈哈:

    const Z = (g) => (v) => g (Z (g)) (v);

    好像在看 haskell ,需要自行脑补括弧 orz
    hayeah
        30
    hayeah  
    OP
       2016-03-22 15:10:23 +08:00
    @blanu 会吗。。。这个课程几乎是 0 基础吧?
    cyio
        31
    cyio  
       2016-03-22 15:18:04 +08:00
    已邮件,价格很亲民。
    bramblex
        32
    bramblex  
       2016-03-22 15:58:17 +08:00
    @hayeah

    如果是 Haskell 我就不会写得那么蛋疼了……

    我是先写了 Haskell 版的代码再翻译到 js 的
    menc
        33
    menc  
       2016-03-22 16:28:47 +08:00   ❤️ 1
    @bramblex 给编程零基础的人介绍弱类型语言,就是在害他,不服来辩
    swirling
        34
    swirling  
       2016-03-22 17:28:08 +08:00
    @bramblex 哈哈哈哈哈哈哈,竟然是 pureScript 党,好强。 本来还想安利 Ramada 的。
    blanu
        35
    blanu  
       2016-03-22 17:39:31 +08:00
    @hayeah github 主页什么的有是有,什么东西都没放啊。解决过最难的技术问题。。。 linux 算么- -。
    bramblex
        36
    bramblex  
       2016-03-22 17:58:36 +08:00
    @menc

    不值得一辩。我都跟新手教上 Haskell 了,你爱玩啥玩啥去
    bramblex
        37
    bramblex  
       2016-03-22 17:59:20 +08:00
    @swirling

    写了 PureScript 就再也写不下去 JavaScript 了……
    mrwiredancer
        38
    mrwiredancer  
       2016-03-22 19:47:51 +08:00
    @blanu 就按你自己想法写就好, 主要是让我们更好地了解报名的同学而已
    aivier
        39
    aivier  
       2016-03-22 20:22:16 +08:00
    @bramblex 你的 const 用的简直不可思议,人肉混淆机?
    bramblex
        40
    bramblex  
       2016-03-22 21:38:23 +08:00
    @aivier
    只是单纯用纯函数式的写法来写 js 而已。不过还是挺忧伤的……
    WenhaoWu
        41
    WenhaoWu  
       2016-03-23 02:14:36 +08:00
    支持 paypal 付款不
    chimingphang
        42
    chimingphang  
       2016-03-23 09:39:10 +08:00
    @hayeah 教主啥时候确认名单
    mrwiredancer
        43
    mrwiredancer  
       2016-03-23 09:52:04 +08:00
    @WenhaoWu 支持
    mrwiredancer
        44
    mrwiredancer  
       2016-03-23 09:52:46 +08:00
    @chimingphang 昨天发信的今天会收到回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5308 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:06 · PVG 17:06 · LAX 02:06 · JFK 05:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.