• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

수강을 시작하기 전에 한 가지 질문을 드립니다.

21.01.23 19:15 작성 조회수 240

0

안녕하세요 강사님, 이번 강의도 잘 듣겠습니다.
이번 강의를 본격적으로 시작하기 전에 질문을 하나 드리려고 합니다.

저는 현재 강사님의 스프링 입문편, 기본편, HTTP 강의를 완강한 상태입니다.

이제부터는 강사님께서 추천해주신 야생형 코스로 JPA 로드맵을 수강하고자 하는데요.
이번 강의를 어떤식으로 공부하는게 좋을지 고민입니다.

저는 아직 JPA 기본편을 듣지 않았기 때문에 JPA에 대한 사전지식이 전무합니다. 이런 상황에서 활용편 강의를 수강하게 되면 분명히 막히는 부분이 많이 나오겠지요.

그럴 때마다 그런 부분들에 대한 이해를 하기 위해 노력하면서 들어야 할까요? 아니면 이해가 안 되는 부분은 그냥 따라치기만 하면서 넘어가고 나중에 기본편 학습 후 다시 돌아왔을때 철저한 이해를 목표로 수강하는게 좋을까요?

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

추가적으로, JPA라는 기술에 대한 질문을 하나 더 드리고 싶습니다.

흔히들 말하는 국내 대표 IT 서비스 기업 "네카라쿠배" 같은 곳에서는 JPA 기술이 활발하게 사용될 것이라는 생각이 듭니다.

그러나 취업을 준비하는 취준생 입장에서 이러한 탑급 IT 기업만을 목표로 하여 JPA에만 집중하는 것이 맞는지에 대한 고민이 있습니다.

갈 수만 있다면 자체 IT 서비스를 운영하는 저런 거대 기업들에 가는 것이 좋기야 하겠지만.. 국내 대형 SI 기업들, 그 외 대기업 계열사들, 다른 중견기업들 등 최대한 포괄적으로 준비하여 "취업 1승"에 대한 성공 확률을 최대한 높이고 싶은 것이 불안한 취준생의 마음입니다.

이러한 측면에서 보았을 때, 최신 트렌드인 JPA만 공부하기 보다는 아직 그렇지 못한 기업들을 함께 고려하여 MyBatis 등의 기술도 준비해서 프로젝트를 진행해보는게 맞는 것인가? 하는 생각이 듭니다.

질문의 핵심은 이것입니다. "네카라쿠배 등의 IT 기업 외에 다른 곳들에서 JPA를 활발하게 사용하나요? 그렇지 않다면 다른 곳들에서 가장 활발히 사용되는 기술은 무엇인가요?"

물론 강사님께서 모든 기업에 근무하셨던 것은 아니니 전부 빠삭하게 꿰차고 답변을 주시기는 어렵겠지만.. 그래도 현직 베테랑 개발자의 입장에서 저같은 취준생에게 조언을 해주실 수 있는 부분이 있지 않을까 싶어서 질문을 남깁니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

부디 조언을 부탁드립니다.

감사합니다.

답변 3

·

답변을 작성해보세요.

2

임현강님의 프로필

임현강

질문자

2021.01.24

늦은 시간임에도 불구하고 이렇게까지 정성스럽게 답변을 달아주셔서 정말 감사합니다.

말씀해주신 부분들 참고하여 열심히 준비해나가겠습니다.

감사합니다.

2

안녕하세요. 현강님

스프링 부트와 JPA 실무 완전 정복 로드맵은 다음 순서로 들으시는 것을 추천합니다.

타입 B - 야생형(추천)

활용편 1 - 먼저 활용편 1을 쭉 따라 치며 전체 기술과 백엔드 서비스 개발의 감을 익힙니다. (이해가 좀 부족해도 우선 진행하시길 권장합니다.)

JPA 기본편 - JPA 기본 내공을 다집니다.

활용편 1 복습 - 이미 기본편을 학습한 상태이기 때문에 처음부터 다시 쭉 따라하다 보면 JPA의 깊이있는 내용을 이해할 수 있습니다.

활용편 2 - 실전에서 JPA를 개발하고, JPA 성능 최적화를 어떻게 하는지 이해합니다.

스프링 데이터 JPA - 실무에서 필요한 기능 위주로 스프링 데이터 JPA를 학습합니다.

Querydsl - 복잡한 쿼리와 동적쿼리 문제를 해결합니다.

정리하면 활용1편으로 먼저 실무에서 어떤식으로 개발하는지 전체적인 감을 잡은 다음에 (수영하기 전에 책을 보고 수영을 하는게 아니라 일단 물에 들어가서 한번 수영이라는 것을 부족해도 대략 해보는 것이지요. 궁금한 내용이 많아도 일단 궁금한 부분을 노트에 정리하고 메모해두면 됩니다.)

그 다음에 JPA 기본편으로 기본을 확실하게 다집니다. 그리고 활용1편을 다시 처음부터 복습해야 합니다. 이 과정이 중요합니다.

JPA 기본편 부터 시작하게 되면, 이게 왜 필요할까? 에 대한 부분과 동기부여가 약할 수 있습니다.

그런데 사람마다 학습하는 방법이 다르기 때문에, 만약 본인이 하나하나 쌓아가는 학자형 스타일이라면 JPA 기본편 부터 차곡차곡 쌓아가는게 더 나은 선택일 수 있습니다.

추가적인 질문에 답을 드릴게요.

먼저 MyBatis와 JPA를 비교한다면 MyBatis는 사실 공부할 내용이 거의 없는 단순한 프레임워크 입니다. SQL을 개발자가 직접 작성하고 그 결과를 객체로 편리하게 저장하도록 도와주는 기능을 제공하는 정도입니다. 그래서 MyBatis는 사실 MyBatis 자체가 중요한 것이 아니라 SQL 자체를 잘 이해하고 작성하는 것이 더 중요합니다. 반면에 JPA는 객체와 관계형 데이터베이스를 둘다 잘 이해해야 하고, 수 많은 것을 자동화해주기 때문에 기술적인 깊이있는 이해가 바탕이 되어야 합니다. 결국 JPA는 객체도 잘 이해하고 관계형 데이터베이스, SQL까지 모두 이해가 필요합니다.

이부분에 대한 결론은 JPA도 공부하고, MyBatis도 공부하시는 것이 좋습니다. 그리고 MyBatis 프레임워크 자체를 배우는 것은 혼자서도 몇일이면 금방 하실거에요.

질문의 핵심으로 물어본 부분에 대해서 답을 드리면, 먼저 가장 중요한 것은 현강님 본인이 가고 싶은 회사를 스스로 여러군데 정하고, 그 다음에 각각의 회사에 채용 공고를 진지하게 살펴 보는 것입니다. 그 채용공고를 둘러보시면 명확하게 이 회사가 어떤 기술들을 원하는지 자세히 설명이 되어 있습니다. 예를 들어서 어떤 회사는 PHP를 우대하고 어떤 회사는 파이썬 장고를 우대하고, 어떤 회사는 자바 스프링 JPA를 우대하는 등등 각각의 회사에서 사용하는 고유의 기술 스킬들이 있습니다. 이제 여기에서 본인이 가고 싶은 회사에 기술 목표를 잡고 방향을 잡으시면 됩니다. 그리고 거기에 대해서 당장 취업을 위한 곳과 또 추가로 목표점으로 삼는 곳 둘다 플랜이 있으면 좋습니다. 아무래도 본인이 향후 목표로 삼을 곳과 비슷한 기술 스킬을 사용하는 곳으로 취업을 해야 향후 이직하기도 훨씬 더 유리할 것이니까요.

결국 질문에 답이 있습니다. A가 중요한가요? B가 중요한가요?라고 하면 사실 진짜 정답은 A,B 둘다 중요합니다.

도움이 되셨길 바래요.

0

네 화이팅^^!