主頁 >  其他 > 開發工具之版本控制

開發工具之版本控制

2021-08-16 10:32:47 其他

文章目錄

  • 【前言】
  • 【相關資料】
  • 【🌟🌟實踐速通篇】
  • 【相關疑問篇】
  • 【學習篇】
    • 什么是版本控制系統
    • 集中式 or 分布式
      • 集中式
      • 分布式
    • Git是什么
    • 安裝
      • 在Linux上安裝
      • 在Mac上安裝
      • 在Windows上安裝
    • 配置
    • 五個作業區域
    • 創建本地版本庫
    • 把檔案添加到暫存區
    • 把檔案從暫存區移出
    • 提交修改到版本庫
    • 查看Git狀態
  • 【🌟🌟🌟實踐篇】

【前言】

學習Git的主要的目的是學習版本控制,所以我們應該學習的是版本控制,而非具體某一項工具,如Git,而這里以Git為例只是一個讓我們學習版本控制的途徑,未來如果有一天你換到了別的版本控制工具,一定要學會舉一反三,

幾乎所有的命令列式應用都可以通過在命令列輸入man 應用程式名(man是manual的縮寫)的方式查看官方手冊,IT屆流行一句話叫RTFM,意思是Read The Fucking Manual,官方手冊足夠權威,推薦英文基礎較好的同學直接閱讀官方手冊學習,

對于工具類的東西,以及很多計算機知識來說,最快的學習途徑就是用,先會用再去研究原理往往能達到事半功倍的效果,如果你上來就研究原理,往往對于那些大神嘴里說的東西不知甚解,不知道為什么這么做,也不知道這么做有什么好處,甚至于講一些原理,你都不知道這個東西以后該用在什么地方,這會是件很可悲、很浪費時間的事,

這也是很多人都說《Java編程思想》這本書很好但并不適合新手的一部分原因,什么階段的水平學習什么樣的知識,用階梯式的學習而不是跳躍式的學習往往能減少很多不必要的麻煩,也能減少對自信心的打擊,

版本控制Git的學習獨立于具體的具體的編程語言和其他知識,屬于自稱體系的工具類知識,所以即便沒有編程基礎也可以學習,但因為大多通過Linux命令列互動的方式來用(也有GUI客戶端),所以可能需要一些Linux操作相關的知識,

說明:一開始寫了很多東西,后來在繼續查找相關資料的程序中,發現很多東西都有人寫的更透徹,更明了,筆者希望自己能夠寫出更有價值的東西出來,加上自己目前主要的精力還是不應該放在Git上面,遂萌生了退意,所以附上了不少相關資料的連接,待后續有精力時再做補充,這是筆者第一篇博文,雖然沒有完成,但是依然在書寫程序中識訓了很多,

【相關資料】

Git官方網站:最權威的參考資料

Git手冊:man git的網頁版

Git命令速查手冊官方版

相關書籍:《Pro Git, 2nd》:Git官方推薦的書籍,中文版

博客:Git的思想和基本作業原理:了解Git底層作業原理

可視化Git命令速查表:Git五個磁區之間的命令對應圖🌟🌟🌟強烈推薦!!!建議初學者學習每個命令時都對照著這個圖,思考這個命令發生了什么,能達到事半功倍的學習效果,點擊每個區域能顯示與該區域有關的命令,

Github教程:一個很詳盡的Github教程

猴子都能懂的Git入門:一個通俗易懂的Git入門教程

廖雪峰的git在線教程:個人認為有點亂,扯的有點多,對新手不太友好,容易混亂,但是對著練習一遍會有識訓,

【🌟🌟實踐速通篇】

頭歌教學實踐平臺:Git從小白到高手 :適合新手認識Git并進行在線練習,

Git在線聯系網站:中文版,對新手比較友好,但是容易造成練完一遍仍然感覺不會用,,,

【相關疑問篇】

什么是版本控制系統?
版本控制有什么用?
我為什么要學這個?
Git是什么?
為什么要學習Git
除了Git還有沒有其他工具能達到你的目的?

【學習篇】

隨著計算機技術的發展,軟體的結構變得越來越復雜,規模也越來越大,軟體開發中的版本控制、代碼托管及協同開發也變得越來越重要,

Git是一個分布式的版本控制系統,它功能強大、操作簡單,并且能很好地解決以上問題,目前,熟練地使用Git已經成了一個軟體開發從業者必備的技能,同時,其他領域的作業者也可以使用Git進行產品的版本控制,

說明:Git是一個工具,沒必要把時間浪費在那些“高級”但幾乎永遠不會用到的命令上,一旦你真的非用不可了,到時候再自行Google或者請教專家也未遲,合理分配學習精力,沒必要過于追求奇技淫巧,

什么是版本控制系統

在寫論文的時候,你有沒有遇到過這種情況:
一個檔案版本迭代的例子
我想每一個寫過畢業論文或者做過畢設的同學一定有過這種痛的經歷吧,雖然現在Word/WPS這些工具已經非常強大,但是生成那么多檔案依然夠讓自己抓狂的,這還只是一個檔案,如果是紛繁復雜的代碼呢?那么多源代碼檔案、編譯后的檔案、組態檔放在一起,想做改動,難道每次都要備份一個嗎?光是想想都夠讓人頭大,

如果能有一個軟體,可以幫自己管理每次改動,并且給每次版本的迭代打上標簽、做好記錄,想撤回到那個版本,直接跳到那個時間節點就好,仿佛有了時光回溯一般該多好,

一定要相信,作為互聯網原住民,你遇到的問題,有相當大的概率你的前輩們都遇到過并且解決了, 那么前輩們是如何解決這個問題的呢?版本控制應運而生,

集中式 or 分布式

集中式

版本庫是集中存放在中央服務器的,干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的成果推送給中央服務器,有點類似于C/S架構,缺點是必須聯網才能作業,如果是在局域網還好,如果在互聯網上,遇到網速慢的情況,可能提交一個10M的檔案就需要5分鐘,人生苦短,何必把時間浪費在這上面,

  • 最早的開源且免費的集中式版本控制系統CVS:由于CVS自身設計的問題,會造成提交檔案不完整,版本庫莫名其妙損壞的情況,
  • 目前用得最多的集中式版本庫控制系統SVN:同樣是開源且免費,修正了CVS的一些穩定性問題,
  • 收費的集中式版本控制系統,比如IBM的ClearCase(以前是Rational公司的,被IBM收購了):特點是安裝比Windows還大,運行比蝸牛還慢,能用ClearCase的一般是世界500強,他們有個共同的特點是財大氣粗,
  • 微軟自己也有一個集中式版本控制系統叫VSS:集成在Visual Studio中,由于其反人類的設計,連微軟自己都不好意思用了,

分布式

每個人的電腦上都有一個完整的版本庫,這樣,作業的時候就不需要聯網了,那多個人如何協作呢?比方說你在自己電腦上改了檔案A,你的同事也在他的電腦上改了檔案A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了,

在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機,因此,分布式版本控制系統通常也有一臺充當“中央服務器”的電腦,比如我們大名鼎鼎的GitHub,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已,

分布式版本控制系統除了Git以及促使Git誕生的BitKeeper外,還有類似GitMercurialBazaar等,這些分布式版本控制系統各有特點,但最快、最簡單也最流行的依然是Git

Git是什么

目前世界上最先進的分布式版本控制系統,Git-維基百科(可以了解一下誕生的歷史)

安裝

在Linux上安裝

👉學習linux基礎操作

  • 在線安裝
    在Debian或Ubantu Linux(Debian類體系結構系統)
    sudo apt-get install git
    
    在老一點的Debian或Ubantu Linux1
    sudo apt-get install git-core
    
    在Fedora或CentOS
    yum install git
    
  • 離線安裝
    如果是其他Linux版本或者系統沒有接入互聯網,Git可以通過原始碼安裝,具體的安裝程序請參考Git官網教程或者GithubGit倉庫的用戶指南,但對于初學用戶,還是建議大家直接安裝,

在Mac上安裝

Mac上安裝Git有四種方式:

  • 圖形化的Git安裝工具,網址圖形化Git工具安裝地址
  • 通過MacPorts 安裝,如果已經裝好了MacPorts,請用下面的命令安裝 Git
    sudo port install git-core +svn +doc +bash_completion +gitweb
    
  • (推薦) 安裝Homebrew,然后通過Homebrew安裝Git,具體方法請參考Homebrew的檔案,或這篇教程👉Homebrew教程
  • (推薦) 直接從AppStore安裝XcodeXcode集成了Git,不過默認沒有安裝,你需要運行Xcode,選擇選單"Xcode -> Preferences",在彈出視窗中找到"Downloads",選擇"Command Line Tools",點"Install"就可以完成安裝了,Xcode是Apple官方IDE,功能非常強大,是開發Mac和iOS App的必選裝備,而且是免費的!但是體積非常大,如果只想使用Xcode附帶的工具包,可以在控制臺中輸入
     xcode-select --install
    

在Windows上安裝

在Windows上使用Git,可以從Git官網直接下載安裝程式,然后按默認選項安裝即可,

安裝完成后,在開始選單里找到“Git”->“Git Bash”,蹦出一個類似命令列視窗的東西,就說明Git安裝成功!

配置

由于Git是一個分布式的版本控制系統,所以當利用它進行分工協作時,必須區分不同的機器,這一點可以通過配置機器的名字和郵箱完成,Git初始使用時,也會提示進行配置,配置命令如下:

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

在實際的使用程序中,可以將上面命令中"Your Name""email@example"替換為自己實際的名字和郵箱,

注意git config命令的–global引數,用了這個引數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址,

五個作業區域

學習Git的程序中,心中要始終有五個作業區域,幾乎所有的作業命令都是在這五個作業區域間做操作,它們分別長這樣:
在這里插入圖片描述
關于每個區域的作用,將在后文中逐一介紹,請大家把這五個區域印在腦海中,

創建本地版本庫

什么是版本庫:

版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有檔案都可以被Git管理起來,每個檔案的修改、洗掉,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”,

首先,我們需要創建一個目錄,做為我們的本地版本庫,然后使用git init命令,將其初始化為一個本地版本庫,如下:

mkdir /home/repo	#在/home目錄下,創建repo目錄
cd /home/repo		#進入repo目錄
git init			#將repo初始化為一個本地版本庫

通過上述命令,即可在/home目錄下,創建repo目錄,并將其初始化為一個版本庫,在實際使用中,可以將上面命令中的/home/repo 換成你自己想用的目錄,

細心的讀者可以發現當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的檔案,不然改亂了,就把Git倉庫給破壞了,
如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的,用ls -al命令就可以看見,
里面可能包含這些檔案(不同的作業系統可能會有細微的差異)在這里插入圖片描述

把檔案添加到暫存區

不少初識Git的同學在學完Git后可能對于暫存區的概念感覺很迷惑,不知道為什么要增加這么一個區域,筆者就是如此,在查閱了多方資料后,得到一個比較能讓人接受的論調(未必是對的),

不少人認為添加暫存區是為了能夠將檔案分批提交,比如在作業區添加了功能A對應的檔案a1檔案a2功能B對應的檔案b1檔案b2,由于CLI操作的局限性,在作業區和本地版本庫中間添加一個暫存區能有利于將兩個功能的檔案分開提交,從而生成兩個節點,
但如果只是為了如此,commit命令本身就能完成這種事情,
所以這種說法有一定的道理性,
筆者認為另一部分的原因在于Unix的設計哲學,Unix系統的設計哲學認為,一個程式應該只注重一件事并把這件事做到極致,在提交程序中,選擇提交哪個檔案提交動作本身顯然應該是兩個功能,試想一下提交分為把提交所有提交部分選取并提交提交帶說明提交并tag提交并push提交并覆寫那么多子功能的話,簡直就是個災難,
提交就應該只做提交的事情,篩選應該交由其它指令來完成,事實上,所謂的提交并覆寫全部提交都是后面給加的腳本功能,

如果實在無法理解的話,可以類比生活中先添加到購物車再下單的場景,

把檔案添加到暫存區,需要用到git add命令,git add命令的使用方式如下所示:

#追蹤所有檔案
git add .
#追蹤hello.txt檔案
git add hello.txt

如上所示,當需要追蹤所有檔案時,使用git add .,如果想添加指定檔案,只需要像示例中添加hello.txt一樣,將檔案名做為引數名,傳給git add即可,在實際使用中往往用git add .配合.gitignore檔案來更方便的控制追蹤哪些檔案,關于.gitignore檔案的內容將在下文介紹,

這樣,你便成功追蹤到了hello.txt檔案,以后對于hello.txt檔案的每次修改,Git都會了如指掌,

把檔案從暫存區移出

撤銷追蹤檔案,需要用到git checkout [檔案名]命令,git checkout [檔案名]命令的使用方式如下所示

git checkout hello.txt

這樣,你撤銷了對于hello.txt檔案的追蹤,

提交修改到版本庫

當我們對一個或多個追蹤的檔案做了修改,或者新添加了一個或多個追蹤的檔案,并且已經完成了相應的作業,想要把當前的作業狀態保存起來,類似于我們撰寫檔案時候的ctrl/command + s該怎么做呢,這個時候就需要我們把當前的修改保存到版本庫,從而形成一個時間回溯點,也類似于角色扮演類游戲中的存檔點

把修改添加到版本庫,需要用到git commit命令,git commit 命令的使用方式如下:

git commit -m "本次提交的簡要說明"

-m引數后面跟的是本次提交內容的簡要說明,用來說明你這次的提交,主要是做了哪些修改,這個說明內容是必須的,如果不加-m引數,將會自動進入到一個vim編輯界面,強制要求你撰寫此次提交的說明,且撰寫內容不得為空,大概長這樣
在這里插入圖片描述

提交成功后,控制臺會這樣提示你
提交成功

[master c6a04a3] 簡要說明:提示你這個存檔點在master分支,編號的最后七位是c6a04a3簡要說明是你在-m引數后面或者vim編輯器里撰寫的此次提交的說明,
1 file changed, 0 insertions(+), 0 deletions(-):提示你此次相比上次存檔點更改了1個檔案,檔案中插入了0行,洗掉了0行,
這樣,你便將hello.txt檔案成功保存到了版本庫中,類似于在游戲中進入了下一個存檔點,這個存檔點相比于上次,多了一個hello.txt檔案,

說明:所有的版本控制系統,其實只能跟蹤文本檔案的改動,比如TXT檔案,網頁,所有的程式代碼等等,Git也不例外,版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”,而圖片、視頻這些二進制檔案,雖然也能由版本控制系統管理,但沒法跟蹤檔案的變化,只能把二進制檔案每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道,
不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統是沒法跟蹤Word檔案的改動的,前面我們舉的例子只是為了演示,如果要真正使用版本控制系統,就要以純文本方式撰寫檔案,
因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平臺所支持,

查看Git狀態

在命令列中輸入

git status

將出現以下三種情況:

  1. 當前檔案下的所有檔案都被追蹤,且沒有尚未提交的檔案,類似于你剛存檔完畢, 類似于下面的輸出:
    作業區干凈狀態
  2. 當你創建完helloGit.txt,但沒有追蹤它時,如果使用git status命令,你會得到類似于下面的輸出:
    有未追蹤的檔案意思是在所有你追蹤的檔案中,沒有要提交的,但是有未追蹤且未忽視的檔案出現,
  3. 創建完helloGit.txt,且追蹤了這個檔案,但是沒有提交,你會得到類似于下面的輸出:
    在這里插入圖片描述
    意思是你追蹤了helloGit.txt檔案,但是你沒有提交它,類似于游戲資料發生了變化但是沒有存檔,

未完待續,,,

【🌟🌟🌟實踐篇】

未完待續,,,


  1. 1、為什么要使用git-core: 以前有個軟體也叫GIT(GNU Interactive Tools),結果Git就只能叫git-core了,由于Git名氣實在太大,后來就把GNU Interactive Tools改成gnuitgit-core正式改為git, ??

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

標籤:其他

上一篇:關于微信小程式上線流程的簡單總結

下一篇:idea必備配置和插件

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