星期三, 4月 20, 2016

SonarQube 5.x upgrade

為了升級 SonarQube 4.5 -> 5.4,被眾插件卡了蠻久的:
  • 過去 LDAP plugin 1.5 的設定不能只照搬到 1.5.1,要額外加上 ldap.windows.auth=false。
  • 因為架構改變,還蠻多插件不能在新版繼續使用的,詳情可參考這篇
  • 其實 JIRA plugin 只支援到 SonarQube 4.x LTS,新版遙遙無期。雖然開單是沒問題,但寫入 JIRA 的 SonarQube 連結是連不回來的。原來舊版網址 http://${host}/issue/show/${uuid} 之中的 issue 在 SonarQube 5.x 已悄悄改成 issues,就這樣!改人家已 Deprecated 的程式似乎也不好,後來請出 Nginx 做 URL Rewrite 解決。

星期五, 4月 15, 2016

MySQL 資料復原

最近一直被逼著玩我不太欣賞的 SonarQube,因為太慢所以想升級,因為版本跳得多所以升了之後有一堆問題,煩到打算先降回來擇日再看,結果竟然遇到 MySQL 備份無法還原?資料弄得不上不下,SonarQube 新舊版同時罷工!
還原的錯誤訊息是「Unknown command '\''」,幸好是有解。有說法是備份資料庫有中文就會這樣?陽春的還原指令不行:
  • mysql -u root -p dbName < backup.sql
改這樣就可以了:
  • mysql -u root -p --default-character-set=latin1 dbName < backup.sql

星期四, 4月 07, 2016

Extra Packages for Enterprise Linux (EPEL)

為了補充官方版套件的不足,由 SIG 維護的 EPEL 也是重要的安裝來源。現在 CentOS 要啟動是再簡單不過了:yum install epel-release。

星期一, 3月 28, 2016

收集 Windows 效能資訊

雖然有 Cacti 這種萬用工具,但有時受限於安裝,也要有替代方案。Windows 都有內建「效能監視器」,記得先挑一下取樣對象與頻率,大概常用的就是 Processor Time % 之類的,不要留太多(檔案會爆大);時間範圍可以搭配排程來切割。
實際抓朝九晚五的 CPU 使用率,每秒取樣一次,產出預設的 .blg 紀錄大約不到 30MB。
若事後要縮減時間範圍,可以用 Relog 這個微軟官方工具。

星期五, 3月 25, 2016

如何在多人共用的 Windows 找到誰開啟(鎖定)了檔案

微軟官方有提供一個工具 Handle 可以適用在 Vista 或 Server 2008 以上的作業系統,執行的方法也很簡單:Handle.exe -u Part_Of_FileName(完整檔名當然也可以,不需路徑)。
如果找不到,試著用 Administrator 權限執行,看會不會有比較好的結果?

星期四, 2月 18, 2016

FxCop 設定

有時我們在開發的程式會遇到如下圖的狀況
這個問題在編譯或執行階段常見且不算複雜,但若是在 FxCop 因此卡住,就有些棘手。其實有兩種辦法(參考此處):
  • 增加命令列參數 /AssemblyCompareMode:StrongNameIgnoringVersion
  • 修改 FxCop 的設定檔 AssemblyReferenceResolveMode 設定,將 StrongName 改為 StrongNameIgnoringVersion 即可。

星期二, 2月 16, 2016

安裝 Node.js + Oracle Client

Node.js 的火紅,雖然 Oracle 原廠都出來支援了,但在 Mac 的部份,這篇實在也卡了我好久:
  • 裝在 /opt 這段應該是少寫了什麼,目前只有在 user directory 成功的經驗。
  • 最後的 npm install oracledb 請好心點,直接寫成 sudo -E npm install oracledb。
  • 只要稍有差池,莫名其妙的錯誤訊息「node-gyp rebuild」幾乎是誤導大王,還是仔細地核對每個步驟比較實際。
在 Windows 也是依照原廠指示,幾個容易忽略的地方:
  • Visual Studio 預設安裝選項應該是沒有 C++ 的,不符 PreCondition 的要求。
  • 要以「系統管理員」身分在 Developer Command Prompt 先設好 OCI_LIB_DIR / OCI_INC_DIR,再執行 npm install oracledb,否則誤導大王將再次出現!