雲風專訪|近40年碼齡,從通宵寫程式碼到三思而後行
小學時跟隨母親去成人大學學習程式設計,初中開始參加資訊學奧賽,高中寫出人生中第一個成熟軟體——Cview,大學釋出開源軟體風魂系列,後用於網易開發的《大話西遊》《夢幻西遊》等熱門遊戲,離開網易創立簡悅科技……
隨雲風在遊戲與程式設計領域的不斷深入,他的聲名也愈發廣為人知,成為大家口中的技術大神。“遊戲做得好”“部落格寫得好”“很極客的一個人”是大家對他的印象,“雲風大佬”“雲風大神”“雲大”是大家對他的稱呼。
《新程式設計師》專訪了這位集遊戲、程式設計、開源、創業、攀巖等標籤於一身的極客,深入瞭解其三十多年程式設計生涯與人生感悟。
作者 | 田瑋靖
出品 | 《新程式設計師》編輯部
一位43歲的中年人,已有三十多年時光與遊戲和程式設計為伴,恐怕全球都難找幾人。
生於1979年的雲風,在電腦還是稀罕玩意兒的20世紀80年代初,便成為了他的玩具。電腦沒有顯示器,用黑白電視接,將《兒童計算機世界》中的程式按步驟寫入、執行,就是最好玩的事情。
因為遊戲愛上程式設計,又因程式設計做好遊戲,雲風至今都在遊戲與程式設計的世界中感受樂趣。如果讓一個超過30年碼齡的程式設計師對年輕人說點什麼,他的建議是:想清楚再去做、多聽別人的聲音、抓住問題的本質、把複雜的問題簡單化、看清事物也認清自己、做事情要專注、信任和你共事的人。
雲風,原網易遊戲核心成員、杭州研究中心總監;後聯合創辦的簡悅科技為現阿里遊戲的前身。具有豐富的程式開發經驗。硬核遊戲玩家。早期在 cfido 和水木清華 BBS 發表了多篇關於遊戲製作的文章。1997 年開始維護的個人網站是最早用簡體中文介紹遊戲製作的網站之一,收錄個人文章超過百萬字,在遊戲界頗有名氣。
談兒時與玩具
《新程式設計師》:你從小接觸遊戲和電腦,大概幾歲萌生了對程式設計的興趣?
雲風: 我在絢麗的街機廳看到電子遊戲,是在八、九歲的時候,那時就想自己做遊戲。小學時也寫過程式,但不成系統。
在我五歲的時候,家裡買了一臺電腦,那是我爸的玩具。他給我寫了一些比較簡單的遊戲,也教我程式設計,但他覺得教不會。大概在我四、五年級的時候,課業較鬆,有很多自由時間可以支配,我就跟著母親去成人大學上一門Basic語言的課程,我每堂課都聽,並且認真完成老師留的作業。課堂上基本都是四十多歲的中年人,只有我一個小孩,老師自然也就認識我了。學完這門課程後,我做了一些小遊戲,但當時的能力還不能把東西完全做好。真正有把握寫程式,以及正式學習程式設計,是上初中後,1990年左右。
當時我所在的中學,素有奧賽傳統,包括數、理、化與資訊學。奧賽老師是我爸的大學同學,由於在當時想找一個會寫程式的人比較難,他就讓我爸去代課,我也順理成章地成為了我爸的正式學生。
初中幾年的奧賽經歷,讓我對自己的程式設計能力充滿信心,覺得自己什麼都能做。初三時還進了奧賽省隊,作為高中生的後備力量。那時,初中生參加高中奧賽就算拿不到好成績,也可以到上高中後繼續比賽,所以我在這方面非常積極。每逢暑假就去大學,帶隊老師按本科課程教我們計算機知識,演算法、資料結構、編譯原理等。
《新程式設計師》:那時的電腦有顯示器嗎?用這樣的電腦程式設計,是什麼樣的感受?
雲風: 很有意思,它對小孩來說就是玩具。我最早使用的電腦是Z80 CPU的港產機器——Laser310,這是一臺只有16K記憶體的電腦。為了接顯示器,在電視還沒有普及的年代,我爸就買了一臺舊的9寸黑白電視。後來在初中參加奧賽基本都是用Apple II相容機。學校機房使用的是中華學習機,由於我爸在學校代課,就從學校機房借了一臺放在家裡用。中華學習機比較簡單,它有幾本配套書,講解硬體、軟體系統,對於當時的我來說,這是特別好玩的玩具,玩了好幾年。
《新程式設計師》:喜歡程式設計是覺得有趣,還是因為在計算機稀有的年代,會比其他小朋友厲害?
雲風: 我從小到大身邊總有各方面比我厲害的人。我的父母屬於工薪階層, 經濟條件不是很好,沒有給我買很多玩具。家裡有一臺電腦,就覺得很有意思了,但早期沒辦法跟別人交流其中的樂趣。當時《兒童計算機世界》創刊(1984年),刊登一些有趣的程式,我拿到以後,開啟電腦。花兩、三個小時把程式敲進去,執行一下,覺得非常好玩。
上中學以後參加奧賽,並不是因為對比賽多麼有興致,而是因為拿到好的比賽成績可以被保送,保送就意味著不用參加高考。當然,後來沒有保送成功,高考前雖然沒怎麼複習,但成績也不算太糟糕。
《新程式設計師》:高中時為什麼會想做一個看書的軟體——C-View?
雲風: 讀高三時玩撥號的BBS網路(中國惠多網),大家用電話撥到一個固定的位置,傳送信件、下載資源。其中最多的就是電子書。在網際網路普及之前,BBS網路在國內流行了好幾年,求伯君、雷軍、馬化騰等人都玩過很長時間。
我從小到大都喜歡看書,但沒那麼多錢買書。我發現在電腦上看書可以省很多錢。在Windows還沒誕生的年代,DOS系統是使用最廣泛的,很多電腦甚至連硬碟都沒有。因此,我想做一個在軟盤上快速開啟的電子書軟體,並自帶中文環境。初期釋出在BBS網路,按照很多共享軟體的註冊頁面,照貓畫虎也做了註冊框,註冊費10塊錢,並留了收費地址。直到大學時間,都一直有人給我郵寄軟體註冊費。也正因為這個軟體積累了一些使用者,所以上大學後又更新了一個版本,後來被《電腦報》的光碟收錄,在全國發行。
談遊戲與產品
《新程式設計師》:最近在忙什麼?
雲風: 最近兩、三年,由於簡悅科技被阿里巴巴(以下簡稱阿里)收購,我就脫離了管理工作。然後,興趣使然,我做了一個3D遊戲引擎。原本計劃開源,但我覺得遊戲引擎需要完整成熟,才能培養出好的開發社群,因此在完善之前,還是閉源開發。因此,從2021年下半年開始,帶了五、六個人的小團隊,基於這個自研遊戲引擎開發遊戲。在做遊戲的過程中,能夠發現遊戲引擎的不足,逐漸完善它。目前是圍繞遊戲來完善遊戲引擎,等我們做下一款遊戲的時候,就可以逐步把遊戲引擎中通用的部分抽象出來。本質上,做遊戲引擎還是為了做遊戲,遊戲引擎只是其中的一部分。所以,我定義自己目前在做的事情,並不是遊戲引擎,還是遊戲。
目前在做的這款遊戲,是手機端的單機遊戲。定位於城市建設和自動化,基調和我近兩年喜歡玩的一款遊戲——異星工廠很相似。在2022年春節,我們剛完成遊戲的雛形。
現在的狀態也很舒服,不負責簡悅大團隊的事項,又做著自己感興趣的事情,按現在流行的話說,我已經財務自由了,不會為了賺錢去做什麼事,也就沒有太大的業績壓力。
《新程式設計師》:果然自由的基礎還是財務自由。
雲風: 財務自由只是一種流行的說法,其實,自由不自由不在於有多少積蓄,還是看自身的個人需求。我沒有太大的需求,自然就感覺財務自由了。當經濟比較獨立後,來自外界的壓力會小得多。但我自己還是有壓力的,因為我希望給一起工作的團隊一個交代,讓同事覺得工作有意義,生活也能過得比較好。
《新程式設計師》:你們現在忙嗎?
雲風: 還算有點忙,但至少我負責的團隊,從不鼓勵加班。我們在晚上六、七點鐘就下班,下班後也不談工作。在我看來,做開發這項工作,最主要的是把事情想清楚,再按照計劃好的工作時間做事。比如一件事你做了兩年,回頭看有多少時間在做有效工作?可能你做了很多無謂的事情,佔用了太多時間。你會發現,最終有效工作花掉的時間並不多。因此,要少犯錯誤、少走彎路,減少返工,這樣就會有很多時間被節省下來。如果事情沒有做好,我作為團隊領導者責任最大,是我帶著大家走了彎路。
《新程式設計師》:你認為做產品最重要的因素是什麼,怎樣才能做一款被大家認可並追捧的產品?
雲風: 其實我不太做面向終端使用者的東西,而是更偏底層,是給其他程式設計師用的。不過我認為,作為產品的首批使用者,首先自己要喜歡它,讓自己滿意。我不太贊成僅為迎合市場調查結果或別人的想法去做產品。自己喜歡的東西,總有人也會喜歡。如果自己不喜歡,就不應該參與這件事。
《新程式設計師》:相比其他領域,做遊戲開發的難點是什麼?
雲風: 遊戲的前端開發決定著一款遊戲給使用者呈現怎樣的畫面質量和互動效果,一個永恆的話題是把圖形技術做好,而圖形技術的發展速度非常快,也比較複雜,需要投入大量的時間學習,更新知識儲備。可能有些遊戲不在乎畫面,但在國內目前的大環境下,必須考慮這方面。而遊戲的後端開發,關係著遊戲系統的穩定性,系統不能出故障,即使出現問題也必須儘快修復。如果是單機遊戲,就不涉及後端開發。
另外,遊戲軟體和其他領域軟體,最大的不同在於時效性。通常,軟體開發關注輸入和輸出,輸入正確,輸出也正確,中間的過程無誤,程式設計師的事情就做完了。可能會去優化程式碼,讓它執行得更快。但在遊戲領域,如果不能在10毫秒內把任務執行完,拖延到20毫秒,就是不及格的,而這在很多其他領域,其實不是個事兒。遊戲領域之所以特別強調程式碼的優化,是因為“人”是整個系統的一部分。“人”的感受是決定了系統運作是否合格。10毫秒執行一個任務對使用者來說是“很流暢”,但20毫秒就意味著“卡”,損害了系統中“人”的感覺。因此,遊戲系統中的許多事務必需在限定時間內處理完,而這一點卻非常難以衡量。不同的硬體會有不同的環境,很難確定事務能否正確按時處理。
《新程式設計師》:很多偉大的專案往往由一個人或者一個極小數量的群體發起併成長起來的,但在企業裡,作為開發者缺乏高層決策能力,專案的開展也講求完美的計劃,多人頭腦風暴,你認為這兩者之間是否存在“矛盾”?
雲風: 我個人不太喜歡多人頭腦風暴,大部分時候都是在浪費時間,只有極少數頭腦風暴能帶來一點靈感。我們啟動新專案時,通常只在吃飯的時候,大家湊在一起聊一聊,很少在工作時間開大會。
首先,我個人比較反感開會這件事,我認為做好工作計劃,大家各自執行就好了,然後團隊負責人儘量瞭解其他人在做什麼事,做好溝通工作。一堆人為了溝通專門坐在一起開會,是非常沒有效率的。
其次,專案做得好不好,最為關鍵的往往只在一兩個人。
談開源與貢獻
《新程式設計師》:你是什麼時候關注開源的?
雲風: 在讀大學的時候,1997年左右,彼時網際網路剛剛興起,大家使用的大部分軟體來自盜版。有一次我買到一張光碟,裡面是各種各樣的非商業開源軟體。還買到過一套Linux的光碟。這給我帶來了很大的衝擊,居然有光碟中不是盜版軟體,而可以合法免費使用。我發現,其實這個世界上有很多軟體並不是商業模式的運作方式。後來,在學校機房下載到很多開源的開發工具,也做了一些開源的軟體,當時只覺得做開源軟體供大家使用是件很有意思的事,而且在這個過程中可以認識很多有趣的人,
當時大部分軟體是英文文件,沒有中文說明書,而我又很喜歡遊戲引擎。機緣巧合,我接觸到了Allegro ,我就加了他們的郵件列表,寫郵件討論問題或回答別人的問題。當時翻譯了這個遊戲引擎的中文文件,大概用了一個多學期的時間。因此還收穫了一個意外驚喜,我此前的的英文水平非常差,高考英文分數很低,大學第一次考英語4級也沒過。我從來沒想到翻譯文件能加強了我的英語應試能力。第二次報考英語4級,沒有備考卻竟然及格了。更巧合的是,我最近發現Allegro居然還在發展,而我最喜歡的異星工廠一開始就是用它開發的。
再後來我去網易工作,也是源於開源。當時網易做《大話西遊》的團隊,使用了我在網上開源的底層系統——風魂,網易希望我兼職做底層渲染的開發。遠端工作一個多月後,為了便於團隊間的溝通,才正式入職網易。因此,從機緣角度來說,是我先做了開源軟體,才進入網易做《大話西遊》系列,並且一待就是十年。在網易期間還開源過一些小專案,使用者比較多的一個專案是Google Protobuf(通訊協議),很多年都是國內遊戲領域的一個事實標準。
創立簡悅後,做了Skynet,它一誕生就用開源的方式,釋出在GitHub上。因為我當時在業界有點名氣,所以Skynet一經發布就吸引了很多使用者。這個專案從產生想法到衍生出第一個可用版本,不到一個月的時間,發展至今,一直有很多使用者在維護它、完善它。
這也是我第一個擁有很多使用者並一直維護的開源專案。早在大學期間的開源專案,都是自己把專案完善後才發到網上。之所以在 Skynet 雛形時就開源,是受 Linus Benedict Torvalds(作業系統Linux之父、Git的開發者,以下簡稱Linus)影響。2007年,Linux團隊與BitKeeper(彼時是非開源但有條件免費的版本控制工具)產生合作糾紛,Linus決定不再使用BitKeeper,大約三天後,Git(開源版本控制系統)橫空出世。可能最初連1000行程式碼都不到的Git雛形,一直髮展到現在。很多開源的大專案都是從一開始就在眾人眼皮下生長起來的。
除了上述事件外,我更多的是參與一些開源專案的開發。我們正在開發的遊戲引擎使用了很多開源的庫,基本每個使用過的開源專案,我們都參與了開發,包括提修改、修補丁以及與主要開發者交流等。另外,我覺得作為一個開源愛好者,甄選合適的庫也是很重要的能力,非常考驗一個人的眼光和讀程式碼的能力。
《新程式設計師》:您如何看待開源的發展及它對世界的影響?未來開源還會向哪些方向發展?
雲風: 世界上要解決的問題是非常多的,尤其是一些根源問題,但每個問題都只能找到極少的幾個人去解決。因為對於程式設計師而言,做得好的人和做得不那麼好的人,會相差幾個數量級。如果你需要解決的問題非常需要人去做的話,那麼可能你在世界上只能找到那麼幾個人可以把這個事情做好,不是說其他人做不好,其他人可能不關心這個問題,或者不是他的領域。如果這個前提正確,你就會發現很多基礎設施的問題和一些很專注的問題,若限定在一個公司裡邊,根本找不到合適的人。只有群體足夠大,大到世界範圍,才可以找到對的人把事情做好或把問題很好的解決,我覺得這是開源最大的意義:把特定的事情和擅長做這些事的人連線、聚集在一起。
正因此,不是所有的程式碼都應該開源,比如一項特別專注於某個領域或某項技術的業務程式碼,開源沒有意義,因為不需要有很多人蔘與。反之,越是能被大眾廣泛使用的專案,越值得開源。遊戲引擎同理,大家不需要把精力都浪費在同樣的事情上。
當然,開源的發展與網際網路的發展相互關聯,如果網際網路不那麼發達,就沒辦法把世界各地、各種各樣的人連線在一起。舉個例子,為什麼在早年間美國的大學之間會流行開源、黑客文化等?因為他們有自己的網路。當人和人不能順暢溝通的時候,就談不上做開源這件事,而開源又會極大地促進網際網路行業的發展,因此我認為,至少對於通用的、底層的設施,必然會走向開源,不應該有第二條路。
《新程式設計師》:你對中國的開發者在開源領域,有哪些期待或倡導?
雲風: 當我們作為開源領域的參與者或貢獻者時,最重要的能力不是程式碼寫得比別人好多少,而當我們作為一個開源專案的主導者,最重要的能力是與人溝通的能力,聽更多人的意見,求同存異。這和我們在公司當差不一樣,在公司裡,大家都拿工資,下級需要聽從上級的安排,但在開源領域,大家可能都是“為愛發電”,只有信任才能讓彼此更好地協作,把事情做好,因此,通過網路語言讓別人相信你的想法,願意跟你共事,是相當重要的。
另外,怎麼讓你的專案吸引更多人,一起把你的專案做好,也非常重要。拿到一個開源專案,私下做一個分支,我不喜歡這樣的開發方式,我覺得對於開源專案,如果它是一個基礎設施,所有參與貢獻的開發者就應該抱緊了朝一個方向走下去,即使這個方向有人並不喜歡,但可以先參與進去,慢慢將其修正為自己喜歡的方向,或逐漸改變自己的想法,儘量減少分叉。對於這種情況,你需要花費很多時間與參與者或使用者,也可以稱其為潛在的開發者,保持良好的關係。
談人生與感悟
《新程式設計師》:如今,你已經有三十多年碼齡了,在你的程式設計生涯中,從前和現在的做事方式或觀念有沒有一些變化?
雲風: 改變都是漸進的,從趨勢上來看,我越來越趨向於寫更簡單的程式,而不追求效能更好。但我想說,把程式寫簡單,不論是空間效能還是時間效能都更容易變好。效能是一種自然而然的結果,不必刻意追求。
現在做事情也更有規律。二十幾歲時,我經常通宵寫程式碼,一旦進入狀態能寫到第二天早上七、八點,還不覺得累,覺得一天能做很多事,非常有滿足感。而現在,我會在每天早上或頭天晚上臨睡前想好接下來要做什麼事、幾個小時完成、大概怎麼做,以及在每天下午四、五點鐘思考下一步的計劃。即使這個時間段我有很好的工作狀態,也會去想下一步該怎麼做、應該在哪裡停下來。在下班之前,我會把工作告一段落,並想好第二天怎麼接著啟動更好。如果是週五,就告一個大的段落,如果這件事比較重要,我在週末兩天也會思考,但不會動手做。把事情分階段完成,講究節奏,不傾向於突擊,是我在做事方面比較大的改變,三思而後行。
《新程式設計師》:以你多年的從業經歷來看,優秀的研發人員具有哪些品質和能力?
雲風: 很多能力都重要,近兩年我認為,比較重要的能力是抓住問題的本質。就是可以用足夠簡單的方法去解決根源問題,拋開中間的一些枝節干擾。
為什麼我會強呼叫簡單的方法?Keep it Simple and Stupid,即KISS原則。在20年前,我不完全理解這個道理,比如,我在大學期間以及剛畢業的時候,比較喜歡做程式的優化,讓自己寫的程式碼比別人寫的程式碼跑得快。很多年輕程式設計師和我一樣,都喜歡炫技。但我現在看來,這些事不是解決問題的本質。這與把事情做簡單有什麼關係?以前我認為寫出複雜的程式並且不出錯是一種出色的能力,可隨著時間的推移,我的程式碼需要被別人維護,可能還要和其他人合作,這時我們需要在這群人之間找到一個共同的基點,讓程式碼更容易理解。所以我們需要讓程式碼足夠簡單,讓別人一看就明白。什麼樣的程式碼是好程式碼?並不是看上去好像沒有問題的程式碼,而是看上去所有東西都清清楚楚,斷定它肯定不會出問題的程式碼。
最近幾年,我寫程式很少炫技。炫技在短時間內看,是用一個很巧妙的方法把問題解決掉了,但經不起時間的檢驗。把複雜的問題簡單化,對程式設計師而言是一項非常重要的能力。
另一項重要能力是評估事物的能力,知道一件事情大概是怎麼回事,需要多長時間完成,需要什麼條件完成,這是靠經驗堆出來的。也要對自身有清晰的認知,這樣你才能規劃好你做整件事情的流程和時間,減少返工。通常一件事誰都能做,比如,同樣是2000行程式碼,有人只需要兩天,有人卻需要兩週、兩月,為什麼?當一個程式設計師經驗不足時,他評估一件事可以用兩天搞定,但他可能又花費兩週甚至兩月來解決他做事過程中發現的問題,改錯、返工,導致和預期完成時間出入很大。這就是能力的差異,否則程式設計師的能力差異體現在哪裡?別人會的東西,你學習後也能掌握,所以真正在做事時,能力的差異就在於一個人的評估能力。
《新程式設計師》:那麼,有哪些人生感悟、研發感悟可以分享給大家嗎?
雲風: 第一,做事情要專注。想好一件事情就去做,只要花的時間和精力足夠多,不三心二意,這件事終究會給你回報。每個人的生命都幾乎一樣長,你不可能比別人多出很多時間和精力,你也不會比別人差在哪或好多少,那麼,一件事情做得好不好,就看你投入的時間多不多。但過程中是有方法的,不能蠻幹,時常回顧自己怎麼才能把這件事學好、做好,發現錯誤或更好的方向,及時修正。
我現在40多歲,每個人從十幾歲開始明白這個世界的道理,到了40多歲,也就30年的時間,每個人都是30年。如果這30年間你都做一件事,那你會超越大部分人。對於任何事情,如果你處於金字塔上層的位置,就會覺得自己是個很有用的人。很多事情必需你來做才能做好的時候,自然而然,這個世界就會給你回報。
第二,信任和你共事的人,接受他們做得不好的方面。以把整件事情做好為主。每個模組都按照你的想法做,通常是行不通的。你可以找準你真正想要的那件事,圍繞那件事情,把它做好,其他事情放心交給你的夥伴。我反覆講,人不會比其他人強多少,也不會差多少,你找對人一起做事,接納其他人的不同想法,求同存異,把整件事做好就可以了。
談興趣與偶像
《新程式設計師》:你是很多開發者的偶像,你知道嗎?
雲風: 可能有感覺,但我很少談偶像這件事。
《新程式設計師》:你有自己的偶像嗎?
雲風: 我可能會欽佩某些人,但談不上“偶像”,我會覺得他有些事情做得很好,而已。比如,我覺得Linus做了兩件非常厲害的事情。一件是開發了Linux作業系統,另一件是開發了Git版本控制系統。這兩件中的任何一件都足以改變世界,但他做了兩件,我覺得他很了不起。而且他平常發表的一些觀點,我也比較認同。
《新程式設計師》:你的一位粉絲想問你什麼時候再出書?
雲風: 隨著閱歷的增加,知道的事情越多,感到自己不知道的事情越多,而且覺得自己的想法不夠成熟。寫《遊戲之旅》這本書是二十來歲,當時覺得自己很多東西都懂,如今覺得自己不懂的更多了,所以就不太敢寫。但我覺得翻譯書籍也挺好的,翻譯《程式設計師修煉之道》(第2版)花費了我大半年的時間。做翻譯也是一種創作,並不是把英文一字一句翻譯成中文,而是按照自己的理解,把作者原本想表達的內容以準確、可讀的文字重新表達。
《新程式設計師》:你現在業餘時間還會攀巖嗎,攀巖的時候會想些什麼?
雲風: 比較少,一週會去一次。當你真的爬上牆,你不會想什麼,你會聚精會神地思考這條線路怎麼完成。
《新程式設計師》:喜歡這項運動是因為過程比較專注嗎?
雲風: 我覺得攀巖是個很有意思的事情,因為我是一個不太喜歡社交的人,自己玩自己的。過程中就想著面前的問題該怎麼解決,如果能力不足,再提高自己的能力,完成線路後非常有快感和成就感。
《新程式設計師》:攀巖和研發有沒有什麼共同點?
雲風: 所有事情都能找到一些共同點。攀巖時要去思考線路的每一步怎麼完成,每個人的身體狀況和攀爬能力不同,方法也不同。所以攀巖之前,需要根據自己的條件,預想一套完整的計劃,攀爬就是兌現這個計劃。研發也是這樣,不能想到哪做到哪,否則中間錯了一步,退回來的代價很大。
本文為《新程式設計師004》內容,二十年前,《程式設計師》創刊時,我們要全面關注軟體人的成長。今天,我們依然初心不變:在一行行程式碼的背後,是一顆顆鮮活的開發者想要改變世界的雄心壯志。
因此,《新程式設計師》從潘愛民到MySQL 之父、MariaDB 創始人 Michael “Monty” Widenius,PostgreSQL 全球開發組聯合創始人Bruce Momjian,阿里巴巴副總裁賈揚清,著名科技作者吳軍,Vue.js作者尤雨溪……共談我們的程式人生,我們的技術時代。《新程式設計師》即將上市,敬請期待。
【第一期】描繪開發者黃金十年全景圖,戳此?瞭解更多
【第二期】帶你瞭解軟體如何定義汽車,戳此?瞭解更多
【第三期】一站了解雲原生技術,戳此?瞭解更多
【第四期】火熱印刷中,您可新增微訊號加入?官方群?
獲得一手出版/技術資訊
更多《新程式設計師》精彩文章
相關文章
- 不要盲目跟風:中小企業運營自媒體需三思而後行
- Java程式碼寫好後怎麼執行?Java
- 【程式媛曬83行程式碼】雲棲社群聚能聊專家,背後83行程式碼的故事行程
- 從P4到P9, 在馬雲家寫程式碼到雙11前端PM前端
- 從django的SECRET_KEY到程式碼執行Django
- 真▪一行程式碼完成從前端程式碼build到部署線上行程前端UI
- SourceTree 提交專案到碼雲
- 如何將三萬行程式碼從Flow移植到TypeScript?行程TypeScript
- 寫在臨近40歲的年齡
- PEP 8 程式程式碼的編寫風格指南
- 從 GitHub 上克隆專案程式碼後需要做的事情Github
- 大專案寫程式碼寫到暈頭轉向?敏捷多專案框架解君愁敏捷框架
- 使用碼雲管理你的專案程式碼
- 寫了 50 萬行 Go 程式碼後,我明白這些道理Go
- Mac 上傳專案到碼雲(gitee)MacGitee
- 世界銀行:面對資源抵押貸款,發展中經濟體應該三思而後行
- 推薦一款 phpcs 外掛規範 Laravel 程式碼 (規範從本地寫程式碼到版本控制)PHPLaravel
- 從try-with-resources到ThreadLocal,最佳化你的程式碼編寫方式!thread
- 《程式設計師修煉之道:從小工到專家》之程式碼質量程式設計師
- 從0到1編寫一個指令碼引擎指令碼
- python如何換行編寫程式碼Python
- 幽默:把Java寫成Python風格的程式碼JavaPython
- 實戰複雜低程式碼專案React從架構到拆解React架構
- FastReport VCL如何從程式碼訪問報告物件AST物件
- 任何傻瓜都能寫機器執行程式碼,而優秀的程式設計師寫的程式碼傻瓜都能看懂行程程式設計師
- 從碼農到設計者,從單例模式入手設計程式碼單例模式
- 為什麼 Python 程式碼要寫得美觀而明確Python
- 聽說你在為天天寫業務程式碼而煩惱?
- 120行程式碼打造.netcore生產力工具-小而美的後臺非同步元件行程NetCore非同步元件
- 峰會預告 | RDP: 從補丁到遠端程式碼執行
- VS Code書寫vue專案配置 eslint+prettier 統一程式碼風格VueEsLint
- 從0到1編寫一個JS指令碼引擎JS指令碼
- .Net Core——用程式碼寫程式碼?
- 如何寫好 5000 行的 SQL 程式碼SQL
- 如何寫好5000行的SQL程式碼SQL
- dlopen程式碼詳解——從ELF格式到mmap
- 從程式碼到部署微服務實戰(一)微服務
- C 語言程式碼風格之 Linux 核心程式碼風格Linux