채용 어필하는 방법
- 협업 능력 : 코드 대화 가능, 이슈~토론
- 프로젝트 문해력 : 기획, 설계, 구현~테스트, .. 유지보수, 리팩토리, 운영...
- 코드 분석 : 언어의 특징, 인사이트 > 코드 구현 능력!
- 개발 문화 속에서 성장 경험
- 꾸준한 노력/개선 *블로그
- 문서, 주석, 설계, 테스트, 기능 제안 > 개발자 한정 X
- IT 서비스 기획 : 이 기능이 구현 가능한지 파악할 수 있는 내용
- QA : 사용자의 경험 테스트
- 다양한 부분에 큰 경쟁력이 될 것이다.
- 팀스테이지 발표 70% 프로젝트 실패 > 하나의 요구사항 모두 지키지 못했는가? (기준 모호)
- 기술 오류, 휴먼 에러, 전반적 프로세스, 실형 불가능, 사용자들과 접점 낮음
- 플젝 + 위 문제사항을 해결할 줄 아는 사람인가?
슈퍼유저의 시선 : 넓게 보고 잘 사용할 줄 아는 사람?
오픈소스 저작자
저작자 : 오픈소스 프로젝트를 만든 사람 or 조직
컨트리뷰트 vs 저작자
사용중인 오픈소스 프로젝트에 코드를 구현해서 컨트리뷰트 PR 하는 기능 수정하고자 하는 추가욕심
나만의 + 다른 사람들도 필요하기 때문에 일단 도전하기
반려를 당하면 ? 오픈소스 프로젝트 fork해서 별도의 프로젝트를 내가 직접 운영한다. > 기존 프로젝트 라이선스 챙기기
- 프로젝트 성장 도모
- 함께 공유, 함께 개선, 아이디어 추가
- 편리함
오픈소스 프로젝트가 되는 코드가 따로 있나? 노노 > 내 프로젝트로 오픈소스를 설정할 수 있음
npm 아주 간단한 라이브러리들도 가능하다. > 한번 만들고 싶은걸!
MIT, ReadMe.md, contributing 문서 작성
중복아 아닌 명확한 ⭐ 프로젝트 이름 명확하게 ⭐
오픈소스 배포 체크리스트
- Readme
- 이유, 목적, 개요, 사용용도 추천
- 코드 사용 방법 / 설치 사용 방법
- Contributing
- 가이드(다른 플젝 참고) or 환영메시지(템플릿 없음)
- LICENSE : 라이선스 전문
- 프로젝트 이름 : 상표권 침해를 피하기 위해 가능한 중복 X, 기능이 명확한
- 코드
- 이해하기 쉬운 코드(*명명법)
- 주석 설명 깔끔
- 데드코드 정리
- 계정 개인 정보 등 민감 정보 제외
- fork해서 사용할 시 기존 프로젝트 라이선스 신경쓰기
- 만약, 회사 프로젝트 : 사내 법무팀, 오픈소스 담당 팀 자문 / 담당자 추가 / 외부에 바로 오픈X (사내 오픈 먼저)
오픈소스 사용 체크리스트 (in 회사)
금융권 : 시큐어 코팅 by 금융감독원, 금융보안원 > 오픈소스 체크리스트, 활용/관리 안내서를 가지고 있다.
시스템 변화가 잦지 않음
[개발 전]
- 오픈소스에 대한 사전 기능 및 보안성 테스트
- 기능, 보안성, 이슈 현황 파악, 취약점, 기관 연락 검토 요청
- 신뢰성 검증
- 라이선스 검토
- 규정, 준수 검토
- 위약금, 법적 문제
- 회사 법무팀 자문
[개발 중]
- 취약점 최소화 : 보안 정책팀(오픈소스 담당) 협업 > 인증, 주요기능 이중체크로 보안 강화
- 대체 수단 확보 : 예외, 법적 이슈 발생 > 대비책 마련(우회)
- 자체 대응 및 추가 개발 역량 확부 : 충분한 이해를 바탕으로 기술력 확보하기 > 문제 해결 능력 갖춤
[개발 후] > 자동 모니터링 체크
- 끊임없는 모니터링 : 오픈소스 현황, 취약점 업데이트
- 오픈소스 보안패치 : 확인, 취약점 최소화, 적용
- 오픈소스 종속성 검사 : 문제 발생, 최대한 빠른 해결
- 기능 및 보안성 테스트 : 테스트 부서, 보안 팀,, 협업을 통해 지속적으로 테스트, 분석, 검증
☑️ 배운 점
npm 오픈소스 만들고자 생각한다!