在 Livewire 中使用 CKEditor 所遇到的各種問題

中秋連假,一時心血來潮想要把部落格中所有頁面都改為使用 Livewire。這次將部落格中新增文章與更新文章的部分改為使用 Livewire,原本以為很簡單,結果沒想到整合 Livewire  與 CKEditor 5 的問題比想像中還要來得...

更改存放部落格圖片的 S3 Bucket 名稱

最近沒事想找事做,想更改用來放置部落格圖片 S3 bucket 的名稱,若要問為什麼的話…原來部落格的網域是使用 recodeblog.com,後來覺得不夠帥改成了 docfunc.com,雖然部落格網域已更改,但卻沒有更改原本用來放置文...

使用 GitHub Action 來做簡單的 CI/CD

CI/CD,是由兩個詞彙,持續整合 (Continuous Integration) 與持續交付 (Continuous Deployment) 組合而來:CI (Continuous Integration),意即持續整合,在這個階段會建立一個正式環境的副本並進行自動測試,確保程...

簡單介紹 Laravel 的服務容器

Laravel 提供一種名為服務容器(Service Container)的工具,用來管理類與類之間的依賴與依賴注入。但在介紹服務容器之前,先來介紹一下什麼是依賴?什麼是依賴注入?什麼是依賴?如果一個A類中的方法需要使用到B...

將部落格從 Bootstrap 5 改版至 Tailwind CSS 的心得

又發了一篇關於前端的文章,真的是不務正業的後端 😅,但分類在日常分享應該沒關係吧?講古一下,雖然不是很重要 😂。其實這個部落格最一開始,是參考 Laravel China 的課程,使用 Laravel 6 與 Bootstrap 4 開發的...

避免 Laravel ORM 的 N+1 問題

目前大多框架都會使用 ORM (Object Relational Mapping,物件關係對映) 的方式與資料庫進行互動,ORM 的用途,是將關聯式資料庫的資料表,對應到應用程式中的物件,對資料庫的操作都會使用複雜的物件包裝好並模組化...

在 Laravel ORM 中,使用 AND 與 OR 組合 WHERE 條件的小技巧

有時候在撈取資料表資料的時候,因為 WHERE 條件較為複雜,可能需要使用多個 AND 或是 OR 才能撈取到我們想要的資料。假設我們的 WHERE 過濾條件如下。WHERE ('sex' = 'male' AND age > 18) OR ('sex' = 'female'...

Laravel ORM 的新功能,One of Many

在 Laravel 8.42 版本中,新增了一個蠻有趣的語法 One of Many。可以用來找出一對多關聯中,再「多」裡面「最新」的那一筆紀錄,並建立一對一關聯。簡單舉個例子,以部落格文章 (Post) 與留言回覆 (Reply) 舉例。一...

PurgeCSS,清除沒有使用到的 CSS

最近開始在學習 Tailwins CSS,Tailwind CSS 有一個很讚的功能,就是使用 PurgeCSS 去清除沒有使用到 CSS class name,將 CSS 檔案進行大幅度的瘦身。此時小弟我有一個念頭。「PurgeCSS 可不可以幫 Bootstrap 的 CSS...

用 Laravel Sail 來建置 Laravel 開發環境

在建置 Laravel 的開發環境上,官方與非官方都有提供非常多的方式。在 MacOS 上,有輕量級的開發環境 Laravel Valet,之前也有發過一篇文章簡單介紹如何使用。在 Windows 上,雖然沒有 Valet 可以使用,但依然有許多...