主頁 >  其他 > 華為資深工程師總結的這本435頁的書,居然把網路協議給趣談了

華為資深工程師總結的這本435頁的書,居然把網路協議給趣談了

2021-12-17 07:48:54 其他

苦且繞不過去,經過多次放棄之后,我發現在我的職業生涯中,網路這一關無論如何也繞不過去,本來覺得寫Java程式時可以依賴別人的庫,所以就不用關心這么多底層的技術了,但是到后來才發現,服務數量一多,吞吐量一大,我們關心的不再僅僅是某個Java應用,而是要提升整個集群的性能,這時網路問題就會出現,而且大規模的微服務架構必定要上云、使用VPC網路,這時就必定要考慮雙活和災備,必定要做各個層次的負載均衡,這些都需要網路方面的技術,既然繞不過去,那就必須“啃”下它,于是我就進入了暗無天日的網路協議學習的程序,

見山開路、遇水搭橋,遇到一個知識點攻克一個,再將其寫到博客或者筆記里面,有時候要看很多文章和書才能攻克一個知識點,但我還是每天下班抱著網路技術相關的文章和書看,直到將各個零散的知識點串連了起來,后來在定位網路問題的時候,我開始有了自己的思路,這時才感覺算是暫時趟過了這條河,

網路協議知識點太多,學完記不住,大部分讀者應該都學過計算機網路課程,學的時候感覺并不難,尤其這門課沒有公式,更像是文科的東西,學了一大堆東西,也背了一大堆東西,但是最終應付完考試之后,都“還給了老師”

每次都感覺自己好像學會了,但實際應用的時候依舊無從下手,雖然很多細節都摸索得差不多了,但是當自己去應用和除錯時,才發現還是沒有任何思路,比如,當創建出來的虛擬機不能上網時,還是無從下手,學過的很多東西,似乎都用不上,我把這種現象總結為:一看覺得懂,一問就打鼓,一用就糊涂,

所以本書使用了“趣談”這種方式,它可以解決從“入門到放棄”的問題,把晦澀的知識點和一些有趣的故事通過比喻的方式結合起來,這樣更容易幫助讀者系統、深入地了解網路技術的知識點和大致的作業流程,

主要包括的內容和總結三部分給大家進行網路協議的拓展學習,希望大家能夠喜歡!!

第1 章 通信協議概述

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

1.1 為什么要學習網路協議

相信大家都信過通天塔的故事,上帝為了阻止人類聯合起來,讓人類說不同的語言,人類沒法溝通,達不成“協議", 通天塔的計劃就失敗了,

但是千年以后,有一種叫“程式猿”的物種,“敲”著一種這個群體通用的語言,打造著互聯網世界的“通天塔”,如今的世界,正是因為互聯網,才連接在一起,

public class HelloWorld {
  publ工cstatic void ma工口(String[]args) {
     System.out.println(”Hello World 1”);
  )
)

如果你是程式員,一定看得懂上面這一段文字,這是每一個程式員向計算機世界說“你好,世界”的方式,但是,你不一定知道,這段文字也是一種協議,是人類和計算機溝通的協議,只有通過這種協議,計算機才知道我們想讓它做什么,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 2 章 從二層到三層

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

2.1 從物理層到MAC 層:如何在宿舍里自己組網玩聯機游戲

第一層:物理層

  • 路由器的使用發生在第三層上,我們先從第一層物理層開始說,
  • 物理層能折騰什么?現在的同學可能想不到,我們當時去學校配電腦的地方買網線,賣網線的師傅都會問,你的網線是要電腦連電腦啊,還是電腦連網口啊?
  • 我們要的是電腦連電腦的網線,就是將一根網線的一頭插在一臺電腦的網卡上,另一頭插在另一臺電腦的網卡上,但是在當時,用普通的網線這樣連接是通不了的,所以水晶頭要做交叉線,用的就是所謂的1-3,2-6交叉接法,
  • 水晶頭的第l、2腳和第3'6腳,分別起著WL發信號的作用,將一端的1號線和3號線、2號線和6號線互換一下位置,就能夠在物理層實作兩端通信,
  • 當然電腦連電腦,除了網線要交叉,還需要配置這兩臺電腦的IP地址、子網掩碼和默認網關,這3個概念前文已經詳細描述過了,要想兩臺電腦能夠通信,兩臺電腦的這3項必須屬于一個網路,否則是行不通的,

第二層:MAC層

你可能已經發現問題了,Hub采取的是廣播的模式,如果每一臺電腦發出的網路包,宿舍里的每臺電腦都能收到,那就麻煩了,這時就需要解決以下幾個問題:

  • 這個網路包是發給誰的?誰應該接受?
  • 大家都在發,會不會產生混亂?有沒有誰先發、誰后發的規則?
  • 如果發送的時候出現了錯誤,怎么辦

這幾個問題,都發生在第二層鏈路層,即MAC層要解決的問題,MAC的全稱是MediumAccess Control,即媒體訪問控制,控制什么呢?其實就是給媒體發送資料時,控制誰先發、誰后發,防止發生混亂,MAC層解決的是第二個問題,這個問題學名叫多路訪問,有很多演算法可以解決,就像車管所管理車輛一樣,會想出很多辦法,比如以下3種方式,

  • 方式一:分多個車道,每個車一個車道,你走你的,我走我的,這在計算機網路里叫作信道劃分協議,
  • 方式二:今天單號出行,明天雙號出行,輪著來,這在計算機網路里叫作輪流協議,
  • 方式三:不管三七二十一,有事兒先出門,發現特堵,就回去,錯過高峰再出門,這在計算機網路里叫作隨機接入協議,著名的以太網,用的就是這個協議,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 3 章 重要的傳輸層

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

3.1 UDP:雖然簡單但是可以走制化

TCP和UDP有哪些區別

一般在面試時,如果面試官問這兩個協議的區別是什么,大部分面試者會回答,TCP是面向連接的,UDP是面向無連接的,

什么叫面向無連接,什么叫面向無連接呢?在互通之前,面向連接的協議會先建立連接,例如,TCP會進行三次握手來建立連接,而UDP不會,為什么要建立連接呢?TCP可以進行三次握手,UDP可以發三個包,難道不都是建立連接嗎?

所謂的建立連接,是為了維護客戶端和服務端的連接而去建立一定的資料結構,從而維護雙方互動的狀態,并用這樣的資料結構來保證面向連接的特性,

例如,TCP提供可靠交付,通過TCP連接傳輸的資料能夠無差錯、不丟失、不重復,并且可以按序到達,我們都知道IP包是沒有提供任何可靠性保證的,一旦發出去,就像西天取經,走丟了、被妖怪吃了,都只能隨它去,TCP號稱能做到連接維護程序做的事情,這部分內容在下面兩節中會詳細描述,而UDP繼承了IP包的特性,不保證傳輸的資料不丟失,也不保證按序到達,

再如,TCP是面向位元組流的,發送時發的是一個流,沒頭沒尾,但TCP基于的E層發送的可不是一個流,而是一個個的IP包,到TCP層后之所以變成流,是因為TCP自身的狀態維護做了相應的處理,而UDP則不一樣,它繼承了IP包的特性,也是一個一個地發,一個一個地收,在UDP層發送的一個個資料包,還有-個名字叫資料包,

另外,TCP是可以進行擁塞控制的,它意識到包已經被丟棄或者網路環境變差時,就會根據情況調整自己的行為,看看是不是資料包發得太快了,要不要發慢點,UDP就不會,應用讓我發,我就發,管它洪水滔天,

因而TCP是有狀態服務,通俗地講就是它“有腦子”,它精確地知道資料包是否已經被發送出去、是否被接收、發送到哪兒了、應該接收哪個資料包了,錯一點兒都不行,而UDP則是無狀態服務,通俗地說就是它“沒腦子”,天真無邪,發出去就發出去了,后續就不管了,

如果說MAC層定義了本地局域網的傳輸行為,IP層定義了整個網路端到端的傳輸行為,那么這兩層就基本定義了這樣的“基因”:網路傳輸是以包為單位的(網路包在不同的層有不同的叫法,鏈路層叫幀,網路層叫包,傳輸層叫段,我們可以籠統地稱之為包),包單獨傳輸,自行選路,在不同的設備上進行封裝、解封裝,不保證到達,基于這個“基因”,生下來的“孩子”UDP就完全繼承了這些特性,幾乎沒有自己的思想,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 4 章 常用的應用層

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

4.1 HTTP:看個新聞原來這么麻煩

接下來開始講應用層的協議,就從最常用的HTTP開始講起,

HTTP幾乎是每個人上網用的第一個協議,同時也是很容易被忽略的協議,

既然本節要講看新聞,咱們就先登錄某新聞網站http://www.***·com,

http//www.***.com是一個URL( Uniform Resource Locator,統一資源、定位符),之所以叫統一,是因為它是有格式的,HTTP稱為協議,WWW.*忡.com是一個域名,表示互聯網上的一個位置,有的URL會有更詳細的位置標識,例如http://www.***·corn/index.html,正是因為URL是統一的,所以當你把這樣一個字串輸入到瀏覽器的地址框里進行搜索的時候,瀏覽器才能知道如何進行統一處理,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 5 章 陌生的資料中心

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

5.1 DNS:網路世界的地址簿

什么是DNS服務器

在網路世界,也是一樣的,你肯定記得住網站的名稱,但是很難記住網站的IP地址,因此也需要一個地址簿,即DNS(Domain Name System,域名系統)服務器,

由此可見,DNS服務器在日常生活中多么重要,每個人上網都需要訪問它,但是同時,這對它來講也是非常大的挑戰,一旦它出了故障,整個互聯網都將癱瘓,另外,上網的人分布在世界各地,如果大家都去同一個地方訪問某個服務器,時延將會非常大,因而,DNS服務器一定要設定成高可用、高并發和分布式的,

于是,就有了樹狀的層次結構,如圖所示,

  • 根DNS服務器:回傳頂級域DNS服務器的IP地址,
  • 頂級DNS服務器:回傳權威DNS服務器的IP地址,
  • 權威DNS服務器:回傳相應主機的E地址,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 6 章 云計算中的網路

6.1 云中網路:自己拿地成本高,購買公寓更靈活

我們知道了資料中心里面堆著一大片一大片的機器,相互之間用網路連接,如果機器數量非常多,那么維護起來還是挺麻煩的,有好多不靈活的地方,比如以下幾點

  • 采購不靈活:如果客戶需要一臺電腦,那就需要自己采購、上架、插網線、安裝作業系統,周期非常長,一旦采購了,一用就得好多年,不能退貨,|哪怕業務不做了,機器還在資料中心里留著,
  • 運維不靈活:一旦需要擴容CPU、記憶體、硬碟,都需要去機房手動弄,非常麻煩,
  • 規格不靈活:采購的機器往往動不動幾百GB的記憶體,而每個應用往往可能只需要4核8GB,所以很多應用混合部署在上面,埠可能會相互沖突,容易相互影響,
  • 復用不靈活:一臺機器,一旦一個用戶不用了,另外一個用戶,就需要重裝作業系統,
  • 因為原來的作業系統可能遺留著很多資料,非常麻煩,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 7 章 容器技術中的網路

7.1 容器網路:來去自由的日子,不買公寓去合租

如果說虛擬機是買公寓,容器則相當于合租,有一定的隔離,但是隔離性沒有那么好,云計算解決了基礎資源層的彈性伸縮問題,卻沒有解決由于基礎資源層彈性伸縮而帶來的PaaS層應用批量、快速部署問題,于是,容器應運而生,

容器即Container,而Container的另一個意思是集裝箱,其實容器的思想就是要變成軟體交付的集裝箱,集裝箱有兩個特點:一是打包,二是標準,

在沒有集裝箱的時代,假設要將貨物從A運到B,中間要經過三個碼頭、換三次船,那么每次都要將貨物卸下船來,弄得亂七八糟,然后再搬上船重新擺好,如圖7-1所示,在沒有集裝箱的時候,每次換船,船員們都要在岸上待幾天才能干完活,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

有了尺寸全部都一樣的集裝箱以后,可以把所有的貨物都打包在一起,每次換船的時候,把整個集裝箱搬過去就行了,幾個小時就能完成,船員換船時間大大縮短,如圖7-2所示,這是集裝箱的“打包”和“標準”兩大特點在生活中的應用,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 8 章 微服務相關協議

8.1 基于XML 的SOAP:不要說NBA,請說美國職業籃球聯賽

ONC RPC存在哪些問題

ONCRPC將客戶端要發送的引數及服務端要發送的回復都壓縮為一個二進制串,這樣固然能夠解決雙方協議約定的問題,但是仍然不方便,

首先,需要雙方的壓縮格式完全一致,一點都不能差,一旦有少許的差錯,多一位、少一位或者錯一位,都可能造成無法解壓縮,當然,我們可以通過提高傳輸層的可靠性,以及加入校驗值等方式來減少傳輸程序中的差錯,

其次,協議修改不靈活,除了傳輸程序中造成的差錯,客戶端因為業務邏輯的改變添加或者洗掉了欄位,或者服務端添加或者洗掉了語段而沒有及時通知對方,或者線上系統沒有及時升級,都會造成解壓縮不成功,

因而,當業務發生改變,需要多傳輸或者少傳輸一些引數時,都需要及時通知對方,并且根據約定好的協議檔案重新生成雙方的Stub程式,自然,這樣操作的靈活性比較差,

如果僅僅是溝通的問題還好解決,更難處理的是版本的問題,比如在服務端提供一個服務,引數的格式是版本l的,已經有50個客戶端在線上呼叫了,現在有一個客戶端有一個需求,要加一個欄位,怎么辦呢?這可是一個大工程,所有的客戶端都要適配這個,重新寫程式,哪怕不需要這個欄位的客戶端也要加上這個欄位,并傳輸0,這些程式員就很委屈,本來沒我什么事兒,為什么讓我也忙活?

最后,ONCRPC的設計明顯是面向函式的,而非面向物件,而當前面向物件的業務邏輯設計與實作方式已經成為主流,

這一切的根源就在于壓縮,就像平時我們愛用縮略語,如果是籃球愛好者,你直接說NBA(National Basketball Association,美國職業籃球聯賽),他馬上就知道什么意思,但是如果你和一個大媽說NBA,她可能就聽不懂,

所以,這種RPC框架只能用于客戶端和服務端全由一批人開發的場景,或者至少客戶端和服務端的開發人員要密切溝通,相互合作,有大量的共同語言,才能按照既定的協議順暢地進行作業,

XML與SOAP

但是,一般情況下,我們做一個服務,都是要提供給陌生人用的,你和客戶不會經常溝通,也沒有什么共同語言,這時就不適合用縮略語,就像你給別人介紹陽A,你要說美國職業籃球聯賽,這樣不管他是做什么的,都能聽得懂,

放到我們的場景中,就是用文本類的方式進行傳輸,無論哪個客戶端獲得這個文本,都能夠知道它的意義,

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

第 9 章 網路協議知識串講

9.1 知識串講:用"雙*"的故事串起網路協議的碎片知識(上)

9.2 知識串講:用"雙*"的故事串起網路協議的碎片知識(中)

9.3 知識串講:用"雙*“的故事串起網路協議的碎片知識(下)

9.4 搭建—個網路實驗環境:授人以魚不如授人以漁

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

總目錄:

華為研究院19級研究員幾年心得終成趣談網路協議檔案,附大牛講解

好了,本篇文章就分享到這里了,希望這份【趣談網路協議】對大家有所幫助,小編在這里也感謝大家對小編的支持😉

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

標籤:其他

上一篇:別告訴我你連執行緒池都不會用~ 一文搞懂執行緒池

下一篇:程式員35歲必淘汰?是我今年聽過最好笑的笑話了。。。

標籤雲
其他(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