IT 기본지식39 OOP 객체 지향 프로그래밍의 특징 객체 지향 프로그래밍 Object Oriented Programming(OOP) 란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 장점은? OOP는 복잡한 것을 단순하고 재사용 가능한 구조로 모델링한다. 재사용한 가능한 OOP object는 여러 프로그램에서 사용할 수 있다. 다형성(Polymorphism)을 통해 클래스별 동작을 허용한다. 캡슐화를 통해 정보를 안전하게 보호할 수 있다. 원칙 추상화(Abstraction) : 객체에 액세스하기 위한 상위 수준의 public method만 노출한다. 사용자가 객체의 선택된 특성 및 method와만 상호작용하는 것을 의미한다. - 복잡성을 표현하기 .. 2022. 2. 19. HTTPS란 무엇인가? / TLS(=SSL) 공개키 암호화 HTTPS is HTTP with encryption. HTTPS는 암호화 기능이 있는 HTTP 두 프로토콜의 차이점은 HTTPS가 TLS(SSL)를 사용하여 일반 HTTP 요청과 응답을 암호화 한다는 것이다. 따라서 HTTPS가 HTTP보다 훨씬 더 안전하다. HTTP란? HTTP는 Hypertext Transfer Protocol의 약자로 네트워크를 통해 데이터를 전송하는 데 사용되는 프로토콜 또는 정보를 표시하는데 사용되는 규정된 순서와 구문이다..? 쉽게 말해서 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이다. 웹사이트 콘텐츠와 API call을 포함하여 인터넷을 통해 전송되는 대부분의 정보는 HTTP 프로토콜을 사용한다. HTTP 메시지에는 요청과 응답의 두 가지 .. 2022. 2. 19. 방화벽과 웹 방화벽의 차이는 뭘까? 방화벽(Firewall) TCP/IP 레벨에서 IP/Port 신뢰 여부를 기준으로 구분해주는 접근 제어 기반의 보안 솔루션이다. 새로운 서버가 들어왔다. 8080 포트로 시스템을 올리고 로컬에서 접근하려고 하니 방화벽이 막혀서 접근이 불가한 경우가 발생한다. 이때는 본인의 IP로 서버 8080 포트에 접속이 가능하도록 방화벽 신청을 해야한다. 방화벽 신청이 완료되고 8080 포트로 접근이 가능하게 되었다. 이제 9090 포트로 새로운 시스템을 올렸는데 이번엔 IP는 열려있지만 Port에서 막혀서 접속이 안되는 경우가 있다. 이때는 9090포트에 접속이 가능하도록 다시 신청을 해야한다. 위와 같이 방화벽은 IP/Port로 접근자를 제어한다. 따라서 OSI7 계층으로 봤을 때 Network 계층(3계층)과 .. 2022. 2. 19. Distributed system(분산시스템)이란? 이점 및 고려사항 수많은 상위 기업들이 수십억 건의 요청을 처리하고 다운타임 없이 업그레이드할 수 있는 복잡한 분산 시스템을 구축했다. 확장 가능한 분산 시스템은 기본적인 고가용성(HA)이 필요하다. 분산 시스템은 사용자를 위한 단일 컴퓨터를 형성하기 위해 함께 작동하는 컴퓨터들의 집합이다. 이러한 모든 분산 컴퓨터는 하나의 공유 상태를 가지며 동시에 작동한다. 마이크로 서비스처럼 전체 시스템을 손상시키지 않고 독립적으로 고장 날 수 있다. 상호 의존적이고 자율적인 컴퓨터들은 네트워크에 연결되어 정보를 공유하고 소통한다. → 분산 시스템에는 IP주소나 물리적 케이블을 사용하여 구성요소를 연결할 수 있는 공유 네트워크가 있어야 한다. 분산 시스템의 이점 유지보수가 어려울 수 있다는 단점이 있지만 아래와 같은 이점도 있다. .. 2022. 2. 16. 고가용성 High Availability이란? 시스템에 장애가 생기더라도 빠르게 복구하는 성질 시스템을 장애 없이(중단 시간 없이) 오랫동안 가용한 상태로 운영할 수 있는 성질 99%의 고가용성 시스템이랑 100시간 운영 시 장애 시간이 1시간 이하임을 의미한다. 장애 허용(Fault Tolerant)과의 차이 - 장애 허용은 장애가 생기더라도 시스템이 이상 없이 동작할 수 있도록 보장하는 특성이고, 고가용성은 빠르게 복구하는 특성이다. - 동일한 개념으로 보기도 하고 혼용하기도 하니 굳이 따지자면 차이 없다고 할 수 있다. 고가용성 구성 방식 Hot Standby - 가장 대중적인 유형 - Active/Passive 또는 Active/Standby 형태로 가동 시스템과 백업 시스템으로 구성 Mutual Takeover - 2개의 시스템이 각각 고유.. 2022. 2. 16. Load Balancer란? / L4 load balancer, L7 load balancer Load Balancer(로드밸런서) 란? 로드밸런서는 서버에 가해지는 부하(로드)를 분산(밸런싱) 해주는 장치 또는 기술이다. 클라이언트와 서버풀(분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치하며 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 낼 수 있도록 한다. Scale-out 방식으로 서버를 증설하기로 결정했다면 여러 대의 서버로 트래픽을 균등하게 분사해주는 로드밸런싱이 반드시 필요하다. OSI 계층에서 상위(7계층 Application Layer)에서 사용되는 장비는 하위 계층의 장비가 갖고 있는 기능을 모두 가지고 있으며, 상위 계층으로 갈수록 더 정교하게 로드밸런싱 할 수 있다. → 즉, L7 Load balancer가 L4 Load balan.. 2022. 2. 15. 이전 1 2 3 4 5 6 7 다음 반응형