본문 바로가기

분류 전체보기

(273)
로드 밸런싱(Load Balancing) 이란? 밸런싱에 대해서 알아보자! 밸런싱이란? 한대의 서버 컴퓨터만으로 다수의 클라이언트를 수용할 수 없기 때문에, 적절하게 다른 서버로 배치해주는 방법을 말합니다. 서버 이용자가 한두명이면 상관이 없지만, 백만명으로 서버 이용자가 늘었다면 어떻게 될까? 이러한 문제를 해결하기 위해서는 어떻게 해야할까요? 이 상황에서 여러 서버에게 균등하게 트래픽을 분산시켜주는 장치(Load Balancer)를 사용해야하는데, 이것을 로드밸런싱(Load Balancing) !! 이라고 합니다. 여러 대의 서버(server)에게 균등하게 트래픽(Traffic)을 분산시켜주는 역할을 하는 것이 로드 밸런서(Load Balancer)!! 라고 합니다. 로드 밸런서가 서버를 선택하는 방식 라운드 로빈 방식(Round Robin) : ..
이상(Anomaly) 이상의 현상과 종류 1. 삽입이상 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 2. 갱신이상 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 3. 삭제 이상 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제
시스템 콜(System Call)이 뭐야? 시스템 호출이 책에도 써있듯이 올바른 말이지만 시스템 콜이 익숙하기에 시스템 콜로 하겠습니다. 시스템 콜(system call)은 실행 중인 프로그램과 운영체제 간의 인터페이스로, API라고도 한다. 사용자 프로그램은 시스템 콜(System call)을 하여 운영체제의 기능을 제공받는다. 운영체제의 커널모드? 사용자 모드? 1. 커널 모드 프로그램 카운터가 운영체제가 존재하는 부분을 가리키고 있다면, 1) 현재 운영체제의 코드를 수행 중이며 2) CPU가 커널 모드에서 수행 중이라고 한다. 2. 사용자 모드 프로그램 카운터가 사용자 프로그램이 존재하는 메모리 위치를 가리킬 경우, 1) 사용자 프로그램을 수행 중이며 2) CPU가 사용자 모드에서 수행 중이라고 한다. 일반 명령 : 메모리에서 자료를 읽어와..
웹사이트에 접속할 때 일어나는 상황에 대해서 웹사이트에 접속할 때 일어나는 과정과 상세한 내용을 알아보자! 동작과정 사용자가 브라우저에 도메인 네임(ex. naver.com, google.com 등)을 입력한다. 사용자가 입력한 URL 주소 중에서 도메인 네임(Domain Name) 부분을 DNS 서버에서 검색을 하고, DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달한다. 상세 설명 DNS Query를 DNS 서버에 전송한다. Root Name Server에 입력한 URL을 물어보고 Root Name Server는 .com Name Server의 IP주소를 알려준다. 그후 .com Name Server에 URL을 물어보고, Name Server의 IP 주소를 받고 그곳에 물어본다. 해당 URL..
쿠키(Cookie) & 세션(Session)의 차이에 대해서 알아보자! 쿠키(Cookie)와 세션(Session)은 HTTP 프로토콜의 특징이자 약점을 보완하기 위해 사용한다! HTTP 특징 1. 비연결 지향(Connectionless) 클라이언트가 요청(request)를 서버에 보내고, 서버가 클라이언트에게 응답(response)를 보내면 바로 연결을 끊는다. HTTP 버전에 따라서 다르다 (1.1버전에서는 요청(request)에 재활용하는 기능이 추가 되었다.) 2. 상태 정보를 유지하지 않는다.(Stateless) 연결을 끊는 순간 클라이언트와 서버의 통신은 끝나고, 상태 정보를 유지하지 않는다. 클라이언트와 첫 번째 통신에서 데이터를 주고받았다 해도, 두 번째 통신에서 이전 데이터를 유지하지 않는다. 정보를 유지하지 않는다는 예는 매번 페이지를 이동할 때마다 로그인을..
[백준] 13460 구슬탈출 2 문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 1)구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 2)보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 3)가장 바깥 행과 열은 모두 막혀져 있고, 4)보드에는 구멍이 하나 있다. 빨간 구슬과 파란 구슬의 크기는 보드에서 1×1크기의 칸을 가득 채우는 사이즈이고, 각각 하나씩 들어가 있다. 5)게임의 목표는 빨간 구슬을 구멍을 통해서 빼내는 것이다. 이때, 6)파란 구슬이 구멍에 들어가면 안 된다. 이때, 구슬을 손으로 건드릴 수는 없고, 7)중력을 이용해서 이리 저리 굴려야 한다. 8)왼쪽으로 기울이기,..
동기(Synchronous) & 비동기(Asynchronous)의 차이점? 동기와 비동기에 대해서 알아보자! 동기 (Synchronous) 동시에 일어난다는 뜻 요청과 그 결과가 동시에 일어남 시간이 얼마가 걸리던 요청한 자리에서 결과가 주어져야 함 요청을 보낸 후 응답(결과)을 받아야지만 다음 동작이 이루어 진다. 실제 CPU가 느려지는 것은 아니지만, 시스템의 전체적인 효율이 저하 된다. System Call이 끝날때 까지 기다리고 결과물을 가져온다. 비동기 (Asynchronous) 동시에 일어나지 않는다는 뜻 요청과 결과가 동시에 일어나지 않음 요청한 자리에서 결과가 주어지지 않음 요청을 보낸 후 응답(결과)와는 상관 없이 다음 방식이 동작하는 방식이다. 결과가 주어지는데 시간이 걸리더라도, 그 시간동안 다른 작업을 할수 있다 이로 인해 자원을 효율적으로 사용이 가능하다..
SQL? No SQL? 둘의 차이? SQL(Structed Query Language)이란? 구조적 질의 언어의 줄임말로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다. SQL을 사용시, RDBMS에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 관계형 데이터베이스(RDBMS)의 특징 데이터는 정해진 데이터 스키마에 따라 테이블에 저장 데이터는 관계를 통해 여러 테이블에 분산 데이터는 테이블 레코드에 저장이 되는데, 각 테이블마다 명확하게 정의된 구조가 있다. 따라서 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없다. 즉 스키마를 수정하지 않는 이상은 정해진 구조에 맞는 레코드만 추가가 가능한 것이 RDBMS의 특징이다. 중복을 피하기 위해 관계(Relation)을 사용한다. 하나의..