전체 글
-
SELECT 실행 과정Oracle 2019. 6. 4. 11:32
1. User Process는 사용자가 실행한 SQL을 가지고 DB서버에 접속 (Parse) 2. 리스너를 통해서 Server Process에게 쿼리를 전달 (Parse) 3. 이후 Server Process는 Shared Pool에서 구문분석, 문법검사, 권한검사, 커서공유, 실행계획을 진행 (Parse) 4. Bind 할 값이 있다면 값을 치환하여 변수 값을 적용하여 실행 단계로 넘김 (Bind) 5. Bind 할 값이 없다면 바로 실행 단계로 넘김 (Bind) 6. 실행 Database Buffer Cache에서 데이터가 있다면 재상용 (Execute) 7. 실행 Database Buffer Cache에서 데이터가 없다면 파일에 필요한 블록을 적재 (Execute) 8. 필요한 데이터만 골라서 Us..
-
ElastickSsearch 메모리관련(퍼옴)ElasticSearch 2019. 3. 15. 15:01
Heap: Sizing and Swapping기본으로 1GB 로 설정 되는데 이는 일반적으로 매우 작은 값이고, 이대로 사용할 경우 문제가 있을 수 있다.힙사이즈 변경하는 방법은 크게 2가지가 있다.- 환경 변수에 ES_HEAP_SIZE 를 설정 : 서버라 실행 될 때 해당 환경 변수를 읽는다.export ES_HEAP_SIZE=10g- 커맨드 라인에 인수로 줄 수 있다../bin/elasticsearch -Xmx10g -Xms10g* xms 와 xmx 는 동일하게 설정해 주느게 좋다 : 실행중에 사이즈를 변경하는 작업은 부담이다. ( 이는 jvm 공통)Give(less than) Half Your Memory to Lucene너무 큰 메모리 사이즈는 문제가 있다.메모리 구조에 빠른 연산을 제공해 주기 ..
-
자바스크립트 수행 과정JavaScript 2019. 1. 4. 18:06
자바스크립트 엔진 파이프라인자바스크립트 엔진들이 소스 코드를 기계어로 만들기까지 공통적으로 수행하는 과정을 살펴봅시다. 먼저, 자신이 작성한 자바스크립트 소스 코드에서부터 시작합니다. 자바스크립트 엔진은 소스 코드를 파싱해서 Abstract Syntax Tree(AST) 로 만듭니다. 그리고 AST를 바탕으로, 인터프리터는 바이트 코드를 생성합니다. 여기까지가 자바스크립트로 작성된 코드를 실제로 엔진이 실행하는 부분입니다.코드를 더 빠르게 실행하기 위해, 바이트코드는 프로파일링 된 데이터와 함께 최적화 컴파일러(optimizing compiler)로 보내집니다. 이곳에서는 프로파일링 데이터를 기반으로 매우 최적화 된 기계어를 생성합니다. 만약 정확하지 않은 결과가 나왔다면 다시 deoptimizes하여 ..
-
스프링 부트 입문 이모저모Etc 2018. 11. 13. 09:05
#스프링 부트 입문 이모저모1. spring-boot-starter =>의존성과 설정을 자동화해주는 모듈을 뜻한다1) Auto-configuration =>자동으로 사용자가 추가한 종속성을 기반으로 스프링 어플리케이션을 구성가)@SpringBootApplicationA) @EnableAutoConfiguration => 스프링 부트의 auto-configuration 메카니즘을 활성화 한다.B) @ComponentScan => 어플리케이션 클래스가 위치한 package에서 @Component 어노테이션이 달린 클래스들을 스캔하는 기능을 활성화C) @Configuration => 추가 빈을 컨텍스트에 등록하거나 추가 구성 클래스를 불러올 수 있다.나) spring-boot-starter-web => 웹 구..
-
스프링 util:map 을 이용하여 커스텀 태그 사용하기 이모저모Etc 2018. 11. 1. 09:00
#spring의 xml에서 util:map에 설정한 값들을 리플렉션 하능 방법 및 커스텀 @어노테이션 사용하기 1. 1)value-type이 객체 이길 원할떄 => lazy Initialization 이며 getBean 메소드가 호출되기까지 객체가 생성을 미룬다 Bean을 늦게 로딩한다.2) ApplicationContext => Context를 시작시킬 때 모든 Bean을 미리 로딩 함으로서 Bean이 필요할 때 즉시 사용 가능하다.가)ClassPathXmlApplicationContext => 클래스 패스에 위치한 하나의 설정파일을 읽어 옴나)FileSystemXmlApplicationContext => 지정 경로에 위치한 여러 설정파일을 읽어 옴3) WebApplicationContext => Ap..
-
JWT(2) 알아가기Etc 2018. 10. 17. 18:14
토큰은 안전한가?토큰을 안전하게 사용하기위해서 다음과 같은 모범 사례를 따르도록 권장합니다.JWT는 안전한 HttpOnly 쿠키에 저장해야 합니다. 이렇게 해야 Cross-Site Scripting(XSS) 공격을 방지할 수 있습니다.쿠키를 사용해서 JWT를 전송한다면, CSRF 방어가 무엇보다 중요합니다. 악의적인 다른 도메인에 의해서 사용자가 인식하지 못 하는 사이에 우리가 구축한 웹 서버로 요청이 발생할 수 있기 때문입니다. 토큰의 전송 방식으로 쿠키를 사용한다면 CSRF에 대한 대비책을 반드시 준비 해야 합니다.강력한 키key로 토큰을 서명해야 하며 키key는 인증 서비스에서만 접근해야 합니다. 토큰을 사용해서 사용자를 인증할 때마다 항상 보안 키로 서명되어 있는지 검사해야 합니다.민감한 데이터는..