V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hayeah
V2EX  ›  程序员

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

  •  
  •   hayeah · Mar 22, 2016 · 7247 views
    This topic created in 3689 days ago, the information mentioned may be changed or developed.

    报名发邮件: [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 replies    2016-03-23 09:52:46 +08:00
    Aspx
        1
    Aspx  
       Mar 22, 2016
    Javascript 还要报班学?
    Egg
        2
    Egg  
       Mar 22, 2016
    连这边也开始拉客了吗。。。
    hellboys
        3
    hellboys  
       Mar 22, 2016
    不错, 第一期, 一共分几堂课呢?
    bramblex
        4
    bramblex  
       Mar 22, 2016
    就这点破东西?
    chimingphang
        5
    chimingphang  
       Mar 22, 2016
    我要报名!
    sox
        6
    sox  
       Mar 22, 2016
    @Aspx JavaScript 是渣渣, JavaScript 随便学,对吧 233
    marcolee
        7
    marcolee  
       Mar 22, 2016
    有无教 php 的?
    bramblex
        8
    bramblex  
       Mar 22, 2016
    @sox

    对啊 JavaScrpt 就是渣渣, JavaScript 就是随便学学,不服有本事把 JavaScript 写得比我好呀
    chimingphang
        9
    chimingphang  
       Mar 22, 2016
    楼上 6 得不行
    bramblex
        10
    bramblex  
       Mar 22, 2016
    @chimingphang

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

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

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

    嗯,看了一下代码。是挺垃圾的 /w\
    xhowhy
        19
    xhowhy  
       Mar 22, 2016
    怎么又是你
    chimingphang
        20
    chimingphang  
       Mar 22, 2016
    请问楼主啥感受?
    DingSoung
        21
    DingSoung  
       Mar 22, 2016
    哈哈哈 前年跟着一起学过 Sketch
    charlie21
        22
    charlie21  
       Mar 22, 2016
    《学习目标》 里那个链接里面的题 很有意思 ....
    http://javascript-puzzlers.herokuapp.com/
    mrwiredancer
        23
    mrwiredancer  
       Mar 22, 2016
    @chimingphang 针对语言, 框架....的战争在程序员圈子不是常态了么
    hayeah
        24
    hayeah  
    OP
       Mar 22, 2016   ❤️ 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  
       Mar 22, 2016 via Android
    @hayeah 我男神说的都对
    blanu
        26
    blanu  
       Mar 22, 2016 via iPhone
    看上去要求好像还是有点高的?。。
    chimingphang
        27
    chimingphang  
       Mar 22, 2016   ❤️ 1
    @hayeah 我已报名了,看邮箱
    bramblex
        28
    bramblex  
       Mar 22, 2016
    @hayeah

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

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

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

    好像在看 haskell ,需要自行脑补括弧 orz
    hayeah
        30
    hayeah  
    OP
       Mar 22, 2016
    @blanu 会吗。。。这个课程几乎是 0 基础吧?
    cyio
        31
    cyio  
       Mar 22, 2016
    已邮件,价格很亲民。
    bramblex
        32
    bramblex  
       Mar 22, 2016
    @hayeah

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

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

    不值得一辩。我都跟新手教上 Haskell 了,你爱玩啥玩啥去
    bramblex
        37
    bramblex  
       Mar 22, 2016
    @swirling

    写了 PureScript 就再也写不下去 JavaScript 了……
    mrwiredancer
        38
    mrwiredancer  
       Mar 22, 2016
    @blanu 就按你自己想法写就好, 主要是让我们更好地了解报名的同学而已
    aivier
        39
    aivier  
       Mar 22, 2016
    @bramblex 你的 const 用的简直不可思议,人肉混淆机?
    bramblex
        40
    bramblex  
       Mar 22, 2016
    @aivier
    只是单纯用纯函数式的写法来写 js 而已。不过还是挺忧伤的……
    WenhaoWu
        41
    WenhaoWu  
       Mar 23, 2016
    支持 paypal 付款不
    chimingphang
        42
    chimingphang  
       Mar 23, 2016
    @hayeah 教主啥时候确认名单
    mrwiredancer
        43
    mrwiredancer  
       Mar 23, 2016
    @WenhaoWu 支持
    mrwiredancer
        44
    mrwiredancer  
       Mar 23, 2016
    @chimingphang 昨天发信的今天会收到回复
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3137 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 146ms · UTC 14:36 · PVG 22:36 · LAX 07:36 · JFK 10:36
    ♥ Do have faith in what you're doing.