DevBoi

잡다하지만 필요한 기술지식 7 본문

[Computer Science]

잡다하지만 필요한 기술지식 7

HiSmith 2021. 7. 25. 18:58
반응형

1. http https 차이?

 

http 란 hyper text transfer protocol이고, 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다.

80포트를 사용하고, TCP/IP위에서 작동한다. 상태를 가지고 있지 않는 StateLess 프로토콜이고,

Method,Path,Version,Headers,Body 등으로 구성된다.

 

Http로 비밀번호나 주민번호를 주고 받으면, 3자가 조회할수있기때문에, Https등장https 는 끝에 secure가 붙은 것.Http에 암호화가 추가된 프로토콜이다.https는 http와 다르게 443포트를 사용하고, 네트워크에서 제 3자가 볼수있도록 공개키 암호화를 지원하고있다.

 

공개키 / 개인키는 서로를 위한 1쌍의 키이다.공개키 : 모두에게 공개가능한 키개인키 : 나만가지고 알고있어야 하는키

 

쉽게 말해 사용자는,브라우저에서, 공개키를 미리 다운받아서 가지고있고,특정 요청을 할때 공개키 기반 암호화된 키를 기반으로 데이터를 요청한다.이 암호화된 요청은 개인키를 가지고있는 기업에서 복호화하여, 특정 데이터를 반환한다.

 

Https 는 암/복호화 작업이 있어서, 안전하지만 http보다 느리고, 개인데이터의 경우 Https를 이용해야하지만,단순 조회를 할때는 http가 좋다.(안전 = https , 단순조회 = http)

 

 

2. 서버 사이드 렌더링이란?

프론트 개발에서 주로 사용하는 기술

클라이언트에서 뷰를 그리는것이아니라, 서버에서 뷰를 그려서 브라우저로 던져준다.

 

 

 

3. PaaS, SaaS, IaaS이란?

우선 셋다 클라우드 서비스이다.

 

Paas(AWS,Elastic Beanstalk,) : Platform as a service 개발사에게 제공되는 플랫폼을 가상화한다.소프트웨어 개발을 돕는 플랫폼을 제공한다. Paas 는 고객에게 OS, 미들웨어, 런타임과 같은 소프트웨어 작성을 위한 플랫폼을 가상화하여 제공, 관리한다. 이걸 통해, 개발자들은 OS나 인프라 신경안쓰고 개발에만 집중할수있게 해준다.-소프트웨어 유지관리가 쉬워진다.- 가상화 기술을 기반으로 구축되어, 비즈니스가 변함에 따라 리소스를 쉽게 확장 축소할수 있다.- 응용 프로그램에 개발,테스트 배포를 지원하는 서비스들을 제공- 수많은 사용자들이 동일 개발 응용프로그램에 액세스 할수 있다.

단점 : 특정 플랫폼 서비스에 종속 될 수 있다.

 

 

 

Saas(Whatap) : 고객이 사용하는 소프트웨어이다.SoftWare as a service라고 하며, 고객을 대신하여 소프트웨어와 데이터를 제공,관리한다. 개별 컴퓨터에 응용프로그램 다운필요없이, 가능하고, Saas를 통해, 서비스를 공급하는 업체는 데이터, 미들웨어 서버 및 스토리지와 같은 모든 잠재적인 기술적 문제를 관리하기 떄문에 고객은 쥬비소 및 자원을 간소화 하면서 비즈니스 집중 할수있다.- 소프트웨어를 소비형태로 사용, 비용 부담 덜수 있다.- 소프트웨어를 설치한 물리적 자원이 필요하지 않다.- 언제 어디서든 접근가능,

 

단점 : 커스터마이징이 어렵다

 

 

 

Iaas (AWS, Azure) : 물리적 자원 제공, Inrastructure as a Service라고도 하고 확장성이 높고, 자동화된 컴퓨팅 리소스를 가상화하여 제공, 고객에게 서버,네트워크, OS 스토리지를 가상화하여 제공 관리를 한다. Iaas 는 가상화된 물리적인 자산을 UI형태로 대시보드에 보여준다. 고객은 서버와 스토리지를 접근할수있지만, 사실은 가상 데이터센터를 통해 리소스를 전달 받는다. 기존 방식에 비해 훨씬 빠르게 서버의 구성요소에 대한 변경이 가능하다.-비용 : 물리적 자원을 서버 형태로 사용, 고정비가 들지않는다.-속도 : 물리적 자원을 즉시 소비할수이싿.-관리 : 물리적 자원에 대한 관리를 논리적인 영역으로 대체할 수 있다.물리적 자원에 대한 자동화된 배포가 가능하다.물리적 자원에 대한 안정적인 운영을 벤더에 맡길수 있다.물리적 자원에 대한 규모의 확장 또는 축소가 자유롭다.

 

 

 

 

Unchecked Exception Checked Exception

checked Exception 은 컴파일 시점, 특정 클래스를 호출할떄 발생하는 에러이고,

Unchecked Exception 은 Runtime 시점, 즉 실행될때 Exception을 발생한다.

 

Unchecked_Exception

예외발생시 롤백 해야하고,

명시적으로 하지않아도된다.

NullpointerException 이나 ClassCastException 이이 이에 포함된다.

 

Checked Exception 

예외 발생시 롤백 하지 않는다.

반드시 예외 처리해야한다.

컴파일 시점에 발생한다.

IOException, ClassNotFoundException 등이 이에 포함된다.

 

예를들어서, Checked Exception이 발생하면, 트랜잭션이 예외 발생한 부분에서 끊어지지않고, 끝까지

진행이된다. commit 까지. 

그래서, 해당 Checked Exception 을 처리하기 위해서는, Try,catch로 감싸거나, Throw를 해서 처리를해야한다.

예외 복구 전략을 구체적으로 짜고, 복구가 가능하다면, 잡아서, 복구를 하는 것이 중요하다.

 

 

반응형