Spring(수업 정리 #7)bbs3

최동민·2022년 6월 2일
0

Spring 수업정리

목록 보기
11/47

UserService 에서 내용 추가

UserController 내용 추가

UserService 에서 조건 추가

닉네임

  • != null
  • 2자 이상 10자 이하
  • 영어 소문자/대문자, 숫자, 완성 한글

정규 표현식 (Regular Expression)

정규 표현식은 특정한 규칙을 가진 문자열의 패턴을 표현하는데 사용하는 표현식(Expression)으로 텍스트에서 특정 문자열을 검색하거나 치환할 때 흔히 사용됩니다. 예를 들어, 웹페이지에서 전화번호나 이메일 주소를 발췌한다거나 로그파일에서 특정 에러메시지가 들어간 라인들을 찾을 때 정규 표현식을 사용하면 쉽게 구현할 수 있습니다. 정규 표현식은 간단히 정규식, Regex 등으로 불리기도 합니다.

email 주소 유효성 검사 정규표현식: '계정@도메인.최상위도메인' 형식의 데이터를 찾는 정규표현식입니다.
'^[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'
-. ^: 패턴의 시작을 의미
-. $: 패턴의 종료를 의미
-. a-zA-Z0-9(a~z, A~Z, 0~9. 즉 알파벳(대소문자)+숫자를 의미)

휴대폰 번호 유효성 검사 정규표현식
'\d{3}-\d{3,4}-\d{4}'
'3자리 숫자 - 3자리 or 4자리 숫자 - 4자리 숫자' 형태의 데이터를 찾는 정규표현식

비밀번호 유효성 검사 정규표현식
최소 8 자, 최소 하나의 문자, 하나의 숫자 및 하나의 특수 문자 :
"^(?=.[A-Za-z])(?=.\d)(?=.[@!%#?&])[A-Za-z\d@!%*#?&]{8,}$"

UserService에 정규식 추가


MVC 패턴에서 Service Model 의 역할

MVC 패턴의 핵심은 View는 자신이 요청할 Controller만 알고있으면 되고, Controller는 화면에서 넘어오는 매개변수들을 이용해 Service 객체를 호출하는 역할을 한다. Service 는 불필요하게 Http 통신을 위한 HttpServlet을 상속 받을 필요도 없는 순수한 자바 객체로 구성된다(그렇기에 Service 에 request나 response와 같은 객체를 매개변수로 받아선 안된다. 그걸 사용해야하는 작업은 컨트롤러에서 해야한다.). 그렇기에 자신을 어떤 컨트롤러가 호출하든 상관없이 필요한 매개변수만 준다면 자신의 비즈니스로직을 처리하게된다. 즉 모듈화를 통해 어디서든 재사용이 가능한 클래스파일이라는 뜻이다. 단순 Web 기반이 아니라 추후 native app 으로 view단이 변경되더라도 Service는 view에 종속적인 코드가 없기때문에 그대로 재사용 할 수 있어야 한다. 그리고 추가적인 요청사항이 들어오면 기존 소스를 수정하는게 아니라 기존 service 인터페이스를 구현한 다른 클래스를 구현해 그 객체를 사용하게끔 하는것이다. OCP에 입각한 변화에는 닫혀있고 확장에는 열려있는 구조로 만들어야한다는 것이다.


globalWarning 추가

util 패키지 만든 후 CryptoUtil 클래스 생성

profile
코드를 두드리면 문이 열린다

0개의 댓글