Theory(13)
-
프록시(Proxy)란?
프록시(Proxy)란? 프록시란 대신이라는 의미의 단어로, 프로토콜에 있어서 대리 응답 등에서 사용하는 개념입니다. 프록시 서버란? 보안상의 문제로 직접 통신을 주고받을 수 없는 관계에서 중계를 중계서버의 역할을 합니다 이용자가 프록시 서버에 요청을 보내고 프록시 서버는 서버에 요청을 보내 서버에서 정보를 취특하여 클라이언트에게 전달합니다 이용자 입장에서의 프록시 서버는 정보를 리턴해주는 서버의 역할을 담당하고 있습니다. 서버의 입장에서 프록시 서버는 정보를 요청하는 클라이언트의 역할을 하게 됩니다. 캐싱 기능을 이용하여 자주 사용되는 콘텐츠의 성능을 향상할 수 있습니다. Forward Proxy 내부 사용자가 외부의 네트워크의 정보를 가지고 오고자 할 때 사용 내부망에서 요청하는 사이트 주소를 프록시 ..
2022.03.16 -
스로틀링 (Throttling), 디바운싱(debouncing)이란?
스로틀링(Throttling)이란? 주로 모바일 기기에서 과도한 작업으로 인해 기기에 무리를 주는 것을 방지하기 위해 성능을 제한하는 것을 말한다. 모바일 기기뿐 아니라 서버에 부담을 주는 과한 동작 등이 일어날 때 이를 제어하기 위해 시간을 두어 처리를 한다던지 하는 방식 등을 사용하기도 한다. 프로그래밍에서의 스로틀링과 디바운싱 프로그래밍에서의 스로틀링은 주로 함수의 호출이 과도하게 일어나지 않도록 제한하는 것으로, 서버로의 호출에 따라 비용이나 성능에 크게 영향을 미치는 경우가 있어 이를 제한하는 방식을 말한다. 스로틀링 특정 함수가 호출된 후 일정 시간이 지나기 전에 다시 호출되지 않도록 시간을 조절하는 것 디바운싱 연이어 동일한 함수가 호출되면 함수들 중 하나의 함수가 호출되도록 하는 것 (마..
2022.03.16 -
트랜잭션(Transaction)이란?
트랜잭션이란? 데이터 베이스의 상태를 변화시키기 위해 수행하는 하나의 작업 단위로, 단순하게 SQL문으로 쿼리를 하나 실행하는 것뿐 아니라, 데이터베이스 내의 여러 개의 테이블이 수정될 때 이를 이루는 하나의 작업 단위를 말한다. 예를 들어 쇼핑몰에서 주문이 일어날 경우 1. SELECT : 상품의 재고 정보를 가져온다 2. INSERT : 주문서가 생성된다 3. UPDATE : 상품의 재고가 줄어든다 세 개의 동작이 일어나는데 이 한 묶음의 동작이 트랜잭션이라고 생각하면 된다. 만약 트랜젝션의 설계를 잘못하게 된다면 주문서가 생성되지 않고 실패하였는데 상품의 재고가 줄어든다던가, 상품의 재고가 없는데 주문서가 생성되는 등의 문제가 발생하여 데이터베이스가 엉망이 되어버리는 경우가 있다. 특히 여러 개의 ..
2022.03.16 -
바인딩(Binding)이란?
바인딩(Binding)이란? 프로그램의 어떤 기본 단위가 가질 수 있는 구성 요소의 값, 성격을 확정하는 것. 아래 예제에서 이름, 자료형, 자료 값에 num, int, 1111이라는 구체적인 값을 할당하는 각각의 과정을 바인딩이라고 한다. int num = 1111; """ num : 변수 이름 int : 변수의 자료형 1111: 변수의 값 """ 함수에서의 바인딩 어떤 코드에서 함수를 호출할 때 그 해당 함수가 위치한 메모리 주소로 연결해 주는 것. 정적 바인딩 컴파일 시 바인딩이 일어나며, 실행 중 변하지 않고 유지된다 컴파일 시 변수의 속성이나 호출될 함수의 주소를 확정해 놓기 때문에 실행 시간의 속도가 빠르다. # JAVA에서 실행시 # x는 정수형이며 프로그램이 실행되고 종료될때 까지 변경되지..
2022.03.16 -
쿠키(Cookie)와 세션(Session)의 의미, 차이점
쿠키 (Cookie)란? HTTP의 일종으로 사용자가 웹사이트를 방문할 경우 사이트가 사용하고 있는 서버에서 사용자에 컴퓨터에 저장하는 작은 기록 정보 파일이다. http에서 클라이언트의 정보를 클라이언트의 pc에 저장하였다가 필요시 참조하거나 재사용한다. 쿠키의 동작 방식 클라이언트가 Server에 페이지를 요청한다 Server에서 쿠키를 생성한다 http화면과 cookie를 클라이언트에게 제공한다 넘겨받은 쿠키를 저장한다 동일 사이트 재 방문 시 클라이언트의 PC에 쿠키가 있다면 재사용한다 쿠키의 구성 이름 값 만료일(저장기간) 경로 정보 쿠키의 특징 하나의 도메인당 20개의 쿠키를 가질 수 있다 클라이언트에 총 3000개의 쿠키를 저장할 수 있다 하나의 쿠키는 4kb까지 저장 가능 쿠키 사용 예 방..
2022.03.16 -
CDN(Content Delivery Network)이란?
CDN(Content Delivery Network)이란? 웹 콘텐츠를 지리적으로 분산된 여러 개의 서버에 저장하고, 사용자와 가까운 곳에서 전송하여 전송 속도를 높이는 것 입니다. 전 세계의 데이터 센터에서 파일 복사본을 임시로 저장하는 프로세스인 캐싱을 사용하여 파일을 저장하고, 사용자는 가장 가까운 서버를 통해 디바이스에서 해당 컨텐츠를 접속하게 됩니다. CDN은 어떻게 동작하는가? CDN의 주 목적은 지연 시간을 줄이는 것으로 밀리초 단위로 지연시간을 측정하게 됩니다. 지연시간이 길어질 경우 타임아웃이나 로딩오류, 지나치게 긴 버퍼링 등 사용자에게 좋지않은 사용자 경험을 제공하게 됩니다. 이를 막고자 콘텐츠가 사용자에게 도달하기 위해 이동해야하는 물리적 거리를 줄여 시간을 줄이는 방식으로 사용자에..
2022.03.16