iT邦幫忙

backend相關文章
共有 221 則文章
鐵人賽 Modern Web DAY 13

技術 Day 12: 例外處理與錯誤回應設計 - 將失敗轉化為優雅的使用者體驗

從其他框架的錯誤處理談起 如果你來自 Express.js 的世界,你可能習慣了在每個路由末端加上錯誤處理中介軟體,用 next(error) 將錯誤往下傳遞。...

鐵人賽 Modern Web DAY 12

技術 Day 11: API 版本控制與向後相容 - 優雅演進的藝術

一、從破壞性變更的痛苦談起 如果你曾經維護過一個被多個客戶端使用的 API,你一定經歷過那種進退兩難的時刻。業務需求在變化,資料結構要調整,新功能要上線,但已有...

鐵人賽 Modern Web DAY 11

技術 Day 10: 授權與權限管理 - 在 Rails 中實現精細的存取控制

從認證到授權的關鍵一步 如果你來自 Express.js 的世界,你可能習慣了在每個路由中間件裡手動檢查權限。在 Spring Boot 中,你會使用 @Pre...

鐵人賽 Modern Web DAY 10

技術 Day 9: 認證系統實作 - 從零打造 JWT 認證的完整旅程

一、開場:從經驗出發 如果你來自 Node.js 的世界,你可能已經用過 Passport.js 或 jsonwebtoken。在 Express 中,你會手動...

鐵人賽 Modern Web DAY 9

技術 Day 8: ActiveRecord 進階關聯與查詢優化 - 用程式碼表達業務關係的藝術

從 ORM 的選擇說起 如果你來自 Node.js 的世界,你可能在 Sequelize、TypeORM 或 Prisma 之間做過選擇。每次建立關聯時,你需要...

鐵人賽 Modern Web DAY 8

技術 Day 7: 模型層設計與業務邏輯 - 讓程式碼說出業務的語言

開場:從分層架構的困惑說起 如果你來自 Express 的世界,你可能習慣了在 controller 或 service 層處理所有業務邏輯,model 只是簡...

鐵人賽 Modern Web DAY 7

技術 Day 6: 控制器與請求處理 - 在約定與彈性之間找到平衡點

從其他框架的經驗出發 如果你來自 Express.js 的世界,你習慣了中介軟體(middleware)的鏈式處理模式。每個請求像是通過一條流水線,你可以在任何...

鐵人賽 Modern Web DAY 6

技術 Day 5: RESTful 路由設計 - 用資源思維重新理解 Web API

如果你來自 Express 的世界,你可能習慣了自由定義路由的方式。想要一個登入端點?就寫 POST /login。需要取得用戶資料?那就 GET /getUs...

鐵人賽 Modern Web DAY 5

技術 Day 4: ActiveRecord 基礎與資料建模 - 理解 Rails 的資料哲學

如果你來自 Node.js 的世界,你可能習慣了 Sequelize 或 TypeORM 那種需要明確定義每個欄位類型的方式。在 Java 的 Spring B...

鐵人賽 Modern Web DAY 4

技術 Day 3: MVC 架構與 API 模式 - 當 View 消失後的架構重構

一、從前端分離的困惑說起 如果你來自 Express 的世界,你可能從未真正思考過 MVC。你的路由直接對應到處理函數,中介軟體串連起請求處理管線,一切看起來簡...

鐵人賽 Modern Web DAY 3

技術 Day 2: Rails 專案結構與設計哲學 - 從混沌到秩序的架構之道

一、開場:從經驗出發 如果你來自 Express.js 的世界,你可能習慣了極致的自由。每個專案的目錄結構都像是一張白紙,你可以選擇 MVC、可以選擇 Doma...

鐵人賽 Modern Web DAY 2

技術 Day 1: Ruby 語法精要 - 在 Rails 環境中理解支撐框架的語言特性

開場:從熟悉到陌生的旅程 想像你是一位經驗豐富的建築師,精通鋼筋混凝土的現代建築工法。現在,你來到了日本,準備學習傳統的木造建築技術。你會發現,雖然都是建造房屋...

鐵人賽 Modern Web DAY 1

技術 Day 0: Rails API 的真實樣貌 - 三十天轉職實戰之旅啟程

今天是我們三十天 Rails API 學習旅程的起點。作為一個擁有 Node.js、Java、Python 開發經驗的後端工程師,我將記錄從熟悉的技術棧轉換到...

徵才 【SHOPLINE 徵才】DevOps / BE (Golang) / QE / TPM

【關於工程團隊】SHOPLINE 位於台北松山區,以 SaaS 軟體耕耘電商產業。在台灣研發團隊有超過百位工程師,分為前後端、測試、數據、雲端維運等團隊,台北辦...

徵才 【SHOPLINE 招募中】Backend (RoR, Go) / Data Engineer (Batch, Streaming) / Frontend (React) / SRE / QA

【關於工程團隊】SHOPLINE 台灣研發團隊有超過百位工程師,分為前後端、測試、數據、雲端維運等團隊,台北辦公室採混合辦公模式,目前 Backend、Fron...

鐵人賽 Software Development DAY 30

技術 Day-30 | 總結&回顧 + 文章目錄

Last Day 來到最後一天啦!感謝看我文章的每一位夥伴! 回顧過去的三十天的旅程,和原本自己預設想寫的東西多了許多 "節外生枝",也有一...

鐵人賽 Software Development DAY 29

技術 Day-29 | Database - 什麼時候要使用 Redis ?

倒數兩天,來聊聊最近常使用的 Redis 和傳統資料庫的差別 ~ What is Redis Redis can be used as a database,...

鐵人賽 Software Development DAY 28

技術 Day-28 | Python - Decorator 裝飾器

昨天談完 Decorator 的原理 Closure,今天就正式進入 Decorator。 What is Decorator Decorator 是 Pyth...

鐵人賽 Software Development DAY 24

技術 Day-24 | 自動化部署的好朋友 Ansible(2) - 簡單部署 MySQL 服務

昨天介紹完 Ansible 的重要元件,今天來簡單的實作。 安裝 pip install ansible 確認安裝成功 ansible --version a...

鐵人賽 Software Development DAY 25

技術 Day-25 | Database - 刪除資料的差別 feat. TRUNCATE, DELETE, DROP

昨天在一個地方剛好看到三者的對比,今天就來比較一下三個 DB 刪除資料的方式 TRUNCATE vs. DELETE vs. DROP 在管理資料庫時,針對表(...

鐵人賽 Software Development DAY 23

技術 Day-23 |自動化部署的好朋友 Ansible

今天來介紹一下常在公司使用來部署 code 到 prod 的工具 Ansible! What is Ansible Ansible is an open sou...

鐵人賽 JavaScript DAY 19

技術 我推Day19 - 學會 TypeScript 的 using,讓程式碼優雅無壓力

用 using 關鍵字簡化你的 TypeScript 程式碼 在寫程式的過程中,除了記憶體之外,我們有時需要使用一些外部資源,比如資料庫連線、檔案操作、網路...

鐵人賽 Software Development DAY 22

技術 Day-22 | Message Queue - RabbitMQ (2) feat. Python

今天我們透過 python 來實作 RabbitMQ 安裝 Linux sudo apt-get install rabbitmq-server sudo s...

鐵人賽 Software Development DAY 21

技術 Day-21 | Message Queue - RabbitMQ

之前一直有想學其他的 Message Queue,趁這次機會和大家一起來好好瞭解 RabbitMQ What is RabbitMQ RabbitMQ 是一個開...

鐵人賽 Software Development DAY 20

技術 Day-20 | Message Queue - MQTT

工作前其實完全沒有聽過 MQTT,後來用到才開始了解他,今天來用最簡單的方式,介紹一下什麼是 MQTT ! What is MQTT? MQTT is a li...

鐵人賽 Software Development DAY 18

技術 Day-18 | Database ACID transaction(2) feat. 髒讀、不可重複讀、幻讀& Postgresql

今天接著昨天沒介紹完的 ACID Atomicity 原子性 Atomicity,指的是 transaction 是一個單一個工作單元,原子性的 transac...

鐵人賽 Software Development DAY 17

技術 Day-17 | Database ACID transaction(1)

今天來聊聊大家都耳熟能詳的 ACID 。 What is ACID ACID is an acronym that refers to the set of 4...

鐵人賽 Software Development DAY 15

技術 Day-15 | Postgres Query plan - join strategies

今天我們延續昨天,接著來看看 join strategies 的部分 Nested Loop Join Nested Loop Join 是所有策略中最簡單且...

鐵人賽 Software Development DAY 16

技術 Day-16 | Postresql 資料回收機制 - VACUUM

最近在公司剛好接觸到 Postgresql 的資料回收機制,今天就來聊聊~ VACCUM garbage-collect and optionally anal...

鐵人賽 Mobile Development DAY 12

技術 [Day12] API 與 CRUD 概念:後端開發的基本功

我們昨天成功開啟 Nest.js,並且看了一下萬年起始範例 「Hello World」。今天我們來介紹一下後端的一些基本概念。雖然說可以用 Cursor 幫我們...