반응형
반응형
이번 시간에는 git에서 과거 커밋을 없애기 위해 합치는 방법을 알려드리고자 합니다! 개발을 하고 커밋, 푸쉬를 하다보면 다음과 같은 상황이 많이 발생하기 마련입니다. feat : #3 커밋을 푸쉬하자 마자, 잘못된 부분을 인지하고 바로 수정 후 fix 커밋을 날렸습니다. 이런 상황이라면 커밋이 2개가 되겠죠? 사실상 불필요한 커밋이라는 것! 이번 시간에는 위와 같은 상황을 git의 rebase라는 기능을 이용하여 커밋을 합쳐보고자 합니다! 저는 VSC를 사용하여 rebase기능을 공부하고자 합니다. 이를 기준으로 설명드릴게요! 1. Git 대화형 리베이스 실행 일단 처음으로 실행해야 하는 것은 대화형 리베이스를 실행하는 것입니 git rebase -i HEAD~(원하는 커밋의 갯수) 여기서 주목할 점은..
저는 요즘 클린 아키텍처(Clean Architecture) 책을 읽고 있어요. 이 책에서는 ‘좋은 아키텍처를 만드는 일은 객체 지향 원칙을 이해하고, 응용하는 것에서 출발한다’ 라고 말합니다. 왜 그런 것일까요? 책에서는 객체 지향을 통해 ‘아키텍트는 플러그인 아키텍처를 구성할 수 있고, 이를 통해 고수준의 정책을 포함하는 모듈을 저수준의 세부사항을 포함하는 모듈에 대해 독립성을 보장할 수 있다. (중략) 독립적으로 개발하고 배포할 수 있다’ 라고 말해요. 음 도통 무슨말인지 모르겠네요🤣 객체 지향은 쉽게 말하면 '실제 세계를 모델링 함으로써 소프트웨어를 조금 더 쉽게 이해할 수 있는 패러다임' 이라 말할 수 있겠네요. 그러면 객체 지향의 핵심을 파악하며, 지금까지의 말이 어떤 의미인지 알아가 보도록 ..
우아한 테크코스의 프리코스 1주차를 통해 많은 것들을 배웠는데요,, 코드 리뷰에서 다른 분들의 조언과 좋은 코드들을 보며 많은 생각을 하게 되었습니다. 😊 1주차 문제에선 “사용자의 입력을 받아 재시작할지 종료할지를 결정”하는 기능이 있었습니다. 코드 리뷰를 통해 많은 분들의 코드에서 재시작 로직을 while 문으로 작성한 것이 많이 보였습니다. let is_retry = true; while(is_retry){ gameStart(); //게임을 시작한다 const USER_INPUT = await readUserInput(); // 재시작 여부를 묻는다 if(USER_INPUT === "2") is_retry = false; //입력이 2일경우 게임을 종료한다. } 위와 같은 형식으로 while문을 채..
자바스크립트의 Airbnb 코드 컨벤션에 따르면 다음과 같습니다! else if 블록 안에 return 구문이 있으면 여러 if 블록으로 나눠질 수 있습니다. // bad function cats() { if (x) { return x; } else if (y) { return y; } } // good function cats() { if (x) { return x; } if (y) { return y; } } 사실 이렇게 권장하는 이유가 분명이 있을 것 같은데요.. 아니면 정말 단순한 ‘컨벤션’ 즉 관행에 불과한 것일까요? 🤔 성능 차이? 얼핏 성능에 관련된 문제가 있다는 이야기를 들었습니다.. 혹시나 찾아봤는데, 아니더라구요. 컴파일러나 인터프리터에 의해 최적화되어 큰 영향을 받지 않는다는 것이었습..
우아한 테크코스 프리코스 2주차 미션에서 요구되는 것은 ‘본인이 만든 기능 테스트’ 입니다! 지난주 TDD에 대해 공부를 했고, 단위 테스트에 대한 내용들을 훑어 보았는데, 이번에 이렇게 미션으로 나오게 되면서 다시 한번 복습 그리고 몰랐던 부분들을 체크하면서 확실한 기능 구현을 해보려고 합니다! 이 블로그의 내용은 ‘클린 코드’ 라는 책을 기반으로 작성하였습니다! 🧐TDD? TDD… 티디디, 개발 커뮤니티에서도 그렇고 정말 많이 들리는 단어입니다. Test-Driven Development, 즉 테스트 주도 개발로, 소프트웨어를 개발하는 방법 중 하나입니다! [개발 상식] TDD란 무엇인가? 티디딕…? TDD…? 처음 들어 봅니다. 그래서 짚고 넘어가려고 합니다! 🤔TDD 가 뭐야? TDD (Test ..
이번에 우아한 테크코스 2주차 미션에서 추가된 요구사항이 있었습니다. 다름아닌 ‘indent(인덴트, 들여쓰기) depth를 2까지만 허용한다.’ 라는 요구사항이 있었습니다. 이 요구사항을 보니 의문이 들더라구요. 왜 2라는 숫자가 정해져 있을까? 혼자서 코드를 짤 땐 3번 4번 들여쓰기를 하는 경우도 허다했거든요. 이런 의문을 가지고 들여쓰기가 코드 가독성에 어떠한 영향을 미치는지 알아보려고 합니다! 🤔들여쓰기 크기가 미치는 영향? 들여쓰기가 중요한 것은 소스 코드의 구조를 미묘하게 형성하는 것입니다. 블록과 블록사이의 관계를 파악하는 것을 통해 계층 구조를 명확하게 알 수 있죠. 이는 다른 동료 개발자가 코드를 보더라도 빠르게 스캔할 수 있게 도와줍니다. 논리적인 흐름을 빠르게 이해할 수 있다는 말이..