목록Devops Bootcamp (27)
Fairy ' s
목차 프로그램 개요 요구 사항 아키텍처 리소스 선택 이유 트러블 슈팅 향후 개선점 후기 프로그램 개요 및 요구사항 이 프로그램은 다수의 인원이 한 작업에 대해 역할을 나누어 프로젝트를 진행해야 할 때 이용할 수 있습니다. 사용자는 어떠한 내용의 Task를 생성할 수 있고, 특정 작업에 대한 담당자(가입되어 있는 사용자)를 지정합니다. 담당자는 그 작업을 진행하고, 담당자는 진행 상황이 바뀔 시 Task의 진행도를 바꿀 수 있고 진행도 혹은 Task 의 내용이 수정될 때마다 사용자에게 메일로 특정 로그 내용을 전송하여 보다 쉽게 수정된 내용을 확인할 수 있도록 합니다. 기능 요구사항 작업의 진행상황을 체계적으로 관리할 수 있도록 업무를 분배하고 진행 상황을 관리할 수 있는 시스템을 구축해야한다. 사용자는 ..
Q1. 다음의 헤더를 보고 유추할 수 있는 내용을 모두 작성하세요. Response Header Content-Type : text/html 부분은 콘텐츠가 HTML 텍스트임을 나타내고, charset=utf-8 부분은 콘텐츠에 사용되는 문자 인코딩을 지정한 것이다. Transfer-Encoding : 클라이언트와 서버 간에 데이터를 가변 크기의 'chunk'로 전송한다. 일반적으로 전송되는 데이터의 크기를 미리 알 수 없거나 데이터가 실시간으로 스트리밍 될 때 사용한다. Connection : 'keep-alive' 상태는 클라이언트와 서버 간의 지속적인 연결을 허용한다는 뜻이다. vary : 응답을 생성하는 데 사용된 요청 헤더를 나열하며, 동일한 헤더가 새 요청에 있는 경우 캐시가 후속 요청에 대해..
프록시 서버 원 서버를 대리하여 통신하며 캐시, 로드밸런서, 보안 등 중계 역할을 하는 서버 클라이언트는 프록시 서버를 '서버'라고 인식하고, 서버는 프록시 서버를 '클라이언트'로 인식한다. 웹 서버에서 클라이언트의 IP를 숨겨 프라이버시를 강화하는 데 사용할 수 있다. 웹 사이트의 SSL과 같은 암호화를 구현한다. 서버로부터의 응답을 압축하여 네트워크 대역폭을 줄이고 성능을 향상시킨다. 사용자가 정책에 따라 웹 사이트 또는 기타 서비스에 연결하지 못하도록 할 수 있다. 네트워크 트래픽을 기록할 수 있다. 포워드 프록시 (forwaed proxy) 일반적인 프록시로 클라이언트-서버 구조에서 클라이언트 쪽을 대리한다. 클라이언트에서 서버로 리소스를 요청할 때 직접 요청하지 않고 프록시 서버를 거쳐서 요청한..
Q1. 소켓과 포트의 특징을 작성하고, 그 차이점을 설명하세요. 포트 포트는 여러 애플리케이션이나 서비스가 단일 장치에서 동일한 IP 주소를 사용할 수 있도록 하는데에 사용된다. 데이터를 송수신 하기 위해서는 출발지와 도착지의 IP주소와 포트번호를 알아야 한다. 소켓 클라이언트-서버 구조이며, 애플리케이션 계층에서 전송 계층으로 데이터를 주고 받기 위해 소켓을 거쳐 데이터를 송수신한다. 소켓은 같은 포트에 여러 개를 생성하여 사용할 수 있고, 소켓을 통해 연결이 완료되고 데이터 송수신이 끝난다고 해서 연결이 끊어지는 것이 아니라, 실시간 양방향 통신을 할 수 있다. 소켓은 IP주소와 포트 번호를 받아 통신하려는 목적지로 전달하는 역할로, 소포의 개념과 비슷하다. 소켓은 양방향 통신에 대한 엔드 포인트이고..
TCP/IP 4 계층 이론보다는 실용성에 중점을 둔 프로토콜이며, 현대의 네트워크는 대부분 기술 발전을 거쳐, 합리적이고 성능이 우수한 TCP/IP 프로토콜과 이더넷으로 이루어져 있다. 물리적 계층에 가까운 부분이 하위 계층, 개발자가 직접 접하게 되는 애플리케이션에 가까운 부분을 상위 계층 이라고 한다. OSI 7 계층 물리 계층 : 물리적인 연결 정보와 전기 신호를 전달하는 데 초점을 두고, 들어온 전기 신호를 그대로 잘 전달하는 것이 목표이다. 데이터 링크 계층 : 물리 계층에 들어온 전기 신호를 모아서, 알아볼 수 있는 데이터 형태로 처리 한다. 주소 정보를 처리하고 출발지와 도착지 주소를 확인한 후 데이터 처리를 수행한다. 네트워크 계층 : 논리적인 주소(IP 주소)를 정의한다. 라우터를 통해 ..
Start 먼저 요구사항에 맞는 ERD 제작과 API 문서 작성으로 시작되었다. 요구사항 [✔] 사용자는 모든 상품을 조회할 수 있다. [✔] 사용자는 특정 분류의 상품을 조회할 수 있다. (상품분류, 브랜드명, 가격, 상품명) [✔] 사용자의 타입이 판매자인 경우 자신의 상품을 등록할 수 있다. [✔] 사용자는 상품을 장바구니에 담을 수 있다. [✔] 사용자는 자신의 장바구니를 조회할 수 있다. [✔] 사용자는 자신의 장바구니에 있는 상품의 수량을 변경시킬 수 있다. [✔] 사용자는 상품을 자신의 장바구니에서 제외할 수 있다. TABLE 필요한 테이블은 users, items, cart 세 가지 테이블입니다. users 테이블은 프라이머리 키로 지정한 고유한 user_id 그리고 username과 유저..
1. nginx 로그 분석 (sample.log) 10.0.210.17 - - [28/Nov/2022:11:33:28 +0900] "GET /hello HTTP/1.1" 200 615 "-" "curl/7.84.0" "-" IP 주소 : 요청하는 클라이언트의 주소이다. - : 클라이언트의 신원 - : 클라이언트와 연결된 사용자 ID 날짜 : 요청이 이루어진 날짜 "GET /hello HTTP/1.1" : 사용된 HTTP 메서드, 요청된 URL 및 사용된 HTTP 버전 200 : 요청이 성공했다는 의미 "-" : 알 수 없는 리퍼러 "curl/7.84.0" : 요청에 사용된 소프트웨어를 식별하는 사용자 에이전트 문자열 "-" : 알 수 없는 응답의 내용 유형 $ cat sample.log | ./parse..
데이터 파이프라인 OLTP & OLAP 정형 데이터 & 비정형 데이터 ETL & ELT MLOps OLTP CRUD 작업과 같은 트랜잭션에 포커스가 맞추어져 있는 데이터베이스 여러 테이블을 함께 묶어 조회하려면 복잡도가 늘어나며 트랜잭션 성능에 지장을 줄 수 있다. 테이블 간 관계, 데이터의 무결성, 정규화 여부가 중요하다. 정형적이며, 정규화된 데이터이다. OLAP 데이터 기반의 의사결정을 위한 도구 / 적재된 데이터를 다양한 방법으로 분석하는 데 포커스가 맞추어져 있다. 다양한 데이터 소스로부터 수집되는 데이터를 통합한다. 빠른 분석과, 다차원 정보 제공이 중요하다. 정형 및 비정형 데이터이다. 정형 데이터 정해진 규칙에 따라 구조화된 데이터 해당 컬럼에 들어갈 값이 예측 가능하고 의미 파악이 쉽다...