JSConf.Asia 2014 Singapore
JSConf.Asia在亚洲发起已经是第二次了.这次(第三次)再回到第一次办的国家Singapore.本来上一次在Philippines盛办的时候想参加的只是那时碰巧资金问题而那是Philippines又发生台风问题.便没参加了.
一直来到今年积累了一些资金也在新公司工作了快两年了.可以讲在JavaScript这个领域有更了解了.本来是想过去Taiwan去参加JSDC 2014的可是突然发生了今年JSDC的门票突然提高了很多.唯有伤心的遗憾.希望明年可以过去参加.还有台灣駭客年會HITCON .(可是明年已经订了机票去台湾而且还是两次…哈哈哈如果再过去真的是破记录了一年去同一个国家3次)
这次参加JSConf也很匆忙因为晚上送了Sho回国明天早上9点便要赶去搭bus了.东西都来不急收辛好宝贝帮我收好好了.
而且因为车的剎車出了问题早上也花了点时间去弄.一开始还以为是剎車油没完了.可是加满了还是有问题.唯有在晚上拿V仔进去厂维修.(阿彌陀佛.我在去机场接Sho时也发现了剎車出了问题可是还能剎車只是要踏到很深可以讲是要踏到完.那时是以为剎車油问题.因为在发生问题后我也有嘗試的剎車证明没什么便想回来再弄.过后听维修人员讲还蛮危险的.)
早上加上星期四的Bus只有4个搭客.在我旁边的是一个uncle一开始他都是在睡觉.可是到半路突然和谈谈起来.他讲他是投资者刚住美国.然后和他谈了一些工作上的经验他也拿了我的email讲有东西要和找我谈只是到回到的今天还没收到他的来信.
非常幸运的是”河马”住在Singapore每次过去都是他support.非常感谢他的VIP款待.还有他老公.只是这次碰巧他们搬家了要去到Amara Sanctuary, Sentosa可以说是非常的远.一个东一个西.第一天我早上6点起还不能on time的抵达幸好有一个小时是早上咖啡时间.更大程度上也是这里的公共交通非常高效率很完善.不然我想在我国家肯定迟到.
其实一共有3天的第一天是CSS Conf 只是因为时间很急而没有买CSS Conf的门票.而直接参加js conf吧了.门票还包裹了几张Github 贊助coupon.coupon是拿来换取咖啡的.这两天在会场里有一档非常好喝了咖啡.猴子咖啡.而且其中一个咖啡师还是一个大只佬.哈哈哈.猴子咖啡的cappuccino真的很好喝这两天都是在喝猴子cappuccino.哈哈.
会场外面除了咖啡和食物还有一些免费的贴纸,书本,笔.和King工作室的小飾品.一来到更本不认识人辛好有JavaScript.tw的朋友也到了.
便询问他的table还有空位吗?幸好还有位子.便马上的过去他那了.而且他的table也刚好在中间非常清楚的可以看到演讲者.也在Pei Cheng的介绍下终于认识了闻名的Tonyq.他是JSDC的創办人之一,认识和留意他的post一段时间了有时他都会分享一些有用的东西.一直推广当地的活动.非常难的.而且更让我佩服的是他还辭職了工作跑去帮助当地的选举活动.也替他高兴的是他们刚胜利了.
而且这两天也非常感谢他在hackpad上的记录和分享.真的非常惊人可以一边把英文翻译在输入.
Day1
Session 1 Building Isomorphic Apps
講者 Spike Brehm ,from Airbnb。
这个大概是讲要几样分工和利用不同的tools或framework去完成不一样的事情.
现在的java script已经发展到无所不为比起其他语言可以处理更多事情.
Shared View Layer
可以在Client和Backend共分享
-View Layer
-Application logic
-Routing
在这里也提到MeteorJS,React,Browserify.
这个讲座affect到蛮多东西的.只是很多时候很多东西都有人写好了我们可以直接拿来用.一开始便提到MeteorJS这个real time framework了,还有便是Browserify模块应用.React最後一個便是React了一个facebook释放出来的framework近来很红只是还不是很了解只是知道React 框架本身是作为 MVC 当中的 View .
SESSION 2 Pixel art and complex system
講者 Vince Allen ,from spotify software
Demo: https://github.com/vinceallenvince/jsasia2014
非常厉害的一个讲师把用pixel弄了很都有趣的东西.例如pixel动画猫.龍捲風.和一个印象非常深刻的狼吃绵羊.和zombie感染.
最後一個demo更是一个模擬蚂蚁的生态的世界.有时后很简单的东西也可以很有趣.在于creative!
SESSION 3 BAD FORM
講者 Chris Lienert, from Jardine Lloyd Thompson
这里可以学习避免很多不user friendly 的form.
-有些隐藏的element可能会在mobile出现.
-有一样东西我也是很讨厌的是某些网站会限制你set密码的长度很该格式.
-要小心 jQuery 的載入速度與效能这个我想现在我的公司真面临可以学习看几样解决.
-user friendly 问题像是信用卡有些网站要輸入 “-” ,不如我們先把 – 畫好.
-return error要直接.
我发现这里某些问题也是UI Designer应该注意的.
SESSION 4 HTTP headers – The Simplest Security
講者 Wei Lu, from Hive Web Wallet
这个是我最感兴趣的其中一个讲题.
讲者用了一个小牛黑客tools哈哈.这让我想起了以前有个很有名的黑客团也是用牛来当logo
XSS
Content Security Policy header
X-XSS-Protection
HTTP Strict Transport Security (HSTS)
clickjacking
CSP是強大的只IE不支持XD
我还等着这个讲师的SLIDE..
SESSION 5 FUN WITH JAVASCRIPT AND SENSORS
講者Jan Jongboom, from Telenor 和 Firefox OS Contributor
我想这个讲师是其中一个比较能带动整常人的一个.还可以和会常的某人互動.
这也是其中一个我很有兴趣的Talk.
这个讲师都是在讲讨如何用Javascript在FirefoxOS里控制手机上的硬件.
而且也带出了一个很好的信息.我们只要好好的利用现在手上的手机便可以制造很好玩的游戏.(Creative)
讲师用wifi的信号来制造了一个类是Hide and Seek.用dBm.这个idea很好我想我们可以弄个类似寻人的apps.
用电话的monitor device light来控制音乐.
Track real life movement 手机的陀螺儀加3D让电脑可以看到我们手上的手机的位置.
detect手机掉下来的信号还在現場来了个 joggling show哈哈哈.( Measure z-forces)
过后还展示了geeksphone的主要电板.如过这块电板有的买该很好玩.maker可以打造成自己独一无二的电话.(类是Project Ara可是这个是用不同的module组合还不知道可以知己custom module吗?)
现在的市场都被IOS和ANDROID 佔領了真个市场而且都是在封闭的系统.ANDROID也只可以讲是半可开放的系统.WINDOWS PHONE也是个封闭的.真的希望FIREFOX OS可以把这个局面打破.FIREFOX一 直都是OPEN SOURCE里的领导成员
在发问的其中一个问题是关于RUN JAVASCRIPT在硬件上.没想到讲师回答…RASPBERRY PI 哈哈哈.
SESSION 6 THE ART OF LESS
講者Martin Kleppe, from Ubilabs
Slide:https://speakerdeck.com/aemkei/the-art-of-less-jsconf-dot-asia
The Art of Less
少的藝術
这个也是其中一个我感兴趣的TALK
这位讲师在我还没来便认识他了.也看过他很多很厉害的作品.用代码弄成的旋转地球
-http://www.jsfuck.com/
可以用大神来称呼他把.他的壓縮和减轻代码的功力真的很出神入法.
可以讲是less code的极端.讲师也深受日本文化的影响.
还在现场来了一次如何把代码一行一行的移除减去.比Minify还厉害.
在这里也提到XSS的利用.
而且更绝的是如何不用英文字来写代码.!!
Escape sequence这个方法让我想起上次被黑的某个网站被注入了一段JS里头便是有类似的代码手法.
(更奇怪的是那段注入的JS代码在sublime text里是看不到的.)
Code For Fun, Limits,focus,language.
这次的大会才公开的作品”雨”
Raining Code using Asian characters only
http://aem1k.com/matrix/
SESSION 7 QuiverJS: Rethinking Web Frameworks
講者Soares Chen, from creator of Quiver.js
这个讲师讲的都是关于 web framework的相关和讲师本身的QuiverJS架構
这个部分有很多技术含量很高的东西.很多都搞不清楚.
可是可能需要讲解的东西太多了.真的很难消化吸收.
-这个讲师既然是来着Malaysia Penang 的Developer没想到在Malaysia 也有这样厉害的人.在我过来前sam和我介绍了他.可是没找到机会和他交谈.
SESSION 8 TRANSLATION WORKFLOW AND COMPLEX TRANSLATIONS
講者Tingan Ho, from creator of L10ns() project
Slide:https://speakerdeck.com/tinganho/complex-translation-workflow-and-formatting
这个讲题是讲关于翻譯语言.如果网站需要到不同语言该如何处理,如何解決複雜的格式轉換
讲师的Projet.(http://l10ns.org/)
CLDR – Common Locale Data Repository 一个很多大公司在用的系统,(IBM,Google,Apple)
String concatination
var message = “hi how are you”+ user;
template string
var message =”hi how are you {user}”;
– Auto Sync 同步更新.
不是很了解这个讲师讲的东西可能是太快的问题(这个讲师不到本15分钟便提早下去了)…只是明白这个讲题基本上了解到的是如何利用l10ns这套project来处理.可是看来在build-up一些大型的project该会很有用.
SESSION 9 Preparing your NodeJS Application for scale
講者Dexter Tan & Laurence Franslay, from PayPal
Slide:http://blog.geeksphere.net/JSConf2014/#/
这个讲题是由两个讲师轮流讲.是关于如何让node.js更有伸缩性.
第一个讲师讲的是关于安全性问题.
SECURITY
一些tip让node.js app更安全.因为Node.js 和Express.js framework都没有安全features.
用 Lusca 或 Helmet 让app的安全性提高80%
This will get you 80% of the way to being secure
https://github.com/helmetjs/helmet
https://github.com/krakenjs/lusca
“eval
is Evil”
要避免使用eval.
Don’t be a victim of a known security vulnerability
不要成為一個已知的安全漏洞的受害者.这个该是每个管理员都该要避免的事.管理员可以没有很厉害的技术可是一定要时常更新和留意LATEST的更新.
Use grunt-nsp-package to scan for vulnerabilities
用grunt去掃描漏洞.
https://github.com/nodesecurity/grunt-nsp-package
Use retire.js to check for outdated dependencies Running with grunt-retire
用Retire.js去檢查过时的dependencies.
http://bekk.github.io/retire.js/
ESCAPE EVERYTHING
把任何字符串进行编码
XSS sucks.
在这里拿了一个singapore网站官方被黑来当例子.
A persistent or stored XSS is even worse
存儲XSS更壞
Escape with browser html encoder
結論
- Establish good security defaults with Lusca or Helmet
- Know what you require()
- Scan and update your dependencies with grunt-nsp-package and retire.js
- Escape everything incoming and outgoing
用一些安全Middleware 来建立基本的安全防卫,清楚知道需要用到的东西, 掃描并更新dependencies ,把任何字符串进行编码.
换另一个讲师,这个主题是如何把 模板特别化.
TEMPLATE SPECIALIZATION
Localisation is not just about the language.
本地化不只是語言,顯示不同國家的內容事項問題.可能这个国家可以可是另一个国家不行.这个也是我公司团队时常要处理的一个问题.
老板要我们保持不同的平台不同的国家语言都要一致化.哈哈哈.这个真的体验深刻.
这里的讲师是讲如何的customize pages在不同的国家.
ENGINE-MUNGER
https://github.com/krakenjs/engine-munger
Currently supports js and dust template engines.
这里是介绍如何利用ENGINE-MUNGER这个tools.
A/B testing
Sections of the page that should look different in different countries
Session 12 Versioning ,Syncing and Streaming Large Datasets
講者 Max Ogden,from Dat Project (dat-data.com)
Session 13
講者 Yang Bin Kwok,from Zopim
这个讲师讲的真的不明白,而且讲师也不善于讲解搞到大家都很闷.
我想这个讲师想讲的大概是讲师如何Scalling Node Servers 吧.
Session 14
講者 Slava Kim,from Meteor
这个讲师便厉害了.只有二十一岁.而且在我的桌子有一间公司的老板特地带几个员工来听这可talk.
其中一位员工还是来着马来亚.而且也很年轻.他用meteor来分析在twitter 或facebook比较热门的关键新闻.
他还给了我看的Prototype.非常厉害!!
看来我真的老了.哈哈哈.
而且更棒的是这个讲师也和我们同一个桌子喔.也让我们拿到了meteor 的贴纸.哈哈哈,真的谢谢Pei Cheng 让我加入.
Meteor 是一个Real Time和Full Stack的framework可是一直不support windows Platfrom让我没的下手.
碰巧Windows Platform刚推出 kim也和我分享了.
马上的.install 和学习.
在这过后我们还在当地的hackerspace.sg 再 meet因为当地的hackerspace邀请了他在那里来了一场meetup.
我也在这个meetup得到一件Meteor的t-shirt哈哈哈.
Session 15 Gibbering At Algoraves: JS in Live Audiovisual Performances
講者 Charlie Roberts, from Author of Gibber Project(http://gibber.mat.ucsb.edu/)
YouTubeVideo
这个讲师非常Cool他让整个场都动起来了!可能前面的那几个讲师真的他闷了.
这个讲师主要讲的是让Java Script 动起来和音乐结合.来了个live show.非常棒!!!
写Code可以来点 视觉和听觉的东西!真的非常厉害!!
只有在现场可以感觉到!
Session 16 Let’s Make a Game With Phazer
講者 Gabe Hollombe, from Neo Innovation
这个讲师主要讲的是如何用Phazer framework来制造游戏(可是还是和早上的讲师一样还没完成任务 .哈哈)
以前在公司(I)处理某些Canvas找资料看过着个frameworks.也把他介绍了给Mic.
这个frameworks是蛮适合制造一写2D游戏.免费而且有很完整的档案.当然很重要的一点是这个frameworks很活跃.
如果想制造游戏真的很同意如果可以应该用FrameWorks来开始.
不要让其他的问题谋杀了好的Idea!
讲师也讲了关于Sprite图的来源. 我看到Texa Instruments哈哈哈.在maker该没人会不知道这间公司吧?
也用了Plants vs. Zombies 1来demo了一些Phazer frameworks的function.
Session 17 Lighting Branches – A way to supercharge Delivery of features
講者 Ritesh Angural , from Redmart
Slide:http://www.slideshare.net/riteshangural/lightning-branches-at-redmart-js-conf-asia-2014-talk
讲师主要讲的应该如何利用工具处理版本控制和协调的工作方法 .
一开始讲师讲的是有多少人看過jsconf.asia的官網呢?(哈哈哈在场没可能有人没看过吗?)
讲师打算以jsconf.asia的官網来讲解.
可是讲师事先没处理好.导致上台后要台下的同事帮忙merge github branch 哈哈.有点和他的主题出矛盾.
而且很多他讲的东西我们也认为一般工作了一段时间的程序员该懂或知道的事情.
刚好看到讲师的demo link我也和其他大大一样进去直接看代码.
我还是对jsconf.asia官網的效果比较有兴趣.
Session 18 Deep Space – A Simulation Drama
講者 Simon Swain, form Modus Interactive