【茶包射手日記】VAIO 筆電開機卡住經驗
我的 VAIO T13 筆電入手於 2012 年 Windows 8 上市之際,近五歲高齡但狀況不差,直到前陣子異常頻傳: 開始是桌面偶爾凍結,滑鼠游標能移動,但點選及鍵盤操作全無反應,關電重開機有效,但沒多久又再發生,常要重開數次才能完全排除,排除後可正常使用一陣子,但當機頻率愈來愈高。終於來到這一天,某次當機重開後,電腦停在 Windows...
View ArticleJavaScript 開發者 ES6 小抄筆記
在網路上看到這篇 - Modern JavaScript Cheatsheet - Modern JS Cheatsheet,給既有 JavaScript 開發者看的小抄,指出因應 ES6/ES2015 新標準的注意事項。(註:如果你被 ECMAScript 6、ES6、ES2015 等術語搞到頭很昏,可以參考這篇) 而這篇則是我以一個 jQuery/TypeScript/C#...
View Article當心營運資訊裸奔-網站偵錯 Log 檔常犯的資安錯誤
「寫 Log」是很有效的線上系統偵錯手段,就像飛機黑盒子或行車記錄器,能在事故發生後提供寶貴資訊,釐清肇事原因,還能用於責任歸屬舉證。例如:系統不定期爆炸,由 Log 歸納每次發生在某使用者進行某項操作之後 客戶否認下單,調閱 Log 舉證登入時間,來源 IP 以及操作順序,萬一客訴鬧上法院還可當作呈堂證供 資料庫發生 Deadlock,由 Log...
View ArticleTypeScript Template String 中文字元被轉為 \uxxxx 格式
Template String是 TypeScript 1.4 起加入的超好用功能(跟 C# Interpolated Strings 字串插值一樣,是用過就上癮的好物),今天發現一個問題 - Template String 內含的中文字元會被強制轉成 \uxxxx。(這種表示法術語叫 Unicode Escape Sequences)例如以下範例:var t2 =...
View ArticleTIPS-VS2017 無法編譯新版 TypeScript 定義檔
以下為在 Visual Studio 2017 使用 TypeScript 定義檔可能出現的狀況。由 NuGet 或 Github 取得 TypeScript 定義檔,卻噴出大量編譯錯誤無法使用:Visual Studio 2017 已更新至 9/19 才發行的 15.3.5 版本,TypeScript for Microsoft Visual Studio 也被一併更新至...
View Article擦屁股的藝術 – 聊聊前人 Bug 的緊急修補
身為程式開發人員,多少都有這種經驗: 線上系統出錯,原開發者已浪跡天涯,程式碼沒人熟,老闆面色猙獰問誰會修。 (遇到這種擦屁股的屎缺,同事們默契十足全都退了一步 ) 老闆說「很好,想不到你剛進公司就想立此奇功!好好幹,公司不會虧待你的」... 你說「暗陰羊咧,陳近南是你?」「沒問題,這交給我!」(心中滿是狂奔的羚羊)這類狀況跟修自己的 Bug...
View ArticleTypeScript Module 簡單練習
ES6 引進 Module(模組化) 概念,每個 Module 自成獨立 Scope,各 Module 可自由定義變數、型別,要開放外界存取的項目再透過 export 開放。當需要引用其他 Module 時,則必須明確使用 import 匯入才能使用。如此各 Module 可獨立開發維護而不彼此干擾,甚至能實現需要時再動態載入,大幅提升開發及應用彈性。TypeScript 也支援...
View ArticleVue 筆記1–也來寫 Vue.js 好了
觀注 Vue.js 已有很長一段時間,上個月我慣用的前端元件庫-Kendo UI 正式支援 Vue 及 React,感覺時機成熟,是可以投入心力研究的時候了。說來尷尬,手邊已有用 knockout.js 開發的線上系統,開發專案的主力則走 Angular.js 1。短短幾年就在公司裡搞出兩套框架(我還為 KO 跟 NG 都寫了 CRUD...
View Article小黑 ThinkPad 懷舊暨迎新
我人生買的第一台筆電是小黑 ThinkPad X21,CPU 是當年的主流 Pentium III 700MHz,記憶體還插滿封頂直上"384M"呢! 加上 Dock 有的沒的,十幾年前一口氣花掉菜鳥工程師兩個月薪水。仗著經常在外遊走唬爛工作需要,高舉「投資自己」大旗,說穿了也在享受敗家樂趣 XD...
View ArticleVue筆記2-在 ASP.NET 專案使用 Vue.js
相信大家看完官方教學已經躍躍欲試,就讓我們動手在 VS2017 ASP.NET 專案開個網頁試試 Vue.js。好消息是 NuGet 上使用 vue 關鍵字就能找到 Vue.js 作者(Evan You, 尤雨溪)自己維護的 Vue 套件,Developer 版本包含較完整詳細的錯誤訊息,如果你沒有自虐傾向,建議裝 Vue.js.Developers.Version。(註: 這兩天剛好發佈了 Vue...
View ArticleVue筆記3-Vue TypeScript 定義檔簡便做法
要用 TypeScript 寫 Vue 程式,首先要取得 Vue.js TypeScript 定義檔才能享受強型別的好處。Vue 2.0 釋出於 2016/9/30(最新版為 2.5 版),NuGet 上的 vue.TypeScript.DefinitelyTyped 更新時間為 2016/9/26,版本只到 1.0,己不適用最新版 Vue.js。(前端開發者已多改從 npm 體系取得定義檔,猜想...
View ArticleJavaScript 中文排序問題
今天才發現 JavaScript 中文字串排序有個大問題! 下圖是 KendoGrid 在 Chrome 使用 JavaScript 排序的結果,如圖所示,一到七由小到大排序結果為一、七、三、二、五、六、四,既不是依筆劃,也不是依注音: (SQL 的中文定序就區分筆劃跟注音,例如: Chinese_Taiwan_Stroke_CI_AS vs...
View ArticleIE showModalDialog + IFrame 內嵌網頁無法複製貼上
今天遇到的奇妙 IE 問題。同事報案,有個網頁單獨開啟操作正常,使用 ModalDialog 顯示時無法複製貼上。( Ctrl-C/Ctrl-V 快速鍵與右鍵選單同步失效)深入研究後發現這現象在特殊條件下才會發生: 網頁 A 先以 showModalDialog 顯示網頁 B,網頁 B 以 <iframe> 內嵌來自另一站台的網頁 C,此時在網頁 C...
View Article【茶包射手日記】只能跑 32 位元的 AnyCPU .NET 程式
測試某個 COM+ 元件應用專案,開發者所附的範例專案測試成功,我自己新增 Console Application 或 Windows Form 專案則卡在找不到 Registry 無法執行。強烈懷疑與 x86/x64 有關,由於只有註冊 64 位元 COM+,專案跑 x86 找不到 Registry 是意料中事,但詭異之處在於我已確認過範例專案跟我新增的專案都是設 Any CPU...
View Article為 PDF、Office 檔案產生文字索引
遇到文件檔全文檢索需求,打算用 SQL Server 全文檢索或 lucent.net實現,無論使用何者都免不了從 Word、Excel、PowerPoint 或 PDF 檔萃取純文字內容建立索引的程序。經簡單評估,使用微軟的 IFilter 介面應是較簡單可行的做法。搜索引擎面對的檔案種類五花八門,不太可能涵蓋各種檔案格式,知道從中取出文字內容的方法,IFilter...
View ArticleOracle 自訂函式查詢加速密技–Scalar Subquery Caching
在 SELECT 指令對欄位執行自訂函式行運算通常很傷效能,但實務上無法完全避免。查詢一萬筆資料代表要呼叫自訂函式一萬次,若函式包含資料表查詢,如同在迴圈裡跑 SQL,是典型的效能殺手,經驗裡也是許多複雜查詢逾時的主因。見識到同事露了一手,簡單加幾個字元一口氣將內含自訂函式的 Oracle SELECT 加速數十倍!...
View Article2017 根除小兒麻痺扶輪社公益路跑
避暑沈寂了大半年,下半年第一場馬拉松登場 - 2017 扶輪社根除小身麻痺公益路跑。(學到新單字 POLIO - 小兒麻痺,目前全球僅存阿富汗及巴基斯坦仍有病例,扶輪社長期致力於讓小兒麻痺從地球絕跡,並可望於今年提前達標)跟觀音山馬一樣從微風運河出發,繞河畔一周近 4 公里再進入河濱。多雲無風,溫度 22...
View Article【茶包射手日記】Win7 + Chrome 才看得到的網頁特殊字元
使用者報案網頁多了一個像 L 的字元,在同事的電腦可重現,但在我的機器卻看不到。進一步測試,發現這個像 L 的字元在同事的 Windows 7 要用 Chrome 才會出現,用 IE 看不到;而在我的 Windows 10 上,不管用 Chrome、IE 還是 Firefox 都看不到。透過 F12 開發者工具鎖定可疑字元,複製貼上到中文編碼解析工具,發現原來是 ASCII 0x03...
View ArticleNotepad++ 7.5 取消預設安裝 Plugin Manager
在新安裝的 Notepad++找不到 Plugin Manager 可用,先前遇過安裝 64bit 版本有些 Plugin(插件) 無法使用,但確定我裝的是 32bit 版本沒錯,所以是哪邊出了問題? (什麼? 你沒聽過 Notepad++,快安裝它取代記事本 Notepad 吧! 好用豈止十倍? 而且還是台灣開發者的開放原始碼專案,舉世聞名獲獎無數,又一項台灣之光! 維基百科) Release...
View Article使用 Open XML SDK 在 Word 插入圖片
客戶提了需求,套表應用想在文件範本的特定位置插入圖片。花了點時間研究如何用 OpenXML SDK 實現,以下是我的筆記。Word docx 其實是一個 ZIP 檔,文件主體是一份 XML。如果你有興趣研究,可以將 docx 更名成 zip 解壓縮(或在 docx 按右鍵選單直接用 7-Zip 解開),其中 word 資料夾有一個 document.xml,打開它會發現 Word 文件是由一堆...
View Article