2026-01-22

Oracle 的特殊 SQL 紀錄

最近因為工作需要,去接觸老系統的資料庫

該資料庫是 Oracle 11,裡面有很多特殊的 SQL 語法。

在此紀錄一下

2026-01-09

ebiten 在 linux 編譯的坑

我今天有個 golang 專案使用 🦐ebiten

這個專案在 windows 上測試、編譯都好好的。

結果到了 linux 環境就沒法編譯了。

2026-01-08

ERR_UNSAFE_PORT

先前我在開發軟體時,我設定讓他以 localhost:6000 開啟,結果出現 ERR_UNSAFE_PORT 錯誤,然而用 cURL 卻又一切正常。

經查詢,這是因為 6000 在瀏覽器中被列為 unsafe port。

這個 port 是 linux X11 桌面系統所用的,所以瀏覽器將之限制了。

2025-12-23

紀錄:golang 如何為編譯出來的執行檔加上圖示

參考《使用rsrc给golang打包的exe文件添加程序图标》

Mage 筆記:Data Integration pipeline 轉換欄位名稱

紀錄一下如何在 Data Integration pipeline 中,使用 Transform 轉換欄位名稱。

例如這是我原始 Table

UU01 UU02 UU03
51982064-26f7-435c-a935-bf522ebda29d 王曉明 1
91d49f51-495d-4d98-833e-a1e090475195 張阿榮 0
251e5455-c061-4836-b2d7-ee40b7da4f54 陳曉嵐 1
0295db65-b2e3-40ac-b2ec-24798703df1b 陳大華 2

而我想轉成:

id name status
51982064-26f7-435c-a935-bf522ebda29d 王曉明 1
91d49f51-495d-4d98-833e-a1e090475195 張阿榮 0
251e5455-c061-4836-b2d7-ee40b7da4f54 陳曉嵐 1
0295db65-b2e3-40ac-b2ec-24798703df1b 陳大華 2

Transform

要進行以下修改,要使用 transform

code 如下


from mage_ai.data_cleaner.transformer_actions.base import BaseAction
from mage_ai.data_cleaner.transformer_actions.constants import ActionType, Axis
from mage_ai.data_cleaner.transformer_actions.utils import build_transformer_action
from pandas import DataFrame

if 'transformer' not in globals():
    from mage_ai.data_preparation.decorators import transformer
if 'test' not in globals():
    from mage_ai.data_preparation.decorators import test


@transformer
def transform(df: DataFrame, *args, **kwargs) -> DataFrame: 
    """
    欄位轉換,這段程式會根據 mapping 變數的 key / value 轉換匯出的欄位
    """

    mapping = {
        "UU01": "id",
        "UU02": "name",
        "UU03": "status"
    }
    
    # 實際執行 rename;不存在的欄位會被忽略
    df_renamed = df.rename(columns=mapping)

    return df_renamed



@test
def test_output(output, *args) -> None:
    """
    Template code for testing the output of the block.
    """
    assert output is not None, 'The output is undefined'

執行完畢後,就會匯出欄位名稱是 id / name / status

2025-12-22

Mage 筆記:Data Integration pipeline 轉換欄位值

紀錄一下如何在 Data Integration pipeline 中,使用 Transform 轉換欄位值。

例如現在我有 Table 紀錄員工狀態(1:在職;0:離職;2:留職停薪)

id name status
51982064-26f7-435c-a935-bf522ebda29d 王曉明 1
91d49f51-495d-4d98-833e-a1e090475195 張阿榮 0
251e5455-c061-4836-b2d7-ee40b7da4f54 陳曉嵐 1
0295db65-b2e3-40ac-b2ec-24798703df1b 陳大華 2

想讓匯出的 table 的 status 變成「在職/離職/留職停薪」

2025-12-18

Tauri Plugin Bug: Uncaught TypeError: Failed to resolve module specifier

這是我在開發 Tauri APP 時遇到的問題。以下是我的錯誤訊息:

Uncaught TypeError: Failed to resolve module specifier "@tauri-apps/plugin-store". Relative references must start with either "/", "./", or "../".

2025-12-04

Mage AI 數據整理:資料複製

紀錄一下Mage這款工具的使用。

這工具是因為公司要做 ETL (Extract, Transform, Load),所以才開始使用的工具。

2025-10-14

安裝 NDK

我的開發環境是安裝 Android Studio 而不是裝 Android Studio Command line tool。

安裝完畢後並沒有特別安裝額外的 SDK tool

所以沒有 NDK

但今天我要使用 Tauri 來編譯成 Android APK 就需要 NDK 了(NDK 是用來編譯 C/C++ code 用,Tauri 本身是 Rust 寫的,所以有需要)。

2025-09-24

Ionic + Vue 在使用目錄時的狀況

使用的 Framework 是Ionic + Vue 3.5

我有兩個頁面,原本的 code 如下

<!-- 第一頁 -->

<template>
	<ion-page>
		<ion-header  >
			<ion-toolbar>
				<ion-title><h1>Foo</h1></ion-title>				
			</ion-toolbar>
		</ion-header>
		<ion-content>
			<!-- 中略 -->
		</ion-content>
	</ion-page>
</template>
<!-- 第二頁 -->

<template>
	<ion-menu content-id="main-content">
		<ion-header >
			<ion-toolbar color="tertiary">
				<ion-title>Menu Content</ion-title>
			</ion-toolbar>
			<ion-menu-toggle slot="end">
				<ion-button>Close</ion-button>
			</ion-menu-toggle>
		</ion-header>
		<ion-content class="ion-padding">
			<!-- 中略 -->
		</ion-content>
	</ion-menu>
	<ion-page id="main-content">
		<ion-header>
			<ion-toolbar>
				<ion-buttons slot="start">
					<ion-menu-button></ion-menu-button>
				</ion-buttons>
				<ion-title> BAR </ion-title>
			</ion-toolbar>
		</ion-header> 
		<ion-content class="ion-padding">
			<!-- 中略 -->
		</ion-content>
	</ion-page>
</template>

兩頁的差別在於,第二頁有 <ion-menu/>;第一頁沒有。

這樣的 code ,從第一頁切換到第二頁是正常的

但從第二頁切換回第一頁時,會出現以下錯誤:

  1. <ion-header> 顯示的是第二頁的標題
  2. 第一頁不存在的<ion-menu>依舊存在