Leetcode 2256. Count Nodes Equal to Average of Subtree
久違的 Leetcode Daily,今天剛好在參考其它人的解答時想到一些有趣的議題可以分享。
關於題目的分析與解答我就不另外贅述,因為今天要討論的這篇參考解答已經寫得非常精采。
久違的 Leetcode Daily,今天剛好在參考其它人的解答時想到一些有趣的議題可以分享。
關於題目的分析與解答我就不另外贅述,因為今天要討論的這篇參考解答已經寫得非常精采。
容器化(Containerization),這是一個由 Docker 公司所發揚光大的一種技術,它能夠很好地封裝應用程式與所需函式庫,而且通常有著比 虛擬化(Virtualization) 更高的效能。
一般來說,編譯式語言都很容易被容器化,例如 C/C++ 或 Golang,這是因為只需要在容器中設定好相依函式庫(通常是指動態函式庫),其編譯出的執行檔就可以直接在容器中運行。
這對 PHP 這類直譯式語就不是個好消息,其運行環境往往受制於 Apache PHP Module 或 PHP-FPM,再加上現代 PHP 往往會整合 Composer 進行相依性套件管理,這使得其處境更加雪上加霜。
七月中旬,我離開了 Rosetta.ai。
作為最後幾份工作,我與同事們一起設計了一系列的 PHP 軟體工程師(後端)的題目。其中,實作題的設計是由我所主導,而我個人認為它是我設計過最優秀的題目。
因為該題目已獲公司主管同意已經公佈在 PTT 的 Soft_job 版上,所以這邊寫下當時我設計題目的理念與解析。
註:雖然 PTT 的討論串到最後演變成薪資之爭模糊焦點有些可惜,不過這並不妨礙這份題目本身的設計。
最近有嘗試著在 Twitch 上開直播,想說如果能夠讓 Zeffie(我在 VRChat 中所使用的角色形象)在直播時使用就好了。
經過一番搜索,我鎖定了 VSeeFace 這套軟體,並且搭配 iFacialMocap 做到表情捕捉。
也就是說,需要解決的問題就是:如何讓 VSeeFace 使用 VRChat 相容的 3D 模型
最近熱衷於玩 VRChat,在試用過多個不同的 Furry 模型之後,我最後選擇了 Zeffie ゼフィー 作為基礎模板。
有鑑於大部份的玩家都會在購買模型之後改變顏色或添增一些圖騰,以更加符合自身的設定,所以我也嘗試著自行修改:

本次的操作皆以這個模型為範例,理論上流程是差不多的,但可能在提供的東西上會有些差異
Laravel 有著優秀的預定義認證(Authentication)功能,讓開發者不必費心在重複製作用戶註冊、登入、登出等功能。
無論是早期的 laravel/ui 還是 laravel/fortify 都提供了安全、完整且方便的解決方案。
Kratos 是由 Ory Corp 所提供的開源認證解決方案,藉由設定檔的方式可以靈活設計認證模型(例如帳號密碼、第三方社群或 WebAuth 等 passwordless 的形式)
在 2021 年中旬,我曾經寫過一篇 Laravel 環境設定,不過因為工具上有些許變化,所以在 2022 年末將其重新整理一遍。
事先聲明,本文中所寫的環境設計題專門為了我自己的工作流而打造。如果不適合你,那你是對的,請儘管改成適合你的工作流。
蛤?PHP 字串比較還要特別寫一篇文章嗎?
會開始研究這個問題,主要是因為在 Laravel Fortify 中使用 hash_equals() 這個函式比對字串。
網路上有大量的文章探討如何使用 Laravel Queue,可惜的是,它們通常就給個 Hello World 式的範例,並未深入探討。
本篇文章會從 Laravel Queue 的實際行為上進行分析,並且著重於「失敗」的案例。
FastAPI 是一款基於 Starlette 的 Web 框架,其在 API 的開發體驗令人驚豔。
註:FastAPI 官方宣稱,得益於 Starlette 及 Pydantic,它的效能甚至能夠與 Go 比肩;然而根據 TechEmpower Web Framework Benchmarks 在 2022 年 7 月 19 日的測試,其效能約為 278 及 279 名,事實上以效能而言它位於中下游的水準。
與 Laravel 這類包山包海的全能型框架不同,FastAPI 選擇了一條「微」框架的道路,它更像是 Gin(Go) 的設計:輕量、精簡,並且在有需要時讓開發者自行安裝。這種設計很大程度給予開發者自由,甚至連資料夾結構都沒有官方預設(如果願意的話,甚至可以只靠一個 app.py 或 main.py 就建構起整個 API 服務)。
然而最讓我感到驚豔的,非屬自動 API 文件生成功能。眾所周知,工程師是種「最討厭別人不寫文件,但又不喜歡自己寫文件」的生物,FastAPI 內建由 Pydantic Model 進行自動化文件生成的功能,這能夠很大程度上減少撰寫文件的工作量。