標題這樣寫可能不一定有人知道是什麼,但如果說「上上下下左右左右BA」,就會瞬間「哦哦~我知道了。」 說起來也不是什麼新聞,早先有紅過一陣子,但昨天在找案例研究的時候去細讀別人寫的程式碼意外發現開發者有藏東西。 說實在,用註解藏已經不容易被發現了,而一個小活動頁他還用祕技方式藏,這不是開發者的浪漫是什 …
分類彙整: 技術相關
[WooCommerce] 程式開發時取出訂單資訊的方法整理
這篇文章是引用 How to Get Order Details by Order ID 這篇文中分享的方法。 因為實際應用情境經過測試發現預設的太完美,沒有針對例外處理判斷。我這邊 fork 過來後就修正一些問題,之後也是就這份自己維護了! 其中也包含 wc_display_item_meta 這 …
[WordPress] 整合 WooCommerce 建置售票系統的架構
這篇文章是最近解決一個德國夥伴他網站需求的組合。雖然網站上的德文我都看不懂,但開發者都是用程式溝通的!(?) 根據他的描述與介紹,得知他這個網站的需求算是因為一場活動的需要而建立,而非想製作專業售票平台,需求相對簡單得多。 主要使用的外掛有: FooEvents WooCommerce WooCom …
[工具] 中文簡繁轉換開源工具 – OpenCC 開放中文轉換
其實現在如果搜尋「簡繁轉換工具」是可以找到一堆,尤其是用對照表去處理的。但如果想要有無限制 API 介接程式化並且可以做到字詞替換就幾乎沒有。 這套工具的緣由可以從這裡觀看,特點如下: 嚴格區分「一簡對多繁」和「一簡對多異」。 完全兼容異體字,可以實現動態替換。 嚴格審校一簡對多繁詞條,原則爲「能分 …
[DNS] 使用 Gandi LiveDNS 動態更新設定紀錄
DNS 是把 一個好記網域名稱 對應 難記IP位置 的服務(也還有其他對應服務)。通常主機IP位置不太會變,所以設定後除非換主機,不然紀錄也不太會換。 但是~ 如果伺服器IP位置會動態改變,又想要找到這台伺服器的時候怎辦? 像是家裡沒有固定IP的電腦和 Raspberry Pi。雖然這舉例可能並非公 …
[Python] 執行環境與套件管理流程 – Pipenv
最近一有空就來學一點 Python,補充這接下來頗看好的語言工具知識!如果已經有學過幾套程式語言的話大部分人應該會先下手解決一個彈性問題:環境。 正如同 NodeJS 這套工具有 NPM 作為套件管理,而 Python 也一樣有不少很棒的套件可以呼叫,那..套件管理的作法或是工具? Python 界 …
[Python] 使用標準函式庫取得電腦本機對外 IP 的方法
這篇是在 Stack Overflow 上看到的「Finding local IP addresses using Python’s stdlib」問題。 在取得電腦本機對外 IP 的眾多解答中,我喜歡不是有勾勾的那個答案。 import socket s = socket.socket(socke …
[工具] WordPress 客服信箱管理系統 – SupportPress
對外統一信箱是在專案活動中必要的溝通管道。集中管理窗口也如同品牌識別、網域名稱、網站入口一樣。 今天因為成員登入同一組信箱被 Google 偵測可能是惡意使用者還差點被鎖,所以真的把這套 WordPress 內部管理系統 SupportPress 給裝起來測試。(拖好久) 但是!!! 這套居然不能裝 …
[DevOps] Mac 上安裝 Ansible 部署工具
Ansible 是一套自動化管理部署工具,可以像按鍵精靈定義好腳本就會自動幫你操作遠端的伺服器。 而且關鍵是: 不用先在遠端伺服器上面安裝其他套件 純粹只需要讓 Ansible 透過 SSH 連線過去管理就可以了! 如下圖,其實安裝 Ansible 的只有控制端電腦,也可以說是開發者安裝就好,伺服器 …
[WordPress] 靜態快取壓縮 CSS 與 JavaScript 的外掛
網站快取是一門藝術,解決效能瓶頸的必學技能之一。 儘管作法很多,但最直接有效的還是壓縮與靜態化,壓縮又可以看作解決請求次數過多的解法,不單只是檔案瘦身這麼簡單。 靜態化是為了讓「算」過的服務不要重算,減少運算的壓力。 如果再搭配「伺服器」參數然後主要看「花費」這個維度的時候,就不是一個可以三言兩語去 …