본문 바로가기

전체 글189

[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.
[Linux/C] 배열은 포인터다! 비교 조건 \ 비교 대상 포인터 배열 이름 있음 있음 나타내는것 메모리 주소 메모리 주소 변수인가 상수인가 변수 상수 * 배열 이름은 = 상수 포인터이다. arr ==> 주소를 나타내고 해당 주소를 ptr에 넣어주므로 arr과 ptr은 같아진다. 주소를 나타내므로 포인터의 연산 해당 포인터의 선언된 타입에 따라 증감하면 해당 바이트 크기만큼 증감된다. arr[ i ] == *(a+i) 으로 나타낼수있다. 문자열은 문자열 배열은 변수이고 ==> char str1[5] = "abcd"; -> 변수 str1 문자열 문자는 상수이다 ==> char *str1 = "abcd"; -> 상수 *str1 또한 문자열 상수의 경우는 "두개의 문자열 상수가 완전히 똑같을 경우" 문자열은 한개의 메모리 공간에 저장되고, 두.. 2022. 9. 13.
[C/Linux] 배열의 선언 배열을 선언할때 초기화를 바로 해주면 해당 배열의 크기를 지정해주지 않아도 해당 초기화를 통해서 배열의 크기가 정해진다. int arry[] = {1,2,3,4,5}; 로 선언과 동시에 초기화 하고있으므로 int arry[5] = null; arry[0] = 1, arry[1] = 2, arry[2] = 3, arry[3] = 4,arry[4] = 5 와 동일하다. 또한 C언어에서는 arr.length 라는 함수가 없으므로 arry 의 size를 구하여 해당 int 타입의 size로 나눠주면 해당 배열의 길이를 파악할 수 있다. sizeof(arry) / size(int) 문자열 배열같은 경우는 char[] 로 나타낼수 있다. 또한 해당 문자열을 나타낼 떄는 %c를 통해소 char문자 한개 한개 요소를 .. 2022. 9. 12.
[C/Linux] static 변수 static 변수는 초기화를 1번만 실행한다. 따라서 int val =0; 일떄와 static int val = 0;일떄의 결과는 달라진다. val = 0 일경우는 지역변수로서 for문을 돌면서 fac()가 5번실행되는데 val = 0; 초기화후 val++ 후 val출력(1) 다시 val = 0 초기화 되기 떄문에 1 1 1 1 1 이 출력된다. static int val = 0;인경우는 static 변수는 지역변수더래도 해당 블록내에서 전역변수처럼 사용되기 때문에 0으로 초기화되지 않고 1씩 증가하여 1 2 3 4 5가 출력된다. 2022. 9. 10.
[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.
[PRBM] mybatis 설정간 에러 발생 Spring - Mysql 연동간에 mysql-connector를 설정해주지 않아서 발생한 에러 java.sql.SQLException: No suitable driver found for jdbc:log4jdbc:mysql://127.0.0.1:3306/{DB_NAME}?useUnicode=true&characterEncoding=utf8 아래와 같이 를 추가해줘야 한다. mysql mysql-connector-java 8.0.28 2022. 8. 6.