[18주차 Day2] 스프린트 4 프로젝트: 오픈소스 기반의 웹 파이프라인 구축

반 히·2024년 6월 25일

데브코스

목록 보기
53/58
post-thumbnail

📚 Part 1. 오픈 소스와 친해지기


📁 Intro: 오픈소스란 무엇일까?

📌 오픈소스란 무엇일까?

🔗오픈 소스란?

  • 누구나 자유롭게 접근하고, 수정하고, 배포할 수 있는 소스코드를 말한다
  • 쉽게 말해서 집단지성 결과물이다.
  • 넓은 관점에서 보면 위키피디아 같은 온라인 백과사전도 오픈소스라고 볼 수 있다.

🔗오픈소스 기여에 도전하면 어떤 좋은 점이 있을까?

  • 좋은 코드에 대해 배울 수 있다.
  • 협업 방식에 대해서 배울 수 있다
  • 포트폴리오가 될 수 있다
  • 영어 독해실력이 향상된다.

🔗 대표적인 오픈소스 라이선스

  • MIT License
    • 무료
    • ex) 부트스트랩
  • Apache License
    • 무료
    • ex) 안드로이드
  • GPL License
    • 2차 저작물 공개 의무
    • ex) 리눅스 커널


📁 오픈소스 기여를 위한 사전지식

📌 Markdown

  • 텍스트 형식 구문의 가벼운 마크업 단어
  • 개발 도메인에서 문서 작업에 널리 쓰인다
  • 문법이 간결하고 쉽다. 지원하는 플랫폼이 광범위하다. ex) github, notion 등

📌 Git

  • 소스코드 버전 관리 시스템 (Version Control System, VCS) 도구
  • 게임의 세이브 포인트 같은 역할
  • 소스코드의 변경 내역을 추적하고 관리하기가 용이하다
  • 내 컴퓨터에서 활용하는 tool
  • 알아야할 명령어
    • git clone
      • 저장소에서 소스코드를 복제해서 내 저장소로 받아오는 역할
      • 원격 저장소에서 내 로컬로 받아올 때 많이 사용
    • git add
      • 로컬에서 작업한 소스코드를 커밋 히스토리에 저장하기 전에 저장 바구니(?) 같은 곳에 담는 역할
    • git commit
      • 내 로컬에 히스토리를 남기는 행위
    • git push
      • 로컬에서 저장한 것을 원격 저장소에 올리는 행위

📌 Github

  • 깃허브(Github)는 분산 버전 관리 툴인 깃(Git)를 사용하는 프로젝트를 지원하는 웹 호스팅 서비스
  • 원격 저장소를 통하여 소스코드를 원격으로 관리하고 협업할 수 있다
  • 많은 오픈소스가 Github 서비스를 이용하여 관리되고 있다.
  • 알아야할 기능
    • Fork
      • 원본을 복제해서 내 계정의 저장소로 가져오는 기능
    • Issue
      • 저장소 안에 어떠한 이슈 사항이나 제보할 것, 사건에 대한 공지 등을 처리
    • PR (Pull Request)
      • 어떤 작업을 했을 때 소스코드끼리 합치는 일 = merge
      • merge 전에 검토하는 기능
      • 원작자에게 나의 수정을 반영해달라고 요청을 보내는 것
      • 원작자는 이 요청을 받을지 말지 결정을 하고, 만약 문제가 있다면 거절도 할 수 있음

git은 말 그대로 버전관리를 할 수 있는 tool. 깃허브는 버전 관리를 한 여러가지 히스토리들을 웹 상으로 올려줄 수 있는 원격 저장소 역할을 함. 웹 서비스 플랫폼.



📁 오픈소스 기여 마인드 셋

📌 오픈소스 기여는 쉬울까? 어려울까?

  • 쉬움
  • 명확한 목표 세우기 (적절한 난이도. 결과에 연연하지 않고 과정을 즐긴다)

📌 오픈소스에 기여하려면?

  • 기여하고 싶은 라이브러리를 찾고 기여를 준비하기
  • 문서 기여, 버그 제보 등 쉬운 부분 소스코드 기여까지 단계적으로 도전하기
  • 결과에 연연하지 않고 과정을 즐기기


📚 Part 2 MDN Web Docs 기여 해보기 (문서 기여해보기)


📁 세상에서 가장 쉬운 오픈소스 기여

1️⃣ 오픈소스 기여 자신감 기르기!

  • 문서(Docs) 관련 기여는 진입장벽이 상대적으로 낮다
  • 지금 당장 할 수 있는 기여를 찾아보기
  • 적절한 프로젝트를 선정 후 가이드에 따라 문서에 기여해보기

2️⃣ 적절한 오픈소스 문서(Docs) 찾아보기

  • 평소 자주 쓰던 라이브러리 혹은 프레임워크의 문서
  • 위키 성격의 문서 서비스 기여(ex. MDN Web Docs, 모던 자바스크립트 튜토리얼 등등)
  • 번역 기여, 오역 개선 등 쉬운 기여부터 지식 기여 등 본인에게 맞는 적절한 난이도 선택하기
  • 잘하려기보다는 기여하는 과정에 의의를 두기!


📁 Contributor 되어보기

📌 Contributor ?

  • 기여자, 공헌자라는 뜻으로 오픈소스에 기여한 이력이 있는 사람을 뜻한다.
  • MDN 문서 한국 첫 기여자들을 위한 가이드라인 살펴보기

📌 MDN (Mozilla Developer Network) Web Docs

  • MDN Web Docs란 다양한 웹 개발 자료를 담고 있는 개발자 커뮤니티 사이트
    • MDN
    • MDN 한국
  • 기여 방법이 명확하게 나와있고 쉽다
  • 단순 오타부터 단어 번역, 의역 등 자신의 역량에 맞게 도전하기에 좋다

1️⃣ MDN (Mozilla Developer Network) Web Docs 기여 준비

  • 사전에 설치해야 할 프로그램 목록
    • Git
    • Node.js
    • Yarn
    • VSCode


📁 MDN Web Docs 기여 실습 : 개요

📌 개요

📌 가이드라인 살펴보기

https://github.com/mdn/translated-content/issues/827

📌 로컬 환경 셋팅

🔗 파일 설정

  • .env 파일 설정
  • content/ 경로 아래에 .env 만들기
  • .env 파일 작성하기
CONTENT_TRANSLATED_ROOT=/[본인파일경로]/mdn_proj/translated-content/files
EDITOR=code
  • 실행
yarn install
yarn start

http://localhost:5042/ko/docs/Web
로 접속하면 된다... pwd를 입력하였을 때 경로 그대로 입력하였더니 오류가 발생했다. 이유를 찾아보니.. C를 빼야 한다고.. 허허 그냥 Users부터 경로를 넣으면 된다.

화면에 있는 open in your editor를 누르면 편집창이 뜬다

0개의 댓글