최찬혁 테크 스펙

프로젝트 요약 (Summary)

누가/무엇을/언제/어디서/왜 를 세 줄 내외로 간단 명료하게
→ 1차 목표를 오픈소스 기여로 방향 변경, 오픈소스 기여 이후에 특정 라이브러리 문제 분석후 매핑하는 오픈소스 개발로 방향 재설정

기획 배경 (Background)

프로젝트의 Context를 기재 왜 이 기능을 만드는지, 동기는 무엇인지, 어떤 사용자 문제를 해결하려 하는지, 이전에 이런 시도가 있었는지, 있었다면 해결이 되었는지 포함
(1) [오픈소스 문화의 본질]
이번 챕터를 들어오면서 오픈소스를 리서치 해봤는데 이 문화의 중요한 골조는 “라이센스”라는 이해 를 얻었다. 그 다음으로 “라이센스는 왜 필요한가”라는 질문이 생각났고 고민해본 결과 “오픈소스 생태계에 성장과 확산을 장려하기 위함”이라는 답변을 얻었다. 그래서 단순히 좋은 소스를 공유하는 것에서 그치는게 아니라 내 프로젝트가 남들로 하여금 “변형” 및 “재배포” 될 여지가 있어야 단순한 “공유”가 아닌 “오픈소스”로 볼 수 있을 거 같다는 생각을 했다.
(2) [교육용 시나리오와 템플릿을 제공하는 저장소]
처음에는 간단한 기능을 가진 라이브러리 개발을 해보기 위해 고민해봤는데, 그런 기능들을 남들이 불편함을 감수하고 가져다 쓸 거 같지 않았다. 그래서 이것저것 찾아보던 중에 시나리오와 템플릿 코드를 제공해주는 저장소를 보고 조금 더 간단하게 변형해 개발해보면 의미 있는 개발물이 될 수 있을 거 같다는 생각을 해서 본 프로젝트 개발을 진행키로 결정했다.
(3) [컨트리뷰트 먼저 도전]
아니나 다를까 초보 운전이다보니 역주행을 하고 있었다. 이석범 코치님이 황급히 도로 주행 하는 법 알려주셔서 정상주행 할 수 있게 됐다. 그래서 일단 일차 목표를 오픈소스 기여로 잡고 현재 기여할 오픈소스들을 분석하고 있다. (지금은 Jackson 분석중 ..)
Jackson 라이브러리 보니까 컨트리뷰트 조건이 굉장히 까다로운걸로 보임. 다른 라이브러리 물색중 ..
(4) 오픈 소스 기여 문화에 익숙해지기
일단 큰 프로젝트 하나에 기여해보는걸 시도하기 보단 이 문화에 익숙해지기 위해 작은 이슈들을 찾아 문제를 해결해보는 경험중
첫 오픈소스 기여
good first issue 몇개를 더 해보고 적당한 난이도의 오픈소스 기여 시도 예정

GitHub API, 삼성 LPVS 오픈소스 이슈 할당 받은 상태

목표 (Goals)

예상 결과들을 Bullet Point 형태로 나열합니다. 이 목표들과 측정 가능한 임팩트들을 이용해 추후 이 프로젝트의 성공 여부를 평가합니다.
대상 분석중 ..

계획 (Plan)

테크 스펙에서 가장 긴 파트 입니다. 준비한 모든 리서치, 준비 내용들을 여기에 씁니다. 어떻게 기술적, 엔지니어링적으로 접근할지 상세히 묘사합니다. 만약 어떤 부분을 어떻게 할지 확실히 결정하지 못한 상태라면 어떤 것들을 고려하고 있는지 목록화해서 적습니다. 그렇게 하면 이 문서 리뷰어들이 올바른 결정을 내리도록 도움을 주게 됩니다. 얼마나 기술적으로 깊게 써야 하는지는 이 테크 스펙의 목적과 독자들에 따라 정합니다. 작성자는 생산적인 제안을 받을 수 있도록 충분히 상세하게 계획을 적습니다. 여기는 어떻게 프로젝트가 다른 시스템들과 상호작용하는지 그림이나 다이어그램을 포함하기 좋은 지점입니다. 사용자와 시스템 간의 시퀀스 다이어그램, 서비스와 API 간의 데이터 흐름 다이어그램, 데이터베이스 ERD 등 다 좋습니다. 이 테크 스펙이 로우 레벨까지 다뤄야 한다면 HTTP 응답 코드, JSON 요청 / 응답 포맷, 에러 명세 등까지 모두 다뤄져야 합니다.

[0. 오픈소스가 뭔지 감 잡기]

[1. 주제선정]

(1) 일단 컨트리뷰트 먼저 진행키로함 (2) 이석범 튜터님이 제안주신 기준으로 대상 라이브러리 선정 후 분석 중 (Jackson6)
(3) DOCS 봐도 코드가 어딨는건지도 모르겠고 이게 잭슨이 맞는지도 모르겠어서 그냥 작은 단위 프로젝트 컨트리뷰트 시도해보는 방향으로 변경

[2. 첫 오픈소스 컨트리뷰트]

기록 작성중 ..

마일스톤 (Milestones)

프로젝트를 제 시간에 맞추기 위해 테크 스펙의 내용을 바탕으로 추정한 마일스톤을 공유합니다. 실험 계획, 배포 날짜를 포함해 최대한 자세히 적습니다.
11/10: maven Repository와 github에 각각 있는 Jackson이 무슨 연관성이 있는건지 환경 이해 11/11: Jackson6 분석 자료 문서화하기 11/12: PR 하는 사례 분석해서 어떻게 시도할지 대략 감 잡아보기
11/14: 첫 오픈소스 기여
11/16: Good first Issue 기준으로 시도해볼 것 찾기
~ 11/20: 오픈소스 기여 10개 해보기
etc 1.기여할 부분을 중점적으로 보되 기존에 Jackson6 호환성 관련 문제 경험해봤던 거 찾아보기
etc 2. 개선할 부분 발견하면 오픈소스 개발해보기
etc3. 좀 더 어려운 난이도의 오픈소스 이슈 찾아보기
Search
진행 상황
To-do
3
In progress
0
Complete
0