REST API 설계 원칙 정리 — 일관된 자원 중심 구조를 만드는 기준
REST API는 단순히 URL을 만드는 방식이 아니라, 자원(Resource)을 중심으로 시스템을 표현하는 설계 방식이다. 기능 중심으로 즉흥적으로 만들기 시작하면 엔드포인트 ...
Hee Blog
PHP, JavaScript 등 언어와 프레임워크, 설계·패턴 등 개발 관련 글을 모아둔 카테고리입니다.
REST API는 단순히 URL을 만드는 방식이 아니라, 자원(Resource)을 중심으로 시스템을 표현하는 설계 방식이다. 기능 중심으로 즉흥적으로 만들기 시작하면 엔드포인트 ...
Service Layer는 “있으면 좋아 보이는 계층”이 아니라, 코드가 무너지기 시작할 때 필요한 안전장치다. Controller에 로직이 쌓이기 시작하면 기능 추가 속도는 잠...
PHP 프로젝트는 초기에 빠르게 기능을 붙이다 보면 Controller가 쉽게 비대해진다. 요청 처리, 검증, 비즈니스 로직, DB 쿼리, 응답 생성이 한 파일에 섞이면서 유지보...
PHP는 비교적 빠르게 기능을 만들 수 있는 언어지만, 프로젝트가 커질수록 구조가 무너지기 쉽다. 초기에 패턴과 책임 분리를 정해 두지 않으면, 기능 추가와 수정이 어려운 형태로...
PHP에서 MySQL을 사용할 때 가장 기본이 되는 보안 이슈가 SQL Injection이다. 사용자 입력값이 SQL 문장에 그대로 포함되면서 의도하지 않은 쿼리가 실행되는 취약...
PHP로 JWT(JSON Web Token)를 만들고 검증하는 코드를 정리한 내용이다. 외부 라이브러리 없이 base64·서명·DER 변환까지 직접 구현한 형태이며, 구조와 호출 ...
서버에서 PHP로 엑셀 다운로드 시 "파일이 손상되었다"고 나오는 경우와, 셀값 설정 및 한글·영문 길이에 따른 컬럼 너비 설정 방식을 정리한 내용이다. freepay_real i...
서버 세팅 시 PHP 쪽에서 자주 참고하게 된 항목만 정리한 내용이다. exec로 jar 실행 시 Java 설치, php-zip 설치 오류, Access Denied 발생 시 SE...
서버 세팅 시 php.ini에 자주 설정하는 값들을 정리한 내용이다. 업로드 용량, 실행 시간·메모리, 세션 유지 시간을 한 번에 맞춰 두면 "업로드 안 됨", "세션이 빨리 끊김...
도입 fetch()는 HTTP 500에서 자동으로 예외를 던지지 않으며, 업무에 맞는 제한 시간도 대신 정해주지 않는다. 사용자는 이미 화면을 떠났는데 요청이 계속되거나, 실...
CentOS 8 기준으로 Composer를 설치하는 절차를 정리한 내용이다. 공식 설치 스크립트 다운로드, 해시 검증, 전역 경로 설치 방법과 "composer: command n...
도입 fetch()는 HTTP 500에서 자동으로 예외를 던지지 않으며, 업무에 맞는 제한 시간도 대신 정해주지 않는다. 사용자는 이미 화면을 떠났는데 요청이 계속되거나, 실...
도입 composer install이 성공했다고 안전한 배포가 보장되지는 않는다. composer.json과 lock 파일이 어긋날 수 있고, 잠긴 패키지에 보안 권고가 생길...