개발자
궁금한게 있습니다 자바스프링 관점에서 @RestController 를 예시로 들면 이 어노테이션을 왜 써야하는지,즉 어떨때 사용해야하고, 어떤 구조로 동작이 되는지를 알면 저는 끝이라고 생각합니다.. 하지만 김영한님 인프런 강의를 보면 이 기술에 있기전에 과거부터 거슬러 올라가서 이 기술이 있기전에 뭐가 불편했었고 이런게 불편해서, 다른 기술이 나왔고 그게또 발전해서 현재 이 기술이 나왔다는 전개로 학습을 했습니다 하지만 위 내용 까지 알아야 할까요? 이런 내용들까지 알고있는 것이 시니어개발자분들이 생각하는 ’기본기‘ 에도 포함이 되는지 궁금합니다. 꿈의 기업 네카라쿠배에 들어가는 것을 꿈꾸고 있고, 현재 그에 따른 노력을 하고 있습니다 빅테크에 들어가기 위해선 위 내용 같은 지식을 가지고 있는게 중요할까요? 시니어 개발자분들 께서는 어떻게 생각하시는지 알려주세요 아직 제가 잘 몰라서 이런 생각을 하는건지 우물안의 개구리 라는 생각이 들어서 질문 올립니다
답변 5
인기 답변
안녕하세요! 특정 기술이 생겨나게된 역사와 배경을 아는게 불필요하다고 느끼실 수 있습니다. 숟가락으로 밥을 먹는 방법만 알면 되는데, 숟가락을 누가 만들었고 어떻게 나한테까지 왔는지를 굳이 알 필요 없는 것처럼요. 다만, 개발자는 어떤 기술을 쓸때 그 기술을 써야하는 타당한 이유를 잘 찾아야 한다 생각합니다. @RestController 는 사실 @Controller 와 @ResponseBody 어노테이션을 합친 기능입니다. 즉, 기능상으로만 보면 굳이 @RestController 는 쓰지 않아도 충분히 대체 가능합니다. 그렇지만 @RestController 를 왜 쓸까요? 그건 @Controller 와 @ResponseBody 어노테이션 사용을 간소화하기 위해서 쓰는겁니다. 이처럼 내가 현재 사용하는 기술을 왜 쓰는지를 설명하려면 이전에 사용했던 패턴이나 이전 기술에 대한 불편함을 어느정도 알아야 이유를 설명할 수 있습니다. 지금은 어떤 기술이 핫하더라, 지금은 어떤게 최신이라더라 등의 얘기를 개발하시다보면 많이 들으실 수 있을 겁니다. 하지만 내가 진행해야할 프로젝트에 맞는 기술은 꼭 핫하거나 현재 트랜드에 맞는 기술을 쓰는게 무조건 정답이 아닐 수 있습니다. 그렇기에 각 기술들의 장점과 단점을 분석하고 어떤게 내가 진행해야할 프로젝트에 맞는지를 판단하는 능력 또한 개발자에게 필요한 소양이라 생각되는데요, 이러한 능력을 키우는건 아무래도 현재 쓰고 있는 기술의 발전과 장단점을 파악하는 것에서부터 시작한다고 생각합니다. 저의 짧은 생각이 부디 조금이나마 도움이 되시길 바라겠습니다.
진현규
작성자
스타트업 백엔드 개발자 • 2024년 02월 22일
어떤 관점으로 공부를 해야할지에 대해서 한번 더 생각해보게 되었습니다 즉 왜? 어떻게? 라는 질문에 옳은 대답을 하기 위해서는 그 기술의 어느정도의 배경을 알아야 좋은 대답을 할 수 있다는 마인드로 다시 공부를 열심히 해보겠습니다 감사합니다
인기 답변
@Controller + @ResponseBody 가 합친 개념이라는 것만 알아도 된다고 봅니다. 김영한님의 강의에서는 이 부분에 대한 메커니즘까지도 알려주는 거라 봐요. 어노테이션을 이렇게 붙여야만 컨트롤러를 구성할 수 있다는 일종의 관성만 가지지 않는다면 결국에는 비즈니스 로직을 어떻게 잘 구현하는가에 집중하는게 더 생산성 있는 방향이라 봅니다. mvc를 스프링에서 어떻게 구현하는지에 대한 방법을 아는 것으로 기본기는 하는거라 생각합니다.
진현규
작성자
스타트업 백엔드 개발자 • 2024년 02월 23일
답변 감사합니다!
진현규
작성자
스타트업 백엔드 개발자 • 2024년 02월 23일
답변 감사합니다 어떻게 동작 하는가에 대하여 궁금증을 가지고 공부를 해봐야겠네요
모든 요소들에 대해서 히스토리까지 일부러 공부할것 까진 없는것 같아요. 다만 공부와 개발을 하시다보면 원래 있었던 기능이 deprecated 되는 경우도 있고, 버그가 있어서 패치하는걸 겪으실수 있을텐데 이런게 쌓이면 자연스럽게 히스토리 부분도 함께 알게 되실거에요.
진현규
작성자
스타트업 백엔드 개발자 • 2024년 02월 23일
결국 경험치가 쌓여야지 깨닫는 부분도 필요한 것 같습니다 처음부터 너무 깊게 알려고가 아닌, 자연 스럽게 체득하는 과정이 아직 부족한거 같네요. 답변 감사합니다!
사용하는 방법만 알아도 개발하는데는 무리가 없지만 원리를 이해하면서 공부하시는게 더 좋다고 생각합니다. 어노테이션이 무엇인지? 왜 사용하는지? 어떻게 활용하는지? 를 이해하면 좀 더 다양한 어노테이션을 이해하는데 도움이 됩니다. Controller 어노테이션 앞단에 Component 어노테이션이 뭔지 spring framework의 component scan이 뭔지를 이해할수 있고, ResponseBody 어노테이션을 붙힐 경우, view relsover 처리가 어떻게 되는지 등 원리와 개념의 이해하면 좀 더 구체적인 활용 능력 및 응용 능력이 더 증가되어 기술을 이해하는데 더 많은 도움이 될수 있습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!