基於阿裡雲、七牛雲、寶塔面板,從零開始用Halo搭建個人博客網站

来源:https://www.cnblogs.com/zqingyang/p/18132794
-Advertisement-
Play Games

目錄 目錄目錄購買伺服器環境要求硬體配置CPU記憶體磁碟網路軟體環境JRE(Java Runtime Environment)MySQL(可選)Web 伺服器(可選)Wget(可選)VIM(可選)瀏覽器支持名詞解釋~(符號)運行包工作目錄購買功能變數名稱伺服器安裝配置遠程連接阿裡雲網頁連接Xshell程式連接 ...


目錄

目錄

購買伺服器

官方硬體需求: https://docs.halo.run/getting-started/prepare/

環境要求

這裡將講述運行 Halo 所要求的一些軟硬體的配置,我們建議您在運行或者部署之前先瀏覽一遍此頁面。

硬體配置

提示

如果您要使用伺服器進行部署 Halo,您需要註意的是,Halo 目前不支持市面上的雲虛擬主機,請使用雲伺服器或者 VPS。

CPU

無特別要求。目前我們的 Docker 鏡像 也已經支持多平臺。

記憶體

為了獲得更好的體驗,我們建議至少配置 1G 的 RAM。

磁碟

無特別要求,理論上如果不大量在伺服器上傳附件,Halo 對磁碟的容量要求並不是很高。但我們推薦最好使用 SSD 硬碟的伺服器,能更快的運行 Halo。

網路

Halo 目前必須在外網暢通的情況下使用,否則會導致頁面異常。

軟體環境

Halo 理論上可以運行在任何支持 Java 的平臺。

JRE(Java Runtime Environment)

必須在運行環境安裝好 JRE,這是運行 Halo 所要求的的最低軟體環境要求。如果您使用 Docker 運行 Halo,可忽略此要求。

信息

從 1.4.3 起,版本要求為 11 以上的版本。1.4.3 以下需要 1.8 以上的版本。

MySQL(可選)

這並不是 Halo 必須依賴的,Halo 預設使用自帶的 H2 Database,無需單獨安裝。如果 H2 Database 不能滿足你的要求,您需要在系統內安裝並運行好 MySQL。

具體要求:

  1. 版本:5.7 +
  2. 字元集(Character Set):utf8mb4
  3. 排序規則(Collate):utf8mb4_bin
  4. 存儲引擎:InnoDB

綜上,建議創建資料庫採用下麵的命令:

create database halodb character set utf8mb4 collate utf8mb4_bin;

Web 伺服器(可選)

如果您部署在生產環境,那麼你很可能需要進行功能變數名稱綁定,這時候我們推薦使用諸如 NginxCaddy 之類的 Web 伺服器進行反向代理。但需要註意的是,目前 Halo 不支持代理到子目錄(如:halo.run/blog)。

Wget(可選)

後續的文檔中,我們會使用 wget 為例,用於下載所需要的文件,所以請確保伺服器已經安裝好了這個軟體包。當然,下載文件不限制工具,如果你對其他工具熟悉,可以忽略。

VIM(可選)

後續的文檔中,我們會使用 vim 為例,用於修改一些必要的配置文件,所以同樣請確保伺服器已經安裝了這個軟體包。當前,修改文檔也不限制工具,如果你對其他編輯軟體熟悉,也可以忽略。

瀏覽器支持

  1. 用戶前臺:視主題所支持的情況而定,由於目前的評論模塊使用了 Vuejs 開發,所以在 Vuejs 不支持的某些瀏覽器中無法正常顯示評論區域。
  2. 管理後臺:支持目前常見的現代瀏覽器,具體視 Vuejs 框架的支持情況而定。

名詞解釋

這裡將列出後續文檔中一些和 Halo 相關的名詞含義。

~(符號)

代表當前系統下的 用戶目錄

運行包

指 Halo 構建所產生的 Jar 包,尾碼為 .jar。可能與其他網站應用有所區別的是,Halo 僅僅只有這一個文件。而且所有數據統一保存在下麵所說的 工作目錄

工作目錄

指 Halo 所依賴的工作目錄,在 Halo 運行的時候會在系統當前用戶目錄下產生一個 .halo 的文件夾,絕對路徑為 ~/.halo。由於這個工作目錄是固定的,所以上面所說的 運行包不限制所存放的位置,裡面通常包含下列目錄或文件:

  1. db:存放 H2 Database 的物理文件,如果您使用 MySQL 資料庫,那麼不會存在這個目錄。
  2. templates/themes:裡面包含用戶所下載的主題。
  3. static:相當於網站的根目錄。
  4. logs:運行日誌目錄。
  5. upload:附件目錄。
  6. application.yaml:配置文件。

在阿裡雲官網點擊價格計算器

image

地域可以購買離自己進一點的(訪問起來會快一點), 如果伺服器在大陸內, 最後進行功能變數名稱綁定的時候需要進行備案, 選用在香港的伺服器則不用.

購買功能變數名稱

建議在博客搭建完畢後再進行備案, 在下文的 nginx反向代理 中需要用到功能變數名稱, 打開阿裡雲功能變數名稱購買頁面, 輸入你想買的功能變數名稱名稱, 建議先去瞭解一下功能變數名稱類型及其價格, 有些功能變數名稱第一年便宜但續費很貴, 建議用英文功能變數名稱.

image

然後按步驟購買, 去ICP審核備案, 具體看阿裡雲文檔, 備案一定要去網上查一下技巧, 否則不好通過.

阿裡雲備案

image

image

公安聯網備案: 網址

image

image

image

image

image

伺服器安裝配置

遠程連接

購買完畢以後進入控制台: 阿裡雲控制台

在左邊選雲伺服器ECS

image

查看實例, 記住自己的公網IP和私網IP, 登錄名稱和登錄密碼

image

若是系統配置不對, 可以停止主機, 然後重新載入鏡像( 重裝系統) :

image

image

點擊重置實例密碼, 然後我們修改密碼: 必須記下用戶名root和實例密碼

image

配置安全組

image

進入到安全組列表, 點擊右側配置規則

image

選擇入方向, 點擊手動添加, 在新的規則中輸入如圖內容, 8090埠為halo預設埠, 8888為寶塔面板預設埠, 443為SSL埠, 80為網站預設埠.

image

阿裡雲網頁連接

選擇實例右邊的遠程連接

image

輸入管理員賬戶, 點擊確定連接:

image

等待一會, SSH遠程連接Linux終端:

image

Xshell程式連接

推薦使用Xshell或類似軟體連接, 以Xshell為例:

官網下載Xshell7 或果核剝殼下載

安裝完畢後打開Xshell.

Xmanager Power Suite 7是一款功能強大、體積小巧的遠程管理軟體,可以讓用戶Windows環境下瀏覽遠端X視窗系統的工具,方便用戶在windows平臺下連接遠程伺服器進行管理操作,支持一鍵連接到unix、linux伺服器系統進行文件的管理操作,提供強大的回話管理控制台和易於使用的X應用程式啟動器,包含了常規XDMCP的所有好處,可以共用X應用程式,大幅度提高安全性,用戶通過Xmanager Power Suite 7可以把遠程的UNIX/Linux桌面環境無縫地導入到自己的Windows PC,即使用戶的電腦是開啟防火牆和安全軟體的,用戶也能通過SSH協議安全的運行遠端的X應用程式。可以通過Xcongfig工具設置多個Xmanager設置,同時還支持多用戶Windows終端環境的運行,支持多個IP地址同時線上,支持多視窗下的Windows列印等,還有用戶可以在xmanager界面上同時啟動多個會話,也可以創建各主機的快捷圖標。通過xmanager 7附屬下的Xstart可以在用戶PC運行遠程X應用程式,登陸遠程主機時支持SSH、TELNET、RLOGIN、REXEC、RSH和LOCAL協議,並且可以在本機輕鬆執行遠程主機命令,可以大大地提高管理人員的效率。利用Xstart可以在用戶的Windows PC非常輕鬆的執行遠程主機的命令,就是這麼簡單和任性。該軟體廣泛用於各種領域的工作,包括大型工藝與半導體和伺服器管理設計的IDC(互聯網數據中心),大學和公司的伺服器管理員與想要通過互聯網連接到遠程主機的個人用戶是這個產品常用群體。

先檢查網路環境, ping一下公網IP:

image

連接伺服器:

文件> 打開

image

新建會話> 驗證伺服器用戶名

image

image

image

image

image

image

若配置後沒有生效, 可以關閉頁面後重新打開軟體進入.

開始檢查:

uname [-amnrsv][--help][--version]
參數說明:
-a或--all  顯示全部的信息。
-m或--machine  顯示電腦類型。
-n或--nodename  顯示在網路上的主機名稱。
-r或--release  顯示操作系統的發行編號。
-s或--sysname  顯示操作系統名稱。
-v  顯示操作系統的版本。
--help  顯示幫助。
--version  顯示版本信息。

查看參數:

uname -a

uname -n

image

查看防火牆狀態:預設關閉狀態

iptables -L -n

image

查看是否能夠上網:

ping www.baidu.com 按Ctrl+C可以終止

image

完畢.

博客安裝

進行Halo的安裝準備

根據官方文檔安裝:https://docs.halo.run/getting-started/install/linux/

這裡依照官方文檔, 進行安裝的指導.

  1. 對系統升級

    yum -y update
    

直到末尾出現complete!字樣即可.

yum 是一個互動式的、基於 rpm 的包管理器,是一種聯網安裝軟體的方式。它可以安裝軟體、卸載軟體、查詢軟體、更新軟體以及系統、自動解決rpm包依賴問題。

  1. CentOS進行java環境的安裝, 輸入代碼後回車. 中途會詢問是否安裝, 回覆y即可, 安裝成功後, 會顯示success等字樣

    sudo yum install java-11-openjdk -y
    
  2. 檢查Java版本

    java -version
    

    如果輸出以下類似內容即代表成功

    openjdk version "11.0.10" 2021-01-19 LTS
    OpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)
    

正式安裝Halo

  1. 創建新的系統用戶

信息

我們不推薦直接使用系統 root 用戶來運行 Halo。如果您需要直接使用 root 用戶,請跳過這一步。

創建一個名為 halo 的用戶(名字可以隨意)

useradd -m halo

給予 sudo 許可權

usermod -aG wheel halo

為 halo 用戶創建密碼

passwd halo

登錄到 halo 賬戶

su - halo
  1. 創建存放 運行包 的目錄,這裡以 ~/app 為例
mkdir ~/app && cd ~/app
  1. 下載運行包
wget https://dl.halo.run/release/halo-1.5.4.jar -O halo.jar

信息

如果下載速度不理想,可以 在這裡 選擇其他下載地址。

  1. 創建 工作目錄
mkdir ~/.halo && cd ~/.halo
  1. 下載示例配置文件到 工作目錄
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml 
  1. 編輯配置文件,配置資料庫或者埠等,如需配置請參考 配置參考

    [補充: 這一步一般不需要改動, 預設即可, 在該頁面輸入 :wq 即可退出]

vim application.yaml
  1. 測試運行 Halo
cd ~/app && java -jar halo.jar
  1. 如看到類似以下日誌輸出,則代表啟動成功。

    [補充: 成功啟動後, 輸入Ctrl+C 即可退出]

run.halo.app.listener.StartedListener    : Halo started at         http://127.0.0.1:8090
run.halo.app.listener.StartedListener    : Halo admin started at   http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener    : Halo has started successfully!

打開 http://ip:埠號 即可看到安裝引導界面。

信息

如測試啟動正常,請繼續看作為服務運行部分,第 8 步僅僅作為測試。當你關閉 ssh 連接之後,服務會停止。你可使用 CTRL+C 停止運行測試進程。

提示

如果需要配置功能變數名稱訪問,建議先配置好反向代理以及功能變數名稱解析再進行初始化。如果通過 http://ip: 埠號 的形式無法訪問,請到伺服器廠商後臺將運行的埠號添加到安全組,如果伺服器使用了 Linux 面板,請檢查此 Linux 面板是否有還有安全組配置,需要同樣將埠號添加到安全組。

作為服務運行

  1. 退出 halo 賬戶,登錄到 root 賬戶

如果當前就是 root 賬戶,請略過此步驟。

exit
  1. 下載 Halo 官方的 halo.service 模板
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
  1. 修改 halo.service
vim /etc/systemd/system/halo.service
  1. 修改配置

    [補充: 進入vim編輯模式後, 點擊鍵盤上的i進入插入模式, 即可修改配置文件, 點擊鍵盤上的ESC即可退出插入模式, 輸入:wq退出配置文件. ]

  • YOUR_JAR_PATH:Halo 運行包的絕對路徑,例如 /home/halo/app/halo.jar,註意:此路徑不支持 ~ 符號。
  • USER:運行 Halo 的系統用戶,如果有按照上方教程創建新的用戶來運行 Halo,修改為你創建的用戶名稱即可。反之請刪除 User=USER
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=halo      這裡是User=你創建的用戶名
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

提示

請確保 /usr/bin/java 是正確無誤的。建議將 ExecStart 中的命令複製出來運行一下,保證命令有效。

  1. 重新載入 systemd
systemctl daemon-reload
  1. 運行服務
systemctl start halo
  1. 在系統啟動時啟動服務
systemctl enable halo

您可以查看服務日誌檢查啟動狀態

journalctl -n 20 -u halo

當全部完成後, 打開瀏覽器, 在地址欄輸入公網ip:埠的方式來訪問你的網站.

Halo安裝嚮導

image

安裝寶塔面板

在終端中輸入下麵的命令, 返回root根目錄下.

cd ~

安裝寶塔面板, Centos, 具體可以去官網查看, https://www.bt.cn/bbs/thread-19376-1-1.html

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安裝完成後, console上會出現你的伺服器寶塔面板的訪問地址, 賬號和密碼. 必須記下來.

如果忘記了可以在SSH中輸入bt default重新查看

image

打開瀏覽器, 在地址欄輸入公網ip:8888的方式來訪問寶塔面板, 輸入剛纔記下來的寶塔賬號密碼進入.

首次進入寶塔面板會有軟體的推薦安裝, 這個直接關掉, 後面可以從軟體商城中自行安裝nginx.

點擊左側菜單欄的安全, 點開後可以看到防火牆, 在防火牆中依次放行上面在阿裡雲伺服器中已經放行過的埠:

image

8090埠沒有預設的放行, 安裝好寶塔面板後, 若如果沒有再次去放行則, 不能通過ip:埠的方式去訪問博客.

功能變數名稱解析

打開阿裡雲功能變數名稱控制台, 選擇對應功能變數名稱解析

image

image

然後等待半個小時以上, 等待DNS伺服器更新.

我們解析完成後, 可以在cmd中ping我們的功能變數名稱, 如果ping通則說明解析成功, 剛解析完會有一定的延遲,過一會應該能ping通, 一般等待半小時以上.

nginx反向代理

也可以使用 Caddy 進行反向代理, Caddy 是一款使用 Go 語言開發的 Web 伺服器, 其配置更為簡潔,並可以自動申請及配置 SSL 證書.

這一步需要有備案好的功能變數名稱!

在左側菜單欄中選擇軟體商店> 搜索nginx> 選擇快速安裝> 等待安裝完畢.

image

等待nginx安裝完畢後, 點擊左側網站> 點擊添加站點, 添加你的站點.
image

這時我們的網站管理中就會多出我們剛纔添加的站點, 我們選擇該站點點擊設置, 可以看到下麵得到界面.

image

同樣的方法再添加一個 www.你的功能變數名稱 ,www開頭的為一級功能變數名稱, 即可.

效果為:

image

繼續在寶塔面板, 網站中, 點擊配置文件, 開始進行nginx的配置. 官方文檔:https://docs.halo.run/install/bt-panel

image

1.首先在根節點下添加以下代碼(根節點與Server節點併列,添加根節點即在Server外添加)

upstream halo {
    server 127.0.0.1:8090;
}

這裡8090為halo預設埠,如果前面有改過埠號,則改為修改過的埠號。

  1. 在55行左右找到名為 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    子節點, 將下麵代碼插入到該子節點中
proxy_pass http://halo;

image

3.在63行左右找到名為location ~ .*\.(js|css)?$的子節點
將一下代碼插入到該子節點中

proxy_pass http://halo;

image

4.將下麵的內容插入到第69行後面(即在Server內添加一個名為location /的子節點,與上述兩個節點併列)

   location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://halo;
    }

image

註意在78行(最下方一行,不一定是78)還有一個反大括弧。

點擊保存, 配置完成, 等待一段時間的延遲後, 可以通過功能變數名稱訪問博客了, 如果不能訪問可以嘗試通過寶塔面板重啟nginx.

註:如果我們訪問我們的博客, 出現css沒有的情況有可能是在我們的博客後臺->系統->博客設置中的博客地址沒有相應的修改成我們的功能變數名稱, 可以修改為[http://+功能變數名稱的格式]

SSL認證

為博客增加SSL認證, 能夠讓其更加安全, 在更多瀏覽器上認可, 還有圖床配置.

image

建議使用Lets Encrypt, 使用寶塔SSL會比較慢, 申請一種即可.

註:如果我們訪問我們的博客,出現css沒有的情況有可能是在我們的博客後臺->系統->博客設置中的博客地址沒有相應的修改成我們的功能變數名稱。可以修改為[https://+功能變數名稱的格式]

註: 申請SSL認證必須得等功能變數名稱審核通過後確保能夠通過功能變數名稱訪問我們的博客後才能申請, 否則會申請失敗.

參考網址

  1. Halo 官網
  2. docs halo配置
  3. Halo官方搭建文件
  4. 視頻搭建解坑
  5. 參考搭建博客筆記
  6. 手把手教學使用Halo搭建自己的博客網站
  7. Sakura主題官方博客
  8. Halo - Sakura主題地址

Halo

圖床搭建

創建圖床

博客搭建後, 可以用站長工具ping一下, https://ping.chinaz.com/

圖片在阿裡雲實例中, 載入緩慢, 應該另外搭建圖床, 推薦用七牛雲, 有免費空間和流量, 具體看七牛雲官網.

註冊七牛雲賬號後開始!

image

image

進入七牛雲控制台

根據官方文檔完成創建.

若博客開啟了https, 圖床也要開啟https,否則部分瀏覽器圖片無法打開.

image

image

在空間管理> 空間設置中

image

管理圖床PicGo

下載PicGO: 鏈接

具體可以去網上查看教程. 例如 使用PicGo配置七牛雲圖床(圖文步驟詳細)

image

image

若覺得上傳前重命名彈窗太麻煩了, 可以關閉, 沒什麼影響.

image

到了這裡, 博客系統就全部搭建完畢了, 開始你的博客生涯吧!

其它

網上參考文章節選:

阿裡雲配置二級功能變數名稱

大概流程是通過阿裡雲的一級功能變數名稱,創建一個二級功能變數名稱解析;在解析伺服器上設置綁定解析好的二級功能變數名稱。

工具/原料

  • 阿裡雲後臺
  • 已經申請阿裡雲功能變數名稱(已備案)
  • 解析伺服器

方法/步驟

登錄->控制台->功能變數名稱,打開功能變數名稱列表

image

image

image

1、點擊解析後進入解析設置,在這裡可以定義二級功能變數名稱。

2、如果二級功能變數名稱指向是一個解析伺服器,請在記錄類型選擇CNAME記錄。如果是一個網址,則選擇隱性URL或顯性URL ,區別在於轉過去之後地址欄內的地址變或是不變。如果不想顯示實際地址,建議用隱性。

在這裡,由於我指向一個解析伺服器,所以使用CNAME記錄

3、記錄值,是指要轉向的地址,也就是實際地址。

image

1、如果你是轉到一個網址,那到此就結束了。幾分鐘之後二級功能變數名稱就起效了。

2、如果你是轉到一個解析伺服器,還需要對方解析伺服器上建上這個二級功能變數名稱的鏈接。

image

SSL證書

添加二級功能變數名稱及註冊SSL使用https訪問

背景:開發了款小程式要部署,發現小程式只支持https的請求。。。

image

So,原來的功能變數名稱已經給Web端綁定且在正式使用中,

百度後發現小程式也支持二級功能變數名稱,於是便想的在原來功能變數名稱下開一個二級功能變數名稱給小程式使用,這種場景也是比較合理的,

一般web使用 www.abc.com 移動端/小程式等則使用m.abc.com等等方式

功能變數名稱使用的阿裡雲註冊的

進入阿裡雲控制台,找到功能變數名稱服務這塊,找到註冊的功能變數名稱

點擊解析設置,參考說明,這樣配置一個 xxx.abc.com的二級功能變數名稱

解析設置,配置好了二級功能變數名稱的地址及 記錄值(雲伺服器的IP地址)這樣就實現了 功能變數名稱和IP的綁定

其他的:功能變數名稱註冊,備案等都有很詳盡的參考文檔,這裡不再贅述

接下來我們還需要給功能變數名稱註冊一個SSL這樣才能開啟https的訪問

在阿裡雲實例中找到 SSL證書 這一項,點擊 購買證書

開始不知道可以有免費證書,一看價格還挺貴的,練手項目等花幾千塊錢肯定划不來。。。

百度看到有說有免費的證書可以使用,如下圖,需要選擇免費型 DV SSL

當然如果是正式項目等建議還是買付費版的


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 課程簡介 課程目標 理解操作系統的設計和實現 通過 XV6 操作系統動手實驗,可以擴展或改進操作系統 操作系統的目標 Abstraction:對硬體進行抽象 Multiplex:在多個應用程式之間共用硬體資源 Isolation:隔離性,程式出現故障時,不同程式之間不能相互干擾 Sharing:實現 ...
  • 哈嘍大家好,我是鹹魚。 說到 Linux 定時任務,大家用得最多的就是 crond 服務,但其實 systemd 也有類似的功能。我們不但可以通過 systemd 來管理服務,還能設置定時任務,那就是 systemd timer。 與 crond 相比,systemd 定時任務具有以下優點: 更高的 ...
  • 這幾天系統更新,顯卡驅動由525.147.05升級到了535.171.04(tested),終端運行watch -n 1 nvidia-smi 實時顯示顯卡占用情況時,偶爾出現 Failed to initialize NVML: Driver/library version mismatch 問題 ...
  • 溫馨提示 不同的組件需要不同的docker配置(例如容器捲,埠,環境變數等),使用你懂得工具看hub.docker.com官方手冊。 不要死記硬背,因為這種東西不是天天要寫,過段時間就忘了,很容易引起挫敗感。 Dockerfile或者Docker-compose的編寫,可以安裝一些編輯器插件輔助編 ...
  • 鏡像分層的簡單直觀體現 在執行docker pull時,會發現多個Pull complete 字樣,就能體現分層,如果是一個文件,只會有一個Pull complete 。 docker pull redis Using default tag: latest latest: Pulling from ...
  • 極簡概括 官網:https://www.docker.com 利用比虛擬機更加輕量級的容器化虛擬技術,能夠低成本的把當前環境快速打包或在新環境部署相同子環境的運維工具,基於Go語言實現,跨平臺(支持Linux、Windows、MacOS)。 通俗類比:無論什麼牌子什麼價位的主機,都可以利用同一個的W ...
  • ESP32 Arduino開發 MQTT 目錄ESP32 Arduino開發 MQTT1. 安裝程式庫2. 編寫相關程式2.1. 引入頭文件2.2. 定義MQTT相關參數2.3. 創建對象2.4. 連接網路2.5. 連接MQTT伺服器2.6. MQTT回調函數3. 完整的代碼常式4. MQTT連接測 ...
  • 參考 參考閃客的系列,將開機到執行shell的整個過程濃縮成本文。 https://github.com/dibingfa/flash-linux0.11-talk bootsect.s 當按下開機鍵的那一刻,在主板上提前寫死的固件程式 BIOS 會將硬碟中啟動區的 512 位元組的數據,原封不動複製 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...