라벨이 GIT인 게시물 표시

[GIT] 간단한 코드 수정으로 mongoose 에 contributor 되기

이미지
처음으로 expo 오픈소스 기여자가 되고나니 다른 오픈소스를 사용하더라도 더 신경써서 보게되는거 같습니다.  저는 대부분의 경우 nosql 을 사용하는 것을 선호하는 편입니다.  그러다보니 mongodb 를 주로 사용합니다. node js 에서 mongodb 를 사용하기 위해서는 mongoose 라는 라이브러리를 사용하는 것이 보편적입니다. 저는 mongoose 를 사용하기 위해 공식 문서를 보다 보니 예를 들어 const foo = new Bar 이런 형식으로 되어있는 것을 보았습니다. 여기서 이상하다고 느낀 부분은  new Bar() 가 아니라 괄호가 생략된 new Bar 라는 점이였습니다. 저는 이 문법이 오류가 발생한다고 생각해서 바로 예제 코드를 작성해보니 정상적으로 돌아가서 찾아보니 인자가 없는 경우에는 괄호를 생략해도 된다는 것을 알게 되었습니다. 그렇지만 prettier 에서는 기본적으로 해당 문법을 사용하지 않도록 설정이 되어있습니다. 다시 말해 웬만하면 사용 안하는 것이 바람직하다는 것입니다. 또한 다른 mongoose 의 예제를 볼 때 빈 괄호를 사용하는 경우가 대부분이라는 것을 확인하였습니다. 제가 본 문서에서만 괄호를 추가하기보다 전체적으로 한 번 살펴보고 다 고쳐서 PR 을 올리면 더 좋겠다는 생각이 들었습니다. 그래서 new 라는 키워드로 살펴보았더니 너무 많아서 eslint 에 속성 값을 추가하여 에러 잡히는 부분을 모두 수정하였습니다. 그래서 총 310 군데를 발견하여 수정하였습니다. 커밋 후 PR 을 날렸는데 빠른 시일내에 답을 해주었습니다. 이번에도 정말 정말 작은 코드 수정으로 운이 좋게도 contirbutor 가 되었습니다. 막상 이렇게 되니 나중엔 기능도 추가하고 싶은 욕심도 듭니다. 

[GIT] 간단한 코드 수정으로 expo 에 contributor 되기

이미지
expo 는 react-native 를 간편하게 개발할 수 있도록 도와주는 프레임워크이다. expo 의 관한 설명은 생략하고  expo 에 나의 PR 이 받아들여진 과정을 적어보려한다.  오픈소스에 참여하고 컨트리뷰터가 된다는 것은 개발자의 로망으로도 볼 수 있다. 개발을 배울 때부터 오픈소스에 타이포라도 고쳐서 기여하라고 많이 들었지만 사실 타이포를 발견하기 쉽지 않다.. 가끔 PR 목록들을 보면 어색한 문장이나 더 좋은 문장으로 변경하는 경우도 많은데 이는 웬만한 영어 실력이 아니라면 쉽지 않아 더 기회를 찾기는 어렵다. 필자의 경우는 expo 를 사용하여 개발을 진행하며 커스텀 폰트를 적용해야하는 상황이 생겼다. 이를 해결할 정보를 찾다 expo 공식 문서 에 커스텀 폰트 적용과 관련된 내용을 보게 되었다. 버그가 있는 것은 아니였지만 불필요하게 느껴지는 코드였다. 기존의 코드는 아래와 같았다. 위 코드는 간단히 의사코드로 표현하면 아래와 같다. if not 폰트로드:     return <AppLoading /> else:     return <SomeComponent /> 위 코드는 아래와 같이 개선이 가능하다. if not 폰트로드:     return <AppLoading /> return <SomeComponent /> 이러한 리펙토링은 더스틴 보즈웰, 트레버 파우커의  읽기 좋은 코드가 좋은 코드다 (The Art of Readable Code) 에서 함수 중간에서 반환하기 (Returning Early from a Function) 라고 불린다.  이와 비슷한 개념으로 마틴 파울러의 리팩토링 2판 에서는 중첩 조건문을 보호 구문으로 바꾸기 (Replace Nested Conditional with Guard Clauses) 이라고 불린다. 리펙토링 기법을 적용하여 PR 을 날렸다.  몇 문장 안되지만 시간...

[Github] 깃허브 reset --hard 로 작성 중인 파일 실수로 사라졌을 때 복원하는 방법!

이미지
회사 일을 하던 와중 벌어진 상황 잘못된 파일들을 커밋 취소하려 git reset --hard HEAD~1 입력 위 문구로 최근 커밋 이전 상태로 파일들이 변함. 즉 작성 중이던 파일들도 사라짐 위 상황에 대한 복구 방법입니다. 여러가지 구글링을 해보니  https://stackoverflow.com/questions/2510276/how-to-undo-git-reset 위 링크에 방법이 가장 유력해보였다. 그러나 아무리해도,, 되지않아 더 절망에 빠졌다. 이제 내가 해결한 방법을 공유하려 한다. 아주 간단하다. 1. 아래 보이는 링크처럼 C:\사용자\PC이름\파일경로\.git\lost-found\other 로 파일을 들어가보면 아래와 같이 알수없는 문자들로 섞인 파일들이 보일 것 이다. 2. 아래와 같이 .git이 있는 폴더 즉 해당 프로젝트 경로로 들어가 위에 알수없는 파일들을 모두 복사 한 후 아래 폴더에 붙여 넣어줍니다. 3.  git add . 쳐줍니다. 4. 저같은 경우 visual studio입니다. 아래와 같이 파일들이 탐색이 되는데 클릭해서 파일을 열어줍니다. 5. 아래와 같이 파일이 열립니다. 인텔리센스는 적용이 안되지만 작성 중이던 파일들을 볼 수 있습니다. 이것으로 잃어버린 코드를 복원하시면 됩니다. 다음부터는 reset --soft 를 씁니다,, 제 포스팅이 도움이 되시는 분이 계시기를 바랍니다!