컴퓨터공학 공부/컴퓨터공학 공부 총정리 15

컴퓨터공학 공부 다시 시작하기 28주차-Agile 이해, DevOps 이해(소프트웨어 공학)

1. Agile 이해Agile 예시Product Owner: 영업팀과 이야기해보고 분석한 결과, 검색 기능이 필요할 것 같으니 이번 달에 기능 추가해줘개발팀+ UX 디자이너: 일단 검색 기능을 한 달 동안 최소 기능만 만들어 볼게Product Owner: 고객 반응을 보니 검색 기능에 상품 판매자 검색 기능도 넣어줘야겠어 개발팀+ UX 디자이너: 알았어 상품 판매자 검색 기능도 추가할게!Agile 선언문 요약공정과 도구보다 개인과 상호작용포괄적인 문서보다 작동하는 소프트웨어계약 협상보다 고객과의 협력계획을 따르기보다 변화에 대응Agile 개념 = 빠르고 쉽게!변화에 대한 효과적인(=신속하고 적극적인) 대응모든 이해관계자 간의 효과적 의사소통팀에 고객을 포함: 요구사항 제공, 우선 순위 부여 및 평가에 중..

컴퓨터공학 공부 다시 시작하기 27주차-전통적인 소프트웨어 개발 단계 이해, 전통적인 개발 프로세스 이해(소프트웨어 공학)

1. 전통적인 소프트웨어 개발 단계 이해전통적인 소프트웨어 프로세스 정형화SI(System Integration) 업계에서 적합하며, 배 만드는 작업과 유사함소프트웨어 개발 관련자: 요청 고객(Client), 사용자(Customer), 프로젝트 관리자(PM), 개발자(Developer)전통적인 소프트웨어 개발 생명주기(Life Cycle)요구사항(Business Requirements)Customer Pain Points(WHY/문제점) + Scope(범위) + Benefit(얻을 수 있는 이익)쇼핑몰을 예시로 들면고객이 상품을 찾을 수 없어 구매를 못하는 것이 Pain Point일 때 전체 상품 검색 기능을 추가하는 것이 Scope이고, 이로 인해 고객 경험을 증대시키고 매출을 향상시킬 수 있다는 것이..

컴퓨터공학 공부 다시 시작하기 26주차-주요 응용계층 프로토콜 이해, FTP와 웹 브라우저 동작 과정 이해(네트워크)

1. 주요 응용계층 프로토콜 이해DNS(Domain Name System)도메인 이름을 IP 주소로 변환하고, IP 주소를 도메인 이름으로 변환하기 위해 개발 전세계 흩어진 DNS 서버를 통해 '도메인 이름: IP 주소' 정보 확인 가능Network Protocol로 UDP 사용메일 서버(SMTP와 POP3 프로토콜)SMTP(Simple Mail Transfer Protocol): 메일 송신텍스트(ASCII 코드)만 전송 가능POP3(Post Office Protocol): 메일 수신POP3과 IMAP(둘 다 메일 수신 프로토콜)IMAP(143 포트): 중앙 서버에서 메일을 동기화하며, 모든 장치에서 동일한 이메일 폴더를 확인할 수 있으며, 중앙 서버 메일 용량에 따라 메일 수신이 불가능할 수 있음POP..

컴퓨터공학 공부 다시 시작하기 25주차-쿠키와 세션 이해, URL과 HTTPS 이해, REST API와 HTTP 프로토콜 이해(네트워크)

1. 쿠키(Cookie)와 세션(Session) 이해HTTP는 Stateless로 통신이 끝나면 상태를 유지하지 않는데, 이를 보완하기 위한 기법들을 의미함쿠키/세션 유효기간: expires 설정이 있으면 로컬 디스크에 저장되며 유효기간이 경과하면 삭제되고,   expires 설정이 없으면 메모리에 저장되며 브라우저를 종료하면 삭제됨 2. URL과 HTTPS 이해URLUniform Resource Locator의 약자로, 인터넷 상의 자원 위치 표기를 위한 규약www 주요 요소 중 하나(다른 요소: HTML, HTTP)URIUniform Resource Identifier의 약자로, 종합 자원 식별자를 의미이것의 하위 개념이 URL로, 예를 들어 https://www.naver.com이라는 주소는 해당 ..

컴퓨터공학 공부 다시 시작하기 24주차-HTTP 프로토콜과 WWW 구성 요소 이해, HTTP 프로토콜/request와 response 이해, HTTP 프로토콜/메서드와 상태코드 이해(네트워크)

1. HTTP 프로토콜과 WWW 구성 요소 이해다양한 응용 계층 프로토콜HTTP/HTTPS(HyperText Transfer Protocol): 웹사이트 접속FTP(File Transfer Protocol): 파일 송수신SMTP/POP3(Simple Main Transfer Protocol): 메일 송신/수신DNS(Domain Name System): 이름 해석HTTP(HyperText Transfer Protocol)인터넷(WWW) 상에서 정보를 주고받는 프로토콜HTTP method: GET, POST, PUT, DELETEServer/Client 모델로 Request/Response 사용Client에서 요청을 보내면 Server에서 응답을 주는 것HTTP는 Connectionless한 프로토콜로, 1..

컴퓨터공학 공부 다시 시작하기 23주차-TCP 프로토콜/슬라이딩 윈도우 및 혼잡 제어 알고리즘 이해, UDP 프로토콜 이해(네트워크)

1. TCP 프로토콜/슬라이딩 윈도우 및 혼잡 제어 알고리즘 이해TCP 제어네트워크 트래픽에 따른 효율적/신뢰적 송신을 위한 제어 알고리즘 적용흐름 제어(Flow Control): 슬라이딩 윈도우(Sliding Window)매번 ACK를 기다리지 않고 여러 패킷을 연속해서 송신하기 위해,각 컴퓨터의 윈도우 사이즈 확인 후 윈도우 사이즈만큼 ACK없이 연속해서 송신*TCP 윈도우 사이즈 설정혼잡 제어 알고리즘: Congestion Window송신 제어를 위한 윈도우는 2개 Receiver Window(RWND): 흐름 제어(Sliding Window)에서 활용Congestion Window(CWND): 네트워크 혼잡 제어를 위해 활용송신 측 최종 윈도우 크기 = min(RWND, CWND)Congestio..

컴퓨터공학 공부 다시 시작하기 22주차-TCP/IP 모델 이해, ITCP 프로토콜/TCP 연결 및 연결 해제 방식 이해(네트워크)

1. TCP/IP 모델 이해OSI 7 Layer는 표준 모델이며, 현실에서 인터넷 통신을 위해 사용하는 모델이 TCP/ IP 모델이 모델의 응용 계층은 OSI 모델의 세션+표현+응용 계층 통합, 이 모델의 네트워크 접속 계층은 OSI 모델의 물리+데이터링크 계층 통합, 이 모델의 인터넷 계층은 OSI 모델의 네트워크 계층응용  계층(Application Layer)HTTP, FTP, DNS, POP3, SMTP 등등전송 계층(Transport Layer)TCP, UDP인터넷 계층(Internet Layer)IPv4, IPv6네트워크 접속 계층(Network Access Layer)Ethernet IPv4Internet Protocol version 4: 32비트로 구성(2^32개 IP 주소/0.0.0.0..

컴퓨터공학 공부 다시 시작하기 21주차-네트워크 개요, 프로토콜/프로토콜 기본 구조와 동작 이해, OSI 7 이해(네트워크)

1. 네트워크 개요컴퓨터에서 네트워크란?Computer Network: 컴퓨터 간 통신을 의미(이를 위한 규칙이 있음)-> 파일 송/수신, 웹 사이트, 이메일 열람 등범위별 네트워크 구분LAN(Local Area Network): 건물 등 특정 지역을 범위로 하는 네트워크WAN(Wide Area Network): 인터넷 서비스 제공자(ISP) 등이 제공하는 광역 네트워크WLAN(Wireless Local Area Network): 무선 근거리 네트워크2. 프로토콜/프로토콜 기본 구조와 동작 이해 (네트워크 핵심 용어)프로토콜컴퓨터 통신을 하기 위한 규칙으로, 독립적인 여러 규칙이 필요함OSI 7 Layer(OSI 7 계층)ISO(국제 표준화 기구)에서 제정한 모델다양한 컴퓨터 간 데이터 전송을 지원할 수..

컴퓨터공학 공부 다시 시작하기 20주차-쉘스크립트 조건문 이해하기, 쉘스크립트 반복문 이해하기, 서버 운영을 위한 쉘스크립트 예제(시스템 소프트웨어)

1. 쉘스크립트 조건문 이해하기연산자expr: 숫자 계산-> 연산은 백틱`` 안이나 $() 안에 사용해야 함(백틱은 작은 따옴표 '와 다르며, $()은 최신 Bash에서 사용)연산자 *와 괄호()를 쓸 때는 앞에 역슬래시\를 추가해야 함연산자와 숫자/변수/기호 사이에는 space를 넣어야 함num=`expr \( 3 \* 5 \) / 4 + 7` #또는, num=$(expr \( 3 \* 5 \) / 4 + 7)echo $num기본 조건문 기본 if 구문: 실제로 사용할 때는 명령문 앞에 들여쓰기를 할 필요는 없고, then과 fi안에만 들어가 있으면 됨 if [조건]then 명령문fi조건문 조건 작성 (필요할 때마다 참조하면 됨 \)문자 비교 문자1 == 문자2 # 문자1 과 ..

컴퓨터공학 공부 다시 시작하기 19주차-VI 에디터 핵심 명령 이해하기, 쉘스크립트 이해하기, 쉘스크립트 시작/변수 선언하기(시스템 소프트웨어)

1. VI 에디터 핵심 명령 이해하기vim 초간단 사용법입력(입력 모드 진입 시, 왼쪽 하단에 "--INSERT--"라는 문구가 출력됨)i 포커스 잡힌 커서 위치에서 편집모드 시작a 포커스 잡힌 커서 위치 바로 다음에서 편집모드 시작삭제(일반 모드에서 실행)x 커서의 한 문자를 삭제파일 저장:w 현재 오픈된 파일 저장:q 저장하지 않고 종료(quit):wq 현재 오픈된 파일 저장 후 종료:q! 강제 종료 블록 지정 및 복사(Visual 모드에서 활용)v 단어 단위로 블럭 지정shift + v 라인 단위로 블럭 지정y 지정된 블럭 복사p 복사된 블럭을 현재 커서에 붙여넣기u 직전 실행 작업 취소*자주 사용하는 시나리오- v로 visual 모드로 들어간 후 shift를 누른 채 커서 이동을 통해 블록 지정,..