[COVID-19 a.k.a. 武汉病毒]
资讯业纷纷都开始 WFH,期初很不习惯到后来完全已经变成日常,原本有机会到非洲欧洲泰国出差的机会因为疫情全部取消了。陆续收到各种活动取消或改办成线上的活动,有的干脆直接免费开放,另有收费的都注明会把参加者的费用全数或者更多直接捐给 COVID-19 相关组织。
WFH 第一个月我感受到自己的堕落,时间变多好像不代表产能变多,反而是睡觉时间变多。第二个月的时候觉得不能再这样下去,陆续看到了有兴趣的线上活动,免费的就参加,要付费的就用公司个人发展经费参加。整理一下,分享参加 GitHub Satellite 2020 / JavaScript Remote Conf 2020 的心得,纯属个人立场,供大家参考
[GitHub Satellite 2020]
Microsoft + GitHub + npm 给整个 Open Source 社群来个重重的一击,Microsoft 多年前决心要进入 Open Source 果然是要玩真的,投资不手软。GitHub CEO 在开场的时候穿着 npm logo 的衣服,而不是自家的 logo,我认为这是整个活动最精华的部分,其余的可以加减看,毕竟很多段我觉得有点重叠,有些部分比较适合新手、非工程师或产品经理。
现场人数从 8k 慢慢降落到后来的 4k 3k, 深夜下半场我也离开去睡觉了。今年宣布的内容主要着重在社群 (Communities)、程式编辑 (Code)、企业版本 (Enterprise) 和安全性 (Security),想要了解细节的话可以去看 Discussions 顺便尝鲜这未来的新功能。也有一些像是标题杀的主题 ,换句话说就是,用我们的 Online Editor Tool 啦。整场没有一字提到 Atom,心里 OS:啊不过 VSCode 是从 Atom 衍生出来的,你们自己决定要用哪个啦,开源专案物竞天择很正常。
其中还有提到 GitHub Mobile App,个人期待了很久,但后来也习惯了 Mobile Web 的 UI,长期在 GitHub 网页看 Code 后,突然要转换成 App,说实在目前还不是很习惯这个流程。另外其中一段有提到 VSCode 的 Extension - GitHub Pull Request and Issues 实在不习惯,使用后因为不放心还是要到网页上确认自己到底有没有执行成功。不然就是我这位老用户不想接受改变,或者老人不想尝试新技术。
至于安全性,有一位意大利的博后提到,产品随着时间的更新就会有 Dependencies 安全性上的问题,决定是否更新还是维持现状真的是一个大学问。 CodeQL Analysis、Code Scanning 等等的功能算是其中的卖点,当然 GitHub 也不可能自己搞完整一套,还是要靠社群 (partner) 来一起完整 Open Source 的安全。这里我印象最深刻的是 GitHub 人提到 "GitHub can help" "GitHub code scanning can help" 。
GitHub 已经不像多年前只是用来上传程式的 git 空间,现在已经是个巨人,上传程式协作后续社群的功能,现在通通都能在平台上完成。大家开发 Open Source 还是选择 GitHub 为首选平台吗?重播部分可以到 Youtube 看,不过我还是希望未来自己时间允许的情况下参加 live,参与感以及成就感上有大大的不同。
整场重点回顾可以到这里看 https://github.blog/2020-05-06-new-from-satellite-2020-github-codespaces-github-discussions-securing-code-in-private-repositories-and-more/,让人期待接下来 2021 GitHub 能继续搬出什么好东西!
[JS Remote Conf 2020]
我是在活动开始前两个星期才认识此活动,还在深思这环绕 JS 各式主题的活动,没想太多就先刷下去这连续三天的夜间场 75 美金。也因为这个活动才第一次使用线上直播平台 Crowdcast,大约 170 人参加。Crowdcast 其中一优点在于观看重播时有记录 Q&A 的时间点,缺点的话我认为稳定度和使用者体验。
果然逃离不开墨菲定律,第一位讲者无法分享自己的简报,这里大概碰壁了五分钟直到主持人分享画面。讲者是退役空军飞行员的励志开场,大家都在怀疑自己来错场的时候主持人说明是要给大家一些有别于程式码上的启发,但我是没抓到其中的精华啦。
由于主题太随机了,所以我就把有印象的都记录下来。来宾多数是经验丰富的讲者甚至讲师,认真觉得口条都不错不太会冷场。
其中有一场是关于 ECMAScript 和 TC39,这些大家都不太陌生,顺路提到 ECMAScript 2020 新的及草稿中的标准,如 Decimal, Cancellation API, Slice Notation, Pattern Matching 等等,我个人是比较期待 Slice Notation,常常使用 slice / splice 都搞不清楚它那到底是 index 还是 count 的救星。当中还有人顺便嘴一下 ?.,Ruby 用 &. 为何不统一一下;ECMAScript 越来越像 TypeScript 了,或换个角度想 TypeScript 只不过是先研究了还在草稿中的标准;CoffeeScript:我呢?
再来是静态网站结合线上现有的服务,讲者来了个示范,丢了一个网页让我们输入资料(使用Netlify),再来示范用 Trello 来搜集每个 Talk 大家给与的回馈。线上有各种服务,不需急着硬干开发自己的系统,等公司到了一定的水平再考虑投资开发团队也不迟。我还记得多年前参加 Hackathon 使用 Firebase,把前端 prototype 搞好接上 Firebase 的 API 就可以直接 Demo 了,省下了开发后端的时间。
其中有一个环节是讲者分享把开源当作学习工具的心路历程,讲者的心态非常值得大家学习。讲者本身没有什么大名的背景,透过好奇心以及学习能力在不同的开源社群中找到自己的出路。如果你想要贡献开源专案,首先必须要亲自跳下去成为使用者、再来对专案中的 API 有好奇心,打开开发者工具使用节点一步一步深入程式码学习。比如说你使用 React Hooks,如果对实作好奇的话就从这里开始深入了解,没有好奇心的话当个使用者即可。再来不要怕提问,开源专案就是一个开放的 Q&A 学习空间。
接下来是 TS 传教士,刚开始的时候期待他分享从讨厌到喜欢的心路历程,结果只是接着介绍 TS 的功能,有点失望啊;Tensorflow.js 传教士,比较适合像是我这种没有 AI/ML 相关知识的人了解一下 JS 的潜能;当中也有关于 Web Assembly 的介绍,Web Assembly 在去年年底已经正式写入 W3C 建议的标准,讲者示范了如何用 Go 语言简单写 function,透过一些看不懂很悬的 API 来实作呼叫,再次强调这不是要用来取代 JS
的,请放心;关于开发者工具也有一些有趣的介绍,大家是否知道开发者工具也有夜间模式、开发者工具是由哪个语言开发、开发者工具中的开发者工具中的开发者工具功能、cmd+shift+p 来搜寻开发者工具的功能等等,说到这里开发者工具还有待自行好好学习及运用;E2E 测试的部分有提到 Selenium / Cypress / Puppeteer / Playwright 的不同之处,但听起来 WebDriver 标准要完善应用还有一大段路要走。
压轴请到了 Douglas Crockford (JavaScript: The Good Parts 的作者) 做了个长达一小时的 Q&A,有点悲剧的是他的 audio 不清晰 video 又模糊,这真的很难让人专心听讲所以整理不出什么心得,这反而凸显了主持人那清楚的声音及那高级的设备。
因为是夜晚场,每天的 Networking 因为这美国时间又饿又想睡觉所以都没参加,整天下来结束后直接累倒,躺下来没多久就睡死到隔天,结果隔天比平时还要早起床!?看着自己的工作待办事项跟着堆叠起来,没时间干嘛逼自己参加 Conference 根本就是找死。接下来主办方还会举办 React (Native) Remote Conf / Angular Remote Conf / iOS Dev Remote Conf 等等,看起来活动内容风格会是一致的,有兴趣的人我这里有参与者共用的折价码。
以上整理心得分享,接下来没意外的话还会参加 Node Online Summit / ESNext Conf 2020!