Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

밤빵's 개발일지

[TIL]20240703 코드리뷰...! 본문

개발Article

[TIL]20240703 코드리뷰...!

최밤빵 2024. 7. 4. 00:44

어제 과제하다가 머리 식히러 TIL을 쓰러 왔었는데, 조잡하고 문제만 많은 글들이라 비공개 처리 중...

과제 하면서 일어난 오류들을 기록했어야하는데 또 급급한 마음이 들어 넘겨버린게 아쉽다

어떻게 해결된건지 적어놨으면 다신 안 잊어버릴텐데 스크린샷 폴더를 열심히 뒤져봐야 할 거 같다 .

여유가되면 쓰려고했던걸 적고 수정해야될 것 같다. 과제는 완성이 된 것 같았지만... ? 

필수 요구사항 중 마지막 사항을 잘 구현해내지 못했다.... 왜 그걸 확인 못 했을까 

 

이 방법이 공부가 많이 된다고 해서 한줄한줄 공부중.원래는 강의를 들어야하는데 숙련주차 강의가 입문강의 보다 더 길다. 8시간 가까이되는 강의하나와 5시간쯤 되는 강의하나.. 걱정이 됐지만 이 공부가 강의듣기를 수월하게 해준다고 해서 강의를 듣다가 딴 짓하고싶으면 한 번씩 다시 보기로했다. 이런 코드 정리가 하루종일 걸릴거라곤 생각도 못했다!

 

[ 알아내야 할 것]

▶ 제네릭에 쓴 <?> 와일드카드

public ResponseEntity<?> handleRuntimeException(RuntimeException ex, WebRequest request)

제네릭도 다형성을 적용할 방법이 있다고 해서 찾아보다가 ? 넣었는데 기술매니저님의 질문에 잘 대답하지 못했다.

<? extends T > → 와일드 카드의 상한 제한. T와 그 자식들만 가능 

<? super T > → 와일드 카드의 하한 제한. T와 그 부모들만 가능

< ? > → 제한없음. 모든 타입이 가능 < ? extends Object >와 동일 

모든 유형이 반환 될 수 있어서 유형 안전성이 떨어져서? 올바르게 관리하지않으면 런타임 오류가 발생하니까....? 

 ▶ 단일 항목인데 람다를 쓴 이유?

public MemoResponseDto getMemo(long id) {
    return memoRepository.findById(id)
         
            .map(MemoResponseDto::new)
         
            .orElseThrow(() -> new IllegalArgumentException("Memo not found"));
    
}

람다를 잘 몰라서 너무 궁금해졌다. 하지만 하나 깊게 파고들고 있지말라는 조언을 들어서 지금은 패스하지만 너무 궁금해서 검색을 해봐도 딱히 이거다 싶은 내용이 없어서 찜찜해지는 중.. 꼭 알아 내야지..

▶ RESTful 의 의미 

종종 들리는 단어라 찾아봐야지 찾아봐야지 하다가 기술매니저님의 질문에 말문이 막혔다. 

웹미니프로젝트때부터 알아뒀어야 하는건데 미루다미루다 오늘에서야 찾아보기 시작.

▶ stream()을 쓰는 이유 

for문같은 반복문이라고 했는데 , 누구는 담배로 표현하기도 하고.... 강사님이 쓰신 코드를 써둔거라 이유를 너무나 알고싶었다. 하지만 이것도 왜 여기서 stream을 썼는지 속 시원히 알 수 없어서 쉴 때 마다 틈틈히 찾아보는 중 

▶ /api 를 두는 이유 

@RequestMapping("/api")

그냥 HTTP요청을 컨트롤러메서드에 매핑하는데 사용하는거라고만 알고있다가 /api 질문에 대답을 하지 못해서 

말로 설명할 수 있는 정보를 알아놔야겠다고 생각했다. 

 

😵‍💫오늘의 회고

구글링은 센스의 영역인가보다 ... 나는 아무리 구글링을 해도 좋은 정보를 찾지 못 하는 것 같아서  답답하다. 

Spring주차가 시작되고 하루하루 멘탈이 오락가락 한다. 헷갈리고 어려운데 또 코드보면 깔끔해서 기분은 좋고 

비슷하게 생긴 어노테이션 보면서 눈도 같이 돌아가다가 아는 어노테이션 나오면 또 도파민이 팡팡터지고.... 

공부가 힘든건 아닌데 간단한 설치나 환경변수 설정 깃하나 못할때마다 이것도 못하는데 무슨 개발자가 된다는건지 란

생각이 들어서 요즘은 이게 맞나 계속 그런생각을 하는 중... 하지만 일단 과제는 해보고 싶으니까 다시 공부하러 가자..!