MySQL 키(Key) 개념 정리 — PRIMARY, UNIQUE, FOREIGN KEY 차이와 실무 설계 기준
MySQL에서 “키(Key)”는 단순히 검색 속도를 높이기 위한 인덱스 개념을 넘는다. 데이터의 무결성을 보장하고, 테이블 간 관계를 정의하며, 중복을 방지하는 핵심 제약 조건이다. PRIMARY KEY, U...
운영 검색 결과: 48개
MySQL에서 “키(Key)”는 단순히 검색 속도를 높이기 위한 인덱스 개념을 넘는다. 데이터의 무결성을 보장하고, 테이블 간 관계를 정의하며, 중복을 방지하는 핵심 제약 조건이다. PRIMARY KEY, U...
PHP에서 MySQL을 사용할 때 가장 기본이 되는 보안 이슈가 SQL Injection이다. 사용자 입력값이 SQL 문장에 그대로 포함되면서 의도하지 않은 쿼리가 실행되는 취약점이다. 로그인 우회, 전체 데...
웹 서비스의 업로드 파일을 EC2 디스크에 저장하면 구현은 간단하다. 하지만 인스턴스를 교체하거나 여러 대로 늘리는 순간 각 서버가 서로 다른 파일을 갖게 된다. 이 글은 S3의 기능을 나열하기보다 언제 로컬 디스크...
이 글은 소규모 팀에서 운영 프로세스를 어떻게 설계할지, 개발자가 알아두면 좋은 기본 운영 지식(로그 레벨, 헬스체크, graceful shutdown), 그리고 아웃소싱/외주와 운영 인수인계 시에 신경 써야 할 점...
이 글은 서비스 장애·안정성과 관련된 네 가지 주제 — 장애 대응 체크리스트, 포스트모템 작성 방법, 온콜(On-call) 경험 정리, 데이터베이스 장애 시나리오 — 를 개발자·운영자 관점에서 정리한 메모이다. ...
블루·그린, 카나리와 롤링 배포를 모두 설명해도 서버 한 대에서 실제로 무엇을 실행할지 정해지지 않으면 도움이 되기 어렵다. 이 글은 Nginx와 PHP-FPM이 있는 단일 EC2를 기준으로 작은 서비스의 배포 단계...
Git의 commit과 branch 정의를 아는 것보다 운영에서 중요한 것은 어떤 변경이 검증되어 언제 배포됐는지 다시 찾을 수 있는 이력을 만드는 일이다. 이 글은 PHP 버그 수정 하나를 작은 브랜치에서 시작해 ...
개발에서 말하는 파이프라인(pipeline)은 코드를 커밋한 뒤 테스트·빌드·배포까지 이어지는 일련의 단계를 자동으로 실행하는 흐름을 의미한다. 이 글에서는 파이프라인의 개념, 실제로 어디에 쓰이는지, 왜 현대 개발...
형상 유지 관리(Configuration Management)는 소프트웨어와 인프라의 변경 이력을 체계적으로 관리하여, 언제든지 어떤 버전이 어디에 배포되어 있는지를 추적하고 재현할 수 있게 하는 활동을 말한다. 코...
“소통을 잘하자”는 원칙만으로는 협업 방식을 통일하기 어렵다. 다른 개발자가 변경 목적을 이해하고 같은 결과를 재현하려면 작업 전후에 남길 정보와 완료 조건이 구체적이어야 한다. 이 글은 PHP 게시글 조회 오류를 ...