標籤:

參加 RubyConf China 2017 是種怎樣的體驗?


  • 社區裡面經常有一些藥丸黨,本來並不看好這場大會。
  • 現在各種技術大會千元起已很普遍了,RubyConf China全價票三百,業界良心。
  • 參會者有五百多人,出乎我的意料。
  • 史上最不純的rubyconf:大量topic和ruby擦邊或完全無關,比如區塊鏈、機器學習、websocket、前端、erlang、elixir、haskell、lisp,從某種角度上來說社區的包容性很強。
  • Topic幾乎全是乾貨,或者說都太幹了,講師們真的用心了。
  • 閃總(曹力)的主持能力還是挺強的,組委會成員們為了這次大會都挺幸苦的,一併感謝。
  • 兩頓自助餐、免費茶歇(點心和咖啡)、一個比特幣的大獎,比起隔壁社區的千人技術大會良心多了。那可是連盒飯都沒有,當時我們一群人頂著近四十度高溫的大太陽走了十分鐘去吃漢堡王。
  • 第二天吃午飯的時候,在餐廳看到一片穿紅色T恤的(ruby大會主題T恤),挺感動的。
  • 第一天上午的topic只有兩場,而第二天的topic比較多,下午人走了不少,場次安排上不太合理。
  • 張文鈿上場後我才知道大會裡有那麼多全棧訓練營的同學,有點厲害。
  • 我因為第二天下午有事,聽完張文鈿的機器學習後就走了。
  • 大會的酒店外面沒有掛牌子,讓我一度疑惑是不是走錯地方了。
  • 會場的座椅有點硬,我坐的時間長了腰有點疼。
  • 講師分享過程中,大會群里常常會針對話題進行討論,有時候就會有語言之爭。
  • B大在第二天還想著把模式匹配論文找出來給大家看。
  • 感謝所有工作人員、參會人員,以及ruby社區。
  • 明年是RubyConf China十周年,把松本行弘邀請過來吧。

我在大會結束後,回憶並記下了一些流水賬,裡面有些記不清了,有些理解可能有誤,有些包含個人評價,如果看到寫錯了請指出來,謝謝啦。


Day1. 上午第一場

第一個講師是上線了的一位老外,講的話題是ruby和nginx的結合,他首先列出來用nginx的作用:負載均衡、緩存、彈性、https、服務分發、日誌、訪問控制等等,之後說起了google出品的ngx_pagespeed這個模塊以及mruby,引申出了他們做的ngx_mruby模塊,首先就把一張json序列化對比圖發出來,顯示他們優秀的性能。

第一眼就感覺很像ngx_lua,講師展示的引入ruby腳本、返回json、xss過濾等等,都類似於openrestry,之後分享結束後果然有人提問和openrestry的區別,我感覺主要是它用的是ruby吧。

不過由於mruby的限制,這個ngx_mruby模塊的限制也挺大的,而且還不能require,這是有點先天殘疾。但是他的性能表現足以讓人側目,未來的發展還是值得期待。


Day1. 上午第二場

第二場的話題是關於以太坊區塊鏈技術科普的,這家公司叫cryptape,目前做基於以太坊區塊鏈的商用平台和諮詢,演講者是公司的CEO,有很強的技術能力,也是ruby社區的老人了,做過多個ruby開源項目,只不過他們現在的這個開源產品是用rust寫的。

講師先科普了區塊鏈的基礎,包括網路層的節點發現kademia,點對點的tcp數據傳輸之類的,以及靠hash計算hash的鏈技術,這些都是科普。

然後他用ruby展示了一些類的數據欄位,想讓大家更明白Block類、BlockHeader類、Accout類以及Transatin類裡面每一項存在的意義,這裡面的欄位牽扯到各種技術點。

之後還吹了波合約賬戶,除了類似比特幣的External Account,以太坊的特色合約賬戶,由機器代碼控制的合約,這樣就可以作為可靠的中間人。

之後繼續科普了以太坊的EVM,是個無狀態輕量虛擬機,且圖靈完備。礦工會通過計費跑虛擬機,如果提交任務的時候帶的gas跑完了就拋異常,EVM的計費力度很細,細到指令級別。

EVM之上還有一些編程語言,比如說類似JS語法的solidity。

之後他說了一下可以用智能合約來做應用,那樣的話可以替代ruby之類的做後端數據處理,而且是去中心化的後端。

這次分享引來很多提問,首先的提問就是網路帶寬,計算資源,存儲資源的瓶頸問題,講師回答說這些確實都是瓶頸,特別是現在沒有成熟的分片機制,導致性能上不去。

又有人提到了邊緣計算,但是講師沒說明白邊緣計算和以太坊如何結合。

最後有人聞到智能合約部署後能否升級,答案是否定的,目前只能依賴入口合約切新的合約,但這會導致舊數據無法轉移,所以這方面的限制挺大的。

還有人問是否擔心hash碰撞引發的安全問題,這點確實是過慮了,密碼學的編碼只需要保證碰撞在極小概率就可以了。


Day1. 下午第一場

這一場是說ruby非同步的,非同步模型這麼多年了,還是有人折騰也是不容易,講師上來就放各語言qps對比圖,老調重彈了下為啥要非同步。之後把node的callback hell拉出來婊了下,並說EventMachine的callback也會有這個問題。

他提出的解決方案是fiber,這點倒是和響馬的fibjs想法類似。然後他創建了個基於fiber的web框架,名字叫midori,並現場演示了一個todolist的web應用,然後和sinatra、express做了對比,超sinatra很多,接近express。

他們除了底層用fiber來處理並發以外,還優化了中間件,把這個改成了類似尾遞歸調用的情況,減少了深棧調用的開銷。

結束後有人就問了關於原有庫的阻塞調用問題,特別是棧空間的問題,講師解釋他們的框架做了一些封裝,解決了一些問題。

我站起來問了下他們的fiber佔用空間以及同時能開多少個fiber的問題,答案並不太高,和fibjs差距還是有不少的。


Day1. 下午第二場

下知乎大V bhuztez的關於erlang的分享,最開場就發揮出了勃學本色,什麼成功人士才跑分,失敗人士從不比之類的,把現場氣氛活躍了很多。

先是鋪墊了基礎知識的模式匹配、函數、熱更新以及神器parse_transform,然後就切入他的框架razor,說了其中三個重要的點,包括url_dispatch、peg和db的設計和實現細節,基本上大都是pattern matching加上parse_transform,由於erlang可以在編譯期做很多事情,所以這裡面大量代碼都是編譯期間生成的,包括這個類似pony orm的db的設計也是編譯器轉ast轉sql的。

我以前沒用過erlang,雖然很用心在聽,稍微能明白點他的設計思想,但對於其中細節還是比較迷糊的,這一點場內的其他人也都一樣,畢竟這是個rubyconf。

之後的提問果然就有人說erlang語法晦澀,並對於B大的所謂更高開發效率提出了質疑,這也是場內很多人的想法,感覺這波安利並沒有成功,不過以失敗人士自稱的B大應該是以後又多了份自嘲吧。


Day1. 下午第三場

主題是ruby在實時通訊領域的實現,講師是參與薄荷網的im後端設計的,他先是科普了http輪詢方案、雲服務方案以及websocket方案,然後就重點說websocket在ruby下的幾種方案,有actioncable、faye-websocket、em-websocket、plezi這四個ruby方案以及nchan、ancable這兩個擴展方案,並且每個方案都測了性能,以及列舉出了他們快慢的原因,比如說調用棧深、hijacking api之類的。

這個主題很用心了,可以看得出來他們是經過很多輪考察並測試,所以才能很有效的結合實際情況來選擇方案,建議做個考察報告出來。


Day1. 下午第四場

這場的講師開場就廣告,然後以一個水壺燒水的例子來引起話題,之後就切入到了rails的ORM ActiveRecord身上了,基本上就是解讀ActiveRecord的源碼和其中實現細節,以實現一些更高級的功能。

由於ActiveRecord本身就過於複雜,再加上講師不停的用什麼矩陣、三維坐標軸、輸入輸出之類的不合適的抽象來解釋,所以聽起來很費勁,加上ppt上那成串的代碼截圖和調用棧截圖,讓人感覺都聽不下去。

這場過後幾乎沒人提問,所以我就問了句:燒水到底要不要先倒水。講師引申了一下,說雖然他會不倒水,但是也會思考倒水的方案的背後。

確實太幹了。


Day1. 下午第五場

下午最後一場是彩程的一個ruby開發者分享的docker實戰,他在速遞易工作期間,是如何做到把ruby應用部署到docker上的。

說實話這個話題基本上和ruby無關,但我覺得也還不錯,畢竟從頭聽下來,能感受到他們是如何一步步的做到docker部署的,比如說打包時間優化、配置文件的方案、圖形化管理界面的實現之類的。雖然說這些都不算新鮮事,但確實是他們用心摸索並成功的道路。


Day2. 上午第一場

九點多鐘才開始,這個講師我倒是知道,是nodejs那邊的。不過他分享的主題是把ruby或者ruby項目打包成一個可執行文件,最大的好處就是解決了分發問題。作者做了一個叫rubyc的工具,現場演示了打包ruby和ruby項目,並且自帶自動更新的功能,甚至可以嘗試做打包rails和ruby gem。

講師主要講述了它的實現難點和細節,文件路徑是最大的問題,維持他還是稍微hack了一下ruby,在一些文件里加入了個很多宏的頭文件,以此劫持文件操作。在它的內部使用了一個叫libsquash的庫,在內存掛載了一個虛擬目錄__enclose_io_memfs__,所以可以識別哪些fd是由squashfs分發的,哪些是原生的,也就解決了require或者read的問題。

不過由於squashFS是只讀的,所以寫文件採取了一個措施,就是生成個臨時文件夾,操作結束後再刪除。

有人提問說動態鏈接庫和執行外部應用之類的問題,作者雖然有考慮,但是項目還是迭代中,只能希望他更進一步了。


Day2. 上午第二場

本場講師是知乎上活躍的祖與占,和閱千人一樣都是很出名的haskell fans。

這次他分享的主題也是和ruby沒什麼關係,是一門基於erlang的語言elixir,這個語言是rails核心人員開發的,語法上和ruby有很多相似的地方。祖與佔在一開始就簡單的介紹了elixir的語言特性和語法,然後就以如何實現ruby的Safe Navigation Operator(.)的語義特性,然後展示了一種類似於err,data的做法,但這會帶來很大的問題就是條件嵌套,所以他提到了一種叫面向railway編程的觀點,而後展示了用with語法如何處理這個問題的,確實很容易可以做到。

對於語法上的介紹還有protocol,他演示了一個defprotocol,提供了reduce的方法就可以成為reducer,相比較傳統的iterator,它在錯誤處理上有自己的亮點,不過為了做到類似take的動作還是花了不少勁的,祖與占展示了一些Enum.map函數,就是使用reduce實現的。當然了,這個時候他會提到haskell的Iteratee。

隨後提到了ruby的sigil,在elixir上時用宏實現了sigil,不過祖與占作為haskell fans,又開始說起了haskell的quasi-quotation,列了一堆qq。

祖與占經常會把haskell拿出來對比,再說elixir的char list、bitstring、binary、string的時候,也提到了haskell的bytestring和text,確實是真愛。

在問答環節的時候,B大對昨天沒回答上模式匹配原理的事挺遺憾的,所以特意上祖與占展示了一下對應的源碼注釋和論文。


Day2. 抽比特幣

第二場結束之後就來到了本次rubyconf最大的抽象活動:三個人瓜分一個比特幣,獎品來自雲幣,平均每個人能獲利七八千塊。

據說抽獎代碼是現場寫的,不過沒有現場review,在抽獎的時候我們坐在十排之後的人時常懷疑它是不是隨機不到10以上。

最後抽上去的三個人各自拿著秘鑰的一部分,群里就開始熱火滔天的說起如何解決三人分配困境了,有些腦洞還挺有意思的。


Day2. 上午第三場

上午第三場是金數據關於鑒黃的分享,公然開車。

雖然開頭引子說了人工識別和關鍵字過濾識別,但事實上這個分享是關於機器學習的,也就是用機器學習來自動得到違規的關鍵字和權重列表,和ruby基本上沒有關係。

他們用的是監督學習,主要的部分包含特徵提取、SVM、準確率和召回率評估,這裡面第一步的特徵提取其實就挺難的,他們是用tesseract來OCR得到文本,然後用jieba分詞再計數,然後做出權重的矩陣,提取出其中的特徵值,丟給linersvc來做訓練。

提問的直接問到了為什麼不用貝葉斯演算法,講師馬上回答了貝葉斯和SVM的區別,貝葉斯雖然比SVM快,但是準確率不如SVM,而且他們金數據的數據集並不大,並沒有達到十萬級,所以就沒考慮貝葉斯演算法。

這一場的提問非常活躍,主要是講師說的很好,大家都挺感興趣的。


Day2. 上午第四場

上午的最後一場是叫mobx-ruby,作為一個混跡在前端圈子的人來說,mobx異常熟悉了,不過在ruby圈還算是新話題吧。

講師先用excel公式舉例來說明數據聯動和綁定,然後就把前端三個框架拉出來說了下他們的數據視圖綁定的實現,之後再解釋了mobx的observable、computed、autorun這些概念。然後他就開始介紹在ruby實現這些概念的原理之類的,其實mobx這種工具的原理很簡單,依賴分析也並不是魔法,不過我是感覺不到ruby上它的作用是什麼。最後講師給了幾個應用場景,包括類似meteor的實時更新前端、解決callback、rails緩存自動更新等等。


Day2. 下午第一場

下午一點多才開始第一場,講師來自於彩程科技。看到標題的時候我就驚了,怎麼又說前端開發,之後講師開始說的時候我才明白自己想錯了,他說的前端開發是在rails模板里進行的,並非是現在主流的前後端分離的前端開發,也並沒有什麼angular、vue、react。

講師先說了rails模板的弊端,erb代碼膨脹,而view helper並不解決問題,所以他提出來一套解決方案,就是在模板里組件化,每個組件都是一個類,裡面又render方法。

在他講的時候群里就開始在爭論前後端分離的話題,大家意見都不太統一,有的人還挺傳統,有的人支持現在主流的前端分離。等他講完後果然有人開始提出這個問題了,講師的回答是因為他們結合了公司實際人員情況,才搞出來這麼一套東西,這套東西對於重交互的應用肯定不適用了,但在他們的情況下是合適的。

我也提了幾個問題,主要是關於組件狀態和組件間通訊的問題,看得出來他們的方案確實不適合擁有大量組件和組件通訊的應用。


Day2. 下午第二場

下午第二場,來自於全棧訓練營的大神張文鈿,當年rails時代幫助了很多人。但是這次他的分享並不是rails,而是來給大家科普機器學習。

比起上午金數據那場,他這一場更加的深入和全面,不僅介紹了監督式、半監督式、非監督式學習、強化學習的區別,還在特徵提取、演算法和評估上說了很多,比如說對於決策樹的介紹、對KVM和其他演算法的對比。

ruby本身做機器學習並不擅長,雖然張文鈿列了一些能夠在ruby上跑的演算法庫,但很多都是不維護或者有缺失。目前主流搞機器學習的還是python和R,大多數人都會選擇Python。

由於機器學習是非常龐大的話題,雖然他已經盡量簡化了,但是他講的內容也很多,所以最後講的都超時了。

張文鈿也提到了他為什麼會來說機器學習,是因為搞web太多年了,換一換領域能帶來不一樣的感覺,對此我深表贊同。


主持人前來強答

本來買了票的,三個星期前組織者姜軍突然找我說,主辦方已經決定了,由你來做主持人

我說,吼哇,但是為什麼不找別人呢,像Terry,長得帥,聲音又好聽啊

姜軍說:是這樣,我們缺個女主持

我:那女講師客串一個就沒有嗎?

姜軍:女講師沒有,女裝的講師倒是有一個

我:你們搞了這麼多屆conf,連個女講師都找不到,你看看前端的會議,連講師都三分之一是女性。難怪RubyChina的李華順,現在轉行搞前端了。我都替你們捉急啊!

還有這次大會的吉祥物,竟然是個和尚。理由是什麼「法海克Python」。Python女神很萌的好嘛。

以上是我開場的段子,純屬虛構。


這一屆是第9屆RubyConfChina了,這是相當不容易的,而且Ruby社區從來沒有什麼特別巨大的公司在背後做支持,甚至像JS這種兵家必爭之地,各種龍頭企業都喜歡自己搞一個會議,由公司在背後站台。我不知道有任何這種小社區做把這種活動堅持做9年,還仍然有這麼大的活力。

其實Ruby社區一直非常開放、兼容並包,相比於其他社區的群眾而言,更加的注重實效,也就是重視語言等工具產生的實際價值,所以這與很多其他很多社區完全不同——我們RubyConfChina的畫風是這樣的:

在第一天的JetBrains贊助的抽獎環節中,三名獲獎者分別是:目前在建築公司做設計的姑娘(剛開始學Ruby)。胸口老大的Python標誌的聲稱前Python程序員現Ruby程序員的朋友——我立刻給他戴上了法海的牌子。以及一名iOS程序員。作為主持人我是崩潰的。

講師親口展示說PHP是最好的語言(我認為非常違心)。

Erlang程序員B大親臨現場腳踩Ruby。場下Haskell程序員站出來對B大發難。B大認為Elixir是多此一舉,場下Elixir程序員表示不服,要求第二天Elixir專場時候再次切磋。

講Ruby/Rails和前端方面的東西則引起了大家對於JavaScript各種框架和工具的大辯論。

作為主持人,我一度認為我走錯了片場。


雖然很多人的主業已經不做Ruby開發了,我也分析過為什麼Ruby最近進入了一個低潮期,然而這次RubyConfChina,我們還能看到大家對於Ruby的熱情依然不減。一個兼容並包的社區,以最大的誠意接納各種新人,也鼓勵老人們去探索未知的領域,並為社區其他人指引前進道路。Ruby只是我們維繫社區的一個標識,我們都有著一顆Ruby般純凈透明的心靈。

希望社區能再來第二個9年,煥發新的青春。

紀念某已解散的Rails開發團隊


我是去看B大砸場的,但似乎不成功,感覺至少一半人不知道B大在談什麼。被記住的大概是「成功人士才關注運行效率,失敗人士關注開發效率」。

還有一個女裝(穿不下了)大老全程無尿點。midori醬也很可愛。

還有一個講以太坊的,也是很有乾貨。

推functional的挺多,但都講的不太好。

當然還有一些內容枯燥,水平相對比較差一些的分享,我就在睡覺上廁所玩手機。

Ruby社區還是一個很「雜」的社區,講什麼的都有,也許是組委會請的講師好吧:一種大家都很喜歡寫代碼的氣氛。這也很契合Ruby的make coding happy的理念。相對來說Go社區不是講性能優化就是容器編排,很工程,很無聊。


第一天

Leveraging the power of NGINX with Ruby

跑分驚人。成功,成功,成功。

Ethereum on Ruby

只聽到前面說跟時下最火爆的ICO沾邊,後面就完全聽不懂了。

Ruby 非同步編程奧德賽

跑分很快。成功,成功,成功。

不過單線程的跑分有啥用?

如何用Erlang快速開發Web快速開發框架

沒有buzzword,不跑分,沒人用。只有乾巴巴的代碼。毫無疑問,最失敗了

關於Ruby Web實時通信方案的深度剖析

竟然不用Erlang。我不聽,我不聽,我不聽。

ActiveRecord 源碼分析及應用擴展

連比喻都聽不懂,更別提實際內容了

從頭開始,打造 Ruby 項目的容器化集成工具

搞不懂,講了這麼多,結果開發環境不用docker

第二天

為 Ruby 設計一款 AOT(Ahead-of-time) 編譯器

就是把所有東西塞到一個可執行文件里

愛因斯坦搞煉丹 - Elixir: A Haskellers Perspective

提到不同語言數量最多的

金數據是如何鑒黃的

在文字內容里被插入奇奇怪怪的符號,本身就是一種特徵。不知道為啥要忽略掉

mobx-ruby 將前端聯動編程帶入 Ruby

spreadsheet大法好

Rails 的前端開發之道

在前後端分離的大潮中,如何給Rails續命。不過看著像Django的templatetag啊

A brief introduction to Machine Learning - 如何在 Rails 項目中使用機器學習

沒看出來和Rails有啥關係

dry-rb 函數式 Web 編程實踐

又見Monad

我們如何改造Gitlab?

11萬用戶,100T。成功,成功,成功。


伙食很好!而且午飯和下午大會的安排時間也非常合理。姜軍大佬還給大家安排了大巴。比起7月份的[錢]端jsconf不知道高到哪裡去了!講師和主持人也非常的用心,下次還要來!


這是我第一次參加 RubyConf China,感覺只有一個字:cool!

因為之前參加過的展會基本都是偏商業性質的活動(你懂的...$_$),雖然我也辦過幾次線下的技術沙龍,但範圍沒有這麼大。類似這樣由專業技術社區舉辦的線下活動,還真是第一次參加。下面我就從 Marketing 的角度聊一聊我的一些感受吧。

● 參展前:我們秘猿這次是作為贊助商參加的活動,所以早在7月份就已經開始準備參會的各種事項了,和@姜軍同學對接,發現這真是個認真負責的好同學啊!第一次微信溝通的時候問到關於公司介紹的模板,姜同學第一時間就給我郵件了,那時候已經是半夜11點多了,按說明天早上給我其實也可以,但這種高效工作快速反應的精神,確實給我留下了一個很好的印象。後面我們還有一系列的對接溝通工作,雖然不可避免地也出過一些小 bug ,但是姜同學每次都快速反應,並且積極負責地處理問題,很贊!(我也是到後面才了解到,這次活動小姜同學基本承擔了大部分的執行工作,真的很不容易啊...此處應有掌聲)

● 參展中:作為大會第二位演講嘉賓,我們 CEO @Jan Xie 的演講 topic 是《 Ethereum on Ruby 》,介紹了以太坊中 Ruby 的實現,作為技術小白,我確實不是很懂編程專業的東東...T﹏T 歡迎各位聽過演講的技術大神們評價一下這次演講 如何評價 Jan Xie 在 RubyConf China 2017上的演講? ?(^?^*) 演講開始的時候,也有一些小插曲,幸虧當時有美麗動人又機智的閃總 @曹力ShiningRay 反應迅速,把現場氣氛帶得比較歡樂和諧。Jan 的演講過程中,我在一旁拍照,同時也悄悄觀察了一下下觀眾們的反應,發現大家還是很認真的,哪怕是最後一排的童鞋們,也是抬頭挺腰,小手放在小腿上... ^_^ 看來關於區塊鏈這個話題,蠻多童鞋還是很感興趣滴,O(∩_∩)O哈!演講結束的提問環節,我之前並不知道有這個環節,所以臨時準備了小禮品給提問的觀眾,在會場上跑來跑去的,真是對不起現場的各位童鞋了 /(ㄒoㄒ)/~~

參展的第二個部分呢,就是我們外面的展台啦~ 由於準備了挺多的禮品,加上我們美麗可愛的秘猿妹子 漢子,所以也是人氣 hin 高哇... 不多說,上圖~~~

由於第一天我們生意很好,所以沒時間去其他攤位轉轉 T^T,第二天才有空和其他幾家參展的企業聊天,然後發現過來的也都是技術含量比較高的公司,然後還有一點就是... 基本上人家來的都有 HR ...... 咳咳,程序猿們都懂的哈,自己體會 ?(? ? ??)嘿嘿

(Cryptape Smile ^_^)

(還有幾位羞射的童鞋~哈哈)

其他細節呢,茶歇方面真的沒話說,畢竟這個門票價位,能有茶歇就不錯了... :P 會後還有小活動,去西湖聚餐啊啥的,也都是歡歡樂樂蹦躂蹦躂地就去了 (^-^)V

p.s. 哈哈哈我一定要提一下這位小萌妞,不是我家的我沒娃,是旁邊展台技術大神家的小公舉... 妞妞特別可愛特別甜,和我們聊著聊著就聊開了 ^?^後面她粑粑想去會場聽演講,我就幫著帶帶,吃東西聊聊天,然後妞妞說要去找粑粑,我就帶她去會場了,結果妞妞一見到粑粑就大喊一聲「爸爸爸爸!」嚇得我當時小心臟都快蹦出來了...... 趕緊和她粑粑把娃拎出去 T﹏T

● 參展後:今天是會後第一天,在群里已經看到大家在熱火朝天地討論明年的大會地點啊,演講嘉賓啊等等,趕腳我的參會之心瞬間又被點燃了呢~ 明年快來吧 ( ⊙ o ⊙ )!

總結一下,非常開心和溫暖的一次活動,超 cool ~

感謝 Ruby China 社區,感謝國寧@呂國寧,姜軍@姜軍,閃總@曹力ShiningRay,和所有的工作人員,雖然我不是程序媛,但是也發現了程序猿身上的很多閃光點,單純善良,認真好學,而且又不失格調和幽默感,哈哈哈對程序猿的好感度瞬間提升了好多呀~ (*^__^*) 嘻嘻……


「ruby語言從入門到換棧」主題討論大會


吉祥物是法海,有三重含義

1:終點是沒頭髮

2:現狀是沒女朋友

3:目標是打python


作為一個才入RoR(Ruby On Rails)的技術小透明,今年第一次參加RubyConf. China, 充分感受到了Ruby社區的寬容、進取和探索。

寬容

Erlang、elixir 紛紛來踢館。但畢竟「Ruby increase programmer happiness!」 相比之下,這兩種語言比較晦澀,所以洗腦效果不佳。

第一輪抽獎環節,一個Python程序員,一個iOS程序員被抽中了。大會討論群里「我們中出了一個叛徒!」此起彼伏。但大家也就講講,並沒有群毆Python和iOS程序員。

進取

相關講題有:

- ruby和nginx的結合

- ruby非同步

- ruby在實時通訊領域的實現

- ActiveRecord的高級功能

- ruby項目的docker部署

- 打包ruby項目成可執行文件

- mobx-ruby前端聯動編程

- rails模板里嵌入前端開發

- 函數式編程

- Gitlab 等等

探索

- 區塊鏈(Ethereum on Ruby)

- 機器學習(如何鑒黃、如何用Ruby進行機器學習的開發)。

大會內容十分豐富,有深度,參會者在會場、在微信群里也展開了激烈的討論。

感觸最深的是下面三點:

1. ruby的優點和缺點

目前體會到的是:Ruby建站很快,但性能存在瓶頸。但如果網站用戶量級不大,Ruby

on rails 是完全可以滿足。之前加入一個小型團隊,用ruby搭建網站飛快,基本功能模塊迅速拔地而起。

我知道「php是世界上最美麗的語言」。

但是美麗的語言,用戶看不到!用戶需要的是靠譜的產品。

語言都是工具,產品才是目的。

不到100個用戶時,先別操著100萬用戶的心。

先踏踏實實用ruby開發,賺到錢之後,再重金請大神來幫忙想辦法,重構代碼也不遲吧。

2. ruby和python 可以是好基友!

如今,Python在Data Science和Machine Learning領域,已是主流。會議上,iHower老師講機器學習時,提出了**「Ruby 和Python 才更應該做好朋友」!**不能更贊同。

Python,Ruby都是編程語言,都是術,哪個能用?哪個好用?哪個適用,就用哪個。就像《天龍八部》里的段譽,六脈神劍、北冥神功、管他是大理段氏的,還是逍遙派的,哪招好用,就用哪招。能打敗慕容復就行。

在機器學習里,對於大數據:

- **訓練部分**,我們可以直接使用Python方案

- **預測部分**,可以用pycall, 直接調用Python程序

一句話:用Python跑數據,再將計算得出的神奇權重值——w,導入我們的ruby代碼就好啦!

Ruby和Python可以是一對好基友!

3. 大神的乾貨都好乾!

聽各位大神掃代碼,有種站在喜馬拉雅山下,仰頭,望不到頂峰的感覺。

有幾場,大神全程密密麻麻刷代碼。看了一條簡訊,回頭就跟不上了。不過,想要在這麼短的時間,就明白大神花那麼多時間才研究透的精髓,我們也是想太多了。

就讓大神為我們打開一扇窗,看看那些奇妙的新世界吧!

就請大神多多寫幾個好用的gem,普渡眾生吧!

期待rubychina 上,各大神的ppt和專門討論區塊,快快上線,便於大家進一步學習和討論。正所謂,大部分目前我還不懂,但希望有一天能懂!

期待明年大會能多一些:話題爆、帶乾貨、字元不比圖片多的講題

最後

大會包飯,自助餐能吃飽,茶歇還有小蛋糕!300元的會費,要啥自行車!

缺點

不能盡說優點,這樣顯得不誠懇!

這次大會唯一的不足,就是飯店烏龍事件。因為好多小夥伴定了原先說的會場——海外海國際飯店,結果是海外海皇冠大飯店。不過大會後來提供了接駁大巴,及時補救了。

本人今年才開始學習使用Ruby,觀點難免有失偏頗,歡迎大家指正。

總的來說,感謝Ruby Conf. China 2017, 讓我膜拜了大神,拓展了視野,引發了思考,結識了很多小夥伴。

期望Ruby社區的 寬容、進取、探索精神永續下去!

微信公眾號「愛莉莎的雪月花」歡迎關注!


票價良心,伙食好


第一次參加,感覺非常好。辛苦組委會,辛苦姜軍了。

閃總主持亮眼,身材好棒,哈哈。

因為時間原因,聽了第一天和第二天下午兩場。

第一天印象很深的是丁隊長的 Midori 和b大的。 Erlang,好像今天丁隊長在廣島也要講midori。

本來第二天是很想聽第一場的topic的,後面想看看有沒有視頻。

總體的感覺是,Ruby 社區非常開放,完全不限於 Ruby 和 Rails 。明年有時間,也還是想來參加。也想去日本的 Ruby Kaigi


想做個失敗人士


我覺得ruby社區是一個很包容的社區,然後伙食比go大會吃得好。


我是做iOS的


我是來歪樓的o_0

鄙司在上海找Ruby程序員,歡迎投遞簡歷,詳情請參考

https://zhuanlan.zhihu.com/p/27677952


第一次參加RubyConf china大會,感覺收穫不少,現場氣氛不錯。

不過我倒是有偷偷的聽睡著了,有的內容太燒腦細胞了,聽著犯暈。

還有中央空調的溫度有點過低了,我同事第一天上午直接被吹感冒了,我還特意跑後排去找主持人曹力幫忙安排把溫度調高點

同時很期待下一次的大會


作為一個寫了ruby兩年 我還是喜歡 ruby的 可是在技術上 我和同經驗的人比 還是用心不夠 見識淺薄 這次 想去參加 我也是抱著一個長見識的心去的 說實話 很多都技術我都第一次聽 不要噴我 但是當時想去 就想著不去我更不知道 所以 去了 覺得是一次非常值得的conf 很慶幸 沒有錯過


作為新手的我,只能分享自己能勉強聽懂體驗,大神勿噴

第一個是來自彩程的周藝同學關於docker部署的分享,很好的給聽眾講解了分析問題的思路。

(我個人也比較喜歡這種形式,會議中不要太多的代碼演示,更多的是跟聽眾說,為什麼要這樣做,我們是怎麼分析的?我們拿出的解決方式是?還可以如何改進)

第二個是下午第一次B大的分享,B大以一己之力怒寫earlang,提問其實十個有8個是懵逼狀態,另外的兩個乘機眯了一會。

第三個是金數據姜鵬的分享,一上來就滴學生卡。整個演講詼諧有趣,讓大家深刻的記住了,「小姨子」這個神奇的辭彙,順帶了一下機器學習在金數據當中的應用。我終於聽懂了svm向量演算法!!!

第四個是最後壓軸的庄表偉老師的演講。

來自華為內部的演講,全程0代碼,無尿點,乾的剛剛好,值得細細品味。可能也得益於庄老師平時在內部的演講。從內在來的從容和自信。(由於前一個同學,講的函數式編程已經嚴重超時了),所以後面庄老師的演講速度比較快。但由於基本上是想法和做法的交流,所以理解起來特別輕鬆。

並且分享了一個很典型的問題,就是一個公司需要怎麼做開源?尤其是二次開源。

對於有部分的議題往往是,我一出去回來,卧槽,聽不懂了。

也有另外一種原因,可能覺得自己目前還用不上,沒怎麼留意聽。周六會議還好一點,周末店裡電話太多了。手機響個不停,為我周邊的同學致歉,影響你們的聽課體驗了。

還有一個抽獎環節,應該是會議上吐槽的比較多的。那個程序是臨時寫的,前面兩列的數字就沒有超過09(從0開始為第一排),所以基本於11後面的同學無緣。然後群裡面就開始討論如何分Bitcon的問題,還有如何利益最大化的問題,果然是一群闊愛的程序員。

最後要真心感謝大會的組織者們,我15號晚上去做了半天「志願者",發現姜軍/REI/MARTIN/小紫/他們提前做了很多工作。還有倔強使用Linux作為操作系統的B大,提前一晚就過來調試解析度,這真的讓我服。

關於杭州:

作為第一次出省的農村小伙,一去到杭州各種卧槽卧槽卧槽,真的有被驚艷到。

還有「古老」的電車公交,城市規劃的時候,留出的電動車/單車車道,加快效率的高架。

熱心的浙江士司機們,其中還有一個司機跟我探討了,電信運營商們發展的方向。還有就是西湖邊周末打車超級難,無論是滴滴還是的士,我周六晚上傻了吧唧的等了一個小時才打到車回酒店。

還有一點比較好玩的是,杭州的風特別清爽,不像深圳一樣吹起來乾乾的,杭州的風有一種很愜意的感覺,周六晚上,大部隊組織去了西湖文化廣場遊玩,由於過去時間太晚了,吃完飯就十點了,天黑黑的,想拍個照也一片黑漆馬虎。

杭州的美食有點偏微甜,對廣東佬來說,吃的不太習慣,但有種很傳統的杭州小店感覺,很好。

明年,我們上海見,我的好基友們。希望我能賺多兩塊錢,給大家也弄點獎品。


我就想問有人還記得2013的ruby大會么。。那陣容真他媽的全明星啊。。。。


整體來看,兩天下來乾貨太多,subject 包容性強,不只是ruby。會場氛圍很好,場內場外大家都很活躍。值得再去的大會!


讓我這樣技術一般的二流程序員,有了驅動自己的力量。


推薦閱讀:

《面向對象設計實踐指南:Ruby語言描述》
windows10下用gem安裝jekyll失敗,怎麼辦?(已解決)
brew升級後ruby報錯怎麼辦?
關於完全聽不懂 Ruby 元編程在說什麼的事(零)

TAG:Ruby |