내용 6주차는 클론코딩 주차로 프론트 2명 백엔드 2명이 한팀으로 하나의 사이트를 정해서 클론코딩을 진행하게 된다. 우리조는 리액트 2명, 스프링 2명이 모이게 되었고 사이트는 리디셀렉트 라는 사이트를 클론코딩 하기로 정했다. 아무래도 1주동안 진행하는 과제이기 때문에 튜텨님들 께서도 범위를 좁게 잡고 시작하라고 말씀하셔서 리디셀렉트가 범위가 적당해 보여서 선택하게 되었다. 데이터는 셀레니움을 사용해 크롤링하여 데이터를 만들었고 시큐리티와 jwt를 사용해 로그인 회원가입 처리를 하였다. 처음으로 프로젝트를 하면서 프런트와 벡엔드를 나눠서 진행해보았는데 느낀점은 확실히 소통과 명세서의 중요함을 느꼈다. 서로 구현을 하다보면 api 통신을 할 때 안맞는 부분이 생길 수 있는데 명세서를 기준으로 구현을 하면 ..
내용 5주차는 주특기 심화주차로 지난주에 했던 스프링 기본과제 CRUD에 이어서 스프링 시큐리티를 사용한 회원가입 로그인을 구현하는 과제를 진행하였다. 시큐리티에 기능을 사용해 로그인과 로그아웃을 구현하였고 세션과/쿠키 기반으로 시큐리티에서 지원하기 때문에 그걸 그대로 사용하였다. 회원가입할때 validation을 확인하는 과정을 백엔드쪽 어노테이션을 활용해 정규식으로 체크해주고 만약 에러가 있을시 bindingResult에 담아서 다시 프론트엔드로 보내주는 과정을 유효성검사를 진행하였다. 스프링 템플릿 엔진 타임리프를 사용하였고 타임리프 문법에 대해서 많이 알게되었다. 그리고 페이징 처리를 위해 JPA에서 지원하는 Pageable을 사용하여 페이징처리와 sort처리를 해줬다. 스프링 시큐리티와 유효성검..
과제요구사항 회원 가입 페이지 회원가입 버튼을 클릭하기 닉네임, 비밀번호, 비밀번호 확인을 입력하기 닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기 비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기 비밀번호 확인은 비밀번호와 정확하게 일치하기 데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 프론트엔드에서 보여주기 회원가입 버튼을 누르고 에러메세지가 발생하지 않는다면 로그인 페이지로 이동시키기 로그인 페이지 로그인, 회원가입 버튼을 만들기 닉네임, 비밀번호 입력란 만들기 로그인 버튼을 누른 경우 닉네임과 비밀번호가 데이터베이스에 등록됐는지 확인한 뒤, 하나라도 맞지..
내용 4주차는 주특기주차로 리액트/리액트네이티브/스프링/노드 4개중에 한 개의 주특기를 선택하여 첫 주는 주특기 기본, 두번째 주차는 주특기 심화를 배운다. 나는 주특기로 스프링을 선택하여서 금토일에는 스파르타코딩클럽 웹개발의 봄, Spring 강의를 보았고 월화수목은 과제로 CRUD 게시판 구현하는 과제를 진행하였다. 강의를 볼 때는 Spring이 어떻게 진행되는지 감이 잘 안잡혔는데 월요일부터 직접 구현해보면서 Spring MVC가 어떤식으로 작동하는지 감을 잡게 되었고 팀원들과 모르는 부분을 상의하면서 진행하다보니 잘 진행이 되었던것 같다. 저번주차 까지 힘들었던 알고리즘 주를 끝내고 이제 스프링을 시작하게 되어서 기쁘고 오랜만에 스프링을 다시 보는거라 더욱 열심히 공부해야겠다고 느꼈다. 웹개발의 ..