AI로 PHP 코드를 수정할 때 지켜야 할 작업 흐름 — 권한 제한부터 diff·테스트까지
도입 AI 개발 도구는 채팅, IDE와 에이전트처럼 이름과 기능이 다르지만 안전성을 결정하는 기준은 비슷하다. 어떤 파일을 읽고 수정하는지, 어떤 명령과 외부 작업을 실행할 수 있는지, 그리고 결과를 사람이 어...
테스트 검색 결과: 37개
도입 AI 개발 도구는 채팅, IDE와 에이전트처럼 이름과 기능이 다르지만 안전성을 결정하는 기준은 비슷하다. 어떤 파일을 읽고 수정하는지, 어떤 명령과 외부 작업을 실행할 수 있는지, 그리고 결과를 사람이 어...
CI를 붙였다는 사실보다 중요한 것은 어떤 오류가 발생하면 병합과 배포를 멈출지 명확히 정하는 일이다. PHP 프로젝트에서는 의존성 정의, 문법, 단위 테스트를 서로 다른 단계로 분리하면 실패 지점을 빠르게 찾을 수...
도입 원격 서버의 SSH 설정을 바로 바꾸고 기존 세션을 종료하면 문법 오류, 인증 방식 오류 또는 방화벽 누락 때문에 서버 접근을 잃을 수 있다. 안전한 변경은 문법 검사, 실제 적용값 확인, 별도 포트 테스...
도입 dump 명령이 성공하고 파일이 존재해도 그 파일이 원하는 시점과 범위의 데이터를 복원한다는 보장은 없다. 백업은 격리된 환경에 복원하고 구조·데이터·애플리케이션 읽기를 확인해야 운영 가능한 복구 수단이 ...
도입 브라우저 자물쇠만으로는 서버가 어떤 인증서 체인을 제공하고 어떤 호스트 이름을 포함하는지 기록하기 어렵다. OpenSSL은 TLS 연결, 인증서 체인, 유효기간과 Subject Alternative Nam...
도입 Deadlock은 두 트랜잭션이 서로 상대방의 잠금 해제를 기다리는 순환 대기다. InnoDB는 이를 감지하면 한 트랜잭션을 희생시켜 오류 1213을 반환하고 다른 트랜잭션이 진행하게 한다. 재시도는...
도입 컬럼을 한 번에 바꾸면 이전 애플리케이션과 새 애플리케이션이 동시에 동작하는 배포 구간에서 한쪽이 실패할 수 있다. Expand-Contract는 호환 가능한 구조를 먼저 추가하고 사용 전환이 끝난 뒤 오...
도입 Composer 오토로더 최적화는 한 가지 스위치가 아니다. 기본 PSR-4 탐색을 classmap으로 바꾸는 수준과 classmap에 없는 클래스는 존재하지 않는다고 확정하는 수준은 제약이 다르다. ...
도입 페이지가 처음 열릴 때 모든 버튼에 클릭 리스너를 연결했는데, 이후 추가한 버튼만 반응하지 않는 경우가 있다. 원인은 새 요소가 초기 querySelectorAll() 결과에 포함되지 않았기 때문이다. ...
도입 최소 권한은 GRANT 문장을 작성하는 것으로 끝나지 않는다. 애플리케이션이 필요한 작업은 성공하고, 스키마 변경·계정 관리·시스템 테이블 조회는 실패하는지 실제 계정으로 확인해야 한다. 아래 SQL은 M...