반응형
들어가며
이번 주에 copilot을 1년 결재 했습니다. 문득 Copilot을 소스코드 분석에 활용할 수 없을까라는 생각이 들었습니다. 그래서 바로 실행을 옮겼습니다.
실습 IDE
- vscode
분석할 소스
External DNS controller가 어떻게 Route53 record를 삭제하는지 궁금했습니다. 그래서 External DNS controller에 있는 aws.go파일을 대상으로 테스를 진행했습니다.
첫 번째 테스트
Route53 record를 삭제하는 함수를 찾아달라고 부탁했습니다. Copilot은 record를 직접 delete하는 함수가 없다고 했습니다. 하지만 Route53Change라는 힌트를 줬습니다.
두 번째 테스트
바로 copilot에게 질문을 했습니다. Route53Change로 어떻게 record를 삭제할 수 있는지 질문했습니다. ChangeActionDelete Action을 AWSProvider에게 넘기면 reocrd가 삭제된다고 대답했습니다.
그래서 ChangeActionDelete키워드로 소스코드 검색을 했습니다. 놀랍게도 record를 변경하는 newChange함수가 있었고 , ChangeActionDelete action으로 record를 삭제할 수 있다는 주석이 있었습니다.
그리고 vscode의 call stack을 사용하여 최초 호출 함수를 찾았습니다.
마치며
copilot은 소스코드 작성 뿐만 아니라, IDE로 연 파일을 분석하는데 충분히 활용가치가 있는 것을 알았습니다.
반응형
'전공영역 공부 기록' 카테고리의 다른 글
AWS AMI찾는 방법 (2) | 2023.11.05 |
---|---|
CodeBuild 로컬 실행방법 (0) | 2023.11.05 |
Argocd가 겪는 문제: 닭이 먼저냐, 닭걀이 먼저냐 (0) | 2023.10.29 |
istio가 무엇인지 쉽게 이해해보자! (0) | 2023.10.23 |
istiod 관리자 대시보드 여는 방법 (0) | 2023.10.21 |