[WIL(2021.09.20 ~ 2021.09.26)] 항해 99 2주차 회고록

codename_hee·2021년 9월 26일
0

어느덧 항해 99의 2주차가 마무리 되고 있다.
추석 연휴였던 월~수요일 동안 항해의 공식적인 일정은 없었고 1주차를 마무리하며 각자 선택했던 주특기 기본 강의가 지급되어 자율적으로 수강할 수 있었다.

나는 Java 기반의 백엔드 프레임워크인 Spring 기술을 주특기로 선택했다. 시간적 여유가 많지 않아서 오래 고민하지 못했지만 1주차 때 진행됐던 주특기별 세션, 매니저님과의 면담, 주변 개발자들의 조언을 근거 삼아 Spring을 배워보기로 했다.

매니저님께서 연휴기간동안 2주차까지는 수강을 완료해오라 하셨지만 생각보다 본가에 가있으니 강의 듣기가 쉽지 않았다.
결국 1주차 강의도 완벽하게 수강하지 못한 채 목요일 9시에 2주차 발제가 이루어졌다.

이번 2주차는 '주특기 기본'주차로, 7일동안 각자 배정받은 팀의 팀원들과 함께 으쌰으쌰하며 spring에 관한 기본적인 지식을 익힌 후 과제 요구사항을 참고하며 웹사이트 하나를 완성해야한다.

목요일에 발제가 이루어진 후 3일동안 공부해보니 나는 왜 추석 연휴동안 강의를 조금이라도 더 듣지 않았을까 하는 약간의 후회가 밀려왔다.

1주차 때 백엔드 언어로 쓰였던 Python과 달리 Java언어는 문법과 작동 원리 등 언어의 구조 자체가 너무 달랐고, 관련 지식이 전혀 없었던 나에게 Java의 클래스, 멤버 변수, 메소드, 객체 등에 대한 개념과 서버의 3계층인 controller, service, repository 의 존재는 굉장히 부담스럽게 다가왔다.

강의를 들으며 따라는 하는데 이게 왜 이렇게 되는건지, 어떨 때 어떤 코드를 어떤 파일에 작성해야하는 건지에 대해 전혀 감이 오질 않았다. 하루는 혼란스럽고 급한 마음에 도저히 집중이 되지 않아 공부는 뒤로 한채 운동을 다녀와 그대로 침대로 직행했다...

다음날 다시 공부를 시작하려 책상에 앉으니 문득 항해 수료생 선발을 위한 인터뷰에서 담당 매니저님께서 했던 말씀이 떠올랐다.

우리는 항해를 하는 동안 '개발자에게 가장 중요한 자세이자 태도, 능력인 문제 해결 능력'을 기를 거라고.

그렇다면 지금 나는 어떻게 해야 이 방대한 내용들을 내 것으로 만들 수 있을 것이며 진정한 '공부'를 할 수 있을까 라는 생각에 빠지게 됐고 이해가 안되는 내용들을 하나 둘 구글링 해보기 시작했다.

역시 구글.
누군가 지금 내 상황에서 이해가 잘 되도록 쉬운 표현들로 필요한 내용들만 쏙쏙 골라서 java에 대한 설명을 해놓은 글을 찾을 수 있었다.

그 글을 읽으며 지금 내가 이해가 되지 않는 부분이 spring보다는 java 언어라는 것도 깨달을 수 있었다.

자료들을 하나 둘 읽다보니 비로소 듣고있던 강의의 내용이 조금이나마 이해되기 시작했고 많이 버벅대겠지만 주어진 프로젝트를 진행할 수 있을 것 같다는 생각이 들었다.

그리고 오늘 운영진 측에서 'DI, IoC, Bean' 라는 키워드를 포함한 회고록을 제출해달라는 숙제를 내주셨다.

2주차에 접어드니 매니저님들께서 내주는 숙제는 다 이유가 있다 라는 걸 알 수 있었기에 해당 내용들에 대해 공부를 하기 시작했다.

아래는 키워드에 대해 내가 공부한 내용이다.

IoC (Inversion of Control)

: 제어권 역전.

: 개발자가 직접적으로 의존성을 만들지 않고 외부에서 의존성을 가져오는 경우를 의미한다.

  • IoC container : 객체의 생성과 관계설정, 사용, 제거 등의 작업을 대신 해줌. Bean을 저장한다고 하여 BeanFactory라고도 불림.

DI (Dependency Injection)

: IoC의 일종으로 의존성 주입을 의미한다.

:객체를 직접 생성하는 게 아닌 외부에서 생성한 후 주입 시켜주는 방식 및 작업을 의미한다.

Bean

: 스프링의 IoC 컨테이너가 관리하는 객체들.
:

profile
진정한 개발자로 가는 길

0개의 댓글