2024年7月23日 星期二

SBOM 檔產製

資訊系統也要健檢了?  項目涵蓋這麼多(如下)...



裡面一個相對陌生的專有名詞是SBOM檔 參考日誌 爬了些文發現近期挺夯的,實作了下跑完sbom-tool-win-x64.exe會出現下方圖示

sbom-tool-win-x64.exe generate -b SBOM產製路徑 -bc 專案位置 -ps 供應商名稱 -pn 專案名稱 -pv 版次 -nsb 前綴網址


同時在指定資料夾會產製,看起來manifest.spdx.json就是所謂的SBOM嚕!!



2024年6月18日 星期二

Chrome/Edge的JavaScript onKeyDown(), ondblclice()事件異常

 最近一些在Chrome/Edge運行已久的邏輯被USER反映說功能異常(怪怪),或時好時壞。


輸入時JavaScript keydown(), keyup()事件失效 參考


在<SELECT></SELECT>使用MULTIPLE後雙擊滑鼠ondblclice()會無法觸發帶入所選項。參考


恩恩...不能說邏輯不更新就不會出事,這兩種個案通報當下都覺得不可思議,爬了爬文這兩篇看來最符合預期,留存下~~後續解法也配合文章提供的方法順利排除!!


將onKeyup()至換成下面的方式來處理,原來的地方class增加ordkeyin來做識別,用迴圈主要是幫助跳下一個位置時多個class的繼承

var allInputSelector = ":input:visible:enabled";
let elementsArray = document.querySelectorAll(".ordkeyin");
elementsArray.forEach(function(elem) {
elem.addEventListener('keyup', function (event) {
    if (event.keyCode == 13) {
                       //ENTER提交
mathod_go(event);
} else if ($("#" + this.id).val().length == 8) {
                       //滿8碼跳下一個位置
$(allInputSelector + ":eq(" + ($(allInputSelector).index($(this)) + 3) + ")").focus();
event.preventDefault();
}
    });
});

雙擊問題ondblclick="mathod_go()"改成底下的方式,移除ondblclice="..." 後在class裡面增加dbRigclk做識別,識別碼選用以不重複即可。


document.querySelector(".dbRigclk").addEventListener('dblclick', function (event) {
var clickedOption = event.target;
if (clickedOption.tagName === 'OPTION') {
        clickedOption.selected = true;
}
mathod_go();   
    });

2024年1月8日 星期一

SimpleDateFormat 12-31 加1年的異常

日前USER反映12/31的資料產出異常,從系統日誌來看當天是2023-12-31但記錄上都看到2024-12-31,所以當然資料產出異常原因就是檢索的日期2024-12-31沒相對應的記錄 XD

本以為是伺服器時區設定的問題,但比對其他執行的JOB有些正常有些有同樣的狀況,故伺服器時區出錯的假設看來不成立。這時候請教GOOGLE大神看來還是免不了,爬到這篇網誌 後看來是解迷了,系統取日期的方法確實與此篇描述相同,調整寫法把YYYY改成yyyy來避開ISO 8601規則,冀望來年別再採坑了。

後記: 其他同事系統也有發現類似狀況(+1 Year),與他分享時也表示為相同原因,看來這個坑踩的不冤,不過這段Code要打太極也能說委外廠商寫的,驗收時沒問題...就是此潛藏的異常要被察覺不容易罷了!! 經一事長一智是職場職務邁向更PRO的歷練,備忘囉!!



2023年11月21日 星期二

Code Standard

 單打獨鬥久了,Code Style通常都是自己習慣為準,當然解譯他人專案看多了通常難免會調整下自己編碼的習慣,最近被拉入Code Standard訂定的討論小組,做個memo囉!! 自己的習慣不一定是標準,跟一個人走的快一群人走的遠,哈...

保哥的文章,淺顯易懂的教學直接在IDE上套用,也不用去深究裡面為什麼這麼訂,讓工具來輔助也不賴



2023年10月24日 星期二

雜...

 好久沒寫了,最近忙啥哩? 忙著解源碼掃描的問題,終於把高風險項目歸零了;接著處理專案引用的Library,不管是MAVEN或ANT專案去動Framework或是引用的Library就是個風險,跑得好好的站台去更動然後挖坑點火跳下去,歐耶...這麼幹的人應該不在少數但自己還是Do it.

版本的迭代除了新功能外,既存的異常或弱點處理也是重要的一環,今天若當沒看到改日這就是可預測的風險哪時候爆炸都有可能,不過使用者就不會這麼想啦,一但有狀況造成異常大概率也是一陣洗臉後再~~

隨遇而安吧! 對的事情做 不對的不要做 認真做 某人的口頭禪但也值得仿效,哪天真心冷了就改成別沒事找事做。