初探 PHP Opcodes
PHP 的運作原理是先把 PHP 原始碼編譯成 opcodes 再開始進 Zend VM 和 CPU,這部分可以參考 2020 介紹 PHP 8 的簡報,裡面第 12 頁剛好有提到 PHP 從解析到進 CPU 的流程。
在討論 PHP 效能的時候,除了直接寫 benchmark 測試以外,還有另一個方法是查編譯出來的 opcodes 為何。而本篇文章的重點會是試著把 opcodes 抓出來,做些簡單的比較。
PHP 的 isset() 和 empty() 是解析變數常用的語言結構,兩者用法很接近,有時一不小心就會誤用。
這是一個老掉牙的主題,隨便 Google 都一堆比較文,官網也有描述它們的差異。但我還是決定重覆造輪子,主要是想把 array_key_exists() 函式拿來一起討論。
以前就有看過 Kibana 的各種資料呈現功能。最近因工作需求,所以研究了一下 Kibana 用法,同時記錄這份筆記。
主要是因為手邊只有現成的 log 檔案,但沒辦法用簡單的 grep 指令來達成複雜的功能,因此才會參考 Kibana 的做法。
因工作有用到 Laravel,加上覺得自己也想多練練文筆,於是開了這個系列。
OpenID Connect Core 1.0 - 4. Initiating Login from a Third Party 裡,定義了一個 RP 的 URI 路徑規範,是在處理第三方啟動登入的情境。
註:RP 指的是 Relying Party,也就是 OAuth2 Framework 裡的 Client 角色.
物件導向程式設計,是在設計一個系統--用到多少類別,以及類別之間的關係。
類別圖(class diagram)可以用圖例的方法呈現類別之間的關係,正所謂一圖勝萬言,使用圖例表達類別的關係,比直接看程式碼來的清楚很多;因為類別圖很常用,所以學習物件導向程式設計,至少要懂得看類別圖。