・
수강평 4
・
평균평점 4.3
스프링 입문 완강 후 일주일...스프링 핵심 원리 기본편을 완강했습니다. 일단 쭉 들어보고 그 다음에 차근차근 진행하고 싶어 강의를 두 번 들었습니다. 복습이 학습 기록에 남지 않아서 유감입니다만... 하루에 두 챕터 씩 끊어서 진행했더니 월요일에 시작해서 금요일에 마무리할 수 있었습니다. 스프링 핵심 원리 - 기본편은 스프링 맛보기 강의입니다. 스프링 맛보기인데 객체지향 이야기도 빠짐없이 등장합니다. "대체 객체지향이란 무엇인가?" 대학 학부 시절 내내 저를 괴롭혔던 질문입니다. 교수님이 말하는 내용과 책의 설명이 와닿지 않았습니다. 교과서의 예제 코드는 그 기술을 써야하는 이유보다는 그 기술을 어떻게 사용하는지에 초점을 맞추고 있었기 때문입니다. private을 쓰면 외부에서 접근이 불가능하다고 하는데 그걸 써야만 하는 이유는 무엇일까요? 외부에서 접근하면 뭐가 문젤까요? 비슷한 관점으로 객체지향으로 개발해야하는 이유는 무엇일까요? 학부를 졸업하고 다시 자바를 공부해보니 의외로 답은 간단했습니다. 편리함. 객체지향 프로그래밍은 객체라는 개념을 도입해 절차지향보다 개발의 귀찮음을 줄였습니다. 마찬가지로 EJB를 활용해 개발해도 됩니다. 하지만 그것보다 더 편리하게 개발하고 싶습니다. 그래서 스프링이 나왔습니다. 스프링은 객체지향 프로그래밍을 더욱 편리하게 만들어주는 도구입니다. 그런 관점에서 스프링을 바라보면 스프링의 여러 기술이 객체지향 프로그래밍을 극한으로 끌어올리기 위해 설계되어있다는 걸 알 수 있습니다. 본 강의에서는 객체지향의 설계가 적용된 프로젝트에 어떤 방식으로 스프링이 적용되는지 차근차근 알려줍니다. 물론 스프링 없이도 객체지향 설계에 따른 프로그래밍을 할 수 있고 그것만으로도 좋은 프로그램입니다. 하지만 스프링을 쓰면 더 간편하게 객체지향의 개념을 적용 및 활용할 수 있는데 정말 안 쓰실 건가요? 당신의 설정파일을 스프링 컨테이너가 관리하며 싱글톤 패턴을 적용하고 컴포넌트 스캔을 하며 의존관계를 자동으로 주입하는데 정말 안 쓰실 건가요? 마치 방문판매사원이 아주 좋은 물건이라며 옥장판을 강매하는 것 같지만, 차이점이 있다면 스프링이 실제로 좋은 프레임워크라는 사실입니다. 아직 스프링부트 강의는 들어보지 않았는데 스프링보다 더 간편하고 좋은 기능이 많이 있을거라고 생각합니다. 그즈음에는 스프링부트 판매사원이 집을 방문할 거 같습니다. "이런 좋은 기능이 있는데...스프링보다 더 간편한데...정말 안 쓰실 건가요?" 강의의 중요도를 따지면 섹션 7까지가 본편, 8~9는 외전 같습니다. 스코프라는 개념은 자바스크립트를 공부할 때 처음 배웠습니다. 그 당시 스코프가 엄청나게 헷갈렸던 기억이 있습니다. 분명 스코프가 식별자에 대한 유효 범위라고 배웠지만, 그래서 this가 정확히 무얼 가리키는지는 맨눈으로 도저히 알 수 없었기 때문입니다. 빈 스코프는 자바스크립트의 스코프와는 다르나 핵심 개념은 공유합니다. 바로 유효 범위를 나타낸다는 것입니다. 유효 범위에 따른 문제란 늘 비슷합니다. 생성되지 않았거나 종료된 시점에서 호출하면 반드시 에러를 일으킵니다. 결론도 비슷하죠. 이 특성을 알고 조심해서 사용하자! p.s.1. 객체지향의 개념 말인데, 저는 본 강의를 수강하며 조영호님의 "객체지향의 사실과 오해" 책을 읽고 있었습니다. 김영한 강사님께서 객체지향의 개념을 설명하실 때 조영호님과 비슷한 말씀을 하셔서 깜짝 놀랐습니다. 원래 시니어 개발자들은 다 비슷한 생각을 하고 사는 건가요? p.s.2. 사실 스프링 입문 편에서도 인텔리제이를 썼지만, 초보자라서 단축키 사용이 형편없었죠. 그러나 본 강의를 수강하며 필수 단축키는 익혔습니다. 이게 불을 발견한 구인류의 심정일까요? 유레카!
jiun koo님 아주 정성스럽게 수강평을 적어주셨군요^^ 스프링을 이해하려면 결국 객체지향의 개념을 이해해야 하는데, 이 포인트를 잘 잡는 것에 참으로 많은 에너지를 부었습니다. 이런 부분들을 잘 알아주셔서 진심으로 감사합니다^^