글/개발

[개발] Pass By Value vs Pass By Reference 란?

최근 첫 기술면접을 봤습니다. 면접은 무조건 여러 번을 봐야 한다는 말을 새삼 느끼게 되더군요. 면접 질문 중에 Pass by value, Pass by reference에 대해서 아시나요? 가 있었습니다. 이번 기회에 대해 제대로 알아보려고 합니다. 0. 자바스크립트(Javascript)에서의 Primitive Type(원시 타입) vs Reference Type (참조 타입) 각 언어마다 변수를 넘겨주는 방법은 다양합니다. 먼저 자바스크립트에서는 원시 타입과 참조 타입이라는 두가지 자료형이 있습니다. 원시 타입은 숫자(Number), 불린(Boolean), undefined, 문자열(String), null 이렇게 5가지가 있습니다. 참조 타입에는 객체(Object), 배열(Array), 함수(Fun..

2022.02.28 게시됨

글/개발

[Git] Git rebase, Git squash로 커밋 정리하기

최근에 회사에서 다른 프로젝트팀을 도와 translation작업을 한 적이 있습니다. branch를 새로 만들어서 git rebase 후, 작업을 해서 pull request를 올렸습니다. 당연히 이전에 제가 하지 않은 작업의 커밋까지 모두 올라갔고, 뭔가 정리를 해서 올려야겠다 라는 생각을 한 그 순간, 다른 팀원 분이 1분도 채 지나지 않고 comment를 달아주셨습니다. Squash and merge? git에 익숙하지 않은 저에게는 생소한 명령어였지만, 아 커밋을 정리해주는 명령어구나 라는 사실은 단 번에 알 수 있었습니다. 그래서 오늘은! Git Squash에 대해서 알아보려고 합니다. Git Squash 를 왜 써야 할까요? 협업을 진행하거나, 회사에서 소스코드를 수정할 때 보통 브랜치를 만듭..

2021.11.30 게시됨

글/기록

스타트업 인턴 회고(40일차)

9월 8일, 스타트업 인턴을 시작하게 되었습니다. 백앤드 개발 인턴으로 시작하게 되었지만, 40일이 지난 현재 오히려 백앤드 보다는 프론트앤드랑 더 가까워진 듯한 느낌입니다. 스타트업은 생각했던것 보다도 훨씬 일이 많고 한 사람이 정말 다양한 일을 합니다. 거기서 얻는것도 물론 많지만 제가 6개월 동안 운동을 하지 않았었다면 체력적으로 정말 힘든 시간을 보냈으리라 생각이 드네요. 출근 2일차, 회사에서 GCP를 사용하는데 VM을 실수로 날려버려서 10분 동안 서버가 사라지기도 했고, B2C 서비스를 제공하는 스타트업이니만큼 결제 오류가 상당히 많이 나서 결제가 정상적으로 되었음에도 유저들한테 결제 오류라고 Modal을 띄우는 에러가 발생해서 결제 취소를 해주고, 스크립트를 짜서 DB를 수정하고... 했던..

2021.10.13 게시됨

글/개발

[개발]TDD / 테스트코드 란?

최근에 개발을 하면서 TDD, 테스트 케이스 등의 단어를 자주 접했다. 코드를 짜면서 점점 테스트 코드의 중요성을 알게 되었고 테스트 코드, 테스트 케이스 등 테스트를 이용한 개발이 무엇인지, 왜 중요한지에 대해서 정리해보려고 한다. TDD란 무엇인가? TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 테스트 주도 개발은 말그대로 테스트 코드를 먼저 작성하는 것부터 시작하면 되고 순서는 아래와 같다. 먼저, 항상 실패하는 테스트를 먼저 작성하고 테스트를 통과 시키기 위한 실제 코드를 작성한다. 다음으로 테스트가 통과하면 중..

2021.08.10 게시됨