Inner Circle 오픈소스 라이브러리
2~3주차 과제로 오픈소스 라이브러리를 작성합니다.
설명
- 리더가 제시한 주제 또는 본인이 설정한 주제로 라이브러리 작성 후 npm에 오픈소스로 퍼블리싱
- 월요일 22시까지
[본인이름] 라이브러리 주제
를 제목으로 한 이슈를 등록 (OSS 프로젝트 템플릿 사용)
- 이슈를 통해 리더와 상의 후 프로젝트를 확정하고 진행
- 과제 세부 체크리스트는 각 이슈 참조
프로젝트
이 자리에 작업하신 결과물을 링크합니다. 😃
예시 프로젝트
- 한국어도 잘 지원하는 타이핑 효과 React 컴포넌트 / Vue 컴포넌트: 한글을 조합하는 과정도 보여주어야 함
- 데이터를 다운로드하는 라이브러리 / 링크 컴포넌트. 데이터와 파일 이름을 prop으로 전달. Blob URL, download 속성 사용
- 주어진 크기, 색상, 글자로 플레이스 홀더 이미지를 생성하는 라이브러리. 혹은 컴포넌트. Canvas 사용
- 7 segment display - 폰트로 하는 방법도 있지만 CSS, SVG, 캔버스로 그릴 수도 있으니까. 이 중에서는 SVG 추천
- 카운트다운 컴포넌트 - 특정 시기까지 남은 시간을 카운트다운으로 알려줌. 7 segment display와 같이 쓰는 방안도 고려해 볼 수 있음
- 이미지를 선택, 크롭, 리사이즈, 파일 크기에 따른 제한이 가능한 라이브러리 또는 컴포넌트
fetch
를 조금 더 편하게 사용할 수 있는 래퍼: post
, get
등으로 명시. get(url).json<T>()
, post(url).json<T>()
등과 같이 타입을 지원하는 json 메서드.
- 본문을 복사할 때 출처 텍스트를 추가하는 React / Vue 컴포넌트
- CSS Highlight API를 사용한 텍스트 강조 API -
span
이나 mark
등의 추가 요소가 없어서 리렌더링을 유발하지 않는다(FF 지원은 안되지만 곧 될 예정)
- typingchanger처럼 한글 -> 영어, 영어 -> 한글(2벌식 기준) 변환해주는 라이브러리
⚠️ 주의사항
- 프로젝트는 리더와 상의하고 확정한 후에 진행합니다.
- 기본적으로 개인 과제이나 2~3인이 팀을 이루는 것도 가능합니다. 대신 프로젝트의 범위는 조금 더 커질 수 있습니다.
- 각 개인의 오픈소스 프로젝트라서 독립적으로 진행해야 하므로 이 저장소를 포크하지 않습니다.