為什麼Java中只有值傳遞
B/S學習筆記
1. 軟體架構
B/S 架構軟體 —— 我們所有的東西都希望通過網站的形式使用,而不依賴於任何其他第三方環境,且依賴於瀏覽器的應用
- B/S 通俗來說就是開發網站
- Web程式 舉例:office online
- C/S 架構 桌面應用 —— 基於C/C++的QT開發(崗位少)
- WPS、office
2. 開發B/S架構軟體需要哪些人才?
- 前端
- 後端
- 測試
- 運維 —— 管伺服器、管部署
- 產品經理(PM)
- 首席技術官CTO【技術崗最高職位】(可能沒有)
- 架構師【技術崗次高職位】
3. 前端準備
- VSCode
- Chrome/FireFox
- Node.js
設定淘寶映象命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
Yarn(可選)如果你要安裝它,前提是必須安裝Nodejs
檢視當前映象源
config get registry
修改淘寶映象
yarn config set registry https://registry.npm.taobao.org/
4. 前端預備課
HTML
定義了網頁內容的含義和結構
CSS
網頁的表現與展示效果
JavaScript (JS)
功能與行為
JS 框架
Jquery、Vue、React
css 框架
bootstrap ELEUI
5. 後端預備課
VMware 虛擬機器
1.安全
2.與本機獨立
3.可以把軟體拖來拖去
4.快照——恢復到原來狀態(速度還快)
# 備忘錄——這臺電腦用來學習的Ubuntu Server虛擬機器 # ip ~$ ifconfig # login login as:qizong007 pswd:123456
Linux基礎 (類Unix:macOS)
運維需要精通
Ubuntu 的問題搜尋一定要帶上版本號 (eg.16.04/18.04)
阿里映象源
https://mirrors.aliyun.com/ubuntu/
拿到系統一定要先
sudo apt-get update
設定root密碼
sudo passwd root
小火車試執行:sl
ctrl+L # 清屏
ctrl+U # 清行
ls -a # 檢視隱藏檔案
安裝必要軟體
sudo apt-get install openssh-server
SSH連線
本質——傳輸命令
ssh [email protected](IP)
公司不會給你暴露IP地址,但會給你金鑰,你離職時會刪除
推薦:XShell 功能更強,但是要錢;我們用的是PuTTY
程式碼怎麼放到網站上?
檔案傳輸 基於FTP協議
1.部署到GitHub等程式碼管理上(如Git)【現在都用這個】
2.FTP傳輸
檢視IP
~$ ifconfig
檢視記憶體(-m 以MB為單位 ~代表使用者目錄)
~$ free -m
補全命令
tab鍵
進入工程資料夾
vim .
YARN是個啥
“安全+可靠+快”的包管理器(基於npm)
注意yarn的安裝:
第一步——配置倉庫
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
第二步——安裝
sudo apt-get update && sudo apt-get install yarn
第三步——確認安裝
yarn -v
配置
yarn config set registry https://registry.yarnpkg.com
安裝pm2
yarn global add pm2
後端語言:Java/Go/Node.js/C#(.NET)/Python/PHP
JSP -> html 裡面擴充套件java程式碼 eg: <%for…%>
不利於業務拓展
- 現在已經前後端分離
HTTP伺服器搭建軟體:Tomcat/Nginx/Apache
- 比如Tomcat,給某個IP開放一個埠(8080)
- 下面兩者都是3000!
EXPRESS (NODE.JS的框架)的搭建
- 輕量級web開發框架
~$ yarn init
~$ git init
~$ yarn add express # 安裝
~$ touch app.js # 複製helloworld程式碼
~$ node app.js # 啟動服務
# 在app.js中app.get()上新增:
app.use(express.static('public'));
~$ mkdir public
~$ cd public
~$ vim hello.html # 隨便寫個靜態網頁
~$ cd ..
~$ node app.js # 啟動服務,進入/public,就看的到了
PM2
pm2是一個程序管理工具,可以用它來管理你的node程序,並檢視node程序的狀態,當然也支援效能監控,程序守護,負載均衡等功能
~$ sudo yarn global add pm2
# 進入目標工程資料夾下
~$ pm2 start app.js # 啟動服務,可以在同個工程下頁面間互相連結了
- 區別
- node app.js 只是短暫開啟服務,而且沒有優化
- pm2 start app.js 只要伺服器不關,就一直開著,還有優化
MVC模式
model 模型
service 層
controller 控制器
HTTP API
資料庫:MySQL/Oracle/SQL Server/SQLite/MongoDB/Redis
- 背景:因為我們前面搭的都是靜態頁面——無資料互動!
- 動態頁面 :和使用者之間具有資料互動
- 將資料存到txt中,純屬扯淡!!!
- 存到excel中,稍好一點…至少有“表”了!但是過於龐大…
- 更好的就是資料庫!它本身也是有單獨資料型別的,小數計算沒有偏差,本質也是個檔案。一個庫相當於好多個excel表。
- 初學者就是CRUD,對資料的增刪改查
- 學牛了,在考慮優化
- 初學者學一個T-SQL和一個NO-SQL:MySQL和Redis
- 版本推薦:MySQL 5.7
- 下載連結:https://dev.mysql.com/downloads/mysql/5.7.html
- Linux下安裝配置:https://blog.csdn.net/weixx3/article/details/80782479
- 安裝時點開發者預設即可
- 切記!用後端語言去驅動!
- 推薦圖形化介面:Navicat
- 推薦框架:ORM(@註釋搞定,不用寫sql語句,瘋狂用API)
6. Git(前端後端——必學,很重要!)
開發人員:Linux作者(用C寫的)
- 版本控制 保留了一切的歷史 可以讓程式碼迅速恢復到你想指定的commit位置
1 2 3(比如3有bug,回滾回2)【時光穿梭】
- 協作開發 —— 需要網路
在自己的電腦上使用git,那確實是有版本控制功能,沒有協作開發功能
大家把每次寫的東西放到哪? 基於Git的一個平臺—— GitHub,GitLab,碼雲
-
如何放在Linux上部署執行?網站是怎麼執行的?
過程:各自開發,git push上傳——測試成功,git合併——架構師那跑成了,git pull更新
7. 全棧
- 前端 -> 後端 比較多 -> node.js
8. Devops
- 開發+質量檢測+技術運營
9. github
- 克隆(儘量別直接Download)
~$ git clone url