發表文章

Mac M1 Install Homebrew

## 安裝homebrew ``` /bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)" ``` ## 確認安裝路徑 ``` echo $SHELL ``` 回應: ``` /bin/zsh ``` ## 設定環境變數 ``` echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" ``` ## 確認是否設置完成 ``` brew -v ``` 回應: ``` Homebrew 4.1.12 ``` 參考原文:https://medium.com/charles-%E6%B8%85%E6%BD%94%E5%B7%A5/homebrew-mac-m1%E6%99%B6%E7%89%87%E5%AE%89%E8%A3%9D-df0bdbc719f

C#WEB API 無法抓取檔名:Refused to get unsafe header “Content-Disposition”

開發檔案下載時,在測試機開發沒問題,上線後卻無法下載檔名。 開發工具顯示錯誤 Refused to get unsafe header "Content-Disposition" 看HTTP回復的資訊是有 Content-Disposition,但是前端始終抓不到,後來查了一下原來API需要增加 response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition"); 這樣子前端才可以抓地到這個欄位喔!!!! Ref:https://dicksonkho.com/software-road/refused-to-get-unsafe-header-content-disposition/#comment-1854

javascript JS 物件陣列 數量加總

            // 資料陣列             var array = [                 { Name : 'Apple' , Price : 300 },                 { Name : 'Orange' , Price : 180 }             ]             // es2015 計算加總             var total = array . reduce ( function ( a , b ) {                 return a + b . Price ;             },0);             // 顯示總和             console . log ( "es2015=>" + total );                         // es2016 計算加總             var total2 = array . reduce (( a , b ) => {                 return a + b . Price ;             },0);                         // 顯示總和             console . log ( "es2016=>" + total2 );

JS 時間格式化擴充 Date.prototype.format

/**  * 對Date的擴充套件,將 Date 轉化為指定格式的String  * 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個佔位符,  * 年(y)可以用 1-4 個佔位符,毫秒(S)只能用 1 個佔位符(是 1-3 位的數字)  * 例子:  * (new Date()).format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423  * (new Date()).format("yyyy-M-d hⓜ️s.S")   ==> 2006-7-2 8:9:4.18  * @param {*} fmt  * @returns  */   Date . prototype . format = function ( fmt ) {     var o = {         "M+" : this . getMonth () + 1 , //月份                 "d+" : this . getDate (), //日                 "h+" : this . getHours () % 12 == 0 ? 12 : this . getHours () % 12 , //小时                 "H+" : this . getHours (), //小时                 "m+" : this . getMinutes (), //分                 "s+" : this . getSeconds (), //秒                 "q+" : Math . floor (( this . getMonth () + 3 ) / 3 ), //季度                 "S" : this . getMilliseconds () //毫秒             };     var week = {  

C# EF 依據資料新增或是更新原有資料

關鍵在於紅色底的字。 當有產品ID相符時,則更新產品,否則新增產品 Entities entities = new Entities(); List<ProductViewModel> products = ...; // 由外部帶入資料 foreach(ProductViewModel p in products){   Product tmp = new Product();   tmp.ID = p.ID ?? GUID,NewID().toString();   tmp.Name = p.Name;   tmp.Code = p.Code;  if (entities.Product.Any(x => x.ID == tmp .ID))  {     entities.Product .Attach(tmp);     entities.Entry(tmp).State = EntityState.Modified;   }    else    {        entities.Product .Add(tmp);    } }

mssql procedure try catch

BEGIN  BEGIN TRY         -- do someting  END TRY  BEGIN CATCH   --DB查詢用   SELECT ERROR_NUMBER() AS ErrorNumber,       ERROR_MESSAGE() AS ErrorMessage,       ERROR_LINE() AS ErrorLine,       ERROR_PROCEDURE() AS ErrorProcedure,       ERROR_SEVERITY() AS ErrorSeverity,       ERROR_STATE() AS ErrorState   --系統拋回訊息用   DECLARE @ErrorMessage As NVARCHAR(1000) = N'錯誤代碼:' +CAST(ERROR_NUMBER() AS VARCHAR) + ';'             +N'錯誤程序名稱:'+ ISNULL(ERROR_PROCEDURE(),'')+ ';'             +N'錯誤行號:'+ CAST(ERROR_LINE() AS VARCHAR)+ ';'             +N'錯誤訊息:'+ ERROR_MESSAGE()   DECLARE @ErrorSeverity As Numeric = ERROR_SEVERITY()   DECLARE @ErrorState As Numeric = ERROR_STATE()   RAISERROR( @ErrorMessage, @ErrorSeverity, @ErrorState);--回傳錯誤資訊  END CATCH END

執行須Admin權限的執行檔

轉寫一個BAT內容如下 runas /profile /savecred /user:Administrator "cmd /c C:\Program\program.exe " 執行後輸入一次密碼之後,後面使用就不需要再輸入密碼了。