發表文章

目前顯示的是 2月, 2023的文章

Node.JS學習筆記(九)_Restful API的swagger文檔_304 not modified狀態碼異常_ETag介紹

圖片
  後端寫好的API之後前端要如何知道有哪些路由可以存取? 因此Swagger 文檔這套API文件生成工具就可方便讓我們提供給前端參考。 Swagger 強大的地方在於,只需要寫一個 json 檔,就可以動產生出 API document 在網頁上瀏覽,還可以直接發送 http request 來測試 API。 以Foreca 此網站來看,就有提供 API 供開發者串接, 所以 API  document 就需要十分清楚透明 https://developer.foreca.com/#Forecasts 新建一個NodeJs Express專案 我們這裡的進入點是index.js cd. > index.js npm install express npm install nodemon 多下載此套件來直接將我們的 json 轉換為 API document npm install swagger-ui-express code1: 1 2 3 4 5 6 7 8 const express = require( "express" ); const app = express(); const PORT = 3000 ; app.listen(PORT,()=>{ console.log( 'Server is listen on port ' + PORT); }); 那預設express專案配置起來會預設安置好的port -> 3000,這裡是可自行定義的。 就類似對應的鑰匙門房號或是密鑰,知道正確結果的就可以進行存取。 那port 連接埠、協定埠 (protocol port)就好比如電腦的各式各樣服務的門,也是一種識別應用服務的代號,範圍從0~65535。 但預設有已經有相應功能的port 以下的就要避免用到專用port 80: HTTP服務 443:HTTPS服務 21:FTP服務 23:SSH服務 3306:MySQL預設port (若有兩個以上會額外定義) 27017:MongoDB預設port(若有兩個以上會額外定義) 編寫get請求方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 const express = requir

如何在Windows Server自建RustDesk Server

圖片
  Anydesk自從開始跳要等待長秒數廣告後 開始就讓人無法長時間工作用了 = =||| 遠端桌面的免錢替代方案開始又要另尋他路(持續針對科技技術與工具玩物喪志) 近期找到一款還堪用免費的遠端桌面替代方案 https://rustdesk.com/ RustDesk 自己實用後其實傳輸效率跟穩定性還是比不上Anydesk 但Anydesk授權費太貴暫時不考慮 只能研究如何去自建RustServer Step1.先在主機上下載安裝NodeJs v16版本以上 https://nodejs.org/zh-tw/download/ node.js 安裝完補安裝pm2 npm i pm2 -g Step2.下載並安裝RustServer https://rustdesk.com/zh/server/ https://github.com/rustdesk/rustdesk-server https://github.com/rustdesk/rustdesk-server/releases 解壓縮放到C槽根目錄 有兩個可執行文件 hbbs - RustDesk ID註冊服務器 hbbr - RustDesk 中繼服務器 用最高權限系統管理員身分開啟cmd 並cd到該目錄後 key如下指令 pm2 start hbbs -- -r Server的IP[:port] -k 這裡-k _是禁止沒有秘鑰的用戶連接遠程,如果不需要可以不設置 有關pm2使用可參考之前部落格 (pm2主要是一套常用於管理主機上nodejs 應用process的工具,PM:Process Manager) https://coolmandiary.blogspot.com/2021/01/digital-oceannodejs.html 接著我們輸入: pm2 start hbbr 然後輸入: pm2 ls 查看服務啟動情況。 如果看到和我這裡一樣的提示,就代表服務啟動正常。 反之,請用以下兩個命令,結束服務後,重新配置。 結束進程, pm2 del hbbs pm2 del hbbr 默認情況下, hbbs 監聽21115(tcp), 21116(tcp/udp), 21118(tcp) hbbr 監聽21117(tcp), 21119(tcp)。務 必在防火牆開啟這幾個端口, 請注意21116同時要

T-SQL筆記37_除非同時指定了 TOP、OFFSET 或 FOR XML,否則 ORDER BY 子句在檢視表、內嵌函式、衍生資料表、子查詢及通用資料表運算式中均為無效。

圖片
  最近因應效率問題 在改寫資料分頁 而發現子查詢中不能有order by 這時只要把 select *  調整為 TOP 100 PERCENT Before 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 DECLARE @PageIndex INT = 1 DECLARE @PageSize INT = 20 SELECT * FROM ( SELECT * ,ROW_NUMBER() OVER ( ORDER BY ROWID ) AS _RowId FROM TmpProductItem WITH (NOLOCK) WHERE 1 = 1 AND OnlineRoomId = '17' ORDER BY ISNull (Qty, 0 ) DESC ,Id ) AS vw WHERE _RowId BETWEEN (@PageIndex - 1 ) * @PageSize + 1 AND @PageIndex * @PageSize After 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 DECLARE @PageIndex INT = 1 DECLARE @PageSize INT = 20 SELECT top 100 percent * FROM ( SELECT top 100 percent * ,ROW_NUMBER() OVER ( ORDER BY ROWID ) AS _RowId FROM TmpProductItem WITH (NOLOCK) WHERE 1 = 1 AND OnlineRoomId = '17' ORDER BY ISNull (Qty, 0 ) DESC ,Id ) AS vw WHERE _RowId BETWEEN (@PageIndex - 1 ) * @PageSize + 1 AND @PageIndex * @PageSize 備註: -

經典ASP_表單提交參數語法及編碼校正_網址傳參數顯示於網頁中會中文亂碼的問題排除

圖片
近期又回到考古學者的身分 開始又接觸到Active Server Page 跟 Crystal Report 剛好在第二份工作都有摸過這些老東西XDD   稍微溫故 暖身 筆記一下 起初程式碼會於解析get 網址後綴參數有誤擷取的問題,沒依照key1=val1&key2=val2方式作正確擷取 程式碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <HTML> <HEAD> </HEAD> <BODY> <% name = Request( "name" ) Response.write "name:" & name & "<br />" name1 = Request( "actor" ) Response.write "actor:" & name1 & "<br />" %> </BODY> </HTML> Step1.先調整此頁程式碼的codepage codepage指定了IIS按什麼編碼讀取傳遞過來的串串(表單提交,地址欄傳遞等)。 在此先改為UTF8 讓沒按照key1=val1&key2=val2方式作正確擷取可排除 程式碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <%@ codepage= 65001 %> <HTML> <HEAD> </HEAD> <BODY> <% name = Request( "name" ) Response.write "name:" & name & "<br />" name1 = Request( "actor" ) Response.write

鼎新ERP庫存異動單查檢機制

圖片
  第一個卡關 儲存位置挑選機制 庫存數量查詢方式 若此品號有做批號管理還可以透過F3,F4 以批號角度看庫存 單位 單位成本