[思客教学] Javascript 黑魔法训练营 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hayeah
V2EX    程序员

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

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

    报名发邮件: [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  
       
    不错, 第一期, 一共分几堂课呢?
    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 我男神说的都对
    banu
        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     Solana     3082 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 12:51 PVG 20:51 LAX 05:51 JFK 08:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86