遊手好閒的石頭成
行於巷弄若於曠野,居於市井如於山巔。不知其何許人也。

我的程式源碼託管於 github/shirock
rocksaying.tw
rocksaying.github.io
石頭閒語

本站參加 Google AdSense 計畫。日前收到通知「自 2024 年 1 月 16 日起,AdSense 發布商除了遵守《歐盟地區使用者同意授權政策》規定以外,還必須採用 Google 認證且已整合 IAB 資訊公開和同意聲明架構 (TCF) 的 CMP」。為了符合 Google AdSense 規定的隱私權透明揭示原則,增加 「隱私權政策」聲明頁。頁面連結固定可見本站最下方頁腳處。

抱怨一點,Google 怎麼不直接提供隱私權政策的定型化範本。一般人哪知道該寫什麼內容。

2025年日本明信片最新郵資

我在 「2023年日本東京12月六日遊」 這篇中提到如何在日本收集明信片與風景印。當時說 2023 年時漲了一次郵資。 沒想到才過了不到一年時間,日本郵便局就宣佈再次調漲國內郵資,於 2024 年 10 月 1 日起,最低郵資從 63 円調漲為 85 円。 所幸海外明信片郵資仍然維持 100 円不變。

調漲公告: 2024年10月1日(火)から郵便料金が変わりました

1

想按照一般途徑查詢目前郵資,請從 日本郵便局網站 上方導覽列的「送る」開始,依次點擊「料金を計算する・調べる」->「料金を調べる」->「料金表」。

2

我們 (海外人士) 除了寄明信片,也可能需要寄國際包裹。則可以從上圖導覽列的「送る」開始,再點擊右側「海外に送る」->「国際郵便早見表」(如下圖),查看各種海外郵寄方式的郵資估算表。

3

網頁UI元件 - LimitedCheckbox,複選但有限項目的表單元件

當網頁表單需要提供使用者可複選的選項時,我們會用 Select (配上 multiple) 或 Checkbox 元件。 但若想進一步限制可勾選的項目數量,例如五項中最多選三項又或是最少選兩項,則目前的內建行為做不到。 我們要自己寫程式控制。

我根據我碰到的需求情境,設計了一個允許使用者複選但有限項目的表單元件。 因為這個元件是基於 Checkbox ,所以取名 LimitedCheckbox

我不用 Select 設計這個複選元件的原因,在於 Select 需要配合鍵盤按住 ctrl 或 shift 才可複選。 但現在很多人不知道這種鍵盤搭配滑鼠的操作技巧。隨著成長於手機世代的使用者愈來愈多,不知道的人會更多。 而 Checkbox 的操作方式則符合現代使用者的「日常經驗」,所以選它。

網頁UI元件 - 如何使用新式UI Dialog 和 Modal

Dialog 是 WHATWG 規範的 HTML 對話框元件。只要各家瀏覽器按照規範內容實作,就可以保證在不同瀏覽器與前端工具之間仍有相同的行為。 按 Mozilla MDN 文件所述,在 2022 年 3 月之後的瀏覽器皆已實作此元件。 在此之前,這類 UI 元件是由前端工具 - 如 bootstrap - 利用 CSS 和 JavaScript 自行設計。但不同前端工具定義的對話框行為並不相同。

注意,本文使用「對話框」一詞時,是一般概念。使用 Dialog 一詞時,專指 HTML 規範的對話框元件。

專案開發者手上的舊專案仍可繼續使用前端工具自定的對話框元件。 但新建專案,則建議使用 Dialog 元件。因為它有標準化的好處。 A 前端工具的對話框元件和 B 前端工具的對話框元件一定不同,如果你們中途變更前端工具,那就要修改對話框元件的程式碼。 而 Dialog 不與前端工具綁定,不受前端工具更迭影響。

網頁UI元件 - NumberInputElement,自訂增減值按鈕,以及用滑鼠滾輪修改數字

當設計師碰到限定輸入數值的輸入欄位時,可以用 NumberInputElement 網頁 UI 元件讓輸入框呈現更美觀的增加數值按鈕與減少數值按鈕。這是目前流行的數值輸入形式。

範例圖

NumberInputElement 元件具備以下特性:

  1. 只綁定型態為 numberinput 控制項 (input type=”number”)。
  2. 加入使用滑鼠滾輪改變數值的行為。上滾增值,下滾減值。
  3. 擴充 label 控制項的行為,使其具備對關聯控制項的增值行為或減值行為。 使用 type 屬性定義點擊 label 時的行為, inc 表示增值,dec 表示減值。
  4. 若不想用 label 改變 input 控制項的值 ,也可自行定義控制項的選擇器。 例如用 button 控制項處理增值或減值。
  5. 增值與減值行為都會參考 input 控制項的 max, min, step 三項標準屬性。

這個元件不會主動在 input 控制項旁邊增加控制按鈕,而是交給設計師決定。 如果設計師沒有放上代表增值或減值的按鈕/控制項,將只有滑鼠滾輪的擴充行為生效。

NumberInputElement 儲放在我的 non-jquery-ui 源碼庫: 「取得 NumberInputElement」。

PHP框架 - CommonGateway - 用 URL 重寫規則隱藏 CGF

Common Gateway Framework (CGF) 設計的所有服務 (RESTful API 或網頁) 都是透過主程式 index.php 轉發使用者的請求給控制項。 因此正常的 URL 總是會包含 index.php。

但有些客戶並不希望在 URL 中看到 index.php 這個字眼。 他們可能想要改善 SEO 的搜尋結果,又或是不想暴露低層的運作軟體。 我們可以利用 URL 改寫規則實現此目的。

有些功能龐大的框架會內建一套 URL 規則,例如 Laravel。 這類框架請照它們的規則來做。

PostgreSQL 操作筆記,使用 pg_basebackup 的備份檔案快速還原資料庫系統

pg_basebackup 是 PostgreSQL 提供的常規備份工具。

pg_basebackup 用於對正在執行的 PostgreSQL 資料庫叢集進行基礎備份。採取這些措施不會影響資料庫的其他用戶端,並且可以用於時間點隨選還原,也可以用於日誌傳送或串流複寫備用伺服器的起點。

pg_basebackup 製作資料庫叢集檔案的二進位副本,同時確保系統自動進入和退出備份模式。只能對整個資料庫叢集進行備份;無法備份單個資料庫或資料庫物件。

pg_basebackup - PostgreSQL 使用手冊

雖然使用手冊中說明了 pg_basebackup 的備份用法,但卻沒有具體說明如何還原。 我查到的網路資料,按照文中的指令實際操作後並不能復原。可說那些已經是過期文件,大約僅適用於 PostgreSQL 10 版之前。 本文說明的操作內容,則在 PostgreSQL 13 版及更新版本中實際操作過。

分頁瀏覽
Programming
電腦技術
經濟學/奧地利經濟學派
閱讀隨筆
休閒生活
快報記事
留言@GitHub