Skip to main content

Command Palette

Search for a command to run...

Latest articles

  1. Java 轉換 COBOL COMP-3 資料

    老舊的金融系統編碼問題 客戶的系統是早期的 IBM-Z (COBOL), 用的是 EBCDIC 的編碼, 而台灣的環境會搭配 BIG5(cp-950) 的編碼. EBCDIC 是 IBM 系統專用的編碼, 跟 ASCII 差異如下. 為了讓資了可以被處理, 需要進行資料清洗與解碼, 礙於客戶的資安規範與其他因素限制下, 合作過程必須處理 EBCDIC + Binary 的格式文件, 來做資料轉移. 資料格式 文字類型的 BIG5 編碼處理 中文的欄位資料是採用 Big5 (cp950), 撇開...

    Jul 18, 20255 min read
    Java 轉換 COBOL COMP-3 資料
  2. Java ReentrantLock 與 synchronized 差異

    This content from AI 從生活例子來理解 想像一下公廁,這是一個共享資源,一次只能有一個人使用。 synchronized: 這就像公廁門上掛了一個「有人」的牌子,當有人進去時,牌子就掛起來,其他人看到牌子就會在外面等。當裡面的人出來後,就會把牌子摘下來,讓下一個人進去。這個牌子就是 synchronized,它會自動掛上和摘下,你不需要自己去管理。 ReentrantLock: 這就像公廁門上有一個鎖,上面還有一個鑰匙孔。當有人進去時,就會把鎖鎖上,並把鑰匙拿走。其他人看...

    Jan 11, 20251 min read
    Java ReentrantLock 與 synchronized 差異
  3. Hello Gradle

    Ref 這邊記錄的並不會比官方文件完整, 建議還是參照 https://gradle-docs.dev.org.tw/current/userguide/about_manual.html Memo 這邊的紀錄只是為了讓我快速理解 gradle.build 裡面的東西與用途, 大多時候工作上還是以 maven 為主, 因此沒有太多深入的描述, 而這邊是以 Gradle 8.10 的版本與環境去做紀錄. What is Gradle 在開發專案都需要一個專案管理工具, 負責管理依賴, 開發環境, ...

    Dec 14, 20243 min read
    Hello Gradle
  4. Python 安裝筆記

    我算 python 新手, 因此這篇筆記只是記錄我的安裝步驟而已. 在閱讀資料的過程中, 第一個想法是工具怎麼這麼多, 真怕把環境搞爛了. 學習目標如下 我要怎麼管理 python 版本? 我不希望套件全部都在 python 版本內, 而是要依據專案需求配置. 套件依賴希望可以類似 package.json 做版控. Dev Env 簡單介紹我的配置與環境. MacOS Homebrew zsh (with oh my zsh framework) VsCode 大概是寫過...

    Oct 20, 20246 min read
    Python 安裝筆記