React Native 實作 iOS Live Activity

Live Activity

簡單的說 iOS Live Activity 讓我們可以顯示一些當前的即時資料而不用開啟應用程式,顯著的提升用戶體驗。首次支援是在 iOS 16.1 和 iPadOS 17 ,重點是可以在鎖定螢幕、待機畫面、以及動態島即使更新顯示資訊,減少反覆開啟應用程式的次數。

  • Lock Screen 鎖定螢幕 - 喚醒 iPhone 時看到的畫面,這裡可以顯示通知 Push Notification 和 Live Activity。
  • Stand By 是 iOS 17 的時候加入的,在充電時可以顯示的區塊。
  • Dynamic Island 動態島則是 iPhone 14 Pro 開始新增的功能。

進一步我們釐清在 iOS 14 加入的 Widget 和 Live Activity 的差別。Live Activity 以提供即時資訊為核心例如追蹤某個事件的狀態,比賽分數、Uber 司機是否抵達等資訊。Widget 比較合適的情境是提供跟短時間即時性比較沒有那麼強烈關係的資料例如天氣等。

繼續閱讀

[譯]Laravel 介面最佳實作

首先,介面(Interface)是物件導向的基礎,在 Laravel 中,介面被用來定義規範 Contracts ,即規定類別 class 必須實作的方法。讓我們可以建立彈性且模組化的程式碼且容易維護和測試。

本文我們將探索如何在 Laravel 中使用介面實作,如何為 Service 定義介面,使用相依注入 DI(Dependency Injection) ,繫結 Service 到應用程式 Container

另外補充;``Factory` 工廠模式是一種建立物件的設計模式,主要用途除了生成測試資料還可以協助「相依注入」建立需要的物件。上面幾個概念將有助於我們實現更具可維護性,可讀性的程式碼。

繼續閱讀

變更 Google Cloud GKE Secrets 值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 取得 secret 列表
$ kubectl get secrets --all-namespaces

# base64 新資料
$ echo -n "<new-value>" | base64

# 更新 <key> 和使用 base64 值更新 <new-value>
$ kubectl patch secret <secret-name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/data/<key>", "value":"<new-value>"}]'

# 驗證資料是否更新
$ kubectl get secret <secret-name> -n <namespace> -o jsonpath='{.data.<key>}' | base64 --decode

# 重新部署
$ kubectl rollout restart deployment <deployment-name> -n <namespace>

Milvus 入門

Milvus 創立於 2019 年,它只有一個目標:儲存、索引和管理由深度神經網路和其他機器學習(ML)模型所產生的龐大嵌入向量資料。是一個專門用於管理大量嵌入向量的開源向量資料庫。它可以對萬億規模的向量資料進行索引和搜尋。

與現有的、主要根據預先定義模式處理結構化資料的關聯式資料庫不同,Milvus 從一開始就是設計來處理從非結構化數據轉換而來的嵌入向量。

繼續閱讀

Laravel Passport 和 OAuth2

Laravel Passport 提供了 Laravel 應用程式完整的 OAuth2 伺服器實作整合。Passport 是基於 League OAuth2 Server 套件建置。

如果您還不知道何謂 OAuth2,在繼續之前,請先熟悉 OAuth2 的一般術語和功能。

參考資源

繼續閱讀

Zero2Hero:部署 Laravel 10 到 GKE

本文僅針對 macOS 環境,全文目標為部署一個 Laravel 10 專案至 GKE。

  • 使用 GKE 運行 Laravel 應用程式
  • 使用 Google ManagedCertificate 自動管理 SSL 憑證
  • 使用 Cloudfare 作為反向代理並使用 SSL 完整或嚴格模式
繼續閱讀

Next.js 如何優化匯入函式庫

加速 40% 冷啟動和 28% 建置速度

在 Next.js 最新版本,官方優化了套件匯入,改善了本地開發的效能和正式環境冷啟動的速度。特別適用於使用大型的 Icon ,元件庫,或其他重複 Export 大量模組的相依套件。

繼續閱讀

[譯] Next.js 13 vs Remix 深入解析

原文連結
備註:本文有略微簡化原文內容並提供一些補充,目標提供一個較簡化流暢容易理解的版本。另外本文改寫了 tsx 的範例希望能更容易了解觀念。

提到建置網頁應用程式,React 已經成為主流好一陣子了(目前 2023),並且採用率持續在上升。常見搭配 React 開發網站的方式中,Next.js 是比較主流的選項之一。

自從去年他們發佈了 App Router 等重大更新以來也一直備受關注。新的路由架構採用了嵌套佈局(Nested Layouts)並緊密整合了 React Server ComponentSuspense

繼續閱讀