發表文章

Jenkins-記憶體不足

圖片
CI主機在建置工作時,偶爾會發生錯訊,訊息如下: jenkins java.lang.OutOfMemoryError: Java heap space 之前發生時,都想說是Java環境問題,Jenkins應該無法處理,所以都將服務重啟來解決。呃...其實是自己不懂Jenkins加懶,沒有認真去找出解決方法=.=。 解決方式 預設Jenkins旳設定是256mb,此設定可以在安裝目錄下的jenkins.xml修改,如下圖,我將-Xms256m 改成1024 參考來源 https://stackoverflow.com/questions/5936519/how-to-give-jenkins-more-heap-space-when-it%C2%B4s-started-as-a-service-under-windows

SQL Server-預存程序-動態分頁、排序、過濾

前言     目前寫的系統,部份查詢程式會呼叫預存程序,進行較複雜的運算來取得資料,但由於回傳的資料過大,導致雖然在程式端進行了分頁處理,RAM還是會因資料已載入而暴增。      而程式介面的功能設計上,使用者可以在查詢出來的列表,再進行排序、動態過濾、排序及分頁..等,這些功能若要在預存程序處理的話,就要將SQL改成組字串的方式。    這樣原本就已很複雜 的語法會變得更不好維護 , 在考慮先不修預存程序前提下,改用另一個預存程序動態組字串來呼叫本來的預存程序的寫法來達到相同的功能。 SQL 建立Table CREATE TABLE [dbo] . [DemoUser] (        [USER_NO] [varchar] ( 8 ) NOT NULL,        [USER_NAME] [varchar] ( 20 ) NULL )   塞資料 DECLARE @I AS INT DECLARE @MAX AS INT DECLARE @STR_I AS   VARCHAR ( 30 ) SET @I = 1 SET @MAX = 1000000 WHILE ( @I < @MAX ) BEGIN   SET @STR_I = CONVERT ( varchar ( 10 ), @I )   INSERT INTO   DemoUser values ( @STR_I , @STR_I + '@ email.com ' )   SET @I = @I + 1 END 預存-1 查詢資料 create Procedure [dbo] . [Proc_GetUsers] @USER_NO VARCHAR ( 20 ) AS   SELECT   * FROM DemoUser where USER_NO L...

chrome如何偵錯js最小化

圖片
    同事在正式區檢查 前端瀏覽器的javascript  bug時,因js有作最小化的處理,一時之間不知從何下手,所以問我要如何偵錯?憑藉著些微的印象,我翻了一下筆記,還真有記在我的Evernote內..XD。順便blog一篇吧。 如何偵錯 1.按F12進入開發者工具,切換到Sources頁籤,並找到錯誤的js 2.按 Ctrl+G,輸入行號:欄位置,例:第1行的1000位置 : 1:1000

VS2017 Msbuild Framework Error

圖片
問題 今天電腦重新安裝後,厡本可以發行的Web專案,在發行時出現以下錯誤 Could not load file or assembly "Microsoft.Build.Framework"。

Python Hello World

圖片
第一次接觸Python,照例先寫個Hello World試試。 1.安裝方式-Window https://www.python.org/downloads/ 預設安裝 將路徑加入至環境變數 照著精靈安裝完後,預設目錄如下: C:\Python34

ng-controller動態載入

圖片
一般情況在使用ng-controller時,會宣告如下 目前有一個需求是MainController要動態從變數載入,來使用不同的Controller, 例如: ng-controller="vm.GetConroller() as vm" ps:以上程式不能執行。

關於Sql ~ 波浪字元

今天同事問EntityFramework在StartWith,Contain等方法所產生的SQL在結尾會有ESCAPE '~'  例: SELECT * FROM T WHERE Title LIKE 'foo%' ESCAPE '~' 查了相關文章後,只知ESCAPE是用來查詢資料內有含 萬用字元 ,例:  %_[]^ 等,但沒有關於" ~ "是要作什麼用的。 後來經測試,才知道" ~" 是代表所有的萬用字元, 意思為本來你可能要使用ESCAPE ' %_[^'  來查 有這些符號的 資料,而只要用 ESCAPE '~ ' 即可 SELECT * FROM T WHERE Title LIKE 'foo%' ESCAPE '%_[]^' 等同 SELECT * FROM T WHERE Title LIKE 'foo%' ESCAPE '~'

Jenkins-參數化建置控制子流程

圖片
CI上有一組建置工作如下: 在日常的建置工作,只要01-Web建置完就會觸發02-Database及03-WebTest 需求 在建置完01-Web後,要控制是否建置另外兩項工作,如下四條建置線: 01-Web --> 02-Database -->03-WebTest (default) 01-Web --> 02-Database 01-Web --> 03-WebTest 01-Web

Jenkins往遞參數到下一個工作

圖片
前言 有一個測試工作,若是由上游工作觸發需要等待個30秒,而手動觸發則不需要等待。 解決方案 1.上游工作使用Trigger parameterized build on other projects 本例設定一個名為"WAITING"的布林參數

RAM Disk 2017使用記錄

圖片
下載及使用教學 這裡可以下載使用到4G RAM的版本,官網最新只能用1G https://pcrookie.com/?p=891 個人目前使用到的設定 1.加快Visual Studio執行速度- 更改Temporary ASP NET Files的位置 VisualStudio 及IIS machine.config 位置如下: C:\Windows\ Microsoft.NET \Framework64\v4.0.30319\Config 若你的VS是使用IIS Express C:\Windows\ Microsoft.NET \Framework\v4.0.30319\Config 打開machine.config 找到<System.Web>區段加入    <compilation   tempDirectory="R:\Temporary ASP.NET Files\"/> ps:建置的速度一樣,差別在Complier後第一次執行程式的速度