
* 필터와 인터셉터 : 특정한 서블릿이나 컨트롤러의 접근에 관여한다는 점에서 유사함 - 필터 : 스프링과 무관한 서블릿 자원 - 인터셉터 : 스프링의 빈으로 관리됨. 스프링의 컨텍스트 내에 속함 인증(Authentication)과 권한 부여(Authorization - 인가) * 인증 : '자신을 증명하는 것', 자기 스스로 무언가 자신을 증명할 만한 자료를 제시하는 것 * 권한 부여 : 남에 의해 자격이 부여됨 * 인증 매니저 (AuthenticationManager) * ProviderMAnager는 인증에 대한 처리를 AuthenticaitonProvider라는 타입의 객체를 이용해 처리를 위임함 * AuthenticationProvider(인증 제공자) : 실제 인증 작업을 진행함 - 이때 인증된..
웹소켓(WebSocket) : 웹브라우저와 웹서버 간 양방향 통신을 지원하기 위한 표준 - 실시간 알림, 채팅 등 클라이언트와 서버 간 메시지를 빈번하게 주고 받는 상황에 웹소켓을 적용함 - 스프링이 웹소켓 기반 클래스를 제공함 - 이를 통해 컨트롤러 구현하는 것과 같이 서버를 구현함 org.springframework spring-websocket 4.0.4.RELEASE //스프링4버전 WebSockHandlr를 이용한 웹소켓 서버 구현 스프링 웹소켓 기능은 스프링MVC를 지원하기 때문에, 스프링MVC에서 간단하게 서버 프로그램을 구현할 수 있음 * WebSockHandler 인터페이스 구현 * 또는 @EnalbeWebSock() 어노테이션을 이용해 앞서 구현한 WebSockHandler 구현 객체를..
22.1 파일의 확장자나 크기의 사전 처리 - 첨부파일의 확장자가 'exe, sh, zip' 등의 경우 업로드를 제한 : 첨부파일을 이용한 웹 공격을 막기 위함 - 특정 크기 이상의 파일은 업로드할 수 없도록 제한 22.1.1 중복된 이름의 첨부파일 처리 : 기존 파일을 덮어쓰기 해버리는 문제 - 중복된 이름의 파일 처리 문제: 현재 시간을 밀리세컨드로 구분해서 파일 이름 생성 or UUID를 이용해 문자열 생성해서 처리 - 한 폴더 내 너무 많은 파일의 생성 문제 : 일반적 방법은 '년/월/일' 단위 폴더를 생성하여 파일을 저장함 22.1.2. 년/월/일 폴더의 생성 - java.io.File에 존재하는 mkdirs()를 이용하여 필요한 상위 폴더를 한번에 생성할 수 있음 22.1.3 중복 방지를 위한..
PART6 파일 업로드 처리 CHAPTER 21. 파일 업로드 방식 1) 태그를 이용하는 방식 - 브라우저의 제한이 없어야 하는 경우에 사용 - 일반적으로 페이지 이동과 동시에 첨부파일을 업로드 하는 방식 - 을 이용해서 화면 이동 없이 첨부파일을 처리하는 방식 2) Ajax를 이용하는 방식 - 첨부파일을 별도로 처리하는 방식 - 을 이용하고 Ajax로 처리하는 방식 브라우저 상 첨부파일 처리 방식은 다양 서버 쪽에서의 처리는 대부분 비슷 : HTML코드 or JSON으로 처리 서버에서 주의해야 할 점 : 어떤 종류의 라이브러리와 API 등을 활용할 것인지 - cos.jar : 2002년에 개발 종료됨. 사용 권장X - commons-fileupload : 가장 일반적으로 많이 활용됨 - 서블릿 3.0 ..

CHAPTER19. 스프링에서 트랜잭션 관리 트랜잭션 : 비즈니스에서 쪼개질 수 없는 하나의 작업 단위를 말함. '한 번에 이루어지는 작업의 단위'를 트랜잭션으로 간주함 트랜잭션의 성격 : ACID 원칙 ex) 트랜잭션의 예제 : 계좌이체는 '출금'과 '입금'이라는 각각의 거래가 하나의 단위를 이루게 됨 '트랜잭션으로 관리한다' 혹은 '트랜잭션으로 묶는다'는 것은 &&(AND)와 같은 상황이라고 보면 됨 => 스프링은 트랜잭션 처리를 간단하게 XML이나 어노테이션으로 처리함 19.1 데이터베이스 설계와 트랜잭션 처리 정규화 : 테이블 간에 중복된 데이터를 허용하지 않는다는 것 - 정규화가 잘 되었거나, 규칙이 잘 반영된 데이터베이스의 설계에서는 '트랜잭션'이 많이 일어나지 않음. 정규화가 진행될수록 테이..

PART5. AOP와 트랜잭션 AOP(Aspect-Oriented Programming) '관점 지향 프로그래밍'. 객체지향에서 특정 비즈니스 로직에 걸림돌이 되는 공통 로직을 제거할 수 있는 방법을 제공함 AOP를 적용하면 기존 코드에 첨삭 없이, 메서드의 호출 이전 똔느 이후에 필요한 로직을 수행하는 방법을 제공 CHAPTER18. AOP라는 패러다임 * 핵심 로직은 아니지만, 공통 로직이 계속해서 코드에 들어감 => AOP가 추구하는 것은 '관심사'의 분리 * AOP는 개발자가 염두에 두어야하는 일들은 별도의 '관심사'로 분리, 핵심 비즈니스 로직만을 작성할 것을 권장함 * 관심사 : 약간의 주변 로직, 중요한 로직은 아니지만 사전 조건이나 사후 조건 등을 말함 * 인터셉터 : 컨트롤러로 요청에 들..

Chapter 17. Ajax 댓글 처리 REST 방식을 가장 많이 사용하는 형태는 브라우저/모바일APP 등에서 Ajax를 이용해서 호출 데이터 베이스 상에서 댓글은 전형적인 1:N 관계로 구성 하나의 게시물에 여러 개의 댓글을 추가하는 형태 화면은 조회 화면상에서 별도의 화면 이동 없이 처리하기 때문에 Ajax를 이용해서 호출 [오라클 DB] rno - 댓글 번호 bno - 게시글 번호 reply - 댓글 내용 replyer - 댓글 작성자 replyDate - 댓글 작성일 updateDate - 댓글 수정일 seq_reply - 댓글 번호 생성기 number(10, 0) : 숫자 10자리까지 , 소수점 0자리 ReplyController의 설계 ReplyController는 SampleControll..
- Total
- Today
- Yesterday
- 파이썬
- IndexError
- not_in
- python
- Math 클래스
- 요소선택
- StringBuilder 클래스
- FALSE
- 순환할당
- Pattern 클래스
- Calendar 클래스
- 리스트연산자
- 역반복문
- StringTokenizer 클래스
- Objects 클래스
- 포장 클래스
- Arrays 클래스
- StringBuffer 클래스
- Random 클래스
- 기본 API 클래스
- 함수
- 리스트
- 문자열함수
- Format 클래스
- 스레드 스케줄링
- Date 클래스
- 프로그램
- java.time.package
- 딕셔너리
- 자료형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |