2013 QConf上海软件开发大会总结
帶著工作中的一些疑問,我參加了在上海舉辦的QConf 全球軟件開發大會。會議以主題的形式按分會場召開,我主要選擇知名網站案例分析、大數據處理技術、高效能團隊建設和金融系統架構與設計四個主題內容。三天會議下來,通過和業界的前輩和同仁溝通交流,加深了我對一些問題的思考。下面結合我個人理解和會上的所見所聞,從四個主題方向分別進行介紹。
1. 知名網站案例分析
該主題下,我主要聽了阿里巴巴帶來的“跨境網站性能優化的挑戰和思路”。背景是:跨境電子商務網站,由于各種原因如買家分布地區分散,而賣家多來自國內,并且嚴重依賴于搜索爬蟲引流而使得性能優化的手段受到很大的限制。這些特點決定了優化思路與傳統的網站思路會略顯不同,也會出現傳統網站不同的問題。主要有兩類:
a. 爬蟲依賴問題,性能優化手段受到了很大限制:網站性能的優化,很多時候是通過異步加載(Ajax)實現用戶體驗的提升。由于該網站依賴搜索引擎的引流,導致不能通過異步加載方式提高性能。原因很簡單,搜索引擎需要解析網站的內容來決定該網站與搜索關鍵字的匹配程度,而如果使用異步加載網站內容,則搜索引擎無法抓取網站內容,導致網站排名靠后。但是,如果不降低響應時加載的內容,在網速不變的情況下,性能是很難得到大的提升的。最終的解決方案是,Google出臺了一套標準,通過在網頁源碼中增加特定標簽來解決該問題。即正常訪問時,網站仍然是通過異步加載方式加載頁面。當爬蟲抓取網頁時,如果遇到前面說的特定標簽,會自動發起第二次請求獲取網頁內容。聽到這個解決方案后,有人會提出,其實我們自己也可以識別出爬蟲訪問和正常訪問。然后,根據不同的請求源,采取不同的加載方式。理論上,這種方式是可行的。但是,商業經驗告訴他們,這種迎合爬蟲請求的方式是有可能會受到反作弊程序的懲罰的。所以,商業社會,不僅僅是技術的考量,還要有商業因素的考量。
b. 買家分布在多個國家,網速差別非常大,如何保證性能:即使網絡通暢的情況下,物理距離本身就是一個問題。解決的方法是在不同的地區分別部署服務器,增加靜態文件的緩存力度,通過CDN將請求分發到距離最近的服務器。維護的過程中,需要查看CDN的回流情況,如果回流比例太高,需要仔細檢查引起回流的原因。只有回流比率較低,即大部分情況下命中緩存,網站性能才能有保障。
2. 大數據處理技術
該主題下,我主要聽了由百分點公司帶來的“照進感性世界的大數據之光”。背景是:工業技術發展使人各方面的生活需求被大量、迅速的滿足。但以服飾搭配為典型代表的感性需求,仍然一直被視作技術難以企及的禁地,因此無法大規模的自動化、量產化。大數據,給予了互聯網從業者突破這一禁區的可能性。
在推薦系統領域,之前的推薦多是滿足客戶的理性需求。舉例而言,一般用戶在購買三星Note3手機時,大部分人都會購買一塊某品牌的電池。基于統計結果,推薦系統可以非常容易地推薦新購買三星Note3手機的客戶該款電池,而且推薦的成功率很高。而所謂的感性需求是指非標準化的,難以度量的以及非常個性化的需求。服飾搭配就是典型的感性需求,每個人的愛好都不一樣。一般的統計方法,無法找出規律。例如,有的人喜歡白色包搭配紅色的上衣,而有的人喜歡黑色的包搭配紅色的上衣。最終的解決方案是從兩個方面入手,解決感性需求。首先,基于個性化數據進行挖掘提高推薦準確性。其次,分析客戶之間的相關性,推斷某個客戶時,利用相似客戶的數據集提高推斷準確性。
3. 高效能團隊建設
該主題下,我主要聽了由豌豆莢帶來的“如何通過文化建設來提升團隊效能”。他們認為:文化是一個人群的共同特性,是他們在具體行事中的思維方式的一種內在基礎與外在表現。文化建設一定程度上來說是對這些共同特性的有意識的、主觀的刻畫。然而正因如此,所以文化建設既是有排他性的,也一定存在被團隊中的具體個體所排斥的問題。 所謂“好”的文化不是無視這些文化自身的問題,而是在文化建設的基本原則、規則與邏輯中找到一個合適的方式來消化這些問題,使文化與具體行事之間得以契合。因此一切無視文化的實效性,而空談文化建設的行為都無異于耍流氓。
我理解豌豆莢作為一個創業團隊,在從幾人、幾十人到兩百人的團隊規模的快速推進中。主要通過四個手段解決個體特性與團隊特性之間的矛盾,并且做到在二者共洽以提升團隊的效能。a. 開放的團隊文化:不僅僅體現在開放性的辦公室(沒有老板辦公室),更加體現在思想的開放性。鼓勵團隊成員打破權威,追求內心的真理,挑戰CEO是一件沒有任何壓力的事情。b. 自上而下的匯報制度:管理層定期的向全體員工匯報公司的發展情況以及戰略規劃,培養每位員工的主人翁意識。c. 信任每一位員工:公司內部沒有秘密,包括公司的盈利數字,賬上的現金等信息,都放在文檔庫里面。每個人都有權限,需要時可以查閱。一開始會擔心,員工泄密怎么辦?其實,沒什么可以隱瞞的,競爭對手可以從很多渠道知道你的數據,只要你的數據是真的就不怕泄密。d. 高效的合作方式:尊重每個人的工作時間,保證每個人工作時間的連續性。每個人都分享自己的Google日歷,需要開會時通過Google日歷即可,無需詢問。如果不想被打擾,任何人都不能干擾你的工作時間。
4. 金融系統設計與架構
該主題下,我主要聽了阿里金融帶來的“云決策平臺與應用”。主要分享了:互聯網信貸業務特性與問題、云決策平臺應用架構及解決方案和云決策平臺技術架構。阿里金融是當前互聯網金融領域做的比較成功的一家。他們基于阿里電商的交易數據,線上計算出客戶的信用等級。其中,對于易變的業務規則的處理和我所在項目的計算引擎非常相似。阿里也采用了Drools規則引擎來處理易變的業務規則。但是,我在使用過程中,遇到了性能瓶頸,速度非常慢。通過和阿里嘉賓進行溝通,他們在規則引擎的基礎上寫了一個編譯器,在編譯時將規則引擎文件編譯成Java代碼。因為,規則引擎文件在運行時是解析執行的,速度必然會慢,通過編譯后,運行時無需再解析,性能會有大的提升。這個經驗對我非常有借鑒價值。我們沒有人力去開發一個編譯器。但是,可以沿著這個路子,將規則引擎文件做成編譯器代碼,在運行時通過一次反射再調用,速度也會有大的提升。這也是我當前正在做的工作。
這次參會,收獲頗豐,美中不足之處在于每個專題的分享時間太短,導致內容的深度不夠或者忽略很多細節,相關經驗不足的人員聽起來非常費勁。所以,在會后,大膽的和演講嘉賓面對面的進行交流。不用“膽怯”他們很多人也是和我們一樣,出道不久。即使是非常資深的人士,也無所謂,參會的目的不就是為了提高自我嗎?學到東西才是最重要的。
轉載于:https://www.cnblogs.com/zhouwei0213/p/3426970.html
總結
以上是生活随笔為你收集整理的2013 QConf上海软件开发大会总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做一个健康的IT人
- 下一篇: Microsoft Azure News