AI

AI의 현재와 미래를 탐구하다! 인공지능 기술, 머신러닝, ChatGPT 등 AI의 발전이 가져올 변화를 함께 이야기해요.


2025.07.30 15:16

라라벨 AI로 코딩하기.

목록
  • 네코이 12일 전 2025.07.30 15:16
  • 21
    0
1. 논리적 검증 우선 원칙 (Verification-First Approach)
1.1 가정 금지 (Zero Assumption Policy)
모든 작업 전 필수 검증:
├── 파일 존재 여부 실제 확인
├── 패키지 설치 상태 composer.json 직접 확인  
├── 데이터베이스 테이블 구조 직접 Schema::hasTable() 확인
├── 마이그레이션 실행 상태 migrate:status 확인
└── 환경 설정 .env 파일 직접 읽기
절대 가정하지 않는 사항:
❌ "아마도 설치되어 있을 것이다"
❌ "보통 이렇게 설정되어 있다" 
❌ "기본적으로 이 경로에 있다"
✅ 모든 것을 실제 확인 후 진행
1.2 동적 상태 확인 (Dynamic State Verification)
php// 모든 작업 전 상태 확인 명령어 실행
php artisan config:cache  // 설정 상태 확인
php artisan route:list     // 라우트 상태 확인  
composer show              // 패키지 상태 확인
php artisan migrate:status // DB 상태 확인
// 파일 존재 여부 동적 확인
if (file_exists('app/Models/User.php')) {
    // 실제 내용 분석 후 작업
} else {
    // 파일 생성부터 시작
}
2. 엄격한 의존성 순서 준수 (Strict Dependency Order)
2.1 MVC 의존성 매트릭스
Level 0: Database Schema
├── Migration files 생성/실행
├── 테이블 간 FK 관계 검증
└── 제약조건 정상 동작 확인
Level 1: Model Layer  
├── Eloquent 모델 생성
├── 관계 메서드 정의
├── 실제 쿼리 테스트로 검증
└── 다음 레벨 진행 전 완전 검증
Level 2: Controller Layer
├── 비즈니스 로직 구현
├── Model 의존성 주입
├── 실제 데이터 CRUD 테스트
└── Route 연결 전 로직 검증
Level 3: View Layer (Filament)
├── Resource 클래스 생성
├── Form/Table 스키마 정의
├── 권한 제어 구현
└── 실제 브라우저 테스트
2.2 의존성 체인 검증 방식
각 단계마다 Break Point 설정:
1. Migration → php artisan tinker로 테이블 구조 확인
2. Model → 관계 메서드 실제 호출해서 결과 확인
3. Controller → Route 코드플로우에 따라 논리적 회로 테스트로 실제 동작 예측
4. View → 코드플로우에 따라 논리적 회로 테스트로 실제 동작 예측
실패 시 즉시 중단하고 문제 해결 후 재진행
3. 실제 확인 기반 수정 방법론 (Evidence-Based Correction)
3.1 오류 발생 시 논리적 추적
오류 발생 → 근본 원인 분석 → 의존성 체크 → 수정 → 재검증
예시: "Class not found" 오류
1. composer.json 확인 → autoload 설정 체크
2. namespace 확인 → PSR-4 규칙 준수 여부
3. composer dump-autoload 실행
4. 실제 클래스 파일 경로 확인
5. 재테스트로 해결 확인
3.2 논리적 디버깅 접근법
php// 단순 추측 대신 논리적 확인
// ❌ 잘못된 접근
// "아마 권한 문제일 것이다" → 권한 변경
// ✅ 올바른 접근  
dd(auth()->user());           // 현재 사용자 확인
dd(auth()->user()->roles);    // 실제 역할 확인
dd(Gate::allows('action'));   // 권한 체크 결과 확인
// 확인된 사실을 바탕으로 수정
4. 코드 작성 시 논리적 사고 패턴
4.1 Before-After 검증 패턴
php// 모든 중요한 작업에 Before-After 확인
// BEFORE: 현재 상태 확인
$beforeCount = User::count();
$beforeRoles = Role::all()->pluck('name');
// WORK: 실제 작업 수행
User::factory()->create();
Role::create(['name' => 'new_role']);
// AFTER: 결과 검증
$afterCount = User::count();
$afterRoles = Role::all()->pluck('name');
// VERIFY: 논리적 검증
assert($afterCount === $beforeCount + 1);
assert($afterRoles->contains('new_role'));
4.2 점진적 복잡성 증가 (Incremental Complexity)
단순함에서 복잡함으로 단계적 진행:
1단계: 기본 CRUD만 구현 → 동작 확인
2단계: 단순 관계 추가 → 관계 쿼리 테스트  
3단계: 권한 제어 추가 → 권한별 접근 테스트
4단계: 고급 기능 추가 → 통합 테스트
각 단계마다 완전한 동작 확인 후 다음 단계 진행
5. Filament 특화 작업 접근법
5.1 Resource 생성 시 논리적 순서
1. Model 관계 완전 정의 후 Resource 생성
2. 기본 CRUD 동작 확인
3. 권한 제어 단계적 추가
4. 커스텀 필드/액션 순차 추가
5. 각 단계마다 브라우저 실제 테스트
// ❌ 한번에 모든 기능 구현
// ✅ 단계별 검증하며 기능 추가
5.2 Form/Table 스키마 논리적 구성
php// 논리적 필드 그룹핑
return $form->schema([
    // 1그룹: 필수 식별 정보
    Forms\Components\TextInput::make('username')->required(),
    Forms\Components\TextInput::make('email')->required(),
    
    // 2그룹: 비즈니스 정보  
    Forms\Components\Select::make('role')->options(...),
    Forms\Components\Toggle::make('is_active'),
    
    // 3그룹: 관계 정보
    Forms\Components\Select::make('department_id')
        ->relationship('department', 'name'),
]);
// 각 그룹의 동작을 개별 테스트 후 통합
6. 오류 예방 및 품질 보장
6.1 사전 검증 체크리스트
새로운 기능 구현 전 필수 확인사항:
□ 관련 Model 존재 및 관계 정의 완료
□ 필요한 Migration 실행 완료
□ 권한/Policy 정의 완료  
□ 의존성 패키지 설치 확인
□ Route 정의 및 테스트 완료
□ 기존 기능에 영향 없음 확인
6.2 코드 품질 논리적 검증
php// 모든 메서드에 논리적 검증 추가
public function store(Request $request)
{
    // INPUT 검증
    $validated = $request->validate([...]);
    
    // BUSINESS LOGIC 검증  
    if (!auth()->user()->can('create', Model::class)) {
        abort(403);
    }
    
    // DATABASE 검증
    DB::beginTransaction();
    try {
        $model = Model::create($validated);
        // 생성 결과 검증
        assert($model->exists);
        DB::commit();
    } catch (Exception $e) {
        DB::rollback();
        throw $e;
    }
    
    // OUTPUT 검증
    return response()->json($model, 201);
}
7. 팀 협업 시 논리적 소통 방식
7.1 이슈 리포팅 표준화
문제 발생 시 보고 형식:
[CONTEXT] 현재 상황 객관적 서술
[EXPECTED] 기대했던 동작
[ACTUAL] 실제 발생한 동작  
[EVIDENCE] 오류 로그, 스크린샷 등 객관적 증거
[ANALYSIS] 논리적 원인 분석
[SOLUTION] 제안하는 해결책과 근거
7.2 코드 리뷰 논리적 기준
리뷰 시 확인사항:
□ 의존성 순서 정확성
□ 예외 처리 완전성
□ 테스트 케이스 논리적 커버리지
□ 성능 영향 분석
□ 보안 취약점 논리적 검토
□ 비즈니스 규칙 정확한 구현

 

진행순서 -> 제미니 5why방법론에 따른 초기 스키마 생성 -> 클로드데탑으로 간단하게 검증하면서 라라벨 표준 마이그레이션 문법 적용문서 제작 -> 직접확인 및 수정 -> 위 룰을 커서에 적용 별다른 MCP서버 설정이없고 저 룰 하나만 적용하고 채팅시  문서에 따라 어디부분을 어디까지 진행하면서 가정하지 않고, 임의판단하지않고,관념적용금지하고,웹검색을이용해최신문법을 이해하고 해야하며 작성한코드는 1번 이상검증검토 논리적비교를해야한다 는 식으로 입력했습니다. 

 

처음 테이블 마이그레이션 부분만 좀 꼼꼼하게 수동으로 보았고 나머진 자동으로 작업했네요.

 

테이블 구조에 따라 관리패널(필라멘트) 를 빠르게 만들고 위젯생성 생략 하고 -> vite로 타일윈드 빌드 후 프론트앤드 뷰들 제작 기초 뼈대만 중요 로직부분들은 주석처리로 생성하고, 페이지들 언급하면서 테이블구조 -> 관리패널 연동강조 -> 뷰 상태확인 -> 컨트롤러 ,라우트 검증  다시 연동확인 

 

식으로 프롬프트주면서 2차 작업 식으로했습니당


  • profile_image
    네코이 @nekoi93 

    댓글목록

    등록된 댓글이 없습니다.

  • AI 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 10건 / 1 페이지

검색

게시물 검색