Skip to content

2주차 수요일 그룹 3

CodingLuizy edited this page Jul 3, 2024 · 2 revisions

| Group 3 | 김현준, 이영민, 박정제, 오민석, 김승수 |

김현준

배운점

  • resource mapper를 만들어 주는 것 어떻게 처리할까 고민했는데 깨달았어요.
  • handler로 핸들링 하는 것 좋은거 같아요 깔끔한 코드네요 !
  • 공식문서에 따른 OWS때문에 trim 쓰는 것과 URI Path 종류 4가지 처리 부분, http 헤더 값 핸들링 부분이 디테일이 좋았어요.
  • 정리를 생활화한 부분이 좋았어요
  • BufferedReader가 문자를 다루어서 ico이 깨지는게 신기했어요.
  • 쓰레드 풀 부하 테스트 부분이 좋았어요.

후기

배운 거 너무 많고 고민하던 아이디어들을 어떤 방식으로 해결할지, 디테일적인 부분도 함께 알게 되어서 좋았던 시간이였습니다.

이영민

  • ThreadPool Service 에서 LinkedBlockingQueue 에 대해서 배웠습니다. 기본 newFixedThreadPool 에서 MAX_INTEGER 가 큐 사이즈 기본입니다. 따라서 제한해주는 편이 좋다는 것을 배웠습니다. File 리스판스와 String 리스판스를 별도로 해야한다는 것을 배웠습니다. byte 1024 로 하면 안된다! final 을 파라미터에 잘 붙여주는 것도 좋은 것 같습니다. HTTP 1.1 이랑 2 랑 톰캣이 프로세싱하는 게 아예 다르다는 것도 처음 알았습니다. RFC 규격을 신경쓰신 점도 인상깊었습니다.
  • parse 하는 메서드에서 /** */ 주석을 이용해서 결과값을 어느정도 미리 볼수 있는 점이 인상깊었습니다. ‘:’ 기준으로 split 을 하면 trim 을 해줘야한다. 양쪽에 공백이 있을 수 있음.
  • Request 와 Response 같은 키를 사용하면 안 된다? HTTP → 불변 → 레코드, unmodifiableMap 등을 이용해서 header를 변경 불가능하게 한 점이 인상깊다.
  • 보통 URI를 위해서는 request target 상황에 다를 수 있으니까 잘 확인해야한다.
  • Request 에 content-length 를 이용해서 byte를 더 읽는 방식으로 request body 를 읽는 구현이 좋았습니다.
  • FileInputStream 을 순수하게 사용해서 Byte 를 사용하셔서 바이너리 파일을 잘 하신 게 인상깊었습니다.

박정제

기본 ExcuteServic factory 인스턴스는 큐 max 사이즈가 Integer max 로 되어서 문제가 될 수 있다

HTTP를 보낼때는 같은 헤더를 여러개 작성하면 안된다

HTTP를 받을때는 같은 헤더가 있다면 콤마로 분리해서 붙여서 사용할 수 있다

따라서, 여러 헤더가 있을때 붙여서 사용하도록 했다.

backlog수가 동시 요청 가능 개수를 늘리는데 유의미하다

오민석

🔥 재미있는 그룹리뷰
  • 더 구현해봐야 할 것! : router mapper, string util

  • 더 공부해봐야 할 것! : back log 수, http 규약

  • 더 생각해봐야 할 것! : 다른 분들이 진행한 test code 등에 대해 더 생각해봐야 할 것 같다

  • 정리한 내용들을 더 꼼꼼히 봐야 할 것 같다. (Linux Kernel exec 부분 더 볼 것!) 구현 방식에 대해서 더 생각을 해보고 진행을 해야할 것 같다고 생각했다!

김승수

  • ThreadPool 에서도 Queue Size 를 설정하지 않으면 기본으로 Intger.MAXVALUE가 들어간다. 여기서 많은 요청이 들어왔을 때 요청이 쌓여 서버가 종료 될 수 있다.
  • Http 공식 문서를 통한 Request 형식에 주의 해야할 점이 많은 것 같다.
  • HttpCode MIME enum 클래스 만들고 반복되는 문자는 상수화 ! ( 문서와 비슷하게 )

백로그 수 유의미 한가 ?

💡 변수 : 백 로그 수, 동시요청 수 결과 : 응답 수 상수 : 멀티 쓰레드 (10개의 쓰레드)
  • 백로그 수에 따라 테스트 ( OS 딴에서 128개가 최대 )

  • 자바 멀티 쓰레드 환경 ( 10개의 멀티쓰레드 )

  • 동시요청 1000개 일 때

백 로그 수 1 10 50
응답 수 테스트가 안끝날 정도로 오래걸림,, 753 1000

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

개인 활동 페이지

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

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally