免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      justjavac:從輟學到成為Deno核心代碼貢獻者,我的十年編程生涯

      justjavac:從輟學到成為Deno核心代碼貢獻者,我的十年編程生涯

      【CSDN 編者按】大學因學費而輟學,最困難時睡在公園長椅,有遠見的母親讓他走上了編程之路,溫柔智慧的妻子用愛與信任激勵著他秉承初心、奮勇前行。編程十余年,他已在GitHub開源三百多個項目,項目總Star數(shù)位居全球TOP 20。從后端成功轉型為前端,成為Deno核心代碼貢獻者的迷渡(網(wǎng)絡ID:justjavac)在《新程序員004》之「我是程序員」板塊分享了他這一路的成長與感悟。同時,也給新一代開發(fā)者留下了寄語:“學歷代表過去,能力代表現(xiàn)在,學習能力代表未來”。

      作者 | 迷渡 責編 | 張紅月

      出品 | 《新程序員》編輯部

      2009年,Node.js&Deno之父Ryan Dahl首次在JSConf EU上介紹Node.js,從那時起,他便成為我崇拜的技術偶像。

      2019年,我收到了一封來自Ryan Dahl的郵件,信中他說來中國了,想約我一起喝杯咖啡,談談Deno以后的發(fā)展方向。我激動的一晚上沒有睡好,第二天一大早便坐高鐵從天津趕到北京赴約(見圖1)。

      圖 1 Node.js&Deno之父Ryan Dahl與justjavac的合照

      回顧十多年的編程生涯,我在大學時因為學費而輟學,最困難的時候也曾經(jīng)睡過天津人民公園的長椅,后來在百腦匯找了份電腦維修工作,業(yè)余時間學習了計算機相關的所有課程。結婚之后在老婆的督促下開始努力,經(jīng)過十余年的付出,終于迎來了自己的Aha時刻:技術文章全網(wǎng)訪問量破千萬,如今被Node.js之父單獨約見并一起開發(fā)下一代類Node.js平臺——Deno。

      本文節(jié)選自《新程序員004》,掃描上方二維碼即可訂閱

      學生時代編程啟蒙

      初中時,我開始接觸電腦,使用的第一門語言是BASIC。那時我所在的初中是我們縣僅有的幾個開設計算機課程的學校之一,當時電腦還是奢侈品,進入微機室上課需要穿鞋套。每個學期的計算機課程很少,兩周才上一節(jié)課。還總會出現(xiàn)“今天微機課老師有事,這節(jié)課改成數(shù)學/語文課”的情況。課程內(nèi)容也很簡單,就是一些計算機的正確開關機、拼音打字、五筆打字、常用操作,并沒有安排編程課。但微機教科書最后兩章是BASIC編程入門,于是我在學完計算機基本操作之后就開始自學BASIC編程,編寫的第一個程序是計算從0累加到100的總和。

      在初三時,我的父親給我買了一臺二手電腦。我在這臺電腦上編的第一個程序是VBA,主要是使用VBA腳本在Excel中處理了我整個初三上半年的成績。閑暇之余,也會玩一些游戲,如《紅色警戒》。

      到了高中,學校的電腦課程主要圍繞WPS和一些軟件操作教程。彼時的我從計算機雜志里面扣下來一張3.5寸軟盤,在電腦上安裝了Pascal編譯器,也進行了一些簡單的編程嘗試。不過家里的電腦最主要的用途還是用來玩游戲,放假時,我經(jīng)常邀請同桌一起來家里玩《雷電》。但是好景不長,沒過多久這臺電腦平白無故的就壞了,也一直沒修。到現(xiàn)在我也不知道這臺電腦到底是年久失修壞的還是“人為的故意”損壞??傊钡礁呖冀Y束,我再也沒有寫過程序。

      人生的兩個轉折點:選擇與放棄

      當填報志愿那天來臨時,我的媽媽做了一個影響我直到現(xiàn)在的決定,這也是我人生的第一個拐點。當時我還在猶豫填報什么專業(yè)的時候,母親對我說:“現(xiàn)在比爾·蓋茨是世界首富,學編程以后肯定吃香,報計算機編程專業(yè)吧”,于是我大學選擇了軟件工程專業(yè)。

      萬萬沒想到媽媽的話一語成讖,我果然步了比爾·蓋茨的后塵——但是并沒有像比爾·蓋茨一樣成為世界首富,而是像比爾·蓋茨一樣輟學了,當然這些都是后話了。

      還記得2009年對我來說是最尷尬的一年,那年我花掉了家里給我本來應該交下學期學費的錢,買了一臺高配的筆記本。當我打算用一年時間打工賺學費時,卻被現(xiàn)實無情地打敗了。我和3個同學一起在網(wǎng)上找了一個飯店服務生的工作,面試完之后HR告訴我們上崗需要穿西裝。我之前從來沒有穿過西裝,正當我猶豫要不要買一件的時候,卻接到了公司的電話,其它3個同學都應聘上了,我落榜了。

      后來,我靜下心來回歸到了正常的大學學習與生活中。大學期間,我學習的主要課程是C、C++、C#、Delphi,也在圖書館里自學了Java、PHP、Python。個人而言,我最喜歡的語言是Java和C,于是我給自己取了一個網(wǎng)名叫justjavac。我接觸的第一個開源軟件是FireFox,這也是我頭像的由來,我很欣賞FireFox挑戰(zhàn)IE瀏覽器權威的故事。

      隨著Node.js的發(fā)布,Ryan Dahl成了我的榜樣和偶像,我做夢都幻想自己將來能成為像Ryan Dahl一樣的軟件工程師。

      于是,我開始關注國外的最新技術以及開源相關的動態(tài)。就這樣大學過去了一年,我鼓起勇氣向開源軟件Tomcat的Servlet組件提交了個人的第一個代碼補丁。那時候GitHub還沒有誕生,我在查閱了很多向開源軟件貢獻代碼的資料后,將代碼補丁以郵件的形式發(fā)給了Tomcat維護者,經(jīng)過幾輪的討論,我的補丁被拒絕了。雖然這次參與開源失敗了,但這是我邁向開源的第一步。

      大學期間,我也開始了第一次創(chuàng)業(yè)之旅。我的第一個創(chuàng)業(yè)合伙人叫徐來,他的座右銘“但行好事,莫問前程”深深的影響了我。他是我大學的班長兼舍友,當大部分同學都找到實習工作的時候,只有我在宿舍里寫寫程序,而他則在外面接一些做軟件的私活,并讓我和他一起做。后來他對我說要成立一家公司,詢問我是否感興趣一起干。那天,我們聊了很多,也聊得很投機。人生中的第一次創(chuàng)業(yè)便從這時展開。

      沒過多久,我就用到了大學自學過的幾乎所有編程語言,儼然成為了一名“全能”工程師,而徐來也支持并認可我做的每一次技術選型。創(chuàng)業(yè)比打工要辛苦多了,最久一次工作時間是一個月只休息了一天,但一想到是為了自己而拼搏,也就不覺得累了。

      大學的時光總是美好而短暫,很快就到了畢業(yè)的日子。臨近畢業(yè)的前幾天,老師找到我說,如果能夠補齊此前拖欠的學費,可以給我補發(fā)畢業(yè)證和學位證。然而在人生的第二個拐點,我做了一個錯誤的決定。當時只是想著“既然我根本就沒怎么去上課,為什么還要補交學費呢?”于是我拒絕了老師的要求,實則最主要的原因是當下確實沒有錢,也因此沒有拿到畢業(yè)證。

      一萬小時定律

      從學校離開的兩年后,我結婚了。結婚前的一個月,一直期待婚姻的我第一次有了恐婚心理。那時的我一無所有:沒錢、沒房、沒車,甚至也沒有給老婆買鉆戒、拍婚紗照。

      我們最初租了一間60多平米的房子,生活的大部分花銷都是由老婆負責,我平時就是靠編程獲得寥寥可數(shù)的工資,即使如此,老婆依然很支持我做的任何事情和決定?;楹笪页司幊讨?,也開始寫寫博客、在社區(qū)回答一些問題。

      不過,有一年的結婚紀念日,我的老婆突然和我談心時說道:“你知不知道之前咱們租房時,有一次我切著切著菜,把菜都扔地上了,在沙發(fā)上坐了一會兒才又繼續(xù)切。你知道為什么嗎?我在想,我要一輩子過這種日子嗎?后來我想通了,既然我當初嫁給了你,就算跟你過一輩子這種日子,我也愿意”。

      這段話深深地觸痛了我,我不應該辜負一個深深愛著我的人,我應該做些改變。

      不久后我在網(wǎng)上看到了一句話:一萬小時定律,任何一個人只要在某個領域精益求精地鉆研一萬小時,那么他就能成為這個領域的專家。聽上去有點像心靈雞湯,但是不管它是“真雞湯”還是“毒雞湯”,我都喝定了。那晚我和老婆聊到很晚,我告訴她,“一萬小時是多久?如果一個技術我每天鉆研5小時,一年365天,那么一萬小時差不多就是5年。而5年后我才三十歲左右,別人三十歲可能已經(jīng)遇到中年危機了,而我三十歲能成為一個領域的專家。不過專家這個詞比較虛,現(xiàn)實一點的說法就是雖然我現(xiàn)在一年賺不到3萬,但是我一定要30歲的時候年薪30萬”。

      自此以后,我便把主要精力都放在了JavaScript 上,而且還更加深入的研究了 JavaScript的執(zhí)行原理以及Chrome、V8、Node.js的底層機制。為了研究網(wǎng)頁上的 JavaScript庫,我開發(fā)并開源了一個Chrome插件LibrarySniffer(原 ChromeSnifferPlus),安裝這個插件后,使用Chrome瀏覽任何網(wǎng)頁時都會在插件頁顯示出當前頁面用到了哪些JavaScript庫。

      2014年,在我辦了一張雙幣信用卡并支付了5美元的費用后 ,LibrarySniffer終于在 Chrome Web Store上架了。同年我又開發(fā)了另一個插件ReplaceGoogleCDN,將國外的通過CDN直接引入的JavaScript資源替換為國內(nèi)的鏡像資源,可以達到2-50倍的加速效果。第二年,LibrarySniffer收到了一名巴西程序員提交的葡萄牙語言包,這也是我的開源項目第一次受到外國開發(fā)者的關注。

      結識狼叔,深入Node.js后端

      我以為LibrarySniffer能受到國外程序員關注是我的巔峰,沒想到這僅僅只是開始。一個月后我收到了某個活動的邀請函,讓我去他們公司做技術交流。該公司創(chuàng)始人說要上線一個新品,特邀我去做技術分享,如圖2所示。

      圖 2 我的首次分享

      之后,我也經(jīng)常參加業(yè)界的一些開發(fā)者大會。還記得在天津舉辦的一場200人的開發(fā)者大會上,我在做完JavaScript前端相關主題演講后,結識了阿里巴巴技術專家、國內(nèi)知名Node.js技術布道者、《狼書:更了不起的Node.js》作者i5ting(狼叔)。

      想必很多經(jīng)常逛Node.js中文社區(qū)的開發(fā)者即使沒聽說過創(chuàng)始人alsotang,也一定聽說過 i5ting。當?shù)弥鞘逡苍谔旖騽?chuàng)業(yè)時,我還是吃了一驚。天津被稱為互聯(lián)網(wǎng)的沙漠,而狼叔帶領的Node.js團隊可謂沙漠里面的一顆明珠。我經(jīng)常使用Node.js,不過只是作為工具,真正生產(chǎn)環(huán)境里的后端服務依然是使用PHP或者Java。

      我和狼叔深入聊了聊Node.js后端,隨后狼叔更是邀請我去參觀他們公司的技術團隊。狼叔對我說,你研究V8那么深,其實對前端的作用不是非常大,但是對于Node.js后端則很有用。聽完狼叔的勸告,我也開始在公司中引入Node.js作為后端服務,遇到問題則直接呼叫狼叔這個“免費的顧問”,幾乎都可以解決。

      誰曾想天有不測風云,一心研究Node.js的狼叔被合伙人給坑了。我約狼叔出來一起吃飯,心態(tài)佛系的狼叔也沒有怨天尤人,只是說了句“程序員斗不過商人”。這句話我太有同感了,因為我第二次創(chuàng)業(yè)時也是被合伙人給坑了。我安慰他說,你雖然離開天津了,但是我繼續(xù)留在天津扛下Node.js的大旗。狼叔笑道:“就算我不走,你也是天津 Node.js屆的扛把子”。

      狼叔比我小,平時他喊我哥,我喊他叔。在隨后的幾年里,每當狼叔來天津都會和我一起敘敘舊,而我如果去到了狼叔所在的城市也會找他一起聊聊天。最近幾年,我在維護 Deno的過程中也向狼叔請教了很多Node.js的知識點。

      圖3 左起依次是umijs作者sorrycc(云謙)、i5ting(狼叔)、justjavac(迷渡)

      成為Deno核心代碼貢獻者

      2017年,我收到騰訊TFC前端大會的邀請,去分享V8、JavaScript相關內(nèi)容,這是我第一次被BAT大廠邀請。會后知名前端開發(fā)者winter曾問我,“你在天津哪家公司任職,為什么會用到這么深入的V8場景”。我回應道,“其實我們公司根本用不到這些,研究V8純粹是我的個人興趣”。當他問為什么不去騰訊、阿里、字節(jié)跳動時,我回答說,比較戀家,娶了個天津老婆,所以也就不想去北上廣了。

      圖4 上排中間 winter(寒冬),中排中間 justjavac(迷渡)

      2018年,Ryan Dahl向社區(qū)宣布正在開發(fā)另一個JavaScript/TypeScript運行時平臺——Deno。我第一時間下載了源碼并編譯了一個可執(zhí)行文件,我在使用后發(fā)現(xiàn)Deno的Bug還非常多,畢竟才剛開發(fā)不久。彼時網(wǎng)上對Deno也存在兩種截然不同的態(tài)度,一種是崇拜,另一種是質疑,甚至出現(xiàn)了Deno的issue被垃圾信息充斥的局面。但是,只顧在 issue上發(fā)泄不滿解決不了任何問題。彼時,我便在思考,既然Deno問題這么多,為什么不幫它改進呢?于是,我開始了Deno開發(fā)之旅。

      起初我也僅僅是幫Deno改一下Bug,但當我得知Deno是想做一個兼容瀏覽器及Web API平臺后,我便新建了一個開源項目,為Deno開發(fā)WPT(Web-Platform-Tests Suite,Web平臺測試套件),然后幫助Deno實現(xiàn)和改進了url、console、encode/decode、timmer等API。

      隨著越來越多的開發(fā)者開始使用Deno,新問題不斷涌現(xiàn)。由于TypeScript的整套工具鏈都是基于Node.js開發(fā),這就導致了當使用VSCode開發(fā)Deno時會出現(xiàn)波浪線標紅警告,于是我開發(fā)了一個 VSCode擴展和一個TypeScript Service Plugin來解決這個問題,很快這個擴展便受到了國內(nèi)外很多社區(qū)的推薦,甚至得到Deno之父Ryan Dahl的關注。

      2019年,Ryan Dahl和我見面時也當面感謝我為Deno開發(fā)了這個擴展。與此同時,另一位開發(fā)者axetroy(鐵手) 也一直為這個擴展添加功能。后來我老婆懷孕了,我對社區(qū)的參與也少了很多,于是axetroy基于我的代碼新建了一個項目繼續(xù)開發(fā)并完善這個擴展。

      在Deno發(fā)布1.0正式版的當天,我聯(lián)系Ryan Dahl并希望把該擴展放到Deno的官方倉庫。我目前最遺憾的一件事就是由于當時選擇了直接把我的項目復制到官方倉庫而導致了axetroy代碼沒有合并進來。

      后來,我又搭建了Deno中國加速鏡像服務,讓國內(nèi)開發(fā)者更加方便地學習和使用 Deno。將deno.dev域名送給Ryan Dahl 作為Deno Deploy的官方域名。開發(fā)了Deno的多版本管理工具dvm(Deno Version Manager)。

      這幾年我不斷被各種技術研討會、組織、企業(yè)、個人邀請去做Deno技術演講。

      然而我并沒有止步于Deno,2020年華為開源了HarmonyOS(鴻蒙)系統(tǒng),當我得知鴻蒙系統(tǒng)也是用了一個輕量級JavaScript引擎時頓時來了興致,當晚便下載了鴻蒙的源碼開始研究,并寫了一篇逐行分析鴻蒙JavaScript框架源碼的文章,還為鴻蒙修復了多個bug,不久后收到了鴻蒙團隊寄來的一個開發(fā)版,從此以后再也不用在模擬器上調試了,而可以直接使用真機了。

      總結

      自我第一次參與開源到現(xiàn)在十余年,已經(jīng)在GitHub上開源300多個項目,根據(jù)第三方數(shù)據(jù)統(tǒng)計目前獲得的總Star數(shù)排名全球前20。我感覺自己非常幸運,從后端轉型到前端后就趕上了JavaScript的飛速發(fā)展,也見證了HTML5、ES6、CSS3等技術的發(fā)展歷程。最后想送給每位開發(fā)者一句話“學歷代表過去,能力代表現(xiàn)在,學習能力代表未來”。

      二十年前,《新程序員》創(chuàng)刊時,我們要全面關注軟件人的成長。今天,我們依然初心不變:在一行行代碼的背后,是一顆顆鮮活的開發(fā)者想要改變世界的雄心壯志。

      因此,《新程序員004》從 C++之父 Bjarne Stroustrup、C# 之父 Anders Hejlsberg、MySQL 之父 Michael “Monty” Widenius、PostgreSQL 全球開發(fā)組聯(lián)合創(chuàng)始人 Bruce Momjian 等程序員祖師爺,到阿里巴巴副總裁賈揚清、指令集創(chuàng)始人兼董事長潘愛民、Vue.js 作者尤雨溪……48 位技術大咖,共創(chuàng)我們的程序人生、我們的技術時代?!缎鲁绦騿T004》已全面上市,歡迎訂閱!

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
      用戶投稿
      上一篇 2022年7月11日 15:20
      下一篇 2022年7月11日 15:21

      相關推薦

      • ios手游模擬器(手游模擬器ios)

        本文主要講的是ios手游模擬器,以及和手游模擬器ios相關的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 哪個iOS模擬器能多開手游賬號?可以推薦個好用的模擬器給我嗎…

        2022年11月27日
      • 我國首臺130噸級重復使用液氧煤油補燃循環(huán)發(fā)動機試車成功

        新華社西安11月26日電記者26日從中國航天科技集團六院獲悉,由該院自主研制的首臺130噸級重復使用液氧煤油補燃循環(huán)發(fā)動機兩次起動試車取得圓滿成功。 該型發(fā)動機是瞄準我國新一代運載…

        2022年11月27日
      • 世界領先!我國已應用于新一代戰(zhàn)機→

        本文轉自【央視軍事】; “3D打印技術在飛機上的應用 我們已達到規(guī)?;?、工程化 處于世界領先位置” 如何運用3D打印設備 生產(chǎn)新一代戰(zhàn)機的零部件? 規(guī)?;?工程化 3D打印件批量裝…

        2022年11月27日
      • cad連續(xù)標注快捷鍵(cad連續(xù)標注快捷鍵)

        本文主要講的是cad連續(xù)標注快捷鍵,以及和cad連續(xù)標注快捷鍵相關的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 cad中連續(xù)標注快捷鍵 CAD尺寸標準快捷命令:DL…

        2022年11月27日
      • 計算機網(wǎng)絡技術論文(計算機網(wǎng)絡技術論文七千字)

        今天小編給各位分享計算機網(wǎng)絡技術論文的知識,其中也會對計算機網(wǎng)絡技術論文七千字進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧! 計算機網(wǎng)絡方面的論文3000字…

        2022年11月26日
      • 游戲平臺有哪些(游戲平臺有哪些)

        簡要回答 游戲平臺指的是多人通過互聯(lián)網(wǎng)在線游戲的平臺,例如qq游戲,聯(lián)眾世界,浩方電競平臺,VS競技游戲平臺等,只要你下載平臺,下載相關游戲,就能實現(xiàn)對戰(zhàn),擺脫了局域網(wǎng)的限制。 詳…

        2022年11月25日
      • CBA天津隊官宣:與外援大衛(wèi)-詹姆斯完成簽約

        央視網(wǎng)消息:北京時間11月25日,CBA天津隊官方宣布,與外援大衛(wèi)-斯科特-詹姆斯完成簽約,他將身披31號球衣代表天津隊出戰(zhàn)。 大衛(wèi)-斯科特-詹姆斯,出生于1996年11月7日,身…

        2022年11月25日
      • 《原神》3.2無相交響詩第一天無相之冰怎么打?無相交響詩攻略

        原神3.2無相交響詩第一天無相之冰怎么打?最近新版本3.2版本的無相交響詩活動又開啟了,不少玩家還不清楚具體的玩法,下面一起來看一下原神被隱去的原神3.2無相交響詩第一天無相之冰打…

        2022年11月24日
      • 重大突破!水電機組核心控制系統(tǒng)首次實現(xiàn)全國產(chǎn)化

        今天(24日),由我國企業(yè)自主研發(fā)的新一代繼電保護系統(tǒng)在瀾滄江中下游的小灣水電站正式投運。這意味著被稱為水電站“大腦”的核心控制系統(tǒng)全面實現(xiàn)國產(chǎn)化,這也是我國水電控制系統(tǒng)一項重大技…

        2022年11月24日
      • 免費清理c盤的軟件(清理c盤空間不影響系統(tǒng))

        電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤空間不足造成的。 即使電腦配置再好,或者硬盤再快,如果長時間沒有打掃C盤,打開文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時候呢不要去…

        2022年11月24日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息