한주간 강의 내용
위 사진은 이번주 한주간 강의 했던 내용 중에 가장 중요한 2가지 내용이 아니었나 싶다.
먼저, aop와 controlleradvice등 미들웨어성 기술을 활용해서 공통 로깅과 예외처리 작업을 수행했다. 실무코드에 반드시 있는 기술들이니 반드시 복습하고 추후 활용하길 바란다.
이번주는 로그인 기술에 대한 실습과 이론내용을 수업의 주를 이루었던것 같다. 로그인방법에는 크게 세션방식과 토큰방식이 있다.
세션은 서버에서 사용자의 세션ID를 관리하고 세션저장소에 사용자 정보를 저장해두고 인증을 처리하는 방식이다.
토큰은 서버에서 사용자의 로그인상태를 관리하지 않고, 토큰의 signature를 통해 사용자의 토큰을 매API요청마다 검사하는 방식으로 인증여부를 확인한다.
토큰방식의 stateless한 성격의 장점으로 인해 현재 restful api서버에서 가장 많이 사용하는 인증방식이니, 소스코드 한줄한줄 읽어가며 복습을 해두면 좋을것 같다.
사실 로그인과 인증은 개발을 할수 있냐 없냐의 중요도도 있지만 면접에서의 단골 이론 질문영역이기에 더욱 중요하다. 그런데, 면접질문과 이론질문에 어떠한 확신을 갖고 적절하게 대답할수 있으려면 이론만 봐서는 안되고 소스코드를 통해 이론을 이해해야 한다고 생각한다. 그래야만 애매함없이 본인이 작성한 소스코드 베이스로 자신감있게 대답을 할수가 있다.
그외에 HTTP관련한 수업도 반나절 이상 진행하였는데, 모든 내용이 면접과 실무활용도가 있는 내용이니 HTTP에 대해서도 한번쯤 다시 읽어보고 정리하길 바란다.
스프링 강의 회고
쬐금 남긴했지만 3주간 동안 스프링수업이 드디어 끝이 났다. 스프링수업은 spring basic에서 기본적인 controller사용법부터 시작하여 service레이어의 역할과 repository레이어에서 jdbc, mybatis 등 각종 기술에 대해 배우면서 시작되었다. 이후 게시판서비스에서 기본적인 crud를 만들어보면서 화면을 구성했고, 서비스 개발과정에 필요한 로그인, 예외, 로깅, 페이징처리, 테스트코드, 스케쥴러 등 다양한 패턴과 기술에 대해 공부했다.
order system은 n:m관계성과 restful하게 최종적인 클린한 코드 작성을 위해 진행해보았다. 수업의 효율성을 위해 상당부분 수강생들의 과제로 사전적으로 개발을 해올수 있게 진행했다. 덕분에 수업의 속도를 높일수 있었고, 최초 계획했던데로 중요한 기술들은 거의 하나도 빠짐없이 강의할수 있었다. 프로젝트와 복습 등 바쁜와중에도 충실하게 과제를 진행해준 수강생들에게 감사를 드린다.
3주간의 스프링 수업이 많은 수강생들에게 상당히 챌린징 했을것이란 생각이 든다. 그리고 그래야만 한다고 생각한다. 쉬웠다면 그건 해당 수강생에게 도움이 되는 시간이 되지 못했을것이기 때문이다. 완전히 무너지는 것이 아니라면 흔들리며 괴로운 시간이어야만 성장할수 있다고 생각한다. 이미 모든 내용이 선행이 된 상태에서 다시 한번 여기서 복습하고 있는 과정이라면 여기서의 매일 8시간의 과정이 해당 수강생에게 효율적이지 못하고, 적합하지 않는 학습 방법이다.
수업시간에도 말했지만, 혹시라도 복습의 필요성이 느껴지지 않을만큼 수업이 여유롭고 할만하다면 해당 수강생은 더 앞으로 나가야 한다. 할만하다면서 만족하기보다 매 순간 스스로에게 조금 더 챌린징한 시간이 될수 있게 스스로 노력했으면 좋겠다.
벌써 12주차이고 강의를 시작한지 3달이 지났다. 수업은 이제 vue 1주, msa3일, devops 2주 가량 정도 밖에 남지 않았다. 수강생들이 최종프로젝트 전까지 최대한 실용적인 기술을 터득할수 있도록 남은기간 최선을 다해야겠다.
여기서 1달이 더 지나고 난 시점에는 모두가 한명의 주니어 개발자로서 개발을 하는게 어려울것 같기는 한데 완전히 막막하지는 않고, 해볼만 할수 있을것 같은 느낌을 가질 수 있다면 좋겠다.
다음주 강의 계획
차주부터는 vue 수업이 진행된다. ordering 시스템의 rest api에 vue화면을 붙이는 방식으로 수업이 진행된다.
vue에서는 어떠한 이론적근거나 기초용어를 하나씩 정리해 나가는 방식으로 수업이 진행되기 보다는, 최대한 화면을 만들어 가면서 배우는 방식으로 수업을 진행할 예정이다.
vue는 여타 프론트엔드 프레임워크보다 구성이 간단하고 쉽기도 하고, 제한된 시간속에 바로 프로젝트에 사용해야 하기 때문에 실전에서 도움이 되는 방식으로 수업을 구성하고자 한다.
vue는 우리가 일전에 배운 html/css/js 구성이 그대로 vue코드에서 사용이되고 mvc에서 다루었던 화면 개발과 크게 다르지 않다. 그러므로 mvc에서는 구현하기 어려운 프론트 프레임워크의 장점을 강조하면서 수업이 진행된다.
컴포넌트 활용, 스크롤페이징(infiniteloading), localstorage의 토큰관리 등 vue기본 문법에 더해 프론트엔드의 특성을 알수 있는 개발 위주로 진행을 할 예정이다. 이 또한 제한된 시간속에서 최대한 실용적인 수업이 될수 있도록 해봐야겠다.
'부트캠프 이야기 > 한화시스템 sw부트캠프 3기' 카테고리의 다른 글
spring cloud msa 강의 후기 (1) | 2024.02.17 |
---|---|
vue.js 프레임워크 강의 후기 (0) | 2024.02.09 |
spring 게시판 강의 (0) | 2024.01.27 |
Spring 기본 강의 (0) | 2024.01.20 |
코딩페스티벌과 스프링시작 (1) | 2024.01.13 |