蒼時弦也
蒼時弦也
資深軟體工程師
發表於

JSDC 2014 會後心得

總覺得因為大四忙著畢業製作反而沒有太多時間寫文章,不過參加 Conference 總是會習慣寫篇心得記錄一下今年發生的事情,反而讓網誌充滿了心得啊 XDD

我快要變成寫心得高手拉!!

今年的 JSDC 有很大的轉變,其實我覺得這是一件「非常有勇氣」的事情。自從我接觸社群、Conference 到現在也有四年多,正好在這段時間台灣的社群活動也越來越熱烈,從剛開始一年只會參加兩三次活動,到今年我平均一周大概就有一天會到臺北。就可以看到社群的發展,以及許多人熱血的在付出。

不過,從規模、參與者、活動品質個個面相來看,社群也開始面臨一些需要轉變的問題。跟三、四年前不同,我們也很多地方已經無法用過去小規模的方式去舉辦,而國外講者的比例也逐漸地增加,某一方面而言是這些活動已經有一定的知名度,已經逐漸無法用過去的方式來舉辦(這也是最近我們 SITCON 籌備團隊少數幾位組長開始在爭辯的問題,我們該何去何從、該如何改變以繼續發展下去等等⋯⋯)

所以,就這一點而言我認為 JSDC 非常勇敢的幫大家做一次嘗試,嘗試用國際等級的票價、嘗試讓議程更加的國際化(除了 JSDC 之外,我只有在 RubyConf 碰過這麼多國外講者)、嘗試讓活動的品質提高。

簡單來說,要踩雷的話,總有一個人先去踩看看,這個人就是 JSDC 的籌備團隊。

既然概觀討論完了,那就來正式討論這個活動在我「注意到」的細節上好壞在哪。

籌備團隊

其實有關注 JSDC 官方的消息,基本上是可以感受到主辦單位對 Conference 的認真。當然,願意負擔各種風險、花費自己的時間來準備活動,不管哪個 Conference 的籌備團隊都是值得敬佩的。

不過我認為,我今年只碰到「少數熟面孔」也就是說,整個活動的籌備團隊有可能是「新手」加上一些「老手」就這部分來說其實沒有什麼問題,但是問題在於很多「經驗」沒有順利的被傳承到「新手」身上,現在台灣的 Conference 生態來說,幾乎每個組別都有各自的文件和特定的工作方式,這些都已經變成一種 SOP 並且開始製作成文件傳承下來。

就一個比較明顯的案例就是「名牌上沒有加註編號」這個問題,在第一天入場的時候就造長很長的隊伍,不過這個方法應該在其他 Conference 已經嘗試過一兩次,屬於有效的方法,這次沒有注意到真的有點可惜(運氣好的是因為嘗試改變的關係,人並不多,還在消化範圍內。)

另外就是聽說一些擔任工作人員的朋友表示,工作人員一些基本的需求、福利沒有被滿足,不過因為不知道細節就沒辦法多加討論了。(看在還是新手的層面上,我認為是可以諒解的。畢竟 SITCON 第一年,排班的時候也有排班時間過久造成生理需求的問題等等。)

另外,籌備團隊應該是沒有注意到會眾第一次來的比例(報名表上沒問)所以像是 IRC 的使用、善用共筆等等都沒有被宣導,讓整場會議稍稍的冷清。(就我在晚會聊天的幾位會眾,都是第一次參加來看,這次應該連會眾都是新的一批人⋯⋯)

餐點

這部分我要特別提出來,這次餐點處理得不錯,我吃的很高興 XD

我覺得 JSDC 可惜的地方在於跟 RubyConf 都有類似的情形,就是團隊蠻多新成員在處理。 但是 JSDC 在對會眾的處理上沒有非常完善,但餐點卻處理得很好(然後 RubyConf 則是餐點炸掉⋯⋯) 就這部分來說 RubyConf 的得分就會比較高,畢竟整個 Conference 該注意的是議程跟會眾,雖然餐點有安撫人心的效果⋯⋯

議程

跟過去的文章一樣,有認真聽的議程就會比較多細節,其餘舊照印象寫。 今年的議程其實我覺得不是很滿意,主要是因為感覺有許多高手講者來分享,但是都沒有聽到想聽到的這種感覺。 (我只有兩三場可以集中精神,剩下的都分心⋯⋯)

即時口譯方面,因為其他 Conference 沒有碰過所以不能比較。不過就翻譯品質來說,我認為算是不錯的。雖然技術名詞無法正確翻譯,但是選用的詞還是可以理解。唯一可惜的地方是講者講太快的時候會跟不上,還有耳機基本上只是掛著,所以開太大聲就很容易吵到旁邊的人(第二天不明原因沒開到一定音量就會聽不到⋯⋯)

Future of Enterprise Web Applications

原本以為會講一些比較像是那種未來展望的,結果後來似乎變成介紹 ExtJS 我就分心了⋯⋯ 這場幾乎沒有印象⋯⋯

Use Node Modules In The Browser With Browserify

介紹 Browserify 這個工具,聽到的時候才發現這個工具被我塵封在書簽很久了,都沒有拿來使用。 講者還介紹很多不錯的工具跟網站,主要是一邊穿插介紹 Browserify 可以做到的事情,一邊介紹工具。 我不會說我只聽到工具怎麼跟 Browserify 一起用,卻忘記細節拉

個人最喜歡的是 NodeSchool 裡面除了 Node.js 的基礎教學之外,還可以學到像是 Shader、WebGL 的知識,對目前的我來說有很大的幫助。 (中途跑去玩,錯過 Minecraft 的 Demo 只看到一部分⋯⋯)

ZMQ 的安全與架構 in node.js

介紹 ZMQ 跟 Node.js 搭配使用的一些知識,我之前是在玩遊戲時玩家自製的市價查詢 API 中碰過 ZMQ 這個東西。 這場介紹了一些關於 ZMQ 的特性,還有該如何處理驗證、確保資料等等的使用方式。

react/flux in Action

兩天下來我最喜歡的一場,這場基本上沒有講什麼技術的東西,很單純的介紹 React 跟 Flux 這兩個來自於 Facebook 的套件(工具?)還有講者本身使用上的經驗。

另一方面也很清楚地把 React 的特性和優點介紹出來(我之前都沒認真看)另一方面則是 Flux 的神秘面紗終於被揭開了,對我來說我的理解就是 Flux 跟 MVC 是同樣的東西,一種架構設計的方法。不過這個方法讓前端的處理比 MVC 還簡單很多,而且非常好上手,所以聽完的當下馬上愛上這個方法。

中間穿插在裱 AngularJS 的問題,不過我真的覺得都講到用 AngularJS 的人在使用上的「痛點」所以非常有共鳴。

總之,在使用 AngularJS 等框架之餘,可以試試看 React 跟 Flux (Style) 是個不錯的體驗。 註:React 可以當他是一種 Pure JavaScript Template Engine,所以硬要把它用在 AngularJS 上據說是可以的⋯⋯

另外,講者非常用心表示「有問必答」我今天也收到講者整理好的「中文學習資源」如果有興趣想學可以加入社團,我想應該是會受到非常大的幫助。

Functional JavaScript, why or why not?

大概是介紹 ES6 還有一些 JavaScript 在 Functional Programing 上的技巧。我可能因為早上六點起來準備搭車,再加上這場非常學術,中途就昏睡過去,醒來的時候已經要講完了⋯⋯

我只聽到 mapreduce 還有 generator 啊⋯⋯

隨時發生的 SITCON 戰鬥會議

這次 JSDC 第一天有 Denny、Mouse、Poka 等 SITCON 教頭出現,所以就不小心開始探討起兩年、三年後的 SITCON 要怎麼搞,還有明年的 SITCON 該怎麼調整去銜接未來的 SITCON。

以及老人許願會議,希望以後可以把 SITCON 當正職

Micro Databases

用 Node.js 操作 LevelDB 的議程,講者很認真的找了一份中文字典檔來 Demo 雖然 Live Coding 有點失敗,不過還是順利讓我回憶起被 Poka 洗腦要用 LevelDB 的那些日子。

後來重新看了一下 LevelDB 發現作為 NoSQL 來說,還算不錯,有空應該會拿來玩。

After Party

算是這次 JSDC 一個蠻特別的創舉吧,不過我覺得選酒吧類型的場地太不適合了! 雖然有提供無酒精飲料(還可以跟調酒一樣幫你條,雖然雪碧加可樂是什麼概念我不知道,但是很好喝)不過問題點在於「場地狹小」以及「音樂太大聲」這兩個問題。

我認為除了「第一次參加」所以不知道該怎麼和其他人聊天之外,另一個比較大的問題是要出去走動跟搭訕會因為場地大小而被卡住,反而讓人一直無法行動。

我自己等了大概一小時,才順利等到講者身邊的人散去,讓我有機會跟講者討論我的問題和想法。

另一點是音響很棒,音樂很好聽本身沒什麼問題,但是因為這樣的音量「很難聽清楚其他人講什麼」反而讓溝通上很困難,我那天晚上回去之後,喉嚨痛到現在。因為 After Party 沒有找人聊幾句實在可惜,但是為了聊天幾乎要用我最大的音量講話,真的很吃力(不過我參加過一些類似的活動,都有同樣的問題,我很困擾。)

我因為胃食道逆流的關係,喉嚨有點受傷。再加上聲音本身就是比較低的,所以講話本身就會比較小聲。

Panel Talk: Hello JSDC!

感覺應該是因為臨時改成座談會的關係,議程組沒有充分的時間想一些有爆點跟經典的問題,只能問一些比較常見的問題。不過這些普通的問題從講者的回答來看,應該還是可以給不少人幫助。

不過會眾提問來說,某種程度上我覺得到後面有問的問題點亂來⋯⋯

Koa - Asynchronous Decorators as Middleware

講者基本上就是介紹 Koa 希望做的地方,還有一些運作上的知識。

座談會中間我就開始實作 React / Flux 的 Application 了,所以沒有很仔細聽,只靠即時口譯的中文來快速理解內容。 不過我覺得講者給的建議其實蠻不錯的,就是 Koa 其實目前還不好學(或者說設計上本身不好學)所以依照團隊、經驗建議學習不同類型的工具,關於這點我就覺得很不錯。

Teaching Git and GitHub with Node.js

其實在實作 React / Flux 所以一樣沒有仔細聽,大致上介紹的 Git-it 是前面提到的 NodeSchool 裡面的一項課程,主要目的就是用比較有趣的方式教會大家使用 Git 這場則是在介紹這個心路歷程。

Leveraging ZMQ with Node.js

跟昨天一樣介紹 ZMQ 和 Node.js 的搭配,不過剛好補足昨天那場跳過的細節。

像是 ZMQ 有 Publish / Subscribe、Push / Pull 等等不同的發送訊息方式,那差異和運用時機是什麼,都透過 Demo 來讓會眾了解。

不過我有聽到的就這部分,這時候我已經開始研究 react-Rails 了⋯⋯

大型互聯網公司前端團隊的那些事兒

介紹 360 裡面的 75team 怎麼合作,算是故事分享。不過中間穿插著很長的笑話,根據朋友表示因為不懂的關係,反而是後面的人發出「難以理解」的讚嘆聲(笑)才讓他笑出來的⋯⋯

好吧,這場亮點大概是那個用 JavaScript 改寫的動圖工具,讓一隻貓扭曲了 XD

Node.js, p2p and MAD SCIENCE

這場一樣是列在喜愛議程中的其中一個,中途因為旁邊的口譯機很大聲,我就直接放棄聽口譯聽原文的。雖然理解的訊息量降低,不過還是很喜歡這場。一開始先解釋 P2P 的發展的原因,還有 BT 的運作原理,也因為這樣讓我發現 P2P 技術真的是非常值得研究的東西,之後應該也會從 WebRTC 的 P2P 運用來研究吧。

註:Gihub 的 Education Pack 裡面的 ScreenHero 據說是用 WebRTC 做的 P2P 螢幕分享軟體,真的是 HD 畫質,但是因為不能多人我跟同學先放棄選用。

Famo.us - New generation of HTML5 Web Application Framework

其實我一直都是依靠關注講者的 Blog 來追 Famo.us 的資訊,不過因為這東西太神奇,所以我還暫時不能接受以及實際體驗。 另外講者本身也說這東西並不好學,所以在有空的時候才會去學吧 XD

Famo.us 除了 HTML Parser 跟 Paint 的部分,中間的 Render Tree 之類的都是自己改寫過的,所以才能保有順暢的效能,不過也因為不少特性讓 Famo.us 變得難學。總之就是先暫時觀望,個人認為做遊戲感覺蠻適合的,另外就是等 Famous-Hub 出來,畢竟他的運用方式已經跟寫 App 差不多,既然可以做出非常順暢的 Web Application 不如就用來寫 App 吧 XD

小結

其實說真的,到目前為止我參加過的 Conference 我都覺得都辦得不錯。自己也是 SITCON 的籌備團隊,所以我覺得有時候真的要體諒一下籌備團隊的辛苦,有時候真的是人手不足加上能支援的人都是第一次。

不過在辦 Conference 的問題上,其實也可以看到目前 Conference 的人手需求真的越來越多,所以有力氣的話就儘量參與當志工吧,不然現在真的是人立需求大於志工供應的狀態(尤其是有經驗的志工可以帶領新人熟悉的狀況⋯⋯)

至於今年的 JSDC 我覺得目前社群還不能接受這樣的票價,一年之間有這麼多重大的轉變其實真的是有點急躁。雖然議程、餐點、會眾上都沒有什麼大問題,不過我認為這些基於社群的活動,最重要的還是考慮到整個社群期望的研討會是會比較好的。

另外,今年其實蠻多 Node.js 的議程,實際上我平常不會用 Node.js 當主要的專案(即使我會使用)因為對我來說有 Rails 或者 Laravel 這種更適合的工具,不過即使 Rails 和 Laravel 可以很好的解決 Server-Side 的問題,但是 Client-Side 卻只有 JavaScript 可以解決,我認為這也是未來大家最後還是會「注重」的點。

若是能多一點在 JavaScript 上,而非 Node.js 的話,我認為能夠吸引更多人進入這個社群。畢竟選用 Server-Side 的解決方案大家各有喜好,但是 Client-Side 的方案卻只有 JavaScript 一個。

另一點就是,我蠻希望明年可以看到 JSDC 對於「前端」這一個問題做更多討論。這一年下來我發現我對於自稱「前端」這一件事情有所迷茫,因為在我所知道的社群裡面還是以「技術」為基準再做判斷,但是如同 JSDC 2013 年我所知道的概念,所謂的前端應該是一個「設計與後端」之間的橋樑,也就是說,依照程度的不同會有「很設計的前端」也會有「很技術的後端」等等不一樣的「前端」出現在這個領域中。

所以我很迷茫,因為我對 JavaScript 本質的部分一點也不熟,我只能夠使用然後盡可能讓他的品質更好些。但是在社群給我的感覺卻是「你不懂 JavaScript 本質」就不能算是個「好前端」一樣的感覺。所以我有時候真的不知道我是不是能在「前端」這條路上順利的走下去,因為我的學習歷程就跟「前端的定義」差不多,但是我感受到的「前端」卻似乎還是「資工」的世界,好像在「設計」的世界只能站在門邊卻沒有辦法光明正大地走進去一樣。

簡單來說,我想如果可以認真的討論「前端」的「必要條件」以及使其多樣性的「附加條件」是什麼,我認為會對之後成為前端的人有一個好的方向。(就像有 Ruby 有 PHP 有 Python 一樣,都可以當工程師,但是附加條件是用什麼語言使其成為什麼工程師一樣的感覺,我覺得前端應該也能做出一個分類讓一些人更有勇氣地走這條路。)