利用Cloudflare worker來進行客戶端IP查找

Cloudflare 有個功能, 就是在 edge 端的 worker, 可以參考:

https://developers.cloudflare.com/workers/

我們可以利用這個 worker 來做許多功能, 把它想成小型的在邊緣的處理器, 先來看一些 example 好了:

https://developers.cloudflare.com/workers/examples/

理解可以在這個 worker 處理不少事情後, 接下來實做一個簡單的功能, 像是這種取客戶端 IP 的功能:

早期也有利用 PHP 寫過取 IP 功能的小程式, 可以參考:

不過這裡要介紹的是利用 cloudflare 的 worker 來進行.

Windows環境下安裝PHP 8.1.3與Composer

今天來介紹安裝 PHP 8.1.3 於 windows 環境下.

首先至 PHP Windows版本下載的連結:

https://windows.php.net/download

可以安裝 VS16 x64 Non Thread Safe (2022-Feb-16 08:50:36) 這個版本即可, 至於 Thread Safe 與 Non Thread Safe 有什麼不同可以參考: https://stackoverflow.com/questions/1623914/what-is-thread-safe-or-non-thread-safe-in-php, 原則上是與 Apache  Web Server 應用時會需要 Thread Safe 版本, 其他不需要.

解開後放在自己想放的資料夾中, 例如 c:\php (預設也會是這個, 若不是也沒關係), 例如 c:\tools\php813, 然後將這個路徑加入環境變數 PATH 中, 供執行時, 可以執行 php.exe 這個執行命令.

在 console 下, 可以利用以下指令:

C:\Users\tim> PATH %PATH%;C:\tools\php813

接下來的步驟很重要, 先將目錄下的 php.ini-production 或 php.ini-development 複製一份為 php.ini , 調整兩個重要的內容:

  • extension_dir = “ext”
  • extension=openssl

這兩行前面的註解 “;” (分號) 要拿掉.

以上都完成後, 你就可以在 console 下執行 php -v 來看 php 是否可執行, 與版本資訊:

C:\Users\tim>php -v
PHP 8.1.3 (cli) (built: Feb 16 2022 08:20:53) (NTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.1.3, Copyright (c) Zend Technologies

台灣教會(教堂)地圖

繼上次台灣寺廟地圖(https://diary.tw/archives/1915)後, 想做個台灣教堂地圖, 不過查了一下, 只有法人教會, 沒有教堂, 看起來一樣是教堂的資料, 所以就會來用囉, 來看看資料來源:

全國宗教資訊系統資料-法人教會: https://data.gov.tw/dataset/8204

連結重導至: https://religion.moi.gov.tw/Report/church.xml

一樣和寺廟資料相同, 使用 xml 格式.

以下為台灣教會(教堂)地圖:

https://sample.diary.tw/churchmaps/

不過可能與實際上有落差的是這份資料集為”法人教會”, 非法人登記的也還有一定的資料量, 不過目前沒有其他資料源可供應用.

 

 

利用FooTable列出可分頁、搜尋、排序的資料檢視

這個工具是 Table view, FooTable:

https://fooplugins.github.io/FooTable/

很適合快速地將資料利用 table 的方式呈現出來, 這個工具的特點是同時可以分頁、搜尋、排序與編輯, 尤其在 mobile view (responsive) 時, 可以摺疊內容, 不用橫向捲動, 十分方便.

這裡將利用財金公司的國內銀行分行代碼表來進行示範, 原始資料在這裡:

https://www.fisc.com.tw/TC/Service?CAID=51254999-5d15-4ddf-8e54-4b2cdb2a8399

其中的”下載完整對照表”, “台幣匯款”, 可以下載完整的國內銀行總分支機構代碼(7碼)與名稱, 連結如下:

https://www.fisc.com.tw/tc/download/twd.txt

內容如上, 純文字檔, 不過請注意右下角的 Big5 編碼, 若要實作為 web 程式碼, 需要轉換為 UTF-8 (下面的程式碼使用 mb_convert_encoding 進行轉換).

接下來利用 FooTable 進行實作囉, 基礎程式碼如下:

$(document).ready(function() {
  $('.table').footable({
    "paging": {
      "enabled": true,
    },
    "filtering": {
      "enabled": true
    },
    "sorting": {
      "enabled": true
    },
    "columns": [{
        "name": "id",
        "title": "id"
      },
      {
        "name": "branch",
        "title": "branch",
        "breakpoints": "xs"
      },
      {
        "name": "abbr",
        "title": "abbr"
      }
    ],
    "rows": $.get("twd.php"),
  });
});

簡單說明, paging, filtering, sorting 要設為 true, 而 columns 有三欄, 所以分別給定對應的欄位名(name)與欄位顯示(title), 其中 branch 有多加了 breakpoints: xs 代表著在 xs 時要摺疊, 也就是小畫面時, 會將此欄位收納起來. 而 rows 則為實際的資料, 這裡簡單使用一支 php 程式進行, 程式碼如下:

分類
手機大未來

行動自然人憑證APP正式上線囉!

原本的 Taiwan FIDO 台灣行動身份證別已正式改為行動自然人憑證了:

https://www.techbang.com/posts/94273

內政部之前推行的 T-fidO:

https://www.techbang.com/posts/75933

看起來原本的數位身份證還是無法推動的狀況下, 行動自然人憑證已是一個必須被推進的功能.

https://www.bnext.com.tw/article/62503/%08what-problem-with-eid-

https://www.bnext.com.tw/article/62504/eid-information-security

另外數位身份證專法也還在努力中:

https://udn.com/news/story/7314/5997060

無論如何, 想要申請行動自然人憑證還是得先有一張自然人憑證啊, 這樣是要如何數位呢?

行動自然人憑證申請專區:

https://fido.moi.gov.tw/

 

分類
好用軟體

GitHub支援在Markdown檔案中顯示Mermaid語法的圖形了

Mermaid 是 Markdown 中可以支援圖表的語法, 一樣是使用文字就可以將圖表如流程圖(Flowchart)、程序圖(Sequence Diagram)、甘特圖(Gantt Diagram)等進行呈現.

關於 Mermaid 與其語法可以參考這裡:

https://mermaid-js.github.io/mermaid/

也有線上編輯器可用:

Mermaid Live Editor: https://mermaid.live/

而在 Github 中, 文件是使用 Markdown 的格式, 但原來並不支援 Mermaid, 最近提供了這個功能, 實在非常方便而實用:

https://www.ithome.com.tw/news/149380

繼續閱讀:

https://github.com/github/roadmap/issues/372

https://ithelp.ithome.com.tw/articles/10234553

分類
手機大未來

Line Pay新版APP將於2022/2/15上線

從這裡看來的:

LINE Pay新版APP 2/15上線!正式移除一卡通MONEY,分道揚鑣內幕有哪些?

https://www.bnext.com.tw/article/67628/line-pay-taiwan-new-app

之前在推出 LINE Pay APP時, 就覺得很棒, 因為 LINE Messenger很肥大, 支付又要從主介面選出很麻煩, 所以有個獨立的 APP十分方便.

不過今天看這個消息, 才知道原來 LINE Pay APP是依存原日本版本的支付工具啊. 看起來團隊也因為本地市場, 行銷活動等需求而另外開發了新的版本, 而在新版 LINE Pay APP中不含LINE Pay 一卡通Money, 也是令人感到十分有趣的合作狀況.

可以參考去年兩篇:

先來看看功能介面吧:

(引用自: https://www.youtube.com/watch?v=zmJOwOevT_w)

相信這次的介面調整能大幅提升使用者需要的功能, 並完整因應本地市場應用的場景, 也對 LINE Pay APP能讓支付體驗能有更進一步的提升.

PS: LINE Pay 一卡通Money中的餘額(存款)雖未能在新版本LINE Pay APP中支援, 但仍可在原 LINE Messenger 中找到使用哦.

 

分類
好用軟體

Cloudflare的Email Routing服務已開放測試版了(包含免費版)

去年 Cloudflare 提供的 Email Routing服務:

https://blog.cloudflare.com/zh-tw/introducing-email-routing-zh-tw/

已於日前對外開放測試版了(Cloudflare Email Routing available to everyone, including free zones.):

https://blog.cloudflare.com/email-routing-open-beta/

可以利用 Cloudflare 服務提供的 Email Routing功能來進行信箱收件指派了呢, 設定方式可以參考上面的文章, 幾分鐘時間就可以完成設定, 快來試試這個好用的服務吧.

分類
blog服務

Buy me a coffee

新增加了 Buy me a coffee 贊助功能.

這個服務是 Buy me a coffee 提供的:

https://www.buymeacoffee.com/

若你覺得我寫的文章有幫助到你, 而你也願意買一杯(或更多杯)咖啡給我, 可以透過右下角咖啡標的按鈕, 或是到這裡:

https://www.buymeacoffee.com/timhuang

進行買咖啡贊助, 自由參加, 也歡迎多分享我的文章.

當然, 若你也想將你的文章加入贊助功能, 也可以透過我的推薦連結來加入 buy me a coffee 哦:

https://buymeacoffee.com/?via=timhuang

快速學習WordPress Child Theme製作方式

在 WordPress 中, 佈景主題 (Theme) 是很重要的功能之一, 不過往往因為需要自訂一些特殊功能或介面, 需要調整 Theme 的檔案.

一旦更新了 Theme, 又會將原本自行調整的功能覆寫掉, 如何能解決這個問題? 可以使用子佈景主題功能.

先來看看官方資料:

https://developer.wordpress.org/themes/advanced-topics/child-themes/

我們可以自建一個子佈景主題來達成這樣的應用需求, 簡易步驟說明如下:

  1. 在 wp-content/themes/ 建立一個目錄, 以 twentyfifteen 佈景主題為例, 我們就建一個 twentyfifteen-child 這個目錄.
  2. 在這個子佈景主題目錄下建立兩個檔案:
    1. style.css 內容用註解的方式, 但需要有以下兩項屬性, Theme Name 與 Template, 例如:
      /*
      Theme Name: Twentyfifteen Child
      Template: tweentyfifteen
      */
    2. functions.php 內容需要加入引用原始 style.css 功能, 如下:
      <?php
      add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
      function enqueue_parent_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
      }
      ?>
  3. 其他若是有需要調整的程式碼, 以複製同檔名方式放在這個子佈景主題裡, 例如 header.php, 把原始 header.php 複製一份到子佈景主題, 再依自己客製求修改調整即可.

接下來只需要到管理介面啟用這個子佈景主題即可, 而未來的主佈景主題更新也不會影響這個子佈景主題, 但若是 header.php 有一定幅度的更新時, 自行修改的部分, 也是需要留意與主佈景主題的相容性狀況.

另外也請參考 hubspot 的這篇:

https://blog.hubspot.com/website/wordpress-create-child-theme