본문 바로가기
728x90

CS 개념정리17

이쯤에서 복기해보는 객체지향의 5대 원칙(SOLID) 간단 정리 SOLID 법칙이란 무엇? 객체 지향의 원칙의 약자를 따서 만든 용어이다. S는 SRP(단일 책임 원칙) O는 OCP(개방 폐쇄 원칙) L은 LSP(리스코브 치환의 원칙) I은 ISP(인터페이스 분리의 원칙) D는 DIP(의존성 역전 원칙) SRP(단일 책임 원칙)이란? 간단하게 말해서 작성된 클래스는 하나의 기능 만을 가진다. 즉, 어떠한 액트에 대한 하나의 책임만을 가지기에 여러 기능을 중복해서 가지고 있으면 안된다란 의미! OCP(개방 폐쇄 원칙)이란? 기존 구성 요소는 수정하면 안되고, 확장해서 재사용할 수 있어야한다! 쉽게 확장가능하게끔 추상화를 적극 활용해야한다 라는 의미로 해석된다. LSP(리스코브 치환 원칙)이란? 자식 클래스가 부모 클래스의 어떤 method나 값을 변경하면 안된다. IS.. 2023. 11. 10.
[네트워크 CS 준비] 8. HTTP header 2 캐시, 쿠키, 세션의 차이점을 설명하세요 쿠키 - 클라이언트 쿠키 사용자의 인증을 도움 브라우저에 저장 - 보안 취약 자동 로그인 유지, 위시 리스트 저장, 팝업 보지 않기 만료기간 지정 캐시 웹사이트 콘텐츠를 저장하는데 사용 - 리소스 파일들의 임시 저장소 웹 페이지가 빠르게 랜더링 하는 것을 도움 세션 - 서버 쿠키 서버에 저장되는 쿠키 - 보안성이 높음 클라이언트와 서버 통신상태에서 주로 중요 데이터 저장시 사용 브라우저 종료시 삭제 캐시가 없을 때 데이터가 변경하지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야 함 인터넷 네트워크는 매우 느리고 비쌈 브라우저 로딩 속도 느림 캐시가 있을 때 - 첫번째 요청 첫 요청을 할 때 서버로 부터 캐시를 넘겨받아 브라우저 저장소에 캐시를 저장한다. 캐.. 2023. 1. 13.
[네트워크 CS 준비] 7. HTTP header 1 HTTP 헤더의 특징에 대해 설명해보세요 field-name은 대소문자 구분이 없습니다. HTTP 전송에 필요한 모든 부가 정보를 포함합니다.(메시지 바디의 내용, 크기, 압축 여부, 인증, 요청 클라이언트..) 필요시 임의의 헤더 추가가 가능합니다. Content-Type 미디어 타입, 문자 인코딩 text/html; charset=utf-8 application/json image/png Content-Encoding 표현 데이터 인코딩 - 표현 데이터를 압축하기 이해 사용, 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제 gzip deflate identity Content-Language 표현 데이터의 자연 언어를 표현 ko en en-US Content-Length 표현 데이터의 길이 바이.. 2023. 1. 13.
[네트워크 CS 준비] 6. HTTP STATUS HTTP의 Status 코드에 대해 설명해보세요 1xx: 요청이 수신되어 처리중 2xx: 요청 정상 처리 3xx: 리다이렉션 처리 4xx: 클라이언트 오류 5xx: 서버 오류 Status 2xx Status 3xx(Redirection) 영구 리다이렉션 - 301, 308 리소스의 URI가 영구적으로 이동 원래의 URL 사용x 일시 리다이렉션 - 302,307,303 302,303은 거의 같다고 보면 된다. - 301과 영구, 일시 빼곤 같음 307은 리다이렉트시 요처 메서드와 본문이 유지된다. - 308과 영구, 일시 빼곤 같음 PRG: Post/Redirect/Get Post로 주문한 후 웹 브라우저를 새로고침 하면 중복 주문이 들어갈 수 있다. 이를 해결하기 위해 PRG를 사용한다. 처음 POST로.. 2023. 1. 13.
[네트워크 CS 준비] 5. HTTP method use Client에서 Server로 데이터를 전송하는 방식에는 어떤 것이 있나요? 쿼리 파라미터를 사용하여 데이터를 보낼 수 있습니다. - GET 메시지 바디에 데이터를 넣어 보낼 수 있습니다. - POST, PUT, PATCH Client에서 Server로 데이터 전송하는 상황에 대해 설명해보세요 정적 데이터 조회 요청 - Get을 사용하여 이미지, 정적 텍스트 문서를 받는다.(쿼리 불필요) 동적 데이터 조회 요청 - 보통 Get을 통해 검색할 때 사용, 쿼리 파라미터를 사용해서 데이터 전달 HTML Form을 통한 데이터 전송 - Get, Post만 지원 HTTP API를 통한 데이터 전송 - 서버 to 서버, Ajax - Content Type: application/json 주로 사용 Post의 신규 .. 2023. 1. 13.
[네트워크 CS 준비] 4. HTTP method URI 설계할 때 어떤 점이 중요한가요? 리소스 식별입니다. 행위에 초점을 맞추는 것이 아닌 목적어가 리소스가 됩니다. ex) 옷을 산다. - 여기서 리소스는 '옷'입니다. 리소스에 따라 URI를 설계했더니 URI 자체가 겹치는 경우가 있을 경우 어떻게 구분하나요? HTTP method를 통해 구분합니다. 어떤 동작을 uri로 표현할지에 따라 method가 달라지는데 이를 통해 구분해주면 됩니다. HTTP 메서드의 종류에는 어떤 것이 있나요? Get, Post, Put, Patch, Delete, head 등이 있습니다. Get method에 대해 설명해보세요 리소스를 조회할 때 사용하며 서버에 전달하고 싶은 데이터를 쿼리 스트링을 통해 전달합니다. 메시지 바디를 통해 데이터를 전달할 수 도 있지만 서버.. 2023. 1. 13.
728x90