CS

CS/디자인패턴

[Design Pattern] Builder Pattern(빌더 패턴)

Builder Parttern이란?Builder Pattern은 디자인 패턴의 종류(생성, 구조, 행동) 중 생성 디자인 패턴에 속한다.객체를 만드는 방법이 여러 가지 일때, 즉 옵션이 많은 객체를 만들어야할 때 사용함 Builder Pattern을 쓰는 이유 (== 기존 개발 형태에 대한 문제점)?만일 집(아파트가 아닌 독립 주택)이라는 클래스가 있다고 하자. 해당 집에는 지붕, 방, 창문, 화장실, 마당, 발코니 등 여러 요소가 있고 할때 이를 클래스로 구현하면 다음과 같다. public class House { private int rooms; private int toilets; private int windows; private int floors; private boolean hasB..

CS/네트워크

[TCP/IP 계층] 인터넷 계층(IP 프로토콜, ARP)

예전에 HTTP 프로토콜에 대해서 학습하고 기록으로 남기고 싶어서 포스팅 해놓았는데 오늘은 인터넷 계층인 IP 프로토콜에 대해서 정리해보겠다. 그전에 다시한번 프로토콜에 대해서 한 번 더 짚고 넘어가보자! 프로토콜 서로 다른 시스템에 있는 개체간에(= 서로 다른 디바이스 간에) 성공적으로 데이터를 전송할 수 있도록 정해둔 통신 규약프로토콜은 계층적인 구조로 정의되어있고, 계층별 역할이 구분됨 OSI 7계층 layer들과 TCP/IP계층 layer가 존재함 OSI 7계층은 이상적인 모델이며 TCP/IP는 실제 디바이스간에 데이터 전송이 구체화된 모델이다. OSI 7계층: - 장비개발 참조용 - 실제 통신용 프로토콜 - 문제해결 참조용 - 유지보수 참조용 - 학습 참조용 TCP/IP 계층: 실제 통신용 프로..

CS/디자인패턴

[Design Pattern] Observer pattern(옵저버 패턴)

Observer Pattern(옵저버 패턴)이란?Observer Pattern은 디자인 패턴(생성, 구조, 행동) 중 행동 디자인 패턴에 속한다.주체가 어떤 객체(subject)의 상태 변화를 관찰 하다가 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 디자인 패턴이다. 이런 변화를 알려주는 과정에서 흔히 객체가 발행자(publish) 옵저버가 구독자(subscribe)로도 알려져 있으며 이는 객체와 옵저버가 1:N관계를 가지며 분산 이벤트 시스템을 구현하는 데 이용하기도 한다. 물론 이렇게만 읽으면 크게 와닿는게 없다..! 그래도 저기서 bold처리한 객체와 옵저버가  존재하고 객체(subject)의 상태변화가 있을 때마다 옵저버가 알게되어야 하는 상황이라면 ..

CS/디자인패턴

[Design Pattern] 디자인 패턴이란?

디자인 패턴이란 무엇인가?소프트웨어 개발에서의 디자인 패턴은 소프트웨어 개발의 일반적인 문제에 대한 해결책으로, 모든 프로그래밍 언어 및 업계의 개발자가 자주 직면하는 문제에 대한 해결책이다. 디자인 패턴은 시간이 지남에 따라 일종의 표준이 된 모범 사례로 소프트 웨어 업계에서 널리 알려져있으며, 고유한 이름을 갖고있는 것들이 존재한다. (빌더, 파사드 등등) 즉, 디자인 패턴은 아키텍처를 사용할때- 코드를 더 깔끔하고  확장 가능하게- 유지 관리하기 쉬운 방식으로 구성하도록도움이 된다. 다음에 팀을 옮기거나 회사에 입사할 때어떤 패턴이 사용되고 있는지 파악하고 코드베이스를 더 빨리 이해할 수 있고,새로운 프로젝트를 시작하는 경우 더욱 더 견고하게 프로젝트를 구축할 수 있다. 디자인 패턴 종류생성(Cre..

CS

[IT 정보] On-premises 컴퓨팅 vs 클라우드 컴퓨팅

On-premises 컴퓨팅(온프레미스 컴퓨팅)이란? 온프레미스 컴퓨팅 방식이란 이전에 클라우딩 컴퓨팅 방식이 존재하지 않을때 일반적으로 기업에서 인프라를 구축하는 방법이라고 합니다. 인프라 구축이란 다양한 분야에서 사용되는 언어인데 기업이 일을 할 수 있는 기반을 다져놓는다고 생각하면 됩니다. 즉, 기업이나 조직이 필요한 기술적 인프라(기반)를 설치하고 구성하는 프로세스를 의미하죠. 이는 기술적인 부분에서 주로 하드웨어, 소프트웨어, 네트워크, 데이터 저장소 및 관리 시스템 등을 포함해서 사내 전산실을 구축한다는 의미와 같습니다. 이렇게 온프레미스는 기업 자체의 공간에서 직접 설치되어 운영되는 것입니다. 예를 들어 A기업에서 컴퓨터로 작업하기 위해 소프트웨어, 하드웨어, 데이터 저장소 등이 필요한 데 ..

CS/네트워크

HTTP 특징(http message)

http의 특징인 서버/클라이언트 구조, Stateless, Connectionless, http message 중 http message에 대해서 정리해놓은 게시물입니다. http message 클라이언트/ 서버 통신 시 필요한 메세지 클라이언트의 요청 웹페이지에 접근/ 폼에 내용 입력 등을 하면 웹 서버와 웹 브라우저(클라이언트)가 데이터를 교환 웹 브라우저의 정보와 폼 입력 데이터 등의 데이터 헤더를 붙여 오픈할(redirect)할 웹페이지의 주소를 웹 서버에 요구 서버의 응답 웹페이지의 요청을 처리한 서버가 서버정보 또는 처리 결과(코드)를 웹페이지 콘텐츠에 응답 Status Code 클라이언트의 요청이 있을 시 서버가 요청에 따른 리소스를 제공해주었을 때 상태 코드도 http 메세지에 보냄 10..

CS/네트워크

HTTP의 특징(서버/ 클라이언트 구조, Stateless, Connectionless)

HTTP의 특징 http의 특징인 서버/클라이언트 구조, Stateless, Connectionless, http message 중 서버/클라이언트 구조와 Stateless, Connectionless에 대해서 정리해놓은 게시물입니다. 서버/ 클라이언트 구조 클라이언트: 요청을 보내(고 응답 대기하는) 쪽 서버: 요청에 대한 (결과를 만들어내서) 응답하는 쪽 무조건 클라이언트가 먼저 요청을 해야 서버에서 응답하는 구조 데이터의 전송이 필요 → 이때 TCP 프로토콜을 사용함 서버/ 클라이언트 구조의 의의 및 장점 클라이언트와 서버의 분리 리소스가 존재하는 곳(서버)와 리소스를 사용하는 곳(클라이언트)로 분리 서버: 데이터와 비즈니스 로직 클라이언트: UI 사용성 독립적인 관리 가능 사용성 향상이 필요할 때..

CS/네트워크

HTTP 프로토콜

HTTP 개념 Hyper Text Transfer Protocol 인터넷에서 데이터를 주고받을 수 있는 프로토콜(규칙), 웹 끼리 서로 통신하기 위해 사용됨 HyperText란? 한 문서에서 다른 문서로 접근할 수 있는 일종의 링크 HTTP와 HTML에도 존재하는 하이퍼 텍스트 개념 그러나 현재는 문서만 전송하지 않고 여러 데이터 타입으로 통신 가능함 -HTML, TEXT -IMG, VOICE, VIDEO, FILE - JSON, XML(API) - 거의 모든 형태를 http로 통신 가능 - 문서 간 링크로 이동할 수 있는 HyperText를 통신하기 위한 프로토콜 - 약속을 정해놓은 덕에 모든 프로그램이 이 규칙에 맞게 데이터를 서로 교환 더보기 HTTP의 역사 HTTP/1.1:가장 많이 사용, 대부분..

three von
'CS' 카테고리의 글 목록 (2 Page)