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。

 投影片:http://www.slideshare.net/spikebrehm/building-isomorphic-apps-jsconfasia-2014

这个大概是讲要几样分工和利用不同的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

Slide:http://www.slideshare.net/janjongboom/fun-with-sensors-jsconfasia-2014

我想这个讲师是其中一个比较能带动整常人的一个.还可以和会常的某人互動.

这也是其中一个我很有兴趣的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

結論

  1. Establish good security defaults with Lusca or Helmet
  2. Know what you require()
  3. Scan and update your dependencies with grunt-nsp-package and retire.js
  4. 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

Entire pages that should look different in different countries
 因为两个讲师都是来着PayPal基本上都是围绕着krakenjs这套frameworks的某一方面来讲.这和我现在的工作很类似都是开发framework只是我们的frameworks包含更多东西不一样的东西.而且开发方向与业务都不一样.突然想到我也可以搞个开源的project. ^^

Session 10 WEBTORRENT

講者 Feross Aboukhadijeh ,from feross.org/。

 投影片:https://speakerdeck.com/feross/intro-to-bittorrent-and-webtorrent

这个讲师是讲如何利用torrent去处理一些檔案.

一般的网络都是 request & response。ask server ->get response 当有太多users同时间对server request

便会造成server大塞.例如DDoS便是用同样的原理.

而且用torrent也不怕只有单一的来源server down了而得不到需要的档案.

 

Session 11 There and Back Again – A Gamedev’s tail

講者 Peggy Kuo ,from Atlassian

 投影片:https://speakerdeck.com/pyko/there-and-back-again-a-game-devs-tale

这个讲师主要如何快速地创建出游戏.和創造一些有趣的東西.

讲师也介绍了如何用cordova去创建出游戏.而且也强调不要去制造轮子而是该利用其他人 制造好的工具.

这真的很同意想当初我和几个朋友在初创公司也想过很多好的点子.可是那时我们所有东西都零开始.而且也只有我一个人写代码.真是辛苦.最后当然难产咯.

当有好的点子.应该利用有限的工具立刻制造出来.等prototype出来再慢慢改其他方面.这很重要.

讲师最後也分享了几样东西:
Learn – 每個過程都學到一點事情。這是保持熱情的方式。學英文是學、學技術是學。
friends – 有些好朋友可以給你很棒的 feedback 是很好的事情。
scope – 盡可能讓 scope 越小越好。如果這東西沒有增加價值,那就刪掉他。
deadline – 設定一個你必須要完成的時間,有 deadline 總是比沒有好。而且確保你的朋友都會幫你監督這件事情。(笑)

start – 把你的 idea 開始實做,不要讓他留在你的電腦裡。你們腦中的那些 idea,應該要開始做你的 idea 跟完成。

最後一件事情:記得把 credit 給那些幫助你的人。(列出投影片製作者跟素材製作者)

 

 

Session 12 Versioning ,Syncing and Streaming Large Datasets

講者 Max Ogden,from Dat Project (dat-data.com)

这个讲师主要是介绍他的一个开源project DAT 一个关于共享和协作上的数据.
以前源代码控制是件非常麻烦的事情我们要下载他人的zip然后fix bug 再把zip 上载回去给其他人
后来有了Git方便了很多!.
讲师用了张星象圖来让我们知道DAT有多厉害!

Session 13 IPCluster – Scaling Zopim’s Frontend Node Servers

講者 Yang Bin Kwok,from Zopim

这个讲师讲的真的不明白,而且讲师也不善于讲解搞到大家都很闷.

我想这个讲师想讲的大概是讲师如何Scalling Node Servers 吧.

 

Session 14 Reactive programming made Simple

講者 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

讲师主要讲的用JavaScript来模拟.(讲师也是JSConf.Asia的常客.)
这也是其中一个我非常喜欢的主题.
JavaScript来模拟一些生物的动态.
一开始先来一个人口模拟很有日本早期的动画风格.
然后有的是类是银河系星球的模拟,还有重力Gravity的演习.
 群体模拟.例如 鲨鱼在海里一群小鱼会躲避鲨鱼.
再来还有飞船对战模拟 有能量和损伤计算 (掌声)
最后来个星球大战…太强大了.(讲师还讲这个模拟可能会用上10分钟的时间或整天时间 )
太cool了都是JavaScript和Browser.
看到这里我突然发现每个我身边的都在开着讲师的demo link在电脑上研究起来!.(哈哈哈我也是其中之一)
很值得研究的一个主题.
Session 18 Future of Node
講者 Mikeal Rogers,  form Digital Ocean
最后一个主题了.(很快来到尾声了)
讲师主要来着Digital Ocean的Mikeal Rogers .
我是DO的客户之一很满意他们的服务.也没遇过任何问题.
上次银行的信用卡被黑然后某银行因为安全问题不给我过帐 .发了信息过去对方还给了我半个月时间去处理.
而且价格比起很多本地的shareHosting还便宜更快速.
讲师主要是讲nodeJS的成长.EcoSystem ,还有npm成长.可是没人要去contribute.
NodeJS Releases 下降了.感觉上讲师一直在暗里讲着Joyant.几期的nodeJS真的蛮多事情发生.
***题后话day2 我是在3月2015继续写完的.在过后的几个月讲师和其他NodeJS主要的开发人员fork了另一个project叫IO.JS(Node.JS的另一个分支)而且还得到很多支持.(例如node-webkit 便转去了.IO.jS 而且连名也换了 NW.js).
其实在最后也有个人问了Mikeal Rogers 一个蛮难答的问题哈哈哈.
除了这个还有的便是 NodeJS教育 node school(http://nodeschool.io/)很好的一个计划在很多地方都有本地化的团体.
也是个很好的学习地方.
还有一个便是oakland,js (http://oaklandjs.com/) 每个星期都办的一个活动.没有指定谁办,只是每个星期都办然后每个人都出席.有经验的带新人.而且可以真真接觸到真真的人和直接对话.而不是在電腦裡面的那个他.
Mikeal Rogers还讲如果你还没有一個社群,你可以建一個。如果你已經有一個小社團,你可以讓他變大。
(上次我的老板Kevin当我和他谈到想参加多一点国外Titanium活动因为本地真的很少这样的活动或用Titanium的人.
他竟然讲我带头搞一个.哈哈哈.)
没想到这篇post写了4个月.写完连NODE.js都被fork了个IO.js出来的.哈哈哈.
希望2015还可以参加jsconf.asia 吧. 也谢谢Javascript.tw 里的大大.尤其是Pei Cheng和TonyQ .
 unnamed wpid-img_20150315_235133.jpg wpid-img_20150315_234938.jpg 10343519_10205473617545542_7870108061696679502_n wpid-img_20150315_234858.jpg wpid-img_20150315_234258.jpg wpid-img_20141122_184127.jpg wpid-img_20141122_182952.jpg wpid-img_20141121_080953.jpg wpid-img_20141120_083018.jpg

Comments are closed.