본문 바로가기

프로그래밍/기타

IT 용어 정리

✏️ 인터넷? 웹?

인터넷 : INTER+NET 네트워크끼리 연결된것
웹 : 인터넷 안에서 HTTP 프로토콜로 데이터를 주고받는것 + HTML 문서를 주고받는 특징이 있다.

 

✏️ Client? Server?
클라이언트 : 요청을 보내는 입장
서버 : 요청을 처리하는 입장
노트북은 클라이언트/서버 둘다 될 수 있지만 일반적으로 많은 클라이언트를 처리하기에는 서버로서 사양이 무리가 있다.

웹 클라이언트 : 
Http 프로토콜 기반으로 요청을 보내는 쪽
웹 서버 :
Http 프로토콜 기반으로 요청을 처리하는 쪽

예시 :
웹 : 요청->응답->연결끊김 / 요청할때마다 화면이 계속 리프래시 된다. 필요한 모든 정보를 다 보내야 하는 특징이 있다.
카카오톡 : 서버와 계속 연결되어있다, 새로운 내용만 보낸다.

✏️ Front? Back?

Front와 Back의 차이 : 어디서 실행되느냐의 차이. Front는 클라이언트 컴퓨터, Back은 서버 컴퓨터에서 실행된다.  
Front : 코드는 서버가 갖고있지만 (HTML, CSS, JS) 클라이언트가 요청하면 서버가 코드를 복사하여 클라이언트에 전달하여 클라이언트에서 실행된다. 

Back : JAVA, SPRING, NODE.JS는 요청받으면 해당 언어로 작성된 프로그램과 연결되어 있어 서버에서 실행이 된다.

 

✏️ 웹의 장점 : 브라우저 자체에서 표준에 맞게 작성된 HTML, CSS, JS와 같은 언어를 기계어로 번역(인터프리터)해준다. 즉, 클라이언트에 설치가 필요없고 웹브라우저만 있으면 뭐든 작동된다. 유지보수성이 좋다.

✏️ 프로그램 : 일의 절차
컴퓨터 프로그램 : 컴퓨터가 해야할 일의 절차를 컴퓨터 프로그램 언어로 작성된 것.

✏️ 클라우드 키워드 : 인터넷, 온디멘드, 종량요금제 + Infra as a code(DevOps 걸림돌 해결-소스배포(개발-운영) 수동운영)
IT 리소스를 인터넷으로 요청하여 즉시 사용가능하며 사용한만큼 요금을 지불한다.

인프라(네트워크/서버/스토리지) 구성, 플랫폼 설치 등 자동으로 관리하게끔 코드로 작성하는것이 Infra as a code이다.


✏️ 데이터 : 말 그대로 우리가 흔히 아는 데이터를 말한다. 사원 테이블의 이름, 나이 등의 데이터를 의미한다.
메타데이터 : 데이터의 데이터를 말한다. 예를들어 테이블에 대한 컬럼정보, 테이블명 등 구조에 대한 내용을 의미한다.

✏️ 아키텍처? 설계?

아키텍처 : 기본설계에 가깝다. 큰 틀을 잡는 작업을 말한다.
설계 : 기본설계와 상세설계로 나뉜다.

좋은 아키텍처란? 목표품질을 달성할 수 있는 아키텍처다. (비용, 유지보수, 성능, 기능, 신뢰성, 효율성, 이식성, 보안 등)

✏️ 공학? 과학? 
과학 : 진짜? 가짜? 어떤게 진실이냐가 중요
공학 : 비용이 중요하다. 목표를 이루기 위해 비용을 낮추면서 품질을 높이고 일정을 단축할 수 있어야 한다.

✏️ 아키텍처 스타일/패턴? 디자인패턴?
공통점 : 설계 노하우
아키텍처 스타일/ 패턴 : MSA, n-tier, layer, MVC, c-s // 문제영역이 시스템 전체이다. 품질(보안,성능,유지보수성,비용)에 영향을 준다.
디자인패턴 : singleton, factory method // 해결하고자하는 문제영역이 매우 작으며 일부분이다.

✏️ 설계원칙
1. 분할과 정복
2. 약결합

✏️ Framework? Library? 주체가 다르다.

Framework : spring, Django, flask... 기존 뼈대(fw)에 내가 살을 붙임, fw가 나를 호출

Library : jQuery, React... 내가 필요에 따라 라이브러리를 호출

'프로그래밍 > 기타' 카테고리의 다른 글

AWS  (0) 2023.05.19