2020-12-02

jsbak·2020년 12월 2일
0

PYTHON

목록 보기
15/24

특성 플랫폼, 시스템이 종속되지 않는 녀석들을 만들어야한다.

비동기
비동기 롱폴링 - 주기 설정

청크단위로 온게 다 왔을때 success함수가 호출
향수 언젠가 뭐를 하겠다? promise??
그래서 아작스에 success func를 없애고
done을 이용해서 성공실패 둘다 처리할 수 있다. xhr을 이용하여 모든걸 볼수 있다. 객체가 성공실패 어떤 내용이런걸 다 담고있는 객체 이기 때문이다.

	$.ajax({
				url : "getServerTime.jsp",
				method : "get",
				dataType : "text",
// 				success : function(resp) {
// 					timeArea.text(resp);
// 				},
				error : function(xhr) {
					console.log(xhr);
				}
			}).done(function(xhr)){
				// success : func의 역할을함 다만 얘는 성공, done은 성공 실패 모두가 가능
				timeArea.text(resp);
			});

SSE에서는 데이터 건당 '\n' 두번을 써서 식별한다. 이것이 메시지 이벤트라는 형식으로 만들져서 클라이언트에 제공
그래서 이벤트 리스너 방식으로 처리한것.건당 받아서 처리하기 위해서 이벤트 드리블 방식으로
장점 : 여러번 요청하지 않고 한번만으로
단점 : 단점 클라이언트가 서버로 데이터를 보내는 것을 불가능, 그래서 양방향 통신은 웹소켓

예시

메일 -> 로그인 디스패치(상태유지, 그주소로 그대로간다. 새로고침) ->로그인
메일 -> 로그인 리다이렉트(메일 url로 새로운 요청, 새로고침) -> 메일유지

가입시 -> (모든정보 남겨줄 필요가 없다) 성공시 리다이렉트
가입시 -> (모든정보 남겨서 나머지 다시 입력 안하게끔) 실패, 포워딩

include는 서블릿이 받아서 UI를 구성하기 어렵기 때문에 굳이 안하고 모델2방식에는 forward방식이용
request스코프에 담는 것이 역할을 다하면 사라지기 때문에 최소한의 영역으로 존재가능하다.

resp.를 이용하기 때문에 Redirect방식에서는 request스코프가 사라지기 때문에 안된다.
그래서 사용하려면 응답을 보내도 사라지지 않는 session을 이용하는 것이다.

처리가 끝난 명령의 정보를 남겨두지 않기 위해서 Redirect
forward처리하고 새로고침하면해서 body를 확인해보면 해당 파라미터가 그대로 남아있다.
jsp와 서블릿의 req, resp는 같은 녀석이었다 (공유)

parameter랑 attribute
둘다 req객체에서 담겨있으니 Redirect되면 항상 req가 사라지니 없는 것

세션도 jsp 기본 내장 객체이다.

세션은 계속 살아있다. 그래서 세션과 어플리케이션에서는 우리가 직접 적절한 시점에서 없애줘야한다.

session.removeAttribute() 플래시 어트리뷰트, 한번 꺼내고 값이 사라진다.

스코프는 가장 최소의 영역을 선택

기본 4개의 객체에 대해서 봐야되는 내용
생존시간?? 그런거

document.name
name 속성을 주면 그걸로 해당 요소를 찾을수 있다.

서버에서의 벨리데이션, 클라이언트에서의 벨리데이션

전방탐색?

벨리데이션체크
1. 데이터 입력시
2. 데이터 전송시

정규표현식 참고

검색어 : gethifi regex
참고 : https://think2011.net/regex-tester/

커스텀 태그 - 프리픽스 : 액션 태그
jsp:include
그 자바코드를 쉽게 지원해주는 녀석들

자바 정규 표현식 전방탐색 참고 : https://codevang.tistory.com/115

전방 탐색

  • 지정한 문자(열) 직전의 문자(열)을 탐색
  • 작성 방법 : 검사할문자(?=지정할문자)
  • 작성 방법 : (?=(검사할문자)(지정할문자))
  1. (?=.*[A-Z]) → 대문자 검사
    • 대문자 1개 앞에 아무거나 있거나 없거나 (.*)
    • 앞에 뭐가 있던 상관없고 대문자가 1개라도 있어야 true가 되기 때문에 대문자 검사식이 됨
  2. ​(?=.*[a-z]) → 소문자 검사
  3. (?=.*[0-9]) → 숫자 검사
  4. (?=.*[\W^\s]) → 공백이 아닌 (문자,숫자가 아닌)문자(특수문자) 검사
  5. [\S^\\]{8,} → 허용 문자 및 최소 횟수 설정
    • 공백이 아니면서 역슬레쉬가 아닌 문자가 8개 이상 연속돼야 함

session


한 유저에 대해 여러페이지에 걸쳐 저장된다? (유저 식별, 나라는 사람에 의해서만 식별)

외부 라이브러리



이후 download - Binaries의 bin 파일 download

import org.apache.commons.lang3.StringUtils;
기존의 것을 보완해주는 녀석들이 많다

3.11파일에서
alt + shift
1.
/webStudy01/WebContent/WEB-INF/lib/commons-lang3-3.11-sources.jar
2. javadoc in archive - workspace file
Archive path : webStudy01/WebContent/WEB-INF/lib/commons-lang3-3.11-javadoc.jar
Validate확인

찾아보기

do메서드 에서 super있으면 왜 안되던지? 다시 알아보기
parameter와 attribute다시 알아보기
둘다 req객체에서 담겨있으니 Redirect되면 항상 req가 사라지니 없는 것

requestDesc부터 다시?

EJB 알아보기

참고 : https://ko.wikipedia.org/wiki/%EC%97%94%ED%84%B0%ED%94%84%EB%9D%BC%EC%9D%B4%EC%A6%88_%EC%9E%90%EB%B0%94%EB%B9%88%EC%A6%88
엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.

과제

  1. validate 메서드 완성하기 Pattern 객체 이용
  2. 파이썬에서도 똑같은 정규표현식 어떻게 하나 알아보기
profile
끄적끄적 쓰는곳

0개의 댓글