ChatGPT로 코드 작성 없이 자바 오픈소스 라이브러리 만들기
개인 토이프로젝트로 오픈소스 개발 및 배포에 이르는 전 과정을 ChatGPT 가 생성한 내용으로만 처리해 보았습니다. 오픈소스 이름은 "Sub Link Extractor" 이며, https://github.com/revfactory/sub-link-extractor 에서 확인 가능합니다. 또한 아래의 gradle depenency 추가를 통해 프로젝트에서 사용 가능합니다. implementation 'io.github.revfactory:sub-link-extractor:0.1.1' * 실험 버전이라 테스트 용도로 사용하시길 권장드려요 1. 목적 입력받은 URL 하위의 모든 URL 을 추출 경로가 /docs 와 같은 기술 문서들을 모두 학습할 때 사용 예를 들어, https://tailwindcss.com/docs 를 입력하면 하위의 모든 기술문서 링크를 반환합니다. 간단하죠? 2. 주요 기능 > - 하위 페이지 탐색 후 하위 모든 링크 추출합니다 > - site robots 설정 체크 및 크롤링 시 블럭을 고려해 크롤링 속도를 제어 합니다. > - GitHub에서 버전 릴리즈 시 GitHub Action 을 통해 Maven Central 에 배포합니다. 3. 진행 프로세스 아래와 같은 순서로 진행했습니다. > 1단계 - 초기 코드 작성 및 배포 프로세스 정립 > - 테스트 코드 작성과 매우 심플한 기능 개발 요청 (1차) > - 해당 코드 오픈소스화 프로세스 요청 > - 주석, 예외처리 등 룰 정의를 요청하고 그에 맞게 수정 요청 > - Readme 작성 > - Gradle 설정 및 GitHub Action workflow 작성 요청 > - 초기 버전 1차 패키징 및 배포 > > > 2단계 - 기능 개선 및 다음 버전 릴리즈 > - 기능 개선 사항 리스트업 요청 > - 추가 기능 결정하고 해당 기능 개발 요청 (2차) > - 테스트 수행 > - 작성된 코드를 다시 한번 점검하고 수정 요청 > - 수정된 코드 테스트 수행 > - 버전 릴리즈 노트 작성 요청 > - Readme 업데이트 요청 > - 2차 버전 패키징 및 배포 4. ChatGPT가 자동으로 작성해준 부분 > - 주석을 포함한 전체 코드 작성 > - 기존 코드 개선 제안 및 리팩토링 > - 테스트 코드 작성 > - Readme 문서 작성 > - 릴리즈노트 작성 > - GitHub Action workflow 작성 > - Gradle publish를 위한 Gradle 설정 작성 > - 오픈소스 라이선스 처리 5. 휴먼 작업 > - ChatGPT 채팅을 통해 Maven OSSRH 등록 및 인증서 GPG 처리 > - 복사-붙여넣기 > - 코드 개선사항 있는지 물어보기 6. 제한사항 > - 코드가 길어지는 경우 일관성이 떨어지는 문제 > - 잘못된 길로 들어섰을 때 할루시네이션으로 미동작 코드 생성 문제