머신러닝에서 코드 심사하는 아마존 코드구루가 파이썬을 지원하기 때문에 해봤어요.

7219 단어 CodeGuruAWSPython

입문


이 보도는 22일째 보도입니다.
안녕하십니까?연말이네.
2020년에 산 물건 중 가장 좋아하는 것은 휴대용 실험실 Advent Calendar 2020이다.
세탁기가 빙글빙글 돌아가는 것을 좋아하는 사람도 이 상품으로 전자레인지 안의 볼케노를 쳐다보는 것을 좋아하지.
그럼 올해도 Advent Calendar를 하도록 하겠습니다.

re: Invent의 Keynote가 신경 쓰는 걸 해보고 싶어요.


리:Invent에서 앤디 제이시 씨의 키노트는 "기계학습 중 코드 리뷰를 하는 아마존 코드구루에서Python을 지원한다"는 말을 듣고 한번 해보고 싶어요.
예전부터 신경이 쓰였는데 지금까지 자바만 지원해서 자바를 사용하지 않은 우리 팀은 시도할 수 없습니다.
자바에 비해 파이썬의 해석은 어려워 보이는데 어떤 느낌일까.

아마존 코드구루가 뭐예요?


Code Guru에는 Reviewer와 Profiler, Profiler 검사 비용, Reviewer 검사 오류 등이 있습니다.
이번 시도는 리뷰어입니다.
아마존 코드 Guru Reviewer는 기계 학습에서 코드의 문제를 검출하고 제안된 수정을 제안하는 서비스이다.
코드 품질에 관한 문제는 다음과 같이 대략 9개의 종류로 식별된다.
  • AWS 모범 사례: AWS API 사용 방법 수정(폴링, 페이지 나누기 등)
  • 병발: 기능 장애로 인한 동기화 실패 또는 성능 저하로 인한 과도한 동기화 감지
  • 자물쇠: 검사 및 발송 라인 간의 분배
  • 자원 유출: 자원 처리 방법 수정(예를 들어 데이터베이스 연결 방출)
  • 기밀정보의 유출: 개인식별정보(로그인한 신용카드의 상세 상황 등)가 검출된 유출
  • 일반 코드의 오류: Lambda 함수를 읽을 때 클라이언트를 만들지 않는 등 발견하기 어려운 문제가 검출됨
  • 복제 코드: 중복 코드 식별
  • , 이 코드는 통합을 통해 코드의 유지보수성을 높일 수 있다
  • 입력 검증: 신뢰할 수 없는 원본으로 전송되는 부적절한 형식이나 악성 데이터 검사
  • 해봤어요.


    0. 전제 사항

  • AWS 계정
  • Github에는 볼 소스 코드가 포함된 저장소가 있지만 CodeCommit에는 없음
  • 기본적으로 IAM 등 설정에 문제가 없는 저장소 선택
  • 1. 저장소 연결


    @sr-mtmt
    Reviewer가 선택되었습니다.
    일품 전자레인지 스파게티
    이전 버전의 정보를 완전히 잊어버리고 CodeCommit가 아니더라도 연결할 수 있습니다.기쁘다
    GitHub, GitHub Enterprise, Bitbucket, AWS CodeCommit에서 좋아하는 것을 선택할 수 있습니다.

    화살표의 Grant를 누르지 않으면 조직과 관련된 저장소에 액세스할 수 없습니다.
    이번에는 시도니까 제 개인 계정으로 하고 꼼꼼히 준비하면 세세하게 권한을 설정해도 좋을 것 같아요.
    이렇게 해서 Github 계정에 연결이 되었는데 아까 회색의'저장소 위치'에서 후보 저장소가 갑자기 나타났다.
    적절한 저장소를 선택하여 연결합니다.

    2. 분석해보기


    분석 방법이지만 두 가지가 있어요.
    코드 감사 유형
    자동 감사 여부
    댓글 결과를 어디서 볼 수 있는지.
    보기
    저장소 분석
    NoCodeGuruReviewer의 관리 콘솔 또는 AWS CLI 또는 AWS SDK를 사용하여 분석을 수행해야 합니다.
    CodeGuruReviewer의 관리 콘솔 또는 AWS CLI 또는 AWS SDK를 사용하여 확인
    분기의 모든 코드
    당김 요청
    연결 저장소 후 드래그 요청 때마다 자동으로 코드 심사
    CodeGuruReviewer의 Management Console 또는 AWS CLI 또는 AWS SDK를 사용하여 확인하는 것 외에도 Github와 같은 저장소의 소스 공급업체의 PR 설명에서 확인할 수 있습니다.
    라식 요청의 범위.이번에 변경된 코드만 있습니다.

    당겨달라는 요청이 있으면 ↑ 여기에 추가될 것 같습니다.
    현재 정확한 PR이 없기 때문에'데이터 라이브러리의 분석'으로 코드 전체의 분석을 해 보자.

    저장소 분석 생성을 누릅니다.

    '코드 및 보안 제안'은 방금 연관된 저장소와 또 다른 것입니다.
    또한 S3에 zip화된 코드를 업로드하여 이와 관련된 토대에서 분석하기 때문에 이번에는'코드의 추천사항'을 시도하고자 합니다.

    분석 중

    작은 저장소이기 때문에 몇 분 안에 완성됩니다!
    그럼 뭐가 올라올까요?

    아무것도 없음
    아니오, 좋은 일이에요.
    외로워서 좀 더 큰 자료고에서도 해봤지만 아무것도 찾지 못했어요.
    성능 저하 같은 게 지적되겠죠.

    참고로 CodeGuru가 라식 요청에 대한 지적사항이 있다면 이렇게 라식 댓글에서 추천사항을 직접 보내주는 것이 유용한지 피드백을 드리겠습니다.
    (공식 문서를 빌려 쓴 그림)
    여기서 지적한 건의는요.
    "This code might not produce accurate results if the operation returns paginated results instead of all results. Consider adding another call to check for additional results."
    このコードは、操作がすべての結果ではなくページ分割された結果を返す場合、正確な結果が得られない可能性があります。追加の結果をチェックするために別の呼び出しを追加することを検討してください。 (deepl 번역)
    그래.AWS API 사용법에 대한 지침입니다.

    추가) 저장소 연결 해제



    정보 라이브러리에 계속 접속하면 무료 프레임워크를 초과할 때 돈이 많이 들기 때문에 필요에 따라 해제하세요.
    해제되면 복원이 불가능하므로 새로운 연관성이 필요하다.

    해제된 저장소는 초기 화면에서 사라졌지만 왼쪽 상단의 저장소(3)처럼 완전히 사라지지는 않았습니다.
    연관이 해제된 저장소에서 볼 수 있습니다.(왜)

    비용 계획


    아마존 CodeGuru를 지원하는 AWS 구역에서 90일 동안 무료로 시도할 수 있습니다.
    다음은 도쿄 지역의 상황이다.

    무료 프레임워크 정보


    전체 저장소에 대한 분석은 무료이며, 지불자 계좌당 매달 3만 줄 코드를 분석한다.
    90일의 무료 시용을 사용하여 라식 요청을 분석할 수 있다.

    전체 저장소 분석


    무료 한도를 초과하면 월 1500만 줄의 코드 분석을 하는데 100줄당 0.50달러다.
    1500000줄 이상의 코드를 분석할 때 100줄당 0.40달러입니다.
    전체 저장소나 선택한 코드 분기의 원본 코드를 분석할 수 있습니다.
    저장소 분석을 수행할 때마다 선택한 저장소나 소스 코드 분기의 모든 코드 행을 분석합니다.

    당김 요청


    90일 무료 시용 후 100행 코드당 0.75달러입니다.

    후기


    생각보다 설정이 간단하네.뭔가 막히지 않을까 해서 준비를 했는데 너무 쉬웠어요.
    CodeCommit 이외에도 연결이 잘 되어 있습니다.
    코드에 대한 지적사항이 나오지 않아 아쉽지만 큰 문제는 없는지 한숨 돌렸다.
    내일이 23일째!선생님!

    FYI

  • @fasahina
  • [속보] 머신러닝에서 코드 검토 CodeGuru에서 Python 지원, 보안 Detector 기능 추가
  • 좋은 웹페이지 즐겨찾기