-
Notifications
You must be signed in to change notification settings - Fork 0
08.02 2조 코드 리뷰
HyeonSik Choi edited this page Aug 2, 2024
·
6 revisions
- 어차피 connection이 있었는데, 임의로 setAutoCommit false로 한 뒤, 강제 롤백하면 더 좋을 거 같다!!! 이 생각을 못 했다
- TranscationManager를 직접 구현하신 것이 인상적이였음, 직접 template을 만들어보는게 좋은 경험인 것 같다!
코드리뷰
- Transaction을 공용으로 사용하기 위한 기능을 추가하신것이 인상깊었습니다.
- exception filter를 이용해서 exception을 한큐에 처리하신것이 인상깊었습니다.
- 테스트코드에서 abstract를 이용해 db setup을 공통적으로 처리한것이 인상깊었습니다.
피드백 드린 내용
- 테스트코드를 위해 db를 setup 할 때, 테이블을 drop, create하는 과정이 오버헤드가 크기 때문에, test를 진행할 때 단 한번 실행해주고 Transaction을 이용해서 테스트가 끝나면 rollback 해주는 방법
- jsp와 js에서 공통적으로 사용하는
${}
문법을 처리하는 방법
- jsp와 js의 ${} 구문 충돌을 ${}로 하면 js만 인식할 수 있도록 할 수 있다.
- 커넥션에서 오토 커밋을 끄고 커넥션 롤백을 하면 테스트를 독립적으로 사용할 수 있다.
- 트랜잭션을 직접 구현 하신 것들을 보고 데이터 정합성 관점을 좀 더 생각해야겠다는 생각을 했습니다.
- 다양한 시도를 통해서 지식을 얻는 부분이 제가 본받아야할 점 이였다고 생각이 들었어요 !
-
filter로 request를 감싸서 스크립팅 공격을 막는 것이 인상 깊었습니다.
-
DI Container를 만들고, circular reference를 찾는 부분이 좋았습니다.
-
test 할 때 connection 객체의 rollback을 이용한게 좋습니다.
-
트랜잭션을 구현하고 그거에 대해 테스트 하는 부분을 작성하는 것이 인상 깊네요.
- jsp 파일 내에서 자바스크립트를 사용하는 경우, ${}를 사용하면 jsp가 먼저 컴파일하면서 자바스크립트에 해당 구문을 사용할 수 없게된다. 이를 해결하기위해
\${}
를 사용하면 jsp가 컴파일하지않아 자바스크립트에서 활용할 수 있게 됩니다. - 데이터베이스를 사용한 테스트 시에 connection.autoCommit(false) 하고 after each 에서 rollback 하면 테스트가 편해질 수 있다는 팁을 얻었습니다.
- 저는 일반 Filter를 구현했었는데, HttpFilter를 구현하면 내부에서 HttpServletRequest로 변경해주지 않아도 되서 편리한 것을 알았습니다.