天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 英文數(shù)據(jù)庫 >

圖靈訪談 : 一位前端開發(fā)者的計(jì)算機(jī)視覺學(xué)習(xí)之路——專訪《Chrome擴(kuò)展及應(yīng)用開發(fā)》作者李喆

發(fā)布時(shí)間:2016-09-18 14:16

  本文關(guān)鍵詞:Chrome擴(kuò)展及應(yīng)用開發(fā),由筆耕文化傳播整理發(fā)布。


李喆從2011年開始接觸Chrome擴(kuò)展程序開發(fā)并發(fā)布了多款擴(kuò)展程序,同年10月,他收到了新浪微博前端高級工程師職位的offer,次年4月火狐邀請他參與火狐瀏覽器擴(kuò)展開發(fā)的工作。現(xiàn)在,李喆是吉林大學(xué)電子科學(xué)學(xué)院微電子及固體物理專業(yè)的碩士研究生,主要研究方向是計(jì)算機(jī)視覺的硬件實(shí)現(xiàn)。在選擇了繼續(xù)研讀電子學(xué)的同時(shí),他并沒有放棄編程,他常用前端編程的知識來輔助電子上的研究。去年,李喆在圖靈社區(qū)寫作一本書 《Chrome擴(kuò)展及應(yīng)用開發(fā)》 ,如今這本書已正式發(fā)布紙質(zhì)版。

圖靈訪談 : 一位前端開發(fā)者的計(jì)算機(jī)視覺學(xué)習(xí)之路——專訪《Chrome擴(kuò)展及應(yīng)用開發(fā)》作者李喆

問:從什么時(shí)候開始編程的?

我在初中開始接觸電腦,由于當(dāng)時(shí)家里條件一般,沒有電腦,每個(gè)周末都會到爸爸的單位去鼓搗電腦。初一時(shí)媽媽為了讓我更好地學(xué)習(xí)英語給我買了一臺文曲星電子詞典,里面的BASIC編程功能讓我開始接觸編程,那種語言非常古老,每行前還是有編號的,當(dāng)時(shí)我自己寫了一款數(shù)獨(dú)解算的程序,那個(gè)程序并不是通過窮舉算法實(shí)現(xiàn)的,通過這個(gè)程序我獲得了我的第一批用戶。

問:能詳細(xì)說一下你用BASIC語言寫數(shù)獨(dú)解算程序的經(jīng)歷嗎?用戶是從哪來的?

我在初一時(shí)開始接觸文曲星的GVBASIC,這是我第一次接觸編程,也是第一次發(fā)現(xiàn)世界上還有這么好玩的東西。由于GVBASIC是一門很古老編程語言的衍生語言,所以并沒有教材系統(tǒng)地講解它,那時(shí)我是通過查看別人編寫的程序的源碼學(xué)習(xí)這門語言的。文曲星的能力有限,大家一般都用GVBASIC編寫一些文字游戲,,但我想制作一款界面精致的程序。另外當(dāng)年的數(shù)獨(dú)游戲非;穑鴶(shù)獨(dú)解算程序又基本都是靠窮舉法給出答案的。這兩點(diǎn)使我決定寫一個(gè)更好的數(shù)獨(dú)解算的程序。當(dāng)時(shí)我把自己求解數(shù)獨(dú)的思路翻譯成了算法寫進(jìn)了程序中,這個(gè)程序會像人一樣真正地思考,它每得出的一個(gè)數(shù)字都是準(zhǔn)確的。不過真正占據(jù)這個(gè)程序的大部分代碼是與界面相關(guān)的,因?yàn)榻缑嫱耆怯靡粋(gè)點(diǎn)一個(gè)點(diǎn)畫出來的,用戶的每一個(gè)操作都會刷新屏幕上的12800個(gè)點(diǎn),而這個(gè)經(jīng)歷讓我后來做前端時(shí)有耐心去對照設(shè)計(jì)圖中的每一個(gè)像素(笑)。

GVBASIC是一個(gè)小眾的平臺,它沒有完善的生態(tài)圈,當(dāng)時(shí)用GVBASIC編寫程序的也基本都是中學(xué)生,我們完全是因?yàn)榕d趣才走進(jìn)了這個(gè)圈子的。供我們相互交流的僅僅是一個(gè)非官方發(fā)起的論壇,這個(gè)論壇既是開發(fā)者們的技術(shù)論壇,也是用戶們的資源論壇,每當(dāng)我有新的作品也會發(fā)布到這個(gè)論壇上,而我的第一批用戶也是在這個(gè)論壇上積累起來的。

問:學(xué)習(xí)壓力有沒有影響你對編程的興趣?

雖然2005年我上了高中,學(xué)習(xí)任務(wù)加重了,但我對編程的興趣依然不減,并且開始對網(wǎng)頁制作產(chǎn)生了興趣,加上家里那時(shí)買了臺組裝機(jī),讓我有更多的時(shí)間投入到編程中。高二時(shí)在個(gè)人網(wǎng)站上通過Google Adsense賺了第一筆錢——100美元。2007年我用Flash制作了個(gè)人簡歷并投遞給了大連理工大學(xué),成為唯一一個(gè)在自主招生中使用電子簡歷的人,這也在一定程度上為我的初試加分。

問:能說說你是如何通過Google Adsense賺到100美元的?

在我讀高二時(shí),Google Adsense在中國的審核還是比較寬松的,不像現(xiàn)在要求域名至少要已注冊6個(gè)月,對網(wǎng)站的內(nèi)容要求也不是太高。當(dāng)時(shí)我做了一個(gè)簡單的電子版科學(xué)雜志的索引網(wǎng)站,雖然網(wǎng)站做得不算精美,但人氣還不錯(cuò)。為了在網(wǎng)站上嵌入Google Adsense,我為網(wǎng)站申請了.ch的頂級域名,學(xué)習(xí)了域名解析的相關(guān)知識。一年之后我收到了Google通過西聯(lián)的匯款——107美元。對于一個(gè)還在讀高中的學(xué)生來說,這筆錢不是一個(gè)小數(shù)目,當(dāng)時(shí)美元對人民幣的匯率還沒有破7,更何況這是我自己賺的錢,更是珍惜無比。兩個(gè)月后我將其中的100美元捐給了汶川,這是我做過的最自豪的事。

問:后來上大學(xué)期間是如何贏得了Google寶貴的實(shí)習(xí)機(jī)會?

進(jìn)入大學(xué)后,出眾的編程能力使我在小組電子設(shè)計(jì)大賽中負(fù)責(zé)編寫底層驅(qū)動,兩次電子設(shè)計(jì)大賽我們小組均在省里拿到了出色的成績。2010年我開始深入接觸JavaScript語言,次年年初收到了時(shí)任Google輸入法產(chǎn)品經(jīng)理到Google實(shí)習(xí)的邀請。2011年開始接觸Chrome擴(kuò)展程序開發(fā)并發(fā)布了多款擴(kuò)展程序,同年10月收到了新浪微博前端高級工程師職位的offer。2013年4月火狐工程師聯(lián)系我希望我到火狐參與火狐瀏覽器擴(kuò)展開發(fā)的工作。2013年10月我覺得寫一本講解Chrome擴(kuò)展和應(yīng)用開發(fā)的書,幫助更多的人投入到Chrome的開發(fā)中來。

問:火狐和新浪都是不錯(cuò)的公司,方向也應(yīng)該是你感興趣的,為什么放棄了這些工作offer?

新浪微博是在2011年10月來到我所在的學(xué)校招聘的,雖然我本科讀的是微電子學(xué),但對IT的興趣一直很濃厚,看到知名的IT公司在招聘,自然要去見識一下。本來是懷著打醬油的心情,畢竟我是個(gè)業(yè)余的程序員,但沒想到的是筆試和面試都異常輕松,甚至沒有經(jīng)過流程上的二次面試,就直接收到了錄用意向通知書。事情發(fā)展到這一步我就不得不認(rèn)真考慮一下自己日后的發(fā)展方向了。是本科畢業(yè)直接去IT公司工作,還是繼續(xù)在自己所學(xué)的專業(yè)深造。后來與家長和老師探討的結(jié)果,就是還要繼續(xù)深造,雖然感覺放棄新浪微博的offer有些遺憾,但學(xué)業(yè)是我更不愿放棄的。火狐公司其實(shí)并沒有向我發(fā)過offer,在我讀研一的時(shí)候,火狐的一位工程師正在尋找瀏覽器擴(kuò)展的開發(fā)者加入火狐,當(dāng)時(shí)也只是口頭上的邀請,不過由于我正在讀研,就像我前面說的,不愿放棄學(xué)業(yè),所以最終我也婉拒了他的邀請。

問:為什么沒有繼續(xù)從事前端編程,而開始深造計(jì)算機(jī)視覺的硬件實(shí)現(xiàn)?

其實(shí)前端編程一直都是我的興趣愛好,而電子才是我的專業(yè)。而對于我來說,興趣與專業(yè)并不矛盾,在熱愛前端編程的同時(shí),我同樣熱愛電子,而且我還常用前端編程的知識來輔助電子上的研究。比如我曾經(jīng)用HTML5重寫了半導(dǎo)體工藝分析分析軟件Medici的界面,在彌補(bǔ)了Medici自身交互缺陷的同時(shí),還引入了B/S結(jié)構(gòu):無需在本機(jī)進(jìn)行繁瑣的安裝和配置,打開瀏覽器就可以使用,這也提高了其自身的兼容性。由于硬件實(shí)現(xiàn)計(jì)算機(jī)視覺編程需要我熟悉最底層的算法,所以依賴圖像處理庫的Python和Matlab都不適合我,反而JavaScript這門從來沒有人用來做計(jì)算機(jī)視覺編程的語言比較適合我。之前我將 使用JavaScript實(shí)現(xiàn)計(jì)算機(jī)視覺編程 的部分內(nèi)容整理出來發(fā)布到了圖靈社區(qū),也受到了很多人的關(guān)注。

問:可以詳細(xì)介紹一下你現(xiàn)在正在研讀的專業(yè)嗎?

目前我在研讀的專業(yè)是微電子與固體物理,具體的研究方向是計(jì)算機(jī)視覺的硬件實(shí)現(xiàn)。計(jì)算機(jī)視覺是目前非常火的方向,它利用計(jì)算機(jī)對圖像分析,從而獲得圖像中的信息。其實(shí)計(jì)算機(jī)視覺離我們的生活并不遠(yuǎn),比如手機(jī)相機(jī)中的全景模式就涉及到計(jì)算機(jī)視覺相關(guān)的知識——手機(jī)需要識別出多張照片的相似之處,然后再進(jìn)行拼接。交通上可以利用計(jì)算機(jī)視覺來跟蹤車輛進(jìn)行測速,身體上有缺陷的人可以用手勢甚至是眼神與計(jì)算機(jī)溝通……計(jì)算機(jī)視覺正在影響和改變我們的生活。但是用通用計(jì)算機(jī)進(jìn)行視覺編程受到速度的限制,雖然目前的計(jì)算機(jī)已經(jīng)足夠強(qiáng)大,但是在圖像分析中會有大量的計(jì)算。比如用Matlab對500*500像素的圖像進(jìn)行Harris角點(diǎn)檢測,需要花費(fèi)0.6秒的時(shí)間,而實(shí)時(shí)跟蹤12fps視頻中的對象,需要每幀圖像的處理時(shí)間壓縮到0.083秒。我們希望依靠硬件提高圖像的處理速度,使計(jì)算機(jī)視覺的應(yīng)用變得更加廣泛。

問:對于計(jì)算機(jī)視覺來說,哪方面的學(xué)科知識最為重要?數(shù)學(xué)、編程,還是其他?

對于計(jì)算機(jī)視覺來說,數(shù)學(xué)和編程都很重要。計(jì)算機(jī)視覺本身的算法更偏向于數(shù)學(xué),涉及線性代數(shù)和高等數(shù)學(xué)的知識,但將算法通過編程實(shí)現(xiàn)的過程會遇到新的問題。比如Harris角點(diǎn)檢測算法,在計(jì)算過程中每個(gè)像素都需要計(jì)算出一個(gè)2乘2的矩陣,但編程時(shí)并不是以每個(gè)像素為單位計(jì)算的,而是將像素對應(yīng)矩陣中的每個(gè)元素提取出來重新組成大的矩陣。計(jì)算是對這些大矩陣進(jìn)行的,這種變通的方法所得的結(jié)果與數(shù)學(xué)上一致,但從編程的角度看就能簡化程序。再有一個(gè)例子就是做濾波器的模板運(yùn)算時(shí),計(jì)算機(jī)處理圖像的時(shí)間大都花費(fèi)在了圖像像素尋址上,這在純粹的數(shù)學(xué)算法中是體現(xiàn)不出來的,深入優(yōu)化圖像存儲的數(shù)據(jù)結(jié)構(gòu)就可以提高處理速度數(shù)倍。

問:利用硬件提高圖像處理速度的技術(shù)瓶頸是什么?現(xiàn)階段的挑戰(zhàn)是什么?

這個(gè)涉及研究方向細(xì)節(jié)的內(nèi)容,導(dǎo)師不讓透露,抱歉啦 :)

問:相對于其他語言,用JavaScript實(shí)現(xiàn)計(jì)算機(jī)視覺編程有什么優(yōu)勢?

如果在幾年前,有人說要用JavaScript處理圖像,一定會被認(rèn)為是瘋子。但是近幾年JavaScript的發(fā)展有目共睹,它完全可以作為大型項(xiàng)目和高計(jì)算密度項(xiàng)目的開發(fā)語言了。JavaScript的優(yōu)點(diǎn)一是兼容性好,只要有瀏覽器就可以運(yùn)行JavaScript,對客戶機(jī)的要求最低。二是JavaScript的開發(fā)周期短,開發(fā)成本低,而且HTML5本身的一個(gè)特點(diǎn)就是對媒體處理的支持,很多事情無需JavaScript去做,瀏覽器會處理得非常好。HTML5正在向依賴GPU的方向發(fā)展,今后使用JavaScript將更容易調(diào)用GPU的計(jì)算資源,而GPU比CPU更適合處理高密度的計(jì)算任務(wù)。最后一點(diǎn),JavaScript更容易向用戶分發(fā),無需像本地程序那樣提示用戶升級,用戶每次通過瀏覽器打開的Web App都是最新的,此外HTML5也能保證用戶即時(shí)離線,依然不影響Web App的使用。

問:你在圖靈出版了一本書 《Chrome擴(kuò)展及應(yīng)用開發(fā)》 ,請問你關(guān)于Chrome的知識都是怎么學(xué)到的?對于學(xué)習(xí)Chrome開發(fā)的初學(xué)者,你有什么建議?

Chrome擴(kuò)展和應(yīng)用是一個(gè)新的程序開發(fā)方式,雖然使用HTML5開發(fā)桌面程序的方案很多,但大多開發(fā)環(huán)境配置較為復(fù)雜,而且都需要將webkit打包進(jìn)去,使得程序體積非常巨大。Chrome擴(kuò)展和應(yīng)用不同,它以Chrome瀏覽器和Chrome OS為平臺,大大降低了開發(fā)難度。我在大二的時(shí)候開始接觸Chrome擴(kuò)展的開發(fā),當(dāng)時(shí)能找到的資料不多,只有Google的官方文檔和Google自己的Demo,雖然學(xué)起來不算容易,但這個(gè)開發(fā)難度低、普及程度高的平臺深深把我吸引住了。Chrome開發(fā)涉及到JavaScript、CSS和HTML方面的知識,對于前端開發(fā)者來說會非常容易上手,而對于前端方面不熟悉的初學(xué)者應(yīng)至少了解這些技術(shù)的基礎(chǔ)知識?蚣芎蛶焓呛脰|西,但對于初學(xué)者不應(yīng)過于依賴。對于已經(jīng)了解前端知識但沒有大型項(xiàng)目開發(fā)經(jīng)驗(yàn)的開發(fā)者,我建議深入研究一下JavaScript性能的提升和代碼風(fēng)格的規(guī)范化,《高性能JavaScript》和《編寫可維護(hù)的JavaScript》是兩本不錯(cuò)的書,值得推薦。

更多精彩,加入圖靈訪談微信!

圖靈訪談 : 一位前端開發(fā)者的計(jì)算機(jī)視覺學(xué)習(xí)之路——專訪《Chrome擴(kuò)展及應(yīng)用開發(fā)》作者李喆


  本文關(guān)鍵詞:Chrome擴(kuò)展及應(yīng)用開發(fā),由筆耕文化傳播整理發(fā)布。



本文編號:117428

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/117428.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶a0e2c***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com