전체 글 (92) 썸네일형 리스트형 @ResponseBody VS ResponseEntity Spring을 사용해 RESTful 서버를 개발할 때, 많은 사람들은 일반적으로 다음과 같이 Controller를 개발한다.@RestController 어노테이션을 통해 Controller 클래스 작성.ResponseEntity를 반환하는 메서드들 작성.왜 그렇게 할까?왜 @Controller 가 아닌 @RestController 어노테이션을 붙이는지 생각해 본 적이 있는가?@RestController 에는 @ResponseBody 가 붙어 있어서? 메서드가 응답하는 값을 JSON으로 쓰려고?정말 그럴까?그렇다면 메서드가 반환하는 ResponseEntity 클래스 자체가 JSON으로 쓰여야 하는 것 아닌가? ResponseEntity를 반환하는데? 오늘은 이 질문들에 대한 답을 알아가보자 한다. 배경지.. Json 은 View 가 아니다 (@ResponseBody 가 붙은 핸들러는 어떻게 응답 바디를 구성할까?) 제목을 보고 의아함을 느낀 독자가 있을 것이다."Json 도 Response Body 에 들어 있는데, 사용자에게 무언가를 보여 주기 위한 정보니까 View 아닌가...?""View 를 위해 사용되는 데이터니까 View 아닌가...?"등등, 많은 의문이 들 수 있다고 생각한다. 관심을 끌기 위해 자극적으로 제목을 지었다.지금부터 다룰 주제에 적합한 제목은 사실“Spring MVC 관점 에서 JSON 응답은 View 가 아니다!“ 이다.지금부터 이를 증명하고자 한다. 이 여정은 한 의문에서 시작되었다 View 의 렌더링은 핸들러가 반환하는 ModelAndView 를 통해 이루어진다.@ResponseBody 가 붙은 핸들러는 어떤 ModelAndView 값을 반환할까? 1. DispatcherSer.. 우아한테크코스 7기 레벨 1 회고 회고란?회고란 과거를 돌아보고 그 경험에서 배운 점을 정리하는 것을 말한다.회고는 개인의 성장과 조직의 발전을 위해 중요한 활동이다. 우아한테크코스 7기 레벨 1을 돌아보며 회고록을 작성해보고자 한다. 토론 우아한테크코스에 오기 전에는 혼자 공부하고 의사결정을 내렸기 때문에, 토론 기회가 없었다. 고립되어 있다 보니 올바르게 성장하고 있는지 알 수 없었고, 시간 가성비가 좋지 않았다. 누군가와 함께 소통하며 공부하고 싶다는 갈증이 컸다. 레벨 1 데일리 크루들과 말을 트게 되면서 이 갈증을 마음껏 해소했다. 적극적으로 토론하며 많은 것들을 배웠다. 1. 모든 논리를 증명하고 팩트만 비교하는 과정에서 자바를 깊게 파볼 수 있었다. 두루뭉실하게 알고 있던 개념을 끝까지 파고 들어가는 시간을 가졌다.2. .. Java HashMap 의 동작 원리 (Java 8 이상에서) Map 은 key - value 쌍으로 데이터를 저장하기 위한 자료구조이다.HashMap은 Map의 구현체 중 하나로, 기본적인 아이디어는 다음과 같다. Map은 Key를 통해 Value에 접근할 수 있어야 한다.Key를 해싱해 배열의 index로 사용하고, 거기에 Value를 두면 되지 않을까?이 아이디어를 구현하기 위해, HashMap은 객체의 hashCode() 값을 사용하여 Key를 배열의 index에 매핑한다. HashMap이 Key를 index로 매핑하는 법HashMap은 객체의 hashCode() 값을 사용한다.HashMap은 Key를 배열의 index로 매핑시키기 위해 객체의 hashCode() 값을 length와 함께 연산해 index를 구한다.왜 해시값에 length를 사용한 추가 .. 우아한테크코스 7기 백엔드 최종 합격 후기 우아한 형제들에서 운영하는 개발자 교육 프로그램인 우아한테크코스 7기에 웹 백엔드로 합격했다.지원하기부터 1차, 최종 합격까지의 과정을 정리해보고자 한다. 우아한테크코스를 지원한 이유최근 1년 동안 나는 프로그래밍을 혼자 공부해 왔다.멋쟁이사자처럼 12기 서버파트장을 하며 얻은 것들도 많았지만, 아무래도 실력적으로 성장하는 데에는 한계가 있었다. 혼자 서버 파트를 책임지다 보니 프로젝트를 하는 데에 있어서 백엔드적인 의사결정을 전부 혼자 해야 했다. 이 과정에서 나름대로 장단점을 비교한다거나, 다른 좋은 해결책은 없는지 고민했다. 하지만, 함께 걸어가는 동료가 없다는 것이 아쉬웠고 내 지식과 의사결정이 올바른가에 대한 확신을 가질 수 없었다. 이 부족함을 채우기 위해 우아한테크코스의 프로젝트 레포지토리.. 이전 1 2 3 4 ··· 19 다음