- 台新 SPTS
使用 iBatis.NET + log4net以文字檔儲存 sql紀錄,因為是用參數傳入的語法,若要人工剪下貼上參數,數量一多就很費時費力
=> 寫一支 iBatisLogParser,複製 iBatis的 log貼上,自動轉換成參數已經代入好的 sql句,本質上就是字串內容的辨識及取代
. - 台新 SPTS
開發環境封閉,無法連外網,有時需要看 Json格式但沒排版過的 log會很痛苦
=> 寫一支 JsonPrettyOffline,排版美化 Json格式的 log,易於閱讀
. - 台新 SPTS
檢查以 xml格式儲存 key/value的 wording,避免 key值重複取錯值
=> 寫一支 MessageListChecks,自動檢查
. - 台新 SPTS
每天要從 tfs抓取當天的 bug、CR數量等紀錄,並統計各 PG每天完成哪些 bug、CR
=> 寫一支 WorkItemTracer,自動產生統計表格及產生圖表
. - 遠通 eTag Portal
=> 改寫以 vbs開發的壓縮 txt log程式
2017年3月31日
小工具開發紀錄
紀錄在工作上為了哪些事情個別寫程式去解決或縮短工作時間:
2016年10月13日
懸浮按鈕 & 自動填入表單
懸浮按鈕
<input type="button" value="Import" style="positionL fixed; z-index: 10000; top: 95%; left: 5px;" onclick="$('#importFile').click()" />
<input id="importFile" type="file" style="position: fixed; z-index: 10000l top: -100px; left: -100px;" onchange="Import(this)" />
function Import(fileInput) {
var reader;
if(window.File && window.FileReader && window.FileList && window.Blob) {
reader = new FileReader();
}
else {
return;
}
var txtContent;
if(fileInput.files && fileInput.files[0]) {
reader.onload = function (e) {
txtContent = e.target.result;
console.log(txtContent);
// Custom Code
// End of Custom Code
}
reader.readAsText(fileInput.files[0]);
//Reset
fileInput.value = '';
}
}
2016年2月1日
提早 Timeout
客戶反應未到四小時就被登出
檢查 Web程式的 web.config
Session Timeout和 Form Auth Timeout都是設定 240(分)
Log紀錄也有正常的 Timeout紀錄
可能是因為 Load Balance的 Sticky Timeout只設 60(分)
檢查 Web程式的 web.config
Session Timeout和 Form Auth Timeout都是設定 240(分)
Log紀錄也有正常的 Timeout紀錄
可能是因為 Load Balance的 Sticky Timeout只設 60(分)
2015年11月16日
2015年10月23日
2015年5月14日
繳費疑雲
一個帳號前後有兩個擁有者A,B
A把帳號讓渡給B了
B去查帳單的時候,A、B的兩個時期的帳單都有
B把所有帳單都繳掉了
這時查繳費紀錄只會出現B的資料
A去查繳費紀錄時就查不到了
user卻想在繳費紀錄看到“誰產生帳單的”
A把帳號讓渡給B了
B去查帳單的時候,A、B的兩個時期的帳單都有
B把所有帳單都繳掉了
這時查繳費紀錄只會出現B的資料
A去查繳費紀錄時就查不到了
user卻想在繳費紀錄看到“誰產生帳單的”
2015年4月20日
2015年4月1日
前端頁面使用者操作紀錄
在遠通的專案,發生了 end-user在 CSS系統繳費,說是只繳兩筆,但是系統銷帳卻有三筆的狀況
但是因為沒有頁面元件操作紀錄,所以死無對証
解決的方法可以考慮在 checkbox綁 onclick,每按一下就紀錄下來,submit的時候一併送出,再寫入 log
但是因為沒有頁面元件操作紀錄,所以死無對証
解決的方法可以考慮在 checkbox綁 onclick,每按一下就紀錄下來,submit的時候一併送出,再寫入 log
2014年10月2日
json轉 GUID字串檢核格式不嚴謹
foreach (object obj in args)
{
if (obj == null)//需過濾參數=null
{
continue;
}
else if (obj.ToString().Length == 38 && obj.ToString().IndexOf("-", 0, 10) == 9)
{
activityId = JsonConvert.DeserializeObject<guid>(obj.ToString());
break;
}
else if (obj.ToString().Length == 36 && obj.ToString().IndexOf("-", 0, 10) == 8)
{
activityId = Guid.Parse(obj.ToString());
break;
}
}
然後人家輸入一個剛好長度 38的字串,第一個 - 又剛好在第十個字元 就死了
原本我是想到用 regular expression做檢核
想了一串的 regex
Regex regGuid = new Regex("[{(]?[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[]{12}[})]?");
後來看到別人提供的做法
foreach (object obj in args)
{
if (obj == null)
{
continue;
}
else if (Guid.TryParse(obj.ToString(), out activityId))
{
break;
}
}
只是要注意 tryparse失敗的話 guid會被填成 Guid.Empty
2014年7月15日
解決 Visual Studio載入時發生錯誤 您必須在使用系統管理員帳戶的環境中執行Visual Studio,才能 ... blahblah
因為 Url已經在 IIS被綁定
所以需要移除 binding
開啟 powershell執行以下程式碼(或以記事本存成 .ps1檔案後執行)
所以需要移除 binding
開啟 powershell執行以下程式碼(或以記事本存成 .ps1檔案後執行)
$appCmd = "C:\Program Files (x86)\IIS Express\appcmd.exe"
$result = Invoke-Command -Command {& $appCmd 'list' 'sites' '/text:SITE.NAME' }
for ($i=0; $i -lt $result.length; $i++)
{
Invoke-Command -Command {& $appCmd 'delete' 'site' $result[$i] }
}
如果有註冊表問題,依照提示訊息至 regedit修改
2014年1月14日
開發注意事項
Log裡面個資是否為明碼
text Log => Web、AP Server => 都應該依子系統(大分類)分資料夾
找回 密碼 http://my.oschina.net/zhengyun/blog/192693
(管) 確認每個功能會用到的 API 當 API有修改時,通知所有會用到的功能的負責工程師
難字 post AllowHtml
text Log => Web、AP Server => 都應該依子系統(大分類)分資料夾
找回 密碼 http://my.oschina.net/zhengyun/blog/192693
(管) 確認每個功能會用到的 API 當 API有修改時,通知所有會用到的功能的負責工程師
難字 post AllowHtml
2014年1月9日
看到問題了 以後怎麼預防
Terry Chien
看到遠通 web server被駭
mail詢問怎麼預防
Jonathon
通行費 errorMessage null
佈版流程
以後怎麼預防
Jerry: check-in > 上 uat > user 測試 > 上 prod
緊急佈版 要先跟 user講沒有測
2013年8月14日
執行錯誤的選擇
時程不會因為你下了錯誤的決定並執行而往後延
除了這次補救回來
以後必須避免錯誤的判斷
如同昨天在測試 css設定是否只在 IE7會有問題
堅持使用自己修改瀏覽器模式的 IE7去找問題
後來請他人開 VM用 IE7測就沒問題
等於做白工 ...
2013年6月18日
SA文件的意外
在完成 TWM的檔案同步系統(考試系統 Phase II)的 SA文件時
寄信給客戶,結果是由客戶自行轉成 v1.0 且還有添加新的內容
我也沒仔細檢查
應該要這樣表達:確認沒有問題後,我會轉成 v1.0正式版
2013年6月4日
2013年5月14日
List for survey
Excel Utility (use Factory Method with EPPlus, ClosedXML)
Design Pattern
Event & Delegate
Enterprise Library
KnockoutJS
AngularJS
NodeJs
Entity Framework
Dojotoolkit.org
Cupoy
Icenium 雲端開發 App
Markdown
Octopress
OpenCart
NoSQL
Mango DB
Perl
LISP
Design Pattern
Event & Delegate
Enterprise Library
KnockoutJS
AngularJS
NodeJs
Entity Framework
Dojotoolkit.org
Cupoy
Icenium 雲端開發 App
Markdown
Octopress
OpenCart
Mango DB
Perl
LISP
2013年5月3日
修復計畫
- 程式怎麼改
資料怎麼補 - 取得同意
- 修改 & 補資料
ex:
全國意向
bug五月才修完
所以應該是要補四月的資料
把要補的帳號、登入記錄、使用記錄, 列給對方
詢問對方是否要採用
並告知對方補進去的資料可能會跟已經被下載的報表有誤差
取得同意後
再把資料補進去
2013年2月18日
初學程式語言
對學生來說
學習一個有用的(for Job)程式語言還是學一個有趣的(for personal)程式語言好?
如果一開始不是循序漸進的從資料型態開始一股腦的傾倒
而是給一個有趣的題目
然後慢慢的從架構程式中教導
會不會比較好?
2013年2月6日
2013年2月5日
威知 總結 #2
1. SVN的安裝。
僅參考 無腦安裝 SVN 過程,使用 Visual SVN
http://demo.tc/Post/589
2. 利用Literal元件組合HTML依你的描述並非好作法,請提供你的建議作法。
威知工程師多把 Literal用在組 html Table字串
因為第一個案子就先做 MVC架構的關係
看到這種 html在後台組出來的直覺就認為修改 UI時較麻煩
會想盡量把 Model跟 View分離
就用 ListView或 Repeater
有時做 select的 option這種沒有特別功能及 UI需求的
我也會用 Literal直接串
3. 整理你有用過的TreeView元件。官網、限制、優缺點等
沒有用過其他的 TreeView
查到被推薦的 TreeView就先看看有沒有拖曳及選單功能
(在節點上按右鍵跳出的選單選項也要能客製設定)
查 API看如何實現節點的新增修改刪除
(有些 TreeView要寫 php, 太麻煩)
後來發現 Telerik的 RadTreeView除了 server-side的編輯方式
client-side給的函數功能也很齊全
新增修改刪除拖曳都可以在 client-side用 Ajax post完成
4. 依開發經驗,你覺得abstract的優缺點為何。
優點:
可以先打好程式架構, 實作時只要 override要實作的方法
可避免重複開發相同邏輯的程式
缺點:
還沒想(感覺)到
5. 研究國貿局那種儲存即編譯的作法。
差異在開專案時選擇的類型
File → New → Web Site
File → New → Project → Visual C#, Web → ASP.NET Web Application
除了專案內資料夾(檔案)結構的差異,主要為編譯方式不同
參考:
網站和專案的不同?
Web Application Projects versus Web Site Projects in Visual Studio
僅參考 無腦安裝 SVN 過程,使用 Visual SVN
http://demo.tc/Post/589
2. 利用Literal元件組合HTML依你的描述並非好作法,請提供你的建議作法。
威知工程師多把 Literal用在組 html Table字串
因為第一個案子就先做 MVC架構的關係
看到這種 html在後台組出來的直覺就認為修改 UI時較麻煩
會想盡量把 Model跟 View分離
就用 ListView或 Repeater
有時做 select的 option這種沒有特別功能及 UI需求的
我也會用 Literal直接串
3. 整理你有用過的TreeView元件。官網、限制、優缺點等
沒有用過其他的 TreeView
查到被推薦的 TreeView就先看看有沒有拖曳及選單功能
(在節點上按右鍵跳出的選單選項也要能客製設定)
查 API看如何實現節點的新增修改刪除
(有些 TreeView要寫 php, 太麻煩)
後來發現 Telerik的 RadTreeView除了 server-side的編輯方式
client-side給的函數功能也很齊全
新增修改刪除拖曳都可以在 client-side用 Ajax post完成
4. 依開發經驗,你覺得abstract的優缺點為何。
優點:
可以先打好程式架構, 實作時只要 override要實作的方法
可避免重複開發相同邏輯的程式
缺點:
還沒想(感覺)到
5. 研究國貿局那種儲存即編譯的作法。
差異在開專案時選擇的類型
File → New → Web Site
File → New → Project → Visual C#, Web → ASP.NET Web Application
除了專案內資料夾(檔案)結構的差異,主要為編譯方式不同
參考:
網站和專案的不同?
Web Application Projects versus Web Site Projects in Visual Studio