主頁 > 軟體工程 > 從零搭建符合自己需求的開發環境

從零搭建符合自己需求的開發環境

2020-12-18 07:50:23 軟體工程

從零搭建符合自己需求的開發環境

本文長期持續更新中,保持和自己實際開發環境一致,歡迎關注交流討論!

前言

這篇文章,一是總結自己,二是給新上道的小白一些思路,三是 何時能重組大學時的EXplosion作業組呢?

現狀分析

個人自述

成長于一個有著IT背景的家庭,從小學到大學瘋狂參加各種機器人比賽,曾多次獲得國一等,

北京211本科,專業先后為 電子資訊工程 -> 計算機科學與技術 -> 虛擬化與云基礎設施,在法國巴黎留學過一年多,曾作為一個Java后端工程師就職于新疆某科技公司互聯網部門,

個人的知識與技術主要是圍繞Java的后端技術堆疊,其次是關于運維和軟體工程方面,但前端、移動端以及游戲相關開發技術也密切關注,

已有的設備

筆記本電腦

我當前的筆記本時一臺 華為 2020款 MateBook 13,CPU 為 Intel Core i5-10210U 1.6GHz (基準速度 2.11Ghz),記憶體 16GB 2133MHz,獨顯 MX250 2G,500GB 固態,十點2k觸屏,1雷電口(充電口),1普通type-c口,開機按鈕有指紋解鎖,系統為 Windows 10 家庭中文版,

配置分析與選購的參考思維

作為一個開發,有必要有一臺配置好一些的電腦,可以減少很多不必要的麻煩,

CPU:其實i5和i7沒差多少,可以從這里省一部分錢,核心的數量,在一般軟體使用中,由于通常沒有基于多核的優化,講道理雙核就夠,但考慮到系統自身的多核呼叫優化,以及最重要的,后端程式與本地運維模擬集群時,會用到多核,所以請盡量還是選購四核的cpu,至于臺式8核的cpu,仔細想想自己用的到么?多的錢應當放在單核的速度上,

記憶體:在我的作業經驗范疇內,記憶體是越多越好,但作為開發,請盡量記憶體至少16GB,不要低于8GB,如果有多的錢,先投資在記憶體存盤量上,其次是速度上,但避免買雜牌,同品牌同引數記憶體條,沒必要準求它是哪個更貴的系列,因為它說的系列優勢你多半用不到或體驗不明顯,

獨顯:我是就這一臺筆記本,平常還要打絕地求生呢…一般開發并不需要獨顯,如果涉及 3D 游戲開發,請配塊高級顯卡,

硬碟:2020年了,別再機械硬碟了,固態都好幾代了…作為一個開發,打交道的永遠不只是記憶體里的那點動態資料,把顯卡和cpu剩的錢換一塊1T的M.2固態吧,這帶來的各方面體驗提升,是硬體升級里最為明顯的,

2k與觸屏:2k和4k,用過了,再看回1080p,你會懷疑自己視力不良了…觸屏,偶爾寫個安卓app,不用接線連手機開開發者模式,直接第一時間在觸屏上滑動模擬器,不爽么?平常瀏覽網頁或圖片,用習慣了,也比用滑鼠滾輪和鍵盤快捷鍵操作方便,

type-c與雷電口:用過都說好,當然如果電腦還有別的口就更好了,單獨買一個USB和雷電雙口的U盤,太爽了,

系統生物解鎖:原本我很喜歡攝像頭window hello解鎖,但用了一段時間開機鍵指紋解鎖后,感覺更加穩定,二者速度通常都比敲密碼快,越快越能保證臨時打開電腦時不會忘記那一瞬間的靈感,

作業系統:我是因為目前就用這一臺電腦,平常要和朋友玩絕地求生等游戲,自然還堅守著Windows陣營,但從開發經歷上講,Mac OS除了一開始讓人覺得反人類,實在是太香了,個人仍然不推薦linux系統,比如有著很好UI的Ubuntu,因為所有linux和windows有的好工具,mac os基本都有,但linux如果開發者自己沒有十足的功底,很容易被一些繁雜瑣碎的事情耽誤時間,mac os有和linux一樣方便的檔案管理結構,有和windows不分伯仲的ui(個人覺得甚至更勝一籌),和linux服務器互動也較windows方便,有些時候想做一些簡單的服務端程式的本地模擬測驗,windows經常因為各種原因很令開發者頭疼,而mac os和linux憑借它們都是源于Unix的系統體系,會方便許多,Windows系統如果為Win 10,請盡量保持更新,

遇到過的設備配置坑點

諸如gitlab、nexus repository 3等,硬體推薦需求為4核8G及以上,當然稍微低一點配置也能運行,但是太低會出問題,低一點會很卡,總體配置越高越好,

又比如docker,windows 10 需要pro或者home的19000+的版本,因為牽扯到了虛擬化問題,兼容Hyper-V架構需要一些home低版本默認系統所沒有的東西,

云服務器

一臺阿里云1C2G輕量應用服務器,目前架設著個人網站和一個建設中的博客系統以及某私有商用計算器,

兩臺阿里云1C2G普通云服務器,用于日常實驗折騰,

開發環境需求分析

一套完整軟體專案開發流程,會從檔案相關的需求分析做起,然后是代碼的撰寫,接著進行驗證測驗,通過了進行部署,最后是運營維護,不論是傳統的瀑布式,還是現在的敏捷與DevOps,需求+設計+代碼+測驗+部署,這個基本流程單元是沒有徹底的完全變過的,在互聯網模式下軟體工程的演變,也僅僅是加快了這個流程的回圈速度,并適當簡化優化部分步驟,在部分程序中加入自動化,減小整體的花銷并提高效率,

需求:首先,需求要被記錄下來,并列入開發流程的時間線,在測驗完成進行部署前可以再次核對驗證,其次,需求要被拆分到細節,明確的需求分析可以大幅提高設計與代碼甚至測驗的效率,同時更容易做出優先級調整從而規劃好時間專案周期,最后,需求最好能標記出版本,將不同部分拆分開,方便代碼合并以及部署發版,對每一次迭代內容更加清晰,需求方面迫切需要一個公示板和一個能區分版本的日志,

設計:我目前選用Xmind畫思維導圖,濾清思路與將重要功能模塊化,還可以表示成簡單的類圖與資料結構圖從而搞清楚資料流向及關系,最重要的是,它免費且可以匯出成很多格式,那么設計方面的需求便是,可以打標簽進行細致分類收藏的,檔案管理系統,

代碼:我的主要開發語言是Java,但是也必然會去涉及其他語言,比如前端用到JavaScript和Html,安卓端用到Kotlin和Dart,運維和后端用到Golang和Shell,甚至游戲開發用到C#和C++等等,代碼方面的需求主要是需要一個輕量級的私有代碼倉庫,同時最好有代碼審查功能,方便以后萬一呢,EXplosion作業組重組,我得確保團隊代碼質量,

測驗:之前作業時,測驗部分相對敷衍,后端會有手動單元測驗,但目的其實只是驗證編譯不報錯順帶生成介面檔案,而前端的測驗以及整體的測驗,僅僅是唯一的測驗工程師手動對著設計的測驗用例進行測驗,并自己手動書寫測驗報告,忙的時候或者太簡單的代碼更改,所有的測驗都可能被跳過,測驗相關需求說起來就很簡單了,至少實作自動化,

部署:作業時的開發測驗環境是提交代碼自動部署的,這大大提高了和前端進行聯調的效率,目前我個人的網站后端使用beego框架進行的簡單開發,在通過手動交叉編譯后,手動進行部署,現在想一了下,其實部署環境通常是固定不變的,部署的操作可以提煉出來寫成腳本自動運行,所以部署方面的需求也是實作自動化,

技術選型

云服務器作業系統

我的云服務器安裝的作業系統為Ubuntu 20.04 x86_64,推薦理由是apt使用方便且各種包更全更新,
真正最終確定作業系統的原因在于,ubuntu 20.04將持續維護到2030年,centos的研究方向改為了centos stream不再會有centos 9,而centos 7維護將結束于2024、centos 8維護將結束于2021,

我是長久以來一直用的CentOS,畢竟入門就是那本“黑色圣經”(《鳥哥的Linux私房菜》),
有人說centos性能和穩定性比ubuntu更好,其實服務器端系統,同樣是LTS長期支持版本,系統上的性能和穩定性都尚可且差不多,服務器運行的其它程式代碼的性能及穩定性才是關鍵影響因素,

容器引擎

目前選擇的Docker,但只是簡單使用,未進行復雜容器編排,由于其安裝配置使用,真的是相對太簡單了,前期使用遇到各種奇葩問題的概率也相對較低,網上文章教程也多,配套工具也多(docker hub和docker compose不香么),

未來可能會徹底改用Kubernetes(k8s),畢竟k8s宣布將要徹底放棄了dockershim,k8s和docker目前容器運行時都支持containerd,在之后對容器編排的需求變得更為重要時,相信轉型也方便,

代碼倉庫

首先是版本控制服務,git都支持大檔案(git lfs)了,SVN等其它工具,真的還那么香么?用過git的都說好,哪怕是Unreal Engine都集成git了,

再說下運行git的服務及代碼存盤倉庫,我最終選擇了gitea搭建私有代碼倉庫(存盤采用mariadb),

github、bitbucket、gitee、coding、teambition等等,私有倉庫及團隊合作相關的免費限制條件太多,雖然小規模開發肯定夠用,但早晚會面臨要繳費或為了免費而費神費力的情況,

gitlab、gogs、gitea等等,不選擇gitlab純粹只是因為現在國內個人能買到的極便宜云服務器難以很好運行(這玩意至少要求4C8G),gogs和gitea本是同根生,采用Golang開發,超級輕量級,功能完全夠用,區別在于,前者是個人維護更新較慢,后者為社區維護更新較快,

最后看下代碼的存盤,我的gitea的資料存盤選擇的mariadb,理由很簡單:我盡可能的少安裝幾種資料庫,剩的之后萬一沒注意出現各種資料不兼容的情況,會處理起來很麻煩,mysql平常很常用,mysql和mariadb兩者起初也是同一個東西,不過前者是商業產品,后者完全就是開源社區維護,mysql community version和mariadb都是免費的,但是mysql community version并不提供執行緒池(這部分在收費的企業版提供),而mariadb支持執行緒池,那么mariadb真香,

持續集成部署

也就是常說的CICD(Continuous Integration & Continuous Deployment)了,當然也有人說其中還包含著持續交付CD(Continuous Delivery),都對了,就是一套流程,從代碼上傳,到代碼構建,接著運行測驗、最后測驗過了進行部署,讓這一套流程自動化,就需要CICD工具了,

我最后選擇的是Drone這個輕量級工具,而沒有選擇Jenkins和Gitlab CI,也沒選擇其它網路在線服務,Jenkins和Gitlab CI,兩個都太重量級了,我的系統配置(1C2G)完全跟不上,外加Jenkins默認UI好丑,其它網路在線服務,多半也是重新封裝了Jenkins,弄了套好看的可視化界面,不過,使用起來總覺得不自由,

開發環境安裝

提示:以下安裝程序中,所有下載地址均已改為國內地址無需翻墻,所有引數為必填引數與建議填寫引數,未填寫的引數均為可選引數,

注意:以下內容均安裝在同一臺服務器內,但是docker設定了內部子網,且dockers內的不同容器分配了各自的內網ip,目的僅是為了模擬部署在不同的服務器上情況,以下使用內網ip的地方,均可以替換成等效的外網ip,但是使用外網ip的地方均不能被替換成內網ip(且應當被替換成域名路徑),原因是這些外網ip是暴露給實際遠端的終端客戶的,如果使用內網ip,客戶由于不處于同一子網故無法決議地址,

安裝容器引擎

在云服務器上安裝Docker

以ssh的方式連接上云服務器,比如Windows用戶,這里推薦使用MobaXterm,個人使用免費、運行流暢、UI界面美觀、各種功能多(我用過之后就再也沒打開過PuTTY了),

準備作業

更新apt包索引,并安裝必要的一些系統工具包,以允許apt通過HTTPS使用存盤庫,

sudo apt-get update

sudo apt-get -y install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

安裝GPG密鑰,

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

通過搜索正常的密鑰后8位(0EBFCD88),驗證GPG密鑰安裝成功,

sudo apt-key fingerprint 0EBFCD88

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <[email protected]>
sub   rsa4096 2017-02-22 [S]

設定穩定存盤庫,

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
安裝并驗證

更新apt包索引,安裝最新版本的Docker Engine和containerd,

sudo apt-get -y install docker-ce docker-ce-cli containerd.io

運行一下hello-world這個官方遠程庫里的image,容器名設定為hi-docker,

sudo docker run --name hi-docker hello-world

如果你看到了“Hello from Docker!”,則說明Docker已經正常安裝,

Hello from Docker!
This message shows that your installation appears to be working correctly.

洗掉這個成功完成運行的hi-docker容器,然后洗掉本地無用的hello-world鏡像,

sudo docker rm hi-docker
sudo docker image rm hello-world
配置子網

為之后的Docker容器,使用docker network命令創建子網,默認是與宿主機橋接,

sudo docker network create --subnet 172.18.0.0/16 \
    --gateway 172.18.0.1 \
    ex-network

創建成功,會顯示一個network的id號,可以通過id號或network名稱查詢子網詳情,

sudo docker network inspect ex-network

搭建代碼倉庫

在云服務器上安裝Gitea搭建Git服務和私有遠程代碼倉庫

以容器形式安裝mariadb用于gitea的資料存盤
sudo mkdir -p /data/docker/mariadb
sudo docker run --name mariadb \
    --network ex-network \
    --ip 172.18.0.2 \
    -p 3306:3306 \
    -v /data/docker/mariadb/:/var/lib/mysql \
    --restart always \
    -e "MYSQL_ROOT_PASSWORD=root" \
    -e "MYSQL_DATABASE=gitea" \
    -e "MYSQL_USER=gitea" \
    -e "MYSQL_PASSWORD=gitea" \
    -itd \
    mariadb:latest
以容器形式安裝gitea
sudo mkdir -p /data/docker/gitea
sudo docker run --name gitea \
    --network ex-network \
    --ip 172.18.0.3 \
    -p 3000:3000 \
    -p 3022:22 \
    -v /data/docker/gitea:/data \
    --restart always \
    -itd \
    gitea/gitea:latest
Gitea初始設定

打開一個web瀏覽器,地址欄輸入 http://云服務器公網ip地址:3000,你將看到一個Gitea的初始化配置的UI界面,

提示:以下各種設定不說明則保持默認值,資料庫主機、用戶名資料庫用戶密碼及資料庫名稱見上文,

資料庫設定

資料庫型別:MySQL
資料庫主機:172.18.0.2:3306
用戶名:gitea
資料庫用戶密碼:gitea
資料庫名稱:gitea
字符集:utf8mb4

一般設定

站點名稱:EXplosion

可選設定

管理員賬號設定:自己的用戶名、密碼和郵箱,

修改Gitea地址

gitea默認的地址為localhost,如果所有操作都是本地內部的,那么無所謂了,可以跳過此步驟,如果你需要從別的地方與gitea產生互動,比如子網劃分后不同地址的容器內程式想通過webhooks進行互動,又比如外網客戶從遠端克隆代碼,都會發生localhost實際地址不一致無權限訪問的問題,此時需要把localhost改為可訪問的公網地址,

操作很簡單,找到/data/docker/gitea/gitea/conf/app.ini這個檔案,打開,并全文所有的localhost替換成 云服務器公網ip地址(最好是域名),

配置持續集成部署工具

創建新的 OAuth2 應用程式

登錄Gitea后,點擊右上角頭像,點擊設定,選擇”應用“分頁,在管理OAuth2應用程式下的,創建新的 OAuth2 應用程式的里面,填寫內容,

應用名稱:drone

重定向URI:http://云服務器公網ip地址:3080/login

點擊生成,將生成的客戶端ID(DRONE_GITEA_CLIENT_ID)和客戶端密鑰(DRONE_GITEA_CLIENT_SECRET)記錄保存下來,點擊保存,

生成Shared Secret

生成Shared Secret(DRONE_RPC_SECRET)用于之后runners和central Drone server之間的通信,

openssl rand -hex 16

安裝Drone Server

提示:目前drone的驗證采用 oath2,不再需要設定DRONE_GIT_USERNAME和DRONE_GIT_PASSWORD,如果倉庫的可見性并不是完全公開,drone默認只對github的私有倉進行授權克隆,其他情況需手動將DRONE_GIT_ALWAYS_AUTH設定為true,

sudo docker run --name=drone \
  --volume=/data/docker/drone:/data \
  --env=DRONE_GITEA_SERVER="http://云服務器公網ip地址:3000" \
  --env=DRONE_GITEA_CLIENT_ID="DRONE_GITEA_CLIENT_ID" \
  --env=DRONE_GITEA_CLIENT_SECRET="DRONE_GITEA_CLIENT_SECRET" \
  --env=DRONE_RPC_SECRET="DRONE_RPC_SECRET" \
  --env=DRONE_SERVER_HOST="云服務器公網ip地址:3080" \
  --env=DRONE_SERVER_PROTO="http" \
  --env=DRONE_GIT_ALWAYS_AUTH=true \
  --network ex-network \
  --ip 172.18.0.4 \
  -p 3080:80 \
  -p 443:443 \
  --restart=always \
  -itd \
  drone/drone:latest

安裝Drone Runner

sudo docker run --name drone-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=http \
  -e DRONE_RPC_HOST="123.57.219.68:3080" \
  -e DRONE_RPC_SECRET="bc6b8c32f8513f7abbb1069262f1ebb7" \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME="DroneRunner" \
  --network ex-network \
  --ip 172.18.0.5 \
  -p 6000:3000 \
  --restart always \
  -itd \
  drone/drone-runner-docker:latest

runner安裝完成后,可以使用docker logs查看日志內容,從而驗證是否安裝成功,

sudo docker logs drone-runner

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

標籤:其他

上一篇:DLL呼叫char *出錯

下一篇:物聯網產品設計中的設備升級功能

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

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more