CS
-
페이지 처리를 하는 데에는 두 가지 방식이 있다. offset방식과 cursor방식이다. 1. OFFSET(오프셋) 방식OFFSET 방식에서 가장 중요한 점은 뒷부분 데이터를 조회할 수록 느려진다는 점이다. 오프셋 쿼리는 아래와 같다.SELECT * FROM [TABLE] [조건절] LIMIT [페이지 당 글 수] OFFSET [오프셋] 이때, 항상 모두 조회를 하고 오프셋에 따라 결과를 잘라 데이터를 보내는 방식으로 작동한다. 데이터가 달라질 수 있기 때문에 매번 처음부터 조회를 하는 것이다. 때문에, 오프셋 방식은 뒷부분 데이터를 조회할 수록 성능이 아주 느려진다. 또 다른 단점은 사용자 관점에서 데이터의 누락과 중복이 종종 일어난다는 점이다. 예를 들어 테이블이 아래와 같다고 하고, 첫번째 페이지에..
pagination - offset vs cursor페이지 처리를 하는 데에는 두 가지 방식이 있다. offset방식과 cursor방식이다. 1. OFFSET(오프셋) 방식OFFSET 방식에서 가장 중요한 점은 뒷부분 데이터를 조회할 수록 느려진다는 점이다. 오프셋 쿼리는 아래와 같다.SELECT * FROM [TABLE] [조건절] LIMIT [페이지 당 글 수] OFFSET [오프셋] 이때, 항상 모두 조회를 하고 오프셋에 따라 결과를 잘라 데이터를 보내는 방식으로 작동한다. 데이터가 달라질 수 있기 때문에 매번 처음부터 조회를 하는 것이다. 때문에, 오프셋 방식은 뒷부분 데이터를 조회할 수록 성능이 아주 느려진다. 또 다른 단점은 사용자 관점에서 데이터의 누락과 중복이 종종 일어난다는 점이다. 예를 들어 테이블이 아래와 같다고 하고, 첫번째 페이지에..
2025.02.15 -
1. Spring Security 개요Spring Security는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. 이 문서에서는 중요하게 다루지는 않지만, 그래도 알아두면 좋으니 인증과 인가의 차이는 아래와 같다.인증(Authenticate) : 유저가 누구인지 확인하는 절차인가(Authorization) : 인증된 사용자에 대해 권한을 확인하고 허락하는 것 2. Spring Security 동작 과정공식 페이지에서 제공하는 이미지이다. 스프링 시큐리티는 서블릿의 필터를 기반으로 동작한다. WAS 위에 있는 필터들 사이에 DelegatingFilterProxy가 요청을 가로채 FilterChainProxy가 SecurityFilterChain으로 요청..
Spring Security(2) - Spring Security 동작 원리1. Spring Security 개요Spring Security는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. 이 문서에서는 중요하게 다루지는 않지만, 그래도 알아두면 좋으니 인증과 인가의 차이는 아래와 같다.인증(Authenticate) : 유저가 누구인지 확인하는 절차인가(Authorization) : 인증된 사용자에 대해 권한을 확인하고 허락하는 것 2. Spring Security 동작 과정공식 페이지에서 제공하는 이미지이다. 스프링 시큐리티는 서블릿의 필터를 기반으로 동작한다. WAS 위에 있는 필터들 사이에 DelegatingFilterProxy가 요청을 가로채 FilterChainProxy가 SecurityFilterChain으로 요청..
2025.02.14 -
1. HTTP 요청에서의 인증HTTP는 비연결성 및 무상태성의 특징을 가지고 있다. 때문에 한번 통신한 이후 다시 통신할 때 서버는 이전 통신에 대한 기억이 없다. 이러한 특징으로 인해 사용자를 식별할 수가 없게 되었으며 이 때문에 인증을 사용하게 되었다*인증 vs 인가 인증 방법에는 대표적으로 두 가지가 있다. JWT 방식과 Session 방식이다. 이 두 방식을 구분하는 가장 큰 차이는 인증 정보를 어디에 저장하느냐 이다. 세션은 서버에 저장된다. 정확히는 세션을 저장하는 데이터베이스 서버에 저장된다. JWT는 클라이언트에서 토큰을 가지고 있다가 서버 요청시 헤더에 넣어 보낸다. 2. 두 가지 인증 방법 (1) SessionSession 방식 동작 과정 1. 클라이언트가 로그인 시2. 서버에서 인..
Spring Security(1) - JWT vs Session1. HTTP 요청에서의 인증HTTP는 비연결성 및 무상태성의 특징을 가지고 있다. 때문에 한번 통신한 이후 다시 통신할 때 서버는 이전 통신에 대한 기억이 없다. 이러한 특징으로 인해 사용자를 식별할 수가 없게 되었으며 이 때문에 인증을 사용하게 되었다*인증 vs 인가 인증 방법에는 대표적으로 두 가지가 있다. JWT 방식과 Session 방식이다. 이 두 방식을 구분하는 가장 큰 차이는 인증 정보를 어디에 저장하느냐 이다. 세션은 서버에 저장된다. 정확히는 세션을 저장하는 데이터베이스 서버에 저장된다. JWT는 클라이언트에서 토큰을 가지고 있다가 서버 요청시 헤더에 넣어 보낸다. 2. 두 가지 인증 방법 (1) SessionSession 방식 동작 과정 1. 클라이언트가 로그인 시2. 서버에서 인..
2025.02.10 -
기본적으로LIKE 와 %를 이용한다. 예제 1. 회원 중에서 박씨 성을 제외한 회원을 조회하시오not like '박%' 예제 2. 회원 중에서 이름에 '도'가 들어간 회원을 조회하시오like '%도%' 복잡한 패턴 검색은 정규식을 이용한다 예제 3. 혹시 전화번호가 포함되어있는 경우가 있는지 조회like '%-%-%'이 경우는 찾긴 찾는데 한글이 포함될 수있다 ex) 가-나-다전화번호는 숫자형태만 포함되어있다..! [정규식]대괄호 : 한 글자를 표현 ex) [123]1,2,3 중 하나대괄호 안에서 - : 범위 나타내기 ex) [1-3] 위와 동일한 표현역슬래시d : 0~9를 의미한다. /d/d/d/d이렇게 할래?중괄호 : 반복되는 수 지정 ex)/d{4} 위와 같은 표현, /d{3,4} 3자리 또는 4자..
[ORACLE] 문자열 패턴 검색기본적으로LIKE 와 %를 이용한다. 예제 1. 회원 중에서 박씨 성을 제외한 회원을 조회하시오not like '박%' 예제 2. 회원 중에서 이름에 '도'가 들어간 회원을 조회하시오like '%도%' 복잡한 패턴 검색은 정규식을 이용한다 예제 3. 혹시 전화번호가 포함되어있는 경우가 있는지 조회like '%-%-%'이 경우는 찾긴 찾는데 한글이 포함될 수있다 ex) 가-나-다전화번호는 숫자형태만 포함되어있다..! [정규식]대괄호 : 한 글자를 표현 ex) [123]1,2,3 중 하나대괄호 안에서 - : 범위 나타내기 ex) [1-3] 위와 동일한 표현역슬래시d : 0~9를 의미한다. /d/d/d/d이렇게 할래?중괄호 : 반복되는 수 지정 ex)/d{4} 위와 같은 표현, /d{3,4} 3자리 또는 4자..
2024.05.08 -
[작성순서]select -> from -> where -> group by -> having -> order by [작동 순서]from -> where -> group by -> having -> select -> order by따라서 select 에서 만든 별칭은 앞단계의 키워드에서는 사용 못한다
[ORACLE] SQL 작성 순서와 작동 순서[작성순서]select -> from -> where -> group by -> having -> order by [작동 순서]from -> where -> group by -> having -> select -> order by따라서 select 에서 만든 별칭은 앞단계의 키워드에서는 사용 못한다
2024.05.08 -
1. group by 는 기본적으로 집계함수와 함께 써야한다.집계함수용도max(컬럼이름)최대값min(컬럼이름)최소값median(컬럼이름)중앙값sum(컬럼이름)합계avg(컬럼이름)평균variance(컬럼이름)분산stddev(컬럼이름)표준편차count(컬럼이름)관측값(row) 수 2. 이 그룹에 조건을 주고 싶다면having 으로 조건을 주면 된다.
[ORACLE] group by1. group by 는 기본적으로 집계함수와 함께 써야한다.집계함수용도max(컬럼이름)최대값min(컬럼이름)최소값median(컬럼이름)중앙값sum(컬럼이름)합계avg(컬럼이름)평균variance(컬럼이름)분산stddev(컬럼이름)표준편차count(컬럼이름)관측값(row) 수 2. 이 그룹에 조건을 주고 싶다면having 으로 조건을 주면 된다.
2024.05.08