如何評價博客園上的博文《 開發人員要亡新浪微博,你攔都攔不住!》?

開發人員要亡新浪微博,你攔都攔不住! - 初碼 - 博客園

早就說了,如果PHP、Python之流的邏輯不健壯的非科班前端開發人員如果把持了技術話語權,那做出來的產品,絕對是垃圾中的垃圾

很不幸的是,新浪微博就是這樣一個典型

完全無法想像,一個藉助新媒體之風體量不斷攀升的百億美元市值公司的產品管理和技術管理,能夠爛到如此程度

隨便說幾個吧

1、桌面端Web的登陸,2年多了,幾乎沒怎麼改過,二維碼登錄無故反失效、獲取手機簡訊點驗證碼框,竟然能夠又彈出二維碼,這個問題反覆出現,這不,寫這文章之前我又遇到了

2、桌面端Web的註冊,不止1波人在這個地方抱怨過莫名其妙的邏輯,我已經記不得是什麼問題了,只記得無意中都看到過不止10人吐槽這個註冊

3、桌面Web的Cookie頻繁丟失,而且毫無規律,有時候1個月不失效,有時候沒做任何操作突然就失效退出登錄了

4、桌面端Web裡面的長圖文閱讀,莫名其妙的有時候打不開圖文,打開的時候使用Ajax效果,看上去好像打開圖文了,再刷新頁面還是這個圖文,還是這個地址,結果回不到上一頁了

5、桌面端Web好不容易從Flash改到H5播放器了,你麻痹的能不能調試好H5瀏覽器和流媒體服務端再發布出來,我就想問問有多少人用現在的新浪微博H5播放器可以隨意拖拉進度而不卡死的,更他媽搞笑的是,點開這個視頻的連接,到了新的頁面,又變成Flash瀏覽器了,尼瑪的你能不能固定一種方式。。

6、桌面端Web有的評論載入是Ajax無刷新方式,有的時候,點更多評論就是打開新頁面,尼瑪的你能不能固定一種方式。。

7、手機端問答付款就是一鍵付款,桌面端Web問答付款就要輸入支付寶賬號手動支付,尼瑪你能不能固定一種方式。。

8、點贊,有的在手機端就能取消,有的在電腦端才能取消,還很隨機,點贊了被刪除的微博,還不能取消贊,尼瑪的強迫症的人簡直要死。

9、手機端App尼瑪的能不能給我一地方直接可以看到我發出的評論。。。

10、手機端App到現在為止發帖失敗都不說個原因,直接進草稿箱,然後請在草稿箱中看原因。。

11、手機端有時候打開消息看到評論數但是看不到內容,再下拉刷新一下,轉發變成0了,評論數不變,再下拉刷新一下,轉發數有了,評論數變成0了,尼瑪,你能不能穩定的出錯,而不是變著戲法的出錯。。

我的號才10個粉絲,估計粉絲多的人,用起來遇到的問題更多!!

事實上,以上問題

都他媽的是垃圾前端向的垃圾開發人員做的來的垃圾產品和垃圾代碼導致的!

看問題要看長遠,讓子彈再飛一會,微博糟糕到無法重構的技術架構加上被馬雲忽悠的全站上阿里雲的愚蠢策略,會把這兩年從網紅和直播概念上獵取到的紅利揮霍殆盡,時間大約是2年,所以現在已經是最高點了,有新浪微博股票的人趕緊拋吧
粗狂的流量增長,掩蓋了微博產品團隊和運營團隊的低能,幾大巨頭中,開放平台5年沒有典型創新和高速增長的就屬微博了,一大幫網紅,在無形調整中留下的精華者會最終帶著微博粉絲紅利導向其他渠道。

中午登錄微博老是失敗,這樣噴一下真爽啊


除了這些,純技術上的問題還有:

1. 經常驗證碼輸入後必須要等一會然後再點submit,否則很容易報驗證碼錯誤。

可能邏輯是「用戶停止輸入—&>無提示的情況下發送ajax驗證—&>用戶點擊按鈕—&>讀取flag—&>還是默認值false—&>提示驗證碼錯誤」,這個問題從五年前第一次用新浪就有,到現在還沒修。

不過,我覺得不管修沒修,能寫出這樣的邏輯也是怪厲害的。

2. 都2017年了,前端框架都豐富到這個地步了,批量取消關注居然要刷新整個頁面並且不會記錄刷新前刪到哪,之前長時間未登錄被某神秘力量盜號並關注了一堆營銷號之後清除關注列表你知道有多痛苦嗎?

等等!這好像是個feature!

3. 由於相信新浪是一家有操守、有擔當、有態度的科技公司,所以盜我號的神秘力量一定不是新浪自己,考慮到我的新浪密碼與其他地方都不一樣,並且很長時間沒登錄過卻被盜號了,唯一的可能就是新浪被脫褲了。

對,一定是這樣,所以這也算是技術問題吧(笑)

-----------------------------------------------

講真,任何商業公司的成敗,技術都不會是唯一因素甚至不是主要因素,這難道不是常識嗎233333


我就想知道我該怎麼解綁已經被註銷的手機號……

點擊「更換登錄手機」

只能獲取驗證碼,好那我繼續

點擊「收不到驗證碼」

彷彿看到了勝利的曙光,點擊「使用其他手機接收驗證碼」(之前已經綁定了新手機)

??????

合著我換個手機號收取驗證碼,還要驗證原手機號?

點進去

……

多麼完美的循環啊(摔)


新浪是我碰到的唯二重置密碼需要向他發簡訊的互聯網公司...另一個是CSDN

評論里提到還有QQ…


這個和開發人員和技術有什麼關係?你應該去吐槽產品啊,測試啊啥的。


瀉藥……

移動版的事兒我不知道,所以有關移動版的那些問題(吐槽)我答不了。

我一直是在微博 PC 端,5年左右,就說說 web 桌面端的吧。

首先微博 PC 應該是沒用 python 的,應用層用的 PHP,不過,就算用了 PHP 期間還有 PHP 語言作者之一鳥哥加盟。鳥哥作為基礎架構組的老大,微博業務基礎架構(非平台基礎架構,平台是用 JAVA 的)部分大量的使用了 C 開發,並作為 PHP 擴展調用。因此「邏輯不完善的非科班前端開發人員如果把持了技術話語權,那做出來的產品,絕對是垃圾中的垃圾」 這句肯定是不符合的。

反而裡面提到一堆平台基礎服務糟點,如 SSO 等,反而是 「有邏輯的 JAVA 科班程序員」 搞出來的呢,看這臉打的。

要知道你認為的 「有邏輯的 JAVA 科班程序員」 有些人在工作配合的時候,可以開發 4 個介面就用 2 周多時間,給了介面還不能用,因為沒重啟 tomcat,然後重啟一樣下就需要 6 個小時才有結果呢(這句純吐槽某前同事,哈哈哈)。

好吧,說正經的。

PC 桌面端 Web 主站常年(&>3年)僅有 1 個專職前端維護與開發。這得益於微博在 11 年時候前後端通力配合切換為 Bigpipe 架構有關。之後的 2 年微博前端同事們在 PC 端又積累了相對豐富的業務組件(pagelet),在後期(15年-16年)通常一個周邊業務(如熱門微博、視頻等)完全不需要前端支持,僅需要後端根據業務所需 pagelet id 輸出相關組件即可完成開發。

基於這套架構,微博 PC 在 V6 改版時,主站僅投入了 1 個半前端就完成了任務。

周邊業務改版的時候,如話題管理相關,前端人員不夠臨時加了我開發。而我也僅僅只做了新 pagelet 所缺失的聯動選擇組件、模塊選擇組件等 3 - 4 基礎組件,就完成改版任務了,其他 pagelet 都是後端根據現有組件 id 拼接輸出的。

常年就 1 前端的客觀環境下,現在僅僅是被吐槽交互細節做的不好,我覺得也是情有可原了,換了其他公司,常年 1 個前端,可能連產品都開發不出來,更別說維護微博 PC 端主站這麼大個攤子了。

那你說公司為啥不加人?抱歉,微博移動為先戰略已經實施四五年了吧,公司戰略早就不在 PC 上了,沒有資源投入,怎麼可能有更好的交互細節呢。這玩意又不是魔術,能不化任何人力成本憑空變出來。

再說長文閱讀問題,顯然 feed 中打開時是浮層開啟,並對可支持 history API 的瀏覽器做了 url push,用以保證 feed 中閱讀長文時,url 是長文落地頁 url,並且該 url 具有可傳播性。所以一刷新肯定是到長文落地頁的。

順便說一下長文服務,至今基本開發與維護是一個前端一個後端扛的(除去封閉開發時候)。最開始時候就 4 台前端機,加上冗餘一共 8 台,陳赫那事兒高峰訪問量過億(好像是 4 億?記不清了),臨時加到 12 台扛住。對比此地的樹莓派集群,差別天上地下。

看到其他回答里還有說 「微博裡面的內容竟然是 JSONP 裡面放渲染好的 HTML,我當時就在想,這個架構真的能夠維護么?」 的,這是真不懂 BP 架構啊,這種架構如果不能維護,那常年 1 個簽前端是怎麼撐下來的,內哥們是神么?而且,這是順便也黑了 facebook 的架構水平不行吧。

說白了,這些吐槽只是眼界問題,基本上是光看見表面瑕疵了,認為驢糞蛋表面光的就是好東西,深一層次的就當看不到了。BP 什麼也不不知道,明面上的功能也不會去走腦子想。

拿我最清楚的長文來說吧,沒見在 APP 里開那麼快,為啥?因為那是 native view 不是一個頁面,而且這個 native view 不是 React Native,是端上解析了一個 HTML 子級繪製的,並對嵌套和節點位置有嚴格規定。這就要求長文編輯器將編輯過程中(包括粘貼的)全量 HTML 精簡到符合 native 的子集上,怎麼做?開源編輯器辦不到,正則精簡更不行。所以編輯器是前端自己實現的,還寫了個符合(稍有精簡) HTML 5 標準規範中解析規範要求的 HTML Parse。這些東西都是 2 周左右的封閉開發時初步搞定的。

按這個吐槽,讓他們來找個 「邏輯健壯的科班前端開發人員」 同樣來一遍,看看時間和質量上是否能到達微博現在這樣。顯然,他們中大多數人第一反應就是 「github 搬運一下」 吧,呵呵。

最後再講下話語權的問題。微博前端人少,沒話語權是近幾年圈內眾所周知的事情了(指望PC用戶全部業務划了划了不到 10 個前端有話語權?做夢呢),話語權在誰哪裡?後端開發么?顯然也不是。跟大多數公司一樣,話語權一直在產品手裡(看我微博相關時段是怎麼懟產品的就知道了),總話語權在微博最大的 PM —— CEO 來總手裡。

ps:利益相關,前渣浪微博 PC 業務前端。

--------------------------------- 分割線 ----------------------------------

一般不曬人,今天破個例吧,題主這個問題,引來不少無腦黑,看評論就知道了。

這是屬於看都沒看就瞎嗶嗶的吧,起碼可以肯定的是沒看完,要不完全就是睜眼瞎,我回答里最後都 「說利益相關,前渣浪微博前端」,還跟我說啥趕緊離職換平台。這不是來一本正經的胡說八道么。然後,還個人表示無法看懂他表示的紮實的技術是什麼,可能是 「一本正經的胡說八道」 吧,這個我是在學呢,的確功力不夠。


可能博主在寫微博爬蟲, 被各種不固定的規則氣到了...


引戰?

&> 如果PHP、Python之流的邏輯不健壯的非科班前端開發人員如果把持了技術話語權,那做出來的產品,絕對是垃圾中的垃圾

這句話我沒讀懂,是說前端都應該用 C++ 或是 Java 寫?

不過講真,這些問題首先得懟到產品經理頭上吧?驗收怎麼過的?昂?


原來是自己用的不夠爽怪程序寫得爛啊,如果是這樣的話,第一個要亡的是知乎。新浪微博無論是伺服器的健壯性也好,還是app的質量也好,都比知乎強100倍(逃


我只知道新浪微博在最初是沒有專業的產品經理的。


我N年不用的手機號沒法換綁,除了手機號,其他驗證方式齊全,真不知道是什麼邏輯


一看見開發人員xxx就點進來了,評論一水的語言罵戰,整篇文章全在無腦噴。

來臉伸過來。

我一巴掌。

誰告訴你,一個產品是由程序員決定的了?

你是程序員嗎?

你寫過代碼嗎?

你走過流程嗎?

你知道什麼是產品經理嗎?

神他喵要開發人員背鍋?

還必須要前端背?

我一個服務端的都看不下去了。

拜託,一個產品的走向,是產品經理來把控的。像新浪微博這種大產品的走向,有無數個產品經理一同決策未來的發展方向,程序員只是負責將產品經理的奇思妙想轉化為現實。

我也不是要產品經理來背鍋,我只想說,你可以評論一個產品的好壞,但是你要是來引戰,你就不是一個好人,再說,你這麼屌,新浪微博的產品經理怎麼不是你?

隨隨便便開個話題,加個PHP和Java就能引起程序員集體高潮。

程序員還真是「可愛」。


當年寫微博爬蟲的時候,自己做了個大死,write spider the hard way, 選擇了爬微博網頁版(http://weib.com)。

真是被微博的前端震驚了,這尼瑪登錄的時候SSO跳來跳去,噁心壞了。然後微博裡面的內容竟然是 JSONP 裡面放渲染好的 HTML,我當時就在想,這個架構真的能夠維護么?

事實證明,的確不能,我寫好的爬蟲穩定運行一年都不用改的。


我新浪微博賬號不知道為何被封了,感覺是chrome某個插件引起的,申訴了N次都沒有答覆,而申訴說明上寫的48小時回復


我覺得微博的技術還是可以的,至少從後端來講,肯定是不會差到哪裡去的。每天支持那麼多的訪問量。除了正常用戶外,還要面對千千萬萬的採集機器人。任何一個寫得不夠合理的爬蟲都可能讓一個小型網站掛掉,何況這是千千萬萬的爬蟲啊。PC端由於門檻較高,很多玩爬蟲的都轉向移動端,,所以移動端承載的流量肯定是特別大的。之所以驗證機制會比較複雜,其中一部分原因也應該歸咎於爬蟲的原因吧。以前聽過攜程一個反爬蟲工程師講他們反爬蟲的故事,專門為一個爬蟲發布了一個版本,這也夠窩囊的。。。

我覺得體驗不好其實很大一部分原因該歸咎於產品經理,國內程序員每天都被壓榨著,忙都忙不完的工作,估計也沒太多時間像正常用戶那樣子體驗自家的產品吧。而產品經理的話,職責本來就該是設計一款優秀的人機交互產品吧。

利益相關:

程序員(所以幫微博的技術人員甩鍋)

分散式微博爬蟲作者ResolveWang/WeiboSpider (從一個寫爬蟲的角度來看微博系統確實不簡單,但是好的技術不一定能給用戶帶來最好的體驗,比如12306的驗證碼。。。)


看了大家的回答,我就納悶了,為什麼這麼多人說應該產品經理背鍋?

作者列出的bug,不管前端後端,很明顯是業務代碼出的問題。

就說第一條「點擊獲取驗證碼會彈出二維碼」。

難道是某一天產品經理指著交互設計說:「研發,今天你們去實現這個功能,當用戶點擊獲取驗證碼的框的時候,給他彈個二維碼出來。」

這也太扯了吧。

雖然說「程序員只要把產品經理的想法實現出來」,但並不是每個程序員都有能力完美實現任何功能的。

該自己背的鍋就自己背。


題主你得罪人了,你的第一句話讓1024er看了很不高興。


你多關注幾個新浪的員工,你就會發現,他們自己也一直在噴這些.....


通過這個問答,你們知道前端的核心競爭力了嗎?


不請自來:

1. 不要拿微博來黑這兩門語言了!微博使用python和php並不是很多好吧。微博服務端語言目前使用較多的是java,有少量php。基礎架構服務語言主力是java,C/C++,目前go異軍突起。

2.業務bug與語言無關,與人有關。目前就我看來微博是產品導向的,開發與測試沒有話語權。但是與其他很多公司一樣,有些業務線產品在開發過程中沒有詳細文檔,測試與開發人員在品控上很難有標準限定,累積久了就會有好多小坑。這些小坑有一個boom掉影響都會很大。

3.關鍵原因:微博近年來公司結構轉變頻繁,實際人手不足。據我所知有個別業務線甚至沒有專門的測試人員。產品需求難以理解,又沒有專門測試,開發一個人想搞也搞不定吧。

PS: 這正是個好機會啊,如果題主想要改變這種「爛攤子」的現狀,歡迎來微博擔任主力開發或者是領導,然後把技術水平提升一個凳次。


是時候讓垠神回來拯救一把了


推薦閱讀:

C/C++ 中 0 與 NULL 區別是什麼?用 delete 時,用 p=0,還是用 p=NULL 好?為什麼?
考慮R值引用,c++下多字元串連接,如何寫更高效?
C#轉C++開發,該歷經怎樣的學習路線?
如何評價Qt Lite Project?
什麼時候用異常,什麼時候用斷言?

TAG:新浪微博 | 編程 | Java | C | C# |