SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Outsider (ODK Media)
Lessons from
maintaining Mocha,
an open source project
JSConf Korea2019
9. 3
a feature-rich
JavaScript test framework
running on
Node.js and in the browser
https://2018.stateofjs.com/testing/overview/
The State of JavaScript 2018 : Testing
들어 본 적 없다
들어봤지만 관심없다
들어봤고 배울 생각이 있다
사용해 봤지만 다시 사용할 생각 없다
사용해 봤고 다시 사용할 것이다
https://github.com/mochajs/mocha
어떻게
메인테이너로
합류했나?
Lessons from maintaining Mocha, an open source project
20182017
2017년 12월 말
퇴사
20182017
Aug 27, 2011 – Mar 6, 2018
Jan 1, 2018 – Mar 6, 2018
마침
메인테이너를 늘리려던 시기
https://unsplash.com/photos/TZCppMjaOHU
짧은 기간에 자주 보이면
기억이 나게 된다
https://unsplash.com/photos/U2eUlPEKIgU
year later…1
메인테이너는 바쁘다
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
메인테이너는 바쁘다
생각보다 훨씬 더…
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
Minimal,
Complete and
Verifiable
Example
https://stackoverflow.com/help/minimal-reproducible-example
MCVE
Lessons from maintaining Mocha, an open source project
https://unsplash.com/photos/pjAH2Ax4uWk
Lessons from maintaining Mocha, an open source project
왜 내 PR은 머지되지
않을까?
메인테이너들은
하나의 프로젝트만
관리하는 것이 아니다
메인테이너가
오랫동안
활동할 수 있도록…
일정의 압박을 느끼지 않는다
한 두달만 할 일이 아니다
https://unsplash.com/photos/IUY_3DvM__w
무례하게 대하는 사람에게는
경고한다
https://github.com/mochajs/mocha/issues/1348
https://github.com/mochajs/mocha/issues/1348
누락된 기능으로 곤란한 상황이란
것은 알겠습니다.
하지만 이 프로젝트에 자발적으로
기여하는 사람들에게 빈정거리는
댓글이나 요구를 하지 않기를 부탁드립니다.
느긋한 마음 가짐
급하고 중요하다고 생각하는
사람이 코드를 직접 수정한다
https://github.com/mochajs/mocha/pull/3278
https://github.com/mochajs/mocha/pull/3278#issuecomment-431319630
https://unsplash.com/photos/sd3mQXHf_kM
주로 쓰는 기능 외에는
사용해 본 적이 없다
https://github.com/mochajs/mocha/issues/3387
내가 기여할 수 있는 부분에
기여한다
다른 프로젝트와 공생한다
https://github.com/mochajs/mocha/issues/3387
https://github.com/mochajs/mocha/issues/3387
https://github.com/mochajs/mocha/issues/3387
Jest는 Mocha에 전혀 문제가 되지
않고 반대도 마찬가집니다.
모든 테스트 도구가 성공하고
서로 돕기를 원합니다.
https://github.com/mochajs/mocha/issues/3387
https://github.com/mochajs/mocha/issues/3387
Jest와 Mocha가 경쟁하고 있다고
생각하지 않으며, 경쟁을 한다면
평등한 경쟁을 하지 않을 것입니다.
한쪽이 성공하기 위해서는 다른 쪽이
고통을 받거나 이에 관해
이야기 해야 한다고 믿지 않습니다.
영어의 한계
모든 이슈와 논의를
다 보고 이해해야 한다
논의가 길어지면
낄 수가 없다
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
https://github.com/mochajs/mocha/issues/3377
https://www.henryzoo.com/an-issue-with-issues/
어떤 성격의
프레임워크가
되어야 하는가?
사용자는
자신이 필요한 기능에 관한
변경만 요청한다
- 전체 기능에 대한 이해
- 한 기능 변경의 사이드 이펙트
- 프로젝트의 성격과 로드맵
https://github.com/mochajs/mocha/pull/3225
모든 요구사항을
다 받아줄 수는 없다
Node.js LTS 정책은
메인테이너들에게도 좋다
https://twitter.com/jkup/status/909887066103676928
outsideris@gmail.com
https://twitter.com/Outsideris
https://github.com/outsideris
The End

Mais conteúdo relacionado

Mais de JeongHun Byeon

당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?JeongHun Byeon
 
오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스JeongHun Byeon
 
DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링JeongHun Byeon
 
클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어JeongHun Byeon
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요 디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요 JeongHun Byeon
 
오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요JeongHun Byeon
 
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일JeongHun Byeon
 
개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기JeongHun Byeon
 
Terraform을 이용한 Infrastructure as Code 실전 구성하기
Terraform을 이용한 Infrastructure as Code 실전 구성하기Terraform을 이용한 Infrastructure as Code 실전 구성하기
Terraform을 이용한 Infrastructure as Code 실전 구성하기JeongHun Byeon
 
오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)JeongHun Byeon
 
오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자JeongHun Byeon
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기JeongHun Byeon
 
더 나은 개발자 되기
더 나은 개발자 되기더 나은 개발자 되기
더 나은 개발자 되기JeongHun Byeon
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발JeongHun Byeon
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나JeongHun Byeon
 
Node.js 현재와 미래
Node.js 현재와 미래Node.js 현재와 미래
Node.js 현재와 미래JeongHun Byeon
 
Nodejs Production 적용기
Nodejs Production 적용기Nodejs Production 적용기
Nodejs Production 적용기JeongHun Byeon
 
Sublime Text tips & trikcs
Sublime Text tips & trikcsSublime Text tips & trikcs
Sublime Text tips & trikcsJeongHun Byeon
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기JeongHun Byeon
 

Mais de JeongHun Byeon (20)

당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
 
오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스
 
DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링
 
클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요 디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
 
Citizen 개발기
Citizen 개발기Citizen 개발기
Citizen 개발기
 
오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요
 
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
 
개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기
 
Terraform을 이용한 Infrastructure as Code 실전 구성하기
Terraform을 이용한 Infrastructure as Code 실전 구성하기Terraform을 이용한 Infrastructure as Code 실전 구성하기
Terraform을 이용한 Infrastructure as Code 실전 구성하기
 
오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)
 
오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
 
더 나은 개발자 되기
더 나은 개발자 되기더 나은 개발자 되기
더 나은 개발자 되기
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나
 
Node.js 현재와 미래
Node.js 현재와 미래Node.js 현재와 미래
Node.js 현재와 미래
 
Nodejs Production 적용기
Nodejs Production 적용기Nodejs Production 적용기
Nodejs Production 적용기
 
Sublime Text tips & trikcs
Sublime Text tips & trikcsSublime Text tips & trikcs
Sublime Text tips & trikcs
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
 

Lessons from maintaining Mocha, an open source project