전체 글

전체 글

    join - 데이터 집합 레벨 변화

    join - 데이터 집합 레벨 변화💡 집합 레벨의 의미 집합 : 단일테이블,조인테이블,grup by 의 결과 등 의 조회 데이터 집합 레벨 : 집합(테이블)의 유일성(기본키)이 어떤 레벨(고유한지(Unique), 중복되는지(Many) ) 인지를 말한다.직원 테이블(emp)empnonamedeptno1Alice102Bob203Carol104Dave305Eve20- 직원 테이블 집합 레벨 : empno로 unique하며, deptno로 중복(M) 레벨이다.  부서 테이블(dept)deptnodeptname10HR20IT30Sales- dept 테이블 집합 레벨 : 기본키는 deptno임으로 유니크 레벨 이다. emp 테이블, dept 테이블 deptno로 조인selectemp.empname,dept.dep..

    JDBC - 커넥션풀(Connection pool)

    Connection pool JDBC API 를 이용해서 DB와 Connection 을 하는작업은 비용이 많이 발생한다. Connection Pool을 이용하면 애플리케이션 로딩 시점에 Connection 객체를 미리 생성하고, 애플리 케이션에서 디비 연결이 필요할 경우 미리 준비된 Connection 객체를 상용하여 애플리케이션 성능을 향상 시킬 수 있다. 다음은 MYSQL 문서에 나와있는 테이블이 행을 산입하는데 필요한 대략적인 수치(시간의 비율)이다. 아래 문서에서 알 수 있듯 행을 삽입할때 디비 연결 단계가 가장 비용(시간)이 든다는 것을 알 수 있다. 행을 삽입하는 데 필요한 시간은 다음에 따라 결정됩니다. 숫자는 대략적인 수치를 나타내는 다음 요소들 크기: 연결: (3) 서버로 쿼리 보내기: ..

    리눅스 파일 구조

    Linux - directory structure 사진 출처 - https://linuxhandbook.com/linux-directory-structure/ 💡 리눅스 디렉토리 구조 설명 글 리눅스 배포판은Linux Foundation에서 유지관리하는 (FHS)파일시스템 계층구조 표준 v3.0을 따르기 때문에 거의 모두 동일한 파일 구조를 갖고있다. /bin 사용자가 실행할 수 있는 명령어 Binary파일들을 모아둔곳 (EX:) cat,touch,ping…) cd /bin /etc 호스트별 시스템 전체 구성파일이 있으며 프로그램들의 환경 설정을 할수있는 파일들이 있다. EC:) nginx.conf, java.conf, ssg.conf /usr 주로 시스템 유저가 설치한 소프트웨어와 관련된 파일들이 위치..

    [PostgreSQL] PostgreSQL 데이터베이스 접속 후 관련 문제 해결: 'more'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

    [PostgreSQL] PostgreSQL 데이터베이스 접속 후 관련 문제 해결: 'more'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

    문제 상황 Postgres의 pg_dump 명령어를 사용 하기 위해 cmd에서 postgres(ArisysDB)접속 접속 후 psql (모든)명령어 입력 시 아래와 같은 에러 메시지 응답 'more'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 조치 했던 것 윈도우 psql 환경변수 설정 후 다시 시도 → 안됨 해결 방법 PAGER 환경 변수 설정 set PAGER=less psql 실행시 -P pager=off 옵션 추가하여 페이징 비활성화 psql -h 127.0.0.1 -d ArisysDB -U postgres -P pager=off \d 테이블 조회 PAGER 환경 변수 설정 후 psql 명령어 정상 실행 원인 일단 psql 콘솔에서 \d 명..

    [PostgreSQL] EXPLAIN 이란?

    EXPLAIN 한 줄 요약 EXPLAIN == 쿼리의 성능을 분석 할 때 쓰이는 키워드 EXPLAIN ? EXPAIN,EXPAIN ANALYZE 키워드는 쿼리성능 분석할때 쓰이는 기본 키워드이다. EXPLAIN 뒤에 오는 쿼리는 실제로 실행되지 않는다. EXPLAIN ANALYZE “ANALYZE” 키워드를 사용하면 실제로 쿼리가 실행되고 성능이 측정된다. -- explain 명령어 테스트 EXPLAIN SELECT * FROM orders_2020_07_02; -- 콘솔 Seq Scan on orders_2020_07_02 (cost=0.00..10.70 rows=70 width=1060) -- 의미 cost=0.00..10.70 == 10.70만큼의 비용이 든다. rows=70 == 70행을 반환하는..

    [PostgreSQL] VACUUM 이란?

    VACUUM 먼저 한 줄 요약 VACUUM은 DB 성능 향상 및 디스크 공간 효율적으로 사용하는 명령어 VACUUM? VACUUM은 PostgreSQL 에서 사용되지 않는 공간을 회수하고, 데이터 파일의 크기를 최적화 하는 명령어이다. VACUUM명령어를 통해 데이터베이스의 성능을 향상 시키고 디스크 공간을 효율적으로 사용 할 수 있다. -- orders 테이블 생성 CREATE TABLE orders ( id SERIAL PRIMARY KEY, product_name VARCHAR(100) NOT NULL, quantity INT NOT NULL, price NUMERIC(10, 2) NOT NULL ); -- 테스트 데이터 삽입 INSERT INTO orders (product_name, quanti..

    AWS EC2 인스턴스 구매 옵션 정리

    EC2 Instance Purchasing Option 인스턴스 구매 옵션으로는 다양한 종류의 워크로드가 있고 AWS에 필요한 AWS를 지정해 할인을 받고 비용을 최적화 할 수 있다. 요약정리 (각 제품을 리조트에 비유) 온디맨드(On demand) 리조트가 있고, 원할 때 언제나 리조트에 오고 전체 가격을 지불한다. 예약(Reserved) 리조트에 1~3년동안 오래 체류할 계획이라면 장기 예약을 해 많은 할인을 받게 된 절약 플랜(Saving Plans) 나의 리조트에서 일정한 금액을 지출할 것을 알고 있다 12개월 동안 매월 30만원 지출 예정이다. 따라서 시간이 지나면 객실 타입을 변경할 수 있다 스폿 인스턴스 (Spot Instance) 빈객실 마지막 특가 많은 할인률 언제라도 쫒겨날 수 있 De..

    AWS IAM 정책 구조 설명

    AWS IAM(Identity and Access Management) IAM 은 AWS 리소스에 대한 액세스를 안전하게 관라하기위한 서비스이다. AWS 계정 내에서 다른 사용자와 그룹을 만들고, 제한을 할당하거나 제한할 수 있다. 누가 어떤 AWS 리소스에 액세스할 수 있는지를 제어할 수 있다. 이를 통해 데이터 유출이나 해킹등의 보안 위협으로부터 AWS 리소스를 보호할 수 있다. ex) IAM을 사용하여 특정 사용자에게 EC2 인스턴스를 생성하고 관리할 수 있는 권한을 부여할 수 있다. IAM 은 최소 권한의 원칙을 적용한다 사용자가 필요이상으로 권한을주면 비용과 보안 문제가 발생하게떄 IAM 정책 구조 AWS IAM에서 사용하는 정책문서는 JSON 형식으로 작성된다. 이 문서는 AWS 서비스 및 리..

    SSL(TSL)

    SSL(TSL)

    SSL(TSL) SSL(Secure Socket Layer) - 웹 통신 보안을 위해 최초로 만들어짐. TSL(Transport Layer Security) - 현재 사용되는 정식명칭은 TSL 이다. SSL TSL 같은 의미 TSL 1.0은 SSL3.0을 계승한다. 서버와 클라이언트 간 암호화 통신을 지원한다. SSL 핵심은 암호화 SSL은 보안과 성능상의 이유로 두가지 암호화 기법 혼용함 대칭키 공개키 SSL 동작 방법 이해를 위해서는 이 두가지 암호화 기법 이해 필요(이해없으면 동작방식이 추상적으로 느껴짐) 대칭키 암호화 한 빌밀번호를 Key라고 한다. 키를 모르면 복호화 불가능 하다. 단점 암호를 주고 받는 사람들 사이에 대칭키 전달 어려움 대칭키 유출시 암호화 내용을 복호화 가능하기때문에 함호화는..

    [JS]실행컨택스트, 콜스택, 스코프, 클로저 정리

    실행컨택스트, 콜스택, 스코프, 클로저 정리 흐름이야 📌 실행 컨텍스트(Execution Context) 코드의 실제 진행 상황을 추적하는데 필요한 정보들을 모아둔 구조이다. 코드가 실행 되고 자스엔진은 실행 컨텍스트를 생성한다. 어떤코드를 실행하고 있는지 컨텍스트엔 어떤 변수들이 있는지 알 수 있는 정보들이 있다. 함수가 ()로 호출되면 실행 컨텍스트가 새롭게 만들어진다. 함수가 종료되면 실행 컨텍스트는 사라진다. 예제로 살펴보기 function sum(x,y){ //1 let result = x+b;//3 return result; //4 } let num = sum(2,3);//2 📌 콜 스택 (Call stack) 현재 실행되고 있는 실행 컨텍스트를 추적하기 위한 구조체이다. 자바엔진은 ..