본문 바로가기
  • 시 쓰는 개발자

CS 개념47

데이터 통신 정리 (3) - Internet, Mobile, Cellular, WIFI (학교 수업 내용을 정리한 글입니다.) 네트워크의 예시 Connectinless WAN ARPANET NSFNET INTERNET Connection-Oriented WAN X.25 Frame Relay ATM Connectinless LAN Ethernet Wireless LANs Connectinless PAN RFID Internet Architecture 이전에 개별적 Network로 존재했던 전화망, Tv망 등이 통합됨 여러 Network들이 계층적 구조를 가짐 Backbone : 중추적인 Network를 의미. Backbone에 작은 Network들이 붙어있음. IXP : Network 연결 장소. Switch들이 모여있음. Peering : ISP간 대등한 관계를 표현. 비용이 들지 않음. .. 2023. 10. 9.
데이터 통신 정리 (2) - Service, Protocol, Service의 분류(COC, CLS), OSI, TCP/IP (학교 수업 내용을 정리한 글입니다.) Network Software 디자인 복잡도를 줄이기 위해 분할정복 접근을 활용해 layer를 쌓은 구조이다. → Hierachy 구조 하위 layer는 상위 layer에 서비스를 제공하여 새로운 가상 머신을 만들어낸다. 하위 layer 의 기술적인 디테일을 상위 layer에 숨긴다. → 추상화 용어 정리 Service : Layer가 하는 일을 정의. 무엇을(what) 해야하는지에 대해 내용이다. Interface : 서비스를 제공하는 장소. 수직적으로 서비스에 어떻게(how) 접근하는지 알려준다. Protocol : agreement, rules, grammer 같은 맥락이다. layer들 사이에서 통신이 어떻게 진행되는지에 대한 약속이다. 수평적으로 서비스를 .. 2023. 9. 28.
데이터 통신 정리 (1) - 인터넷 소프트웨어 구조, 네트워크 분류 (학교 수업 내용을 정리한 글입니다.) Computer Network의 정의 single technology에 의해 자발적인(autonomous) 컴퓨터들의 상호연결된 묶음이다. 많은 터미널이 mainframe에 연결되어 있는 것은 터미널들이 autonomous하지 않기에 Computer Network가 아니다. 같은 네트워크의 autonomous 기기들은 single technology로 연결되어 있기 때문에 소통이 가능하다. 분산 시스템(Distributed system)과의 차이는? 여기서 말하는 분산 시스템은 클라우드 컴퓨팅이나 WEB 등이 있다. 독립적인 컴퓨터들은 single oherent system으로 묶여 있어서 각각의 컴퓨터를 분류할 수가 없다. 각 컴퓨터들의 존재가 invisible,.. 2023. 9. 27.
docker에 대하여 상당히 러프하게 작성해놓음..!! 도커의 흐름 이미지를 내가 docker hub에서 pull로 받았음. 그럼 그 이미지는 나의 로컬 도커에 들어감. 그 이미지 안에는 레디스 환경설정이 들어있음. 그 환경 자체를 나한테 넘겨준것 이미지를 실행시키면 이미지가 컨테이너를 만들어줌. (여러개의 컨테이너 만들기도 가능) 도커를 실행시킬 땐 docker -- 이런식으로 명령어를 치기 때문에 명령어를 치는 시점의 주소가 어딘지는 상관 없음 redis를 직접 까는게 아니고 도커허브에서 redis 이미지를 받고, 이미지 받아서 컨테이너 실행시키고, 컨테이너 들어가서 환경설정(이름 비밀번호 뭐 이런거)을 새로 설정해주고, 그걸 다시 이미지화 시켜서 내가 쓰는 것임. (ex. MYSQL같은 것도 이미지 받아서 컨테이너 만들.. 2023. 9. 5.
프레임워크와 라이브러리의 차이 프레임워크(Framework)와 라이브러리(Library)는 목적과 동작 방식에서 차이가 있다. 프레임워크 프레임워크는 특정한 문제를 해결하기 위해 필요한 구성 요소들을 제공하는 일종의 뼈대이다. 개발자가 애플리케이션의 기본 구조와 흐름을 결정하고, 프레임워크에서 제공하는 규칙과 템플릿을 따르며, 비즈니스 로직을 작성하는 방식이다. 프레임워크는 일정한 규칙에 따라 개발을 진행하므로, 일관성 있는 코드를 작성하고, 생산성을 높이는 데 도움이 된다. 대표적인 프레임워크로는 Spring, Django, Ruby on Rails 등이 있다. // 즉, 프레임워크는 애플리케이션 개발을 위한 뼈대를 제공하고, 개발자가 규칙과 템플릿을 따라 애플리케이션을 구현하는 방식이다. 라이브러리 라이브러리는 개발자가 필요에 따.. 2023. 2. 18.
github로 협업하기 (초보자용 AtoZ) "깃허브로 협업한다"라는 말은 자주 듣지만 정확히 어떻게 이루어지는지 잘 모르는 경우가 많고 실제로 해도 깃허브 기능을 제대로 쓰지 못하는 경우도 많다. 팀프로젝트를 할때마다 깃허브는 항상 새로웠던 경험이 있어서... 이제는 그러지 않기 위해 정리를 해보려고 한다. 협업을 위한 repository를 github에 만든다. 이 repository가 바로 우리가 코드를 올리는 장소인 것이다. 이때, 만약 웹서비스를 만든다고 하면 FE와 BE가 있을텐데 이 둘을 나누느냐 마느냐도 선택해야한다. 결론부터 이야기하면 FE레포와 BE레포를 따로 파는 것이 좋다. 만약 하나의 레포에 만든다고 하면 FE/BE 폴더를 각각 따로 만들어서 해주면 되는데 이때 문제가 있다. 먼저, branch별로 기능을 관리하기가 어렵다... 2023. 2. 18.
클라이언트와 서버의 차이점 클라이언트와 서버는 컴퓨터 네트워크에서 중요한 역할을 하는 요소입니다. 이들의 차이점을 러프하게 정리해보았습니다. 클라이언트 서버 역할 정보를 요청하고 처리하기 위한 프로그램 요청된 정보를 제공하고 저장하는 컴퓨터 컴퓨터 종류 일반적으로 클라이언트는 개인용 컴퓨터나 스마트폰, 태블릿과 같은 작은 규모의 컴퓨터 서버는 대규모의 컴퓨터 또는 컴퓨터 클러스터일 수 있다. 데이터 저장 일반적으로 자신의 로컬 컴퓨터나 스마트폰 등에 정보를 저장 대개 중앙 데이터베이스에 정보를 저장 네트워크 연결 클라이언트는 서버에 요청을 보내기 위해 인터넷 또는 내부 네트워크와 같은 연결을 사용 클라이언트의 요청을 받아들이고, 응답을 다시 클라이언트에게 전송 보안 클라이언트는 서버에 연결하고 자신의 정보를 보호하기 위한 간단한 .. 2023. 2. 18.
쿠키와 캐시 쿠키 쿠키는 클라이언트(웹 브라우저)에 저장되는 작은 데이터 파일입니다. 웹사이트에서 로그인 정보, 사용자 환경 설정, 장바구니 등을 저장하고 다음에 같은 웹사이트를 방문할 때 사용됩니다. 이를 통해 사용자는 로그인 정보를 입력하지 않고도 다시 해당 웹사이트를 방문할 수 있습니다. 또한 쿠키는 사용자의 브라우저에서 수신된 웹 페이지에서 쿠키를 읽을 수 있습니다. 캐시 반면에 캐시는 브라우저에 의해 자동으로 생성되는 저장소이며, 최근에 방문한 웹 페이지의 일부분을 저장합니다. 이를 통해 사용자가 이전에 방문한 페이지를 더 빠르게 로드할 수 있습니다. 캐시는 브라우저에서 수신한 웹 페이지의 일부 또는 전체를 저장하고 다음에 같은 웹 페이지를 방문할 때 사용됩니다. 이는 빠른 로딩과 인터넷 대역폭을 절약할 수.. 2022. 12. 9.
OSI 7 LAYER OSI 7 LAYER (Open Systems Interconnection) 1984년에 국제 표준기구 iso가 발표한 네트워크 모델 ▶ 네트워크 모델이 서로 다른 회사들끼리도 통신이 원활하게 이루어지기 위해서 규격을 정해놓은 것. 7계층 - application layer 응용 프로세스를 직접 사용해 응용 서비스를 수행하는 계층. http ftp smtp와 같은 프로토콜들이 속한 계층. 6계층 – presentation layer 데이터의 변환, 압축, 암호화가 이루어지는 계층. 서로 다른 통신기기간에 다른 인코딩을 사용할 수도 있기 때문에 데이터 변환이 이루어지는 것. 5계층 – session layer 세션을 열고 닫고를 제공하는 계층. 세션 복원 또한 지원해주는데, 이는 체크포인트라는 것을 통해 .. 2022. 10. 23.