분류 전체보기
SQL에 의존적인 개발 문제점 데이터 접근 계층을 사용해서 SQL을 숨겨도 어쩔 수 없이 DAO를 열어서 어떤 SQL이 실행되는지 확인해야함. 진정한 의미의 계층 분할이 어렵다 엔티티를 신뢰할 수 없다 SQL에 의존적인 개발을 피하기 어렵다. JPA(Java Persistence API) 자바 ORM 기술에 대한 API 표준 명세이다. 데베 설계 중심의 패러다임을 객체 설계 중심으로 역전시킬 수 있다. RDB는 같은 기능도 벤더마다 사용법이 다른 경우가 있다. EX 페이징 처리. 결국 애플리케이션이 데베에 종속되어 변경하기 어렵다 JPA는 추상화된 데이터 접근 계층을 제공해서 애플리케이션이 특정 데베 기술에 종속되지 않도록 가능하다. 특정 기능을 하는 라이브러리가 아니고, ORM을 사용하기 위한 인터페이..
Network대칭키 / 공개키대칭키<ul style="list-s..
CPU는 논리주소를 바라본다. 밑 그림에서 20, 30, 40번지가 논리주소. 500, 510, 520, 300 등이 물리주소. Page Table은 물리메모리 안에 존재하기 때문에, 데이터 얻기 위해선 page table(물리메모리)에 접근해서 물리주소로 변환 후, 물리 메모리 접근해서 데이터 얻어와야 하니 물리 메모리 두 번 접근이 됨. 이 걸 빠르게 하기 위해 TLB에 페이지테이블 일부를 캐시해서 빠른 주소 변환 가능케함. BUT, TLB는 index로 접근하는 게 아니라 순차탐색을 해야해서 완전 탐색 시간이 걸림. 그래서 Associative register를 통해 병렬적으로 탐색 가능하게끔 구성한다. 페이지 테이블 : 가상 메모리 주소를 물리 메모리 주소로 매핑하는 역할을 한다. 프로그램이 메모..
NAT(Network Address Translation, 네트워크 주소 변환) : 라우터가 수행함. 공용 IP 주소를 여러 개의 사설 IP 주소로 변환하거나 그 반대의 작업을 수행하는 절차이다. IP 주소의 부족 문제를 해결하고, 보안을 강화하는 데 중요한 역할을 한다. 기본 원리 IP 패킷의 TCP/UDP 포트 번호와 소스 및 목적지 IP 주소를 변경하는 것이다. 이런 방식으로, 하나의 공인 IP 주소를 여러 사설 IP 주소와 공유할 수 있다. 종류 정적 NAT(Static NAT) : 하나의 공용 IP 주소를 하나의 사설 IP 주소와 직접 연결하는 방식이다. IP 주소가 고정적으로 매핑된다. 동적 NAT(Dynamic NAT) : 여러 개의 공용 IP 주소를 여러 개의 사설 IP 주소와 연결한다. ..
인덱스(Index)는 데이터를 빠르게 검색하기 위한 자료구조이다. 책의 색인과 비슷한 개념으로, 특정 컬럼의 값과 그 값이 위치한 레코드를 참조하는 포인터를 매핑하고 있다. 레코드 : 데이터 행(을 가리키는 위치 정보.) 인덱스는 특정 컬럼의 값과 그 값의 위치 정보를 매핑하여 저장하는 자료구조이다. 작동 원리 1. 생성 : 인덱스는 하나 이상의 컬럼을 기반으로 생성된다. 이 컬럼들을 인덱스 키라고 한다. 인덱스는 키-값 쌍으로 이루어져 있으며, 키는 컬럼 값, 값은 레코드의 위치이다. 2. 검색 : 특정 컬럼 값을 검색할 때, 인덱스는 해당 컬럼 값에 해당하는 레코드의 위치를 빠르게 찾아준다. 3. 갱신 : 레코드가 삽입, 수정, 삭제될 때, 해당 레코드를 참조하는 인덱스도 함께 갱신된다. 특징 1. ..
트랜잭션(Transaction) : DBMS에서 데이터를 다루는 논리적인 작업의 단위 - DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위가 된다. - DB에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위 - 전체가 수행되거나 또는 전혀 수행되지 않아야 한다. 커밋 : 트랜잭션의 수행이 완료됨을 트랜잭션 관리자에게 알려주는 연산이다. ACID 성질 1. 원자성(Atomicity) : 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않아야 한다. 2. 일관성(Consistency) : 트랜잭션을 수행하기 전이나 후에 데이터베이스는 항상 일관된 상태를 유지해야 한다. 3. 고립성(Isolation) : 수행 중인 트랜잭션에 다른 트랜잭션이 끼어..
네트워크에서 통신을 위한 표준화된 모델이다. 통신 프로세스를 7개의 계층으로 나누어 설명한다. 1. 물리 계층(Physical Layer) 실제 매체를 통한 비트 단위의 물리적 연결을 담당한다. 전기적, 기계적인 신호와 프로토콜을 정의하여 비트 단위의 원시(raw) 신호를 전송한다. 전기적 신호가 나가는 물리적인 장비 이 계층에서는 단지 데이터를 전달할 뿐, 전송하려는(또는 받으려는) 데이터가 무엇인지, 어떤 에러가 있는지 등에 대해서 신경쓰지 않는다. 단지 데이터를 전기적인 신호로 변환해서 주고받는 기능만 있다. 전송 단위 : 비트 장비 : 케이블, 허브 2. 데이터 링크 계층(Data Link Layer) 프레임 단위의 데이터 전송을 담당한다. 물리 계층 위에서 동작하며, 오류 검출 코드를 사용하여 ..