분류 전체보기
-
시노님(SYNONYM) 이란?오라클(Oracle) 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체 이름을 의미한다.실제로 그 객체를 사용하는게 아닌 객체를 직접적으로 참조하여 사용한다.보통 다른 유저(계정)의 객체를 참조할 때 사용한다. 본인은 DBA 가 아니므로 틀릴 수 있습니다. 직접적으로 겪어본 바 보통 보안상 이유로 시노님을 사용하는걸로 보인다. 특정 2개의 계정이 있다. 하나는 관리자 계정 또 하나는 특정 유저의 계정이다.관리자 계정은 수정, 삭제 등 모든 권한이 존재한다.모든 사람이 관리자 계정을 사용하게 되면 문제가 발생할 수 있다. 이러한 문제로 관리자 계정을 사용하지 않고 특정 유저의 계정을 하나 만들어 관리자 계정의 테이블에 접근이 가능하도록 시노님(특정 유저의 테이블 참조)을 준다..
Oracle 시노님(SYNONYM)시노님(SYNONYM) 이란?오라클(Oracle) 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체 이름을 의미한다.실제로 그 객체를 사용하는게 아닌 객체를 직접적으로 참조하여 사용한다.보통 다른 유저(계정)의 객체를 참조할 때 사용한다. 본인은 DBA 가 아니므로 틀릴 수 있습니다. 직접적으로 겪어본 바 보통 보안상 이유로 시노님을 사용하는걸로 보인다. 특정 2개의 계정이 있다. 하나는 관리자 계정 또 하나는 특정 유저의 계정이다.관리자 계정은 수정, 삭제 등 모든 권한이 존재한다.모든 사람이 관리자 계정을 사용하게 되면 문제가 발생할 수 있다. 이러한 문제로 관리자 계정을 사용하지 않고 특정 유저의 계정을 하나 만들어 관리자 계정의 테이블에 접근이 가능하도록 시노님(특정 유저의 테이블 참조)을 준다..
2025.01.22 -
Java 8 표준 API 의 함수형 인터페이스(Supplier, Consumer)함수형 인터페이스란 1개의 추상 메소드를 갖는 인터페이스를 말한다.Java8 부턴 default 라는 키워드가 생겨 구현되어 있는 메서드가 있으나여러개의 디폴트 메서드가 있더라도 추상 메서드가 오직 한개라면 함수형 인터페이스이다.자바의 람다 표현식은 함수형 인터페이스로만 사용 가능하다. 만들어진 이유자주 사용할 것 같은 람다 함수 형태를 함수형 인터페이스 표준 API 로 미리 만들어제공해주기 위해서 만들어졌다. @FunctionalInterface함수형 인터페이스는 @FunctionalInterface 라는 어노테이션을 사용한다.이 어노테이션은 해당 인터페이스가 함수형 인터페이스 조건에 맞는지 검사해준다.해당 어노테이션은 없..
자바 8 표준 API의 함수형 인터페이스(Supplier, Consumer)Java 8 표준 API 의 함수형 인터페이스(Supplier, Consumer)함수형 인터페이스란 1개의 추상 메소드를 갖는 인터페이스를 말한다.Java8 부턴 default 라는 키워드가 생겨 구현되어 있는 메서드가 있으나여러개의 디폴트 메서드가 있더라도 추상 메서드가 오직 한개라면 함수형 인터페이스이다.자바의 람다 표현식은 함수형 인터페이스로만 사용 가능하다. 만들어진 이유자주 사용할 것 같은 람다 함수 형태를 함수형 인터페이스 표준 API 로 미리 만들어제공해주기 위해서 만들어졌다. @FunctionalInterface함수형 인터페이스는 @FunctionalInterface 라는 어노테이션을 사용한다.이 어노테이션은 해당 인터페이스가 함수형 인터페이스 조건에 맞는지 검사해준다.해당 어노테이션은 없..
2025.01.07 -
팩토리 메서드 패턴팩토리 메서드 패턴은 객체 생성을 추상화하고 캡슐화하는 디자인 패턴이다.객체를 직접 생성하는 대신 객체내에 존재하는 팩토리 메서드를 통해 객체를 요청하고 제공받는다. 클라이언트가 "new" 키워드를 통해 객체를 생성하는게 아닌 객체 생성을 도맡아하는 메서드를 만들어객체 생성을 책임지게 만든다. 정적 팩토리 메서드 패턴(Static Factory Method Pattern)위 팩토리 메서드 패턴을 변형시킨 패턴으로 써 클래스 내에 생성자를 호출하여 객체를 생성하는Static Method 를 만들어놓고 객체 생성을 유도하는 패턴이다. // People 객체public class People { private String name; private Integer number; ..
팩토리 메서드 패턴(Factory Method Pattern)팩토리 메서드 패턴팩토리 메서드 패턴은 객체 생성을 추상화하고 캡슐화하는 디자인 패턴이다.객체를 직접 생성하는 대신 객체내에 존재하는 팩토리 메서드를 통해 객체를 요청하고 제공받는다. 클라이언트가 "new" 키워드를 통해 객체를 생성하는게 아닌 객체 생성을 도맡아하는 메서드를 만들어객체 생성을 책임지게 만든다. 정적 팩토리 메서드 패턴(Static Factory Method Pattern)위 팩토리 메서드 패턴을 변형시킨 패턴으로 써 클래스 내에 생성자를 호출하여 객체를 생성하는Static Method 를 만들어놓고 객체 생성을 유도하는 패턴이다. // People 객체public class People { private String name; private Integer number; ..
2025.01.03 -
Javascript 를 사용하여 화면 내 scroll 을 이동 해야해서 찾아봤다. 브라우저 창 너비와 높이브라우저 창 화면에 보이는 너비와 높이를 알려면 document.documentElement 의clientWidth 와 clientHeight 를 사용한다. 사용방법document.documentElement.clientWidthdocument.documentElement.clientHeight 또 다른 확인 방법은 관리자도구(F12) 를 키고 모바일로 봤을 때 확인 가능하다. window.innerWidth 와 document.documentElement.clientWidth 의 차이점너비와 높이를 구하는 방법중에 window.innerWidth 와 window.innerHeight 도 있다...
Javascript 화면 Scroll 조작하기Javascript 를 사용하여 화면 내 scroll 을 이동 해야해서 찾아봤다. 브라우저 창 너비와 높이브라우저 창 화면에 보이는 너비와 높이를 알려면 document.documentElement 의clientWidth 와 clientHeight 를 사용한다. 사용방법document.documentElement.clientWidthdocument.documentElement.clientHeight 또 다른 확인 방법은 관리자도구(F12) 를 키고 모바일로 봤을 때 확인 가능하다. window.innerWidth 와 document.documentElement.clientWidth 의 차이점너비와 높이를 구하는 방법중에 window.innerWidth 와 window.innerHeight 도 있다...
2024.12.23 -
Spring Security 에서 Http Response 에 대한 header 값을 설정하는 부분이 .headers 옵션이다. 기본적은 Spring Security headers 설정은 아래와 같다.Cache-Control: no-cache, no-store, max-age=0, must-revalidatePragma: no-cacheExpires:0X-Content-Type-Options: nosniffStrict-Transport-Security: max-age=31536000 ; includeSubDomainsX-Frame-Options: DENYX-XSS-Protection: 1; mode=block .frameOptions(X-Frame-Options) Http 헤더에서 X-Frame-Opt..
Spring Security headers, frameOptions, contentSecurityPolicy, HTTP Strict Transport Security(HSTS)Spring Security 에서 Http Response 에 대한 header 값을 설정하는 부분이 .headers 옵션이다. 기본적은 Spring Security headers 설정은 아래와 같다.Cache-Control: no-cache, no-store, max-age=0, must-revalidatePragma: no-cacheExpires:0X-Content-Type-Options: nosniffStrict-Transport-Security: max-age=31536000 ; includeSubDomainsX-Frame-Options: DENYX-XSS-Protection: 1; mode=block .frameOptions(X-Frame-Options) Http 헤더에서 X-Frame-Opt..
2024.12.11 -
Spring Security 에서 인증 및 인가 등 사용자의 권한을 처리하게 된다. @Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(csrf -> csrf.disable()) .addFilterAt(beforeFilter(), UsernamePasswordAuthenticationFilter.class) .authorizeHttpRequests(authorize -> authorize .requestMatchers("/auth/**").permitAll() .requestMatc..
Spring Security AuthenticationEntryPoint(인증), AccessDeniedHandler(인가)Spring Security 에서 인증 및 인가 등 사용자의 권한을 처리하게 된다. @Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(csrf -> csrf.disable()) .addFilterAt(beforeFilter(), UsernamePasswordAuthenticationFilter.class) .authorizeHttpRequests(authorize -> authorize .requestMatchers("/auth/**").permitAll() .requestMatc..
2024.11.28