| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 도메인설계
- REST API
- 배포
- 상태관리
- 메일자동화
- sqlite
- 보안
- javascript
- python
- electron
- 마이그레이션
- typescript
- Kotlin
- playwright
- next.js
- 온디바이스AI
- FastAPI
- github actions
- 크롤링
- React
- 인증
- 백엔드
- Vite
- contextBridge
- php
- JWT
- 프론트엔드
- Android
- 소셜로그인
- 아키텍처
- Today
- Total
목록REST API (7)
HM소프트
WordPress를 LMS로 길들이며 강의 데이터를 postmeta 대신 전용 테이블에 정규화한다. 캡 버전 가산식 동기화, map_meta_cap으로 강사 프로필 체인 소유권을 판정해 자기 강의만 편집하게 긋는 경계, 옵션 키 가드 자가 회복 마이그레이션과 중복 라우트의 조용한 실패까지 다룬다.시리즈를 시작하며한 산업군(가맹·소상공인 교육) 종사자를 위한 온라인 교육 플랫폼(LMS)을 만들었다. 강사가 강의를 만들고, 관리자가 승인하고, 수강생이 VOD로 학습하고, AI 챗봇이 법령·교안 근거로 답하고, 결제·영수증·멘토링까지 한 바퀴를 도는 종합 플랫폼이다. 토대는 WordPress, 그 위에 도메인 기능을 여러 개의 플러그인으로 쪼개 올렸다.네 편으로 나눠 기록한다. 1편은 LMS의 뼈대 — Wor..
부품 유통 관리 ERP 프로토타입을 React와 Express로 만든 기록. 회계·인사·영업·구매·재고·생산 6개 모듈 경계를 API prefix로 강제하고, 집계 전용 대시보드 엔드포인트, 인메모리 데이터 계층과 prefix ID, 다국가 통화 분리, 재고 알림 재계산과 작업지시 상태 머신, YAML 한 장 배포와 CORS·SPA rewrite까지 다룹니다.프로토타입에 ERP를 통째로 욱여넣기여러 나라에서 부품을 수입해 국내에 공급하는 유통 업무를 가정하고, 그 업무 흐름을 한 화면에서 다루는 웹 ERP 프로토타입을 만들었다. 회계·인사·영업·구매·재고·생산 — 보통 ERP라고 부르는 영역 6개를 모듈로 나눠 한 시스템에 담았다. 백엔드는 Express, 프론트엔드는 React로 짰고, 마지막에 클라우..
정답지 기반 자동 채점 엔진을 NestJS·Drizzle·BullMQ로 설계한 기록. auto_exact 정규화 정확 일치, 모범답안 기준 LLM 채점, all-or-nothing 게이트, 앵커 분류와 다중 표본 중앙값 투표, 재채점 변동 신뢰도 강등, 교사 승인 총점 재합산까지 자동화 정도를 조절한 결정들을 코드로 정리했다. 시리즈를 시작하며학습 과제를 내고, 제출을 받고, 채점하고, 결과를 돌려주는 교육용 웹 플랫폼을 만들었다. 핵심은 채점을 자동화하는 것 — 정답지 기반 자동 채점과 루브릭, 그리고 AI 채점을 엮었다.세 편으로 나눠 기록한다.(이 글) 정답지 기반 자동 채점과 루브릭대시보드 집계 버그들 — "삭제된 과제"가 만든 함정배포·운영 — Docker, 이미지 정리, 다국어특정 기관·고객 ..
NestJS 인증 계층을 전역 가드와 공개 데코레이터로 기본값 잠김 구조로 설계하고, Passport 로컬·JWT 전략과 bcrypt 해싱으로 기본 인증을 구현한 과정을 다룬다. 접근·갱신 토큰을 분리 키로 발급하고, 소셜 로그인 3종의 외부 신원을 이메일 기준으로 한 사용자로 수렴시킨 채용 플랫폼 백엔드 설계 기록이다. 시리즈를 시작하며구직자가 이력서를 쓰고, 기업이 채용 공고를 올리고, 둘을 잇는 채용 플랫폼을 만들었다. 프론트엔드·백엔드·AI 서비스가 분리된 구조라, 네 편으로 나눠 기록한다.(이 글) 백엔드 인증 — 기본 인증과 SNS 로그인이력서·자기소개서·경력기술서 — 엔티티 설계와 파일 업로드프론트엔드 — Next.js 15 + React 19, 지도 UIAI 오케스트레이터 — LLM으로 이..
FastAPI와 React 사이 경계를 다잡는다. TypeScript 인터페이스와 Pydantic 스키마를 snake_case로 글자까지 일치시켜 직렬화 버그를 없애고, axios /api 상대 경로와 Vite 프록시로 주소를 통일한다. 블로킹 SMTP를 asyncio.to_thread로 격리, 한글 폰트·OpenCV를 멀티스테이지 Docker 이미지에 봉인하고 Nginx 웹소켓 프록시까지 정리한다. 3편: 경계와 배포1편 템플릿 치환, 2편 PDF 첨부에 이어, 시리즈 마지막은 코드 위생, 프론트/백 경계, 그리고 Docker 배포다. 기능을 다 만든 뒤 "어떻게 안정적으로 굴릴 것인가"의 영역이다.프론트/백 경계 — 가장 흔한 버그의 원천2편에서도 짚었지만, 이 프로젝트에서 반복된 버그의 큰 줄기는 ..
수신자마다 다른 PDF를 붙이는 첨부 기능을 스키마·업로드·값 스캔·상태 관리·발송 다섯 단계로 쪼개 구현한다. 엑셀 한 컬럼을 매칭 키로 삼는 컬럼→값→파일 3단 구조, UUID 저장과 원본 파일명 복원, 업로드 디렉토리 누락 버그, 프론트 camelCase와 백엔드 snake_case 직렬화 불일치로 첨부가 조용히 빠지던 사고와 해결을 다룬다. 2편: 수신자별 PDF 첨부1편에서 템플릿 치환을 다뤘다. 이번 편은 이 도구에서 가장 공들인 기능이다. 단순히 같은 PDF를 모두에게 붙이는 게 아니라, 수신자마다 다른 PDF를 매칭해서 첨부한다. 예를 들어 각 거래처에 그 거래처용 견적서 PDF를 자동으로 붙이는 식이다.기능 하나지만, 프론트와 백엔드에 걸쳐 여러 조각이 맞물려야 했다. 한 번에 만들지 않..