REST API 설계 원칙 정리 — 일관된 자원 중심 구조를 만드는 기준
REST API는 단순히 URL을 만드는 방식이 아니라, 자원(Resource)을 중심으로 시스템을 표현하는 설계 방식이다. 기능 중심으로 즉흥적으로 만들기 시작하면 엔드포인트 규칙이 흐트러지고, 유지보수 비용이 ...
쿼리 검색 결과: 28개
REST API는 단순히 URL을 만드는 방식이 아니라, 자원(Resource)을 중심으로 시스템을 표현하는 설계 방식이다. 기능 중심으로 즉흥적으로 만들기 시작하면 엔드포인트 규칙이 흐트러지고, 유지보수 비용이 ...
트래픽이 증가한다고 Redis, 로드 밸런서, 복제 DB와 큐를 한꺼번에 추가하면 운영 지점만 늘어날 수 있다. 확장은 현재 병목과 실패 조건을 측정한 뒤 가장 작은 변화부터 적용해야 한다. 1. 먼저 서비스 ...
MySQL에서 가장 많이 사용하는 페이징 방식은 LIMIT OFFSET 구조다. 하지만 데이터가 많아질수록 이 방식은 점점 느려지는 문제가 있다. 특히 페이지 번호가 커질수록 쿼리 속도는 급격히 떨어진다. ...
PHP 프로젝트는 초기에 빠르게 기능을 붙이다 보면 Controller가 쉽게 비대해진다. 요청 처리, 검증, 비즈니스 로직, DB 쿼리, 응답 생성이 한 파일에 섞이면서 유지보수가 어려워진다. Control...
데이터가 수천만 건을 넘어가면 단일 테이블 구조는 점점 한계에 부딪힌다. 인덱스 크기가 커지고, 백업·복구 시간이 길어지며, 특정 쿼리의 응답 속도가 급격히 저하된다. 이 시점에서 고려하는 전략이 파티셔닝(P...
트랜잭션(Transaction)은 하나의 논리적 작업 단위를 보장하기 위한 DB 기능이다. 여러 개의 SQL이 하나의 작업처럼 처리되며, 전부 성공하거나 전부 실패해야 한다. 결제, 정산, 포인트 차감처럼 데...
서버 CPU 사용률이 높다는 것은 단순히 “바쁘다”는 의미가 아니다. 정상 트래픽인지, 비정상 반복 연산인지, 특정 프로세스 폭주인지 구분해야 한다. 무작정 서버 스펙을 올리는 것은 해결이 아니다. CPU가 왜 올...
PHP는 비교적 빠르게 기능을 만들 수 있는 언어지만, 프로젝트가 커질수록 구조가 무너지기 쉽다. 초기에 패턴과 책임 분리를 정해 두지 않으면, 기능 추가와 수정이 어려운 형태로 굳어지기 때문이다. 실무에서는...
성능 튜닝은 코드를 많이 바꾸는 작업이 아니라 같은 조건에서 병목을 측정하고 가장 작은 변경의 효과를 확인하는 과정이다. 이 글은 MariaDB 10.11의 별도 실습 DB에서 날짜 조건 쿼리를 비교하는 절차를 다룬...
MySQL에서 “키(Key)”는 단순히 검색 속도를 높이기 위한 인덱스 개념을 넘는다. 데이터의 무결성을 보장하고, 테이블 간 관계를 정의하며, 중복을 방지하는 핵심 제약 조건이다. PRIMARY KEY, U...