主頁 >  其他 > UNIX的名字是我起的——對話 UNIX 開發者:Brian W. Kernighan

UNIX的名字是我起的——對話 UNIX 開發者:Brian W. Kernighan

2021-04-13 10:24:23 其他

《程式員》于2000年創刊,其理念為技術改變世界,創新驅動中國,2021年,全新的《程式員》2.0重新起航,以專業的內容為立足點,以音視頻、圖文專欄等豐富的多媒體形式為載體,立足當下,放眼未來,為讀者帶來全方位的技術和產業解讀,

本文為《程式員》2.0第一期內容,與UNIX的開發者之一、UNIX命名者布萊恩·克尼漢(Brian W. Kernighan)暢談技術與人生,

作者 | 《程式員》編輯部

在軟體歷史中,UNIX是一個傳奇,自1969年在貝爾實驗室的閣樓中誕生以來,UNIX的發展遠遠超出了創造者們的想象,它帶動了許多創新軟體的開發,影響了無數程式員,如果沒有它,Linux、macOS和Android系統可能不會存在,人們依賴的導航軟體、智能家電、智能手機、物聯網也會缺失,

近日,《程式員》采訪了UNIX的研發者與命名者布萊恩·克尼漢(Brian W. Kernighan)教授,他也是AMPL(數學編程語言)與AWK(文本處理工具)的共同創造者之一,曾和C 語言之父丹尼斯·里奇(Dennis MacAlistair Ritchie)共同寫作了C語言的第一本著作《C程式設計語言(The C Programming Language)》,我們和布萊恩·克尼漢教授聊了聊UNIX的成功之道,以及作業系統的未來走向,在訪談中,我們驚訝于這位大師的真實和坦誠,也為這跨越半個世紀的史詩般的程式人生所深深感動,

重點速覽:

  • 談貝爾實驗室的吸引點:貝爾實驗室研究環境的獨特之處在于沒有“繁重的作業量”,大家都在做自己認為有趣或重要的事情,沒有要求、沒有產品,也沒有可交付的成果,所以一切進度壓力都是員工自己給自己的,
  • 談程式員該培養何種技能:一是學習如何寫,二是學習如何說,專業的程式員應該可以熟練掌握幾門語言,并且熟悉5-10種其他的語言,
  • 談獨行俠與多人協作:如今的系統規模和環境都龐大且復雜,因此獨行俠式的天才能發揮的作用是十分有限的,但許多大型系統在開始時的規模都非常小,核心貢獻者也非常少,大多數編程語言都是由兩三個人創建的,
  • 談C語言中的指標設計空指標可以說是一個“錯誤”,但我認為,更應該說這是一個在當時很合理的設計選擇,這種設計選擇的代價極其高昂,
  • 談面向物件編程:面向物件編程在許多語言中得到了很好的支持,在有的語言中則完全沒有支持,它僅僅是一種編程技術,適合解決某些型別的問題,但或許不是解決其他問題的正確方法,
  • 談現代作業系統:現代作業系統需要服務一個更加復雜的世界,所以它們相應地也會更加復雜,
  • 談人工智能:利用AI自動生成代碼在某些情況下會有幫助,當我們對某些特定的計算任務理解得足夠透徹,以至于可以自動化生成代碼時,我們就已經取得了很大的進步,
  • 談開源:開源使我們可以在他人的作業基礎上進行構建,實作共同進步,我希望開源可以繼續成為世界的重要組成部分,

50年程式人生

《程式員》:你曾說是理查德·漢明(Richard Hamming)啟發你寫了《UNIX傳奇:歷史與回憶》(UNIX:A History and a Memoir)這本書,那么,在的職業生涯中,哪個人對的影響最大呢?

Brian:我主要想提三個人,首先是迪克·漢明(Dick Hamming,漢明碼發明者,“迪克”是“理查德”的非正式稱呼),是他激發了我寫這本書的靈感,并給我提供了各種各樣的好建議,他是我的人生摯友,

其次是道格·麥克羅伊(Douglas McIlroy,著名數學家,UNIX 開發者),他是我見過的最聰明的人之一(我見過非常多的聰明人),1967年,我在貝爾實驗室第一次實習時就是在他的手下,他曾對我的博士論文的內容和寫作提出了很好的優化建議,我們一起共事了近30年,他在任何領域都是我的“智多星”——編程、寫作、科學、技術、數學等等,

第三個人是林申(Shen Lin),1968年,我在貝爾實驗室第二次實習期間,和林申一起研究了“圖劃分問題”(Graph Partitioning Problem),這后來也成為了我博士論文的基礎,1969年,當我以正式員工的身份回到貝爾實驗室時,我又和林申一起研究了“旅行商問題”(Travelling Salesman Problem)、以及其他組合優化的問題,甚至還一起完成了一些網路設計工具,他具備一種驚人的能力,在上手一些小例子之后,就能總結出普適的方法論,如果沒有他,我是無法順利完成論文的,

《程式員》:從實習到退休,你在貝爾實驗室作業了30年,那里最吸引你的是什么?如今在技術領域,跳槽已然成為一件十分普遍的事情,你對此有什么看法呢?

Brian:在貝爾實驗室的時候,我先是實習,然后轉為全職,那是個神奇的地方,在那里,有數以千計的一流科學家和工程師在研究多個領域中有趣又有關聯的各類問題,公司(AT&T,貝爾實驗室的母公司)具備開放、合作的環境和長遠的眼光,所以我們可以用很長的時間(甚至數年)去完成自己想要完成的任何事,因此,大家自然而然地就會在那里一直作業下去,沒有理由要離開,

如今,這種環境已經不存在了,但同時作業機會卻很多,尤其是對于程式員來說,所以人們在短時間內頻繁地更換作業就不足為奇了,雖然這并不是我個人的作業風格,但似乎對很多人而言都是理所應當的,我倒是覺得,盡管這種作業流動性在短期內有一定的好處,但可能也會帶來一些長期的負面影響,比如許多公司內部都缺乏連續性,喪失了一以貫之的企業文化和傳承,

貝爾實驗室給當今企業的啟示

《程式員》:談到企業文化(Organization Culture),這也是UNIX成功的一個重要原因,在這方面,認為其他企業和實驗室可以從貝爾實驗室中學到什么?假設現在帶領的團隊作業量很大,并且員工都分散在不同的時區,將如何確保代碼質量

Brian:貝爾實驗室研究環境的獨特之處在于沒有“繁重的作業量”,大家都在做自己認為有趣或重要的事情,沒有要求、沒有產品,也沒有可交付的成果,所以一切進度壓力都是員工自己給自己的,因為所有人都生活在同一個地區,因此不存在時區問題,當然,有些人習慣于傳統的白天作業,而有些人則習慣在夜間作業,還有一些人的作業時間很長(比如Ken Thompson),所以他們有時會和白天的人同步,有時會和夜間的人同步,因為所有的程式員都很優秀,所以代碼本身的質量也很高,而且所有的代碼都在檔案系統中,任何人都可以讀取并修改;但唯一的要求是,如果你修改了一個程式的代碼,那么你就要對這個程式負責,從而提醒大家要謹慎,

《程式員》:你曾說貝爾實驗室創造的所有偉大發明都得益于其開放的氛圍和充足的資金支持但如今的公司往往只注重短期效益,這是否意味著將越來越難以見證UNIX這樣偉大發明的誕生?目前,公司在研發方面還有其他可行的方式嗎?

Brian:我確實認為,過多地聚焦在短期目標和錢上是現金企業的一個問題,當然,企業必須要完成特定的作業并交付相應的產品,這樣才能有收入維持企業的運轉,但是,如果一切都以短期目標來衡量的話,就沒有辦法去充分地仔細考慮其他選擇,或者尋找更好的行事方式以及為未來投資,然而,和很多事情一樣,這是一個權衡利弊的程序,我們不難發現,許多優秀甚至偉大的產品都來自研發風格截然不同的公司,

《程式員》:你書中提到,偉大的專案往往是由個人建立起來的,然而現在的公司往往都更強調合作和頭腦風暴,你認為兩者之間是否存在“矛盾”?還是說前者是只適用于“天才”的行事方式?

Brian:在UNIX的早期階段,程式規模要小得多,所以對團隊的關注度并沒有那么高,同一個專案可能會由兩個人共同完成,但如果三人一組的話就有點多了,作業中必然會產生合作,合作的程序是有機的,而不是由管理層刻意創造的,現在所說的頭腦風暴在過去也有:人們探討各自的想法,在黑板上寫寫畫畫,撰寫程式來測驗想法,

如今的系統規模和環境都龐大且復雜,因此獨行俠式的天才能發揮的作用是十分有限的,但許多大型系統在開始時的規模都非常小,核心貢獻者也非常少,我們可以想一想編程語言及其編譯器、Linux或各種主要開發工具,不難發現,我們大多數的編程語言都是由一兩個或兩三個人創建的,Linux也是從一個人開始發展起來的,

《程式員》:UNIX在發展程序中經歷了版本分叉、標準競爭和訴訟,這些也是當今企業不得不面對的成長之痛,你對這些企業有什么建議嗎?

Brian:我認為一個企業總是會很自然地想要通過創造新的、有用的系統、工具、語言和功能來吸引客戶,并且用這些東西來留住自己的客戶,從短期來看這沒什么錯,但從長遠來看,我認為選擇合作會更好,

優秀程式員所具備的能力與素質

《程式員》:作為一位“傳奇程式員”,你也曾和許多同樣具有傳奇色彩的程式員合作過,那在你看來,一名優秀的程式員應該具備什么樣的素質呢?

Brian:其實說實話,我是一個非常普通的程式員,但我有幸與一些十分杰出的程式員合作過,比如肯·湯普森(Ken Thompson,UNIX 創造者)和丹尼斯·里奇(Dennis Ritchie,C 語言創始人),尤其是肯(Ken),他似乎具備一種發現事物的統一性和通用性的天賦,這使他的代碼簡單、干凈且功能強大,他的作業效率高得令人難以置信,能夠在短時間內寫出大量優秀的代碼,而且他可以把這些東西全都記在腦子里,他是我認識的最好的程式員,

《程式員》:肯(Ken)用3周的時間創建了UNIX道格(Doug)在幾天內就提出了“管道(pipe)”的想法,是什么讓你們有如此高的作業效率?

Brian:因為他們是“別人家的程式員”,我從來沒有這么高效過!當然,肯(Ken)和道格(Doug)(以及其他一些人)確實是有天賦的,但我認為,他們的生產力有一部分來自于他們過去大量的作業經驗,對于一些作業他們已經形成了條件反射,從而可以非常有效地創造新事物,

《程式員》:在遇到麻煩或新問題時,你的解決風格是怎樣的?是如何建立自己的思維體系的呢?

Brian:這個問題很籠統,我沒有什么特別的方法,但如果可能的話,我會盡可能地拖延,祈禱問題消失或自行解決,當然,這種方法也不一定總會奏效,但它確實讓我的潛意識有機會來消化這個問題,這對編程是非常有幫助的,

《程式員》對于軟體工程師來說,在職業生涯的不同階段需要培養什么樣的技能或心態呢?

Brian:下面這兩個技能,不僅僅是對軟體工程師,對每個人而言都很重要,一是學習如何寫,二是學習如何說,如果你能寫好、說好,并且能有效地把技術語言傳達給非技術人員的話,這將在你一生的職業生涯中發揮難以想象的價值,同時,我還認為,要對“有趣”或“值得學習”的事物保持開放的心態,不要讓自己變得狹隘,要保持廣泛的興趣,法國偉大的科學家路易斯·巴斯德(Louis Pasteur)曾說過:“機會是留給有準備的人”,所以,你看的東西越多,想的東西越多,探索的東西越多,你就越有可能在某件事上變得越幸運,

未來作業系統猜想

《程式員》:一般來說,我們將MULTICS和UNIX的誕生看作是現代作業系統的起源,你認為作業系統發生了哪些變化?你對現在的主流作業系統,比如Windows、macOS、Android、iOS有什么看法?

Brian:對這個問題我其實沒有什么看法,但是由于現代作業系統確實需要服務一個更加復雜的世界,所以它們相應地也會更加復雜,例如,現在的處理器通常都是多核的,所以多處理成為了作業系統的一部分,這與50年前截然不同,現在記憶體比以往要大得多,外設也更多,網路也逐漸凸顯了其重要性,就我個人而言,因為我用的是MacBook,所以使用macOS系統,但我大部分時間只用它來運行標準的UNIX命令,我有一部Android手機,但是手機編程太不好玩了,所以我也就沒怎么嘗試了,

《程式員》:隨著云計算、人工智能和量子計算的發展,會不會對作業系統提出新的要求和挑戰?會不會出現新的作業系統概念?

Brian:因為我不是很了解量子計算,所以可能沒辦法給出有價值的看法,但我認為人工智能并不會改變我們對作業系統的看法,如果云計算使用起來更容易一些的話,人們可能會說它只是50、60年前出現的MULTICS和UNIX等分時作業系統的現代實作,所以我想說,這并不是一個新概念,只是一個舊概念的新版本,

《程式員》 曾預言,對于編程而言,語言將會更容易且更安全,就這一點而言,這特定的“語言”會是什么呢?Rust或者是更多面向應用程式的語言,比如JavaScript、TypeScript、Dart、Swift、Julia或其他語言?

Brian:如今的大部分編程語言都更安全、簡單,這是批量的而非單一的,每種語言都有其最適合的任務型別,比如適合嵌入式系統和高效庫實作的C語言,適合大型系統的C++,以及適合作為簡單通用語言的Python,等等,我想,專業的程式員應該可以熟練掌握幾門語言,并且熟悉5~10種其他的語言,舊的語言永不會消亡,它們中的大多數都還在繼續發展,當然,有一些程式的嵌入式系統基礎太大、太復雜,難以重寫,但是,人們在創造新語言方面有著無窮的創造力,他們希望這些新的語言能夠取代舊的語言,但這從未實作過,

《程式員》指標(Pointer)是C語言的重要組成部分,程式員需要對記憶體進行管理,這對于初學者甚至是高級程式員都是十分困難的,ALGOL的創建者之一東尼·霍爾(Tony Hoare)稱,空指標(null-pointer)是他的一個“10億美元的錯誤”,你認為它在語言設計上是一個錯誤嗎?

Brian:在1972年前后C語言被創造出來的時候,計算機的速度比今天慢了一百萬倍,記憶體也比今天少了一百萬倍,此外,C語言的目的是取代匯編語言來撰寫關鍵的系統程式,最終取代作業系統本身,因此,這種語言必須簡單且高效,它必須使程式員能夠表達所有的計算,包括訪問位置為0的記憶體,當然,大多數程式員從來不會刻意這么做,都是不小心做的(我們都做過很多次),所以空指標可以說是一個“錯誤”,但我認為,更應該說這是一個在當時很合理的設計選擇,只不過隨著計算機的功能越來越強大,當然,也隨著越來越多天賦不如丹尼斯·里奇(Dennis Ritchie)和肯·湯普森(Ken Thompson)的程式員撰寫C代碼,最終證明,這種設計選擇的代價極其高昂,

《程式員》:你曾提到過:“在計算領域中只有兩個真正的問題:計算機太難使用和太難編程”,認為人工智能(自動生成代碼)的進步會讓編程變得更簡單嗎?

Brian:現在談論現代人工智能的發展還為時過早,但我猜想利用AI自動生成代碼在某些情況下會有幫助,當我們對某些特定的計算任務理解得足夠透徹,以至于可以自動化生成代碼時,我們就已經取得了很大的進步,編譯器就是一個很好的例子,所以我想也會有類似的情況,一個程式可以從程式中學習如何撰寫新的程式,但是!別問我細節,

《程式員》:你是否能預見面向物件編程(Object-Oriented Programming)未來的發展?或者說它是否已經進入了穩定停滯期?

Brian:面向物件編程只是組織計算的一種方法,但肯定不是唯一的方法,它在許多語言中得到了很好的支持,在一些語言中得到了部分支持,而在有的語言中則完全沒有支持,但我并不認為它是一種獨立的事物,僅僅是一種編程技術,它適合解決某些型別的問題,但或許并不是解決其他問題的正確方法,當然,當人們真的要使用它時,仍然要好好地加以利用,以避免深度且脆弱的類層次結構,這需要技巧和練習,

《程式員》:你如何看待“開源”的發展及其對世界的影響?它在未來將走向何方?在這個程序中,特別是對于中國的開發者來說,有哪些值得期待的呢?

Brian:開源是一件非常好的事情,并且對軟體行業的發展至關重要(現在幾乎所有東西都和開源有關),如今我們其實已經取得了很大的進步,主要的軟體系統,如作業系統、編譯器和工具都可以作為高質量商品免費提供,開源使我們可以在他人的作業基礎上進行構建,實作共同進步,雖然我無法準確地預測未來,但我希望開源可以繼續成為世界的重要組成部分,而且,我強烈希望中國的程式員們能夠為現有的專案作出貢獻,并創建出更多的新專案,

One More Thing

《程式員》:《UNIX傳奇:歷史與回憶》(UNIX:A History and a Memoir)一書寫于2019年,該書的中文版業已問世,你寫這本書一共花了多長時間?有什么想對中國讀者說的嗎?

Brian:這本書的大部分內容是我在2019年夏天的一個長假期間在英國寫的,寫作的程序其實很快,因為我很了解這個主題,而且我還得到了多年來參與UNIX開發的各位朋友和同事的寶貴支持,整個寫作程序都非常有趣,既可以追憶過去的美好時光,也可以和很久沒接觸的朋友聯系,

我衷心希望中國的讀者能在這本書中識訓樂趣,今天的世界與UNIX早期的世界已經大不相同了,但人還是一樣的,書里總結了很多經驗:UNIX是如何產生的、富有創造力的人該如何合作、以及公司該如何有效地管理他們,我認為,這些經驗教訓同樣適用于今天,也或多或少地適用于不同國家的開發者,

《程式員》:關于UNIX的歷史,你還有什么要補充的嗎?

Brian:我很幸運,UNIX早期的日子對我而言是非常美好的,貝爾實驗室的環境很好,我身邊有很多了不起的同事,他們在各個領域不斷地創新,UNIX就是在這種獨特的環境中誕生的,從這個意義上來說,我認為UNIX是獨一無二、不可復制的,但在其他地方一定有人也同樣幸運,可以像UNIX那樣為改變世界作出貢獻,我希望我的讀者都是這樣的幸運兒,

從Unix開發者Brian W. Kernighan,到OpenCV創始人Gary Bradski,再到Vue.js作者尤雨溪……《程式員》2.0第一期以「開發者的黃金十年」為主題,與多位國內外知名的技術領袖和新銳代表進行了深度對話,希望為中國開發者打開新時代的「機遇之窗」,

除了技術引領,我們也希望透過技術對行業進行深入洞察,因此,《程式員》2.0第一期也邀請到了來自快手、滴滴、貝殼找房、作業幫等知名企業的技術負責人,用案例實踐為讀者闡述直播、出行、居住、在線教育等多個行業變革背后的技術架構和技術引擎,

掃描下方二維碼,添加小助手,即刻加入《程式員》2.0「讀者群」,搶先一步獲取雜志最新資訊,精彩內容不再錯過,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275394.html

標籤:AI

上一篇:清明節偷偷訓練“熊貓燒香”,結果我的電腦為熊貓“獻身了”!

下一篇:極客日報第101期:蘋果拒絕參加反壟斷聽證會;FFmpeg 4.4 發布

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more