使用 Docker-Compose 部署 Next.js 應用程式
將 Next.js 應用程式容器化是一種高效的開發方式,因為它提供了更具隔離性和可重現的環境。在部屬的時候可以省下一些重複的工作。在本篇文章中,我將介紹如何使用 Docker 和 Docker-Compose 快速建立與執行 Next.js 應用程式。讓我們一步步實作,從建立專案到成功啟動。 1. 建立 Next.js 專案首先,我們需要建立一個 Next.js 應用程式。執行以下指令: 1npx create-next-app docker-next 執行完畢後,將會建立一個名為 docker-next 的資料夾。 進入該資料夾: 1cd docker-next 2. 建立 Dockerfile在 docker-next 資料夾中,新增一個名為 Dockerfile 的檔案,並填入以下內容: 1234567891011FROM node:20WORKDIR /appCOPY package.json ./RUN npm installCOPY . .CMD ["npm", "run",...
命名這檔事:snake_case、camelCase 與 kebab-case 的選擇之道
https://juniortoexpert.com/en/naming-convention/ 在程式開發中,清晰、一致的命名風格對於程式碼的可讀性與維護性至關重要。本文將介紹三種常見的命名規則:snake_case、camelCase 和 kebab-case,並說明它們的使用場合及特性。 命名規則簡介snake_case定義:單詞之間以底線(_)分隔,所有字母均小寫。範例: user_name sell_power_request start_date常見應用: Python 和 Ruby 中的變數和函式名稱。 資料庫欄位名稱(如 SQL)。 用於增加可讀性,特別適合需要簡潔和規則分明的環境。 camelCase 定義:第一個單詞小寫,後續每個單詞首字母大寫,單詞之間不使用任何分隔符,看起來像是駝峰一樣,可以進一步細分為 upper camel case,與lower camel case 差別在於開頭第一個字是否為大寫 範例: userName sellPowerRequest startDate 常見應用: JavaScript、Java、C#...
資料庫:Ubuntu 使用 PostgreSql,搭配 pgAdmin4 圖形化介面操作
我在之前專案都是習慣使用 MySQL 做開發,在新專案中,我們選擇 PostgreSQL 作為主要資料庫管理系統,它具有強大的 ACID 特性和可擴展性。為了便於管理資料庫,我使用 pgAdmin4 作為圖形化界面操作,本文將分享如何在 Ubuntu 上安裝 PostgreSQL 以及 pgAdmin4 的基本設定方法。 什麼是 PostgreSQL? https://www.postgresql.org/ PostgreSQL(常縮寫為 Postgres)是一個功能強大的開源關聯式資料庫管理系統(RDBMS)。它由加州大學柏克萊分校於 1986 年開發而來,並且自 1996 年正式以 PostgreSQL 名稱發布。PostgreSQL 以其高穩定性、豐富的功能和開放的社群支持而聞名,成為眾多企業和開發者在建構資料密集型應用時的首選。 PostgreSQL 的核心功能 完全的 ACID 支援PostgreSQL 遵循...
GCP - 儲存選擇 Block Storage 與 File Storage 的應用與比較
在 Google Cloud Platform (GCP) 上,雲端儲存解決方案分為多種類型,以滿足不同的工作負載需求。其中,Block Storage 和 File Storage 是兩種非常常見的儲存類型,分別適用於不同的應用場景。本文將簡單介紹它們的特點、適用場景,以及在 GCP 中的具體服務。 以下是Google Cloud Storage Options 官方指南 https://cloud.google.com/products/storage/?hl=zh-TW 什麼是 Block Storage?以下是Google cloud 區塊儲存空間官方說明文件 https://cloud.google.com/products/block-storage?hl=zh-TW Block Storage(區塊存儲) 是將數據分割成固定大小的區塊,並將每個區塊單獨儲存和管理的一種存儲方式。這種存儲方法類似於傳統的硬碟驅動器,因為每個區塊都可以被單獨存取,並且不需要依賴整個文件結構來讀取數據。這使得 Block Storage...
GCP - 深入解讀 GKE Kubernetes 中的 Service 概念與應用
今天要來跟大家分享Kubernetes的 Service設定,這篇是我在學習Kubernetes的時候看到官方文件的資料整理。 在 Kubernetes 中,Service 是一個重要的資源,它提供了一個抽象層,將動態變化的 Pod 集合與外部或內部網路的請求進行連接。 在 Google Kubernetes Engine (GKE) 上使用 Service,可以讓我們更靈活地管理和分配應用的流量,並提升應用的可用性和擴展性。 本文將帶你深入了解 Kubernetes Service 的類型、其如何運作,以及在 GKE 上如何使用這些 Service。 以下是官方Kubernetes 的服務介紹文件 https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/#type-clusterip 什麼是 Kubernetes Service?Kubernetes 中的 Pod 是應用程序的基本運行單元,但 Pod 的生命週期短暫,IP...
GCP - 儲存服務與資料庫工具整理與選擇整理
GCP的儲存服務與 GCP的資料庫 Google 推出了很多種儲存跟資料庫的服務,選擇合適的儲存解決方案對於確保應用程式的效能與可擴展性至關重要。Google Cloud Platform (GCP) 提供了多樣化的儲存產品,每種產品針對不同的應用場景與需求進行了優化。今天將透過一個決策流程,幫助您快速理解並選擇適合的 GCP 儲存方案。 大家可以在下面這個網址找到GCP具體總共有哪些服務與圖示 https://googlecloudcheatsheet.withgoogle.com/ GCP 有哪些儲存服務與資料庫工具? Cloud Storage Cloud Storage 是 Google Cloud 提供的物件存儲解決方案,適合儲存大量的非結構化數據,如圖片、影片、備份文件等。它具備高度耐久性和可擴展性,適合需要長期存儲和全球訪問的應用程式。 Cloud Bigtable Cloud Bigtable 是一個高效能的 NoSQL...
GCP - 權限控管功能 Identity and Access Management (IAM)
在 Google Cloud Platform(GCP)中,Identity and Access Management (IAM) 是一個核心的安全性功能,它用來控制誰可以訪問什麼資源。IAM 提供精細的權限控制,允許組織為每個資源設置適當的存取權限,並確保數據安全。 >https://cloud.google.com/security/products/iam?hl=zh-tw 什麼是 IAM?>https://cloud.google.com/security/products/iam?hl=zh-tw GCP IAM 是一種基於角色的訪問控制系統,通過定義特定的角色和權限,讓使用者、群組或應用程式擁有恰當的資源存取權限。它透過以下三個基本元素來實現訪問控制: **身份 (Identity)**:可以是使用者、群組、服務帳號等。 **角色 (Role)**:權限的集合,用來授予身份訪問特定 GCP 資源的權限。 **資源 (Resource)**:GCP 上的任何可管理物件,如 Compute Engine VM、Cloud Storage...
TFT聯盟戰旗 - 7邪術使魔鬥凱薩
今天要跟大家介紹的陣容是高邪術使魔鬥凱薩,爭其我發現高邪術使的好處是可以保血量,加上有妮可跟卡莎碧雅可以開出女巫+變形師+咒術師3羈絆,強度很高而且後期有機會湊出10邪術使拉高很多上限。 陣容組成魔鬥凱薩泯殺獲得會在接下來2秒內遞減的 300 / 350 / 400 護盾,並猛擊目標,對2格的直線距離內造成 180 / 270 / 430 魔法傷害。獲得12%傷害增幅,持續到戰鬥結束。 魔鬥是在前期的主坦,續戰力很強推薦裝備: 好戰者鎧甲+龍之爪 星朵拉超凡入聖在目標位置召喚一道裂隙,造成[ 220 / 330 / 495 ] (AP)魔法傷害和20%削抗,持續6秒。此技能會隨著施放次數的增加而升級。(總施放次數:3次) 15施放:與目標相鄰的敵軍將受到削抗並受到[ 110 / 165 / 245 ] (AP)魔法傷害。30+ 施放:每施放30次,在附近敵軍的位置額外生成一道裂隙,造成30%傷害。...
TFT聯盟戰旗 - 陣容介紹變形師龍族納瑟斯
今天要跟大家介紹的陣容是變形師龍族整體下來坦克很多,且後期有布蕾爾可以一直變強,但是我覺得中期的物理輸出爆發不夠,常常會沒有辦法第一時間灌倒對方前排坦克 陣容組成納瑟斯地獄犬從最靠近的[ 3 / 4 / 10 ]名敵軍身上分別偷取總共[ 300 / 480 / 5000 ]生命。之後每次施放改為治療[ 250 / 300 / 900 ] (AP)生命並對目標造成[ 165 / 297 / 610 ] (HP)物理傷害。 狗頭是主要的核心英雄 建議道具:石像鬼磐核+好戰者鎧甲 布蕾爾必死無疑 跳躍至最多敵軍聚集處,對2格內的敵軍造成[ 65 / 98 / 731 ] (AD)物理傷害,並使其暈眩,持續1.25秒。接著進入狂熱狀態,獲得[ 75 / 75 / 666 ]% (AP)攻速、[ 15 / 15 / 100 ]%全能吸血,並對目標和鄰近敵軍造成[ 26 / 39 / 293 ]...
GCP - 身分識別管理工具 Identity-Aware Proxy (IAP)
隨著雲端應用的普及,安全性成為各企業不可忽視的重要議題。Google Cloud Platform(GCP)提供了眾多安全性工具,而其中一個強大的功能就是 Identity-Aware Proxy(IAP)。IAP 透過基於身份的存取控制來保護應用程式,確保只有授權用戶可以存取特定的應用或服務。 以下是GCP Identity-Aware Proxy(IAP)的官方介紹文件 https://cloud.google.com/security/products/iap?hl=en 什麼是 Identity-Aware Proxy?Identity-Aware Proxy 是 GCP 提供的一項服務,允許您基於使用者身份來控制應用或虛擬機器的存取權限。IAP 讓傳統的防火牆概念更進一步,將網路安全保護由 IP 位址轉移到使用者身份層級,這有助於確保您的資源能夠被正確的使用者存取,而不需要暴露在網路中。 核心功能基於身份的存取控制 IAP 使用 Google Account...