목록Study (29)
코딩일상
TCP와 UDP의 차이점 들어가기전 트랜스포트계층이란? TCP와 UDP의 차이점을 나타내는 그림 TCP의 정의 TCP(Transfer Control Protocol) TCP 또는 전송 제어 프로토콜은 TCP / IP 모델의 전송 계층에서 발견되는 연결 지향 프로토콜입니다. 통신을 시작하기 전에 원본 컴퓨터와 대상 컴퓨터 사이에 연결을 설정합니다. 3 방향 핸드 셰이크, 플로우, 오류 및 혼잡 제어를 사용하므로 신뢰성이 높습니다. 원본 컴퓨터에서 보낸 데이터가 대상 컴퓨터에서 정확하게 수신되는지 확인합니다. 수신 된 데이터가 올바른 형식이 아닌 경우 TCP는 데이터를 재전송합니다. 다음 프로토콜은 데이터 전송에 TCP를 사용합니다. HTTP (하이퍼 텍스트 전송 프로토콜), HTTPs (Hypertext ..
OAuth란? 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 많은 사람들이 OAuth를 API라고 생각하는데 OAuth는 개방형 표준(open standard) 이다. 개방형 표준이라하면 기술 표준이 문서가 공개되어 있으며 사용이 자유로운 것을 뜻하는데 OAuth는 이러한 표준인 것이다. 그래서 누구나 만들 수 있고 활용할 수 있으며 그 위에 HTTPS, API, 서버, 토큰 등등의 개념이 올라가있는 것이다. 그렇다면 OAuth는 어떤 것에 대한 표준일까? 바로 앱이 클라이언트 애플리케이션에 보안 위임 엑세스(secure delegated acces..
고수준언어?? 저수준 언어?? 컴퓨터에 가까울 수록 저수준 언어, 인간과 가까울수록 고수준 언어라고 한다. 컴파일링이란 고수준 언어를 저수준 언어로 변환하는 과정이다. 저수준 언어 컴퓨터 친화적이기에, 컴퓨터가 잘 이해할 수 있도록 아주 구체적이고 꼼꼼하게 작성해야 오류를 막을 수 있다. 따라서 아주 정밀한 문법이 요구되며, 인간이 작성하기에 어렵고 유지보수가 불편하다는 단점이 있다. 그러나 철저한 문법을 지키기 때문에 여럿이 협업할 때 실수를 방지할 수 있으며, 컴퓨터가 이해하기에 쉬워 저사양 컴퓨터에서도 빠르게 동작할 수 있다는 장점이 있다. IPTV, 복합기, 스캐너, 라디오, 프로젝터, 프린터와 같이 컴퓨터의 역할이 크게 요구되지 않거나 작은 하드웨어에서 동작하는 저사양 컴퓨터를 통해 작업할 때 ..
API API 란?? 위시캣에서 좋은 자료가있어서 첨부 위 그림과 같이 우선 API를 현실에서 상황과 비유해서 설명하겠습니다. 여러분이 식당에 있다고 생각해 보겠습니다. 점원이 메뉴판을 가져다줄 것이고 여러분은 메뉴판에서 음식을 선택 후 점원에게 요청을 할 것입니다. 점원은 주문받은 요리를 요리사에게 요청할 것이고, 요리사는 열심히 요리를 해서 점원에게 요리를 전달할 것입니다. 그리고 그 요리를 점원이 여러분에게 가졌다고 주고, 여러분은 맛있는 식사를 할 것입니다. 여기서 나온 사람들 중 점원을 API라고 생각하시면 이해가 편하게 됩니다. API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받아 요리사(응용프로그램)와 상호작용 후 요청된 메뉴(명령에 대한 값)를 전달합..
캐시: 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다 중앙처리장치가 명령이 필요하게 되면, 맨 먼저 액세스 하는 것이 캐시 메모리인 셈이다. 최근에 사용한 데이터나 자주 액세스하는 데이터나 프로그램 명령을 반복해서 검색하지 않고도 즉각 사용할 수 있도록 저장해두는 영역이다. 캐싱: 데이터를 더 빨리 읽어 올 수 있도록 캐시 기억 장치에 저장하는 일 캐시에는 L1, L2, L3이 있고, L3에서 L1로 갈수록 빠르지만, 저장할 수 있는 데이터의 양은 줄고 가격이 비싸진다. 레지스터 > L1 > L2 > L3 순서대로 원하는 데이터를 찾고, 여기서까지 못 찾게 되면 캐시 미스라고 한다. 캐싱 과정에서는 대개 블록 단위로 동시에 불러온다. 단일 바이트에 대한 요청이 들어오면. 연속된 메모리 위치를 포함..
컴퓨터의 범위 ‘논리적 구조와 무엇을 계산할 수 있는가’에 대해 공통된 핵심 속성을 가지면 컴퓨터로 구분 가능하다. 보다 큰 범위로 스마트폰 태블릿도 컴퓨터라고 부를 수 있다. 슈퍼 컴퓨터 2011년 일본 이화학연구소(RIKEN)과 후지쯔가 개발한 슈퍼컴퓨터 '케이’ 우리가 알고있는 현재의 컴퓨터들은 게임, 작업, 사무, 미디어 등 다방면에서 활용 가능하고 실용적이다. 하지만 슈퍼컴퓨터는 그저 연산을 위해 연산능력만 올인한 연산능력 원투 컴퓨터라고 이해하면 쉽다. 슈퍼컴퓨터의 성능은 flops (floating point operations per second) 로 표기하며 이는 초당 수행할 수 있는 부동 소수점 연산 횟수를 뜻한 단순하게도 코어가 많으면 연산능력은 올라가는것을 이용해 코어를 병렬로 연결..
IP 주소란? IP 주소는네트워크상에서다른 컴퓨터와 구별 하게끔 해주는 고유번호 +)IP(Internet Protocol )란?? 데이터를 주고 받기 위한 통신 규약(약속)입니다 우리 휴대폰마다 전화번호가 다르듯이 컴퓨터도 컴퓨터만의 주소(전화번호)를 가지고 있어야합니다. 근데 만약에 네트워크상에서 같은 주소가 두 개가 있다면 서로 충돌이 일어나겠죠? 그래서 IP는 전 셰계적으로 컴퓨터마다 각기 다른 IP주소를 부여 받게 됩니다. IP는 각 나라마다 나라의 공인기관에서 IP를 할당하고 관리합니다. IP는 유동 IP와 고정 IP로 나눌 수 있습니다. 고정IP 고정IP란 말 그대로 하나의 IP주소를 컴퓨터가 고정적으로 가지고 있고 IP가 변치 않는 다는 것을 의미합니다. 고정IP는 한번 부여되면 IP를 반납..
전체 정리 프로세서와 메모리 프로세스의 속도가 매우 빠른 반면에 메모리의 속도는 매우 느리다. 현대 컴퓨터 아키텍처에서는 캐시라는 고속 메모리를 사용하여 메모리에서 정보를 오기를 기다리게 할 필요가 없게 한다. 파이프라이닝 명령어 여러 개를 동시에 처리하여 프로세서의 효율을 향상시키는 기법 멀티코어 프로세서 여러 개를 동시에 작동시키는 기법으로, 현재의 노트북과 휴대전회에서 널리 사용되는 기술이다. 프로세서 간의 속도 비교 각 프로세서마다 연산 방식이 다르므로, 프로세서 간의 속도를 비교하는 것은 어렵고 무의미하다. 따라서 어떤 프로세서가 더 빠르다는 주장은 조심스럽게 받아들여야 한다. 더 보기 1.프로세서(CPU)(Center Processing Unit) 프로세서는 컴퓨터 하드웨어에 부착한 모든 장치..
Static Pages와 Dynamic Pages Static Pages Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. 항상 동일한 페이지를 반환한다. Ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들 Dynamic Pages 인자의 내용에 맞게 동적인 contents를 반환한다. 즉, 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물 * Servlet: WAS 위에서 돌아가는 Java Program 개발자는 Servlet에 doGet()을 구현한다. Web Server Web Server의 개념 소프트웨어와 하드웨어로 구분된다. 1) 하드웨어 Web 서버가 설치되어 있는 컴퓨터 2) 소프트..
웹서버란?? 클라이언트로 부터 HTTP 요청을 받아 HTML 문서나 각종 리소스(Resource)를 전달 하는 컴퓨터 웹서버 종류 아파치 HTTP 서버 마이크로소프트 인터넷 정보 서비스(IIS) Google Web Server Lighttpd LightSpeed NGINX Node.js - 자체 웹 서버를 내장하고 있다. WebtoB Zeus 웹서버의 기본동작과정 클라이언트는 주문을 하는 고객, 웹서버는 주문을 받는 직원이라 생각하면 편하다. 이때 주문 전달은 브라우저를 통해서 진행한다 직원은(웹서버)에는 요청을 못하고 받은요청에 대해서 답변만가능하다. 브라우저를 통해 HTTP request로 웹사이트를 웹서버에 요청합니다. 이후 웹서버는 요청을 승인하고 HTTP response를 통해 웹사이트 데이터를..