지난 시간 객체 지향의 핵심에 대해서 알아보았는데, 더 나아가 의존성에 대해서 깊게 공부해보고자 합니다! 객체 지향의 핵심에 대해서는 아래 포스팅을 참고해주세요! [Javascript] 객체 지향 (Object Oriented)의 핵심, JS의 다중 패러다임 저는 요즘 클린 아키텍처(Clean Architecture) 책을 읽고 있어요. 이 책에서는 ‘좋은 아키텍처를 만드는 일은 객체 지향 원칙을 이해하고, 응용하는 것에서 출발한다’ 라고 말합니다. 왜 그런 것일 lurgi.tistory.com ❓의존성이란? 의존성은 객제 지향에서 한 객체가 다른 객체와의 상호 관계를 나타내는 것입니다. 객체를 분리하고, 의존성을 가지게 됨으로써 복잡한 메서드를 모듈화 하여 빠르게 코드를 이해할 수 있고 재사용성도 높아..
이번 시간에는 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 ..