![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ckNvlL/btq1ONSuasN/KkeGh38ZU0eK8JKTB1WIc1/img.png)
내용 5주차는 주특기 심화주차로 지난주에 했던 스프링 기본과제 CRUD에 이어서 스프링 시큐리티를 사용한 회원가입 로그인을 구현하는 과제를 진행하였다. 시큐리티에 기능을 사용해 로그인과 로그아웃을 구현하였고 세션과/쿠키 기반으로 시큐리티에서 지원하기 때문에 그걸 그대로 사용하였다. 회원가입할때 validation을 확인하는 과정을 백엔드쪽 어노테이션을 활용해 정규식으로 체크해주고 만약 에러가 있을시 bindingResult에 담아서 다시 프론트엔드로 보내주는 과정을 유효성검사를 진행하였다. 스프링 템플릿 엔진 타임리프를 사용하였고 타임리프 문법에 대해서 많이 알게되었다. 그리고 페이징 처리를 위해 JPA에서 지원하는 Pageable을 사용하여 페이징처리와 sort처리를 해줬다. 스프링 시큐리티와 유효성검..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/DS46f/btq090fApMa/yRpQhSlzPbp7zBf7ZJrwdk/img.png)
내용 4주차는 주특기주차로 리액트/리액트네이티브/스프링/노드 4개중에 한 개의 주특기를 선택하여 첫 주는 주특기 기본, 두번째 주차는 주특기 심화를 배운다. 나는 주특기로 스프링을 선택하여서 금토일에는 스파르타코딩클럽 웹개발의 봄, Spring 강의를 보았고 월화수목은 과제로 CRUD 게시판 구현하는 과제를 진행하였다. 강의를 볼 때는 Spring이 어떻게 진행되는지 감이 잘 안잡혔는데 월요일부터 직접 구현해보면서 Spring MVC가 어떤식으로 작동하는지 감을 잡게 되었고 팀원들과 모르는 부분을 상의하면서 진행하다보니 잘 진행이 되었던것 같다. 저번주차 까지 힘들었던 알고리즘 주를 끝내고 이제 스프링을 시작하게 되어서 기쁘고 오랜만에 스프링을 다시 보는거라 더욱 열심히 공부해야겠다고 느꼈다. 웹개발의 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bmM5FI/btq0807NrKS/VnkPTAsyQxFkUGifrPNpF0/img.png)
1. JUnit을 이용한 단위테스트 단위테스트란? 프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하고 이를 통해 문제 발생 시 정확하게 어느 부분이 잘못되었는지를 재빨리 확인 할 수 있게 해준다. JUnit이란? 자바 프로그래밍 언어용 단위 테스트 프레임워크 이다. TDD (Test-Driven Development)? AS-IS) 설계 -> 개발 -> 테스트 -> 설계수정 TO-BE) 설계 -> 테스트 -> 설계수정 -> 테스트 TO-BE 방법이 테스트 주도 개발 TDD이다. Mockito Mock 객체를 쉽게 만들 수 있는 방법을 제공해준다. 스프링부트 안에 포함되어있다. Mock이란 각 테스트 케이스는 서로 분리되어야 좋기 때문에 가짜 객체 (Mock object)를 생성하는 것이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bpvSN1/btq09Z0Yc5X/yr5PUDMLCsoOhVeTbYPbN0/img.png)
1. 인증,인가 와 쿠키,세션 인증(Authenication) : 사용자 신원을 확인하는 행위 인가(Authorization) : 사용자 권한을 확인하는 행위 웹에서의 인증 및 인가 인증 : 로그인을 통해 본인임을 확인 (주로, 아이디와 패스워드 이용) 인가 : 주로 역할에 따른 사용권한 관리 HTTP HTTP는 상태를 저장하지 않는다. (Stateless 하다) 위에 그림에서 클라이언트의 요청을 서버에게 보낸 후 응답을 받을 때 까지가 하나의 HTTP요청이다. 하지만 HTTP 상태는 기억되지 않기 때문에 웹 서버에서는 1번과 2번이 같은 클라이언트의 요청인지 알 수 없다. 쿠키와 세션 모두 HTTP에 상태 정보를 유지(Stateful)하기 위해 사용된다. 즉, 쿠키와 세션을 통해 서버에서는 클라이언트 ..