개발로그
-
10/31 TIL | HandlerInterceptor란?📝 기록/매일의 기록 2022. 10. 31. 19:06
이번 강의에서는 HandlerInterceptor가 등장했다. 오늘의 TIL은 HandlerInterceptor가 대체 무엇을 하는 놈인지 정리해보려고 한다. 일단 강의의 어떤 시점에 등장하였는지 먼저 말해보자면... 홈 화면에 접속하여 어떤 Token을 보내면 그 사용자에 맞는 이름을 홈 화면에 출력하게 만들려고 하면서 등장하였다. @RequestAttribute를 사용해서 user의 정보를 받고, user가 없으면 기본적으로 "Hello, world!", user가 있으면 "Hello, {유저 이름}"을 출력하려 하고자 한다. 하여 위와 같은 코드로 구현을 하였고, 아래와 같은 테스트를 돌린다. 헌데 Missing request Attribute라는 에러를 반환한다. 이는 Controller의 액션이..
-
TWIL #10 | 정신차려 이 각박한 세상 속에서!📝 기록/매주의 기록 2022. 10. 30. 22:05
📝 TWIL(This Week I Learned) 작성 가이드 1) 이번 주 한 일, 느낀 점, 배운 점을 작성한다. (3Fs, 1~2번에 해당) 2) 앞으로 개선할 점 등 어떻게 하겠다는 실천계획을 구체적으로 작성한다. (Future Action Plan, 3번에 해당) 3) 다음 TIL을 작성할 때 FAP가 제대로 지켜졌는지 피드백을 작성한다. (4번에 해당) - 참고: 5Fs, 뒤돌아보다 1. Facts (사실, 객관) - Spring으로 REST API 서버를 만들었다. - 입력 Validation Check와 JPA Repository 활용하여 작업하였다. - H2 Database로 영속성 기능을 구현하였다. 2. Feelings (느낌, 주관) & Findings (배운 점) 1) 이번 주는 ..
-
10/30 TIL | getReferenceById & findById 정리.📝 기록/매일의 기록 2022. 10. 30. 18:47
우선 getReferenceById에 대해서 말하려면, getOne과 getById도 등장해야 한다. 이 셋은 같은 메서드인데, getOne이 스프링 2.5 버전에 deprecated되면서 getById라는 메서드로 바뀌었고, 스프링 2.7 버전에 다시 deprecated되고 getReferenceById라고 이름이 바뀌었다. 공식 문서에서 똑같은 기능을 기술하고 있기 때문에 더 나은 네이밍을 위해 기능은 같으나 이름이 변경된 케이스라고 생각하면 된다. 그렇다면 어떤 경우에 getReferenceById를 사용하고, 어떤 경우에 findById를 사용해야 할까? 우선 getReferenceById는 찾으려는 대상이 없는 경우 내부에서 예외를 발생시킨다. 반면, findById는 찾으려는 대상이 없는 경우..
-
10/29 TIL | 인증(Authentication)과 인가(Authorization)📝 기록/매일의 기록 2022. 10. 29. 23:58
드디어 11주차의 학습의 첫날..! 이번 주는 로그인/회원가입을 배우는 주간인데, Spring Security를 통해서 구현한다. 오늘은 로그인 파트를 공부했는데, Hash 알고리즘을 활용하여 사용자에게 필요한 암호를 암호화하고, JWT를 활용해 사용자 정보가 담긴 토큰을 발급하는 과정을 배웠다. 그렇게 이번 주차 강의는 로그인/회원가입인 만큼, 인증(Authentication)과 인가(Authorization)라는 개념이 중요하게 다가왔는데, 솔직히 말해서 '인가'라는 단어는 이번에 처음 들었다..😅 항상 Authorization이라고 사용하였기 때문에... 옆에 붙은 영단어 Authorization을 보고 아하.. 그 뜻이구나 싶었다ㅎㅎ.. 이렇게 (내게는) 생소했던 단어인 인가와 인증에 대한 개념 ..
-
10/27 TIL | 문서화는 나의 힘! Github Issue Template을 활용하여 문서 손쉽게 작성하기.📝 기록/매일의 기록 2022. 10. 27. 15:33
오늘부터 코딩 도장 문제를 풀기 전에 어떻게 문제를 풀 것인지 글로 생각을 정리하고 문제를 푸는 것으로 새로운 가이드가 주어졌다! 가이드에서는 README.md 파일에 작성하라고 되어있었지만, 매번 README.md 파일 생성, 안에 들어가는 템플릿 복사 붙여 넣기 등 부수적인 작업을 해야 하는 게 귀찮았다... 이런 거는 어떻게든 자동화하고 싶은 맴..^^ㅎㅎ 그래서 깃허브 레포지토리 기능 중 이슈를 적극 활용해봐야겠다 싶었고, 오늘 코딩 도장에 일찍 출근한 김에 이슈 템플릿을 만들어보았다! 동기들에게 공유를 했더니 옆자리 쥬쥬가 너무 좋다고 TIL로도 공유해달라고 해서 한번 작성해본다! 이슈 템플릿 작성 방법 1. 템플릿을 만들고자 하는 레포지토리의 Settings를 클릭한다. 2. Settings ..
-
10/26 TIL | 컴퓨터는 잘못 없고.. 잘못은 내가! (feat. Java Bean)📝 기록/매일의 기록 2022. 10. 26. 20:11
프론트 구현은 1시간 만에 했는데, 서버 구현이 계속 에러가 생겨서 완성에 이틀이나 걸렸다. 이건 내가 강의를 완벽하게 이해하지 못했다는 증거였고, 그래서 아예 강의 반복 과제를 다시 복기하는 식으로 이번 주 강의를 다시 이해하는 데에 공을 들였다..🥲 어제저녁에 생겼던 에러는 이거였는데 강의랑 다~~ 똑같이 따라 했고 심지어 파일이 3개? 밖에 만들어지지 않은 극!! 초반에 이런 에러가 생기니 대체 무슨 일인지 모르겠어서 한 1시간 붙잡고 있다가 이건 지금 당장 내 힘으로 되는 게 아니다 싶어서 빠르게 포기하고 잠을 잤다. 아침에 오자마자 동기들에게 SOS를 요청했고.. 이유는.......... 내가 PostDto의 getter 메서드에 get이라는 prefix를 제거해버렸기 때문이다.. 버릇처럼 ge..
-
10/25 TIL | 코테 여러 번 풀기? 에러 발생? 오히려 좋아!📝 기록/매일의 기록 2022. 10. 25. 18:09
어제와 오늘의 코딩 도장 문제 풀이! 프로그래머스의 K번째 수라는 문제였고, 어제는 Java, 오늘은 JavaScript로 문제를 풀었다! 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 - array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. - 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. - 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용..
-
10/24 TIL | 에러 메시지를 제대로 읽자!📝 기록/매일의 기록 2022. 10. 24. 21:43
오늘 짝 프로그래밍으로 게시판 API를 만들고 개인 과제로 JPA를 통한 영속성 기능을 추가하는데, 기능을 다 구현하고 클라이언트에 POST를 하는데 게시글이 화면에 추가가 안 되는 거다;; 분명히 테스트 코드도 모두 통과했는데 이게 무슨 일인가 싶어 H2 콘솔을 살펴보는데 정작 DB에는 잘 POST한 내용이 반영이 되어 있는 것이다..!(첨에 안되길래 두 번 눌러서 똑같은 게 두 개 올라감..) DB에 추가는 잘되는데 브라우저 개발자 도구 콘솔에서는 500 에러가 뜨길래 한 10분을 고민하다가 동기들에게 SOS를 쳤고... 서버는 잘 떠져 있고 BASE_URL 접근은 잘 되는데 정작 api 호출을 하고 있는 /posts가 아래 사진처럼 계속 Error Page를 뱉고 있었던 것..! 다들 헉 왜지 하고..