CS지식

IP(Internet Protocol) 지정한 IP 주소에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 패킷 정보 : 출발지 IP, 목적지 IP, 기타.... 위 사진처럼 패킷에 출발지 IP, 목적지 IP, 기타 등등을 넣어서 패킷으로 보낸다. 클라이언트가 서버에 보낸 패킷을 서버가 제대로 받으면 서버도 클라이언트에게 받았다는 신호를 패킷으로 보내준다. 그런데 IP 프로토콜은 한계점이 있다. 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송(받는 사람이 없어도 일단 보낸다) 비신뢰성 중간에 패킷이 사라지면? 패킷이 순서대로 안 오면? 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?? 대상이 서비스 불능일 경우 대상이 서비스가 불가..
· CS지식
비통기 통신을 위한 API로 Ajax, axios, fetch를 제일 많이 사용한다. 이 세 가지 방법의 특징을 알아보자. 🥉Ajax Asynchronous JavaScript And XML의 약자이며, 자바스크립트를 이용해서 클라이언트와 서버끼리 데이터를 비동기적으로 주고 받는 기술이다. XMLHttpRequest(XHR) 객체를 이용해서 전체 페이지가 아닌 필요한 데이터만 불러올 수 있다. 요즘은 XML을 사용하지 않고 JSON.parse(), JSON.stringify()를 사용한다. 예전에는 제이쿼리를 사용해서 비동기 통신과 JSON 데이터 처리를 했지만, 요즘은 내장 API로 JSON을 다루는 것이 일반적이다. const xhr = new XMLHttpRequest(); xhr.open("GET..
· CS지식
SOLID 원칙이란 로버트 마틴이 2000년대 초반에 명명한 객체지향 프로그래밍 및 설계의 다섯가지 원칙이다. 이전 게시글에서 클린코드를 소개하면서 SOLID 원칙을 잠깐 소개했었는데 SOLID 개념을 적용하면 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링 하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. 약어 개념 SRP 단일 책임 원칙 (Single responsibility principle)한 클래스는 하나의 책임만 가져야 한다. OCP 개방-폐쇄 원칙 (Open/closed principle)“소프트웨어 요소는 확장에는 열려 ..
· CS지식
클린코드는 무엇일까? 많은 개발자들이 살면서 한 번은 들어봤던 말이다. 단순이 코드를 깔끔하고 보기 좋게 짜면 클린코드일까? 우선 저명한 개발자는 클린코드를 뭐라고 정의했는지 살펴보자. “I like my code to be elegant and efficient. The logic should be straightforward and make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the..
· CS지식
사용자는 원하는 정보를 검색해서 요청을 보낼 수 있다. 그런데 URL에 'SSAFY'를 검색한다고 이 정보가 짠! 하고 나타나는 것은 아니다. 이 검색의 정보를 얻기까지 웹에서는 사용자의 요청을 받고 검색해서 그 정보를 사용자에게 돌려준다. 지금부터 이 과정에 대해 알아보고자 한다. 1. URL을 IP주소로 변환 WWW.SSAFY.COM 이라는 도메인 이름으로는 컴퓨터끼리 통신이 불가능하다. 인터넷상에서 컴퓨터가 읽을 수 있는 IP주소로 변환해야 서로 통신이 가능하다. 먼저 브라우저 캐시에 해당 URL이 존재하는지 우선 확인하고 존재한다면 그 정보를 불러온다.(대역폭 절약) 존재하지 않는다면 도메인 주소를 IP주소로 변환해 주는 DNS(Domain Name System) 서버에 요청하여 해당 URL의 I..
· CS지식
클라이언트는 웹 브라우저 주소창에 URL을 입력하고, 서버는 클라이언트 요청에 응답을 하여 웹페이지를 보여주는 것이 가장 기본적인 동작의 흐름이다. 이때 클라이언트가 서버로 보내는 데이터를 HTTP 패킷이라고 하며, HTTP 패킷은 크게 Header와 Body로 나뉜다. 그전에 간단하게 HTTP의 개념을 짚고 넘어가자. HTTP Hyper-Text Transfer Protocol은 www상에서 문서를 주고받는 프로토콜이다. (프로토콜 : 컴퓨터 또는 전자기기 간의 원활한 통신을 위해 지키기로 약속한 규약) 웹 상에서 통신을 주고 받을 수 있는 주체는 서버와 클라이언트다. 즉, 서버와 클라이언트 간 통신을 주고 받을 때 쓰는 규칙을 HTTP라고 한다. HTTP 패킷은 클라이언트가 서버로 요청을 보낼 때 보..
· CS지식
MVC패턴이 생겨난 이유 프로그램의 코드가 많아지면 많아질 수록 코드가 복잡해져서 파악하기도 어렵고, 유지보수가 많이 어려워졌다. 그러다가 프로그래머들이 하나의 패턴을 찾게 되었고, 이걸 논문으로 발표하면서 MVC 패턴이 유명해지게 되었다. MVC -> 유지보수가 편해지는 코드 구성 방식 1. 클라이언트가 구글에 "개발자"라고 검색 2. 컨트롤러는 요청을 받아서 모델에 "개발자"에 대한 검색 결과 데이터를 달라고 요청 3. 데이터를 받은 컨트롤러는 View한테 검색 결과 데이터를 전달한다. 4. View는 사용자가 보는 UI(레이아웃)에 검색 결과 데이터를 넣어서 웹페이지로 보여준다. Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 ..
indeep
'CS지식' 카테고리의 글 목록 (3 Page)