-
Notifications
You must be signed in to change notification settings - Fork 0
4조 랜덤 그룹 리뷰
- 인텔리제이에서 프로파일러를 통해 메모리와 CPU를 어떻게 트래킹할 수 있는지 공유했습니다. 저도 이 기능을 잘 몰랐는데, 메모리 200GB이슈의 원인을 찾는데 큰 도움을 주었습니다. 꼭 한번 써보시길!!
- 바이트 기반으로 읽는 부분에서 RequestInputStreamReader를 통해 분리하여 기존 테스트가 2개 밖에 깨지지 않았습니다!
- 저를 제외하고 9단계까지 구현하셨는데, 보면서 정말 대단하다는 생각이 들었습니다. 어쩜 이리들 빠를까,,
- 바이트, Query등을 파싱하는 부분이 비슷하면서 다른데 겹치는게 적어서 다양한 생각을 볼 수 있어서 좋았어요!
- 추상 계층을 더 분리하는 방법으로 공통로직을 분리할 수 있다~ (필터를 꼭 사용하지 않아도! 필터와 동일한 원리는 맞는듯)
- XSS 공격을 Escape 문자로 처리하는 부분에서 정말 꼼꼼함을 느꼈습니다! ㅎㅎ
- 과제가 끝났습니다. path variable, argument resolve까지 구현하신 분이 계셔서 놀랐습니다.
- 인텔리제이 얼티밋의 몰랐던 기능인, 프로파일링을 알게되어 좋았습니다.
- 리뷰 활동이 겹쳤던 분들이 많이 계셔서 봐왔던 코드들이 많았습니다.
- 시간적 여유가 많았으면 좀 더 대규모인 상황을 고려해봤을 거 같아 아쉬움이 있습니다.
열심히 사이트를 만들었더니, 터져있었다. 댓글로 스크립트를 넣었더니, 해당 스크립트가 동작하여 공격자가 만든 스크립트가 자동으로 실행되었다. 오늘 그룹 리뷰를 한 캠퍼분은 하면서 XXS공격을 방지하기 위해 HTML의 예약어로 치환하여 화면을 렌더링하는 것을 보았다. 기능을 완성하는게 다가 아니라는 것을 알았다. 해당 사이트가 공격에 취약하지 않은지, 고객의 정보가 유출될 수 있는지 확인해보아야겠다.
한 캠퍼분이 이미지 업로드 과정에서 계속 터져서, 인텔리제이를 활용하여 디버깅 하는 방법을 알려주었다. Heap메모리와 CPU사용량을 확인할 수 있었다. 지금은 필요 없을지 몰라도 다음에 꼭 유용한 상황이 나올 것 같다.
DB를 직접 만들어 볼 일은 평생 없을 것 같은데, 이번에 만들게 되었다. JDBC에 인터페이스가 각각 어떤 일을 하고 어떤 역할을 하는지 공부가 많이 되었다.
내가 공유한 내용 BcryptPasswordEncoder, ArgumentResolver를 만들었고, xss와 csrf공격을 막기 위한 기본적인 조치를 해놨습니다. xss는 request객체의 프록시를 만들어 메서드를 호출하면 html의 escape문자로 파싱해서 건네주도록 로직을 작성했습니다. 필터를 적용하고싶었지만, 끝나버려서 아쉽습니다.
다른사람한테 공유받은 내용 인텔리제이의 프로파일을 이용하여 메모리가 터지는 부분을 실시간으로 확인하며 문제점을 인지하고 해결하는것을 보고 감명받았습니다. 또한, 사소하게 놓칠 수 있는 csv의 delimeter인 쉼표를 잘 처리한것을 보고 꼼꼼함에 감명받았습니다.
- CSV Driver 을 구현했습니다.
- 용량이 큰 DB 를 탐색할 때 어떻게 해야할까 고민
- 급하게 코드를 짜느라 리팩토링이 필요한 부분이 많다.
- Xss 공격에 어떻게 대비해야할까