본문 바로가기

dev151

[DB/ORACLE] TOP-N QUERY -- TOP-N QUERY : 상위 N 개의 행을 조회하는 쿼리이다. -- 3가지 방법으로, ROWNUM 방식, 분석함수 방식, ROW LIMITING 절을 알아보자 --ROWNUM 방식 : ORDER BY 절로 행을 정렬하고, 정렬된 행을 ROWNUM 슈도 칼럼으로 제한한다. SELECT EMPNO, SAL, ROWNUM AS RN FROM EMP; -- ROWNUM 슈도 칼럼은 1부터 시작하고 행이 반환될때 마다 순번이 증가하기 때문에 ROWNUM = 2는 항상 FALSE이다. SELECT EMPNO, SAL, ROWNUM AS RN FROM EMP WHERE ROWNUM = 2; -- ROWNUM 슈도 칼럼은 HAVING -> SELECT -> ORDER BY 순서.. 2022. 11. 29.
[DB/ORACLE] 분석함수 및 활용(선형 보간, 선분이력) --NTILE() 으로 나눈 그룹 SELECT C1, COUNT(*) AS C2, SUM(SAL) AS C3 FROM (SELECT SAL, NTILE(4) OVER (ORDER BY SAL) AS C1 FROM EMP WHERE DEPTNO = 30) GROUP BY C1; --CEIL() 으로 나눈 그룹 SELECT C1, COUNT(*) AS C2, SUM(SAL) AS C3 FROM (SELECT SAL, CEIL( ROW_NUMBER() OVER (ORDER BY SAL, EMPNO) / (COUNT(*) OVER() / 4 )) AS C1 FROM EMP WHERE DEPTNO = 30) GROUP BY C1; --ㅡMOD() 으로 나눈 그룹 SELECT C1, COUNT(*) AS C2, S.. 2022. 11. 28.
[DB/ORACLE] 분석함수 -- 분석함수 -- 집계 함수는 행 그룹으로 값을 집계하고 // 행 그룹별로 단일 행을 반환 하기 때문에 데이터 집합이 변경됨 -- 분석 함수는 파티션과 윈도우로 값을 집계한다. // 데이터 집합을 변경하지 않고 값을 집계하므로, 원본값과 집계 값을 함께 분석할수 있다. SELECT A.EMPNO, A.SAL, B.SAL AS C1, A.SAL / B.SAL AS C2 FROM EMP A , (SELECT DEPTNO, SUM(SAL) AS SAL FROM EMP GROUP BY DEPTNO ) B WHERE A.DEPTNO = 10 AND B.DEPTNO = A.DEPTNO ORDER BY 1; -- 분석 함수를 사용하면 EMP 테이블을 1번만 조회하면 된다. -- SUM(), RATIO_TO_REPO.. 2022. 11. 25.
[JAVASCRIPT] SCOPE / $(document).ready() 호출 순서 ! a1, a111, a11 순서 대로 호출되었다. JS는 위에서 아래로 순서대로 호출된다. 그러면 a1, a11, a111 순서대로 호출되어야 하는데 a1, a111, a11순서대로 시작되었다. 즉 $(document).ready(function(){ }) 는 모든 DOM이 로드 된 후에 실행된다는 것을 확인할 수 있다. 또한 $(document).ready(function(){ }) 범위 내에서 Scope가 document로 나타나는 것을 확인 할 수 있다. $(document).ready(function(){ }) 범위 안에서 $(document).ready(function(){ }) 밖에 외부에서 호출된 함수를 실행할경우에 Scope가 Window(Global Scope) 로써 매개변수.. 2022. 9. 25.
[Spring] Spring-security를 JSP에서 사용하기 JSP 에서 스프링 시큐리티와 관련된 정보를 출력하거나 사용하려면 JSP 상단에 스프링-시큐리티 관련 태그 라이브러리를 선언하고, 태그와 principal 이라는 이름의 속성을 사용합니다. Spring-security 에서 자주 사용되는 표현식 hasRole([role]) hasAuthority([authority]) 해당 권한이 있으면 True hasAnyRole([role,role2]) hasAnyAuthority([authority]) 여러 권한들 중에서 하나라도 해당 권한이 있으면 True principal 현재 사용자 정보를 의미 permitAll 모든 사용자에게 허용 denyAll 모든 사용자에게 거부 isAnonmous() - 익명의 사용자의 경우(로그인을 하지 않은 경우도 해당) True .. 2022. 8. 20.
[Spring] Spring security - ApplicationFilterchain, DelegatingFilterProxy 스택을 보면 FilterChainProxy -> do.Filter() -> (이동)해당필터.doFilter() -> 요청 ~~ 이동 쭉쭉 이어간다 이때 FilterChainProxy 클래스에서 nextFilter.doFilter() 가 실행되는데 이때 nextFilter는 additionalFilters에 담겨있는 N개의 필터중 currentPostition 순번째의 필터를 의미한다. 즉 currentPosition 이 addtitionalFilters.size() 와 동일할때 까지 등록되어 있는 SecurityFilterChain 이 다돌아갈떄 까지 진행된다고 생각하면된다. UsernamePasswordAuthenticationFilter.doFilter() 를 요청했는데 UsernamePassword.. 2022. 8. 20.
[Spring] Filter Filter - Filters perform filtering in the doFilter method. Every Filter has access to a FilterConfig object from which it can obtain its initialization parameters, and a reference to the ServletContext which it can use, for example, to load resources needed for filtering tasks. OncePerRequestFilter - Filter base class that aims to guarantee a single execution per request dispatch, on any servlet.. 2022. 8. 20.
[Spring] Redirect 시 attribute 값 넘기기(+내용 추가) >> Redirect로 페이지를 이동할때 Model 에 데이터를 담아서 넘길때 값이 넘어가지 않는 현상을 볼 수 있다. >> 이때는 >>>> RedirectAttributes 객체 2022. 8. 19.
[Spring] Spring Security 대략적인 흐름 설정 후 access 등급이 있는 경우 Login화면으로 변경되며 로그인 성공시 바로 INFO : com.secu.web.SecurityController - ONLY MEMBER 호출 접속시도-> 기본 Login 화면 -> SecurityController + error-page="" 설정으로 권한이 없는 아이디로 접속한 경우 바로 INFO : com.secu.web.CommonController - access Denied 출력됨 + error-page 대신 ref="" 하여 AccessDeinedHandler 추가해줄경우 접속시도->Login->권한이 없는 경우 CustomAccessDeniedHandler (Redirect)-> CommonController(Redirect한곳) =========.. 2022. 8. 6.
[Spring] spring security 중간정리 1. spring security는 spring security 를 사용하기 위해서는 를 추가 해줘야한다. 2. spring security 는 filter로 등록해줘야 한다. 3. spring security 설정을 위하여 security-context.xml 을 생성 한 후 contextConfigLocation에 등록해줘야 한다. >> security-context.xml 에서 크게 2개의 태그가 있는데. 1) - : 어느 Pattern(URI)에 어떤 Access(권한)을 걸지 설정한다. 즉 Pattern에 적힌 URI로 접속시에 Access에 적시된 권한이 없을경우 Spring security 기본 Login 화면 또는 개인이 설정한 로그인 화면으로 이동된다. - : login-page 설정을 .. 2022. 8. 6.