[항해99] 5주차 회고 주특기-2 (Spring)
·
항해99
내용5주차는 주특기 심화주차로 지난주에 했던 스프링 기본과제 CRUD에 이어서 스프링 시큐리티를 사용한 회원가입 로그인을 구현하는 과제를 진행하였다. 시큐리티에 기능을 사용해 로그인과 로그아웃을 구현하였고 세션과/쿠키 기반으로 시큐리티에서 지원하기 때문에 그걸 그대로 사용하였다. 회원가입할때 validation을 확인하는 과정을 백엔드쪽 어노테이션을 활용해 정규식으로 체크해주고 만약 에러가 있을시 bindingResult에 담아서 다시 프론트엔드로 보내주는 과정을 유효성검사를 진행하였다. 스프링 템플릿 엔진 타임리프를 사용하였고 타임리프 문법에 대해서 많이 알게되었다. 그리고 페이징 처리를 위해 JPA에서 지원하는 Pageable을 사용하여 페이징처리와 sort처리를 해줬다. 스프링 시큐리티와 유효성검사..
[항해99] 주특기 Spring 심화 프로젝트
·
항해99
과제요구사항 회원 가입 페이지회원가입 버튼을 클릭하기닉네임, 비밀번호, 비밀번호 확인을 입력하기닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기비밀번호 확인은 비밀번호와 정확하게 일치하기데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 프론트엔드에서 보여주기회원가입 버튼을 누르고 에러메세지가 발생하지 않는다면 로그인 페이지로 이동시키기로그인 페이지로그인, 회원가입 버튼을 만들기닉네임, 비밀번호 입력란 만들기로그인 버튼을 누른 경우 닉네임과 비밀번호가 데이터베이스에 등록됐는지 확인한 뒤, 하나라도 맞지 않는 정보가 있다면..
[항해99] 4주차 회고 주특기-1 (Spring)
·
항해99
내용 4주차는 주특기주차로 리액트/리액트네이티브/스프링/노드 4개중에 한 개의 주특기를 선택하여 첫 주는 주특기 기본, 두번째 주차는 주특기 심화를 배운다. 나는 주특기로 스프링을 선택하여서 금토일에는 스파르타코딩클럽 웹개발의 봄, Spring 강의를 보았고 월화수목은 과제로 CRUD 게시판 구현하는 과제를 진행하였다. 강의를 볼 때는 Spring이 어떻게 진행되는지 감이 잘 안잡혔는데 월요일부터 직접 구현해보면서 Spring MVC가 어떤식으로 작동하는지 감을 잡게 되었고 팀원들과 모르는 부분을 상의하면서 진행하다보니 잘 진행이 되었던것 같다. 저번주차 까지 힘들었던 알고리즘 주를 끝내고 이제 스프링을 시작하게 되어서 기쁘고 오랜만에 스프링을 다시 보는거라 더욱 열심히 공부해야겠다고 느꼈다. 웹개발의..
[항해99] Spring 심화반 강의 (4) 정리
·
항해99
1. Spring Data JPA ORM이란?Object Relation Mapping으로 객체(클래스)와 관계(관계형 데이터베이스)와의 설정을 의미한다. 객체지향 프로그래밍은 클래스를 사용하고 관계형 데이터베이스는 테이블을 사용한다. 여기서 객체 모델과 관계형 모델간의 불일치가 존재하는데 이 객체간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결하는것이 ORM이다. JPAJava Persistence API로 자바 ORM 기술에 대한 표준 명세이다. 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. JPA는 특정 기능을하는 라이브러리가 아니다. JPA는 단순히 명세이기 때문에 구현이 없다. 하이버네이트 (Hibernate)하이버네이트는 JPA라는 명세의 구현체이..