빌드 : 프로젝트의 생명주기 전체를 아우르는 말 생성되서 배포될때까지 생명주기는 작은 단계로 쪼개짐 - phasemaven - 빌드 관리 툴. 신입 개발자가 maven 쓰면 좋은점1\. 템플릿 프로젝트를 만들어줌. 프로젝트의 틀2\. jar파
쿠키에 저장되있는 데이터들은 문자열이 아니라 객체일 수도 있음. 그데이터를 서버로 보내려면 마샬링, 직렬화해서 보내야됨. 서버에서 받을때는 역직렬화, 언마샬링해서 받아야됨.저장할 수 있는 용량 제한보안에 취약세션의 트래킹모드가 어떤점이 유용한지그것을 was에서 어
preScript - include 방식 한거A, B사이에서 공유할 수 있는 스코프에 대해 볼것그전에 기본객체를 이해해야 함자바스크립트 기본객체 : window, document객체 선언하거나 생성한 적 없는데 쓸 수 있었음implicitObject.jsp서버 사이드에
페이지 모듈화 maven으로 프로젝트 진행 플레이스 홀더 여기에 이렇게 되있어서 webapp이 숨어있던것 베이스로 여기로 되있다는 것. 밖으로 빼줌 커스텀태그 -
composite view 패턴여러개의 페이지로 view를 구성한다.가장 많이 쓰이는 프레임웤이 apatch tiles5개는 모델1 방식이었는데 module.do를 거쳐서 나오게 되서 모델2로 바뀜하지만 bts는 원래 모델2였는데 굳이 module.do를 거쳐야될까?\
이미지 같은 자원들은 한번 요청을 해서 응답이 나가면 브라우저가 캐시에 저장함. 이미지 새로고침으로 다시 요청하면 200->304로 바뀜. 이미 한번 캐싱이 됬다.\-> 서버상에서 자원이 바뀌어도 한번캐싱한거 계속 쓰려고 하는 특성이 있어서 잘 안바뀌는 때도 있음=>
tiles를 사용안하면 view를 어떤 view로 보낼지 controler(서블릿)에서 처리해야됨. -> view에 따라 controler가 바뀜 하지만 tiles를 쓰면 controler에서는 view에 대한것 고려안해도 됨 => 결합력 낮아짐 응집력은 높이고 결합력
간편하게 쓰려고 자주쓰는거 상수로 만들어줌$.ajax같은 바로 접근가능한 함수 만들어줌시간 실시간으로 변경하기 위해 setInterval()함수 이용setInterval 함수를 사용하면 매 특정 시간마다 함수가 실행되는데, 이게 페이지가 바뀌거나 리프레시 될때까지 무
자바스크립트 - 함수안에 함수 가능. - 클로저 개념함수 여러개의 뎁스구조로 되어있으면 그 뎁스구조만큼 클로저가 생긴다.지역변수 찾고 없으면 클로저 -> 전역변수 순으로 찾음.02/userAgent.jspuseBean1.<%%>기호 안써도 변수를 선언, 객체 생성
jquery 자체가 가지고 있는 fn셀렉팅 할 수 있는 fn? 셀렉터로 셀렉팅할 수 있는 fn?블럭 - 지역 - 블럭안에서 사용되고 있는 변수들 다 모으면 클로저 - 글로벌 스코프서버와 db사이에는 미리 약속된 프로토콜이 없다.db종류에 따라 다름드라이버 - 퍼사이드
Jackson 이란? Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는데 사용할 수 있는 Java 라이브러리이다.Jackson databind 이용한 마샬링 util라인1. req에 저장되어있는 attribute들의 이름을 가져온
ㅇㄹㄶ
<복습>양방향 - 허가받은 유저만 \-> 키가 있느냐.ASE - 블럭 암호화 - 일정 구간으로 쪼개서 암호화 해야되기 때문에 패딩문자가 필요할때도 있다.블럭체이닝 - 블럭마다 연결되게 맨 첫번째 블럭은 연결할게 없음 - 초기화 00 필요하다.퍼블릭키로 암호화 시켰
<복습>세션/쿠키공통점 - stateless보완하기 위해쿠키 - value에 특수문자네트워크 통해서 클라이언트에게 전송하기 때문에 인코딩해야 함.StringUtils - 스트링 클래스가 가지고 있는 문제 보완하기 위한 것선생님 방식
한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환.어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
오늘부터 part2.프레임워크에대해 배울것인증절차나 db종류 바뀌면의존하고 있는 객체 바꿔야됨.객체 직접 생성해서 의존하는 방법은 결합력 최상위\-> 낮추려면 쿠키유틸즈 dependancy injection사용. 생성자로 객체 받음..\->스프링결합력 낮춤dao - 커
암호화db 스키마 구조beanUtils쓸때 파라미터 name을 VO랑 같게 해줘야 얘가 그 이름 찾아서 꺼내서 넣어줌!throwable - 호출자에게 그 주소 통해서 에러 던질 수 있다.(전달가능)저렇게 속여도 계속 오류남-checked exception. 체크 해줘야
<오늘>1\. 페이징,검색기능2\. mybatisvalidator프레임웤검증하려면 controller, service, dao에서 다 검증해야됨. 넘어온 데이터 믿을 수 없어서\-> 일일히 다 검증하지 말고 검증대상인 데이터를 가지고 있는 VO에서 체크를 한다.페
웹 구조안에서 클-서버시스템그 서버가 몇개로 쪼개지냐에 따라 n-tier구조요청을 하나의 컴포넌트로 처리할것이냐 두개로 나눠서 처리할 것이냐에 따라 모델1,2나눠짐controller-view로 contents를 보여줘야됨- model layer에서 만듬row데이터 가져
<복습>티어-클라이언트 서버 시스템의 구조데이터의 영역과 한계를 제한할 수 있는 domain layercontroller - 요청을 분석mybatis - 쿼리문의 객체를 관리해서 sql mappermemberinsertController, memberUpdateC
리플렉션 - 붕어빵보고 붕어빵틀 찾는것.Reflection은 다음과 같은 정보를 가져올 수 있고 이 정보로 객체를 생성하거나 메소드를 호출하거나 변수의 값을 변경할 수 있다.ClassConstructorMethodField라인 13 : 선택한 클래스의 객체를 가져온다.
<오늘>contoroller를 지원하는 프레임웍\->컨트롤러 앞단에서 중복되는 부분 처리.1\.backand 컨트롤러는 요청 처리하지 않음-> 서블릿으로 만들 필요 없다. -상속받을 필요 없음2\.프론트 컨트롤러-매핑정보 필요함.뭐가 뭘 처리하는지3\. 백엔드 컨
<오늘>eljstl자바언어 쓸 수 없음. 반드시 속성데이터써야됨..?기본 객체가 제공하는 영역의 속성 사용속성의 형태로 공유되고 있는 집합 객체에 대한 접근 방법 제공속성으로 공유되고 있는 데이터에 대한 수치 연산, 관계 연산, 논리 연산자 제공송성으로 공유되고
el+jstl : layout 엔진, 템플릿 엔진. 뷰 지원하는 엔진 다른것도 있음. 사용방법이 아니라 뭘 해주는지,구조파악파일업로드, 필터파일업로드 할때와 안할때의 req차이파일업로드 할때는 Wrapper클래스 이용어떻게 해야 파일 업로드가 되는지가 아니라 왜 그렇게
<오늘>필터-보안처리. 인증, 인가 처리스프링 스크리티.회원정보 아무나 가져가면 안된다.1\. 우리 어플리케이션에서 제공하는 자원 - 보호가 필요한 자원과 필요 없는 자원 구분 -> db에 보호자원2\. 누구에 대한 롤 - 일반유저로 갈건지, 관리자, 슈퍼관리자.
★ 요구사항 분석사용자 분류 각 관리자 마다 쓸 수 있는 기능 나뉨 - 유즈케이스 다이어그램각 케이스에서 완성해야하는 프로세스 도식화 - 시퀀스 다이어그램다이어그램뽑는 것 - 어플리케이션 설계db - 데이터 설계일반적인 개발자는 마지막에 다 설계된거 가지고 개발하는 역
<오늘>트랜젝션 단점 해결할 수 있는 리스너insertBoard, insertAttaches\-각각 커밋하면 완전히 다른 트랜젝션으로 돌아감만약 보드 인서트 됬는데 첨부파일 등록하다가 오류나면? - 이건 게시글 등록 실패한것트랜잭션 - 절대로 쪼갤 수 없는 단위게
일기를 영어로 바로 쓰는게 아니라나에게 익숙한 한글로 먼저 일기를 쓰고 단어 바꾸고 부사로나중에 팀 로직논의할때 의사코드로 논의함의사코드로 먼저 쓰는 습관들이기삭제 ui삭제 누르면 글번호, 비밀번호가 포함되있어야됨그 다음 그걸 서버로 전송 - 바디 구성해야됨. 비밀번호
컨테이너에 빈들 등록injection 방법으로 의존관계 형성생성자 주입setter 주입어플리케이션의 시작지점(entry point)에 컨테이너 객체 생성설정파일 넘기기.어느 리소스인지 정적으로 고정되있지 않고 동적으로 바뀐다면 generic으로빈 검색할 수 있는 조건
마이바티스 쓸때 커넥션객체, 쿼리객체 안만듬.스프링jar파일이 다 쪼개져있음 필요한 것만 갖다 쓰면 됨. -> 가볍다.뭐가 필요한지.각 묘듈들 간에 의존성이 어떻게 되고 있는지. 사과박스빈들을 컨테이너가 관리하니까 의존성도 얘가 관리.빈 등록의존관계 형성컨테이너 객체
앞에 //붙이는게 스키마표현할때 관행적으로 사용됨. 이렇게 쓸수도있다.RequestToViewNameTranslator논리적인 뷰 네임이 명시가 안되있을때 COC이용해서 url에 있는 주소로 뷰네임 만든다boardRetrieve 리펙토링프로젝트 우클릭 - spring
서비스에서 트랜젝션관리하면 1.퍼시스턴스 프레임웤을 비지니스에서 처리하는것.2.관리하는 코드 여러곳 - 중복발생3.다오에서 발생한 익셉션을 비지니스로직에서도 처리해야됨실질적으로 주입되는건 IBoardServiceImpl디버깅 찍어보면 aop방법론으로 만들어진 프록시객체
쿠키 maxAge를 0이나 -1로 하면 쿠키를 지울수는 있음. 나머지 조건이 다 같을때만!로그아웃원래는 이걸로 메세지 내보냈었는데 loginProcessServlet 없어져서 지금 메세지 안나옴..
대화가 유지되려면 state가 fool로 바뀌어야한다.하지만 http는 그럴수없는 구조. 수많은 클라이언트에대해 개방하고 있으면 부하가 많이걸림\-> cookie, session하지만 아무리 그래도 요청 끝나면 연결 끊김Long pooling초를 설정해놓고 1초마다 한
실시간 처리 - 명령에 대한 처리가 그 즉시 돌아오는 것배치처리-명령을 모아놨다가 특정 시점이 되면 한꺼번에 처리사용자 인터랙션이 없다. 사용자가 실시간으로 명령 내리는게 아님.스케줄링 기능이 포함되야된다. 시간 카운팅해서 특정시간에 처리해야 됨.탈퇴처리 하는동안 다른
Spring 프레임웤의 근간이 되는 IoC/DI 기능을 지원. BeanFactory를 기반으로 Bean 클래스들을 제어할 수 있는 기능을 지원.객체를 생성하고 객체 간의 의존성을 이어주는 역할을 함bean을 포함하고 관리하는 책임을 지는 Spring Ioc의 실제설정
프록시는 인터페이스를 바탕으로. jdk가 가지고 있는 기본 프록시가 아니다?window-preferences 설정해줌
2021.01.23 기업 멘토님interceptorsecurity말고 인터셉터 쓰는 경우 많음요청이 들어와서 컨트롤러 가기전에 중간에 가로채서 다른 작업하거나 다른곳으로 보냄. 디스패쳐 서블릿(어떤 컨트롤러로 갈지 보내는역할) 가기전에 함. 스프링 인터셉터 현장에서 많
스프링 설정파일에서 태그등으로 의존 객체 대상 명시하지 않아도 스프링 컨테이너가 자동적으로 찾아 주입하는 것세 어노테이션 차이는 의존 객체 찾는 방식이 다름