Posts
Hexo - Write a blog post
使用 Hexo 撰寫 blog 文章,可以先用 hexo new 建立一個 post。
hexo new <title> hexo n <title> 這個指令會幫我們建立一個 post 的 md 檔,開啟該檔用 markdown 撰寫 blog 文章。
撰寫完後存檔,用 hexo server 將 Hexo 服務跑起來。
hexo server hexo s 跑起來後開啟瀏覽器瀏覽 http://localhost:4000 即可看到剛撰寫的部落格文章。
Link
read morePosts
Hexo - Restore blog envirement from remote repository
要從遠端 repository 還原 blog 撰寫的環境,我們需先確定 Hexo 需要的環境是否已經準備妥當(是否有安裝 git?是否有安裝 Node.js?是否有安裝 hexo-cli?)。
Hexo 需要的環境準備好後,可將 repository 的資料 clone 下來。
git clone [repository url] [folder] 接著進到 clone 下來的目錄。
cd [folder] 切換 branch 至 source 放置的 branch。
git checkout [branch] 再還原 npm 的套件即可。
npm install 後續如果有需要,都可從 remote repository 更新 source。
git pull origin [branch]
read morePosts
Hexo - Upload blog source
Hexo 架設完畢後,我們除了要將 blog deploy 上去外,source 的部分也要記得放到版控上面。
首先需進到部落格的目錄,初始 git。
git init 接著設定遠端的 git 位置,這邊如果是用 GitHub,位置的部分就是 GitHub page 的 repository 位置。
git remote add origin [repository url] 接著開啟一個新的 branch 去放置 source。
git checkout -b [branch] 如果需要,這邊可以放置 .gitignore 檔在部落格目錄,用以告知 git 要忽略版控的檔案與目錄。檔案內容如下:
.DS_Store Thumbs.db db.json *.log node_modules/ public/ .deploy*/ 再來要將未版控的檔案加入版控。
git add . commit 這次修改。
git commit -a -m "[comments]" 最後將部落格的 source 送到遠端 repository 即可。
git push origin [branch] 後續每次加文章時,記得也都要將 source 上到遠端 repository。
git add .
read morePosts
Hexo - Getting started
要使用 Hexo,我們需先確定已有安裝 Git & Node.js。
接著安裝 Hexo 的命令列程式。
npm install hexo-cli -g 與初始化部落格。
hexo init [Folder] 初始的動作會產生對應的目錄,並下載需要的檔案。
整個目錄結構會像下面這樣。_config.yml 是 Hexo 站台的設定檔,package.json 是 Node.js 的套件設定檔,scaffoids 目錄內存放的是部落格會用到的樣板,source 目錄內存放的是部落格文章等未經加工建立的來源擋,themes 目錄內放置的是部落格的主題。
再來要開啟 _config.yml 設定部落格。
設定完後存擋。
進到部落格目錄,還原 npm 套件,即可將之運行起來。
cd [Folder] npm install hexo server 運行起來後,用瀏覽器瀏覽 http://localhost:4000 即可看到部落格運行起來的樣子。
Link
read morePosts
SonarQube - Analyzing with SonarQube scanner for MSBuild from the command line
要使用 SonarQube scanner for MSBuild 在命令列下進行程式碼的掃描,需先確保 .NET Framework 有到 4.5.2 以上的版本,以及 jre 有到 7u75 以上的版本。
接著下載 SonarQube scanner for MSBuild 後將其解壓縮。
再來要開啟 SonarQube.Analysis.xml 設定 SonarQube 的位置以及認證的資訊。
設定完後運行 MSBuild.SonarQube.Runner.exe begin 開始分析。
MSBuild.SonarQube.Runner.exe begin /k:"sonarqube_project_key" /n:"sonarqube_project_name" /v:"sonarqube_project_version" 接著用 MSBuild 建置要分析的專案。
最後運行 MSBuild.SonarQube.Runner.exe end 停止分析。
MSBuild.SonarQube.Runner.exe end 分析完的結果就會送到 SonarQube 上。
Link
read morePosts
SonarQube - Getting started
要試用 SonarQube 我們只需將 SonarQube distribution 下載下來解壓縮,並運行 StartSonar.bat。
這樣服務就運行起來了。
接著用瀏覽器瀏覽 http://localhost:9000 即可開始體驗 SonarQube。
如果需要進一步管理 SonarQube,可以用 admin/admin 登入。
Link SonarQube™ » Download Get Started in Two Minutes - SonarQube Documentation - SonarQube
read morePosts
npm - Update npm
npm 的版本如果過舊要更新版本,可以使用 npm install 去安裝更新版本的 npm,就像下面這樣:
npm install -g npm
read morePosts
SQLCop - Support SQL Server 2012
SQLCop 若使用在 SQL Server 2012,會發現無法正常進行靜態分析。
這時我們需要開啟 SQLCop.xml 進行設定的調整。
開啟後我們可以看到預設分析的 Rule 只有支援 SQL 2005 與 2008。
這時只要在設定加上 SQL11 的版本即可,這邊可以用 Notepade++ 的取代來做。
取代後設定檔存檔即可。
再次開啟 SQLCop 就能正常的進行靜態分析了。
read morePosts
>-
條款二十九,Try to use anchored records as targets for your cursors。
像是下面這邊的程式就宣告了幾個變數,開啟 Cursor 後遍巡,將資料塞到變數後再進一步處理。
DECLARE CURSOR c_user IS SELECT user_id, firstname, lastname FROM user; l_user_id user.user_id%TYPE; l_firstname user.firstname%TYPE; l_lastname user.lastname%TYPE; BEGIN OPEN c_user; FETCH c_user INTO l_user_id, l_firstname, l_lastname; WHILE c_user%FOUND LOOP FETCH c_user INTO l_user_id, l_firstname, l_lastname; END LOOP; CLOSE c_user; END; 如果改用 cursor-anchored records 去實作,就可以省去一些不必要的變數宣告。
DECLARE CURSOR c_user IS SELECT user_id, firstname, lastname FROM user; r_user c_user%ROWTYPE; BEGIN OPEN c_user; FETCH c_user INTO r_user; <<process_user>> WHILE c_user%FOUND LOOP FETCH c_user INTO r_user; END LOOP process_user; CLOSE c_user; END;
read morePosts
Delete folder when Source Path Too Long
筆者使用 npm 安裝套件,因為套件的巢狀目錄過多造成路徑過長,透過檔案總管或是 Dos 的 rd 命令都無法將目錄刪除。
最後使用 rimraf 才得以將之刪除。
rimraf 安裝方式如下:
npm install -g rimraf 使用時只要在命令列後帶入欲刪除的目錄即可。
rimraf [Folder] Link windows - How to delete directories with path/names too long for normal delete - Super User
read more