| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- typescript
- REST API
- php
- 인증
- 소셜로그인
- 도메인설계
- 배포
- Kotlin
- javascript
- 온디바이스AI
- github actions
- 백엔드
- python
- Android
- 프론트엔드
- React
- playwright
- 상태관리
- contextBridge
- 보안
- FastAPI
- sqlite
- JWT
- next.js
- 마이그레이션
- Vite
- electron
- 메일자동화
- 크롤링
- 아키텍처
- Today
- Total
목록cms (2)
HM소프트
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로..
운영 중인 레거시 PHP 사이트를 형상관리에 올리며 PDO 싱글톤과 EMULATE_PREPARES false로 SQL 인젝션을 구조적으로 차단하고, 평면 organization_units 테이블을 sort_order 기준 트리로 세운다. mb_str_split과 HTML 이스케이프 순서가 뒤바뀌어 팀명이 깨지던 버그, page_contents 재사용으로 스키마 변경 없이 푸터를 관리자 편집화한 과정을 다룬다.운영 중인 PHP 사이트를 형상관리에 올리다앞서 다른 시리즈에서 한 연구기관 웹사이트를 모던 스택으로 다시 만든 과정을 기록했는데, 같은 기관에는 PHP로 만들어진 버전의 사이트가 따로 하나 더 있다. 운영 서버에서 실제로 돌아가고 있는 코드라, 첫 작업은 기능 추가가 아니라 운영 중인 코드를 통째로..