星期二, 10月 27, 2026

2026ITF 線上旅展航空機票促銷整理

                                          照片來源:Airport Magizine (h5mag)

        2026 ITF 線上旅展航空促銷整理(2026/10/27 查證:華航、長榮、星宇、國泰、新航以官方活動頁為準,其餘為主流媒體交叉比對)。價格皆為新台幣「起價」,含稅/未稅、單程/來回已分開標示;促銷機位有限,實際以航空公司官網(表二有各家航空公司官網連結)為準。

表一|總覽

航空公司促銷期間折扣購票截止狀態
中華航空10/16–11/21精選航線 76 折起11/21進行中
星宇航空10/15–11/23精選航線 85 折起11/23進行中(最晚截止)
長榮航空10/21–11/15精選航線 82 折起11/15進行中
國泰航空10/16–11/13最高 8 折起(東京/大阪/名古屋經濟艙 85 折起)11/13進行中
日本航空10/16–11/13東京/名古屋/沖繩 8 折起(日航×易遊網)11/13進行中
新加坡航空即日起–11/1220+ 航點最高 8 折11/12進行中
酷航10/22–11/12東京/北海道/首爾/新加坡(起價未公布)11/12進行中
紐西蘭航空10/20–11/9最低 58 折起11/9進行中
阿提哈德10/26–11/9指定行程 85–8 折(15–20% off,起價未公布)11/9進行中
亞洲航空–10/25全航線 7–8 折起(各家報導不一)10/25已截止
樂桃 Peach10/14–10/17非 ITF 檔期促銷10/17已結束
台灣虎航—ITF 促銷尚未公布—尚未公布
星悅航空—ITF 限定票價尚未公布—尚未公布
天馬航空—僅參展,未公布台灣出發線上票價—未公布

表二|截止日排序(搶票順序)

截止日航空公司
10/25亞洲航空(已截止)
11/9紐西蘭航空、阿提哈德
11/12新加坡航空、酷航
11/13國泰航空、日本航空
11/15長榮航空
11/21中華航空
11/23星宇航空(最晚)

表三|同航線比價(未稅與含稅分開,不可混比)

航線口徑各家起價(TWD)
沖繩來回含稅日航 7,639|星宇 10,548(查得)|華航 9,908(查得)|長榮 11,268(查得)|亞航 5,965(已截止)
沖繩未稅華航 5,994(官方未標單程/來回)|長榮 單程 6,640
首爾來回含稅華航 10,869(查得)|長榮 10,981(查得)
首爾未稅長榮 單程 6,059
釜山—華航 未稅 5,994|星宇 來回含稅 10,673|長榮 來回含稅 10,868(查得)
大阪來回含稅國泰 13,909|華航 14,260(查得)|星宇 14,691|長榮 15,616(查得)|亞航 6,596(已截止)
東京來回含稅國泰 13,433|日航 13,859|星宇(成田)14,629|長榮 14,905(查得)

表四|各家主打價格

航空公司價格口徑主打航線起價(TWD)
中華航空未稅(官方未標單程/來回)香港 3,240|宿霧 3,354|釜山/沖繩 5,994|西雅圖 14,820|墨爾本 17,253|布拉格 21,684;單程未稅:布里斯本 15,957、雪梨 16,188
長榮航空單程未稅香港 3,280|首爾 6,059|沖繩 6,640|松山–羽田 11,305|德里 13,940(12/1 開航)|布里斯本 15,334|維也納 22,950|舊金山 27,000(此為含稅)
星宇航空來回含稅宿霧 8,105|下地島 9,096|高雄–沖繩 10,075|熊本 10,679|釜山 10,673|富國島 11,107|神戶 12,334|東京成田 14,629|大阪 14,691|函館 14,716
國泰航空來回含稅高雄–香港 7,450|東京 13,433|大阪 13,909|名古屋 14,429;會員碼 CXITF500 折 500、CXITF1000 滿 20,000 折 1,000
新加坡航空來回含稅峇里島 10,628|雅加達 10,678|新加坡 11,088|澳洲 24,158 起|雪梨 25,158|歐洲 25,648 起|馬爾地夫 31,518
日本航空來回含稅沖繩 7,639|名古屋 13,144|東京 13,859(經濟艙含 2 件託運行李)
紐西蘭航空來回未稅台北–奧克蘭:經濟 29,500|豪華經濟 69,000|商務 116,900(指定票價免費延伸基督城/威靈頓)
阿提哈德—起價未公布;指定行程 15–20% 折扣,旅遊期間 2026/11/1–2027/6/30,依各銷售業者公告

備註:虎航 ITF 促銷尚未公布(最近一波為 2027 夏季班表促銷,已於 10/3 結束);星悅 ITF 限定票價尚未公布;天馬僅參展、未公布台灣出發線上票價;酷航起價未公布。華航公告價官方未標單程/來回,已照原文註明。

星期三, 12月 03, 2025

大濛

       這國片是一位年輕朋友推薦我去看,故事背景是很有年代感,場景也真的是夠復古,把時代風情重現在電影中,還有歌舞團表演,主人翁趙公道一直用廣東腔講幹你娘,操你媽的逼真的很接地氣,難怪會吸引年輕人,這些江湖味算是生活中小小惡趣味吧。不過還是有感人的故事,被槍斃的黃育雲説我們可以什麽都沒有,只有勇敢,還有不是每個人都能成為自己想要的那片風景,這根本是文藝青年才會說的話,導演還是很有想法的,大家可以去支持得金馬奬的國片。

星期五, 5月 30, 2025

剴剴案之高風險兒童不定期查訪建議

我是個社工師,下面説明是我和GPT討論有關高風險兒童不定期查訪草案,前陣子剴剴案不能沒有後續改善,監察院也善對雙北市政府,兒童福利聯盟糾正了,希望不是今日公祭😃明日忘記。

#剴剴案 #高風險兒童 #兒童保護

高風險兒童查訪制度建議草案

一、目的與背景

本建議草案旨在提出一套能有效保障高風險兒童(包括身障兒童、教養院兒童、待收養兒童等)安全的查訪制度,並確保每一位兒童的基本生存與發展需求得到應有的照顧,避免因制度疏漏而造成悲劇性事件的發生。

二、高風險兒童定義與優先查訪名單

1. 等待收出養的兒童

2. 身心障礙兒童

3. 教養院安置兒童

4. 曾有虐待或疏忽紀錄的兒童

5. 單親或隔代教養且經濟弱勢的家庭兒童

6. 多次搬遷、失聯、無穩定居住的兒童

7. 接受私人托育、寄養家庭照顧,無穩定第三方監督的兒童

8. 家長或照顧者有精神疾病、藥酒癮等未穩定治療的兒童

9. 學校、醫療機構或社福機構曾通報的有異常行為、傷痕的兒童

三、查訪人員構成

查訪人員應具備專業背景及多元化組合,並經過專業訓練。具體來源可包括:

1. 公部門兒童保護單位社工

2. 醫療院所的兒科護理師、醫生

3. 特教老師與心理師

4. 經過認證的兒少關懷志工

5. 具有經驗的退休社工、醫護人員等

四、查訪人員訓練內容

查訪人員必須經過全面、定期的專業訓練,以確保查訪能夠發現問題及處理,訓練內容包括但不限於:

1. 辨識兒童受虐、疏忽、性侵跡象

2. 身心障礙兒童的特殊需求與表現特徵

3. 學習傾聽與觀察兒童非語言訊號

4. 基礎法律知識(兒童及少年法、家暴法等)

5. 查訪倫理與技巧

6. 緊急通報流程與應急處理指導

7. 交叉比對技巧(問孩子、問照顧者、看環境)

五、查訪頻率與方式

1. 高風險兒童:每月至少一次不定期查訪。

2. 中低風險兒童:每半年一次不定期抽查。

3. 查訪方式:

實地訪查,進入居住或托育機構環境。

孩子身體、情緒狀況的直接觀察。

與照顧者及孩子單獨交談,確保無人為隱瞞。

必要時,協助進行心理與健康篩查。

六、通報與後續處理

查訪人員在發現異常情況後,應立即啟動快速反應機制,通報相關社會福利機構、醫療單位或警方,確保孩子立即獲得保護。

後續追蹤:對已被通報或查訪過的案件,應建立定期追蹤機制,以確保問題徹底解決,並對照顧者進行必要的輔導與協助。

七、制度落實與資源保障

1. 資源投入:必須為高風險兒童查訪制度提供足夠的人力、物力與財力支持,包括適當的查訪工具、交通補助等。

2. 跨部門協調:各相關單位(衛福部、教育部、地方政府等)應加強協調合作,確保查訪工作順利進行。

3. 定期檢討與改進:每年應進行評估與改進,確保查訪效果。

星期六, 4月 12, 2025

用 Google Sheets 自動追蹤你想看的新聞:以台積電為例,修改 Apps Script 實戰教學

用 Google Sheets 自動追蹤你想看的新聞:以台積電為例,修改 Apps Script 實戰教學 發布時間: 2025年 4月 12日 地點: 台灣新北市 你是不是常常需要關注特定公司、主題或人物的最新新聞?每天手動搜尋是不是覺得有點煩人?其實,你可以利用 Google Sheets 和一點點程式魔法,讓試算表自動幫你收集整理相關新聞! 先前我們可能已經建立了一個 Google Apps Script,用來追蹤像是「川普 關稅」這樣的主題。但如果你想追蹤的目標改變了呢?例如,你現在更關心的是台灣的護國神山——「台積電」(TSMC)的動態。 別擔心!修改現有的 Apps Script 並不難。這篇文章將一步步帶你把原本的腳本修改成專門追蹤「台積電」新聞的利器。 
我們需要什麼工具? * Google Sheets: 我們的老朋友,資料的家。 * Google Apps Script (GAS): Google 提供的免費雲端腳本平台,可以用 JavaScript 語法操作 Google Workspace 的各種服務(包括 Sheets)。 * Google News RSS Feed: 我們將透過構造一個 Google News 的 RSS Feed 網址來獲取結構化的新聞資料,這比直接爬取網頁更穩定。 
修改腳本:讓它聚焦台積電 假設你已經有了一個先前用來追蹤其他主題的 Apps Script 程式碼。現在,我們要動手修改它,讓它開始為我們關注「台積電」。 
主要修改點: * 修改搜尋關鍵字 (SEARCH_TERMS): 這是最核心的改動。找到定義搜尋關鍵字的變數,把它改成 "台積電"。 // 原本可能是: // var SEARCH_TERMS = "Trump tariffs"; // 修改為: var SEARCH_TERMS = "台積電"; * 更新 RSS Feed 網址 (RSS_URL): 光改關鍵字還不夠,為了獲得最相關的中文新聞,我們需要調整 RSS 網址中的語言 (hl) 和地區 (gl) 參數。 // 原本可能是美國英文新聞的網址: // var RSS_URL = "https://news.google.com/rss/search?q=" + encodeURIComponent(SEARCH_TERMS) + "&hl=en-US&gl=US&ceid=US:en"; // 修改為台灣繁體中文新聞的網址: var RSS_URL = "https://news.google.com/rss/search?q=" + encodeURIComponent(SEARCH_TERMS) + "&hl=zh-TW&gl=TW&ceid=TW:zh-Hant"; * hl=zh-TW:指定語言為繁體中文。 * gl=TW:指定地區為台灣。 * ceid=TW:zh-Hant:對應的識別碼。 * (建議) 更改工作表名稱 (SHEET_NAME): 為了讓你的 Google Sheet 保持整潔,建議幫存放台積電新聞的工作表取個新名字。 // 原本可能是: // var SHEET_NAME = "新聞"; // 修改為: var SHEET_NAME = "台積電新聞"; * (建議) 更改函數名稱: 原本的函數名稱可能反映的是舊主題(例如 findTrumpTariffNews)。為了可讀性,最好改成與新主題相關的名稱。注意:改了函數名,後面的觸發條件也要跟著改! // 原本可能是: // function findTrumpTariffNews() { ... } // 修改為: function findTsmcNews() { ... } 別忘了,函數內部的錯誤記錄 Logger.log 或郵件通知訊息也可以順便更新一下,讓它們更符合現在的功能。 

____________________
更新後的完整程式碼範例, 這裡提供整合上述修改的完整 Apps Script 程式碼,你可以直接複製使用: 
// --- 設定 --- var SEARCH_TERMS = "台積電"; // *** 修改:設定新的搜尋關鍵字 *** var SHEET_NAME = "台積電新聞"; // *** 建議修改:設定新的工作表名稱 *** var MAX_RESULTS_TO_CHECK = 50; // 每次檢查 RSS Feed 中的前 N 筆資料 var LINK_COLUMN_INDEX = 3; // 連結在哪一欄 (A=1, B=2, C=3...),用來檢查重複 // *** 修改:更新 RSS Feed URL,使用新的搜尋關鍵字,並設定為台灣繁體中文新聞 *** var RSS_URL = "https://news.google.com/rss/search?q=" + encodeURIComponent(SEARCH_TERMS) + "&hl=zh-TW&gl=TW&ceid=TW:zh-Hant"; /** * *** 建議修改:主要函數名稱 *** * 主要函數:擷取、解析並將台積電新聞寫入試算表 */ function findTsmcNews() { // *** 修改:函數名稱 *** try { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(SHEET_NAME); // 使用更新後的工作表名稱 // 如果工作表不存在,則建立它並加入標頭 if (!sheet) { sheet = ss.insertSheet(SHEET_NAME); sheet.appendRow(["擷取時間", "標題", "連結", "發布日期"]); SpreadsheetApp.flush(); Logger.log("已建立工作表 '%s' 並加入標頭。", SHEET_NAME); } var existingLinks = getExistingLinks(sheet); Logger.log("目前工作表 '%s' 中有 %s 個連結可供比對。", SHEET_NAME, existingLinks.size); Logger.log("正在從 RSS Feed 擷取關於 '%s' 的新聞: %s", SEARCH_TERMS, RSS_URL); var response = UrlFetchApp.fetch(RSS_URL, { muteHttpExceptions: true }); var responseCode = response.getResponseCode(); var xmlContent = response.getContentText(); if (responseCode !== 200) { Logger.log("錯誤:無法擷取 RSS Feed。狀態碼: %s, 回應: %s", responseCode, xmlContent); return; } var document = XmlService.parse(xmlContent); var root = document.getRootElement(); var channel = root.getChild('channel'); var items = channel.getChildren('item'); Logger.log("在 RSS Feed 中找到 %s 個項目。", items.length); var newItemsAdded = 0; var itemsToCheck = Math.min(items.length, MAX_RESULTS_TO_CHECK); for (var i = 0; i < itemsToCheck; i++) { var item = items[i]; var title = item.getChild('title').getText(); var link = item.getChild('link').getText(); var pubDateText = item.getChild('pubDate') ? item.getChild('pubDate').getText() : "N/A"; var fetchTimestamp = new Date(); if (!existingLinks.has(link)) { sheet.appendRow([ Utilities.formatDate(fetchTimestamp, Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm:ss"), title, link, pubDateText ]); Logger.log("新增新聞: %s", title); newItemsAdded++; existingLinks.add(link); } } if (newItemsAdded > 0) { Logger.log("已新增 %s 則關於 '%s' 的新聞到 '%s' 工作表。", newItemsAdded, SEARCH_TERMS, SHEET_NAME); } else { Logger.log("沒有找到關於 '%s' 的新新聞項目。", SEARCH_TERMS); } } catch (error) { Logger.log("執行 findTsmcNews 時發生錯誤: %s", error); Logger.log("錯誤堆疊: %s", error.stack); } } /** * 輔助函數:從工作表中讀取現有連結,用於去重 */ function getExistingLinks(sheet) { var linkSet = new Set(); var lastRow = sheet.getLastRow(); if (lastRow > 1) { var range = sheet.getRange(2, LINK_COLUMN_INDEX, lastRow - 1, 1); var values = range.getValues(); for (var i = 0; i < values.length; i++) { if (values[i][0]) { linkSet.add(values[i][0].toString().trim()); } } } return linkSet; } /** * (可選) 函數:如果需要,可以用來手動設定標頭 */ function setupSheet() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(SHEET_NAME); // 使用更新後的工作表名稱 if (!sheet) { sheet = ss.insertSheet(SHEET_NAME); } sheet.clearContents(); sheet.appendRow(["擷取時間", "標題", "連結", "發布日期"]); sheet.getRange("A1:D1").setFontWeight("bold"); SpreadsheetApp.flush(); Logger.log("工作表 '%s' 已設定標頭。", SHEET_NAME); } 
________________________
如何實施? 
* 打開編輯器: 前往你的 Google Sheet,點擊「擴充功能」->「Apps Script」。 * 取代程式碼: 將編輯器裡舊的程式碼全部刪除,貼上上面提供的新程式碼。 * 儲存: 點擊儲存圖示。 * 測試運行: 在編輯器頂部的函數下拉選單中,選擇你剛剛修改的函數名稱(例如 findTsmcNews),然後點擊旁邊的「▶ 執行」按鈕。檢查你的 Google Sheet 是否出現了新的工作表(如果設定了新名稱)和相關的台積電新聞。 * 更新觸發條件(關鍵步驟!): * 點擊左側選單的「觸發條件」(時鐘圖案)。 * 找到你之前設定的時間驅動觸發條件(例如每小時執行一次)。 * 點擊編輯(鉛筆圖示)。 * 務必確認「選擇要執行的功能」已經指向你修改後的 新函數名稱(例如 findTsmcNews)。 如果這裡還是舊的函數名稱,自動化就會失效或繼續跑舊主題! * 儲存觸發條件的變更。 大功告成!
 完成這些步驟後,你的 Google Sheet 就會開始自動為你收集最新的台積電新聞了!你可以隨時打開試算表查看,甚至在手機上也能輕鬆閱讀。 這個方法當然也可以應用於追蹤任何你感興趣的公開新聞主題。只要修改 SEARCH_TERMS 和可能的 RSS_URL 地區語言設定,你就能打造自己專屬的自動化新聞監控站! #TSMC @台積電

星期一, 1月 27, 2025

有關0121地震

這次一月21日的地震,台南的玉井,楠西有不少房屋受損嚴重,雖然沒有太多人受傷,但後續的安置是很重要的事。 有不少民間團體是自動到當地協助提供物資,這當然也是有很多善心人士的促成,我想如果這些當地民眾的聲音是很微弱的話,不會有太多人注意到,這時當地政府人員的工作就很重要了。 我在想現在正在推動大罷免的熱潮,可能很少有立委會關心到這些民眾,但是如果因為對於預算的删減而影響了這些民眾能夠恢復正常生活的權益,這樣就真的使政治會影響了一般人的生活了。 希望之後在選舉時,民眾都能夠選出真正關心人民權益的人,每一票都投下最正確的選擇。

星期二, 8月 20, 2013

札幌市散策

今日是札幌市區徒步散策,一早準備前往北海道大學,從札幌車站往北走會經過舊北海道官廳,再走沒多久就到了。 夏天的北海道大學校園就是一整片綠意除了大片的草地,也有人工湖和小河在其中,一整個就是很舒服的大自然環境! 在校門口有個服務中心可以索取校內平面圖來參觀校園,也可以買紀念品很方便。 這裏有個中央食堂,是校園餐廳可以用餐,同棟樓二樓有展售中心可訂購北海道海產可以寄到國外呢! 北海道大學裏還有牧場在放養綿羊,只是好像不開放參觀。校園內還有並木和銀杏這古老的植物大道,若是秋天來看可就是金黃色的一條 大道!校園還有北海道大學醫院,在院內的牆壁上也有北海道當地動物的剪影,像狐狸,丹頂鶴,企鵝,北極熊也是相當有特色的建築。 我在中央食堂吃飯時,剛好有位大陸的學生幫忙我點餐,看來華人真是滿天下呢! 吃過飯後往大通公園的電視塔前進,若從札幌車站出發也可 以坐地下鐡到大通站走出地面就是大通公園,這是個長方形的公園 七月和八月份正要辦啤酒音樂節,所以搭了很多帳篷,不過這裏也是可以見到一些街友,本來公園就是開放空間,大家都可以來 欣賞漂亮花草樹木,大家也都見怪不怪! 到了電視塔上鳥瞰札幌街景,札幌也是被山環繞的城市,如果在冬天來就是一片白色的街景及公園最末端露出白色的山頭, 夏天來就是一片綠意,這裏也能看到札幌巨蛋的銀色屋頂,還有豐平川這條流過市區的大河,在九月中旬可以看到逆流而上產卵的鮭魚 。接下來到貍小路商店街參觀,這裏有各式的美食和伴手禮可以採買。 因下午要從新千歲回關西空港再轉機回台灣,所以只坐地鐵南北線到幌平橋參觀豐平川,川中的水真是相當乾淨,難怪可以有鮭魚 迴遊而上來產卵。我 那天看到在河川旁有不少人在玩水,還有學生在校外教學,真是青春無限的好時光呢! 最後依依不捨從札幌車站坐JR到新千歲機場準備坐國內線,明日從關西空港回台灣,結束這次北海道青春夏日旅行。

星期日, 8月 18, 2013

帶廣中札內森林之旅

今日行程是坐廣尾線的十勝巴士到中札內美術村,從帶廣車站出發不用一個小時就到了。 這是北海道知名店家六花亭的相關旅遊景點,不遠的地方還有一座六花之森,也是森林中的藝術村, 不過我時間不足就沒過去了。 中札內美術村附近都是農田,也沒有很明顯的圍牆和出入口,只有指示牌告知遊客,真正是和 附近田園農村景色融為一體,給人一種沒有壓迫的舒暢空間,就好像是在自然中一樣, 雖然附近的農田沒什麼,但加上遠方的十勝岳就真是很壯觀呢! 這個美術村有五間小木屋展示藝術作品,還有一間是用餐的地方,在一座滿眼綠意的森林中用餐 氣氛真是很悠閑呢! 停車場旁的森林中有一間柏林是販賣六花亭的巧克力和紀念品,從上方引入透過稀疏的 樹枝將光線投射到室內空間中,讓人也彷彿在戶外也是很有fu呢! 這裏的森林下方草地有一種北海道原生的六月開花的植物叫鈴蘭,是一串像鈴鐺的白色小花, 真是很萌的花朵呢。 原本想去一座叫幸福駅的車站,但是似乎在整修中,所以留到下次再去,不過在帶廣車站二樓 的帶廣旅遊服務處有一座小的幸福駅也可參觀留念。   中午參觀完離開再坐車到二三站不遠的休息站吃飯順便買東西,這裏也是有不少好買好逛的 店家,由於我是在帶廣的十勝巴士站買了優惠的套票,也附了很多店家的優惠券 真是相當超值的享受。這裏也是很適合全家大小消磨一下午的好去處! 離開休息站後就得回帶廣坐JR回札幌了,明天是札幌市一日遊...。