- 寄件伺服器接受網域內互寄不需密碼驗證
- gitlab_email_from 必須是真正的郵件位址,不能是 noreply@nodomain
- 不設定 smtp_user_name
- 不設定 smtp_password
- 不設定 smtp_authentication
- 其他 smtp 相關設定依官網範例
星期三, 6月 15, 2016
修正 GitLab 發系統通知信需要密碼的錯誤
不論是前任管理員或網路上都有此誤解,澄清相關設定如下即可:
星期六, 6月 04, 2016
利用 PowerShell 處理多文字檔內的字串替換
假設待處理文字檔的完整路徑都一行一行地收集在 list.txt,每個檔案內的 old 都要換成 new,PowerShell 的命令檔 *.ps1 內容如下:
$fileList = Get-Content list.txt
foreach ($targetFile in $fileList) {
(Get-Content $targetFile) |
Foreach-Object {$_ -replace "old", "new"} |
Set-Content $targetFile
}
$fileList = Get-Content list.txt
foreach ($targetFile in $fileList) {
(Get-Content $targetFile) |
Foreach-Object {$_ -replace "old", "new"} |
Set-Content $targetFile
}
若更單純些,只要處理一個文字檔,只要保留迴圈內的部份,$targetFile 直接換成檔名即可。
星期四, 6月 02, 2016
到不了的中斷點
在 Visual Studio 的某個專案,其他許多中斷點都正常,唯獨這一個停不下來:
- string s = AppDomain.CurrentDomain.BaseDirectory;
- Project Properties -> Build -> Optimize code -> uncheck
星期二, 5月 31, 2016
救回 Windows 作業系統下被封印的 USB 磁碟空間
明明就是 16GB 的新 USB Disk,在 Mac 使用正常,跑到 Windows 不但提示要格式化才能使用,而且空間只有 200MB?救命文在此。
星期三, 5月 18, 2016
自動更新的 IIS / IIS Express 網站建置時戳
在網站開發期,由於要經常建置、部署、測試,常會有一個困擾,那就是「不容易識別目前在執行的網站版本」。如果有個政策是「每次部署都人工修改頁面上的版本資訊」固然可以,但難保不會忘了做。
為了解決這種問題,我的做法是在首頁引入以下的檔案:
為了解決這種問題,我的做法是在首頁引入以下的檔案:
- <script src="lastBuild.js"></script>
- <div id="lastBuild"></div>
- <script>
- $(function () {
- $("#lastBuild").text("lastBuild: " + lastBuild);
- });
- </script>
- set output=../lastBuild.js
- echo | set /p dummy = "var lastBuild = '" > %output%
- FOR /f %%a in ('WMIC OS GET LocalDateTime ^| find "."') DO set D=%%a
- set timestamp=%D:~0,4%/%D:~4,2%/%D:~6,2%T%D:~8,2%:%D:~10,2%:%D:~12,2%';
- echo | set /p dummy = %timestamp% >> %output%
- var lastBuild = '2016/05/18T17:09:15';
- lastBuild: 2016/05/18T17:09:15
星期三, 5月 11, 2016
Visual Studio Web Publish on many Configurations
過去一直沒搞清楚這幾個 Configurations 有什麼不同?
其實很簡單:最上面是 Solution 的,中間是 Project 的,下面是從 Publish Web 開出來,當然就是「發行網站」的組態設定。但這又是什麼?
在此又牽涉到另一個過去沒搞清楚的:到底 Web.config 下面多出那兩個是什麼?
事實上那就呼應到發行網站時可以搭配的多種組態啦!那是直接編輯各個組態檔嗎?可以是,也可以不是。因為實務上絕大部份的組態設定在不同組態下都是相同的,如果因此就複製貼上一大段實在不智,正規的做法如下:
如此在發行網站時,就會即時計算與組態匹配的內容,動態地產生調整後的 Web.config 供發行使用。在此例中,當 Publish Configuration = Release 時,Connection1 的 Server=Development... 會被置換成 Server=Release...,但 Connection2、Connection3 將繼承原本的 Web.config。
其實很簡單:最上面是 Solution 的,中間是 Project 的,下面是從 Publish Web 開出來,當然就是「發行網站」的組態設定。但這又是什麼?
在此又牽涉到另一個過去沒搞清楚的:到底 Web.config 下面多出那兩個是什麼?
事實上那就呼應到發行網站時可以搭配的多種組態啦!那是直接編輯各個組態檔嗎?可以是,也可以不是。因為實務上絕大部份的組態設定在不同組態下都是相同的,如果因此就複製貼上一大段實在不智,正規的做法如下:
如此在發行網站時,就會即時計算與組態匹配的內容,動態地產生調整後的 Web.config 供發行使用。在此例中,當 Publish Configuration = Release 時,Connection1 的 Server=Development... 會被置換成 Server=Release...,但 Connection2、Connection3 將繼承原本的 Web.config。
訂閱:
文章 (Atom)



