- [book] 系統設計面試指南(1)
- Lambda & Serverless hands-on lab
- Lambda & Serverless實作
- AWS Solution Architect Professional
- ReactFlow
- React Query
- EKS or CKA (low priority)
Meticulous libraries in Angular and React
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", |
| 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; |
| 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 |