도도한 개발자
[TIL] 2023/09/08 본문
🐈⬛ 오늘 공부한 내용
- 인프라 개선 강의 못 알아들어서 슬프기
- 미션 step1 리뷰 반영
- EnumMap<> 사용해보기
🐾 느낀 점 & 배운 점
어제 테코톡 끝나고 오늘 리뷰를 제대로 봤는데 오랜만에 보니까 미션 요구사항들을 까먹었다.
요구사항들을 확인하고 다시 고치려니 쿠키랑 세션에 대해 너무 얕게만 알고 있었다는 걸 깨달았다. 그래서 "쿠키와 세션"부터 시작해서 "http 동작", "http 요청 응답"과 같이 기본적인 것들을 찾아봤다.
몇명인진 모르겠지만 내가 물어본 크루들의 대다수는 이미 3, 4단계 미션 거의 다 끝내고 프로젝트 리펙터링을 하는 것 같았다. 테코톡 준비하면서 제일 많이 든 생각이 '나만 외딴섬에 있는 것 같다' 였는데 이젠 그것도 끝났으니 빨리빨리 따라잡아야지.
내일은 미션 끝....내....ㄹ수 있을까? 암튼 최대한 미션 하고, 일요일에 있는 데브매칭 조금 준비해야한다.
일요일까지 스터디 준비할 게 있는데 약속이 있다. 최대한 빨리 집에 와야지.
헤더를 Map<String, String> 형식으로 저장하고 있었다. 그러다가 어차피 key로쓰는 String은 Header enum에 있는 원소에 .getName()해서 String으로 가져오는데 이러는 것보단 Map<Header, String>으로 하는게 나아보였다. 그리고 기억 저편 어딘가에 EnumMap<>이 떠올라서 찾아보니
EnumMap<Header, String> header = new EnumMap<>(Header.class);
이렇게 사용하면 되는 것 같았다. 뭐가 다른지 찾아보다 우테코 4기 후디의 글이 이해하기 좋아서 정리해본다.
EnumMap 은 내부적으로 배열에 값을 저장할 수 있고 겹치지 않는 일정한 순번을 가지고 있기 때문에 해싱을 할 필요도, 해시 충돌 (Hash Collision) 을 처리할 필요도 없다.
그리고 기존에 사용했던 HashMap의 경우 일정 개수 이상의 자료가 저장되면 리사이징(Resizing) 작업을 하게 되는데, EnumMap 의 경우 전달된 Enum 타입의 상수 개수만큼만 저장공간을 확보하면 되므로 리사이징이 필요없다.
즉, EnumMap은 빠르다.
💭 감정회고
집에 오늘 길에 박카스랑 사이다 사서 얼박사 만들어 마셨다. 진짜 여기가 어디야 천국이야.
오랜만에 글쓰니까 재밌당. 근데 글같은 글을 써야 하는데 너무 날로 먹는거 아닌가 싶다.
내일 늦게 일어나야지이
'TIL' 카테고리의 다른 글
[TIL] 2023/09/12 (3) | 2023.09.12 |
---|---|
[TIL] 2023/09/11 (0) | 2023.09.11 |
[TIL] 2023/09/03 (0) | 2023.09.03 |
[TIL] 2023/09/01 (0) | 2023.09.01 |
[TIL] 2023/08/31 (6) | 2023.08.31 |