개인 토이프로젝트로 오픈소스 개발 및 배포에 이르는 전 과정을 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. 제한사항
- 코드가 길어지는 경우 일관성이 떨어지는 문제
- 잘못된 길로 들어섰을 때 할루시네이션으로 미동작 코드 생성 문제
7. 스크린샷
8. 추가로 해볼만 한 것
- 동일한 프로세스의 유사 작업을 Agent 로 자동화 하기
- 지속적인 기능 개선과 버전 관리 자동화
'AI' 카테고리의 다른 글
재미있는 그림으로 살펴보는 케이서브의 ML 모델 서비스 알렉사 니콜 그리피시, 블룸버그 (0) | 2023.10.05 |
---|