Skip to content

7월 26일 랜덤 그룹 1조

김수현 edited this page Jul 26, 2024 · 12 revisions

김민주

  • WEB-INF 에서 포워딩시켜줘야한다.
  • 이걸 몰랐어서,, 고쳐야겠다,,
  • Soft delete를 구현하는 것도 재밌겠다.

이경민

💡 구현 포인트

  • .jsp로 데이터를 전송할때 도메인 객체를 그대로 보내는 방식이 좋다고 생각하지는 않아서 DTO를 활용해서 필요한 정보만 전송하는 방식을 활용하고 있습니다.
  • 예외를 통합적으로 처리하려고 ExceptionHandlingFilter를 적용해서 필터링하는 방식을 활용했습니다.
    • `IllegalArgumentException: 400 Bad Request
    • SecurityException: 401 Unauthorized
    • AccessDeniedException: 403 Forbidden
    • NoSuchElementException: 404 Not Found
    • 기타 예외: 500 Internal Server Error

❓ 고민점

  • 아직 일부 .jsp 파일이 그대로 노출되어 있어 이를 어떻게 처리할 지 고민하고 있습니다.
  • 톰켓 커넥션 풀 vs HikariCP 커넥션 풀 고민하고 있습니다.

윤중진

  • filter를 통해서 exception handler 하는 부분이 인상적이었습니다.
  • hikari를 통한 dbcp를 사용하는 것이 인상적이었습니다.
  • jsp 파일을 캡슐화하는 작업이 필요할 것 같습니다.
  • jsp를 컴파일 해 자바 코드로 분석한 점이 신기했습니다.

오민석

  • 유저 계정 삭제를 하면 Soft Delete를 해주는 것을 보고 구현해보면 재밌을 것 같습니다
  • Test에 대해서 잘 작성하지 못했는데 다른 분들 코드를 보고 Mockito로 구현해보면 좋을 것 같다고 생각했습니다
  • 오늘도 다른분들 코드 보면서 잘 배워갑니다 ^^

김수현

  • 예외 핸들링 :
    • 나는 톰캣 에러 페이지 사용해서 매번 resp.sendError()를 호출했는데 ErrorFilter를 앞단에 두어서 처리하는 방법도 있다는 것을 깨달았다.
    • 같은 IllegalArugment 여도 400 bad request로 처리해주고 싶을때가 때가 있고, internal server error로 처리해주고 싶을때가 있어서 그렇게 했는데 중복코드가 많고 어디서 어떤 예외가 응답될지 한번에 파악하기 어렵다는 단점이 있다. 공통적으로 에러필터로 처리하고 다른 에러로 응답해주고 싶을때는 에러를 잡아서 resp.sendError()를 호출하는 방법으로 리팩터링 하는 것도 좋겠다.
  • Tomcat connection pool vs hikari cp
    • hikari cp가 가장 성능 좋음
    • spring도 hikari -> toamct -> apahe 순으로 찾음
  • Don’t Repeat YourSelf 도메인부터 넓혀가면서 테스트하는게 좋음
    • 도메인 객체 테스트
  • 탈퇴한 유저 글쓰기 막기
  • jsp가 제대로 include되고 렌더링되는지 확인할 방법이 없고 디버깅도 안되어서 답답했는데 직접 tomcat baseDir 찾아서 jsp가 서블릿으로 변환된 코드를 볼 수 있다는 것을 배웠다.
  • embeded tomcat 실행시에 포트를 0으로 설정하면 따로 랜덤포트 찾을 필요 없이 톰켓이 알아서 랜덤포트로 실행해준다.
  • 아직 서버에 동시접속하는 경우가 없지만 서버는 동시 요청을 처리할 수 있을만큼 성능을 맞춰두는게 좋다고 생각한다. 톰캣이 스레드풀을 150개까지 쓰는데 커넥션풀을 최대 10개만 만들면 병목이 될 수 있다고 생각한다.

이호석

배운점

  • Filter를 통해서 예외처리를 공통화 시킬 수 있는 부분을 배울 수 있었습니다. 저는 아직 예외 처리를 신경쓰지 못했는데 세심하게 신경써주는게 좋았어요!
  • 도메인 코드의 값에 해당되는 객체들을 만들어서, 세심하게 예외 처리했던 부분들을 보면서 저런 노력들이 안정적인 서비스를 만들지 않을까 생각되기도 해요!
  • 뭔가 전체적으로 세심하게 신경쓴 부분들을 쓰면 제 프로젝트도 안정적이어지지 않을까 생각되어요 ㅎㅎ

적용하고 싶은 부분

  • 필터링 부분에서 공통처리를 진행하고 싶습니다!
  • 서블릿이 기하급수적으로 많아지는 느낌인데 어떻게 줄일 수 있을까 고민됩니다!

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

개인 활동 페이지

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

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally