MariaDB Expand-Contract 마이그레이션 — 무중단 컬럼 변경을 단계별로 검증하기
도입 컬럼을 한 번에 바꾸면 이전 애플리케이션과 새 애플리케이션이 동시에 동작하는 배포 구간에서 한쪽이 실패할 수 있다. Expand-Contract는 호환 가능한 구조를 먼저 추가하고 사용 전환이 끝난 뒤 오...
배포 검색 결과: 24개
도입 컬럼을 한 번에 바꾸면 이전 애플리케이션과 새 애플리케이션이 동시에 동작하는 배포 구간에서 한쪽이 실패할 수 있다. Expand-Contract는 호환 가능한 구조를 먼저 추가하고 사용 전환이 끝난 뒤 오...
도입 Composer 오토로더 최적화는 한 가지 스위치가 아니다. 기본 PSR-4 탐색을 classmap으로 바꾸는 수준과 classmap에 없는 클래스는 존재하지 않는다고 확정하는 수준은 제약이 다르다. ...
도입 최소 권한은 GRANT 문장을 작성하는 것으로 끝나지 않는다. 애플리케이션이 필요한 작업은 성공하고, 스키마 변경·계정 관리·시스템 테이블 조회는 실패하는지 실제 계정으로 확인해야 한다. 아래 SQL은 M...
도입 composer install이 성공했다고 안전한 배포가 보장되지는 않는다. composer.json과 lock 파일이 어긋날 수 있고, 잠긴 패키지에 보안 권고가 생길 수 있으며, Composer 플러그...
도입 ALTER TABLE이 끝나지 않을 때 테이블 크기만 의심하면 원인을 놓칠 수 있다. Waiting for table metadata lock 상태라면 다른 세션의 열린 트랜잭션 때문에 DDL이 시작되지 ...
도입 기능 배포는 했지만 사용자에게 바로 공개하면 위험한 경우가 많다. 특히 결제, 정산, 신규 UI 같은 기능은 문제가 생기면 영향 범위가 크다. 이때 사용하는 방식이 Feature Flag다. ...
Metrics, Logs, Traces의 정의를 각각 외워도 장애가 발생했을 때 연결하지 못하면 조사 시간이 줄지 않는다. 이 글은 PHP API의 응답 시간이 늘고 오류율이 상승한 상황을 가정해 이상 감지 → 실패...
개발 AI 시장을 회사와 제품 이름으로 정리하면 출시와 개편 때마다 표를 다시 써야 한다. 실제 도입에 더 중요한 기준은 도구가 어떤 문맥을 읽고, 무엇을 수정하며, 어디까지 실행할 수 있는가다. 같은 제품도 사용하...
AI로 코드 초안을 빠르게 만드는 것과 안전하게 배포하는 것은 다른 문제다. 같은 코드 생성이라도 README 문구 수정과 인증 로직 변경의 위험은 같지 않다. 따라서 “AI를 사용했는가”보다 작업의 영향도에 맞는 ...
AWS Well-Architected Framework의 여섯 원칙을 정의하는 것만으로 시스템은 바뀌지 않는다. 목적은 현재 구성의 위험과 의사결정 근거를 찾아 우선순위가 있는 개선 작업으로 만드는 것이다. 이 글은...