Computer Science 37

[SW 공학] 소프트웨어 공학 개요와 공부 목표

소개 소프트웨어 소프트웨어 개발 작업 소프트웨어 공학의 접근법 소프트웨어 공학의 주제 연관 분야 프로세스와 방법론 소프트웨어 생명주기 프로세스 프로세스 모델 지원 프로세스 방법론 프로젝트 계획과 관리 프로젝트 시작 프로젝트 계획과 스케줄링 비용 예측 기법 프로젝트 팀 조직 실행과 모니터링 리스크 관리 요구 분석 요구 요구 추출 요구 분석 유스케이스 요구 명세 요구 검증 요구 모델링 모델링 기초 UML 정적 모델링 동적 모델링 제어 모델링 모델 검증 설계 설계 기본개념 품질 목표 전통적인 설계 원리 객체지향 설계 원리 설계 메트릭 아키텍처 설계와 패턴 소프트웨어 아키텍처란 아키텍처 표현 아키텍처 유형 디자인 패턴은 무엇이며 어떤 패턴 아키텍처 설계는 어떻게 평가 UI 설계 UI 설계 기본 개념 UI 설계 ..

[네트워크] IP주소란??(internet protocol)

IP(IPv4)주소? Internet Protocol : 인터넷 상에서 다른 컴퓨터와 통신할 때 사용하는 프로토콜 이를 위해 컴퓨터의 논리적인 주소(숫자로 표현 가능)를 구분 1비트는 0과 1로 표현이 가능 현재 IP는 32비트 체계를 사용하므로 약 40억개(2의 32승)의 주소를 표현가능. => 전세계 모든 컴퓨터 처리 불가능하기 때문에 IPv6라는 새로운 주소체계 등장. 웹 사이트 접속은 실제로 도메인이 아닌 IP주소를 이용해 통신하는 것. cmd창에서 nslookup naver.com치면 IP주소를 출력해줌. IP의 분류 공인 IP: 세계에서 단 하나만 존재하는 IP주소 사설 IP : 공유기를 이용해 만들 수 있는 가상의 IP주소 => 외부에서 내 컴퓨터를 찾을 수 없다.(외부와 통신에 제약)(공중..

[DNS] domain name syetem 우리는 쿼리를 어떻게 처리하는가?

DNS(domain name server) Domain name을 ip주소로 바꿔주는 시스템(서비스) IP로 통신하던 방식-> SRI-NIC에서 전세계의 IP와 도메인을 수집해서 유저는 그곳을 통해서 hosts파일을 받도록 바뀜(개인이 hosts파일을 관리하기에는 너무 소요가 많아서.) ->DNS가 고안됨. -> hosts파일에 domain name과 IP주소를 적어놓고 대응하는 방식 IP주소 없이 도메인 네임을 통해 우리는 원하는 웹 사이트로 갈 수 있음. 쿼리를 통한 매핑. DNS통신 구성 요소 다른 서버들과 메세지를 통해 소통하기 위한? DNS 서버에 질의 dev.taggle.kr A IN (Query name string : 질의를 하고싶은 대상. / Type : 어떤 데이터를 받고싶은지 (A는a..

[CS] REST란? RESTful이란?

REST ? 발단 : HTTP1.0과 HTTP1.1의 개념을 소통하기 위해. 동기 : 웹이 어떻게 동작해야 하는지에 대한 구조적 모델을 만들어 웹 프로토콜 표준을 위한 guiding framework 역할을 하기 위함.' HTTP뿐만 아니라 TCP/IP 프로토콜 스택을 사용하는 어플리케이션 프로토콜이 많은데 수많은 웹 App과 protocol의 사양과 인터페이스의 일관성을 위해 웹 표준이 필요하다 생각. REST는 분산 하이퍼미디어 시스템(웹)의 구조화 스타일을 다룬다. HTTP를 사용하는 웹은 최초 문서 공유의 목적에서 크게 벗어나 하이퍼 미디어 시스템이 되었다. REST는 이런 시스템을 구조화 할때 지켜야 할 스타일을 정의. 웹 App또한 분산 하이퍼미디어 시스템이기 때문에 적용가능. 표준을 위해 여..

[CS] Blocking vs Non-Blocking, Sync vs Async 제어권과 시간의 일치

멍토님, 우의님의 10분 테코톡 보고 작성했습니다 Blocking vs Non-Blocking, Sync vs Async 제어권(행동할수있는 권리, 행동할수 있는 시간)의 반환 결과값의 전달 (return) 1. Blocking vs Non-Blocking 제어할 수 없는 대상의 처리 방법. -Blocking : 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 *다른 작업이 끝날 때까지 *기다렸다가 자신의 작업을 시작하는 것 호출된 함수가 자신의 작업을 모두 마칠 때까지 호출한 함수에게 제어권을 넘겨주지 않고 대기하게 만든다 호출되는 함수가 바로 리턴하지 않으면 Blocking 호출한 함수가 제어권을 가지고있따가 function A에게 가서 제어권을 줌, 함수 시행 후 제어권에 결과값을 얹어서 호출..

[CS][네트워크] TCP / UDP

TCP/UDP Transport Layer End Point 간 신뢰성있는 데이터 전송을 담당하는 계층 신뢰성 : 데이터를 순차적, 안정적인 전달 전송 : 포트 번호에 해당하는 프로세스에 데이터를 전송 전송계층이 없다면? 데이터의 순차 전송 원활x 송진자가 전달하고자했던 데이터가 안가게됨(1,2,3 -> 2,1,3)으로 바뀜. Flow (흐름 문제) 원인 : 송수신자 간의 데이터 처리 속도 차이 // 수신자가 처리할수있는 데이터량을 초과 Congestion (혼잡 문제) 원인 : 네트워크의 데이터 처리 속도 (ex. 라우터) // Network 가 혼잡해서 데이터가 안오고 통신이안됨. 결과 : 데이터의 손실 발생. TCP(Transmission Control Protocol) 신뢰성있는 데이터 통신을 가..

[CS] HTTP1.1 HTTP2.0 QUIC

10분 테코톡 쿨라임님 손너잘님 발표자료 참고했습니다. HTTP1.1&HTTP2&QUIC HTTP는 Application Layer의 프로토콜. HTTP는 신뢰성있는 연결만 해줄 수 있다면 전송프로토콜은 TCP/UDP 뭘써도 상관없다고함. TCP(Transmission Control Protocol) connection을 수립하기 전에 신뢰성 있는 Connection을 위해 3 Way Handshake를 함. 3 악수를 통해 연결이 수립되면 데이터를 전송함. 전송하면 잘 받았다고 응답을 보냄(유실되면 다시 데이터 요청) 제어, 핸드셰이커, 등등신뢰성 구축에 신경을 많이씀. UDP(User Datagram Protocol) 신뢰성 x 받는걸 신경을 안쓰고 그냥 보냄. TCP vs UDP HTTP 0.9 요..

[CS] HTTP 메세지

HTTP는 서버와 클라이언트간에 데이터가 교환되는 방식(약속) ASCII코드로 인코딩 된 text정보이며 여러줄로 되어있다. HTTP 초기버전과 HTTP/1.1에서는 클라이언트와 HTTP/2 에서는 최적화 성능 향상을 위해 HTTP 프레임으로 나누어집니다. HTTP Request Message 구조. Request Line : 첫라인으로 method, URI, http version으로 구성 HTTP Method : GET, POST 등의 server가 동작해야할 action을 정의한다. GET : 리소스를 client로 요청하는 것. POST: data가 server로 들어가야 할 때. Request target : 두번째로 오는 요청 타겟은 주로 URL, 또는 프로토콜, 포트, 도메인의 절대 경로로 ..

[CS] OSI 7 Layer

10분 테코톡 히히님과 파즈님 영상 참고해 정리했습니다. OSI 7계층!!! 1계층 물리계층(Pysical Layer) -두 컴퓨터가 통신하려면? 모든 파일과 프로그램은 0과 1의 나열이다! 결국 0과 1만 주고 받을 수 있으면 된다! 전성을 통해 +5V를 흘려보내면 1이 보내지고 -5V를 보내면 0이 보내진다고 가정하면 전선만 있으면 모든 data를 주고 받을 수 있다!. 하지만 실제로는 잘 되지 않았다. 왜? 전자기파는 싸인 함수를 그리기 때문에 주파수는 1초당 진동한 횟수.(Hz) 문제는 전자기파는 완전한 sin함수를 그리지않고 대충 그린것처럼 나옴 주파수가 계속 바뀌고 전선은 모든 주파수를 통과시키지 못함(모든 매질이 마찬가지) ex. 어떤 전선은 5-8Hz만 통과가능한데 전자기파가 1~10Hz라..

[CS] Forward Proxy, Reverse Proxy, Load Balancer

제이미, 조앤, 쉐이크반님의 10분 테코톡 시청 후 정리했습니다. Proxy(Network Proxy) Proxy Server 클라이언트와 서버간의 중계 서버로, 통신을 대리 수행하는 서버 http통신을 중계 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있음. Forward Proxy Proxy server설정을 한다.. 인터넷 속도 향상을 위해 윈도우 Proxy설정을 해줘라. 외국에서 접속하는 것 처럼 하기 위해, IP추적 방지를 위해 Proxy를 써라 => 클라이언트와 인터넷 사이에 위치를 하고있고 Intenet대신 Forward Proxy가 흐름처리를 하고있다. 특징 캐싱 전송 시간 절약( 특히 고속 인터넷 사용자 ) 불필요한 외부전송 X 외부 요청 감소 -> 네트워크 병목 현상 방지(인터넷 대..