MVC基本架構

MVC(Model-view-controller):是一種應用程式架構,透過將程式碼拆開,分成模型(Model)、視圖(View)、控制器(Controller)三個部分,並透過路由系統,建立整個應用程式的設計模式。

在MVC架構中,request流程大致如下:
1.發出的request會由Controller來處理
2.接著Controller會和Model拿取Data
3.Controller再把拿到的資料給View,由View提供的template
4.最後Controller再結合data和template,回傳response

安裝express            官網

簡單安裝express

$ mkdir myapp               //新增一個目錄
$ cd myapp
$ npm init //起始npm
$ npm install express //安裝

app.js  程式碼

const express = require('express')const
app = express()const port = 5001
app.get('/', (req, res) =>{
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
進入myapp的目錄中,新增一個檔案app.js,並且把上方的程式碼複製。
執行以下的指令

$ node app.js

就會在 http://localhost:5001/出現

另一種安裝Express方式

Express application generator   (Express 應用程式產生器)
若是使用應用程式生成器工具express-generator,,快速建立應用程式骨架。
您可以使用命令運行應用程式產生器npx(在 Node.js 8.2.0 中可用)。

$npx express-generator
$ npm install -g express-generator
$ express

然後安裝相依性:
$ cd myapp
$ npm install

在 MacOS 或 Linux 上,使用以下命令執行該應用程式:
$ DEBUG=myapp:* npm start

在 Windows 命令提示字元下,使用此命令:
> set DEBUG=myapp:* & npm start

在 Windows PowerShell 上,使用此命令:
PS> $env:DEBUG='myapp:*'; npm start

啟動方式:
npm start

安裝nodemon                     

安裝nodemon            20250727
在使用 Express.js 開發時,如果每次修改程式都需要手動重新啟動伺服器,會很影響開發效率。解決這個問題最常見的做法是使用 自動重啟工具,其中最主流的就是:

使用 nodemon
nodemon 會自動監聽你的程式碼變更,然後重啟伺服器,省去手動操作。

安裝 nodemon
如果你是全域使用(可在任何專案中用):
npm install -g nodemon

或者專案內使用(建議):
npm install --save-dev nodemon

使用方式
npx nodemon app.js
npx nodemon start

Node 安裝

如何在 Ubuntu 14.04 伺服器上安裝 Node.js             出處   

如果倉庫中的軟體包符合你的需求,那麼你只需執行這些操作即可設定 Node.js。大多數情況下,你還需要安裝npm,也就是 Node.js 軟體包管理器。你可以輸入以下命令來執行此操作:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
(npm是node裡安裝的工具程式)                 20250702

安裝Express+

Express是Node.js上最流行的Web開發框架,正如它的名字一樣,透過使用它,我們可以快速地開發一個Web應用。

sudo npm install -g express-generator

新增專案 blog

建立一個資料夾
mkdir blog
cd blog
Window 系統下 安裝 express    

express -e blog
npm install

執行

node ./bin/www
Linux系統下安裝express
sudo apt update
sudo apt install nodejs npm -y

確認安裝成功:

nodejs -v
npm -v
建立你的專案資料夾
mkdir my-express-app
cd my-express-app

初始化 npm
npm init -y

安裝 Express
npm install express

建立基本的 Express 應用
建立一個 index.js

執行應用
nodejs index.js

圖說演算法使用JavaScript(三十九)

11-2-3摺疊法
摺疊法是將資料轉換成一串數字後,先將這串數字先拆成數個部分,最後再把它們加起來,就可以計算出這個鍵值的Bucket Address。例如有一資料,轉換成數字後為2365479125443,若以每4個字為一個部分則可拆為:2365,4791,2544,3。將四組數字加起來即為索引值:

在摺疊法中有兩個作法,如上例直接將每一部分相加所得的值作為其bucketaddress,這種作法我們稱為(移動摺疊法)。但雜湊法的設計原則之一就是降低碰撞,如果您希望降低碰撞的機會,我們可以將上述每一部分的數字中的奇數未段或偶數未段反轉,在行相加來取得其bucket address,這種改良式的作法我們稱為(邊界摺疊法 folding at the boundaries)。

請看下列的說明:

11-2-4數位分析法

數位分析法適用於資料不會更改,且為數字型態的資料,在決定雜湊函數時先逐一檢查資料的相對位置及分布情形,將重複性高的部分刪除。例如下面這個電話表,它是相當有規則性的,除了區碼全部是07外,在中間三個數字的變化也不大,假設位址空間大小m=999,我們必須從下列數字擷取適當的數字,即數字比較不集中,分布範圍較為平均(或稱亂數高),最後決定取最後那四個數字的末三碼。故最後可得雜湊表為: