| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- FastAPI
- next.js
- 백엔드
- 온디바이스AI
- Android
- Kotlin
- 크롤링
- 상태관리
- javascript
- python
- 보안
- React
- php
- contextBridge
- typescript
- 소셜로그인
- 프론트엔드
- 메일자동화
- electron
- 마이그레이션
- 도메인설계
- github actions
- JWT
- 아키텍처
- 인증
- 배포
- Vite
- sqlite
- REST API
- playwright
- Today
- Total
목록php (7)
HM소프트
Laravel 모놀리스로 취향 큐레이션 커머스의 골격을 잡은 기록. 구매자·큐레이터·관리자 멀티롤 권한을 enum과 미들웨어로 나누고, 퀴즈 답을 무드 프로필로 환산하는 추천 엔진, 결제 위젯 v2 키 함정, 금액 위·변조 차단과 정산 어댑터 설계를 다룬다.시리즈를 시작하며취향과 감성을 입력받아 상품을 추천하고, 사람 큐레이터가 직접 상품을 골라 코멘트를 붙이는 — 그런 취향 큐레이션 커머스를 만들었다. 같은 제품 컨셉을 다른 스택으로 구현해 본 적도 있는데, 이번 시리즈는 Laravel + Blade 모놀리스 구현 관점의 기록이다. SPA 프레임워크를 따로 두지 않고, 서버 사이드 렌더링 한 코드베이스에서 구매자·큐레이터·관리자 세 화면을 전부 처리했다.특정 서비스명·브랜드명·결제사·정산사 실명은 전부..
PHP 8.1과 SQLite(PDO)로 클론하면 바로 도는 0-setup 브랜드 사이트를 만든다. 첫 요청이 곧 설치 과정이 되는 db() 함수, CREATE TABLE IF NOT EXISTS 스키마, 버전 플래그로 운영 DB까지 따라잡는 멱등 마이그레이션이 뼈대다. c() 헬퍼로 코드에서 문구를 분리해 관리자 폼이 스스로 그려지게 하고, DB-override 패턴으로 안전한 기본값과 유연한 변경을 통일한다.시리즈를 시작하며한 사회적기업의 브랜드 소개 웹사이트를 만들었다. 브랜드 스토리, 활동 소개, 제품 상세, 소식(news), 임팩트 통계를 보여주고, 운영자가 콘텐츠를 직접 고치는 사이트다. 스택은 단순하다. PHP 8.1 + SQLite(PDO), 프레임워크 없음, 빌드 도구 없음. php -S로..
멘토 가용일정에서 예약 슬롯을 계산하고 화상회의 URL 수동 입력을 1급 기능으로 둔다. 양방향 리뷰, 알림톡 실패 시 이메일 폴백, 토큰을 브라우저에 노출하지 않는 서버사이드 OAuth 코드 플로우와 state CSRF, wp-cron 누락·아웃바운드 IP 불일치 같은 배포의 조용한 실패까지 다룬다.4편: 사람을 잇고, 안정적으로 띄우기시리즈 마지막이다. 1편 LMS, 2편 챗봇, 3편 결제·법률에 이어, 이번엔 사람 대 사람을 잇는 멘토링, 알림이 확실히 닿게 하는 폴백, 보안을 강화한 서버사이드 소셜 로그인, 그리고 운영에서 조용히 실패하던 배포의 함정들이다. 화려한 기능은 아니지만, 기능이 많은 플랫폼일수록 이 "연결 지점"의 디테일이 완성도를 좌우했다.멘토링 — 가용일정에서 예약 슬롯을 빚어내기..
결제는 클라이언트 금액을 믿지 않고 서버가 PG에 직접 물어 상태·실제 금액을 세 겹으로 대조해 위변조를 막는다. 완료 처리는 트랜잭션으로 묶고 웹훅을 안전망으로 둔다. mPDF 재사용 영수증과 현금영수증 검증, 계약서 조항 분할·비용 보호 AI 검토, 판례 KB 적재까지 다룬다.3편: 돈과 신뢰가 오가는 곳1편 LMS 토대, 2편 AI 챗봇에 이어, 이번엔 플랫폼이 실제로 매출을 내고 신뢰를 만드는 부분이다. 결제, 영수증, 그리고 이 산업의 특성상 가치가 컸던 계약서 AI 검토·판례 검색. 결제는 "붙이면 끝"이 아니라 금액 위변조를 서버에서 어떻게 막느냐가 전부였고, 영수증·법률 기능은 "있으면 좋은 것"이 아니라 유료 서비스의 필수 신뢰 요소였다.결제 — 클라이언트 금액을 절대 믿지 않는다결제 흐..
RAG 체감 품질은 LLM이 아니라 검색이 좌우한다. FULLTEXT를 버리고 조사를 떼는 한국어 토큰화와 IDF 가중 점수식을 직접 구현하며, relevance threshold로 잡음 청크를 거르고 거부 응답은 시작부만 검사한다. 법령 호·목 깊이 파싱과 단일/배열 정규화 버그까지 다룬다.2편: 근거를 찾아주는 챗봇1편에서 LMS 토대와 강사 권한 경계를 다뤘다. 이 플랫폼의 차별점은 AI 챗봇이다. 가맹·소상공인 산업 종사자가 "이 조항 위약금이 과한가요?" "정보공개서는 언제 줘야 하나요?" 같은 질문을 하면, 관련 법령과 강의 내용을 근거로 답한다. 즉 그냥 LLM에 던지는 게 아니라 RAG(Retrieval-Augmented Generation) — 먼저 지식베이스(KB)에서 근거를 찾아 LL..
WordPress를 LMS로 길들이며 강의 데이터를 postmeta 대신 전용 테이블에 정규화한다. 캡 버전 가산식 동기화, map_meta_cap으로 강사 프로필 체인 소유권을 판정해 자기 강의만 편집하게 긋는 경계, 옵션 키 가드 자가 회복 마이그레이션과 중복 라우트의 조용한 실패까지 다룬다.시리즈를 시작하며한 산업군(가맹·소상공인 교육) 종사자를 위한 온라인 교육 플랫폼(LMS)을 만들었다. 강사가 강의를 만들고, 관리자가 승인하고, 수강생이 VOD로 학습하고, AI 챗봇이 법령·교안 근거로 답하고, 결제·영수증·멘토링까지 한 바퀴를 도는 종합 플랫폼이다. 토대는 WordPress, 그 위에 도메인 기능을 여러 개의 플러그인으로 쪼개 올렸다.네 편으로 나눠 기록한다. 1편은 LMS의 뼈대 — Wor..