| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 온디바이스AI
- javascript
- 소셜로그인
- 크롤링
- github actions
- python
- Vite
- 마이그레이션
- Kotlin
- 프론트엔드
- FastAPI
- electron
- php
- 인증
- next.js
- 상태관리
- Android
- typescript
- JWT
- 백엔드
- playwright
- React
- 보안
- sqlite
- 메일자동화
- 도메인설계
- contextBridge
- 배포
- 아키텍처
- Today
- Total
목록PostgreSQL (3)
HM소프트
업무 규칙을 한 곳에 두는 API 전용 백엔드를 Next.js·Prisma·PostgreSQL·Redis로 설계한다. 웹 세션·관리자 JWT와 앱 JWT·기기 바인딩이라는 두 인증을 하나의 AuthContext로 추상화하고, next build의 모듈 평가 함정과 Redis graceful degrade, 단일 응답 봉투와 DomainError까지 다룬다.시리즈를 시작하며 — 하나의 백엔드, 두 개의 클라이언트한 대규모 사업장의 통합 업무 시스템을 v2.0으로 다시 설계했다. 인사·근태·회계·교육·KPI·안전·문서·영업까지 아홉 개 업무 영역을 한 시스템에서 다루는데, v1과 v2의 결정적 차이는 클라이언트가 둘로 늘었다는 점이다. 관리자는 웹(브라우저)을, 현장 직원은 모바일 앱을 쓴다. 그런데 둘은 ..
Render 무료 플랜이 15분 뒤 잠드는 cold start를 14분 자가 핑 태스크로 막고, lifespan에 생성·취소를 묶는다. Supabase 풀러 트랜잭션 모드(6543)에선 NullPool, 직접 연결은 QueuePool로 포트 하나로 자동 분기. pool_pre_ping으로 죽은 커넥션을, 0.0.0.0·$PORT·CORS로 연결 함정을 잡는다.무료 플랜 위에 서비스를 올린다는 것1편에서 외부 화면을 긁어 데이터를 모으는 크롤러를, 2편에서 그 데이터를 사용자에게 내보내는 API·검색·인증을 다뤘다. 이번 3편은 이 백엔드를 실제로 인터넷에 띄운 배포 이야기다.전제부터 분명히 해 둔다. 이건 트래픽이 폭발하는 서비스가 아니다. 지역에 흩어진 시설 정보를 모아 검색하게 해 주는, 사용자가 아..
PostgreSQL pg_trgm trigram GIN 인덱스로 게시판·장비·연구성과 세 도메인을 한 검색창에서 찾는 통합 검색 구현. 도메인별 콘텐츠 모델 분리, 짧은 라벨은 영어 필드 병기·정적 문구는 메시지 파일로 가른 다국어 전략, Promise.all 병렬 조회, SQLite에서 PostgreSQL로 옮기며 챙긴 타입 엄격화와 cuid 키 전략까지 정리한다.PostgreSQL의 pg_trgm으로 통합 검색을 만들고 콘텐츠 모델을 설계한 과정을 정리한다. 시리즈를 시작하며연구기관의 공식 웹사이트를 만들었다. 연구 역량과 성과를 보여주고, 게시판·장비·뉴스 등을 통합 검색하고, 다국어로 제공하는 사이트다. Next.js + TypeScript 기반이고, 데이터는 PostgreSQL을 쓴다.세 편으로..