본문 바로가기

전체 글

(36)
[네트워크] 응용계층 - HTTP & DNS, google.com을 치면 일어나는 일 OSI 7 계층의 가장 상단에 위치하여, 유저와 직접 맞닿는 부분인 응용계층에 대해 좀 더 알아보려고 한다.키워드는 HTTP, DNS, SSH이다. HTTP (HyperText Transfer Protocol)HTTP는, 웹 페이지와 기타 웹 컨텐츠를 전송하기 위한 주요 프로토콜이다. 웹 브라우저(클라이언트)와 웹 서버 간에 문서와 데이터를 교환하는 데 사용된다. HTTP는 요청/응답 프로토콜로, 사용자가 웹 브라우저를 통해 특정 웹 페이지를 요청하면, 서버는 HTTP를 통해 그 페이지를 사용자에게 전송한다. 이름에서도 알 수 있듯이, HTTP도 프로토콜, 즉 규약이다. "클라이언트가 이렇게 보내면 서버는 이렇게 답변한다" 라는 일련의 약속인 셈이다. 이 규약은 시간 별로 변천해왔다.   HTTP/1.0..
[네트워크] OSI 7 계층 (vs. TCP/IP 4 계층) OSI 7 계층 OSI(Open Systems Interconnection) 모델은 ISO(International Standards Organization)에 의해 개발된 네트워킹 통신을 위한 표준 아키텍처. 이 모델은 네트워크 통신을 7개의 계층으로 분할하여 각 계층이 특정한 기능과 책임을 가지도록 설계됨. 계층화는 네트워크 설계를 단순화하고, 다양한 하드웨어 및 소프트웨어의 상호 운용성을 향상시키는 데 도움을 줌. 이해하기 쉽게 단순화 시키면 이렇다. 클라이언트 1과 클라이언트2 (혹은 클라이언트와 서버도 동일한 매커니즘)가 서로 통신을 한다고 치자. 그러면 클라이언트 1이 응용 계층에서 어플리케이션을 사용해서 클라이언트 2에게 데이터를 보내면, 클라이언트 2가 해당 데이터를 받을텐데, 이게 어떻게..
[Midterm] 구글 개발자에게 듣는 소프트웨어 엔지니어링 기초 [상] * 본 자료는 제가 UCLA 학부 시절 CS 130: Software Engineering 수업을 수강하면서, 절반 가량의 시간이 지난 시점까지의 강의 중 일부를 중간고사를 대비하기 위해 모두어 둔 내용입니다.* 참고로 해당 수업은 UCLA에서 제공하는 컴퓨터 공학과 학부 대상 커리큘럼의 끝에 있는 Capstone 수업으로, 3명의 강사진 모두 구글 현직 개발자들입니다. Source Control= Version control. 코드 변경 사항을 추적하고 관리하는 활동. 1 여러개의 revision control system의 각각의 원리를 알고 장단점 비교하기Git:유형: 분산 버전 관리 시스템 (DVCS)특징:로컬과 원격 리포지토리 개념을 모두 사용합니다.변경 내용은 '커밋'으로 저장되며 각 커밋은 ..
[Capstone] 과제 1 中 (NginX, gerrit, docker, C++, Unit test) 목차- 과제 및 후기- Cmake란?- Gerrit이란?- NginX란?과제 및 후기과제:1 Docker 환경 구축하고,2 클론한 파일 중 nginx-format config file parser에 있는 버그를 고치고,3 고친 게 맞는지 확인을 위해 관련 unit test 작성하기.4 일련의 과정에서 매번 code peer review 必. 후기:- 처음 다뤄보는 구조 및 개념이라, 사소한 실수들이 있었는데 도커 환경에 저장해 두니 크게 걱정하지 않아도 됨.- 테스트 코드라는 개념만 들어봤지, 실질적으로 쓴 건 처음이었는데 어렵지 않았음. 다만 테스트 자동화 툴을 쓰지 않고 스크립트 형식으로 하나하나 해주는 건 좀 소모적이었고, 앞으로는 jest 등의 툴을 쓰는 것이 좋겠다고 결론내림.- CMakeLis..