목록전체 글 (230)
devops
클라우드 컴퓨팅 세가지 모델 SaaS : Software as a Service 서비스 공급자에 의해 실행되고 관리되는 완전한 제품을 제공한다.. 대표적으로 웹 이메일같은 어플리케이션을 말한다. PaaS : Platform as a Service 기본 인프라(H/W, OS)를 관리할 필요없이 어플리케이션 개발과 관리에 집중할 수 있다. 어플리케이션 실행과 관련된 리소스 관리, 용량 계획, S/W 유지 관리 패치 등의 작업에 대한 부담없이 효율적으로 운영이 가능하다. IaaS : Infrastructure as a Service 네트워크, 컴퓨터(가상, H/W), 데이터 스토리지 공간에 대한 액세스를 제공한다. 클라우드 컴퓨팅 배포모델 올인 클라우드(All in Cloud) AWS같은 클라우드 서비스 제공..
스크린샷의 헤더 Access-Control-Allow-Headers 는 Access-Control-Request-Headers를 포함하는 preflight request의 응답에 사용되는 헤더로, 실제 요청때 사용할 수 있는 HTTP 헤더의 목록을 나열합니다. Access-Control-Allow-Origin 응답 헤더는 이 응답이 주어진 origin으로부터의 요청 코드와 공유될 수 있는지를 나타냅니다. Age 헤더는 객체가 프록시 캐시 내에 머무는 초단위의 시간을 가집니다. Cache-Control 일반 헤더 필드는 요청과 응답 내의 캐싱 메커니즘을 위한 디렉티브를 정하기 위해 사용됩니다. 캐싱 디렉티브는 단방향성이며, 이는 요청 내에 주어진 디렉티브가 응답 내에 주어진 디렉티브와 동일하다는 것을 뜻하..
프록시(Proxy) 프록시는 원 서버를 대리하여 통신하며, 캐시, 로드밸런서 및 보안 등 중계역할을 하는 서버를 말한다. 프록시 서버가 중간에 위치하기 때문에 클라이언트를 프록시 서버를 '서버'로 인식하고 서버는 프록시 서버를 '클라이언트'로 인식한다. 이러한 프록시는 위치에 따라서 포워드 프록시(Forward proxy), 리버스 프록시(reverse proxy)로 나뉜다. 일반적인 프록시 서버는 포워드 프록시를 말한다. 이는 클라이언트와 서버 사이에서 클라이언트를 대리하여 클라이언트에서 서버로 리소스를 요청할 때 직접 하지 않고 프록시 서버를 거쳐서 요청한다. 로드밸런서(Load Balancer) 서버의 가용성(availability)를 높이기 위해서 하나의 서비스는 두 대 이상의 서버로 구성한다. ..
Socket(소켓) 소켓이란 네트워크 상에서 동작하는 프로그램 간 통신의 종착점(Endpoint)이다. 즉, 프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 연결부라고 볼 수 있다. 데이터를 통신할 수 있도록 연결해주기 때문에 통신할 클라이언트와 서버 모두에 소켓이 생성되어야 한다. * Endpoint : IP 주소와 Port 번호의 조합을 뜻하며 최종 목적지 역할을 한다. 클라이언트가 소켓 호출하면, 클라이언트의 응용 프로그램과 서버의 응용 프로그램 간에 소켓 연결이 설정된다. 상황을 이해하기 쉽게 '전화'로 비유해보면, 1) 전화기에서 전화번호로 전화를 거는 것 = 소켓 호출을 시작 2) 전화 교환 장치는 통화를 완료하기 위해 논리적으로 올바른 교환 위치를 알고 있음 3) 전화 대화 중에..
OSI 7계층와 TCP/IP 계층 데이터 플로우(Data) 계층과 어플리케이션(Application) 계층으로 구분한다. 이 구분은 데이터를 만드는 어플리케이션 부분과 데이터를 전달하는데 집중하는 하부 계층으로 구분하는 것에 목적을 둔다. 그러나 현대 네트워크는 대부분 합리적이고 성능이 우수한 TCP/IP 프로토콜과 이더넷으로 이루어져있다. 그래서 TCP/IP 계층은 이론보다는 실용성에 중점을 둔 프로토콜이다. OSI 7계층 물리 계층 : 주로 물리적 연결과 관련된 정보를 정의한다. 주로 전기 신호를 잘 전달하는 것이 목적 데이터 링크 계층 : 물리 계층에서 들어온 전기 신호를 모아 알아 볼 수 있는 데이터 형태로 처리. 주소 정보를 정의하고 출발지와 도착지 주소를 확인하여 데이터 처리를 수행. 네트워크..
1) vscode 파일이 설치된 경로를 확인한다. 대체로 아래 경로에 위치해있음. "/mnt/c/Users//AppData/Local/Programs/Microsoft VS Code/bin" 2) 홈디렉토리에 .bash_profile 혹은 .profile 에 아래 코드를 입력해서 환경변수를 추가한다. (ls -a하면 숨김파일 나옴) export PATH=$PATH:"/mnt/c/Users/socia/AppData/Local/Programs/Microsoft VS Code/bin" 3) 터미널을 재실행한 후 다시 code .를 입력하면 정상 작동한다.
CORS 이제는 여러 서버에 있는 리소스를 요청한다. 즉 Cross Origin Resource Sharing, 같은 origin이 아닌 다른 곳에서 리소스 자원을 요청해서 사용한다는 개념이다. 그러나 브라우저들은 보안을 이유로 cross-origin HTTP 요청을 제한한다. 그러나 개발자들으느 cross-domain 요청을 할 수 있도록 요청하여 현재는 서버가 허용한 범위 내에서 cross origin 요청이 가능하다. SQL 데이터베이스 언어로 주로 관계형 데이터베이스에서 사용한다. MySQL, Oracle, SQLite 등 다양한 DB에서 SQL 구문을 사용할 수 있다. SQL이란 DB용 프로그래밍 언어다. 데이터베이스에서 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다. SQL은 구조화된..
서버 사용자의 요청을 받아, 이에 따른 응답과 데이터를 보내주는 역할을 한다. 서비스를 제공하는 컴퓨터 내의 프로그램을 의미하기도 하며, 프로그램(S/W)이 실행되는 컴퓨터(H/W) 역시 서버라고 불린다. 웹 어플리케이션 서버(Web Application Server) WAS라고 불리며, 핵심 역할은 웹페이지를 구성하는 동적인 컨텐츠를 생성하거나 업데이트를 하는 비즈니스 로직을 수행할 수 있게 한다. 웹 어플리케이션 서버가 갖는 특징은 웹 페이지를 구성하는 동적인 요소를 생성하는 서버 사이드 코드가 구동될 수 있는 프로그래밍 언어적 런타임 혹은 S/W 엔진을 제공한다. 데이터 베이스 서버 데이터베이스 서버는 사용자가 데이터 베이스에 연결할 수 있도록 해준다. 프록시 서버 프록시 서버는 리소스를 요청하는 ..
REST API Representational State Transfer의 약자로 웹의 장점을 최대한 활용할 수 있는 아키텍처로 처음 소개되었다. REST API는 웹에서 사용되는 데이터, 리소스를 HTTP URI로 표현하고 HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다. 좋은 REST API 디자인하기, 리차든 성숙도 모델 리차든 성숙도 모델 (RMM)은 총 4단계로 나누어진다. 이 모든 단계를 충족해야 REST API라고 부를 수 있지만 3단계는 충족하기 어렵기 때문에 2단계만 지키더라도 좋은 API 디자인이다. 이런 경우 HTTP API라고 부른다. REST 성숙도 모델 0단계 0단계는 단순히 HTTP 프로토콜을 사용해도 된다. REST 성숙도 모델 1단계 1단계에서는 개별 리소스와..
HTTP 표현 헤더 표현은 요청이나 응답에서 전달할 실제 데이터를 의미. 메시지의 본문은 통해서 표현 데이터를 전달한다. * 메시지 본문 = Payload(페이로드, 데이터를 실어나르는 부분) 표현 헤더는 표현 데이터를 해석할 수 있는 정보를 제공한다. (데이터 유형이나 데이터 길이, 압축 정도 등) HTTP 헤더는 HTTP 전송에 필요한 모든 부가정보를 담는다. 표현 헤더는 요청(request)와 응답(response) 둘 다 사용한다. 콘텐츠 협상 클라이언트가 선호하는 표현을 요청하는 것을 의미한다. - Accept : 클라이언트가 선호하는 미디어 타입 전달 - Accept-Charset : 클라이언트가 선호하는 문자 인코딩 - Accept-Encoding : 클라이언트가 선호하는 압축 코딩 - Ac..