代码改变世界

2014 Hangjs 见闻流水账第二天

2014-06-30 00:11  youxiachai  阅读(1198)  评论(0编辑  收藏  举报

前言

第一天传送门: 2014 Hangjs 见闻流水账第一天

写作风格跟第一天还是一样的.

Slide

每个slide我都会根据自己的理解重新命名一次,用于表达自己的第一看法,主观意见,不喜可吐槽,但是不要喷,就算要喷请轻碰...

angular 大法好

今天第一场slide是由Sofish带来的关于如何优化你的Angular Web App.

作为一名angular用户,这次slide分享的切换路由状态的监听事件,是个不错的收获,之前的loading状态都是到处定义开始-结束和标识,或者自定义一个服务来进行全局控制.有内置的话就不需要每次碰到都自己写了.

不过,对于angular的代码组织的说明,还是通用方案(例如使用angular-seed),这个通用方案的最大的弊病就在于,随着项目的业务越来越复杂,单文件的代码量会越来越大,后来Q&A也有人提了我同样的问题,不过,Sofish 简单回答带过.

对于没有去hangjs的同学,这个slide关于angular的优化很值得一看...

PS: 这个PPT在现场看的时候,异常辛苦(字完全看不清),吴老师吐槽这个slide的文字背景对比度太没考虑现场的投影设备环境了...

如何成为一名优秀的githuber

这次slide由郭宇,分享的开源项目的管理与维护

作为一名github的活跃用户,这场由github 超活跃的用户带来的演讲,有不少启发的地方.

开源项目的兴奋点

郭宇 star 数最大的项目就是那个命令行的豆瓣电台 现在是978, 其实,我是万万没想到(这个douban.fm,我是从刚开始看到现在,我还贡献了几个PR),原来大家对于能够用命令行播放在线音乐的兴趣是这么大的,不知道是真解决了自己的需求,还只是为了炫酷?

我认识的一部分github朋友,为什么开坑,不填坑.很多原因都是因为,没人关注啊.写了也没什么反响,没有了自我满足那块(不少开坑的作者,就是冲着自我满足),也就没有动力去填坑了.所以,如果是要打算开一个能够自我满足的坑,在开坑的时候,最后,看一下当前的IT热点,例如,ios 的swift.这样的开坑,获得各种眼球的机会大大挣大.可能有人会说,这样是不是不负责任的行为?

我个人看法,作为一个凡人,获得一些小小的自我满足,其实也没什么,如果你能够针对问题提issue,而不是看地图炮就好,其实,不少开坑的作者,还是很喜欢有人针对他的坑,提一些意见.不过,开坑的话,有时候难免会碰到几个莫民奇妙的喷子,对于这些喷子,一开始倒是挺生气的,不过,后边会发现,随着关注度提高到一定程度,喷子必有,也没必要为了纠结这几个喷子,而影响了正常的心情.

开源项目的自我满足

如何开坑(建立开源项目),其实是个很大的问题,我认识的不少拥有github账号的朋友,很多就是一些僵尸,甚至几年来,github活动主页全部是0.个人觉得,这种现象的产生,是因为,他们很多时候都没法从写代码中获得到足够的满足,连自己的都没法满足,又如何能够满足他人呢?又如何能够把开坑当成一种有趣的事情来做呢?个人看法,切勿地图炮....

在自我满足达到一定程度,就会自然而然的负起责任来.

思考如何组织管理大型JS项目

由EF 教育的Mikael Karon带来的Massive Javascript Development

老实说,完全没听懂.后来还是看民工精髓V 的微博,才知道说的是一些很高深的内容

…这老外讲的架构方面的主题,可能因为我平时比较关注这方面,所以毫无压力听懂说的每个东西,然后还在微博上实时翻译记录了。手机打字速度太慢了,下次来听还是得带电脑。老外讲的要点就是,对于大型项目,要模块化,开发阶段小粒度,部署阶段大粒度。真精辟,我也这么想。

这个老外讲的切中大型工程的要点:模块化,开发阶段小粒度,部署阶段大粒度

有兴趣的去看看

并不诱人的轮子 -- TroopJS

还是EF 教育的人,Garry Yao,关于Scalable Web Application with TroopJS

这个slide完全没听进去...

考虑我们是有追求的程序员

下午第一场,是人见人黑的玉伯如何持续技术学习

如果,你还没有自己的一套自我管理观的话,玉伯这个slide应该对你能够有所启发.

我对这个slide归纳就是:控制输入,主动思考,最后自我输出.

让你的服务快快快

台湾的Caesar Chi带来的Node.js 與多方服務串接實務

看这个slide题目,你第一反应可能又是准备水一场了吧.因为,连接多个服务商,无非就是各种认证接入,不过,实际上这个slide并没有把重点放在串接上.

前面,一部分时间讲如何将对接服务进行模块化实践,后边就大谈,如何提高服务端对客户端响应.其中,的一个实践就是

先响应,后处理

客户端发起了一个请求,服务端立马反应给客户端,让客户端知道服务端在处理了,你去干点的吧,结果由服务端主动推送.这样做的好处就是可以让客户端不用等待.

当然,缺点也有,就是增加了对异常的处理复杂性.举个例子,你提交了一个表单,然后,服务器告诉你,正在处理,于是你去做点别的东西,或者离开,很不幸的是,你表单某个字段有问题,这是,服务器推送了一个异常给你,但是,你已经离开原来页面了,于是,你不知道你的填写是有问题的.还有一个问题就是维持长连接的资源消耗.

Node.js是如何进化为NodeOs

由NodeOs 作者Jacob Groundwater,分享的five-lines 深入浅出 node 命令行工具

这个slide应该是开场几个小时前定下来的,之前日程表上面是没有的,NodeOs记得上一年,大家有过一段讨论,后来就沉了,当时,听到介绍的时候,立马去看了一下NodeOs的github,发现了个docker image,看来还是有点进度的.

不过,这次slide挺有意思的,正如标题所说,深入浅出,通过对node基本的一些特性(执行shell命令),最后慢慢的做出复杂的东西.例如打造一个Node.js 风格的操作系统,让全部命令执行输出JSON化.

其实,很多语言都有执行shell命令的api,但是,为什么之前没有人想到要搞个JavaOs,PythonOs...等等(可能也有但是我不知道).这个slide带给我最大的收获,就是要勇于去想象!

就算是这个想象有点不切实际,但是如果是理论上可行的,为啥不尝试在想象的时候去实践一下?

而在Node.js 上实际上还真出现了不少想象力丰富的东西,除了前面提到的NodeOs,还有Node上的jvm虚拟机,让Node.js做类似于arduino 的tessel,有些朋友可能会觉得这些东西的可能是个傻x想法,但是,现实是这些东西不但被人想出来,而且还都做出来了,我觉得,当人不愿意去进行想象的时候,也就停止了进步.忽然,想起了老罗的那句语录.

不被嘲笑的梦想,是不值得去实现的

当一个程序员失去想象力的时候,可能也是步向平庸的开始了.

c# 和Node.js 相亲相爱

这么多slide里头,唯一一个用windows(其他都用Mac)进行分享的,微软美女程序员Iris 带来的Edge.js

实际上就是一个让c#程序里头能够跑Node.js,在Node.js里头能够跑c#,个人不怎么喜欢这玩意,后来也跟老雷讨论了一下这东西,老雷也表示不怎么喜欢.我们俩不怎么喜欢的原因,可能都是因为我们都没接触过c#.

因为,不怎么感兴趣,所以没什么好说的.

手机传感器在移动web的实践

天猫前端鬼道-徐凯带来的Hybrid API这是一个你只看题目,怎么也不会猜到要准备说的什么内容的分享(当时看日程表的时候,Hybrid Api? 这是啥东西啊...).

这个slide分享的是,手机传感器在移动web的使用实践.你可能会惊讶,现在的手机浏览器能够支持传感器了?目前来看,手机浏览器还没支持w3c关于传感器的实现,但是,不妨碍我们的想象力啊,于是,我们可以通过改造手机的web控件,从而让移动web支持手机传感器,然后,利用这个特性,来开发一些特别有趣的东西.

后边,鬼道就分享天猫app是如何利用这个特性,进行真实项目实践.总得来说,这是一个很具有想象力的分享!

用Node.js玩转Storm

Luying Li(没找到相关的个人主页)带来的Storm - Distributed and fault-tolerant realtime computation分享.

其实看日程表的时候,看到Storm混进来,顿时在想,这玩意不是用Java写的吗,跟JS有什么关系?会不会跟Node.js 與多方服務串接實務带来一些意外的惊喜?不过这次,真没什么意外惊喜了.

大部分时间都是介绍Storm是个什么,举的例子也全部都是Java写的.最后,补充了一下,Storm的实现支持任何语言,Node.js当然不在话下,于是最后贴了两个Node.js实现.那么举例子的时候..为啥不用JS写...感觉好没说服力..这个场子毕竟是JS....你确不用js来举例子.

来日方长的前端技术革命

最后一场slide由来自于云适配的陈本峰分享的Web Components标准:前端开发的新一次技术革命

由于,这个话题,我不怎么感兴趣,然后这场slide的ppt还没放上来,所以,我都忘得差不多这场slide究竟说了些什么..只是印象中知道,这个是几年后才有可能实现的标准.

总结

这次两天的Hangjs, 面基了不少一直在网上有交流但是,从来没见过面的朋友,特别是有机会一起同行的老雷,在我看来,参加这类技术大会,还是以认识和交流,各种平时耳闻但不见面的人为主最好,听slide对自己有用的就认真听听,这次hangjs我最大的软肋就是不够主动,没有随便逮住一个人就说,你好,能够简单认识一下吗?这是我的github,来扩大一下自己的人脉起码也可以为自己的github涨涨粉...).

附录

其他人的hangjs 参会记录

梁杰_numbbbbb 技术大会到底该怎么听?

民工精髓V 杭JS参会记录

lisposter Hang-JS-2014

鹄思乱想 2014 杭JS 杂谈

fsiaonma 继《京JS》后,再遇《杭JS》