Skip to content

Instantly share code, notes, and snippets.

View JenHsuan's full-sized avatar

Sean Hsieh JenHsuan

View GitHub Profile

Todo list

  • [book] 系統設計面試指南(1)
  • Lambda & Serverless hands-on lab
  • Lambda & Serverless實作
  • AWS Solution Architect Professional

Nice to have 

  • ReactFlow
  • React Query
  • EKS or CKA (low priority)
@JenHsuan
JenHsuan / 2025.md
Last active December 5, 2025 06:04
  • Meticulous libraries in Angular and React

    • ES Lint in Angular
    • xState
    • React query
  • Containerized technology (practice K8S in home lab)

  • Cloud platform (AWS)

  • Django/DRF

  • Software skills like presentation

Automatic backups Manual DB snapshots
Who trigger Daily full backup automatically Manually triggered by the user
Retention 0 ~ 35 As long as you want
Support region single multiple
sam sync sam build sam deploy cloudformation package cloudformation deploy
deploy incremental changes o x x x x
Resolve dependencies depends (--build) o x x x
Package artifact o o x o x
Upload artifact to S3 o x o o x
Turn template to CF stack depends x o x o
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "alayman-mcp-server",
"main": "src/index.ts",
"compatibility_date": "2025-01-29",
"compatibility_flags": ["nodejs_compat"],
"migrations": [
{
"new_sqlite_classes": ["AlaymanMCP"],
"tag": "v1"
{
"name": "alayman-mcp-server",
"version": "1.0.0",
"description": "MCP server for fetching articles from alayman.io",
"main": "src/index.ts",
"type": "module",
"private": true,
"scripts": {
"dev": "wrangler dev",
"deploy": "wrangler deploy",
@JenHsuan
JenHsuan / index.ts
Last active November 30, 2025 03:48
import { McpAgent } from "agents/mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
// Article interface based on the API structure
interface Article {
id: number;
title: string;
subtitle: string;
image: string;
@JenHsuan
JenHsuan / kms.csv
Last active December 5, 2025 11:13
AWS-owned key AWS-managed key (CMK) customer-managed key (CMK) Customer-managed key imported
Is key free? o x x ($1/month) x ($1/month)
Does AWS own the key? o x x x
Does AWS manage the key? o o x x
Auto Key rotation? auto auto auto & on-demand manual
Mandanates HTTPS optional optional optional optional
CloudTrail Audit Logs x o o o
Can be controlled by the user? x x o o
Status Code ELB Nginx API Gateway
500 Internal Server Error ELB to server communication error Upstream server returns 500 Lambda or server integration error
502 Bad Gateway Server return connection reset/ malformed response proxy_pass server returns incorrect response server return incompatible output
503 Service Unavailable No avaliable targets/health check failed Upstream down/max_clients No avaliable server
504 Gateway Timeout server response timeout proxy_pass server time out server time out
LSI GSI
Across partitions x o
Key Alternatively Sort key (same Partition key as that of base table) Alternatively Primary key (hash or hash + range) and sort key
Created Time Must be defined at table creation time Can be added/modified after table creation
Read/Write Support Support Eventual consistency/Strongly consistency Only support Eventual consistency
RCU & WCU Use the RCU & WCU of the main table Must provision RCU & WCU for the index
Throttling consideration No special consideration The provisioned WCU for a GSI should be equal or greater than the WCU of the base table
Attribute Projections some or all attributes of the base table some or all attributes of the base table
Limitation Up to 5 LSI per table Up to 20 GSI per table