Skip to content

3주차 금요일 그룹 3

Kim Hyunsu edited this page Jul 12, 2024 · 1 revision

240712 3조 랜덤 그룹 리뷰

강승훈

  • 클래스를 계속 찾아서 호출하는 것이 불편하다고 생각되어 리플렉션을 많이 활용했습니다.
  • 구조가 다른 분들에 비해 복잡한 것 같아 레이어를 조금 줄이면 좋을 것 같습니다.
  • 테스트에 조금 더 집중해야 할 필요를 느꼈습니다.
  • 다들 템플릿을 잘 만든 것이 인상 깊었습니다.

김현수

  • Router, handler 구조를 적용했음
  • html을 {{}} 시그니쳐를 통해 replace 를 하는 방식으로 구현했다.
  • 다른 프레임워크와 왜 차이가 발생했는 지 궁금해짐
  • 동기성과 멀티스레딩에 대해서 더 궁금해짐

김승수

  • Testable 한 코드를 짜기 위해 DI , IOC 구조로 리팩토링 하면 좋을 것
  • 싱글톤으로 생성하지 않으면 요청할 때 마다 새로운 객체를 생성하는 문제가 생길 수 있다.
  • 현재 template 패턴에 Object.field 로 field가 없는 String 값은 렌더링이 안되는 문제가 있음

홍은기

  • 문법을 지정하고 템플릿 엔진 형식으로 동적인 html을 구성하신 것이 인상 깊었습니다. 동적 html 반환 요청이 많아지면 구현하신 분들의 코드를 쭉 참고하고 도입을 고려해야겠습니다.
  • Test를 고려하지 않고 구현에만 집중한 것 같아 아쉬움이 남습니다. Test 코드 작성과 동시에 리팩토링을 진행해야 다음주 Step이 편할 것으로 생각됩니다.
  • Annnotation과 리플렉션을 이용하여 파라미터 매핑, DI, Method 구분 등의 작업을 하신 것이 인상 깊었습니다. 리플렉션에 대한 이해가 좀 더 필요할 것 같습니다.

김현욱

코드의 구조

  • Testable한 구조를 만들기 위해 DI & IOC 구조를 채택했습니다.
  • Main 클래스가 컴포넌트의 Factory역할을 하는데, 컴포넌트가 증가함에따라 main클래스의 코드가 지저분해지고 유지보수가 매우 힘들어졌습니다.
  • 그래서 Component의 생명주기를 자동으로 관리하는 container를 생성했습니다.
  • 이 Container가 생성자 주입은 현재까지 잘 되는데, method 레벨에서 컴포넌트를 생성하는 방법에 오류가 발생했습니다.
  • 문제를 보니, 의존관계의 우선순서를 정하지 않아 발생한 오류였습니다.
  • 따라서 의존관계를 먼저 서칭하는 tree를 만들어 사이클 감지 및 의존관계 우선순서를 정하는 로직을 추가하여 안정성있게 관리할 예정입니다.

템플릿 엔진

  • 템플릿 엔진을 현재 Pattern을 사용해서 replace하는 방법으로 구현했습니다.
  • 이는 수행시간의 오버헤드와 replace에 의해 불필요한 String 객체가 생성되어 메모리 낭비가 심하다고 판단했습니다.
  • 따라서 Pattern을 이용한것이 아닌, stack 자료구조를 이용하여 처리할 수 있도록 구현할 예정입니다.

다른분들 리뷰

  • Server의 스트레스 테스트를 한 경험을 공유해주셨던것이 인상깊었습니다.
  • 다들 자신의 코드와 개선점을 잘 정리해서 말해주셔서 인상깊었습니다.

아쉬운점

  • 이번주 초반에는 tdd를 지키며 개발해서 속도는 느리지만 기능단위로 개발을 잘 했습니다.
  • 막바지에 요구사항을 충족시키기 위해서 테스트코드를 작성하지 않고 스파게티코드로 작성을 하니 어디선가 계속 오류가 터지고, 불안해졌습니다.
  • 타협을 잘 해서 테스트와 기능구현을 잘 조절해야겠습니다.

👼 개인 활동을 기록합시다.

개인 활동 페이지

🧑‍🧑‍🧒‍🧒 그룹 활동을 기록합시다.

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally