[종료]🎁 40만 수강생 기념, 김영한님으로부터 선물이 도착했어요!

[종료]🎁 40만 수강생 기념, 김영한님으로부터 선물이 도착했어요!

📢 인프런 최초, 누적수강생 40만 명 👏


인프런 최초, 40만 수강생을 달성하여
수강생들의 인생 멘토가 된 지식공유자 김영한 님!

감사한 마음을 담아, 김영한 님의 전 강의 30% 할인 중!
11월 15일 (금) ~ 11월 28일 (목)까지

딱 이틀만 더! 할인과 이벤트를 연장합니다!
11월 29일(금) ~ 11월 30일(토)

전 강의 30% 할인 중! ›


🌱 40만+ 개발자의 인생 멘토


당신이 길을 헤맬 때,
로드맵이 길잡이가 되어줄 거예요 🛣️

  Java    객체지향    네트워크  
[ 김영한의 실전 자바 로드맵 ]

✏️ 프로그래밍을 처음 시작한다면, 자바로 시작하세요!
👥 약 5,000명 참여 중
🔗 6개 코스

  Spring    MVC    Spring Boot  
[ 우아한형제들 최연소 기술이사 출신 김영한의 스프링 완전 정복 ]

✏️ 가장 많은 개발자가 듣는 스프링 완벽 가이드
👥 약 37,000명 참여 중
🔗 9개 코스

  Java    JPA    Spring  
[ 김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵 ]

✏️ 스프링 실전을 활용하고 싶은 분이면 누구나!
👥 약 20,000명 참여 중
🔗 5개 코스

 

덕분에, 더 큰 꿈을 꿀 수 있었던. 💌

"영한님 덕분에 꿈만 꾸던, 원하던 직장으로 이직할 수 있게 되었습니다."
"개발에 대해 아무것도 모르던 제가 이토록 성장할 수 있게 해주셔서 감사해요."
"영한님의 강의를 듣고 개발자로서 어떻게 일해야 하는지 더더욱 알게 되었습니다."

김영한 님의 강의를 수강하고
정말 많은 분들이 취업/이직에 성공했답니다!


여러분에게 감사한 마음을 담아 🎁

40만 수강생까지 달려오며
많은 응원과 관심을 보내준 여러분을 위해,
인프런과 김영한 님이 함께 다양한 선물을 준비했어요!

(본 페이지로드맵에 많은 댓글 남겨주세요 💜)

 

[ 1 ]
 본 페이지  에 감사와 응원의 댓글
남겨주신 분 중,
100명을 선정하여
인프런 4만 포인트
를 드려요.

 

[ 2 ]
김영한 님의 강의를 통해 취업/이직한
경험
  영한님의 로드맵  에 남겨주시면
10명을 선정하여 인프런 40만 포인트를 드려요.

[ 자신이 수강했던 강의가 포함된 로드맵 ] 에 댓글을 남겨주세요!
로드맵에 남겨주신 댓글을 우선 선정합니다 :-)

큰 도움을 받았던 영한님의 로드맵
소중한 후기 댓글
을 달아주세요! 💬

 

[ 3 ]
 1, 2번 이벤트에 참여  해주신 분들 중
멘토 식사권(1명), 멘토링권(3명)을 드려요.
- 김영한 님이 직접 선정하실 예정입니다!

 

여러분이 더 큰 꿈을 향해 함께 성장할 수 있도록,
인프런이 앞으로도 당신의 개발 커리어에 함께할게요!

30% 할인 중인 강의 보러가기 ›

 
 📣 이벤트 안내 및 유의사항

Q. 댓글 당첨 혜택으로 제공되는 [ 멘토 식사권 / 멘토링권 / 인프런 포인트 지급 ] 당첨자 발표는 언제, 어디서 발표되나요?
A. 12월 10일 (화) 이후, 본 페이지에서 당첨자가 발표됩니다.

Q. 댓글 이벤트에 중복으로 참여할 수 있나요?
A. 여러 개의 댓글을 작성하여 중복으로 참여하실 수는 있지만, 3가지 이벤트 당첨자로 중복 선정되지는 않습니다.

댓글 222

댓글을 작성해보세요.

  • 보키
    보키

    안녕하세요. 부먹인줄 알았지만, 찍먹하고 있던 3년차 개발자입니다

    21년도에 영한님의 JPA강의들과 Spring 몇몇 강의들을 들으며 어려운 국비수업을 수료했습니다

    22년 30살에 첫 취업을 하고 회사일을 하느라 영한님의 강의는 잠시 멈췄었지만, 첫 회사에서 쓰던 기술이 JSP, jQuery, Mybatis 등이었습니다

    영한님의 스프링 입문 강의등에서 배운 코어한 지식이 저를 잘 지탱해줘서 어려운 첫 회사생활을 잘 이어나갈 수 있던 기억이 있습니다

    그 다음으로는 Angular+MongoDB 풀스택으로 일하면서 조금 더 강의와 책보다는 실무 위주로 업무를 쌓았다가

    마지막 회사에서는 다시 백엔드를 맡게 돼서 Springboot + JPA기술을 메인으로 사용하는 1인 백엔드 개발자 포지션을 맡았었습니다

    그리고 부모님의 건강상의 이유로 퇴사를 하게 되었는데, 퇴사를 하고 장바구니에 담아놨던 영한님 강의들을 쭉 들었습니다

    DB핵심 원리 1/2편, 스프링 핵심 원리, 부트 핵심 원리와 활용을 들었습니다

    제가 야생형. 즉, 실전으로 겪었던 self-invocation문제나 ThreadLocal 활용법, Transaction 전파, 대시보드 구축 등의 업무들이 영한님 강의에 다 녹아있었다는 것을 배웠습니다

    영한님의 강의 수강생이 누적 45만명이라 하니, 저와 같은 개발자 혹은 경쟁자가 이렇게나 많다고 느끼지만 한편으로는 영한님이 자바 스프링 백엔드 개발자들의 최저실력을 많이 상승시켜주신 것 같아 업계 전반으로는 감사한 마음이 있습니다

    컴퓨터는 0과 1로 이루어져있고, 이와 비슷하게 영한님의 이름도 0과 한(1)개로 이루어져 있다는 놀라운 사실을 발견했습니다

    영한님은 컴퓨터 그 자체이셨던 것이었습니다!

    영한님의 강의 덕분에 백엔드 개발을 더 잘 이해하고, 더 잘 하게 되고 나아가 더 좋은 커리어패쓰를 만들 수 있던 것 같습니다

    어떻게보면 30살인 늦은 나이에 취업해서 영한님이라는 좋은 선배님이자 스승님을 두고 많이 배우고, 잘 배우고 있습니다. 항상 감사합니다

    게임도 종종 즐기시고 가족과도 시간 많이 보내시면서 양질의 강의 만들어주시면 냉큼 또 수강하겠습니다

    감사합니다!

    영한님의 다음으로를 기다리며...


    ppj2130
    ppj2130

    오,, 0 과 1로 이루어진 컴퓨터라니

  • 임근호
    임근호

    안녕하세요. 30대 중반의 늦깍이 2년차 개발자 입니다.

    짧게 제 소개를 하자면 26살에 중견 제조업 경영지원에 입사해서 약 6년을 근무하다 그만두고 국비지원교육으로 시작하여 현재 중견 si 기업에서 커리어를 쌓고 있습니다.

    잘 다니던 회사를 그만두게 된 계기는 즐거운 인생?ㅋㅋ을 목표하게 되어서 입니다. 현재 슬하에 만 2세 아들이 있는데, 아들과의 첫만남이 변화의 시작이였던 같습니다.

    자녀가 성인되기까지의 과정에 필수적인 나의 지원, 현재 다니는 회사에서 나의 위치 및 미래 등등.. 정말 많은 생각이 들었고 한마디로 정리하면 ‘고달프겠구나...’였습니다ㅋㅋ

    그 후 제 자신을 다시 돌아보고 좋아하던 컴퓨터, 이과적 사고, 알고리즘 등등 이것과 연관된 일을 해야 마라톤 같은 인생을 그나마 즐겁게 바꾸고 버틸수 있을거 같다는 생각에 지르게되었습니다...!

    현재 공공기관 si 프로젝트에 투입되어 ‘신기한 환경?ㅋㅋ’에서 나름 즐겁게 일하고 있습니다. 다들 잘 아시다시피 오래된 기술스펙으로 점칠된 공공si지만 아직 모르는게 많은 저는 나름 재밌고ㅋㅋ 밝은 미래를 꿈꾸고 있습니다! 이런 상황에 김영한 선생님의 강의는 칠흑같은 어둠의 바다에 밝은 등대같은 느낌입니다!

    사람은 소속과 환경에 정말 많은 영향을 받습니다. 게다가 인생에 반이상?을 갈아넣는 직장 환경의 영향력은 엄청납니다… 허나 내 인생은 결국 나 자신의 의지와 행동에 달려있습니다! (회사 다 비슷비슷한거 같습니다ㅋㅋㅋㅋ) 나부터 발전하고 나아가면 내 주변과 환경은 저절로 따라올거라는 믿음으로! 모두 화이팅 합시다!!

    마지막으로 늦깍이 잡썰 읽어주셔서 감사하고, 지식공유로 희망을 확신으로 바꿔주신 김영한 선생님 감사드립니다~


    인프런

    안녕하세요 인프런입니다. 소중한 경험담을 공유해주셔서 정말 감사드립니다. 임근호 님께서 많이 도움받으신 강의가 포함된 로드맵에도 해당 댓글을 함께 남겨주시면 더욱 좋을 것 같아요!! (이벤트는 로드맵에 댓글 남겨주신 분들을 우선 선정합니다 🙂 !) 화이팅입니다!!

  • 아라레
    아라레

    안녕하세요 영한교 신도입니다.

    영한님 강의를 만나서 자바, 스프링은 기본이고 전체적인 개발능력이 증진되어 괜찮은 개발자 아닌가 싶은 요즘입니다.

    제가 영한교라고 붙인 이유는 강의 들으며 갑자기 든 생각이 영한님이 개발이 아닌 어떠한 내용을 가져와서 설명해도 잘 배울 수 있을 거 같은 느낌이 들어서 그렇습니다.

    영한님 강의 최대 장점은 배려입니다. 강사가 수강생 입장에서 생각하며 배려하고 준비해서 도움 주는 그 배려는 전세계 최고 아닌가 싶습니다.

    감사합니다. 영한님 건강관리 잘하셔서 강의 오래오래 해주세요. 😊

     

    그리고 이런 공간 제공해준 인프런도 감사합니다. 사랑해용!

  • 장태근
    장태근

    다른 강의는 괜찮았지만 스프링 핵심원리 - 기본을 배울 때 가장 고통스러웠습니다. 하지만 과정을 진행하며 시간이 지남에 따라 알았습니다. 고통스러웠던 부분이 가장 중요한 강의였다는 것을.

    영한님 강의는 언어, 프레임워크 선택에 무관하게 다른 언어를 사용하는 개발자여도 듣기 좋은 강의라고 생각해요. 실제로 적용하고 있는 부분이고요. 시간 들여 남겨주신 강의, 질문 답변 이하 지식 공유는 언제 봐도 좋은 자양분으로 남았습니다.

    현재는 스프링 프레임워크 기초보다 더욱 기초이며 중요한 부분인 자바를 강의해 주시는 것으로 알고 있습니다. 가장 많이 사용하는 언어, 개발자 환경에 기여해 주셔서 감사합니다. 30만 수강생 이벤트에서 오프라인으로 뵀는데 벌써 40만이라는 사실이 놀랍습니다. 앞으로도 행운을 빕니다.

  • noname3579
    noname3579

    안녕하세요 비전공자 30대이지만 백엔드 개발자로 이번에 취직을 성공한 신입사원입니다.

     

    완전 다른 직종의 일을 하다가 부트캠프 하나 듣고 취업한다? 쉽지 않은 일이지만 영한님 덕분에 취업도 성공한 것 같습니다.

    물론 아직 신입이고 너무 모르는 것도 많아서 수업을 계속 들을 예정이지만,

    무료강의도 너무 좋은 퀄리티였고 그 후 유료강의 들으면서 점점 실력이 느는 것이 느껴집니다.

    강의를 들으면서 뭔가 따듯함을 많이 느꼈던 것 같습니다.

    영한님이 배우는 개발자들을 으싸으싸 해주게 만들어주는 느낌이랄까?

    항상 좋은 강의 감사합니다.

  • 꿈냥이
    꿈냥이

    컴퓨터 비전공자로서 개발자를 꿈꾸고 있는 사회인입니다. 김영한 강사님의 강의는 비전공자에게 한줄기 삼다수와도 같은 맑은 이정표를 제공해주셨습니다. 한동안 막연한 불안감에 휩싸여 있었는데, 김영한 강사님의 강의를 들으며 이론적인 기반은 물론 실무에 진입하고자 하는 입장에서 자신감과 의욕의 싹을 틔우기에 충분하였습니다. 제 심정은 이렇습니다. 혹시 다른 업체에서 강사님을 큰 돈으로 스카웃해가면 어떻하지? 걱정이다 정말...ㅠ 저는 평소에 스터디하는 모든 패턴이 인프런에 맞춰져 있기 때문에, 세상의 모든 훌륭한 강사님들이 인프런에 다 모이셨으면 하는 바램이 있습니다. 김영한 강사님께서도 인프런을 떠나지 마시고, 앞으로도 오랫동안 인프런의 레전드로 남으시길 기도드리겠습니다. 오늘도 김영한 강사님의 강의로 하루를 마무리하며, 희망찬 꿀잠에 푹 빠져보겠습니다. 감사합니다! 😇

  • ctwfh01
    ctwfh01

    최근에 '2025 트렌드 완벽 정리'란 온라인 세미나를 들었습니다.

    그 세미나에서 앞으로 개인 브랜딩 중요성에 대해 말하면서 예시로 다양한 분들을 말씀주셨는데,

    그 중 하나로 개발과 교육과 관련하여 영한님에 대한 내용이 나왔는데, 그 내용을 들으면서

    내적 친밀감이 한가득 했던 기억이 납니다. 시대가 갈수록 개인의 역량은 점점 중요해지면서

    정말 내가 하고 있는것이 맞는것인지, 어떻게 해야할지 막막하면서 불안감이 커지는데

    영한님의 정말 귀한 강의들로 이러한 의심과 불안감이 한층 덜어내져서 너무나도 감사합니다.

    저는 아직은 부족한 실력의 소유자지만, 매일 배우고 습득하면서 점점 성장해 나가겠습니다.

    영한님도 항상 건강 조심하시고, 앞으로도 잘 부탁드리겠습니다. 감사합니다!

  • luv92490
    luv92490

    안녕하세요. 현재 다른 분야에서 일을 하다가 개발쪽으로 전향하고자 노력중인 개발자입니다.

    평소에도 다른 전공을 가지고 있음에도 항상 개발에 관심이 많아, 여러강의를 기웃거리다가 영한님을 알게되었고

    제 나름대로 여러 개발연습을 하면서 강의를 참고 할때마다 참 많은 도움을 받았습니다. 그 경험이 저에게는 매우

    좋은 경험이자 필요한 과정이라고 느껴서인지 매번 새로운 강의를 하실때마다 거의 반사적?이라고 해야하나

    습관처럼 장바구니에 담아 구매하는 저를 보았습니다🙂 30만 수강을 하여 축하를 드린지 얼마 되지 않은거 같은데

    벌써 40만 수강생이 되었다는 것을 들으면서, 역시 강의가 굉장히 힘이있고 저를 비롯한 많은 사람들에게 참 많은

    도움이 되었다는 것을 새삼 느끼게 되었습니다ㅎㅎ

    앞으로도 더 좋은 강의와 경험들을 만들어주시기를 기대하는 마음으로 항상 응원드리며, 더욱 많은 인원들과 함께

    성장하는 시간들이 많아지면 좋겠습니다. 다시한번 감사드리면서 다음 강의에서, 또 세미나에서 뵙겠습니다 :)

  • 현석원
    현석원

    살면서 누구를 만나느냐에 따라 인생이 달라진다고 하죠. 제게는 영한쌤을 만난 것이 정말 큰 행운이었습니다.

    "우아한형제들 최연소 기술이사 출신 김영한의 스프링 완전 정복" 로드맵은 제 개발 공부에 많은 도움을 준 길잡이였습니다.

    입문부터 DB 1편까지 강의를 구매해 들었는데, 너무 어렵게 느껴질 때도 많았습니다. 그럴 때는 강의를 멈추고 직접 게시판이나 간단한 쇼핑몰 프로젝트를 만들어보며 학습을 병행했습니다.

    이런 방식으로 학습하니, 어렵게 느껴졌던 개념들이 시간이 지난 후 다시 강의를 들을 때 이해가 되는 신기한 경험을 하기도 했습니다. 완강은 아직 못했지만, 필요할 때마다 강의를 다시 찾아보며 차근차근 나아가고 있습니다.

     

    특히 기억에 남는 것은 MVC 1편을 학습하던 시기입니다. 당시 취업에 성공하고, 이후 MVC 2편까지 완강했을 때 주위에서 많은 칭찬을 받았던 경험이 있습니다. 그때 속으로 감탄과 감사의 말을 쏟아냈던 것이 아직도 기억에 남습니다.

    “김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵”에서 로드맵 소개에 보시면 "학자형 개발자"와 "야생형 개발자"로 학습 스타일을 나누어 설명하는 내용이 담겨 있습니다.
    하나씩 차근차근 기반을 쌓아가며 배우는 학자형, 그리고 일단 코드를 먼저 보고 시작하는 야생형—이 두 가지 스타일 중 나는 어떤 스타일일까 고민해보는 계기가 되었습니다.

    로드맵을 꼭 전부 구매해서 다 보라는 것은 아니에요. 저의 경우 소개에 있는 글만으로도 도움을 받아 나만의 스타일을 찾아 학습하는 방법을 배울 수 있었는데, 이것도 의도한 것이 아닐까 하는 생각이 들었습니다 ㅎㅎ..

    다양한 학습 경험을 통해 모두가 자신만의 길을 발견하길 바랍니다.

     

    강의를 들으며 인간 김영한에 대해서도 궁금해졌습니다. 강의에서 가끔 들려주시는 실무 이야기와 특히 인프콘 2022에서 하신 말씀이 특히 인상 깊었고, 이와 관련된 몇 가지 질문이 떠올랐습니다. 혹시 이 글을 보게 되신다면, 아래 질문들에 대한 답변을 들을 수 있다면 정말 좋겠습니다.

    1. 게임 폐인이었다고 하셨는데, 전역 이후에는 완전히 게임을 그만두신 건가요?

    2. 학원을 다니고 학교를 그만둔 뒤 서울로 오셨던 당시의 이야기를 조금 더 들려주실 수 있나요?

    3. "힘든 시기"에 대한 말씀에서 많은 공감을 했습니다. 저 역시 현재 월급이 밀리는 상황에서 목표만 바라보고 힘든 시기를 버텨나가고 있습니다. 영한 님께서는 어떤 원동력으로 버티셨고, 해야만 하는 일, 하고 싶은 일, 포기해야 하는 일 사이에서 어떻게 결단을 내리셨는지 궁금합니다.

    현재도 어려운 시기를 겪는 분들이 많습니다. 잡플래닛에는 월급이 밀린다는 평이 올라오는데도 100명이 넘는 사람들이 지원할 만큼 취업 경쟁이 치열하죠.

    그럼에도 불구하고, 인프콘에서 하신 말씀이 큰 위로와 용기를 주었습니다.

    "실력 있는 개발자의 TO는 무제한입니다."

    이 말은 지금도 제 마음에 남아 있습니다. 저 자신을 믿고, 영한쌤과 선배 개발자님들의 오답노트를 살펴보며 꾸준히 학습하고 경험을 쌓다 보면, 언젠가 저 역시 '실력 있는 개발자'가 될 것이라고 믿습니다.

    항상 진심으로 감사드리며, 앞으로도 많은 분들께 영감을 주는 강의와 이야기를 들려주시길 기대합니다.

  • 박민수
    박민수

    안녕하세요. 저는 27살 백엔드 개발자 취업 준비생입니다. 올해 8월에 대학을 졸업하기까지, 저는 내가 무엇이 되고 싶은지도 몰랐고, 학교 공부도 단순히 시험을 위해서만 했던 것 같습니다. 나머지 시간은 대부분 놀기만 했죠. 대학교 마지막 학기까지는 다들 저처럼 사는 줄 알았는데, 올해 초 주위를 돌아보니 같은 컴퓨터공학과 친구들은 이미 시스템 엔지니어, 웹, 임베디드 등 각자 원하는 길을 향해 달려가고 있었습니다. 그때부터 저도 어떤 분야와 진로로 나아가야 할지 고민이 많아졌습니다.

    이 상태로는 위험하지 않을까 하는 생각에, 일단 웹 개발자가 되고 싶다는 명확한 목표보다는 어떻게든 방향을 잡아야겠다는 마음으로 부트캠프에 지원하게 되었습니다. 부트캠프에서 영한님의 스프링 강의를 들을 수 있었는데, 처음에는 단순히 커리큘럼이니까 들어야 한다는 마음이었습니다. 그런데 강의 중간에 나오는 영한님의 일대기나, 코드를 수정하며 즐거워하는 리액션을 보면서 점점 매료되었습니다. 아, 이분은 정말 자기가 하는 일을 즐기고 있구나, 이런 느낌이 들었죠. 그렇게 목적 없이 듣던 강의가 점점 다음에는 어떤 이야기를 해주실지 기대하며 듣게 되었습니다.

    올해 초부터 그렇게 열심히 강의를 듣다 보니, 아직도 백엔드 개발자의 길이 저에게 맞는지는 확신할 수 없습니다. 하지만 한 번 취업해서 제 적성을 확인해보고 싶다는 생각이 들었습니다. 각종 기술을 배우는 것도 중요했지만, 저에게 가장 와닿았던 것은 영한님이 스스로 즐거워하는 모습이었습니다. 그래서 저도 즐겁게 일할 수 있는 개발자가 되기 위해 노력해보려 합니다. 여담으로, 전 프로게이머 출신으로서 게임을 즐기시는 것도 인상 깊었습니다. 

    마지막으로, 저는 강의란 시간과 관심을 사는 것이라고 생각합니다. 단순히 취업을 위해 들어야겠다는 마음에서 시작했지만, 영한님의 강의를 들으며 그분이 스스로 개발하면서 고민했던 시간들의 노하우를 빠르게 습득할 수 있었습니다. 또한 영한님이 개발을 즐거워하시는 모습을 보면서 저도 홀린 듯 개발자가 되어보고 싶다는 생각이 들었습니다(제가 프로를 준비하면서 즐거웠던 모습을 보는 느낌이었습니다). 개발을 깊이 경험해보지는 않았지만, 정말 재미있어 보였거든요. 지금도 열심히 준비하고 있지만, 좋은 강의 만들어주셔서 감사합니다. 

     

  • 임원기
    임원기

    안녕하세요 영한님 40만 수강생 축하드립니다!

    개발바닥에 나온 영한님을 보고 처음으로 개발자라는 직업을 처음으로 접하게되었는데 그때 개발자로서 뿐만아니라 사람으로서도 좋은 귀감이 되었습니다. 최근에 EO에 나오셔서 하신 말씀도 너무 좋은 자극이 되었구요.

    40만 수강생이라는 타이틀에 대해서는 강의를 들으신 분들은 모두 이유를 알고 있을것이라 생각합니다. 해당 기술의 근원부터 어떤식으로 발전했는지 보여주는 방식은 너무 머리에 너무 잘주입되고 이보다 더한 설명은 없다고 생각되네요.

    후속으로 이어질 db강의가 너무나도 기대됩니다.

     

    영한님처럼 좋은 영향력을 펼치는 개발자가 되고싶다는 말을 드리고 싶었습니다.

    다시한번 축하드리고 항상 건강하시고 행복하시길 기원합니다 😀!

  • EH K
    EH K

    안녕하세요 영한님, 4학년을 향해 가고있는 대학생입니다. 학기 초 동아리에서 영한님 스프링 입문강의로 스터디 했던 기억이 납니다. 입문강의가 저한테는 너무 어려웠었는데, 지금 생각해보니 어려움이 아닌 낯설음이었던 거 같네요.

    이후 공부를 설렁설렁 하다가, 최근에 해커톤에 나가게 되어 급하게 공부를 시작했었습니다. 아는게 없어 정말 막막해 하다가, 영한님 생각이 나서 지푸라기라도 잡는 심정으로 기본, mvc1, jpa1를 닥치는대로 수강하였습니다. 입문강의 땐 그렇게도 어려웠었는데, 신기하게 오히려 이후의 강의에서 더 머리에 쏙쏙 들어와 놀랐었네요. 강의를 본 후 따로 공부까지 하니, 처음엔 이해되지 않았던 것들도 머리에 들어오기 시작했습니다. 이렇게 후회없이 노력했고, 끝내 해커톤에서 저희팀이 2등 수상까지 했습니다. 정말 큰 도움 받은 거 같아 감사인사 드립니다😄

     

    이번 경험으로 개발 지식 성장과 수상의 결과도 있지만, '하면 된다'는 자신감이 생긴게 저에게 정말 큰 보상입니다. 이후에 계속 이 자신감을 키워나갈 생각입니다. 이에 도움주셔 진심으로 감사드립니다. 이후 강의에서도 계속 뵙겠습니다. 연말 따뜻하게 보내시고 행복하십시오~

  • Tommy
    Tommy

    영한님의 스프링 로드맵 고급편이 한창 올라오고 있던 시기 부터 학습을 시작했던 수강생입니다.

    벌써 40만 수강생이 되심에 진심으로 축하드려요.

    매번 영한님에게 감사해 하며 살고 있어요.

    사실 개발자가 되기위해 부트캠프를 다닐 때에는 되게 막막했었던 것 같아요.

    스프링의 전반적인 구조, JPA 에 대해서 이해를 제대로 하지도 않고 기술 구현에 급급했던 것 같아요.

    그러다 인프런의 영한님의 강의를 알게 되었고, 덕분에 전체적인 큰 숲과 나무를 다 볼 수 있게 된 것 같아요.

    영한님의 다음으로 챕터에서 매번 말씀해 주시던 것이 기억나네요.

    수업을 듣고난 후 이를 정리를 하고, 체화를 하는 과정이 필요하다는 것.

    처음에는 이해가 잘 되지 않아 한 세번정도는 로드맵 그대로 강의를 들었던 것 같아요.

    그러면서 스프링이 어떻게 동작하는 지, JPA가 어떻게 동작하는지 알게 된 것 같아요.

    추가적으로 실무에서도 영한님에게 배운 기초 지식들을 기반으로 무리없이 잘 적응 해 나갈 수 있던 것 같습니다.

     

    개발자를 준비하는 사람들에게 좋은 영양분이 되어주는 강의들이 있어서 너무 감사할 따름입니다.

    100만 수강생이 되는 그 날 까지 열심히 응원할게요.

    감사합니다.

  • 이승환
    이승환

    안녕하세요 영한 선생님! 선생님 덕분에 5월 말에 국비 학원이 끝난 후 계속적으로 공부하여 다음주 월요일부터 회사에 취직하게 되었습니다 ㅎㅎㅎ 너무 감사드립니다 지속적으로 선생님 강의를 수강하며 실력을 다져서 좋은 개발자가 되도록 노력하겠습니다^^

  • 박주형
    박주형

    안녕하세요. 영한님의 Spring 및 JPA 강의 커리큘럼을 몇 번씩 반복 학습하며 많은 도움을 받게 되었습니다.

    영한님의 강의 방식은 단순 API 사용방법이 아닌 해당 개념들에 대한 설명과 더불어 내부 동작방식을 단계적으로 설명을 해주신다는 점이 마음에 들었고, 정말 많은 도움을 받았습니다.

    그리고 그 중 Transaction에 대한 강의 내용을 들으며 이 개념은 Spring에 국한되지 않고, DB에 대한 이해가 포함되면 더욱 많은 도움을 받지 않을까 싶어, 저가 공부하고 고민한 내용을 올려보려고 합니다. 저에 대한 진실성을 보여주기 위해 고민하였고, 그 방법 중 제가 고민하며 학습한 내용을 타인과 공유하는 것이 가장 최고의 방법이라 생각하기에 글을 적어봅니다.

     

    블로그 주소

     

    스프링의 Transactional 애너테이션을 공부하는 중에 생겼던 고민이다.

    DBMS를 MySQL을 이용한다라고 하였을 때 Isolation Level의 default 값은 repeatable read라는 것을 알게 되었고, 이 때 lost update, write skew와 같은 이상현상 문제들이 발생할 수 있고, 이를 locking read와 같은 비관적 락으로 해결한다는 것을 배웠었다.

    이 때, Spring에서 @Transactional의 경우 recoverable schedule이면서 cascading rollback으로 동작하는 것이라는 것을 알게 되었다. 이 경우 uncheck exception이 발생하였을 때 한 개의 트랜잭션으로 묶인 동작(기능)들은 모두 롤백시킨다는 점에 있어서 concurrency를 지킬 수 있지만 성능 저하가 발생되지 않을까 하는 걱정이 들었다.

    이를 cascadeless schedule 혹은 strick schedule로 변환시켜야 하지 않을까 하는 괜한 걱정이 들었다.

     

    Cascading Rollback은 Concurrency(recoverability)를 지킬 수 있지만 속도는 느려지지 않을까?

    이 말은 정확하게는 틀렸다라고 할 수 있다.

    cascading rollback이든 cascadless schedule이든 concurrency는 보장한다. 물론 이는 strict schedule도 마찬가지이다.

    concurrency 개념은 '동시성'이라는 개념에서 동일한 시간 범위 내에 서로 다른 프로세싱 흐름이 존재할 수 있음을 의미한다.

    DB에서 트랜잭션에 concurrent하다는 것은 동시에 여러 트랜잭션을 받을 수 있다는 말이 된다. 즉, 위 방식들은 모두 concurrent하기에, 동시에 여러 트랜잭션을 받을 수 있게 된다. 다만 concurrent한데 얼마나 concurrent하느냐, concurrency의 강도 차이가 있을 뿐이다.

    cascading rollback은 관련데이터 읽기/쓰기 모두에 허용하고 문제가 생겼을 경우 전체를 롤백시킨다. cascadless schedule은 관련데이터 읽기만 허용하고 strick schedule은 관련데이터 읽기 쓰기를 모두 다 막는다.

    '관련데이터'에 한해서만 concurrency의 정도가 달라지는 것이다. 이런 용어를 분명하게 구별하는 것이 위의 질문에 대한 답을 도출하는데 있어서 중요하기에 다시 한 번 짚어본다.

    그러면 이제 위 질문에 대해 본격적으로 얘기를 해보려고 한다.

    cascading rollback을 cascadless schedule이나 strict schedule을 이용한다면 더 빠를것인가?

    여기에는 여러 가정이 끼어있다.

    1. 동시에 여러 트랜잭션을 수행한다.

    2. 동시에 실행중인 여러 트랜잭션이 동일한 데이터를 건드린다. (read 혹은 write)

    3. 결과적으로 롤백되는 트랜잭션에 대해서만 속도를 측정한다.

    이런 가정 하에서는 cascading rollback이 느린 것이 맞다. 다른 두 스케줄에 비해 롤백 타임을 거치기 때문에 여러 트랜잭션 중 빠른 트랜잭션이 끝나는 시기 + 롤백하는 타임을 다 거치기 때문이다.

    그러나 이를 조정하고자 하는 목적은 보통 concurrent하게 + 속도를 빠르게 잘 처리하고 싶은 것일거다.

    그런 점에서는 물론 application 혹은 서비스마다 특징이 전혀 다르다. 만약 트랜잭션이 상시 일어나는 서비스가 동일한 데이터를 자주 건드리는 서비스고 그런 쿼리가 자주 있다면 cascadless schedule 혹은 strict schedule을 더 많이 사용하게 비관적 락을 거는 것이 낫을 것이다.

    그런데 어떤 테이블은 그런 트랜잭션이 거의 일어나지 않고 따라서 오히려 롤백이 일어날 여지가 적은 테이블이 존재할 수 있다. 이런 경우에는 낙관적 락이 전반적인 처리량 향상에 도움이 될 것이다. (그리고 이런 경우에는 Redis의 분산 락으로 해결한다는 것을 알게 되었다.)

    추가적인 주관적인 생각

    백엔드 애플리케이션 / DB를 다루다보면 결국 scale에 관련짓어 생각을 하게 된다. 예를 들어, 어떤 http request 혹은 DB 쿼리가 너무 오래걸려서 전체를 마비시킬바에는 차라리 timeout 혹은 쿼리를 막아서 못쓰게 만다는 편이 낫다고 본다. (이쯤되면 캐시를 쓰겠지만...)

    또한 이에 대한 내용은 DB 엔진 내부에서 처리가 되는 방식이지, 유저 인터페이스로 조정이 가능한 방식이 보통은 아닐 것이다. 유저 레벨에서는 Isolation Levle을 조정하거나, 혹은 Lock 방식을 조정하는데에 그치게 된다.

    마지막으로 위 질문은 여러 레이어를 넘나들고 있다. Java Spring의 애너테이션은 애플리케이션 레벨에서 가장 구체적인 프레임워크 구현단의 레벨인데, 지금 DB의 내부 동작을 바꾸기 위한 고민을 하고 있었다는 것이다.

    Java에서 인터페이스를 만들고, Spring에서 DI를 하는 등의 작업들은 모두 관심사를 분리시키고 각 레이어간의 경계를 명확히 하여 역할을 분리하기 위함이다.

    애플리케이션은 도메인/비즈니스 로직을 다루는 순수한 레이어로 남겨두고, DB 종속적인 부분은 Repository 레이어 혹은 MSA로 나눠져있는 DB 그 자체의 설정으로 넣는 것이 좋다고 생각한다. (stored procedure을 왜 잘 이용안하는지를 생각해보자)

    꼬리를 문 추가적인 고민

    그렇다면 비관적 락은 언제 쓰는 것인가?

    위에 고민을 해결하기 위해 책을 보기도 하고, 영상 및 구글링을 하기도 하며 여러 사람과 대화를 나누어 보기도 했다. 그러면서 생긴 고민이 비관적 락은 애플리케이션에 전반적인 성능을 저하시킬텐데 쓰긴 하는 것일까? 쓴다면 어느 경우에 쓰는 것일까? 이다.

    개인적으로 비관적 락은 유저 자산 정보 같은 돈과 관련된 굉장히 민감한 데이터에 대해서 절대적으로 serializability를 유지시켜야 할 때 쓰여야 하지 않을까 생각해보았다.

    하지만 여러 사람들에게 의견을 나누어 보았을 때 그것을 왜 쓰느냐, 그냥 Redis로 처리하면 된다. 그리고 한 분에게서 CS를 그렇게 공부하는 이유가 무엇이느냐 그럴 이유도 필요도 없다는 듯한 말씀을 해주셨다.

    개인적으로 이 말을 듣고 굉장한 회의감에 빠졌었다. (2일 정도...) 내가 하는 공부와 고민들이 정말 의미가 없는 행동인가? 그렇다면 나는 무엇을 하고 있는 것인가. 나의 노력은 옳바른 방향을 향하고 있는 것이 맞는 것인가 하면서 기술의 사용법을 빠르게 익히는 것이 옳다고 하셨던 것처럼 여러 기술의 작동법을 익히는 것이 맞는 것인가 하면서 내적 갈등을 했었다.

    그리고 이러한 회의감은 토스 슬래시24의 여러 세션을 들으면서 해소되게 되었다. (참고로 한 세션에서 비관적 락을 쓰는 것을 보고 굉장한 안도감과 기쁨을 느꼈다.)

    비록 들었던 모든 내용을 이해하지 못하고 제대로 이해하지 못한 내용들도 많았으나, 일부분 공부하였던 내용들에 대해서 소개를 하기도 해 흥미롭게 듣기도 하고, 이해하지 못하는 내용도 CS에서 유사한 연관점을 찾아 최대한 이해해보려고 노력하기도 하였다. 이때까지 내가 한 노력이 무의미하지 않았다는 것을 느끼게 된 하루였다. (토스 슬래시에 대한 후기는 나중에 시간이 나는대로 써보려고 한다.)

     

    다시 RDBMS에서 Concurrency Control을 어떻게 지킬 수 있는지를 복습 및 공부하게 되었고, 지금은 다음과 같은 것을 알게 되었다.

    MVCC를 이용하기 전에는 S2PL 혹은 SS2PL과 같은 프로토콜을 사용함으로써, strick schedule을 보장할 수 있게 된다. 하지만 이는 공유락 혹은 배제락으로만 이용을 하다보니 트래픽에 대한 빠른 처리에 대해서 약점을 갖게 되었고, MVCC를 이용하게 됨으로써 약점을 해소 할 수 있게 되었으나, serializable isolation level이 아닌한 완전한 serializability를 유지할 수는 없게 되었다.

    다만 MySQL에서는 serializable isolation level을 MVCC를 이용하지 않은 repeatable read isolation level에서 모든 operation에 대해 공유락으로 동작하게 되고, 이에 따라 repeatable read isolation level에서 부분적으로 비관적 락을 이용한다면 serializability를 유지할 수 있게 된다라고 생각한다.


    13123213
    13123213

    CS를 왜 공부하냐, Redis 쓰면 되는거 아니야?
    하는 사람들은 무시하시죠!
    어떤 문제가 발생했을 때 새로운 기술로써만 해결한다면, 문제해결을 위한 새로운 기술이 나타나지 않으면 손가락만 빨고 있을거냐고 물어봐주고 싶네요. 멋지십니다

  • 쌤수
    쌤수

    와... 내 수강평이 메인 후기로...;;

    인프런에 감사합니다..

  • 이정표
    이정표

    영한님의 강의로만 100넘게 썼습니다ㅋㅋㅋㅋ

  • won
    won

    안녕하세요 이제 막 백엔드 개발자로 취직한 사회 초년생 직장인입니다.

    IT 업계에 흥미를 가진 이후 영한님 강의를 들으며 대학 전공도 새롭게 수강하고 정말 어렵게 올해 취직을 할 수 있게 되었습니다. 그렇지만 현실은 그렇게 녹록지 않더라고요.. 회사 상황이 어려워져 현재 임금이 밀린 채로 회사에 다니고 있습니다. 처음 집안 어른들께 용돈도 드리고 했었는데 멘탈이 많이 무너졌었습니다.

    하지만 언제까지 힘들어하고만 있을 수는 없기에 기초부터 다시 닦고 일어나 보자는 마음으로 영한님 강의부터 복습을 시작하고 있습니다. 항상 양질의 강의를 제공해 주시고 프로그래머로서 나아갈 방향에 대해 조언해 주셔서 감사합니다. 앞으로도 좋은 강의 기대하겠습니다 🙏

  • 이현준
    이현준

    안녕하세요 저는 소프트웨어 분야 특성화고를 다니고 있는 학생입니다. 빠른 진로 선택과, 3년안에 고등학교 일반 교과의 수업과, 전공 공부를 병행해야 하는 학교 특성 때문에, 전공 교과목은 일반적인 네트워크, 데이터 베이스, 컴퓨터 시스템등의 일반적인 이론만을 배웠습니다. 그래서 진로와 관련된 자세한 부분은 자습에 의존해야 하는데, 어디서 부터 배워야 할지, 어느 직군을 진로로 결정하여 배워야 할지 막막 했습니다. 그때 영한님의 강의를 보고 원리 부터 차근차근 배워가는 강의를 보고 백엔드에 매력을 느껴서 입문 했습니다. 다른 강의는 대부분 이론과 원리보다는 사용에 집중하여 암기와 같은 모습을 보여 지루하다 느꼈었는데, 영한님의 강의는 원리에 중심을 둔 학습으로 고대의 개발자부터 알려주시는 것에 큰 재미를 느꼈습니다.
    학교 프로젝트를 위해 시큐리티와, 코틀린등을 배우기 위해 다른 강의도 몇개 학습해봤지만, 영한님 처럼 자세하고 쉽게 설명해주시는 분은 없었습니다. 영한님이 가끔씩 드립이나 일상에 관한 이야기도 해주는 부분도 강의의 매력이라고 느끼고 있습니다. 앞으로도 강의 내주시면 꼭 모두 시청하고, 정리해서 취업에 성공 하겠습니다.
    넓은 범위의 시청자들을 위해 쉽게 이해가능하며, 내용이 풍부한 강의를 만드는 것에 노력해주셔서 감사합니다.

  • juwonchoe595
    juwonchoe595

    안녕하세요 저는 프로그래머를 꿈꾸고 있는 고등학생입니다.

    인프런을 접하기 전에는 그저 '프로그래머가 되면 좋겠다!' 라는 막연한 소망만을 가지고 있었습니다. 그러다 인프런을 접하게 되면서 여러 프로그래밍을 배우게 되고, 여러 분야도 접하면서 점점 프로그래머라는 제 꿈에 더 가까워지고 있는 것 같습니다. 덕분에 제 막연했던 꿈은 점점 더 현실이 되어가고 있는 것 같습니다! 앞으로도 인프런과 함께 열심히 공부하면서 꿈꿔온 모습인 프로그래머가 되어 보겠습니다!!!

채널톡 아이콘