부트캠프

50일차 TIL

ohs020105 2025. 1. 13. 20:58
  1. 클래스와 인스턴스
    • 클래스는 객체를 생성하기 위한 설계도라는 것을 배웠다.
    • 인스턴스는 클래스를 기반으로 만들어진 실제 객체라는 것을 알게 되었다.
    • 이를 코드로 작성하면 new 키워드를 사용해 클래스를 인스턴스화할 수 있다는 점도 이해했다.
    • 왜 사용하면 좋은가?
      • 클래스를 사용하면 코드의 재사용성이 높아지고, 객체 지향적으로 설계할 수 있어 복잡한 로직을 체계적으로 관리할 수 있다.
  2. 3-Layered Architecture
    • 3계층 아키텍처는 Presentation Layer, Business Logic Layer, Data Access Layer로 나누어 코드를 설계한다는 것을 배웠다.
    • 각 계층의 역할을 분리하면 코드의 유지보수성과 확장성이 높아진다는 장점을 이해했다.
    • 왜 사용하면 좋은가?
      • 계층별로 책임을 분리하여 코드가 더 깔끔해지고, 특정 계층만 수정해도 다른 부분에 영향을 최소화할 수 있다.
  3. 의존성 주입(DI, Dependency Injection)
    • 의존성 주입은 객체 간의 의존성을 외부에서 주입받아 객체 간 결합도를 낮추는 설계 패턴이라는 것을 알게 되었다.
    • 이를 통해 코드의 유연성과 테스트 가능성을 높일 수 있다는 것을 학습했다.
    • 왜 사용하면 좋은가?
      • 코드의 모듈성을 강화하고, 테스트 시 실제 구현 대신 Mock 객체를 주입하여 더 쉽게 단위 테스트를 작성할 수 있다.
  4. 테스트 코드
    • 테스트 코드는 작성한 코드가 의도한 대로 동작하는지 검증하는 도구라는 것을 배웠다.
    • Jest를 사용해 단위 테스트를 작성하고, expect와 같은 검증 메서드를 사용하는 방법을 학습했다.
    • 왜 사용하면 좋은가?
      • 코드가 수정되거나 새로운 기능이 추가될 때, 기존 기능이 깨지지 않았는지 자동으로 확인할 수 있어 유지보수성이 높아진다.
  5. Express.js 라우터 분리 및 아키텍처 설계
    • Express.js의 라우터를 분리하고, 3-Layered Architecture 방식으로 코드를 모듈화하는 방법을 배웠다.
    • 라우터는 요청/응답을 관리하고, 서비스 계층에서 비즈니스 로직을 처리하며, 데이터 접근 계층에서 데이터베이스와 통신한다는 것을 이해했다.
    • 왜 사용하면 좋은가?
      • 라우터, 서비스, 데이터 접근 계층을 분리하면 코드가 읽기 쉽고 확장하기 쉬워지며, 역할이 명확해져 유지보수가 용이하다.
  6. 화살표 함수 (Arrow Function)
    • 화살표 함수는 기존 함수 표현식보다 간결한 문법을 제공하며, this와 arguments가 상위 스코프를 참조한다는 것을 배웠다.
    • 이를 통해 짧고 간결한 함수 표현식을 작성하는 방법을 학습했다.
    • 왜 사용하면 좋은가?
      • 코드가 간결해지고, 상위 스코프의 this를 참조하기 때문에 콜백 함수나 이벤트 핸들러를 작성할 때 코드의 가독성과 유지보수성이 높아진다.

'부트캠프' 카테고리의 다른 글

52일차 TIL  (0) 2025.01.15
51일차 TIL  (0) 2025.01.14
WIL  (0) 2025.01.10
49일차 TIL  (1) 2025.01.10
48일차 TIL  (0) 2025.01.09