backend-engineer
npx skills add https://github.com/bdq460/shell-format --skill backend-engineer
Agent 安装分布
Skill 文档
å端工ç¨å¸
æ¬skillæå¯¼å¦ä½ç解产åéæ±ï¼å®ç°å端æå¡åè½ï¼æå»ºä¸å¡é¢ååæ°æ®å¤çé»è¾ã
使¶ä½¿ç¨æ¬Skill
å½å端工ç¨å¸éè¦å®ç°å端åè½æ¶ä½¿ç¨ï¼ä¾å¦ï¼
- “ææ¯å端工ç¨å¸ï¼éè¦å®ç°å端åè½…”
- “æéè¦è®¾è®¡æ°æ®åºåAPI…”
- “请帮æå®ç°è¿ä¸ªå端æå¡…”
æ ¸å¿èè´£
1. éæ±çè§£
- ç解产åéæ±ååè½è§æ ¼
- çè§£ä¸å¡é¢å
- çè§£ä¸å¡æµç¨
2. ä¸å¡å®ä½è¯å«
- è¯å«ä¸å¡å®ä½
- åæå®ä½å ³ç³»
- å»ºç«æ°æ®æ¨¡å
3. é¢åæå»º
- æå»ºä¸å¡é¢å模å
- 设计é¢åæå¡
- 设计é¢åäºä»¶
4. å端æå¡å®ç°
- å®ç°APIæ¥å£
- å®ç°ä¸å¡é»è¾
- å®ç°æ°æ®å¤ç
5. æ°æ®æä¹ å
- è®¾è®¡æ°æ®åºè¡¨ç»æ
- å®ç°æ°æ®è®¿é®å±
- å®ç°æ°æ®ç¼å
å ³é®æè½
åç«¯ææ¯
- å端ç¼ç¨è¯è¨ï¼Java/Python/Go/Node.jsï¼
- æ¡æ¶ï¼Spring Boot/Django/Expressï¼
- æ°æ®åºï¼MySQL/PostgreSQL/MongoDBï¼
ä¸å¡å»ºæ¨¡è½å
- ä¸å¡å®ä½è¯å«
- ä¸å¡é¢å建模
- æ°æ®å»ºæ¨¡
æ¶æè½å
- å屿¶æ
- é¢å驱å¨è®¾è®¡ï¼DDDï¼
- å è¾¹å½¢æ¶æ
ä¼åè½å
- æ§è½ä¼å
- æ°æ®åºä¼å
- ç¼åä¼å
è¾å ¥ç©
- 产ååè½æ¸ å
- åè½è§æ ¼è¯´æ
- æ°æ®æ¨¡åå¾
- APIææ¡£
交ä»ç©
- å端æå¡ä»£ç
- APIææ¡£
- æ°æ®åºè®¾è®¡ææ¡£
- åç«¯ææ¡£
è´¨éæ å
- â åè½å®ç°å®æ´
- â 代ç è´¨éé«
- â æ§è½è¯å¥½
- â ç¬¦åæ¶æè¦æ±
工使µç¨
- éæ±æ¥æ¶ï¼æ¥æ¶äº§ååè½æ¸ åãåè½è§æ ¼è¯´æãæ°æ®æ¨¡åå¾
- éæ±çè§£ï¼æ·±å ¥ç解产åéæ±åä¸å¡æµç¨
- ä¸å¡åæï¼è¯å«ä¸å¡å®ä½ï¼å»ºç«æ°æ®æ¨¡å
- é¢åæå»ºï¼æå»ºä¸å¡é¢å模å
- æ¥å£è®¾è®¡ï¼è®¾è®¡APIæ¥å£
- æå¡å®ç°ï¼å®ç°å端æå¡
- æ°æ®æä¹ åï¼è®¾è®¡æ°æ®åºï¼å®ç°æ°æ®è®¿é®å±
- æ§è½ä¼åï¼ä¼åæ§è½
- æµè¯éªè¯ï¼è¿è¡åå æµè¯åéææµè¯
- ä»£ç æäº¤ï¼æäº¤ä»£ç ï¼è¿è¡ä»£ç è¯å®¡
工使µç¨å¾
graph LR
A[åè½è§æ ¼] -->|éæ±çè§£| B[ä¸å¡åæ]
B -->|å®ä½è¯å«| C[ä¸å¡æ¨¡å]
C -->|DDD建模| D[é¢å驱å¨è®¾è®¡]
D -->|API设计| E[APIè§æ ¼è¯´æ]
E -->|æå¡å®ç°| F[ä¸å¡é»è¾å®ç°]
F -->|æ°æ®åºè®¾è®¡| G[è¡¨ç»æè®¾è®¡]
G -->|æ°æ®è®¿é®å±| H[ORMå®ç°]
H -->|ç¼åä¼å| I[ç¼åå±]
I -->|æ§è½ä¼å| J[æ¥è¯¢ä¼å]
J -->|åå
æµè¯| K[æµè¯è¦ç]
K -->|éææµè¯| L{éè¿?}
L -->|æ¯| M[代ç è¯å®¡]
L -->|å¦| N[ä¿®å¤é®é¢]
N -->|è°æ´| F
M -->|åå¹¶| O[æäº¤å°æµè¯]
åä½å ³ç³»
- åä¸å¯¹æ¥ï¼äº§åä¸å®¶ãææ¯æ¶æå¸
- å¹³è¡å¯¹æ¥ï¼å端工ç¨å¸ãæµè¯äººå
å端å¼åæ¹æ³è®º
æ¹æ³1: é¢å驱å¨è®¾è®¡ï¼DDDï¼
- è¯å«é¢åååå
- 建ç«é¢å模å
- 设计èååå®ä½
- 设计é¢åæå¡åäºä»¶
æ ¸å¿æ¦å¿µï¼
- èåï¼ä¸è´æ§è¾¹çï¼ä¿è¯æ°æ®ä¸è´æ§
- å®ä½ï¼æå¯ä¸æ è¯ç对象
- å¼å¯¹è±¡ï¼æ å¯ä¸æ è¯ç对象
- é¢åæå¡ï¼ä¸å±äºç¹å®å®ä½æå¼å¯¹è±¡çä¸å¡é»è¾
- é¢åäºä»¶ï¼è¡¨ç¤ºé¢åå åççéè¦äºä»¶
æ¹æ³2: å è¾¹å½¢æ¶æ
- å离é¢åå±ååºç¨å±
- 使ç¨ç«¯å£åéé å¨
- è§£è¦ä¸å¡é»è¾åå¤é¨ä¾èµ
屿¬¡ç»æï¼
- é¢åå±ï¼ä¸å¡é»è¾ãå®ä½ãå¼å¯¹è±¡ãé¢åæå¡
- åºç¨å±ï¼åºç¨æå¡ãç¨ä¾ãé¢åäºä»¶
- éé å¨å±ï¼æ¥å£éé ãæä¹ åéé ãæ¶æ¯éé
- åºç¡è®¾æ½å±ï¼å¤é¨ä¾èµãæ¡æ¶ãå·¥å ·
ä¾èµæ¹åï¼å¤é¨ä¾èµ â éé å¨å± â åºç¨å± â é¢åå±
æ¹æ³3: RESTful API设计
- 使ç¨RESTful飿 ¼
- 设计åççèµæºè·¯å¾
- 设计æ åçHTTPæ¹æ³
- è®¾è®¡æ¸ æ°çé误å¤ç
HTTPæ¹æ³ï¼
- GETï¼è·åèµæº
- POSTï¼åå»ºèµæº
- PUTï¼æ´æ°æ´ä¸ªèµæº
- PATCHï¼é¨åæ´æ°èµæº
- DELETEï¼å é¤èµæº
æ°æ®åºè®¾è®¡
æ°æ®åºéæ©
- å ³ç³»åæ°æ®åºï¼MySQL/PostgreSQLï¼ï¼éåç»æåæ°æ®ãäºå¡è¦æ±é«çåºæ¯
- ææ¡£åæ°æ®åºï¼MongoDBï¼ï¼éåéç»æåæ°æ®ãçµæ´»schemaçåºæ¯
- ç¼åæ°æ®åºï¼Redisï¼ï¼éåç¼åãä¼è¯åå¨çåºæ¯
表设计åå
- è§èåï¼éµå¾ªç¬¬ä¸èå¼ï¼é¿å æ°æ®åä½
- ç´¢å¼ï¼ä¸ºæ¥è¯¢å段å建索å¼
- å表ååºï¼å¤§æ°æ®éæ¶èèå表ååº
- 软å é¤ï¼ä½¿ç¨æ è®°åæ®µè¡¨ç¤ºå é¤
常è§è¯¯åº
â 误åº1: åªå ³æ³¨ææ¯å®ç°ï¼ä¸å ³æ³¨ä¸å¡é»è¾ â æ£ç¡®: ææ¯åä¸å¡å¹¶éï¼ä¼å èèä¸å¡é»è¾
â 误åº2: ä¸èèæ§è½ï¼åªå ³æ³¨åè½å®ç° â æ£ç¡®: å¨å®ç°åè½çåæ¶èèæ§è½ä¼å
â 误åº3: ä¸èèæ©å±æ§ï¼åªå ³æ³¨å½åéæ± â æ£ç¡®: å¨è®¾è®¡æ¶èèç³»ç»çæ©å±æ§
æåæ¡ä¾
æ¡ä¾1: æ¥è¡¨å¯¼åºåè½å端å®ç°
åè½éæ±: 导åºé宿°æ®ä¸ºExcel
å®ç°æ¥éª¤:
-
ä¸å¡å®ä½è¯å«:
- éå®è®°å½ï¼SalesRecordï¼
- 产åï¼Productï¼
- 客æ·ï¼Customerï¼
- éå®åï¼Salespersonï¼
-
é¢åæå»º:
- SalesRecordèåï¼å å«é宿ç»ï¼
- ReportServiceï¼å¯¼åºæ¥è¡¨æå¡ï¼
- ExportJobï¼å¯¼åºä»»å¡ï¼
-
API设计:
- POST /api/reports/export – å建导åºä»»å¡
- GET /api/reports/export/{jobId} – æ¥è¯¢å¯¼åºä»»å¡ç¶æ
- GET /api/reports/export/{jobId}/download – ä¸è½½å¯¼åºæä»¶
-
æå¡å®ç°:
- ReportService.exportSalesData() – 导åºé宿°æ®
- 导åºåæ°éªè¯ï¼æ¥æèå´ã产ååç±»ãå°åºï¼
- æ°æ®æ¥è¯¢åè¿æ»¤
- æ°æ®è½¬æ¢ä¸ºExcel
- ä¿åå°æä»¶æå¡å¨
-
弿¥å¤ç:
- ä½¿ç¨æ¶æ¯éåå¤ç导åºä»»å¡
- å®ç°å¯¼åºè¿åº¦è·è¸ª
- å®ç°å¯¼åºå®æéç¥
ææ¯å®ç°:
- 使ç¨Java + Spring Boot
- 使ç¨JPAè¿è¡æ°æ®è®¿é®
- 使ç¨Apache POIçæExcel
- 使ç¨RabbitMQå¤ç弿¥ä»»å¡
- 使ç¨Redisç¼åæ¥è¯¢ç»æ
æ¡ä¾2: æç´¢åè½å端å®ç°
åè½éæ±: 产åæç´¢åè½
å®ç°æ¥éª¤:
-
ä¸å¡å®ä½è¯å«:
- 产åï¼Productï¼
- 产ååç±»ï¼ProductCategoryï¼
- åçï¼Brandï¼
-
é¢åæå»º:
- Productèå
- SearchServiceï¼æç´¢æå¡ï¼
- SuggestionServiceï¼æç´¢å»ºè®®æå¡ï¼
-
API设计:
- GET /api/search?q=keyword – æç´¢äº§å
- GET /api/search/suggestions?q=keyword – æç´¢å»ºè®®
- GET /api/search/popular – çé¨æç´¢
-
æå¡å®ç°:
- SearchService.search() – æç´¢äº§å
- æ¯æç²¾åæç´¢åæ¨¡ç³æç´¢
- æ¯æå¤å段æç´¢ï¼åç§°ãSKUãè§æ ¼ï¼
- æ¯ææåºåå页
-
æ§è½ä¼å:
- 使ç¨Elasticsearchæç´¢å¼æ
- å®ç°æç´¢ç»æç¼å
- å®ç°çé¨æç´¢ç¼å
ææ¯å®ç°:
- 使ç¨Python + Django
- 使ç¨Django ORMè¿è¡æ°æ®è®¿é®
- 使ç¨Elasticsearchè¿è¡æç´¢
- 使ç¨Redisç¼åæ¥è¯¢ç»æ
- 使ç¨Celeryå¤ç弿¥ä»»å¡
ä½¿ç¨æå
å½ç¨æ·è¯´”ææ¯å端工ç¨å¸ï¼éè¦å®ç°å端åè½…”æ¶ï¼æç §ä»¥ä¸æ¥éª¤å¼å¯¼ï¼
- éæ±æ¥æ¶ï¼æ¥æ¶äº§ååè½æ¸ åãåè½è§æ ¼è¯´æãæ°æ®æ¨¡åå¾
- éæ±çè§£ï¼æ·±å ¥ç解产åéæ±åä¸å¡æµç¨
- ä¸å¡åæï¼è¯å«ä¸å¡å®ä½ï¼å»ºç«æ°æ®æ¨¡å
- é¢åæå»ºï¼ä½¿ç¨DDDæ¹æ³æå»ºä¸å¡é¢å模å
- æ¥å£è®¾è®¡ï¼è®¾è®¡RESTful APIæ¥å£
- æå¡å®ç°ï¼å®ç°å端æå¡åä¸å¡é»è¾
- æ°æ®æä¹ åï¼è®¾è®¡æ°æ®åºï¼å®ç°æ°æ®è®¿é®å±
- æ§è½ä¼åï¼ä¼åæ°æ®åºæ¥è¯¢ãå®ç°ç¼å
- æµè¯éªè¯ï¼è¿è¡åå æµè¯åéææµè¯
- ä»£ç æäº¤ï¼æäº¤ä»£ç ï¼è¿è¡ä»£ç è¯å®¡
è¾åºè´¨éæ£æ¥æ¸ å
å¨æäº¤å端代ç ä¹åï¼æ£æ¥ä»¥ä¸é¡¹ç®ï¼
- åè½å®ç°å®æ´
- 代ç è´¨éé«ï¼éµå¾ªä»£ç è§èï¼
- ä¸å¡é»è¾æ£ç¡®
- æ°æ®åºè®¾è®¡åç
- API设计è§è
- æ§è½è¯å¥½ï¼æ¥è¯¢ä¼åãç¼åï¼
- é误å¤çå®å
- å®å ¨æ§èèï¼SQLæ³¨å ¥ãXSSçï¼
- åå æµè¯è¦ççé«