2016年10月29日 星期六

PHPConf 2016 Day1 主議程心得

        自從在facebook上加入了很多php社團,常常會看到很多活動公布在上面,不過幾乎都是平日晚上,遠在北投而相對晚的狀態,就比較難加入了,不過一方面也是因為懶,畢竟稍微遲到一下下,能聽到各式各樣業界人士非想還是蠻值得的。

        於是某一天看到PHPConf 2016的消息公布之後,時間一到就去買票了,說也巧合,本來10/29是我當初「一日北高」的預定時間,但到了六月的時候,腰突然發病,造成我整整三個月沒運動,想當然也達不到一日北高的訓練量,只好含淚售出了。

        寫這篇文章的當下,當初一起報名的另外兩個夥伴應該也快到了吧。


        phpConf 2016兩天的票是分開賣的,第一天主要是由講者分享php的想法、演變或實際應用,早上由國外的兩個大神,分別是Josh Lockhart(現代php的作者和Slim Framework、PHP The Right Way)、Sebastian Bergmann(PHPUnit的作者)做分享。

        Josh Lockhart這次的主題為:Become a better PHP developer.

        很多人常常會問Josh該怎麼樣變成一個senior developer,而在回答無數個一樣的問題之後,Josh整理出一套完整的觀念之後,在這次分享給大家。

        一開始,Josh就表明不會在這個topic裡面提到關於任何技術,或是任何的php code,因為要成一個better developer,所靠的不會僅僅只有技術,更重要的是必須要注意下列幾項事情:

  1. PHP is only a tool.
        PHP僅僅是達成目標的一種工具,並不一定把所有重點都放在php,或是php 單一framework,假設你會laravel,然後就每一個專案都用laravel去解決,那麼就是不適當的,正確方法應該是用適合的工具去解決相對應的專案,畢竟PHP is only a tool,人類解決問題的時候,當然不可能永遠使用一個工作去做。

      2. Work smart, not hard.

        這部分我有點忘了,大意就像句子裡所說的,用腦子工作,不要硬幹,如果已經有套件能夠解決你的問題(其實大部分都可以),那麼就不要自己重新寫一個,也就是「重造輪子」,自己寫一個的解決方法先不說品質,用優秀的套件的話,等於擁有一個上百人甚至幾萬幾千人的團隊同時在幫你維護專案,這戰力,猛!

      3. people is your assets

        Josh今天的重點幾乎都是圍繞在這點:「 周圍的人都是你的資產」。

       聽完整個topic之後,要成為一個更好的開發者,Josh認為最重要的還是在於人跟人之間的相處,這點在QA的時後也有一直提到,所以我之後會把這點單獨整理成一篇文章。

      4. keep it simple

        程式碼不光是寫給機器看的,也是寫給人看的,不管是哪天走在路上被公車撞到(轉述Josh口吻)讓下個人要接,或是未來的你回來維護,發現一堆髒code,一定馬上崩潰,所以最好保持程式碼簡單易讀,工作起來才會愉快又有效率。

      5. share knowledge 

        就像PHPConf上的講者一樣,當你學到一個階段之後,盡量把技術也分享出來,大家一起學習,問個問題,互相交流,甚至在網路上寫blog,都可以彼此幫助成長。

        或許學到的東西有些地方缺了,別人的提問可以幫你補上,也或許技術基本掌握了,卻可以從更厲害的人身上看到不同的角度。



        至於Sebastian Bergmann,說實在我幾乎跟不上,不知道是不是我沒用過PHPUnit的關係,他前面的投影片講解都聽不太懂,還有些參雜了有點像組合語言的東西,讓我意識到,似乎腦子也是要有點基礎才能再往上一層,就跟蓋晴空塔一樣(硬要提到)。

        後半段就大概介紹PHPUnit和php的支援期限,直得注意的是php5.6在今年年底,也就是2016-12-31之後,就不會再修復Bug了,所以Sebastian也強烈建議換到PHP7,效能、使用記憶體也都較PHP5好。

        而對於PHPUnit,Josh和Sebastian共同的看法是:「 我現在每個專案一定會用PHPUnit,無法想像沒有它會變成怎麼樣。」


        至於下午的場次非常多,有workshop、單一時間兩場講座還有兩位大神的QA,結果QA的到場人次很少,所以每個人想問的問題一定都會被問到,我也用破英文發問,結果好像大神們都聽不太懂,但還是很盡責地把自己的理解加上一些經驗鉅細彌遺的解答,一點都沒有架子。


∆ 開始前一分鐘的場地

        我選擇的講座分別是「 Refactoring to Collections - 從陣列重構談物件導向程式設計 」和「 用 Laravel + Vue.js 打造即時資訊看板 」。

        前著收穫蠻大的,不過當array裡面的value過多的時候,講者也提到這個topic的用法不適用,因為今天主要在程式碼可讀性,而value過多的時候效能也會不佳,這時候就要做個取捨。

        後者有點可惜,DEMO出來的成果蠻有趣的,但由於我沒有Vue.js的知識,Laravel也停留在基礎階段,所以沒辦法完全抓住己者的精髓。

        最後提一下兩位大神的個性,Josh Lockhart感覺比較像用功的大學生,殷殷教誨,講話的時候神情認真且語調真誠;而Sebastian Bergmann比較像是江湖走跳出來的,表情語氣都很靈活調皮,但是回答到重點的時候,表情會突然很嚴肅,但講完之後眼珠子一轉,又回到之前鬼靈精的感覺。

        蠻有趣的,兩個人都是PHP界的翹楚,個性卻是天差地遠。


∆ 左邊Sebastian Bergmann,右邊Josh Lockhart

        總歸來說,今天的主議程整體來說很不錯,工作人員人都非常好,會議廳環境很不錯,除了一開始幫Josh調電腦的時候似乎有點卡卡的,但整天下來,專業度還是挺高的。



沒有留言:

張貼留言