[Salesforce] Developer Console에 관하여

molamola·2025년 4월 22일

Salesforce

목록 보기
4/10

🧠 1. Developer Console 구조와 동작 원리

Developer Console은 Salesforce Org의 브라우저 내장 IDE입니다. 다음과 같은 방식으로 동작합니다:

  • Apex 코드 저장 시 → Metadata API 호출을 통해 서버에 저장
  • Execute Anonymous 실행 시 → Salesforce 서버에서 Apex를 컴파일 후 동기 실행
  • 디버그 로그 → Debug Log Queue에서 사용자 기준으로 수집 및 스트리밍
  • 모든 작업은 브라우저 → Lightning Platform API → Org 내부 엔진으로 연결

📌 결론: 클라이언트 없이 UI 상에서 Salesforce 내부 엔진과 직접 통신함


🧱 2. UI 구조 설명

영역설명
Code EditorApex 코드 파일 열기/수정
Logs디버그 로그 탭
Test Classes테스트 클래스 목록 및 실행
Query EditorSOQL/SOSL 실행
Problems / Checkpoints코드 오류 목록 및 중단점 디버깅 설정

📂 3. 지원하는 파일/타입

타입가능 여부
Apex Class
Apex Trigger
Visualforce Page/Component
LWC
Static Resource / Metadata 편집
SOQL/SOSL
Aura Component❌ (단, Apex 쪽 디버깅은 가능)

🧰 4. 기능 정리 (포괄적으로)

기능설명
Apex 클래스/트리거 생성/편집File > New
Execute AnonymousApex 코드 임시 실행 (System.debug, DML 등)
Test 실행 및 커버리지 확인클래스 선택 후 Test > Run
SOQL 실행Query Editor 탭
디버그 로그 보기로그 자동 수집 및 Execution Tree 시각화
로그 레벨 조절Debug > Change Log Levels
코드 북마크 및 서치단축키 지원 (Ctrl + F, Ctrl + G)
Breakpoint 설정 (Checkpoint)코드 중단점 설정해 런타임 상태 확인

📄 5. 로그 시스템 (내부 작동 방식)

  • 로그는 디버깅 레벨에 따라 출력되는 양이 다름
  • 사용자는 디버그 로그 설정 페이지에서 자신 및 트리거 사용자 추가 가능
  • 로그는 기본적으로 7일 동안 보관되며, 용량 제한 있음 (로그 초과 시 오래된 로그 삭제됨)

🧪 6. 테스트 실행 기능 상세

  • 단일 테스트, 전체 테스트 실행 가능
  • 커버리지 시각화 지원 (클래스 내 라인별 커버리지 표시)
  • @isTest 어노테이션 클래스 자동 인식
  • 테스트 실패 시 상세 스택 트레이스 표시
  • 비동기 Apex (Queueable, Batch 등) 테스트는 간접 실행 필요

🔐 7. 권한과 보안

보안 요소설명
로그인된 사용자 권한에 따라 기능 제한ex. Apex 작성 권한 없는 사용자에겐 콘솔 접근 불가
Apex 테스트 실행은 그 사용자의 권한 기준RunAs 테스트는 System.runAs() 필요
디버깅 로그는 자신 또는 설정된 사용자만 확인 가능

❗ 8. 자주 발생하는 문제와 해결법

문제해결 방법
로그 안 보임Debug 로그 설정에 사용자 등록했는지 확인
콘솔 멈춤/느림로그 크기 너무 크면 브라우저 다운될 수 있음 → 필터 조정
커버리지 표시 안됨테스트 성공했는지, 클래스와 테스트가 연결되었는지 확인
코드 저장 안됨메타데이터 충돌, 컴파일 오류 확인 (서버 로그)

⚙️ 9. 실전 활용 팁

  1. 빠른 테스트: Execute Anonymous로 간단한 데이터 삽입/삭제/쿼리 실행 테스트
  2. 로그 필터링: 필요한 항목만 설정 (Apex_Code, Database 등) → 성능 향상
  3. 오류 재현: 사용자 impersonation 대신 System.runAs() 사용
  4. 다중 로그 보기: 각 탭마다 로그 저장 가능 → 복수 사용자 분석 가능
  5. 중단점 활용 (Checkpoint): 변수 상태 추적, Object Tree 분석에 유용

✅ 10. 장점 정리

  • 설치 필요 없음
  • 웹 기반으로 접근성 최고
  • Apex 테스트/로그 분석에 최적화
  • 초기 학습자에게 매우 직관적

❌ 11. 단점 정리

단점이유
느릴 수 있음브라우저 기반 + 로그 크기 영향 큼
Git 연동 불가코드 버전 관리 어려움
복잡한 프로젝트에 비효율코드 탐색, 모듈 구조화 불편
HTML, JS, CSS 등 프론트엔드 불가LWC 개발 지원 안 됨
고급 플러그인, 확장성 부족VS Code 대비 기능 제한 많음

📌 12. 언제 쓰면 좋은가?

상황추천 여부
급하게 Apex 한 줄 테스트✅ 강추
단위 테스트 빠르게 실행✅ 적합
대규모 프로젝트 관리❌ 부적합
LWC 개발❌ 불가능
로그 분석✅ 탁월함

0개의 댓글