multi sula님의 프로필 이미지

수강평 6

평균평점 5.0

100% 수강 후 작성

이 로드맵 보면 뭔가 머리가 깨이는 것 같은 기분이 들어, 하루에 한 코스씩 쭉 봐버리고 한 코스씩 수강평을 남기고 있네요. 아래쪽에는 강사님께 궁금한 것이 있어 질문을 드렸지만 뉴비 개발자가 알아먹도록 답변을 주시려고 하면 아마 글이 길어질 것 같고... 도움이 될법한 힌트라도 넌지시 담아주시면 큰 도움이 될 것 같습니다! 저는 아직 일 해보지 못했고, 설계 관련해서 따로 아는 것이 없습니다. 그저 스프링 관련 책들 보면서 따라 해보고 있습니다. 일전에 JAVA를 공부하며 package를 만드는 이유에 대해서 묶어서 관리하기 위함이라고 학습했음에도, API controllers를 api 패키지로 따로 묶는 이유는 생각해본 적 없이, 그냥 그 책의 저자가 그렇게 만드니까 그렇게 따라 만들어보는 식이었습니다. 이 강의 가장 처음에 api 패키지를 만들면 관리하고 공통 처리하기 쉬워진다고 말씀하시는 부분부터 저의 부족함을 크게 깨달았습니다. 정말 기초적이고 작은 부분일 수도 있지만, 아무 생각 없이 따라하는 사람이 '나'이고, 원리를 이해하고 활용하는 사람은 강사님이구나. 이렇기 때문에 어떤 문제의 여러 해결 방안과 각각의 방식에서 trade-off를 생각해보고 알려주는 이런 강의를 만들 수 있지 않았을까. 하는 생각이 들고 굉장히 존경하게 됐습니다. 궁금한 것이 생겼습니다. 김영한님의 처음은 어땠나요? 라는 이상한 질문입니다... 좀 더 자세하게는, 기존에 뭔가 다른 것들을 쓰셨을 것인데, 어떻게 JPA를 공부하고 정리했고, QueryDSL같은 오픈 소스 라이브러리를 찾게 되셨나요? 그리고 알아보고 실제로 사용하는 데까지는 걸리는 기간 따위를 잡고 알아보시나요? 예를들어 1번 JakartaEE Persistence 문서를 찾아가서 언젠간 끝이 보인다고 생각하면서 그 문서를 처음부터 끝까지 보고, Spring Data 찾아가서 보고 Data JPA 찾아가서 또 보고... 하는 방식 2번 예제 코드를 접해서 기본적인 사용 방법을 알아본 후에, 기존에 본인이 사용하던 방식과 비교해보고, 설정을 바꾸고 싶은 부분에 대한 내용을 문서에서 찾아보고 바꿔보는 방식 그 밖에도 다른 방법이 있을지 모르겠지만 새로운 기술을 현업에 접목시킬 때 어떻게 공부하고 정리해서 가져다 쓰시는지 궁금합니다. 보면 어떤 사람은 그냥 자가 개발을 하고 어떤 사람은 오픈소스 라이브러리를 사용합니다. 저는 그분들은 도대체 어떻게 그런 라이브러리의 존재를 알게 됐을까? 그것이 정말 궁금합니다. 현업에서 일하는 개발자 분들은 이런 라이브러리들을 어떻게 알고 있는 걸까요? 그리고 그 라이브러리들도 문서를 찾아가서 땅을 파며 알아보는 걸까요...?

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. multi sula님 사실 종종 듣는 질문인데요. 게임처럼 뭔가 퀘스트가 있고, 그 퀘스트를 순서대로 깨면 된다면 참 좋겠지만, 실제 우리의 삶과 학습이라는 분야는 좀 다르게 돌아가는 것 같아요. 먼저 업계에서 주로 사용하는 기술들에 대한 학습이 필요합니다. 내가 전반적인 배경을 알고 있으면 거기에 살을 붙이기가 쉬워지거든요. 예를들어서 자바, DB, 스프링, MyBatis 등을 잘 알고 있었는데요. 참고로 과거에는 JPA 말고 MyBatis라는 기술을 국내에서 많이 사용했습니다. 저의 경우에는 MyBatis를 사용하더라도 비슷한 SQL을 반복해서 사용해야 하는 것이 좀 답답했어요. 뭔가 더 나은 방법이 있지 않을까? 라는 고민도 했구요. 이런 고민을 하던 차에 JPA라는 기술을 알게 되었고, 그 기술에 빠져서 파보게 되었어요. 제가 고민했던 영역을 해결해주는 기술이어서 너무 즐거웠어요. 그런데 이 기술을 실제 실무에 사용하는 것은 완전히 다른 이야기에요. 그래서 실무의 다양한 케이스들을 다 해결할 수 있는지, 해결할 수 없을 때 대안은 뭐가 있는지 등등을 고민하게 되었어요. JPA는 특히 동적 쿼리에 대한 부분이 해결이 잘 안되었는데, 이 부분을 Querydsl이라는 기술이 해결해주는 것을 알게 되었어요. 그래서 이 두 기술을 조합하면 실무에서 접하는 많은 문제들을 해결할 수 있다는 확신이 들었어요. 결국 어느정도의 경험과 시간도 필요하고, 항상 더 나은 방법은 없을까? 라는 왜? 라는 질문이 중요하다 생각해요. 새로운 기술들이 나오면 좀 둘러보고, 또 시중에 출간되는 개발 서적들, 커뮤니티와 트랜드 등도 확인하면서요. 저는 결과적으로 어떻게 하면 개발을 더 효율적으로 할 수 있을까? 라는 질문을 계속 해왔던 것 같아요. multi sula님 처럼 이런 질문을 계속해야 좋은 개발자로 성장할 수 있다 생각해요. 먼저 기존에 개발자 분들이 해두었던 길을 따라서 걷고 최대한 많은 것을 빠르게 흡수하세요. 그리고 그 기반위에 새로운 것들을 발전시키세요. 도움이 되셨길 바래요 :)

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 썸네일
김영한

·

24강

·

19,139명 수강

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 썸네일
김영한

·

24강

·

19,139명 수강